kodo.jdbc.sql
Class PostgresDictionary
java.lang.Object
|
+--kodo.jdbc.sql.DBDictionary
|
+--kodo.jdbc.sql.PostgresDictionary
- All Implemented Interfaces:
- Configurable, ConnectionDecorator
- public class PostgresDictionary
- extends DBDictionary
Dictionary for Postgres.
Fields inherited from class kodo.jdbc.sql.DBDictionary |
arrayTypeName, autoIncrementClause, autoIncrementTypeName, batchLimit, batchParameterLimit, bigintTypeName, binaryTypeName, bitTypeName, blobTypeName, booleanTypeName, catalogSeparator, CENTI, charTypeName, clobTypeName, conf, connected, CONS_NAME_AFTER, CONS_NAME_BEFORE, CONS_NAME_MID, constraintNameMode, createPrimaryKeys, crossJoinClause, datePrecision, dateTypeName, DECI, decimalTypeName, defaultSchemaName, distinctCountColumnSeparator, distinctTypeName, doubleTypeName, driverVendor, fixedSizeTypeNameSet, floatTypeName, forUpdateClause, initializationSQL, innerJoinClause, integerTypeName, javaObjectTypeName, joinSyntax, lastGeneratedKeyQuery, log, longVarbinaryTypeName, longVarcharTypeName, maxAutoIncrementNameLength, maxCharacterFieldLength, maxColumnNameLength, maxForeignKeyNameLength, maxIndexesPerTable, maxIndexNameLength, maxPrimaryKeyNameLength, maxTableNameLength, MICRO, MILLI, NANO, nullTypeName, numericTypeName, otherTypeName, outerJoinClause, platform, RANGE_POST_DISTINCT, RANGE_POST_SELECT, RANGE_PRE_DISTINCT, rangePosition, realTypeName, refTypeName, requiresAliasForSubselect, requiresAutoCommitForMetadata, requiresConditionForCrossJoin, reservedWords, reservedWordSet, SCHEMA_CASE_LOWER, SCHEMA_CASE_PRESERVE, SCHEMA_CASE_UPPER, schemaCase, SEC, simulateLocking, smallintTypeName, storageLimitationsFatal, storeCharsAsNumbers, storeLargeNumbersAsStrings, stringLengthFunction, structTypeName, substringFunctionName, supportsAlterTableWithAddColumn, supportsAlterTableWithDropColumn, supportsAutoIncrement, supportsCascadeDeleteAction, supportsDefaultDeleteAction, supportsDeferredConstraints, supportsForeignKeys, supportsHaving, supportsLockingWithDistinctClause, supportsLockingWithInnerJoin, supportsLockingWithMultipleTables, supportsLockingWithOrderClause, supportsLockingWithOuterJoin, supportsLockingWithSelectRange, supportsMultipleNontransactionalResultSets, supportsNullDeleteAction, supportsNullTableForGetColumns, supportsNullTableForGetImportedKeys, supportsNullTableForGetIndexInfo, supportsNullTableForGetPrimaryKeys, supportsQueryTimeout, supportsRestrictDeleteAction, supportsSchemaForGetColumns, supportsSchemaForGetTables, supportsSelectEndIndex, supportsSelectForUpdate, supportsSelectStartIndex, supportsSubselect, supportsTotalCountsForBatch, supportsUpdateCountsForBatch, systemSchemas, systemSchemaSet, systemTables, systemTableSet, tableForUpdateClause, tableTypes, timestampTypeName, timeTypeName, tinyintTypeName, toLowerCaseFunction, toUpperCaseFunction, useGetBestRowIdentifierForPrimaryKeys, useGetBytesForBlobs, useGetObjectForBlobs, useGetStringForClobs, useSchemaName, useSetBytesForBlobs, useSetStringForClobs, validationSQL, varbinaryTypeName, varcharTypeName, VENDOR_DATADIRECT, VENDOR_OTHER |
Method Summary |
protected void |
appendSelectRange(SQLBuffer buf,
long start,
long end)
If this dictionary can select ranges,
use this method to append the range SQL. |
Connection |
decorate(Connection conn)
Decorate the given connection if needed. |
byte |
getByte(ResultSet rs,
int column)
Convert the specified column of the SQL ResultSet to the proper
java type. |
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. |
long |
getLong(ResultSet rs,
int column)
Convert the specified column of the SQL ResultSet to the proper
java type. |
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. |
boolean |
isSystemIndex(String name,
Table table)
This method is used to filter system indexes 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. |
Methods inherited from class kodo.jdbc.sql.DBDictionary |
appendSize, assertSupport, canBatch, canOuterJoin, connectedConfiguration, convertSchemaCase, endConfiguration, getAddColumnSQL, getAddForeignKeySQL, getAddPrimaryKeySQL, getArray, getAsciiStream, getBigDecimal, getBigInteger, getBinaryStream, getBlob, getBlobObject, getBoolean, getBytes, getCatalogNameForMetadata, getChar, getCharacterStream, getClob, getClobString, getColumnNameForMetadata, getColumns, getCreateIndexSQL, getCreateTableSQL, getDate, getDeclareColumnSQL, getDouble, getDropColumnSQL, getDropForeignKeySQL, getDropIndexSQL, getDropPrimaryKeySQL, getDropTableSQL, getFloat, getForeignKeyConstraintSQL, getFrom, getFromSelect, getFullName, getFullName, getGeneratedKey, getGeneratedKeySequenceName, getImportedKeys, getIndexInfo, getJDBCType, getLocale, getNumber, getObject, getPreferredType, getPrimaryKeyConstraintSQL, getPrimaryKeys, getPrimaryKeysFromBestRowIdentifier, getPrimaryKeysFromGetPrimaryKeys, getRef, getSchemaNameForMetadata, getSelects, getString, getTableNameForMetadata, getTables, getTime, getTimestamp, getTypeName, getValidColumnName, getValidForeignKeyName, getValidIndexName, getValidPrimaryKeyName, getValidTableName, getWhere, makeNameValid, newColumn, newDataStoreException, newForeignKey, newIndex, newPrimaryKey, newTable, refSchemaComponents, replaceMapping, replaceMapping, replaceMappingFactory, replaceSchemaFactory, serialize, setArray, setArray, setAsciiStream, setAsciiStream, setBigDecimal, setBigDecimal, setBigInteger, setBigInteger, setBinaryStream, setBinaryStream, setBlob, setBlob, setBlobObject, setBlobObject, setBoolean, setByte, setByte, setBytes, setBytes, setChar, setChar, setCharacterStream, setCharacterStream, setClob, setClob, setClobString, setClobString, setConfiguration, setDate, setDate, setDate, setDate, setDouble, setDouble, setFloat, setFloat, setInt, setInt, setJoinSyntax, setLocale, setLocale, setLong, setLong, setNull, setNull, setObject, setObject, setRef, setRef, setShort, setShort, setString, setString, setTime, setTime, setTimestamp, setTimestamp, setUnknown, setUnknown, startConfiguration, storageWarning, substring, supportsLocking, supportsRandomAccessResultSet, toNativeJoin, toSelect, toSelect, toSelectCount, toSQL92Join, toTraditionalJoin |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
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
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
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
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
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
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
appendSelectRange
protected void appendSelectRange(SQLBuffer buf,
long start,
long end)
- 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
- Following copied from class:
kodo.jdbc.sql.DBDictionary
- Parameters:
buf
- the SQL buffer to write the indexOf invocation tostr
- a query value representing the target stringsearch
- a query value representing the search stringstart
- a query value representing the start index, or null
to start at the beginning
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
- Following copied from class:
kodo.jdbc.sql.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 JDO 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
- Following copied from class:
kodo.jdbc.sql.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 decoreate the connection.
- Overrides:
decorate
in class DBDictionary
Copyright 2001,2002 SolarMetric, Inc. All Rights Reserved.