Package org.apache.torque.adapter
Class HsqldbAdapter
- java.lang.Object
-
- org.apache.torque.adapter.AbstractAdapter
-
- org.apache.torque.adapter.HsqldbAdapter
-
- All Implemented Interfaces:
Serializable
,Adapter
public class HsqldbAdapter extends AbstractAdapter
This is used to connect to Hsqldb databases. http://hsqldb.org/- Version:
- $Id: HsqldbAdapter.java 1848527 2018-12-09 16:27:22Z tv $
- Author:
- Christopher Elkins
- See Also:
- Serialized Form
-
-
Field Summary
-
Fields inherited from interface org.apache.torque.adapter.Adapter
ADAPTER_KEY, AUTODETECT_ADAPTER, DRIVER_KEY
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
HsqldbAdapter()
Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
escapeText()
This method is for the SqlExpression.quoteAndEscape rules.void
generateLimits(Query query, long offset, int limit)
Generate a LIMIT limit OFFSET offset clause if offset > 0 or an LIMIT limit clause if limit is > 0 and offset is 0.String
getIDMethodSQL(Object obj)
Returns SQL used to get the most recently inserted primary key.IDMethod
getIDMethodType()
Returns the constant from theIDMethod
interface denoting which type of primary key generation method this type of RDBMS uses.String
ignoreCase(String in)
This method is used to ignore case.void
lockTable(Connection con, String table)
Locks the specified table.String
toUpperCase(String in)
This method is used to ignore case.void
unlockTable(Connection con, 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.AbstractAdapter
getStringDelimiter, getUpdateLockClause, ignoreCaseInOrderBy, setCapabilities, supportsNativeLimit, supportsNativeOffset, useGetGeneratedKeys, useIlike, useMinusForExcept
-
-
-
-
Method Detail
-
toUpperCase
public String toUpperCase(String in)
This method is used to ignore case.- Specified by:
toUpperCase
in interfaceAdapter
- Specified by:
toUpperCase
in classAbstractAdapter
- Parameters:
in
- The string to transform to upper case.- Returns:
- The upper case string.
-
ignoreCase
public String ignoreCase(String in)
This method is used to ignore case.- Specified by:
ignoreCase
in interfaceAdapter
- Specified by:
ignoreCase
in classAbstractAdapter
- Parameters:
in
- The string whose case to ignore.- Returns:
- The string in a case that can be ignored.
-
getIDMethodType
public IDMethod getIDMethodType()
Description copied from class:AbstractAdapter
Returns the constant from theIDMethod
interface denoting which type of primary key generation method this type of RDBMS uses.- Specified by:
getIDMethodType
in interfaceAdapter
- Specified by:
getIDMethodType
in classAbstractAdapter
- Returns:
- IDMethod constant
- See Also:
Adapter.getIDMethodType()
-
getIDMethodSQL
public String getIDMethodSQL(Object obj)
Description copied from class:AbstractAdapter
Returns SQL used to get the most recently inserted primary key. Databases which have no support for this returnnull
.- Specified by:
getIDMethodSQL
in interfaceAdapter
- Specified by:
getIDMethodSQL
in classAbstractAdapter
- Parameters:
obj
- Information used for key generation.- Returns:
- The most recently inserted database key.
- See Also:
Adapter.getIDMethodSQL(Object obj)
-
lockTable
public void lockTable(Connection con, String table) throws SQLException
Locks the specified table.- Specified by:
lockTable
in interfaceAdapter
- Specified by:
lockTable
in 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
public void unlockTable(Connection con, String table) throws SQLException
Unlocks the specified table.- Specified by:
unlockTable
in interfaceAdapter
- Specified by:
unlockTable
in 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()
This method is for the SqlExpression.quoteAndEscape rules. The rule is, any string in a SqlExpression with a BACKSLASH will either be changed to "\\" or left as "\".- Specified by:
escapeText
in interfaceAdapter
- Overrides:
escapeText
in classAbstractAdapter
- Returns:
- false.
-
useEscapeClauseForLike
public boolean useEscapeClauseForLike()
Whether an escape clause in like should be used. Example : select * from AUTHOR where AUTHOR.NAME like '\_%' ESCAPE '\'; HSQLDB needs this, so this implementation always returnstrue
.- Specified by:
useEscapeClauseForLike
in interfaceAdapter
- Overrides:
useEscapeClauseForLike
in classAbstractAdapter
- Returns:
- whether the escape clause should be appended or not.
-
generateLimits
public void generateLimits(Query query, long offset, int limit)
Generate a LIMIT limit OFFSET offset clause if offset > 0 or an LIMIT limit clause if limit is > 0 and offset is 0.- Specified by:
generateLimits
in interfaceAdapter
- Overrides:
generateLimits
in classAbstractAdapter
- Parameters:
query
- The query to modifyoffset
- the offset Valuelimit
- the limit Value
-
-