Package simpleorm.drivers
Class SDriverPostgres
- java.lang.Object
-
- simpleorm.sessionjdbc.SDriver
-
- simpleorm.drivers.SDriverPostgres
-
public class SDriverPostgres extends SDriver
This contains PostgreSQL specific code.VARCHAR without size means unlimited. No artificial upper size? TEXT has the same behaviour as VARCHAR, apparently.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class simpleorm.sessionjdbc.SDriver
SDriver.OffsetStrategy
-
-
Constructor Summary
Constructors Constructor Description SDriverPostgres()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected java.lang.StringcolumnTypeSQL(SFieldScalar field, java.lang.String defalt)Never need to specify byteSize for varcharprotected java.lang.StringcreateSequenceDDL(java.lang.String name)protected java.lang.StringdriverName()The driver name to be compared to getMetaData().getDriverName()protected java.lang.StringdropSequenceDDL(java.lang.String name)protected longgenerateKeySequence(SRecordMeta<?> rec, SFieldScalar keyFld)Specializes SDriver.generateKeySequence using the Postgres SEQUENCEs.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 hereintmaxIdentNameLength()The maximum size for table names and foreign key constraint names.booleansupportsKeySequences()-
Methods inherited from class simpleorm.sessionjdbc.SDriver
addNull, alterTableAddColumnSQL, alterTableDropColumnSQL, appendColumnName, appendQuotedIdentifier, appendQuotedIdentifier, appendTableName, clauseSeparator, createTableSQL, deleteSQL, dropTableNoError, foreignKeysSQL, forUpdateSQL, fromSQL, generateKeySelectMax, getLogger, getSession, indexKeySQL, insertSQL, joinSQL, makeForeignKeyIndexSQL, mapForeignKeys, postColumnSQL, postFromSQL, postTablePostParenSQL, postTablePreParenSQL, primaryKeySQL, queryExecuteFactory, registerDriver, selectSQL, selectSQL, supportsLocking, updateSQL, whereSQL, wholeColumnSQL
-
-
-
-
Method Detail
-
driverName
protected java.lang.String driverName()
Description copied from class:SDriverThe driver name to be compared to getMetaData().getDriverName()- Overrides:
driverNamein classSDriver
-
maxIdentNameLength
public int maxIdentNameLength()
Description copied from class:SDriverThe maximum size for table names and foreign key constraint names.- Overrides:
maxIdentNameLengthin classSDriver
-
columnTypeSQL
protected java.lang.String columnTypeSQL(SFieldScalar field, java.lang.String defalt)
Never need to specify byteSize for varchar- Overrides:
columnTypeSQLin classSDriver
-
generateKeySequence
protected long generateKeySequence(SRecordMeta<?> rec, SFieldScalar keyFld)
Specializes SDriver.generateKeySequence using the Postgres SEQUENCEs.- 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
-
-