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

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

- Foreign keys are quite limited in Empress and it is recommended that these be created by hand.
- Batching can be unreliable. Using BatchLimit=0 is strongly recommended.
- Using AllowConcurrentRead should be accompanied by SimulateLocking=true
- Connections should be rolled back on return to ensure locks are released (see Kodo default DataSource documentation.
- Certain outer joins requiring parameters in a subselect is not supported by Empress and may under certain configurations cause size () calls on query results and LRS fields to throw an exception.
- Certain aggregate functions are not supported.

Field Summary
`boolean` | `allowConcurrentRead` This setting inserts "BYPASS" after every "SELECT".

Fields inherited from class kodo.jdbc.sql.DBDictionary
`arrayTypeName, autoIncrementClause, autoIncrementTypeName, batchLimit, batchParameterLimit, bigintTypeName, binaryTypeName, bitTypeName, blobTypeName, catalogSeparator, CENTI, charTypeName, clobTypeName, conf, connected, CONS_NAME_AFTER, CONS_NAME_BEFORE, CONS_NAME_MID, constraintNameMode, createPrimaryKeys, datePrecision, dateTypeName, DECI, decimalTypeName, defaultSchemaName, distinctCountColumnSeparator, distinctTypeName, doubleTypeName, driverVendor, fixedSizeTypeNameSet, floatTypeName, forUpdateClause, initializationSQL, integerTypeName, javaObjectTypeName, joinSyntax, lastGeneratedKeyQuery, log, longVarbinaryTypeName, longVarcharTypeName, maxAutoIncrementNameLength, maxCharacterFieldLength, maxColumnNameLength, maxForeignKeyNameLength, maxIndexesPerTable, maxIndexNameLength, maxPrimaryKeyNameLength, maxTableNameLength, MICRO, MILLI, NANO, nullTypeName, numericTypeName, otherTypeName, platform, realTypeName, refTypeName, requiresAliasForSubselect, requiresAutoCommitForMetadata, reservedWords, reservedWordSet, SCHEMA_CASE_LOWER, SCHEMA_CASE_PRESERVE, SCHEMA_CASE_UPPER, schemaCase, SEC, simulateLocking, smallintTypeName, storageLimitationsFatal, storeCharsAsNumbers, storeLargeNumbersAsStrings, stringLengthFunction, structTypeName, 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
`EmpressDictionary()`

Method Summary
`String[]` | `getDropColumnSQL(Column column)` Return a series of SQL statements to drop the given column from its table.
`boolean` | `isSystemIndex(String name, Table table)` This method is used to filter system indexes from database metadata.
`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.
`SQLBuffer` | `toSelect(SQLBuffer selects, SQLBuffer from, SQLBuffer where, SQLBuffer group, SQLBuffer having, SQLBuffer order, boolean distinct, boolean forUpdate, long startIdx, long endIdx)` Combine the given components into a SELECT statement.

Methods inherited from class kodo.jdbc.sql.DBDictionary
`appendSelectPostRange, appendSelectPreRange, appendSize, assertSupport, canBatch, canOuterJoin, connectedConfiguration, convertSchemaCase, decorate, endConfiguration, getAddColumnSQL, getAddForeignKeySQL, getAddPrimaryKeySQL, getArray, getAsciiStream, getBigDecimal, getBigInteger, getBinaryStream, getBlob, getBlobObject, getBoolean, getByte, getBytes, getCatalogNameForMetadata, getChar, getCharacterStream, getClob, getClobString, getColumnNameForMetadata, getColumns, getCreateIndexSQL, getCreateTableSQL, getDate, getDate, getDeclareColumnSQL, getDouble, getDropForeignKeySQL, getDropIndexSQL, getDropPrimaryKeySQL, getDropTableSQL, getFloat, getForeignKeyConstraintSQL, getFrom, getFromSelect, getFullName, getFullName, getGeneratedKey, getGeneratedKeySequenceName, getImportedKeys, getIndexInfo, getInt, getJDBCType, getLocale, getLong, getObject, getPreferredType, getPrimaryKeyConstraintSQL, getPrimaryKeys, getPrimaryKeysFromBestRowIdentifier, getPrimaryKeysFromGetPrimaryKeys, getRef, getSchemaNameForMetadata, getSelects, getShort, getString, getTableNameForMetadata, getTables, getTime, getTimestamp, getTypeName, getValidColumnName, getValidForeignKeyName, getValidIndexName, getValidPrimaryKeyName, getValidTableName, getWhere, indexOf, isSystemTable, makeNameValid, newColumn, newDataStoreException, newForeignKey, newIndex, newPrimaryKey, newTable, refSchemaComponents, replaceMapping, replaceMapping, replaceMappingFactory, replaceSchemaFactory, serialize, setArray, setAsciiStream, setBigDecimal, setBigInteger, setBinaryStream, setBlob, setBlobObject, setBoolean, setByte, setBytes, setChar, setCharacterStream, setClob, setClobString, setConfiguration, setDate, setDate, setInt, setJoinSyntax, setLocale, setLong, setNull, setObject, setRef, setShort, setString, setTime, setTimestamp, setUnknown, startConfiguration, storageWarning, substring, supportsLocking, supportsRandomAccessResultSet, toNativeJoin, toSelect, toSelectCount, toSQL92Join, toTraditionalJoin`

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

Field Detail

### allowConcurrentRead

    public boolean allowConcurrentRead

  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.

Constructor Detail

### EmpressDictionary

    public EmpressDictionary()

Method Detail

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

### toSelect

    public SQLBuffer toSelect(SQLBuffer selects,
                              SQLBuffer from,
                              SQLBuffer where,
                              SQLBuffer group,
                              SQLBuffer having,
                              SQLBuffer order,
                              boolean distinct,
                              boolean forUpdate,
                              long startIdx,
                              long endIdx)

  Description copied from class: `DBDictionary`
  Combine the given components into a SELECT statement.
  Overrides:
    `toSelect` in class `DBDictionary`

### getDropColumnSQL

    public String[] getDropColumnSQL(Column column)

  Description copied from class: `DBDictionary`
  Return a series of SQL statements to drop the given column from its table. Return an empty array if operation not supported. The `DBMetaData` is checked for support automatically. Returns `ALTER TABLE <table name> DROP COLUMN <col name>` by default.
  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`

Overview | Package | Class | Tree | Deprecated | Index | Help
| SolarMetric Kodo JDO 3.2.4 generated on January 7 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.