Package simpleorm.drivers
Class SDriverPostgres
java.lang.Object
simpleorm.sessionjdbc.SDriver
simpleorm.drivers.SDriverPostgres
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 -
Method Summary
Modifier and TypeMethodDescriptionprotected String
columnTypeSQL
(SFieldScalar field, String defalt) Never need to specify byteSize for varcharprotected String
createSequenceDDL
(String name) protected String
The driver name to be compared to getMetaData().getDriverName()protected String
dropSequenceDDL
(String name) protected long
generateKeySequence
(SRecordMeta<?> rec, SFieldScalar keyFld) Specializes SDriver.generateKeySequence using the Postgres SEQUENCEs.protected SDriver.OffsetStrategy
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 String
limitSQL
(long offset, long limit) Drivers that choose to implement a QUERY offset strategy should return the limit statment hereint
The maximum size for table names and foreign key constraint names.boolean
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
-
Constructor Details
-
SDriverPostgres
public SDriverPostgres()
-
-
Method Details
-
driverName
Description copied from class:SDriver
The driver name to be compared to getMetaData().getDriverName()- Overrides:
driverName
in classSDriver
-
maxIdentNameLength
public int maxIdentNameLength()Description copied from class:SDriver
The maximum size for table names and foreign key constraint names.- Overrides:
maxIdentNameLength
in classSDriver
-
columnTypeSQL
Never need to specify byteSize for varchar- Overrides:
columnTypeSQL
in classSDriver
-
generateKeySequence
Specializes SDriver.generateKeySequence using the Postgres SEQUENCEs.- Overrides:
generateKeySequence
in classSDriver
-
supportsKeySequences
public boolean supportsKeySequences()- Overrides:
supportsKeySequences
in classSDriver
-
createSequenceDDL
- Overrides:
createSequenceDDL
in classSDriver
-
dropSequenceDDL
- Overrides:
dropSequenceDDL
in classSDriver
-
getOffsetStrategy
Description copied from class:SDriver
JDBC 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:
getOffsetStrategy
in classSDriver
-
limitSQL
Description copied from class:SDriver
Drivers that choose to implement a QUERY offset strategy should return the limit statment here
-