org.apache.openjpa.jdbc.sql
Class PostgresDictionary
java.lang.Object
org.apache.openjpa.jdbc.sql.DBDictionary
org.apache.openjpa.jdbc.sql.PostgresDictionary
- All Implemented Interfaces:
- JoinSyntaxes, Configurable, ConnectionDecorator, LoggingConnectionDecorator.SQLWarningHandler
public class PostgresDictionary
- extends DBDictionary
Dictionary for Postgres.
Fields inherited from class org.apache.openjpa.jdbc.sql.DBDictionary |
allowsAliasInBulkClause, arrayTypeName, autoAssignClause, autoAssignTypeName, batchLimit, bigintTypeName, binaryTypeName, bitLengthFunction, bitTypeName, blobBufferSize, blobTypeName, booleanTypeName, castFunction, catalogSeparator, CENTI, characterColumnSize, charTypeName, clobBufferSize, clobTypeName, closePoolSQL, concatenateDelimiter, concatenateFunction, conf, connected, CONS_NAME_AFTER, CONS_NAME_BEFORE, CONS_NAME_MID, constraintNameMode, createPrimaryKeys, crossJoinClause, currentDateFunction, currentTimeFunction, currentTimestampFunction, datePrecision, dateTypeName, DECI, decimalTypeName, distinctCountColumnSeparator, distinctTypeName, doubleTypeName, driverVendor, dropTableSQL, fixedSizeTypeNames, fixedSizeTypeNameSet, floatTypeName, forUpdateClause, getStringVal, inClauseLimit, initializationSQL, innerJoinClause, integerTypeName, isJDBC3, javaObjectTypeName, joinSyntax, lastGeneratedKeyQuery, log, longVarbinaryTypeName, longVarcharTypeName, maxAutoAssignNameLength, maxColumnNameLength, maxConstraintNameLength, maxEmbeddedBlobSize, maxEmbeddedClobSize, maxIndexesPerTable, maxIndexNameLength, maxTableNameLength, MICRO, MILLI, NAME_ANY, NAME_SEQUENCE, NAME_TABLE, NANO, nativeSequenceType, nextSequenceQuery, NO_BATCH, nullTypeName, numericTypeName, otherTypeName, outerJoinClause, platform, RANGE_POST_DISTINCT, RANGE_POST_LOCK, RANGE_POST_SELECT, RANGE_PRE_DISTINCT, rangePosition, realTypeName, refTypeName, reportsSuccessNoInfoOnBatchUpdates, requiresAliasForSubselect, requiresAutoCommitForMetaData, requiresCastForComparisons, requiresCastForMathFunctions, requiresConditionForCrossJoin, requiresTargetForDelete, reservedWords, reservedWordSet, SCHEMA_CASE_LOWER, SCHEMA_CASE_PRESERVE, SCHEMA_CASE_UPPER, schemaCase, searchStringEscape, SEC, selectWords, selectWordSet, sequenceNameSQL, sequenceSchemaSQL, sequenceSQL, setStringRightTruncationOn, simulateLocking, smallintTypeName, sqlStateCodes, storageLimitationsFatal, storeCharsAsNumbers, storeLargeNumbersAsStrings, stringLengthFunction, structTypeName, substringFunctionName, supportsAlterTableWithAddColumn, supportsAlterTableWithDropColumn, supportsAutoAssign, supportsCascadeDeleteAction, supportsCascadeUpdateAction, supportsComments, supportsCorrelatedSubselect, supportsDefaultDeleteAction, supportsDefaultUpdateAction, supportsDeferredConstraints, supportsForeignKeys, supportsHaving, supportsLockingWithDistinctClause, supportsLockingWithInnerJoin, supportsLockingWithMultipleTables, supportsLockingWithOrderClause, supportsLockingWithOuterJoin, supportsLockingWithSelectRange, supportsModOperator, supportsMultipleNontransactionalResultSets, supportsNullDeleteAction, supportsNullTableForGetColumns, supportsNullTableForGetImportedKeys, supportsNullTableForGetIndexInfo, supportsNullTableForGetPrimaryKeys, supportsNullUpdateAction, supportsQueryTimeout, supportsRestrictDeleteAction, supportsRestrictUpdateAction, supportsSchemaForGetColumns, supportsSchemaForGetTables, supportsSelectEndIndex, supportsSelectForUpdate, supportsSelectStartIndex, supportsSubselect, supportsUniqueConstraints, supportsXMLColumn, systemSchemas, systemSchemaSet, systemTables, systemTableSet, tableForUpdateClause, tableTypes, timestampTypeName, timeTypeName, tinyintTypeName, toLowerCaseFunction, toUpperCaseFunction, trimBothFunction, trimLeadingFunction, trimSchemaName, trimTrailingFunction, typeModifierSet, UNLIMITED, useGetBestRowIdentifierForPrimaryKeys, useGetBytesForBlobs, useGetObjectForBlobs, useGetStringForClobs, useSchemaName, useSetBytesForBlobs, useSetStringForClobs, validationSQL, varbinaryTypeName, varcharTypeName, VENDOR_DATADIRECT, VENDOR_OTHER, xmlTypeName |
Method Summary |
protected void |
appendSelectRange(SQLBuffer buf,
long start,
long end,
boolean subselect)
If this dictionary can select ranges,
use this method to append the range SQL. |
Connection |
decorate(Connection conn)
Decorate the given connection if needed. |
void |
deleteStream(JDBCStore store,
Select sel)
|
byte |
getByte(ResultSet rs,
int column)
Convert the specified column of the SQL ResultSet to the proper
java type. |
String[] |
getCreateSequenceSQL(Sequence seq)
Return a series of SQL statements to create the given sequence. |
Date |
getDate(ResultSet rs,
int column)
Convert the specified column of the SQL ResultSet to the proper
java type. |
int |
getInt(ResultSet rs,
int column)
Convert the specified column of the SQL ResultSet to the proper
java type. |
InputStream |
getLOBStream(JDBCStore store,
ResultSet rs,
int column)
|
long |
getLong(ResultSet rs,
int column)
Convert the specified column of the SQL ResultSet to the proper
java type. |
protected String |
getSequencesSQL(String schemaName,
String sequenceName)
Return the SQL needed to select the list of sequences. |
short |
getShort(ResultSet rs,
int column)
Convert the specified column of the SQL ResultSet to the proper
java type. |
void |
indexOf(SQLBuffer buf,
FilterValue str,
FilterValue find,
FilterValue start)
Invoke this database's indexOf function. |
void |
insertBlobForStreamingLoad(Row row,
Column col,
JDBCStore store,
Object ob,
Select sel)
|
boolean |
isSystemIndex(String name,
Table table)
This method is used to filter system indexes from database metadata. |
boolean |
isSystemSequence(String name,
String schema,
boolean targetSchema)
This method is used to filter system sequences from database metadata. |
boolean |
isSystemTable(String name,
String schema,
boolean targetSchema)
This method is used to filter system tables from database metadata. |
void |
setBoolean(PreparedStatement stmnt,
int idx,
boolean val,
Column col)
Set the given value as a parameter to the statement. |
void |
setNull(PreparedStatement stmnt,
int idx,
int colType,
Column col)
Set the given value as a parameters to the statement. |
protected boolean |
supportsDeferredUniqueConstraints()
Whether or not this dictionary supports deferred unique constraints. |
void |
updateBlob(Select sel,
JDBCStore store,
InputStream is)
|
Methods inherited from class org.apache.openjpa.jdbc.sql.DBDictionary |
addCastAsType, addErrorCode, appendCast, appendLength, appendNumericCast, appendSelect, appendSize, appendUpdates, appendXmlComparison, assertSupport, calculateValue, canOuterJoin, closeDataSource, comment, comparison, connectedConfiguration, convertSchemaCase, copy, copy, createIndexIfNecessary, endConfiguration, executeQuery, getAddColumnSQL, getAddForeignKeySQL, getAddPrimaryKeySQL, getArray, getAsciiStream, getBatchLimit, getBatchUpdateCount, getBigDecimal, getBigInteger, getBinaryStream, getBlob, getBlobObject, getBoolean, getBytes, getCalendar, getCastFunction, getCatalogNameForMetadata, getChar, getCharacterStream, getClob, getClobString, getColumnNameForMetadata, getColumns, getCreateIndexSQL, getCreateTableSQL, getDate, getDeclareColumnSQL, getDeleteTableContentsSQL, getDeleteTargets, getDouble, getDropColumnSQL, getDropForeignKeySQL, getDropIndexSQL, getDropPrimaryKeySQL, getDropSequenceSQL, getDropTableSQL, getFloat, getForeignKeyConstraintSQL, getForUpdateClause, getFrom, getFromSelect, getFullName, getFullName, getFullName, getGeneratedKey, getGeneratedKeySequenceName, getImportedKeys, getIndexInfo, getJDBCType, getKey, getLocale, getNumber, getObject, getPlaceholderValueString, getPreferredType, getPrimaryKeyConstraintSQL, getPrimaryKeys, getPrimaryKeysFromBestRowIdentifier, getPrimaryKeysFromGetPrimaryKeys, getRef, getSchemaCase, getSchemaNameForMetadata, getSelectOperation, getSelects, getSequence, getSequences, getString, getTableNameForMetadata, getTables, getTime, getTimestamp, getTrimSchemaName, getTypeName, getTypeName, getUniqueConstraintSQL, getValidColumnName, getValidColumnName, getValidForeignKeyName, getValidIndexName, getValidPrimaryKeyName, getValidSequenceName, getValidTableName, getValidUniqueName, getVersionColumn, getWhere, handleWarning, insertClobForStreamingLoad, insertSize, isSelect, makeNameValid, makeNameValid, mathFunction, needsToCreateIndex, newColumn, newForeignKey, newIndex, newPrimaryKey, newSequence, newStoreException, newTable, prepareStatement, putBytes, putChars, putString, refSchemaComponents, serialize, setArray, setAsciiStream, setBatchLimit, setBigDecimal, setBigInteger, setBinaryStream, setBlob, setBlobObject, setByte, setBytes, setCalendar, setChar, setCharacterStream, setClob, setClobString, setConfiguration, setDate, setDate, setDouble, setFloat, setInt, setJoinSyntax, setLocale, setLong, setNumber, setObject, setRef, setShort, setString, setTime, setTimestamp, setTrimSchemaName, setTyped, setUnknown, shorten, startConfiguration, storageWarning, substring, supportsDeferredForeignKeyConstraints, supportsDeleteAction, supportsLocking, supportsRandomAccessResultSet, supportsUpdateAction, toBulkOperation, toDelete, toNativeJoin, toOperation, toOperation, toSelect, toSelect, toSelect, toSelect, toSelect, toSelectCount, toSQL92Join, toTraditionalJoin, toUpdate, updateClob, validateBatchProcess, validateDBSpecificBatchProcess |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
allSequencesSQL
public String allSequencesSQL
- SQL statement to load all sequence schema,name pairs from all schemas.
namedSequencesFromAllSchemasSQL
public String namedSequencesFromAllSchemasSQL
- SQL statement to load schema,name pairs for all sequences with a
certain name from all schemas.
allSequencesFromOneSchemaSQL
public String allSequencesFromOneSchemaSQL
- SQL statement to load schema,name pairs from a named schema.
namedSequenceFromOneSchemaSQL
public String namedSequenceFromOneSchemaSQL
- SQL statement to load a sequence's schema,name pair from one schema.
supportsSetFetchSize
public boolean supportsSetFetchSize
- Some Postgres drivers do not support the
Statement.setFetchSize(int)
method.
PostgresDictionary
public PostgresDictionary()
getDate
public Date getDate(ResultSet rs,
int column)
throws SQLException
- Description copied from class:
DBDictionary
- Convert the specified column of the SQL ResultSet to the proper
java type. Converts the date from a
Timestamp
by default.
- Overrides:
getDate
in class DBDictionary
- Throws:
SQLException
getByte
public byte getByte(ResultSet rs,
int column)
throws SQLException
- Description copied from class:
DBDictionary
- Convert the specified column of the SQL ResultSet to the proper
java type.
- Overrides:
getByte
in class DBDictionary
- Throws:
SQLException
getShort
public short getShort(ResultSet rs,
int column)
throws SQLException
- Description copied from class:
DBDictionary
- Convert the specified column of the SQL ResultSet to the proper
java type.
- Overrides:
getShort
in class DBDictionary
- Throws:
SQLException
getInt
public int getInt(ResultSet rs,
int column)
throws SQLException
- Description copied from class:
DBDictionary
- Convert the specified column of the SQL ResultSet to the proper
java type.
- Overrides:
getInt
in class DBDictionary
- Throws:
SQLException
getLong
public long getLong(ResultSet rs,
int column)
throws SQLException
- Description copied from class:
DBDictionary
- Convert the specified column of the SQL ResultSet to the proper
java type.
- Overrides:
getLong
in class DBDictionary
- Throws:
SQLException
setBoolean
public void setBoolean(PreparedStatement stmnt,
int idx,
boolean val,
Column col)
throws SQLException
- Description copied from class:
DBDictionary
- Set the given value as a parameter to the statement.
- Overrides:
setBoolean
in class DBDictionary
- Throws:
SQLException
setNull
public void setNull(PreparedStatement stmnt,
int idx,
int colType,
Column col)
throws SQLException
- Description copied from class:
DBDictionary
- Set the given value as a parameters to the statement. The column
type will come from
Types
.
- Overrides:
setNull
in class DBDictionary
- Throws:
SQLException
appendSelectRange
protected void appendSelectRange(SQLBuffer buf,
long start,
long end,
boolean subselect)
- Description copied from class:
DBDictionary
- If this dictionary can select ranges,
use this method to append the range SQL.
- Overrides:
appendSelectRange
in class DBDictionary
indexOf
public void indexOf(SQLBuffer buf,
FilterValue str,
FilterValue find,
FilterValue start)
- Description copied from class:
DBDictionary
- Invoke this database's indexOf function.
- Overrides:
indexOf
in class DBDictionary
- Parameters:
buf
- the SQL buffer to write the indexOf invocation tostr
- a query value representing the target stringfind
- a query value representing the search stringstart
- a query value representing the start index, or null
to start at the beginning
getCreateSequenceSQL
public String[] getCreateSequenceSQL(Sequence seq)
- Description copied from class:
DBDictionary
- Return a series of SQL statements to create the given sequence. Returns
CREATE SEQUENCE <sequence name>[ START WITH <start>]
[ INCREMENT BY <increment>]
by default.
- Overrides:
getCreateSequenceSQL
in class DBDictionary
supportsDeferredUniqueConstraints
protected boolean supportsDeferredUniqueConstraints()
- Description copied from class:
DBDictionary
- Whether or not this dictionary supports deferred unique constraints.
This implementation returns
DBDictionary.supportsUniqueConstraints
.
- Overrides:
supportsDeferredUniqueConstraints
in class DBDictionary
getSequencesSQL
protected String getSequencesSQL(String schemaName,
String sequenceName)
- Description copied from class:
DBDictionary
- Return the SQL needed to select the list of sequences.
- Overrides:
getSequencesSQL
in class DBDictionary
isSystemSequence
public boolean isSystemSequence(String name,
String schema,
boolean targetSchema)
- Description copied from class:
DBDictionary
- This method is used to filter system sequences from database metadata.
Return true if the given sequence represents a system sequence that
should not appear in the schema definition. Returns true if system
schema by default.
- Overrides:
isSystemSequence
in class DBDictionary
- Parameters:
name
- the table nameschema
- the table schema; may be nulltargetSchema
- if true, then the given schema was listed by
the user as one of his schemas
isSystemTable
public boolean isSystemTable(String name,
String schema,
boolean targetSchema)
- Description copied from class:
DBDictionary
- This method is used to filter system tables from database metadata.
Return true if the given table name represents a system table that
should not appear in the schema definition. By default, returns
true only if the given table is in the internal list of system tables,
or if the given schema is in the list of system schemas and is not
the target schema.
- Overrides:
isSystemTable
in class DBDictionary
- Parameters:
name
- the table nameschema
- the table schema; may be nulltargetSchema
- if true, then the given schema was listed by
the user as one of his schemas
isSystemIndex
public boolean isSystemIndex(String name,
Table table)
- Description copied from class:
DBDictionary
- This method is used to filter system indexes from database metadata.
Return true if the given index name represents a system index that
should not appear in the schema definition. Returns false by default.
- Overrides:
isSystemIndex
in class DBDictionary
- Parameters:
name
- the index nametable
- the index table
decorate
public Connection decorate(Connection conn)
throws SQLException
- Description copied from class:
DBDictionary
- Decorate the given connection if needed. Some databases require special
handling for JDBC bugs. This implementation issues any
DBDictionary.initializationSQL
that has been set for the dictionary but
does not decorate the connection.
- Specified by:
decorate
in interface ConnectionDecorator
- Overrides:
decorate
in class DBDictionary
- Throws:
SQLException
getLOBStream
public InputStream getLOBStream(JDBCStore store,
ResultSet rs,
int column)
throws SQLException
- Overrides:
getLOBStream
in class DBDictionary
- Throws:
SQLException
insertBlobForStreamingLoad
public void insertBlobForStreamingLoad(Row row,
Column col,
JDBCStore store,
Object ob,
Select sel)
throws SQLException
- Overrides:
insertBlobForStreamingLoad
in class DBDictionary
- Throws:
SQLException
updateBlob
public void updateBlob(Select sel,
JDBCStore store,
InputStream is)
throws SQLException
- Overrides:
updateBlob
in class DBDictionary
- Throws:
SQLException
deleteStream
public void deleteStream(JDBCStore store,
Select sel)
throws SQLException
- Overrides:
deleteStream
in class DBDictionary
- Throws:
SQLException
Copyright © 2006-2009 Apache Software Foundation. All Rights Reserved.