Package simpleorm.drivers
Class SDriverHSQLH2
- java.lang.Object
-
- simpleorm.sessionjdbc.SDriver
-
- simpleorm.drivers.SDriverHSQLH2
-
- Direct Known Subclasses:
SDriverH2,SDriverHSQL
public abstract class SDriverHSQLH2 extends SDriver
Common code between HSQL and H2. Note that thewe toy databases do not support locking, so is not safe in multi user mode even with optimistic locking. SeeSDriver.supportsLocking().
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class simpleorm.sessionjdbc.SDriver
SDriver.OffsetStrategy
-
-
Constructor Summary
Constructors Constructor Description SDriverHSQLH2()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected java.lang.StringcolumnTypeSQL(SFieldScalar field, java.lang.String defalt)Used to override the default.protected java.lang.StringcreateSequenceDDL(java.lang.String name)protected java.lang.StringdropSequenceDDL(java.lang.String name)protected longgenerateKeySequence(SRecordMeta<?> rec, SFieldScalar keyFld)protected SDriver.OffsetStrategygetOffsetStrategy()JDBC prefered, if jdbc driver has a sensible scrollable resultset implemntation QUERY if database would handle it better via some proprietary sql extension (eg.protected java.lang.StringlimitSQL(long offset, long limit)Drivers that choose to implement a QUERY offset strategy should return the limit statment herebooleansupportsKeySequences()booleansupportsLocking()HSQL has a major hole but optimistic locking papers over it.-
Methods inherited from class simpleorm.sessionjdbc.SDriver
addNull, alterTableAddColumnSQL, alterTableDropColumnSQL, appendColumnName, appendQuotedIdentifier, appendQuotedIdentifier, appendTableName, clauseSeparator, createTableSQL, deleteSQL, driverName, dropTableNoError, foreignKeysSQL, forUpdateSQL, fromSQL, generateKeySelectMax, getLogger, getSession, indexKeySQL, insertSQL, joinSQL, makeForeignKeyIndexSQL, mapForeignKeys, maxIdentNameLength, postColumnSQL, postFromSQL, postTablePostParenSQL, postTablePreParenSQL, primaryKeySQL, queryExecuteFactory, registerDriver, selectSQL, selectSQL, updateSQL, whereSQL, wholeColumnSQL
-
-
-
-
Method Detail
-
supportsLocking
public boolean supportsLocking()
HSQL has a major hole but optimistic locking papers over it. H2 might support locking?- Overrides:
supportsLockingin classSDriver
-
columnTypeSQL
protected java.lang.String columnTypeSQL(SFieldScalar field, java.lang.String defalt)
Description copied from class:SDriverUsed to override the default. ONLY called if no fld.defaultSqlDataType has been specified, ie. only used to override the SFieldScalar.defaultSqlDataType.- Overrides:
columnTypeSQLin classSDriver
-
generateKeySequence
protected long generateKeySequence(SRecordMeta<?> rec, SFieldScalar keyFld)
- Overrides:
generateKeySequencein classSDriver
-
supportsKeySequences
public boolean supportsKeySequences()
- Overrides:
supportsKeySequencesin classSDriver
-
createSequenceDDL
protected java.lang.String createSequenceDDL(java.lang.String name)
- Overrides:
createSequenceDDLin classSDriver
-
dropSequenceDDL
protected java.lang.String dropSequenceDDL(java.lang.String name)
- Overrides:
dropSequenceDDLin classSDriver
-
getOffsetStrategy
protected SDriver.OffsetStrategy getOffsetStrategy()
Description copied from class:SDriverJDBC prefered, if jdbc driver has a sensible scrollable resultset implemntation QUERY if database would handle it better via some proprietary sql extension (eg. LIMIT) BULK Simpleorm will get the whole resultset and skip de first row. Worst case scenario :(Defaults to BULK
- Overrides:
getOffsetStrategyin classSDriver
-
limitSQL
protected java.lang.String limitSQL(long offset, long limit)Description copied from class:SDriverDrivers that choose to implement a QUERY offset strategy should return the limit statment here
-
-