Package org.apache.torque.adapter
Class DerbyAdapter
java.lang.Object
org.apache.torque.adapter.AbstractAdapter
org.apache.torque.adapter.DerbyAdapter
- All Implemented Interfaces:
Serializable,Adapter
This is used to connect to an embedded Apache Derby Database using
the supplied JDBC driver.
- Version:
- $Id: DerbyAdapter.java 1850591 2019-01-06 19:00:34Z tv $
- Author:
- Henning P. Schmiedehausen, tins
- See Also:
-
Field Summary
Fields inherited from interface org.apache.torque.adapter.Adapter
ADAPTER_KEY, AUTODETECT_ADAPTER, DRIVER_KEY -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleanWhether backslashes (\) should be escaped in explicit SQL strings.voidgenerateLimits(Query query, long offset, int limit) Build Derby-style query with limit or offset.getIDMethodSQL(Object obj) Returns the SQL to get the database key of the last row inserted, which in this case isVALUES IDENTITY_VAL_LOCAL().Returns the constant from theIDMethodinterface denoting which type of primary key generation method this type of RDBMS uses.ignoreCase(String str) This method is used to ignore case.voidlockTable(Connection con, String table) Locks the specified table.toUpperCase(String str) This method is used to ignore case.voidunlockTable(Connection con, String table) Unlocks the specified table.booleanWhether an escape clause in like should be used.booleanDerby supports this feature but does not report it via JDBCMethods inherited from class org.apache.torque.adapter.AbstractAdapter
getStringDelimiter, getUpdateLockClause, ignoreCaseInOrderBy, setCapabilities, supportsNativeLimit, supportsNativeOffset, useIlike, useMinusForExcept
-
Constructor Details
-
DerbyAdapter
protected DerbyAdapter()Empty constructor.
-
-
Method Details
-
toUpperCase
This method is used to ignore case.- Specified by:
toUpperCasein interfaceAdapter- Specified by:
toUpperCasein classAbstractAdapter- Parameters:
str- The string to transform to upper case.- Returns:
- The upper case string.
-
ignoreCase
This method is used to ignore case.- Specified by:
ignoreCasein interfaceAdapter- Specified by:
ignoreCasein classAbstractAdapter- Parameters:
str- The string whose case to ignore.- Returns:
- The string in a case that can be ignored.
-
getIDMethodType
Description copied from class:AbstractAdapterReturns the constant from theIDMethodinterface denoting which type of primary key generation method this type of RDBMS uses.- Specified by:
getIDMethodTypein interfaceAdapter- Specified by:
getIDMethodTypein classAbstractAdapter- Returns:
- IDMethod constant
- See Also:
-
getIDMethodSQL
Returns the SQL to get the database key of the last row inserted, which in this case isVALUES IDENTITY_VAL_LOCAL().- Specified by:
getIDMethodSQLin interfaceAdapter- Specified by:
getIDMethodSQLin classAbstractAdapter- Parameters:
obj- Information used for key generation.- Returns:
- The most recently inserted database key.
- See Also:
-
lockTable
Locks the specified table.- Specified by:
lockTablein interfaceAdapter- Specified by:
lockTablein classAbstractAdapter- Parameters:
con- The JDBC connection to use.table- The name of the table to lock.- Throws:
SQLException- No Statement could be created or executed.
-
unlockTable
Unlocks the specified table.- Specified by:
unlockTablein interfaceAdapter- Specified by:
unlockTablein classAbstractAdapter- Parameters:
con- The JDBC connection to use.table- The name of the table to unlock.- Throws:
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:
escapeTextin interfaceAdapter- Overrides:
escapeTextin classAbstractAdapter- 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 returnstrue.- Specified by:
useEscapeClauseForLikein interfaceAdapter- Overrides:
useEscapeClauseForLikein classAbstractAdapter- Returns:
- whether the escape clause should be appended or not.
-
useGetGeneratedKeys
public boolean useGetGeneratedKeys()Derby supports this feature but does not report it via JDBC- Specified by:
useGetGeneratedKeysin interfaceAdapter- Overrides:
useGetGeneratedKeysin classAbstractAdapter- Returns:
- a
booleanvalue - See Also:
-
generateLimits
Build Derby-style query with limit or offset. The resulting query may look like this:select * from TABLENAME fetch next 3 rows only; select * from TABLENAME offset 3 rows fetch next 3 rows only;
- Specified by:
generateLimitsin interfaceAdapter- Overrides:
generateLimitsin classAbstractAdapter- Parameters:
query- The query to modify.offset- the offset value.limit- the limit value.
-