Overview | Package | Class | Tree | Deprecated | Index | Help
| SolarMetric Kodo JDO 3.3.5 generated on August 31 2005
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## kodo.jdbc.sql
Class InformixDictionary

    java.lang.Object
      |
      +--kodo.jdbc.sql.DBDictionary
            |
            +--kodo.jdbc.sql.InformixDictionary

All Implemented Interfaces:
  Configurable, ConnectionDecorator

public class InformixDictionary
extends DBDictionary

Dictionary for Informix database. Notable features:

- Informix does not allow pessimistic locking on scrollable result sets.
- SET LOCK MODE TO WAIT N statements are issued to wait on locks. See `lockWaitSeconds` and `lockModeEnabled`.
- LOCK MODE ROW is used by default for table creation to allow the maximum concurrency.

Field Summary
`boolean` | `lockModeEnabled` If true, then we will issue a "SET LOCK MODE TO WAIT N" statement whenever we create a `Connection`, in order allow waiting on locks.
`int` | `lockWaitSeconds` If `lockModeEnabled` is `true`, then this parameter specifies the number of seconds we will wait to obtain a lock for inserts and pessimistic locking.
`boolean` | `swapSchemaAndCatalog` Informix JDBC metadata for all known drivers returns with the table catalog and the table schema name swapped.

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`

Constructor Summary
`InformixDictionary()`

Method Summary
`void` | `connectedConfiguration(Connection conn)` This method is called when the dictionary first sees any connection.
`Connection` | `decorate(Connection conn)` Decorate the given connection if needed.
`String[]` | `getAddForeignKeySQL(ForeignKey fk)` Return a series of SQL statements to add the given foreign key to its table.
`String[]` | `getAddPrimaryKeySQL(PrimaryKey pk)` Return a series of SQL statements to add the given primary key to its table.
`Column[]` | `getColumns(DatabaseMetaData meta, String catalog, String schemaName, String tableName, String columnName, Connection conn)` Reflect on the schema to find columns matching the given table and column patterns.
`String[]` | `getCreateTableSQL(Table table)` Return a series of SQL statements to create the given table, complete with columns.
`Column` | `newColumn(ResultSet colMeta)` Create a new column from the information in the schema metadata.
`Index` | `newIndex(ResultSet idxMeta)` Create a new index from the information in the schema metadata.
`PrimaryKey` | `newPrimaryKey(ResultSet pkMeta)` Create a new primary key from the information in the schema metadata.
`void` | `setBoolean(PreparedStatement stmnt, int idx, boolean val, Column col)` Set the given value as a parameter to the statement.
`boolean` | `supportsRandomAccessResultSet(Select sel, boolean forUpdate)` Return false if the given select requires a forward-only result set.

Methods inherited from class kodo.jdbc.sql.DBDictionary
`appendSelectRange, appendSize, assertSupport, canBatch, canOuterJoin, convertSchemaCase, endConfiguration, getAddColumnSQL, getArray, getAsciiStream, getBigDecimal, getBigInteger, getBinaryStream, getBlob, getBlobObject, getBoolean, getByte, getBytes, getCatalogNameForMetadata, getChar, getCharacterStream, getClob, getClobString, getColumnNameForMetadata, getCreateIndexSQL, getDate, getDate, getDeclareColumnSQL, getDouble, getDropColumnSQL, getDropForeignKeySQL, getDropIndexSQL, getDropPrimaryKeySQL, getDropTableSQL, getFloat, getForeignKeyConstraintSQL, getFrom, getFromSelect, getFullName, getFullName, getGeneratedKey, getGeneratedKeySequenceName, getImportedKeys, getIndexInfo, getInt, getJDBCType, getLocale, getLong, getNumber, getObject, getPreferredType, getPrimaryKeyConstraintSQL, getPrimaryKeys, getPrimaryKeysFromBestRowIdentifier, getPrimaryKeysFromGetPrimaryKeys, getRef, getSchemaNameForMetadata, getSelects, getShort, getString, getTableNameForMetadata, getTables, getTime, getTimestamp, getTypeName, getValidColumnName, getValidForeignKeyName, getValidIndexName, getValidPrimaryKeyName, getValidTableName, getWhere, indexOf, isSystemIndex, isSystemTable, makeNameValid, newDataStoreException, newForeignKey, 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, toNativeJoin, toSelect, toSelect, toSelectCount, toSQL92Join, toTraditionalJoin`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### lockModeEnabled

    public boolean lockModeEnabled

  If true, then we will issue a "SET LOCK MODE TO WAIT N" statement whenever we create a `Connection`, in order allow waiting on locks.

### lockWaitSeconds

    public int lockWaitSeconds

  If `lockModeEnabled` is `true`, then this parameter specifies the number of seconds we will wait to obtain a lock for inserts and pessimistic locking.

### swapSchemaAndCatalog

    public boolean swapSchemaAndCatalog

  Informix JDBC metadata for all known drivers returns with the table catalog and the table schema name swapped. A `true` value for this property indicates that they should be reversed.

Constructor Detail

### InformixDictionary

    public InformixDictionary()

Method Detail

### connectedConfiguration

    public void connectedConfiguration(Connection conn)
                                throws SQLException

  Description copied from class: `DBDictionary`
  This method is called when the dictionary first sees any connection. It is used to initialize dictionary metadata if needed. If you override this method, be sure to call `super.connectedConfiguration`.
  Overrides:
    `connectedConfiguration` in class `DBDictionary`

### getColumns

    public Column[] getColumns(DatabaseMetaData meta,
                               String catalog,
                               String schemaName,
                               String tableName,
                               String columnName,
                               Connection conn)
                        throws SQLException

  Description copied from class: `DBDictionary`
  Reflect on the schema to find columns matching the given table and column patterns.
  Overrides:
    `getColumns` in class `DBDictionary`

### newColumn

    public Column newColumn(ResultSet colMeta)
                     throws SQLException

  Description copied from class: `DBDictionary`
  Create a new column from the information in the schema metadata.
  Overrides:
    `newColumn` in class `DBDictionary`

### newPrimaryKey

    public PrimaryKey newPrimaryKey(ResultSet pkMeta)
                             throws SQLException

  Description copied from class: `DBDictionary`
  Create a new primary key from the information in the schema metadata.
  Overrides:
    `newPrimaryKey` in class `DBDictionary`

### newIndex

    public Index newIndex(ResultSet idxMeta)
                   throws SQLException

  Description copied from class: `DBDictionary`
  Create a new index from the information in the schema metadata.
  Overrides:
    `newIndex` 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`

### getCreateTableSQL

    public String[] getCreateTableSQL(Table table)

  Description copied from class: `DBDictionary`
  Return a series of SQL statements to create the given table, complete with columns. Indexes and constraints will be created separately.
  Overrides:
    `getCreateTableSQL` in class `DBDictionary`

### getAddPrimaryKeySQL

    public String[] getAddPrimaryKeySQL(PrimaryKey pk)

  Description copied from class: `DBDictionary`
  Return a series of SQL statements to add the given primary key to its table. Return an empty array if operation not supported. Returns `ALTER TABLE <table name> ADD <pk cons sql >` by default.
  Overrides:
    `getAddPrimaryKeySQL` in class `DBDictionary`

### getAddForeignKeySQL

    public String[] getAddForeignKeySQL(ForeignKey fk)

  Description copied from class: `DBDictionary`
  Return a series of SQL statements to add the given foreign key to its table. Return an empty array if operation not supported. Returns `ALTER TABLE <table name> ADD <fk cons sql >` by default.
  Overrides:
    `getAddForeignKeySQL` in class `DBDictionary`

### supportsRandomAccessResultSet

    public boolean supportsRandomAccessResultSet(Select sel,
                                                 boolean forUpdate)

  Description copied from class: `DBDictionary`
  Return false if the given select requires a forward-only result set.
  Overrides:
    `supportsRandomAccessResultSet` in class `DBDictionary`

### 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`

Overview | Package | Class | Tree | Deprecated | Index | Help
| SolarMetric Kodo JDO 3.3.5 generated on August 31 2005
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

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