SolarMetric Kodo JDO 3.1.6 generated on August 25 2004

kodo.jdbc.sql
Class EmpressDictionary

java.lang.Object
  |
  +--kodo.jdbc.sql.DBDictionary
        |
        +--kodo.jdbc.sql.EmpressDictionary
All Implemented Interfaces:
Configurable, ConnectionDecorator

public class EmpressDictionary
extends DBDictionary

Dictionary for Empress using ODBC server combined with their type 2 driver. This dictionary may issues with other driver/topology configurations.

Empress does not allow multiple connections to read rows read in a transaction, effectively forcing pessimistic transactions regardless of javax.jdo.option.Optimistic. To allow users to use optimistic transactions in a multi-connection evironment, you must set the AllowConcurrentRead setting to true in addition to JDO options.

Empress has the following additional limitations:


Fields inherited from class kodo.jdbc.sql.DBDictionary
CENTI, DECI, MICRO, MILLI, NANO, SCHEMA_CASE_DEFAULT, SCHEMA_CASE_LOWER, SCHEMA_CASE_PRESERVE, SCHEMA_CASE_UPPER, SEC
 
Constructor Summary
EmpressDictionary()
           
 
Method Summary
 boolean getAllowConcurrentRead()
          This setting inserts "BYPASS" after every "SELECT".
 String[] getDropColumnSQL(Column column)
          Empress wants dropped columns in the form: ALTER TABLE foo DELETE columnToDrop
 int getMaxColumnNameLength()
          Returns the maximum number of characters in a column name for this database.
 int getMaxTableNameLength()
          Returns the maximum number of characters in a table name for this database.
 boolean isSystemIndex(String name, Table table)
          This method is used to filter system indexes from database metadata.
 void setAllowConcurrentRead(boolean allow)
          Defaults to false.
 void setDouble(PreparedStatement stmnt, int idx, double val)
          Set the given value as a parameter to the statement.
 void setFloat(PreparedStatement stmnt, int idx, float val)
          Set the given value as a parameter to the statement.
 boolean supportsSizeInColumnDefinition(Column col, String name)
          Returns true if a schema definition statement supports appending the size after the column type.
 SQLBuffer toSelect(SQLBuffer selects, SQLBuffer from, SQLBuffer where, SQLBuffer order, boolean distinct, boolean forUpdate)
          Overrides to allow a "BYPASS" to be inserted post-"select" pending on AllowConcurrentRead setting.
 
Methods inherited from class kodo.jdbc.sql.DBDictionary
addSystemSchema, addSystemTable, afterMetadataOperation, appendSize, assertSelectForUpdate, beforeMetadataOperation, canBatch, canLock, configureReflectedColumn, convertSchemaCase, decorate, endConfiguration, getAddColumnSQL, getAddForeignKeySQL, getAddPrimaryKeySQL, getArray, getAsciiStream, getAutoIncrementClause, getAutoIncrementTypeName, getBatchLimit, getBatchParameterLimit, getBigDecimal, getBigInteger, getBigintTypeName, getBinaryStream, getBinaryTypeName, getBitTypeName, getBlob, getBlobObject, getBlobStream, getBlobTypeName, getBoolean, getByte, getBytes, getCatalogNameForMetadata, getCatalogSeparator, getChar, getCharacterStream, getCharTypeName, getClob, getClobString, getClobTypeName, getColumnNameForMetadata, getColumns, getConfiguration, getConstraintNameBeforeDeclaration, getCreateIndexSQL, getCreatePrimaryKeys, getCreateTableSQL, getDate, getDate, getDatePrecision, getDateTypeName, getDBMetaData, getDecimalTypeName, getDeclareColumnSQL, getDefaultSchemaName, getDistinctCountColumnSeparator, getDistinctTypeName, getDouble, getDoubleTypeName, getDropForeignKeySQL, getDropIndexSQL, getDropPrimaryKeySQL, getDropTableSQL, getFloat, getFloatTypeName, getForeignKeyActionName, getForeignKeyConstraintSQL, getForUpdateClause, getFrom, getFullName, getFullName, getFullName, getGeneratedKey, getGeneratedKeySequenceName, getImportedKeys, getIndexInfo, getInitializationSQL, getInt, getIntegerTypeName, getJavaObjectTypeName, getJDBCType, getJoinSyntax, getJoinSyntaxConstant, getLastGeneratedKeyQuery, getLastGeneratedKeyQuery, getLocale, getLong, getLongVarbinaryTypeName, getLongVarcharTypeName, getMaxCharacterFieldLength, getMaxCharactersInAutoIncrement, getMaxCharactersInTableName, getMaxForeignKeyNameLength, getMaxIndexesPerTable, getMaxIndexNameLength, getMaxKeyNameLength, getMaxPrimaryKeyNameLength, getNullColumnName, getNullTableName, getNullTypeName, getNumericTypeName, getObject, getOrderings, getOtherTypeName, getPlatform, getPreferredType, getPrimaryKeyConstraintSQL, getPrimaryKeys, getPrimaryKeysFromBestRowIdentifier, getPrimaryKeysFromGetPrimaryKeys, getRealTypeName, getRef, getRefTypeName, getRequiresAliasForSubselect, getRequiresAutoCommitForMetadata, getReservedKeywords, getReservedWords, getSchemaCase, getSchemaNameForMetadata, getSelects, getShort, getSimulateLocking, getSizeClause, getSmallintTypeName, getStorageLimitationsFatal, getStoreCharsAsNumbers, getStoreLargeNumbersAsStrings, getString, getStructTypeName, getSupportsDeferredConstraints, getSupportsForeignKeys, getSupportsLockingWithDistinctClause, getSupportsLockingWithInnerJoin, getSupportsLockingWithMultipleTables, getSupportsLockingWithOrderClause, getSupportsLockingWithOuterJoin, getSupportsMultipleNontransactionalResultSets, getSupportsNullTableForGetColumns, getSupportsNullTableForGetImportedKeys, getSupportsNullTableForGetIndexInfo, getSupportsNullTableForGetPrimaryKeys, getSupportsQueryTimeout, getSupportsSchemaForGetColumns, getSupportsSchemaForGetTables, getSupportsSelectForUpdate, getSystemSchemas, getSystemTables, getTableForUpdateClause, getTableNameForMetadata, getTables, getTableTypes, getTime, getTimestamp, getTimestampTypeName, getTimeTypeName, getTinyintTypeName, getTypeName, getUseGetBestRowIdentifierForPrimaryKeys, getUseGetBytesForBlobs, getUseGetObjectForBlobs, getUseSchemaName, getUseSetBytesForBlobs, getUseStringsForClobs, getValidationSQL, getValidColumnName, getValidForeignKeyName, getValidIndexName, getValidPrimaryKeyName, getValidTableName, getVarbinaryTypeName, getVarcharTypeName, getWhere, isReserved, isSupported, isSystemTable, makeNameValid, maxKeyNameLength, newColumnInfo, newForeignKeyInfo, newIndexInfo, newPrimaryKeyInfo, newTableInfo, refSchemaComponents, replaceMapping, replaceMapping, replaceMappingFactory, replaceSchemaFactory, replaceSize, serialize, setArray, setAsciiStream, setAutoIncrementClause, setAutoIncrementTypeName, setBatchLimit, setBatchParameterLimit, setBigDecimal, setBigInteger, setBigintTypeName, setBinaryStream, setBinaryTypeName, setBitTypeName, setBlob, setBlobObject, setBlobTypeName, setBoolean, setByte, setBytes, setCatalogSeparator, setChar, setCharacterStream, setCharTypeName, setClob, setClobString, setClobTypeName, setConfiguration, setCreatePrimaryKeys, setDate, setDate, setDateTypeName, setDBMetaData, setDecimalTypeName, setDefaultSchemaName, setDistinctCountColumnSeparator, setDistinctTypeName, setDoubleTypeName, setFloatTypeName, setForUpdateClause, setInitializationSQL, setInt, setIntegerTypeName, setJavaObjectTypeName, setJoinSyntax, setJoinSyntaxConstant, setLastGeneratedKeyQuery, setLocale, setLong, setLongVarbinaryTypeName, setLongVarcharTypeName, setMaxCharactersInAutoIncrement, setMaxCharactersInTableName, setMaxIndexesPerTable, setMaxKeyNameLength, setNull, setNullColumnName, setNullTableName, setNullTypeName, setNumericTypeName, setObject, setOtherTypeName, setPlatform, setRealTypeName, setRef, setRefTypeName, setRequiresAliasForSubselect, setRequiresAutoCommitForMetadata, setReservedWords, setSchemaCase, setShort, setSimulateLocking, setSmallintTypeName, setStorageLimitationsFatal, setStoreCharsAsNumbers, setStoreLargeNumbersAsStrings, setString, setStructTypeName, setSupportsDeferredConstraints, setSupportsForeignKeys, setSupportsLockingWithDistinctClause, setSupportsLockingWithInnerJoin, setSupportsLockingWithMultipleTables, setSupportsLockingWithOrderClause, setSupportsLockingWithOuterJoin, setSupportsMultipleNontransactionalResultSets, setSupportsNullTableForGetColumns, setSupportsNullTableForGetImportedKeys, setSupportsNullTableForGetIndexInfo, setSupportsNullTableForGetPrimaryKeys, setSupportsQueryTimeout, setSupportsSchemaForGetColumns, setSupportsSchemaForGetTables, setSupportsSelectForUpdate, setSystemSchemas, setSystemTables, setTableForUpdateClause, setTableTypes, setTime, setTimestamp, setTimestampTypeName, setTimeTypeName, setTinyintTypeName, setUseGetBestRowIdentifierForPrimaryKeys, setUseGetBytesForBlobs, setUseGetObjectForBlobs, setUseSchemaName, setUseSetBytesForBlobs, setUseStringsForClobs, setValidationSQL, setVarbinaryTypeName, setVarcharTypeName, startConfiguration, storageWarning, supportsAutoIncrement, supportsForeignKey, supportsRandomAccessResultSet, supportsSelectForUpdate, supportsTotalCountsForBatch, supportsUpdateCountsForBatch, toNativeJoin, toSelect, toSelectCount, toSQL92Join, toTraditionalJoin, warnSupportedDictionary
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

EmpressDictionary

public EmpressDictionary()
Method Detail

getAllowConcurrentRead

public boolean getAllowConcurrentRead()
This setting inserts "BYPASS" after every "SELECT". This allows for multiple transactional reads of the same row from different connections at the expense of loss of pessimistic locking. Defaults to false.

setAllowConcurrentRead

public void setAllowConcurrentRead(boolean allow)
Defaults to false.

getMaxTableNameLength

public int getMaxTableNameLength()
Description copied from class: DBDictionary
Returns the maximum number of characters in a table name for this database.
Overrides:
getMaxTableNameLength in class DBDictionary

getMaxColumnNameLength

public int getMaxColumnNameLength()
Description copied from class: DBDictionary
Returns the maximum number of characters in a column name for this database.
Overrides:
getMaxColumnNameLength in class DBDictionary

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 name
table - the index table

supportsSizeInColumnDefinition

public boolean supportsSizeInColumnDefinition(Column col,
                                              String name)
Description copied from class: DBDictionary
Returns true if a schema definition statement supports appending the size after the column type. For example some databases allow FLOAT(20), but other databases disallow INT8(16).
Overrides:
supportsSizeInColumnDefinition in class DBDictionary

toSelect

public SQLBuffer toSelect(SQLBuffer selects,
                          SQLBuffer from,
                          SQLBuffer where,
                          SQLBuffer order,
                          boolean distinct,
                          boolean forUpdate)
Overrides to allow a "BYPASS" to be inserted post-"select" pending on AllowConcurrentRead setting.
Overrides:
toSelect in class DBDictionary

getDropColumnSQL

public String[] getDropColumnSQL(Column column)
Empress wants dropped columns in the form: ALTER TABLE foo DELETE columnToDrop
Overrides:
getDropColumnSQL in class DBDictionary

setFloat

public void setFloat(PreparedStatement stmnt,
                     int idx,
                     float val)
              throws SQLException
Description copied from class: DBDictionary
Set the given value as a parameter to the statement.
Overrides:
setFloat in class DBDictionary

setDouble

public void setDouble(PreparedStatement stmnt,
                      int idx,
                      double val)
               throws SQLException
Description copied from class: DBDictionary
Set the given value as a parameter to the statement.
Overrides:
setDouble in class DBDictionary

SolarMetric Kodo JDO 3.1.6 generated on August 25 2004

Copyright 2001,2002 SolarMetric, Inc. All Rights Reserved.