org.apache.torque.adapter
Class DBDerby

java.lang.Object
  extended by org.apache.torque.adapter.AbstractDBAdapter
      extended by org.apache.torque.adapter.DBDerby
All Implemented Interfaces:
java.io.Serializable, DB, IDMethod

public class DBDerby
extends AbstractDBAdapter

This is used to connect to an embedded Apache Derby Database using the supplied JDBC driver.

Version:
$Id: DBDerby.java 473821 2006-11-11 22:37:25Z tv $
Author:
Henning P. Schmiedehausen
See Also:
Serialized Form

Field Summary
 
Fields inherited from interface org.apache.torque.adapter.DB
ADAPTER_KEY, DRIVER_KEY, LIMIT_STYLE_DB2, LIMIT_STYLE_MYSQL, LIMIT_STYLE_NONE, LIMIT_STYLE_ORACLE, LIMIT_STYLE_POSTGRES, LIMIT_STYLE_SYBASE
 
Fields inherited from interface org.apache.torque.adapter.IDMethod
AUTO_INCREMENT, ID_BROKER, NATIVE, NO_ID_METHOD, SEQUENCE
 
Constructor Summary
protected DBDerby()
          Empty constructor.
 
Method Summary
 boolean escapeText()
          Whether backslashes (\) should be escaped in explicit SQL strings.
 java.lang.String getIDMethodSQL(java.lang.Object obj)
          Returns the SQL to get the database key of the last row inserted, which in this case is VALUES IDENTITY_VAL_LOCAL().
 java.lang.String getIDMethodType()
          Returns the constant from the IDMethod interface denoting which type of primary key generation method this type of RDBMS uses.
 java.lang.String ignoreCase(java.lang.String str)
          This method is used to ignore case.
 void lockTable(java.sql.Connection con, java.lang.String table)
          Locks the specified table.
 java.lang.String toUpperCase(java.lang.String str)
          This method is used to ignore case.
 void unlockTable(java.sql.Connection con, java.lang.String table)
          Unlocks the specified table.
 boolean useEscapeClauseForLike()
          Whether an escape clause in like should be used.
 
Methods inherited from class org.apache.torque.adapter.AbstractDBAdapter
generateLimits, getBooleanString, getDateString, getFunctionClass, getLimitStyle, getStringDelimiter, ignoreCaseInOrderBy, supportsNativeLimit, supportsNativeOffset, useIlike
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DBDerby

protected DBDerby()
Empty constructor.

Method Detail

toUpperCase

public java.lang.String toUpperCase(java.lang.String str)
This method is used to ignore case.

Specified by:
toUpperCase in interface DB
Specified by:
toUpperCase in class AbstractDBAdapter
Parameters:
str - The string to transform to upper case.
Returns:
The upper case string.

ignoreCase

public java.lang.String ignoreCase(java.lang.String str)
This method is used to ignore case.

Specified by:
ignoreCase in interface DB
Specified by:
ignoreCase in class AbstractDBAdapter
Parameters:
str - The string whose case to ignore.
Returns:
The string in a case that can be ignored.

getIDMethodType

public java.lang.String getIDMethodType()
Description copied from class: AbstractDBAdapter
Returns the constant from the IDMethod interface denoting which type of primary key generation method this type of RDBMS uses.

Specified by:
getIDMethodType in interface DB
Specified by:
getIDMethodType in class AbstractDBAdapter
Returns:
IDMethod constant
See Also:
DB.getIDMethodType()

getIDMethodSQL

public java.lang.String getIDMethodSQL(java.lang.Object obj)
Returns the SQL to get the database key of the last row inserted, which in this case is VALUES IDENTITY_VAL_LOCAL().

Specified by:
getIDMethodSQL in interface DB
Specified by:
getIDMethodSQL in class AbstractDBAdapter
Parameters:
obj - Information used for key generation.
Returns:
The most recently inserted database key.
See Also:
DB.getIDMethodSQL(Object obj)

lockTable

public void lockTable(java.sql.Connection con,
                      java.lang.String table)
               throws java.sql.SQLException
Locks the specified table.

Specified by:
lockTable in interface DB
Specified by:
lockTable in class AbstractDBAdapter
Parameters:
con - The JDBC connection to use.
table - The name of the table to lock.
Throws:
java.sql.SQLException - No Statement could be created or executed.

unlockTable

public void unlockTable(java.sql.Connection con,
                        java.lang.String table)
                 throws java.sql.SQLException
Unlocks the specified table.

Specified by:
unlockTable in interface DB
Specified by:
unlockTable in class AbstractDBAdapter
Parameters:
con - The JDBC connection to use.
table - The name of the table to unlock.
Throws:
java.sql.SQLException - No Statement could be created or executed.

escapeText

public boolean escapeText()
Whether backslashes (\) should be escaped in explicit SQL strings. If true is returned, a BACKSLASH will be changed to "\\". If false is returned, a BACKSLASH will be left as "\". As derby does not need escaping of Backslashes, this method always returns false.

Specified by:
escapeText in interface DB
Overrides:
escapeText in class AbstractDBAdapter
Returns:
true if the database needs to escape backslashes in SqlExpressions.

useEscapeClauseForLike

public boolean useEscapeClauseForLike()
Whether an escape clause in like should be used. Example : select * from AUTHOR where AUTHOR.NAME like '\_%' ESCAPE '\'; Derby needs this, so this implementation always returns true.

Specified by:
useEscapeClauseForLike in interface DB
Overrides:
useEscapeClauseForLike in class AbstractDBAdapter
Returns:
whether the escape clause should be appended or not.


Copyright © 2000-2012 Apache Software Foundation. All Rights Reserved.