Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.openjpa.jdbc.sql
Class DBDictionary

    java.lang.Object
      org.apache.openjpa.jdbc.sql.DBDictionary

All Implemented Interfaces:
  JoinSyntaxes, Configurable, IdentifierConfiguration, ConnectionDecorator, LoggingConnectionDecorator.SQLWarningHandler

Direct Known Subclasses:
  AbstractDB2Dictionary, AbstractSQLServerDictionary, AccessDictionary, CacheDictionary, EmpressDictionary, FirebirdDictionary, FoxProDictionary, H2Dictionary, HSQLDictionary, InformixDictionary, IngresDictionary, InterbaseDictionary, JDataStoreDictionary, MaxDBDictionary, MySQLDictionary, OracleDictionary, PointbaseDictionary, PostgresDictionary, SolidDBDictionary

    public class DBDictionary

extends Object
implements Configurable, ConnectionDecorator, JoinSyntaxes, LoggingConnectionDecorator.SQLWarningHandler, IdentifierConfiguration

Class which allows the creation of SQL dynamically, in a database agnostic fashion. Subclass for the nuances of different data stores.

Nested Class Summary
`static class` | `DBDictionary.SerializedData` Used by some mappings to represent data that has already been serialized so that we don't have to serialize multiple times.

Field Summary
`protected ProxyManager` | `_proxyManager`
`boolean` | `allowsAliasInBulkClause`
`String` | `arrayTypeName`
`String` | `autoAssignClause`
`String` | `autoAssignTypeName`
`int` | `batchLimit`
`String` | `bigintTypeName`
`String` | `binaryTypeName`
`String` | `bitLengthFunction`
`String` | `bitTypeName`
`int` | `blobBufferSize`
`String` | `blobTypeName`
`String` | `booleanTypeName`
`String` | `castFunction`
`String` | `catalogSeparator`
`protected static int` | `CENTI`
`int` | `characterColumnSize`
`String` | `charTypeName`
`int` | `clobBufferSize`
`String` | `clobTypeName`
`String` | `closePoolSQL`
`String` | `concatenateDelimiter`
`String` | `concatenateFunction`
`protected JDBCConfiguration` | `conf`
`protected boolean` | `connected`
`static String` | `CONS_NAME_AFTER`
`static String` | `CONS_NAME_BEFORE`
`static String` | `CONS_NAME_MID`
`String` | `constraintNameMode`
`boolean` | `createPrimaryKeys`
`String` | `crossJoinClause`
`String` | `currentDateFunction`
`String` | `currentTimeFunction`
`String` | `currentTimestampFunction`
`int` | `datePrecision`
`String` | `dateTypeName`
`protected static int` | `DECI`
`String` | `decimalTypeName`
`protected String` | `defaultSchemaName`
`String` | `delimitedCase`
`String` | `distinctCountColumnSeparator`
`String` | `distinctTypeName`
`String` | `doubleTypeName`
`String` | `driverVendor`
`String` | `dropTableSQL`
`String` | `fixedSizeTypeNames`
`protected Set<String>` | `fixedSizeTypeNameSet`
`String` | `floatTypeName`
`String` | `forUpdateClause`
`String` | `getStringVal`
`int` | `inClauseLimit`
`String` | `initializationSQL`
`String` | `innerJoinClause`
`String` | `integerTypeName`
`protected Set<String>` | `invalidColumnWordSet`
`protected boolean` | `isJDBC3`
`protected boolean` | `isJDBC4`
`String` | `javaObjectTypeName`
`int` | `joinSyntax`
`String` | `lastGeneratedKeyQuery`
`String` | `leadingDelimiter`
`protected Log` | `log`
`String` | `longVarbinaryTypeName`
`String` | `longVarcharTypeName`
`int` | `maxAutoAssignNameLength`
`int` | `maxColumnNameLength`
`int` | `maxConstraintNameLength`
`int` | `maxEmbeddedBlobSize`
`int` | `maxEmbeddedClobSize`
`int` | `maxIndexesPerTable`
`int` | `maxIndexNameLength`
`int` | `maxTableNameLength`
`protected static int` | `MICRO`
`protected static int` | `MILLI`
`protected static int` | `NAME_ANY`
`protected static int` | `NAME_SEQUENCE`
`protected static int` | `NAME_TABLE`
`String` | `nameConcatenator`
`protected static int` | `NANO`
`int` | `nativeSequenceType`
`String` | `nextSequenceQuery`
`protected static int` | `NO_BATCH`
`String` | `nullTypeName`
`String` | `numericTypeName`
`String` | `otherTypeName`
`String` | `outerJoinClause`
`String` | `platform`
`protected static int` | `RANGE_POST_DISTINCT`
`protected static int` | `RANGE_POST_LOCK`
`protected static int` | `RANGE_POST_SELECT`
`protected static int` | `RANGE_PRE_DISTINCT`
`int` | `rangePosition`
`String` | `realTypeName`
`String` | `refTypeName`
`boolean` | `reportsSuccessNoInfoOnBatchUpdates`
`boolean` | `requiresAliasForSubselect`
`boolean` | `requiresAutoCommitForMetaData`
`boolean` | `requiresCastForComparisons`
`boolean` | `requiresCastForMathFunctions`
`boolean` | `requiresConditionForCrossJoin`
`boolean` | `requiresSearchStringEscapeForLike`
`boolean` | `requiresTargetForDelete`
`String` | `reservedWords`
`protected Set<String>` | `reservedWordSet`
`boolean` | `roundTimeToMillisec`
`static String` | `SCHEMA_CASE_LOWER`
`static String` | `SCHEMA_CASE_PRESERVE`
`static String` | `SCHEMA_CASE_UPPER`
`String` | `schemaCase`
`String` | `searchStringEscape`
`protected static int` | `SEC`
`String` | `selectWords`
`protected Set` | `selectWordSet` If a native query begins with any of the values found here then it will be treated as a select statement.
`String` | `sequenceNameSQL`
`String` | `sequenceSchemaSQL`
`String` | `sequenceSQL`
`boolean` | `setStringRightTruncationOn`
`boolean` | `simulateLocking`
`String` | `smallintTypeName`
`Map<Integer,Set<String>>` | `sqlStateCodes`
`boolean` | `storageLimitationsFatal`
`boolean` | `storeCharsAsNumbers`
`boolean` | `storeLargeNumbersAsStrings`
`String` | `stringLengthFunction`
`String` | `structTypeName`
`String` | `substringFunctionName`
`boolean` | `supportsAlterTableWithAddColumn`
`boolean` | `supportsAlterTableWithDropColumn`
`boolean` | `supportsAutoAssign`
`boolean` | `supportsCascadeDeleteAction`
`boolean` | `supportsCascadeUpdateAction`
`boolean` | `supportsCaseConversionForLob`
`boolean` | `supportsComments`
`boolean` | `supportsCorrelatedSubselect`
`boolean` | `supportsDefaultDeleteAction`
`boolean` | `supportsDefaultUpdateAction`
`boolean` | `supportsDeferredConstraints`
`Boolean` | `supportsDelimitedIdentifiers`
`boolean` | `supportsForeignKeys`
`boolean` | `supportsForeignKeysComposite`
`boolean` | `supportsGeneralCaseExpression`
`Boolean` | `supportsGetGeneratedKeys`
`boolean` | `supportsHaving`
`boolean` | `supportsLockingWithDistinctClause`
`boolean` | `supportsLockingWithInnerJoin`
`boolean` | `supportsLockingWithMultipleTables`
`boolean` | `supportsLockingWithOrderClause`
`boolean` | `supportsLockingWithOuterJoin`
`boolean` | `supportsLockingWithSelectRange`
`boolean` | `supportsModOperator`
`boolean` | `supportsMultipleNontransactionalResultSets`
`boolean` | `supportsNullDeleteAction`
`boolean` | `supportsNullTableForGetColumns`
`boolean` | `supportsNullTableForGetImportedKeys`
`boolean` | `supportsNullTableForGetIndexInfo`
`boolean` | `supportsNullTableForGetPrimaryKeys`
`boolean` | `supportsNullUniqueColumn`
`boolean` | `supportsNullUpdateAction`
`boolean` | `supportsParameterInSelect`
`boolean` | `supportsQueryTimeout`
`boolean` | `supportsRestrictDeleteAction`
`boolean` | `supportsRestrictUpdateAction`
`boolean` | `supportsSchemaForGetColumns`
`boolean` | `supportsSchemaForGetTables`
`boolean` | `supportsSelectEndIndex`
`boolean` | `supportsSelectForUpdate`
`boolean` | `supportsSelectFromFinalTable`
`boolean` | `supportsSelectStartIndex`
`boolean` | `supportsSimpleCaseExpression`
`boolean` | `supportsSubselect`
`boolean` | `supportsUniqueConstraints`
`boolean` | `supportsXMLColumn`
`String` | `systemSchemas`
`protected Set<String>` | `systemSchemaSet`
`String` | `systemTables`
`protected Set<String>` | `systemTableSet`
`String` | `tableForUpdateClause`
`boolean` | `tableLengthIncludesSchema`
`String` | `tableTypes`
`String` | `timestampTypeName`
`String` | `timeTypeName`
`String` | `tinyintTypeName`
`String` | `toLowerCaseFunction`
`String` | `toUpperCaseFunction`
`String` | `trailingDelimiter`
`String` | `trimBothFunction`
`String` | `trimLeadingFunction`
`boolean` | `trimSchemaName` Some Databases append whitespace after the schema name
`boolean` | `trimStringColumns`
`String` | `trimTrailingFunction`
`protected Set<String>` | `typeModifierSet`
`protected static int` | `UNLIMITED`
`boolean` | `useGetBestRowIdentifierForPrimaryKeys`
`boolean` | `useGetBytesForBlobs`
`boolean` | `useGetObjectForBlobs`
`boolean` | `useGetStringForClobs`
`boolean` | `useJDBC4SetBinaryStream`
`boolean` | `useNativeSequenceCache` Deprecated.
`boolean` | `useSchemaName`
`boolean` | `useSetBytesForBlobs`
`boolean` | `useSetStringForClobs`
`boolean` | `useWildCardForCount`
`String` | `validationSQL`
`String` | `varbinaryTypeName`
`String` | `varcharTypeName`
`static String` | `VENDOR_DATADIRECT`
`static String` | `VENDOR_OTHER`
`String` | `xmlTypeEncoding`
`String` | `xmlTypeName`

Fields inherited from interface org.apache.openjpa.jdbc.sql.JoinSyntaxes
`SYNTAX_DATABASE, SYNTAX_SQL92, SYNTAX_TRADITIONAL`

Constructor Summary
`DBDictionary()`

Method Summary
`String` | `addCastAsType(String func, Val val)` add CAST for a function operator where operand is a param
`void` | `addErrorCode(int errorType, String errorCode)`
`void` | `appendCast(SQLBuffer buf, Object val, int type)` Cast the specified value to the specified type.
`protected void` | `appendLength(SQLBuffer buf, int type)`
`protected void` | `appendNumericCast(SQLBuffer buf, FilterValue val)` Append SQL for the given numeric value to the buffer, casting as needed.
`protected void` | `appendSelect(SQLBuffer selectSQL, Object elem, Select sel, int idx)` Append `elem` to `selectSQL`.
`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.
`protected String` | `appendSize(Column col, String typeName)` Helper method to add size properties to the specified type.
`protected void` | `appendUpdates(Select sel, JDBCStore store, SQLBuffer sql, Object[] params, Map updateParams, boolean allowAlias)`
`void` | `appendXmlComparison(SQLBuffer buf, String op, FilterValue lhs, FilterValue rhs, boolean lhsxml, boolean rhsxml)` If this dictionary supports XML type, use this method to append xml predicate.
`void` | `assertSupport(boolean feature, String property)` Assert that the given dictionary flag is true.
`protected void` | `calculateValue(Val val, Select sel, ExpContext ctx, ExpState state, Path path, ExpState pathState)` This method is to provide override for non-JDBC or JDBC-like implementation of calculating value.
`boolean` | `canOuterJoin(int syntax, ForeignKey fk)` Returns if the given foreign key can be eagerly loaded using other joins.
`(package private) String` | `checkNameLength(DBIdentifier identifier, int length, String msgKey)` Validate that the given name is not longer than given maximum length.
`(package private) String` | `checkNameLength(DBIdentifier identifier, int length, String msgKey, boolean qualified)` Validate that the given name is not longer than given maximum length.
`(package private) String` | `checkNameLength(String name, int length, String msgKey)` Validate that the given name is not longer than given maximum length.
`void` | `closeDataSource(DataSource dataSource)` Closes the specified `DataSource` and releases any resources associated with it.
`protected ForeignKey` | `combineForeignKey(Map<ForeignKey.FKMapKey,ForeignKey> fkMap, ForeignKey fk)` Combines partial foreign keys into singular key
`protected StringBuilder` | `comment(StringBuilder buf, String comment)`
`void` | `comparison(SQLBuffer buf, String op, FilterValue lhs, FilterValue rhs)` Append a comparison.
`protected void` | `configureNamingRules()` Configures the naming rules for this dictionary.
`void` | `connectedConfiguration(Connection conn)` This method is called when the dictionary first sees any connection.
`String` | `convertSchemaCase(DBIdentifier objectName)` Convert the specified schema name to a name that the database will be able to understand.
`String` | `convertSchemaCase(String objectName)` Convert the specified schema name to a name that the database will be able to understand.
`protected long` | `copy(InputStream in, OutputStream out)`
`protected long` | `copy(Reader reader, Writer writer)`
`void` | `createIndexIfNecessary(Schema schema, DBIdentifier table, Column pkColumn)`
`void` | `createIndexIfNecessary(Schema schema, String table, Column pkColumn)` Deprecated.
`Connection` | `decorate(Connection conn)` Decorate the given connection if needed.
`void` | `deleteStream(JDBCStore store, Select sel)`
`boolean` | `delimitAll()` Returns true if global name delimiting is enabled.
`void` | `endConfiguration()` Invoked upon completion of bean property configuration for this object.
`protected ResultSet` | `executeQuery(Connection conn, PreparedStatement stmnt, String sql)` This method is to provide override for non-JDBC or JDBC-like implementation of executing query.
`DBIdentifier` | `fromDBName(String name, DBIdentifier.DBIdentifierType id)`
`String[]` | `getAddColumnSQL(Column column)` Return a series of SQL statements to add the given column to its table.
`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.
`String` | `getAlterSequenceSQL(Sequence seq)`
`Array` | `getArray(ResultSet rs, int column)` Convert the specified column of the SQL ResultSet to the proper java type.
`InputStream` | `getAsciiStream(ResultSet rs, int column)` Convert the specified column of the SQL ResultSet to the proper java type.
`int` | `getBatchFetchSize(int batchFetchSize)`
`int` | `getBatchLimit()` Return the batchLimit
`int` | `getBatchUpdateCount(PreparedStatement ps)` Return batched statements update success count
`BigDecimal` | `getBigDecimal(ResultSet rs, int column)` Convert the specified column of the SQL ResultSet to the proper java type.
`BigInteger` | `getBigInteger(ResultSet rs, int column)` Convert the specified column of the SQL ResultSet to the proper java type.
`InputStream` | `getBinaryStream(ResultSet rs, int column)` Convert the specified column of the SQL ResultSet to the proper java type.
`Blob` | `getBlob(ResultSet rs, int column)` Convert the specified column of the SQL ResultSet to the proper java type.
`Object` | `getBlobObject(ResultSet rs, int column, JDBCStore store)` Convert the specified column of the SQL ResultSet to the proper java type.
`boolean` | `getBoolean(ResultSet rs, int column)` Convert the specified column of the SQL ResultSet to the proper java type.
`byte` | `getByte(ResultSet rs, int column)` Convert the specified column of the SQL ResultSet to the proper java type.
`byte[]` | `getBytes(ResultSet rs, int column)` Convert the specified column of the SQL ResultSet to the proper java type.
`Calendar` | `getCalendar(ResultSet rs, int column)` Convert the specified column of the SQL ResultSet to the proper java type.
`String` | `getCastFunction(Val val, String func)` Attach CAST to the current function if necessary
`String` | `getCastFunction(Val val, String func, Column col)` Return the correct CAST function syntax.
`protected String` | `getCatalogNameForMetadata(DBIdentifier catalogName)` Returns the catalog name that will be used for obtaining information from `DatabaseMetaData`.
`protected String` | `getCatalogNameForMetadata(String catalogName)` Returns the catalog name that will be used for obtaining information from `DatabaseMetaData`.
`char` | `getChar(ResultSet rs, int column)` Convert the specified column of the SQL ResultSet to the proper java type.
`Reader` | `getCharacterStream(ResultSet rs, int column)` Convert the specified column of the SQL ResultSet to the proper java type.
`Clob` | `getClob(ResultSet rs, int column)` Convert the specified column of the SQL ResultSet to the proper java type.
`String` | `getClobString(ResultSet rs, int column)` Convert the specified column of the SQL ResultSet to the proper java type.
`String` | `getColumnDBName(Column column)`
`DBIdentifier` | `getColumnIdentifier(Column column)` Returns the name of the column using database specific delimiters.
`protected String` | `getColumnNameForMetadata(DBIdentifier columnName)` Returns the column name that will be used for obtaining information from `DatabaseMetaData`.
`protected String` | `getColumnNameForMetadata(String columnName)` Returns the column name that will be used for obtaining information from `DatabaseMetaData`.
`Column[]` | `getColumns(DatabaseMetaData meta, DBIdentifier catalog, DBIdentifier schemaName, DBIdentifier tableName, DBIdentifier columnName, Connection conn)` Reflect on the schema to find columns matching the given table and column patterns.
`Column[]` | `getColumns(DatabaseMetaData meta, String catalog, String schemaName, String tableName, String columnName, Connection conn)` Deprecated.
`String` | `getConversionKey()` Returns a key that can be used to determine whether conversion should take place.
`String[]` | `getCreateIndexSQL(Index index)` Return a series of SQL statements to create the given index.
`String[]` | `getCreateSequenceSQL(Sequence seq)` Return a series of SQL statements to create the given sequence.
`String[]` | `getCreateTableSQL(Table table)` Return a series of SQL statements to create the given table, complete with columns.
`String[]` | `getCreateTableSQL(Table table, SchemaGroup group)` Return a series of SQL statements to create the given table, complete with columns.
`Date` | `getDate(ResultSet rs, int column)` Convert the specified column of the SQL ResultSet to the proper java type.
`Date` | `getDate(ResultSet rs, int column, Calendar cal)` Convert the specified column of the SQL ResultSet to the proper java type.
`protected String` | `getDeclareColumnSQL(Column col, boolean alter)` Return the declaration SQL for the given column.
`IdentifierRule` | `getDefaultIdentifierRule()` Gets the default naming rule
`String` | `getDefaultSchemaName()`
`String[]` | `getDeleteTableContentsSQL(Table[] tables, Connection conn)` Create SQL to delete the contents of the specified tables.
`protected SQLBuffer` | `getDeleteTargets(Select sel)`
`String` | `getDelimitedCase()` Returns the case that is used when delimiting.
`boolean` | `getDelimitIdentifiers()`
`double` | `getDouble(ResultSet rs, int column)` Convert the specified column of the SQL ResultSet to the proper java type.
`String[]` | `getDropColumnSQL(Column column)` Return a series of SQL statements to drop the given column from its table.
`String[]` | `getDropForeignKeySQL(ForeignKey fk, Connection conn)` Return a series of SQL statements to drop the given foreign key from its table.
`String[]` | `getDropIndexSQL(Index index)` Return a series of SQL statements to drop the given index.
`String[]` | `getDropPrimaryKeySQL(PrimaryKey pk)` Return a series of SQL statements to drop the given primary key from its table.
`String[]` | `getDropSequenceSQL(Sequence seq)` Return a series of SQL statements to drop the given sequence.
`String[]` | `getDropTableSQL(Table table)` Return a series of SQL statements to drop the given table.
`float` | `getFloat(ResultSet rs, int column)` Convert the specified column of the SQL ResultSet to the proper java type.
`protected String` | `getForeignKeyConstraintSQL(ForeignKey fk)` Return the declaration SQL for the given foreign key, or null if it is not supported.
`protected String` | `getForUpdateClause(JDBCFetchConfiguration fetch, boolean isForUpdate, Select sel)` Get the update clause for the query based on the updateClause and isolationLevel hints
`protected SQLBuffer` | `getFrom(Select sel, boolean forUpdate)` Return the portion of the select statement between the FROM keyword and the WHERE keyword.
`protected SQLBuffer` | `getFromSelect(Select sel, boolean forUpdate)` Return the FROM clause for a select that selects from a tmp table created by an inner select.
`DBIdentifier` | `getFullIdentifier(Table table, boolean logical)` Returns the full name of the table, including the schema (delimited by `catalogSeparator`).
`String` | `getFullName(Index index)` Returns the full name of the index, including the schema (delimited by the result of `catalogSeparator`).
`String` | `getFullName(Sequence seq)` Returns the full name of the sequence, including the schema (delimited by the result of `catalogSeparator`).
`String` | `getFullName(Table table, boolean logical)`
`Object` | `getGeneratedKey(Column col, Connection conn)` Return the last generated value for the given column.
`protected String` | `getGeneratedKeySequenceName(Column col)` Return the sequence name used by databases for the given autoassigned column.
`protected String` | `getGenKeySeqName(String query, Column col)`
`String` | `getIdentifierConcatenator()` Returns the value used to concatenate multiple names together.
`String` | `getIdentifierDelimiter()` Returns the value used to delimit between individual names.
`
`<T> IdentifierRule`
` | `getIdentifierRule(T t)` Returns a naming rule or null if the rule is not found.
`Map<String,IdentifierRule>` | `getIdentifierRules()` Returns all naming rules
`String` | `getIdentityColumnName()`
`ForeignKey[]` | `getImportedKeys(DatabaseMetaData meta, DBIdentifier catalog, DBIdentifier schemaName, DBIdentifier tableName, Connection conn)` Reflect on the schema to return foreign keys imported by the given table pattern.
`ForeignKey[]` | `getImportedKeys(DatabaseMetaData meta, DBIdentifier catalog, DBIdentifier schemaName, DBIdentifier tableName, Connection conn, boolean partialKeys)` Reflect on the schema to return full foreign keys imported by the given table pattern.
`ForeignKey[]` | `getImportedKeys(DatabaseMetaData meta, String catalog, String schemaName, String tableName, Connection conn)` Deprecated.
`ForeignKey[]` | `getImportedKeys(DatabaseMetaData meta, String catalog, String schemaName, String tableName, Connection conn, boolean partialKeys)` Deprecated.
`Index[]` | `getIndexInfo(DatabaseMetaData meta, DBIdentifier catalog, DBIdentifier schemaName, DBIdentifier tableName, boolean unique, boolean approx, Connection conn)` Reflect on the schema to find indexes matching the given table pattern.
`Index[]` | `getIndexInfo(DatabaseMetaData meta, String catalog, String schemaName, String tableName, boolean unique, boolean approx, Connection conn)` Deprecated.
`int` | `getInt(ResultSet rs, int column)` Convert the specified column of the SQL ResultSet to the proper java type.
`Set<String>` | `getInvalidColumnWordSet()` Return the subset of the words in reservedWordSet that cannot be used as valid column names for the current DB.
`String` | `getIsNotNullSQL(String colAlias, int colType)`
`String` | `getIsNullSQL(String colAlias, int colType)`
`int` | `getJDBCType(int metaTypeCode, boolean lob)` Return the preferred `Types` constant for the given `JavaTypes` or `JavaSQLTypes` constant.
`int` | `getJDBCType(int metaTypeCode, boolean lob, int precis, int scale)` Return the preferred `Types` constant for the given `JavaTypes` or `JavaSQLTypes` constant.
`int` | `getJDBCType(int metaTypeCode, boolean lob, int precis, int scale, boolean xml)` Return the preferred `Types` constant for the given `JavaTypes` or `JavaSQLTypes` constant.
`protected Object` | `getKey(ResultSet rs, Column col)` This method is to provide override for non-JDBC or JDBC-like implementation of getting key from the result set.
`String` | `getLeadingDelimiter()` Returns the leading delimiter value to use when delimiting a name.
`InputStream` | `getLOBStream(JDBCStore store, ResultSet rs, int column)`
`Locale` | `getLocale(ResultSet rs, int column)` Convert the specified column of the SQL ResultSet to the proper java type.
`Log` | `getLog()`
`long` | `getLong(ResultSet rs, int column)` Convert the specified column of the SQL ResultSet to the proper java type.
`String` | `getMarkerForInsertUpdate(Column col, Object val)` Return parameter marker for INSERT and UPDATE statements.
`DBIdentifierUtil` | `getNamingUtil()` Returns the naming utility used by this dictionary instance
`Number` | `getNumber(ResultSet rs, int column)` Returns the specified column value as an unknown numeric type; we try from the most generic to the least generic.
`Object` | `getObject(ResultSet rs, int column, Map map)` Convert the specified column of the SQL ResultSet to the proper java type.
`String` | `getPlaceholderValueString(Column col)` Return a SQL string to act as a placeholder for the given column.
`int` | `getPreferredType(int type)` Return the preferred `Types` type for the given one.
`protected String` | `getPrimaryKeyConstraintSQL(PrimaryKey pk)` Return the declaration SQL for the given primary key.
`PrimaryKey[]` | `getPrimaryKeys(DatabaseMetaData meta, DBIdentifier catalog, DBIdentifier schemaName, DBIdentifier tableName, Connection conn)` Reflect on the schema to find primary keys for the given table pattern.
`PrimaryKey[]` | `getPrimaryKeys(DatabaseMetaData meta, String catalog, String schemaName, String tableName, Connection conn)` Deprecated.
`protected PrimaryKey[]` | `getPrimaryKeysFromBestRowIdentifier(DatabaseMetaData meta, DBIdentifier catalog, DBIdentifier schemaName, DBIdentifier tableName, Connection conn)` Reflect on the schema to find primary keys for the given table pattern.
`protected PrimaryKey[]` | `getPrimaryKeysFromBestRowIdentifier(DatabaseMetaData meta, String catalog, String schemaName, String tableName, Connection conn)` Deprecated.
`protected PrimaryKey[]` | `getPrimaryKeysFromGetPrimaryKeys(DatabaseMetaData meta, DBIdentifier catalog, DBIdentifier schemaName, DBIdentifier tableName, Connection conn)` Reflect on the schema to find primary keys for the given table pattern.
`protected PrimaryKey[]` | `getPrimaryKeysFromGetPrimaryKeys(DatabaseMetaData meta, String catalog, String schemaName, String tableName, Connection conn)` Deprecated.
`Ref` | `getRef(ResultSet rs, int column, Map map)` Convert the specified column of the SQL ResultSet to the proper java type.
`String` | `getSchemaCase()` Return DB specific schemaCase
`protected String` | `getSchemaNameForMetadata(DBIdentifier schemaName)` Returns the schema name that will be used for obtaining information from `DatabaseMetaData`.
`protected String` | `getSchemaNameForMetadata(String schemaName)` Returns the schema name that will be used for obtaining information from `DatabaseMetaData`.
`String` | `getSelectOperation(JDBCFetchConfiguration fetch)` Return the "SELECT" operation clause, adding any available hints, etc.
`protected SQLBuffer` | `getSelects(Select sel, boolean distinctIdentifiers, boolean forUpdate)` Return the portion of the select statement between the SELECT keyword and the FROM keyword.
`protected Collection<String>` | `getSelectTableAliases(Select sel)`
`protected Sequence[]` | `getSequence(ResultSet rs)` This method is to provide override for non-JDBC or JDBC-like implementation of getting sequence from the result set.
`Sequence[]` | `getSequences(DatabaseMetaData meta, DBIdentifier catalog, DBIdentifier schemaName, DBIdentifier sequenceName, Connection conn)`
`Sequence[]` | `getSequences(DatabaseMetaData meta, String catalog, String schemaName, String sequenceName, Connection conn)` Deprecated.
`protected String` | `getSequencesSQL(DBIdentifier schemaName, DBIdentifier sequenceName)`
`protected String` | `getSequencesSQL(String schemaName, String sequenceName)` Deprecated.
`short` | `getShort(ResultSet rs, int column)` Convert the specified column of the SQL ResultSet to the proper java type.
`String` | `getString(ResultSet rs, int column)` Convert the specified column of the SQL ResultSet to the proper java type.
`boolean` | `getSupportsDelimitedIdentifiers()` Returns true if delimiting is supported
`boolean` | `getSupportsXMLColumn()`
`protected String` | `getTableNameForMetadata(DBIdentifier tableName)` Returns the table name that will be used for obtaining information from `DatabaseMetaData`.
`protected String` | `getTableNameForMetadata(String tableName)` Returns the table name that will be used for obtaining information from `DatabaseMetaData`.
`Table[]` | `getTables(DatabaseMetaData meta, DBIdentifier sqlCatalog, DBIdentifier sqlSchemaName, DBIdentifier sqlTableName, Connection conn)` Reflect on the schema to find tables matching the given name pattern.
`Table[]` | `getTables(DatabaseMetaData meta, String catalog, String schemaName, String tableName, Connection conn)` Deprecated.
`Time` | `getTime(ResultSet rs, int column, Calendar cal)` Convert the specified column of the SQL ResultSet to the proper java type.
`Timestamp` | `getTimestamp(ResultSet rs, int column, Calendar cal)` Convert the specified column of the SQL ResultSet to the proper java type.
`String` | `getTrailingDelimiter()` Returns the trailing delimiter value to use when delimiting a name.
`boolean` | `getTrimSchemaName()`
`String` | `getTypeName(Column col)` Return the preferred database type name for the given column's type from `Types`.
`String` | `getTypeName(int type)` Returns the type name for the specific constant as defined by `Types`.
`protected String` | `getUniqueConstraintSQL(Unique unq)` Return the declaration SQL for the given unique constraint.
`DBIdentifier` | `getValidColumnName(DBIdentifier name, Table table)` Make any necessary changes to the given column name to make it valid for the current DB.
`DBIdentifier` | `getValidColumnName(DBIdentifier name, Table table, boolean checkForUniqueness)` Make any necessary changes to the given column name to make it valid for the current DB.
`String` | `getValidColumnName(String name, Table table)` Deprecated.
`String` | `getValidColumnName(String name, Table table, boolean checkForUniqueness)` Deprecated.
`DBIdentifier` | `getValidForeignKeyName(DBIdentifier name, Table table, Table toTable)` Make any necessary changes to the given foreign key name to make it valid for the current DB.
`String` | `getValidForeignKeyName(String name, Table table, Table toTable)` Deprecated.
`DBIdentifier` | `getValidIndexName(DBIdentifier name, Table table)` Make any necessary changes to the given index name to make it valid for the current DB.
`String` | `getValidIndexName(String name, Table table)` Deprecated.
`String` | `getValidPrimaryKeyName(String name, Table table)` Make any necessary changes to the given primary key name to make it valid for the current DB.
`DBIdentifier` | `getValidSequenceName(DBIdentifier name, Schema schema)` Make any necessary changes to the given sequence name to make it valid for the current DB.
`String` | `getValidSequenceName(String name, Schema schema)` Deprecated.
`DBIdentifier` | `getValidTableName(DBIdentifier name, Schema schema)` Make any necessary changes to the given table name to make it valid for the current DB.
`String` | `getValidTableName(String name, Schema schema)` Deprecated.
`DBIdentifier` | `getValidUniqueName(DBIdentifier name, Table table)` Make any necessary changes to the given unique constraint name to make it valid for the current DB.
`String` | `getValidUniqueName(String name, Table table)` Deprecated.
`DBIdentifier` | `getVersionColumn(Column column, DBIdentifier tableAlias)`
`String` | `getVersionColumn(Column column, String tableAlias)` Return version column name
`protected SQLBuffer` | `getWhere(Select sel, boolean forUpdate)` Return the WHERE portion of the select statement, or null if no where conditions.
`String` | `getXMLTypeEncoding()`
`void` | `handleWarning(SQLWarning warning)` Implementation of the `LoggingConnectionDecorator.SQLWarningHandler` interface that allows customization of the actions to perform when a `SQLWarning` occurs at any point on a `Connection`, `Statement`, or `ResultSet`.
`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)`
`void` | `insertClobForStreamingLoad(Row row, Column col, Object ob)`
`protected String` | `insertSize(String typeName, String size)` Helper method that inserts a size clause for a given SQL type.
`boolean` | `isFatalException(int subtype, SQLException ex)` Determine if the given SQL Exception is fatal or recoverable (such as a timeout).
`boolean` | `isImplicitJoin()`
`boolean` | `isSelect(String sql)` Determine whether the provided `sql` may be treated as a select statement on this database.
`boolean` | `isSystemIndex(DBIdentifier name, Table table)` This method is used to filter system indexes from database metadata.
`boolean` | `isSystemIndex(String name, Table table)` Deprecated.
`boolean` | `isSystemSequence(DBIdentifier name, DBIdentifier schema, boolean targetSchema)` This method is used to filter system sequences from database metadata.
`boolean` | `isSystemSequence(DBIdentifier name, DBIdentifier schema, boolean targetSchema, Connection conn)` This method is used to filter system sequences from database metadata.
`boolean` | `isSystemSequence(String name, String schema, boolean targetSchema)` Deprecated.
`boolean` | `isSystemTable(DBIdentifier name, DBIdentifier schema, boolean targetSchema)` This method is used to filter system tables from database metadata.
`boolean` | `isSystemTable(String name, String schema, boolean targetSchema)` Deprecated.
`protected DBIdentifier` | `makeNameValid(DBIdentifier name, NameSet set, int maxLen, int nameType)` Shortens the given name to the given maximum length, then checks that it is not a reserved word.
`protected DBIdentifier` | `makeNameValid(DBIdentifier name, NameSet set, int maxLen, int nameType, boolean checkForUniqueness)` Shortens the given name to the given maximum length, then checks that it is not a reserved word.
`protected String` | `makeNameValid(String name, NameSet set, int maxLen, int nameType)` Deprecated.
`protected String` | `makeNameValid(String name, NameSet set, int maxLen, int nameType, boolean checkForUniqueness)` Shortens the given name to the given maximum length, then checks that it is not a reserved word.
`protected int` | `matchErrorState(Map<Integer,Set<String>> errorStates, SQLException ex)` Determine the more appropriate type of store exception by matching the SQL Error State of the the given SQLException to the given Error States categorized by error types.
`void` | `mathFunction(SQLBuffer buf, String op, FilterValue lhs, FilterValue rhs)` Append the numeric parts of a mathematical function.
`(package private) OpenJPAException` | `narrow(String msg, SQLException ex, Object failed)` Gets the category of StoreException by matching the given SQLException's error state code to the list of error codes supplied by the dictionary.
`boolean` | `needsToCreateIndex(Index idx, Table table)`
`boolean` | `needsToCreateIndex(Index idx, Table table, Unique[] uniques)`
`protected Column` | `newColumn(ResultSet colMeta)` Create a new column from the information in the schema metadata.
`protected ForeignKey` | `newForeignKey(ResultSet fkMeta)` Create a new foreign key from the information in the schema metadata.
`protected Index` | `newIndex(ResultSet idxMeta)` Create a new index from the information in the schema metadata.
`protected PrimaryKey` | `newPrimaryKey(ResultSet pkMeta)` Create a new primary key from the information in the schema metadata.
`protected Sequence` | `newSequence(ResultSet sequenceMeta)` Create a new sequence from the information in the schema metadata.
`OpenJPAException` | `newStoreException(String msg, SQLException[] causes, Object failed)` Return a new exception that wraps `causes`.
`protected Table` | `newTable(ResultSet tableMeta)` Create a new table from the information in the schema metadata.
`protected PreparedStatement` | `prepareStatement(Connection conn, String sql)` This method is to provide override for non-JDBC or JDBC-like implementation of preparing statement.
`void` | `putBytes(Blob blob, byte[] data)` Invoke the JDK 1.4 `setBytes` method on the given BLOB object.
`void` | `putChars(Clob clob, char[] data)` Invoke the JDK 1.4 `setCharacterStream` method on the given CLOB object.
`void` | `putString(Clob clob, String data)` Invoke the JDK 1.4 `setString` method on the given CLOB object.
`void` | `refSchemaComponents(Table table)` Increment the reference count of any table components that this dictionary adds that are not used by mappings.
`byte[]` | `serialize(Object val, JDBCStore store)` Return the serialized bytes for the given object.
`void` | `setArray(PreparedStatement stmnt, int idx, Array val, Column col)` Set the given value as a parameter to the statement.
`void` | `setAsciiStream(PreparedStatement stmnt, int idx, InputStream val, int length, Column col)` Set the given value as a parameter to the statement.
`void` | `setBatchLimit(int limit)` Set the batchLimit value
`void` | `setBigDecimal(PreparedStatement stmnt, int idx, BigDecimal val, Column col)` Set the given value as a parameter to the statement.
`void` | `setBigInteger(PreparedStatement stmnt, int idx, BigInteger val, Column col)` Set the given value as a parameter to the statement.
`void` | `setBinaryStream(PreparedStatement stmnt, int idx, InputStream val, int length, Column col)` Set the given value as a parameter to the statement.
`void` | `setBlob(PreparedStatement stmnt, int idx, Blob val, Column col)` Set the given value as a parameter to the statement.
`void` | `setBlobObject(PreparedStatement stmnt, int idx, Object val, Column col, JDBCStore store)` Set the given value as a parameter to the statement.
`void` | `setBoolean(PreparedStatement stmnt, int idx, boolean val, Column col)` Set the given value as a parameter to the statement.
`void` | `setByte(PreparedStatement stmnt, int idx, byte val, Column col)` Set the given value as a parameter to the statement.
`void` | `setBytes(PreparedStatement stmnt, int idx, byte[] val, Column col)` Set the given value as a parameter to the statement.
`void` | `setCalendar(PreparedStatement stmnt, int idx, Calendar val, Column col)` Set the given value as a parameter to the statement.
`void` | `setChar(PreparedStatement stmnt, int idx, char val, Column col)` Set the given value as a parameter to the statement.
`void` | `setCharacterStream(PreparedStatement stmnt, int idx, Reader val, int length, Column col)` Set the given value as a parameter to the statement.
`void` | `setClob(PreparedStatement stmnt, int idx, Clob val, Column col)` Set the given value as a parameter to the statement.
`void` | `setClobString(PreparedStatement stmnt, int idx, String val, Column col)` Set the given value as a parameter to the statement.
`void` | `setConfiguration(Configuration conf)` Invoked prior to setting bean properties.
`void` | `setDate(PreparedStatement stmnt, int idx, Date val, Calendar cal, Column col)` Set the given value as a parameter to the statement.
`void` | `setDate(PreparedStatement stmnt, int idx, Date val, Column col)` Set the given value as a parameter to the statement.
`void` | `setDefaultSchemaName(String defaultSchemaName)`
`protected void` | `setDelimitedCase(DatabaseMetaData metaData)`
`void` | `setDelimitIdentifiers(boolean delimitIds)`
`void` | `setDouble(PreparedStatement stmnt, int idx, double val, Column col)` Set the given value as a parameter to the statement.
`void` | `setFloat(PreparedStatement stmnt, int idx, float val, Column col)` Set the given value as a parameter to the statement.
`void` | `setInt(PreparedStatement stmnt, int idx, int val, Column col)` Set the given value as a parameter to the statement.
`void` | `setJoinSyntax(String syntax)` Set the name of the join syntax to use: sql92, traditional, database.
`void` | `setLeadingDelimiter(String delim)`
`void` | `setLocale(PreparedStatement stmnt, int idx, Locale val, Column col)` Set the given value as a parameter to the statement.
`void` | `setLong(PreparedStatement stmnt, int idx, long val, Column col)` Set the given value as a parameter to the statement.
`void` | `setNull(PreparedStatement stmnt, int idx, int colType, Column col)` Set null as a parameter to the statement.
`void` | `setNumber(PreparedStatement stmnt, int idx, Number num, Column col)` Set the given value as a parameter to the statement.
`void` | `setObject(PreparedStatement stmnt, int idx, Object val, int colType, Column col)` Set the given value as a parameter to the statement.
`void` | `setQueryTimeout(PreparedStatement stmnt, int timeout)` Provides the default validation handling of setting a query timeout.
`void` | `setRef(PreparedStatement stmnt, int idx, Ref val, Column col)` Set the given value as a parameter to the statement.
`void` | `setShort(PreparedStatement stmnt, int idx, short val, Column col)` Set the given value as a parameter to the statement.
`protected void` | `setStatementQueryTimeout(PreparedStatement stmnt, int timeout)` Allow subclasses to provide DB unique override implementations of setting query timeouts, while preserving the default timeout logic in the public setQueryTimeout method.
`void` | `setString(PreparedStatement stmnt, int idx, String val, Column col)` Set the given value as a parameter to the statement.
`void` | `setSupportsDelimitedIdentifiers(boolean supportsDelimitedIds)`
`void` | `setSupportsXMLColumn(boolean b)`
`void` | `setTime(PreparedStatement stmnt, int idx, Time val, Calendar cal, Column col)` Set the given value as a parameter to the statement.
`void` | `setTimeouts(PreparedStatement stmnt, JDBCConfiguration conf, boolean forUpdate)` FIXME - OPENJPA-957 - lockTimeout is a server-side function and shouldn't be using client-side setQueryTimeout for lock timeouts.
`void` | `setTimeouts(PreparedStatement stmnt, JDBCFetchConfiguration fetch, boolean forUpdate)` FIXME - OPENJPA-957 - lockTimeout is a server-side function and shouldn't be using client-side setQueryTimeout for lock timeouts.
`void` | `setTimestamp(PreparedStatement stmnt, int idx, Timestamp val, Calendar cal, Column col)` Set the given value as a parameter to the statement.
`void` | `setTrailingDelimiter(String delim)`
`void` | `setTrimSchemaName(boolean trimSchemaName)`
`void` | `setTyped(PreparedStatement stmnt, int idx, Object val, Column col, int type, JDBCStore store)` Set a column value into a prepared statement.
`void` | `setUnknown(PreparedStatement stmnt, int idx, Column col, Object val)` Set a completely unknown parameter into a prepared statement.
`void` | `setUnknown(PreparedStatement stmt, int idx, Object val, Column col)` Set a completely unknown parameter into a prepared statement.
`void` | `setXMLTypeEncoding(String encoding)`
`static String` | `shorten(String name, int targetLength)` Shorten the specified name to the specified target name.
`void` | `startConfiguration()` Invoked before bean property configuration is begun on this object.
`protected void` | `storageWarning(Object orig, Object converted)` Warn that a particular value could not be stored precisely.
`void` | `substring(SQLBuffer buf, FilterValue str, FilterValue start, FilterValue length)` Invoke this database's substring function.
`protected boolean` | `supportsDeferredForeignKeyConstraints()` Whether or not this dictionary supports deferred foreign key constraints.
`protected boolean` | `supportsDeferredUniqueConstraints()` Whether or not this dictionary supports deferred unique constraints.
`boolean` | `supportsDeleteAction(int action)` Whether this database supports the given foreign key delete action.
`boolean` | `supportsIsolationForUpdate()` Return true if the dictionary uses isolation level to compute the returned getForUpdateClause() SQL clause.
`boolean` | `supportsLocking(Select sel)` Returns true if a "FOR UPDATE" clause can be used for the specified Select object.
`boolean` | `supportsRandomAccessResultSet(Select sel, boolean forUpdate)` Return false if the given select requires a forward-only result set.
`boolean` | `supportsUpdateAction(int action)` Whether this database supports the given foreign key update action.
`protected SQLBuffer` | `toBulkOperation(ClassMapping mapping, Select sel, JDBCStore store, Object[] params, Map updateParams)` Returns the SQL for a bulk operation, either a DELETE or an UPDATE.
`String` | `toDBName(DBIdentifier name)`
`String` | `toDBName(DBIdentifier name, boolean delimit)`
`SQLBuffer` | `toDelete(ClassMapping mapping, Select sel, Object[] params)` Create a DELETE statement for the specified Select.
`(package private) long` | `toLong(FilterValue litValue)`
`SQLBuffer` | `toNativeJoin(Join join)` Use the given join instance to create SQL joining its tables in the database's native syntax.
`SQLBuffer` | `toOperation(String op, SQLBuffer selects, SQLBuffer from, SQLBuffer where, SQLBuffer group, SQLBuffer having, SQLBuffer order, boolean distinct, long start, long end, String forUpdateClause)` Return the SQL for the given selecting operation.
`SQLBuffer` | `toOperation(String op, SQLBuffer selects, SQLBuffer from, SQLBuffer where, SQLBuffer group, SQLBuffer having, SQLBuffer order, boolean distinct, long start, long end, String forUpdateClause, boolean subselect)` Return the SQL for the given selecting operation.
`SQLBuffer` | `toSelect(Select sel, boolean forUpdate, JDBCFetchConfiguration fetch)` Create a SELECT statement in the proper join syntax for the given instance.
`SQLBuffer` | `toSelect(SQLBuffer selects, JDBCFetchConfiguration fetch, SQLBuffer from, SQLBuffer where, SQLBuffer group, SQLBuffer having, SQLBuffer order, boolean distinct, boolean forUpdate, long start, long end)` Combine the given components into a SELECT statement.
`SQLBuffer` | `toSelect(SQLBuffer selects, JDBCFetchConfiguration fetch, SQLBuffer from, SQLBuffer where, SQLBuffer group, SQLBuffer having, SQLBuffer order, boolean distinct, boolean forUpdate, long start, long end, boolean subselect, boolean checkTableForUpdate)`
`protected SQLBuffer` | `toSelect(SQLBuffer selects, JDBCFetchConfiguration fetch, SQLBuffer from, SQLBuffer where, SQLBuffer group, SQLBuffer having, SQLBuffer order, boolean distinct, boolean forUpdate, long start, long end, boolean subselect, Select sel)` Combine the given components into a SELECT statement.
`protected SQLBuffer` | `toSelect(SQLBuffer selects, JDBCFetchConfiguration fetch, SQLBuffer from, SQLBuffer where, SQLBuffer group, SQLBuffer having, SQLBuffer order, boolean distinct, boolean forUpdate, long start, long end, Select sel)` Combine the given components into a SELECT statement.
`SQLBuffer` | `toSelectCount(Select sel)` Create a SELECT COUNT statement in the proper join syntax for the given instance.
`SQLBuffer` | `toSQL92Join(Select sel, Join join, boolean forUpdate, boolean first)` Use the given join instance to create SQL joining its tables in the SQL92 style.
`SQLBuffer` | `toTraditionalJoin(Join join)` Use the given join instance to create SQL joining its tables in the traditional style.
`SQLBuffer` | `toUpdate(ClassMapping mapping, Select sel, JDBCStore store, Object[] params, Map updates)`
`void` | `updateBlob(Select sel, JDBCStore store, InputStream is)`
`void` | `updateClob(Select sel, JDBCStore store, Reader reader)`
`boolean` | `validateBatchProcess(RowImpl row, Column[] autoAssign, OpenJPAStateManager sm, ClassMapping cmd)` Validate the batch process.
`boolean` | `validateDBSpecificBatchProcess(boolean disableBatch, RowImpl row, Column[] autoAssign, OpenJPAStateManager sm, ClassMapping cmd)` Allow each Dictionary to validate its own batch process.

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

Field Detail

### VENDOR_OTHER

    public static final String VENDOR_OTHER

See Also:
  Constant Field Values

### VENDOR_DATADIRECT

    public static final String VENDOR_DATADIRECT

See Also:
  Constant Field Values

### SCHEMA_CASE_UPPER

    public static final String SCHEMA_CASE_UPPER

See Also:
  Constant Field Values

### SCHEMA_CASE_LOWER

    public static final String SCHEMA_CASE_LOWER

See Also:
  Constant Field Values

### SCHEMA_CASE_PRESERVE

    public static final String SCHEMA_CASE_PRESERVE

See Also:
  Constant Field Values

### CONS_NAME_BEFORE

    public static final String CONS_NAME_BEFORE

See Also:
  Constant Field Values

### CONS_NAME_MID

    public static final String CONS_NAME_MID

See Also:
  Constant Field Values

### CONS_NAME_AFTER

    public static final String CONS_NAME_AFTER

See Also:
  Constant Field Values

### blobBufferSize

    public int blobBufferSize

### clobBufferSize

    public int clobBufferSize

### RANGE_POST_SELECT

    protected static final int RANGE_POST_SELECT

See Also:
  Constant Field Values

### RANGE_PRE_DISTINCT

    protected static final int RANGE_PRE_DISTINCT

See Also:
  Constant Field Values

### RANGE_POST_DISTINCT

    protected static final int RANGE_POST_DISTINCT

See Also:
  Constant Field Values

### RANGE_POST_LOCK

    protected static final int RANGE_POST_LOCK

See Also:
  Constant Field Values

### NANO

    protected static final int NANO

See Also:
  Constant Field Values

### MICRO

    protected static final int MICRO

See Also:
  Constant Field Values

### MILLI

    protected static final int MILLI

See Also:
  Constant Field Values

### CENTI

    protected static final int CENTI

See Also:
  Constant Field Values

### DECI

    protected static final int DECI

See Also:
  Constant Field Values

### SEC

    protected static final int SEC

See Also:
  Constant Field Values

### NAME_ANY

    protected static final int NAME_ANY

See Also:
  Constant Field Values

### NAME_TABLE

    protected static final int NAME_TABLE

See Also:
  Constant Field Values

### NAME_SEQUENCE

    protected static final int NAME_SEQUENCE

See Also:
  Constant Field Values

### UNLIMITED

    protected static final int UNLIMITED

See Also:
  Constant Field Values

### NO_BATCH

    protected static final int NO_BATCH

See Also:
  Constant Field Values

### platform

    public String platform

### driverVendor

    public String driverVendor

### createPrimaryKeys

    public boolean createPrimaryKeys

### constraintNameMode

    public String constraintNameMode

### maxTableNameLength

    public int maxTableNameLength

### maxColumnNameLength

    public int maxColumnNameLength

### maxConstraintNameLength

    public int maxConstraintNameLength

### maxIndexNameLength

    public int maxIndexNameLength

### maxIndexesPerTable

    public int maxIndexesPerTable

### supportsForeignKeys

    public boolean supportsForeignKeys

### supportsParameterInSelect

    public boolean supportsParameterInSelect

### supportsForeignKeysComposite

    public boolean supportsForeignKeysComposite

### supportsUniqueConstraints

    public boolean supportsUniqueConstraints

### supportsDeferredConstraints

    public boolean supportsDeferredConstraints

### supportsRestrictDeleteAction

    public boolean supportsRestrictDeleteAction

### supportsCascadeDeleteAction

    public boolean supportsCascadeDeleteAction

### supportsNullDeleteAction

    public boolean supportsNullDeleteAction

### supportsNullUniqueColumn

    public boolean supportsNullUniqueColumn

### supportsDefaultDeleteAction

    public boolean supportsDefaultDeleteAction

### supportsRestrictUpdateAction

    public boolean supportsRestrictUpdateAction

### supportsCascadeUpdateAction

    public boolean supportsCascadeUpdateAction

### supportsNullUpdateAction

    public boolean supportsNullUpdateAction

### supportsDefaultUpdateAction

    public boolean supportsDefaultUpdateAction

### supportsAlterTableWithAddColumn

    public boolean supportsAlterTableWithAddColumn

### supportsAlterTableWithDropColumn

    public boolean supportsAlterTableWithDropColumn

### supportsComments

    public boolean supportsComments

### supportsGetGeneratedKeys

    public Boolean supportsGetGeneratedKeys

### reservedWords

    public String reservedWords

### systemSchemas

    public String systemSchemas

### systemTables

    public String systemTables

### selectWords

    public String selectWords

### fixedSizeTypeNames

    public String fixedSizeTypeNames

### schemaCase

    public String schemaCase

### setStringRightTruncationOn

    public boolean setStringRightTruncationOn

### validationSQL

    public String validationSQL

### closePoolSQL

    public String closePoolSQL

### initializationSQL

    public String initializationSQL

### joinSyntax

    public int joinSyntax

### outerJoinClause

    public String outerJoinClause

### innerJoinClause

    public String innerJoinClause

### crossJoinClause

    public String crossJoinClause

### requiresConditionForCrossJoin

    public boolean requiresConditionForCrossJoin

### forUpdateClause

    public String forUpdateClause

### tableForUpdateClause

    public String tableForUpdateClause

### distinctCountColumnSeparator

    public String distinctCountColumnSeparator

### supportsSelectForUpdate

    public boolean supportsSelectForUpdate

### supportsLockingWithDistinctClause

    public boolean supportsLockingWithDistinctClause

### supportsLockingWithMultipleTables

    public boolean supportsLockingWithMultipleTables

### supportsLockingWithOrderClause

    public boolean supportsLockingWithOrderClause

### supportsLockingWithOuterJoin

    public boolean supportsLockingWithOuterJoin

### supportsLockingWithInnerJoin

    public boolean supportsLockingWithInnerJoin

### supportsLockingWithSelectRange

    public boolean supportsLockingWithSelectRange

### supportsQueryTimeout

    public boolean supportsQueryTimeout

### simulateLocking

    public boolean simulateLocking

### supportsSubselect

    public boolean supportsSubselect

### supportsCorrelatedSubselect

    public boolean supportsCorrelatedSubselect

### supportsHaving

    public boolean supportsHaving

### supportsSelectStartIndex

    public boolean supportsSelectStartIndex

### supportsSelectEndIndex

    public boolean supportsSelectEndIndex

### rangePosition

    public int rangePosition

### requiresAliasForSubselect

    public boolean requiresAliasForSubselect

### requiresTargetForDelete

    public boolean requiresTargetForDelete

### allowsAliasInBulkClause

    public boolean allowsAliasInBulkClause

### supportsMultipleNontransactionalResultSets

    public boolean supportsMultipleNontransactionalResultSets

### requiresSearchStringEscapeForLike

    public boolean requiresSearchStringEscapeForLike

### searchStringEscape

    public String searchStringEscape

### requiresCastForMathFunctions

    public boolean requiresCastForMathFunctions

### requiresCastForComparisons

    public boolean requiresCastForComparisons

### supportsModOperator

    public boolean supportsModOperator

### supportsXMLColumn

    public boolean supportsXMLColumn

### supportsCaseConversionForLob

    public boolean supportsCaseConversionForLob

### reportsSuccessNoInfoOnBatchUpdates

    public boolean reportsSuccessNoInfoOnBatchUpdates

### supportsSelectFromFinalTable

    public boolean supportsSelectFromFinalTable

### supportsSimpleCaseExpression

    public boolean supportsSimpleCaseExpression

### supportsGeneralCaseExpression

    public boolean supportsGeneralCaseExpression

### useWildCardForCount

    public boolean useWildCardForCount

### trimSchemaName

    public boolean trimSchemaName

  Some Databases append whitespace after the schema name

### castFunction

    public String castFunction

### toLowerCaseFunction

    public String toLowerCaseFunction

### toUpperCaseFunction

    public String toUpperCaseFunction

### stringLengthFunction

    public String stringLengthFunction

### bitLengthFunction

    public String bitLengthFunction

### trimLeadingFunction

    public String trimLeadingFunction

### trimTrailingFunction

    public String trimTrailingFunction

### trimBothFunction

    public String trimBothFunction

### concatenateFunction

    public String concatenateFunction

### concatenateDelimiter

    public String concatenateDelimiter

### substringFunctionName

    public String substringFunctionName

### currentDateFunction

    public String currentDateFunction

### currentTimeFunction

    public String currentTimeFunction

### currentTimestampFunction

    public String currentTimestampFunction

### dropTableSQL

    public String dropTableSQL

### storageLimitationsFatal

    public boolean storageLimitationsFatal

### storeLargeNumbersAsStrings

    public boolean storeLargeNumbersAsStrings

### storeCharsAsNumbers

    public boolean storeCharsAsNumbers

### trimStringColumns

    public boolean trimStringColumns

### useGetBytesForBlobs

    public boolean useGetBytesForBlobs

### useSetBytesForBlobs

    public boolean useSetBytesForBlobs

### useGetObjectForBlobs

    public boolean useGetObjectForBlobs

### useGetStringForClobs

    public boolean useGetStringForClobs

### useSetStringForClobs

    public boolean useSetStringForClobs

### useJDBC4SetBinaryStream

    public boolean useJDBC4SetBinaryStream

### maxEmbeddedBlobSize

    public int maxEmbeddedBlobSize

### maxEmbeddedClobSize

    public int maxEmbeddedClobSize

### inClauseLimit

    public int inClauseLimit

### datePrecision

    public int datePrecision

### roundTimeToMillisec

    public boolean roundTimeToMillisec

### characterColumnSize

    public int characterColumnSize

### arrayTypeName

    public String arrayTypeName

### bigintTypeName

    public String bigintTypeName

### binaryTypeName

    public String binaryTypeName

### bitTypeName

    public String bitTypeName

### blobTypeName

    public String blobTypeName

### booleanTypeName

    public String booleanTypeName

### charTypeName

    public String charTypeName

### clobTypeName

    public String clobTypeName

### dateTypeName

    public String dateTypeName

### decimalTypeName

    public String decimalTypeName

### distinctTypeName

    public String distinctTypeName

### doubleTypeName

    public String doubleTypeName

### floatTypeName

    public String floatTypeName

### integerTypeName

    public String integerTypeName

### javaObjectTypeName

    public String javaObjectTypeName

### longVarbinaryTypeName

    public String longVarbinaryTypeName

### longVarcharTypeName

    public String longVarcharTypeName

### nullTypeName

    public String nullTypeName

### numericTypeName

    public String numericTypeName

### otherTypeName

    public String otherTypeName

### realTypeName

    public String realTypeName

### refTypeName

    public String refTypeName

### smallintTypeName

    public String smallintTypeName

### structTypeName

    public String structTypeName

### timeTypeName

    public String timeTypeName

### timestampTypeName

    public String timestampTypeName

### tinyintTypeName

    public String tinyintTypeName

### varbinaryTypeName

    public String varbinaryTypeName

### varcharTypeName

    public String varcharTypeName

### xmlTypeName

    public String xmlTypeName

### xmlTypeEncoding

    public String xmlTypeEncoding

### getStringVal

    public String getStringVal

### useSchemaName

    public boolean useSchemaName

### tableTypes

    public String tableTypes

### supportsSchemaForGetTables

    public boolean supportsSchemaForGetTables

### supportsSchemaForGetColumns

    public boolean supportsSchemaForGetColumns

### supportsNullTableForGetColumns

    public boolean supportsNullTableForGetColumns

### supportsNullTableForGetPrimaryKeys

    public boolean supportsNullTableForGetPrimaryKeys

### supportsNullTableForGetIndexInfo

    public boolean supportsNullTableForGetIndexInfo

### supportsNullTableForGetImportedKeys

    public boolean supportsNullTableForGetImportedKeys

### useGetBestRowIdentifierForPrimaryKeys

    public boolean useGetBestRowIdentifierForPrimaryKeys

### requiresAutoCommitForMetaData

    public boolean requiresAutoCommitForMetaData

### tableLengthIncludesSchema

    public boolean tableLengthIncludesSchema

### maxAutoAssignNameLength

    public int maxAutoAssignNameLength

### autoAssignClause

    public String autoAssignClause

### autoAssignTypeName

    public String autoAssignTypeName

### supportsAutoAssign

    public boolean supportsAutoAssign

### lastGeneratedKeyQuery

    public String lastGeneratedKeyQuery

### nextSequenceQuery

    public String nextSequenceQuery

### sequenceSQL

    public String sequenceSQL

### sequenceSchemaSQL

    public String sequenceSchemaSQL

### sequenceNameSQL

    public String sequenceNameSQL

### nativeSequenceType

    public int nativeSequenceType

### useNativeSequenceCache

    @Deprecated
    public boolean useNativeSequenceCache

  Deprecated.
  This variable was used in 2.1.x and prior releases to indicate that OpenJPA should not use the CACHE clause when getting a native sequence; instead the INCREMENT BY clause gets its value equal to the allocationSize property. Post 2.1.x, code was added to allow said functionality by default (see OPENJPA-1376). For forward compatibility, this variable should not be removed.

### conf

    protected JDBCConfiguration conf

### log

    protected Log log

### connected

    protected boolean connected

### isJDBC3

    protected boolean isJDBC3

### isJDBC4

    protected boolean isJDBC4

### reservedWordSet

    protected final Set<String> reservedWordSet

### invalidColumnWordSet

    protected Set<String> invalidColumnWordSet

### systemSchemaSet

    protected final Set<String> systemSchemaSet

### systemTableSet

    protected final Set<String> systemTableSet

### fixedSizeTypeNameSet

    protected final Set<String> fixedSizeTypeNameSet

### typeModifierSet

    protected final Set<String> typeModifierSet

### supportsDelimitedIdentifiers

    public Boolean supportsDelimitedIdentifiers

### leadingDelimiter

    public String leadingDelimiter

### trailingDelimiter

    public String trailingDelimiter

### nameConcatenator

    public String nameConcatenator

### delimitedCase

    public String delimitedCase

### catalogSeparator

    public String catalogSeparator

### defaultSchemaName

    protected String defaultSchemaName

### selectWordSet

    protected final Set selectWordSet

  If a native query begins with any of the values found here then it will be treated as a select statement.

### batchLimit

    public int batchLimit

### sqlStateCodes

    public final Map<Integer,Set<String>> sqlStateCodes

### _proxyManager

    protected ProxyManager _proxyManager

Constructor Detail

### DBDictionary

    public DBDictionary()

Method Detail

### connectedConfiguration

    public void connectedConfiguration(Connection conn)
                                throws SQLException

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

  Throws:
    `SQLException`

### configureNamingRules

    protected void configureNamingRules()

  Configures the naming rules for this dictionary. Subclasses should override this method, providing their own naming rules.

### getArray

    public Array getArray(ResultSet rs,
                          int column)
                   throws SQLException

  Convert the specified column of the SQL ResultSet to the proper java type.

  Throws:
    `SQLException`

### getAsciiStream

    public InputStream getAsciiStream(ResultSet rs,
                                      int column)
                               throws SQLException

  Convert the specified column of the SQL ResultSet to the proper java type.

  Throws:
    `SQLException`

### getBigDecimal

    public BigDecimal getBigDecimal(ResultSet rs,
                                    int column)
                             throws SQLException

  Convert the specified column of the SQL ResultSet to the proper java type.

  Throws:
    `SQLException`

### getNumber

    public Number getNumber(ResultSet rs,
                            int column)
                     throws SQLException

  Returns the specified column value as an unknown numeric type; we try from the most generic to the least generic.

  Throws:
    `SQLException`

### getBigInteger

    public BigInteger getBigInteger(ResultSet rs,
                                    int column)
                             throws SQLException

  Convert the specified column of the SQL ResultSet to the proper java type.

  Throws:
    `SQLException`

### getBinaryStream

    public InputStream getBinaryStream(ResultSet rs,
                                       int column)
                                throws SQLException

  Convert the specified column of the SQL ResultSet to the proper java type.

  Throws:
    `SQLException`

### getLOBStream

    public InputStream getLOBStream(JDBCStore store,
                                    ResultSet rs,
                                    int column)
                             throws SQLException

  Throws:
    `SQLException`

### getBlob

    public Blob getBlob(ResultSet rs,
                        int column)
                 throws SQLException

  Convert the specified column of the SQL ResultSet to the proper java type.

  Throws:
    `SQLException`

### getBlobObject

    public Object getBlobObject(ResultSet rs,
                                int column,
                                JDBCStore store)
                         throws SQLException

  Convert the specified column of the SQL ResultSet to the proper java type.

  Throws:
    `SQLException`

### getBoolean

    public boolean getBoolean(ResultSet rs,
                              int column)
                       throws SQLException

  Convert the specified column of the SQL ResultSet to the proper java type.

  Throws:
    `SQLException`

### getByte

    public byte getByte(ResultSet rs,
                        int column)
                 throws SQLException

  Convert the specified column of the SQL ResultSet to the proper java type.

  Throws:
    `SQLException`

### getBytes

    public byte[] getBytes(ResultSet rs,
                           int column)
                    throws SQLException

  Convert the specified column of the SQL ResultSet to the proper java type.

  Throws:
    `SQLException`

### getCalendar

    public Calendar getCalendar(ResultSet rs,
                                int column)
                         throws SQLException

  Convert the specified column of the SQL ResultSet to the proper java type. Converts the date from a `Timestamp` by default.

  Throws:
    `SQLException`

### getChar

    public char getChar(ResultSet rs,
                        int column)
                 throws SQLException

  Convert the specified column of the SQL ResultSet to the proper java type.

  Throws:
    `SQLException`

### getCharacterStream

    public Reader getCharacterStream(ResultSet rs,
                                     int column)
                              throws SQLException

  Convert the specified column of the SQL ResultSet to the proper java type.

  Throws:
    `SQLException`

### getClob

    public Clob getClob(ResultSet rs,
                        int column)
                 throws SQLException

  Convert the specified column of the SQL ResultSet to the proper java type.

  Throws:
    `SQLException`

### getClobString

    public String getClobString(ResultSet rs,
                                int column)
                         throws SQLException

  Convert the specified column of the SQL ResultSet to the proper java type.

  Throws:
    `SQLException`

### getDate

    public Date getDate(ResultSet rs,
                        int column)
                 throws SQLException

  Convert the specified column of the SQL ResultSet to the proper java type. Converts the date from a `Timestamp` by default.

  Throws:
    `SQLException`

### getDate

    public Date getDate(ResultSet rs,
                        int column,
                        Calendar cal)
                 throws SQLException

  Convert the specified column of the SQL ResultSet to the proper java type.

  Throws:
    `SQLException`

### getDouble

    public double getDouble(ResultSet rs,
                            int column)
                     throws SQLException

  Convert the specified column of the SQL ResultSet to the proper java type.

  Throws:
    `SQLException`

### getFloat

    public float getFloat(ResultSet rs,
                          int column)
                   throws SQLException

  Convert the specified column of the SQL ResultSet to the proper java type.

  Throws:
    `SQLException`

### getInt

    public int getInt(ResultSet rs,
                      int column)
               throws SQLException

  Convert the specified column of the SQL ResultSet to the proper java type.

  Throws:
    `SQLException`

### getLocale

    public Locale getLocale(ResultSet rs,
                            int column)
                     throws SQLException

  Convert the specified column of the SQL ResultSet to the proper java type.

  Throws:
    `SQLException`

### getLong

    public long getLong(ResultSet rs,
                        int column)
                 throws SQLException

  Convert the specified column of the SQL ResultSet to the proper java type.

  Throws:
    `SQLException`

### getObject

    public Object getObject(ResultSet rs,
                            int column,
                            Map map)
                     throws SQLException

  Convert the specified column of the SQL ResultSet to the proper java type.

  Throws:
    `SQLException`

### getRef

    public Ref getRef(ResultSet rs,
                      int column,
                      Map map)
               throws SQLException

  Convert the specified column of the SQL ResultSet to the proper java type.

  Throws:
    `SQLException`

### getShort

    public short getShort(ResultSet rs,
                          int column)
                   throws SQLException

  Convert the specified column of the SQL ResultSet to the proper java type.

  Throws:
    `SQLException`

### getString

    public String getString(ResultSet rs,
                            int column)
                     throws SQLException

  Convert the specified column of the SQL ResultSet to the proper java type.

  Throws:
    `SQLException`

### getTime

    public Time getTime(ResultSet rs,
                        int column,
                        Calendar cal)
                 throws SQLException

  Convert the specified column of the SQL ResultSet to the proper java type.

  Throws:
    `SQLException`

### getTimestamp

    public Timestamp getTimestamp(ResultSet rs,
                                  int column,
                                  Calendar cal)
                           throws SQLException

  Convert the specified column of the SQL ResultSet to the proper java type.

  Throws:
    `SQLException`

### setArray

    public void setArray(PreparedStatement stmnt,
                         int idx,
                         Array val,
                         Column col)
                  throws SQLException

  Set the given value as a parameter to the statement.

  Throws:
    `SQLException`

### setAsciiStream

    public void setAsciiStream(PreparedStatement stmnt,
                               int idx,
                               InputStream val,
                               int length,
                               Column col)
                        throws SQLException

  Set the given value as a parameter to the statement.

  Throws:
    `SQLException`

### setBigDecimal

    public void setBigDecimal(PreparedStatement stmnt,
                              int idx,
                              BigDecimal val,
                              Column col)
                       throws SQLException

  Set the given value as a parameter to the statement.

  Throws:
    `SQLException`

### setBigInteger

    public void setBigInteger(PreparedStatement stmnt,
                              int idx,
                              BigInteger val,
                              Column col)
                       throws SQLException

  Set the given value as a parameter to the statement.

  Throws:
    `SQLException`

### setBinaryStream

    public void setBinaryStream(PreparedStatement stmnt,
                                int idx,
                                InputStream val,
                                int length,
                                Column col)
                         throws SQLException

  Set the given value as a parameter to the statement.

  Throws:
    `SQLException`

### setBlob

    public void setBlob(PreparedStatement stmnt,
                        int idx,
                        Blob val,
                        Column col)
                 throws SQLException

  Set the given value as a parameter to the statement.

  Throws:
    `SQLException`

### setBlobObject

    public void setBlobObject(PreparedStatement stmnt,
                              int idx,
                              Object val,
                              Column col,
                              JDBCStore store)
                       throws SQLException

  Set the given value as a parameter to the statement. Uses the `serialize(java.lang.Object, org.apache.openjpa.jdbc.kernel.JDBCStore)` method to serialize the value.

  Throws:
    `SQLException`

### setBoolean

    public void setBoolean(PreparedStatement stmnt,
                           int idx,
                           boolean val,
                           Column col)
                    throws SQLException

  Set the given value as a parameter to the statement.

  Throws:
    `SQLException`

### setByte

    public void setByte(PreparedStatement stmnt,
                        int idx,
                        byte val,
                        Column col)
                 throws SQLException

  Set the given value as a parameter to the statement.

  Throws:
    `SQLException`

### setBytes

    public void setBytes(PreparedStatement stmnt,
                         int idx,
                         byte[] val,
                         Column col)
                  throws SQLException

  Set the given value as a parameter to the statement.

  Throws:
    `SQLException`

### setChar

    public void setChar(PreparedStatement stmnt,
                        int idx,
                        char val,
                        Column col)
                 throws SQLException

  Set the given value as a parameter to the statement.

  Throws:
    `SQLException`

### setCharacterStream

    public void setCharacterStream(PreparedStatement stmnt,
                                   int idx,
                                   Reader val,
                                   int length,
                                   Column col)
                            throws SQLException

  Set the given value as a parameter to the statement.

  Throws:
    `SQLException`

### setClob

    public void setClob(PreparedStatement stmnt,
                        int idx,
                        Clob val,
                        Column col)
                 throws SQLException

  Set the given value as a parameter to the statement.

  Throws:
    `SQLException`

### setClobString

    public void setClobString(PreparedStatement stmnt,
                              int idx,
                              String val,
                              Column col)
                       throws SQLException

  Set the given value as a parameter to the statement.

  Throws:
    `SQLException`

### setDate

    public void setDate(PreparedStatement stmnt,
                        int idx,
                        Date val,
                        Column col)
                 throws SQLException

  Set the given value as a parameter to the statement.

  Throws:
    `SQLException`

### setDate

    public void setDate(PreparedStatement stmnt,
                        int idx,
                        Date val,
                        Calendar cal,
                        Column col)
                 throws SQLException

  Set the given value as a parameter to the statement.

  Throws:
    `SQLException`

### setCalendar

    public void setCalendar(PreparedStatement stmnt,
                            int idx,
                            Calendar val,
                            Column col)
                     throws SQLException

  Set the given value as a parameter to the statement.

  Throws:
    `SQLException`

### setDouble

    public void setDouble(PreparedStatement stmnt,
                          int idx,
                          double val,
                          Column col)
                   throws SQLException

  Set the given value as a parameter to the statement.

  Throws:
    `SQLException`

### setFloat

    public void setFloat(PreparedStatement stmnt,
                         int idx,
                         float val,
                         Column col)
                  throws SQLException

  Set the given value as a parameter to the statement.

  Throws:
    `SQLException`

### setInt

    public void setInt(PreparedStatement stmnt,
                       int idx,
                       int val,
                       Column col)
                throws SQLException

  Set the given value as a parameter to the statement.

  Throws:
    `SQLException`

### setLong

    public void setLong(PreparedStatement stmnt,
                        int idx,
                        long val,
                        Column col)
                 throws SQLException

  Set the given value as a parameter to the statement.

  Throws:
    `SQLException`

### setLocale

    public void setLocale(PreparedStatement stmnt,
                          int idx,
                          Locale val,
                          Column col)
                   throws SQLException

  Set the given value as a parameter to the statement.

  Throws:
    `SQLException`

### setNull

    public void setNull(PreparedStatement stmnt,
                        int idx,
                        int colType,
                        Column col)
                 throws SQLException

  Set null as a parameter to the statement. The column type will come from `Types`.

  Throws:
    `SQLException`

### setNumber

    public void setNumber(PreparedStatement stmnt,
                          int idx,
                          Number num,
                          Column col)
                   throws SQLException

  Set the given value as a parameter to the statement.

  Throws:
    `SQLException`

### setObject

    public void setObject(PreparedStatement stmnt,
                          int idx,
                          Object val,
                          int colType,
                          Column col)
                   throws SQLException

  Set the given value as a parameter to the statement. The column type will come from `Types`.

  Throws:
    `SQLException`

### setRef

    public void setRef(PreparedStatement stmnt,
                       int idx,
                       Ref val,
                       Column col)
                throws SQLException

  Set the given value as a parameter to the statement.

  Throws:
    `SQLException`

### setShort

    public void setShort(PreparedStatement stmnt,
                         int idx,
                         short val,
                         Column col)
                  throws SQLException

  Set the given value as a parameter to the statement.

  Throws:
    `SQLException`

### setString

    public void setString(PreparedStatement stmnt,
                          int idx,
                          String val,
                          Column col)
                   throws SQLException

  Set the given value as a parameter to the statement.

  Throws:
    `SQLException`

### setTime

    public void setTime(PreparedStatement stmnt,
                        int idx,
                        Time val,
                        Calendar cal,
                        Column col)
                 throws SQLException

  Set the given value as a parameter to the statement.

  Throws:
    `SQLException`

### setTimestamp

    public void setTimestamp(PreparedStatement stmnt,
                             int idx,
                             Timestamp val,
                             Calendar cal,
                             Column col)
                      throws SQLException

  Set the given value as a parameter to the statement.

  Throws:
    `SQLException`

### setTyped

    public void setTyped(PreparedStatement stmnt,
                         int idx,
                         Object val,
                         Column col,
                         int type,
                         JDBCStore store)
                  throws SQLException

  Set a column value into a prepared statement.

  Parameters:
    `stmnt` - the prepared statement to parameterize
    `idx` - the index of the parameter in the prepared statement
    `val` - the value of the column
    `col` - the column being set
    `type` - the field mapping type code for the value
    `store` - the store manager for the current context
  Throws:
    `SQLException`

### setUnknown

    public void setUnknown(PreparedStatement stmt,
                           int idx,
                           Object val,
                           Column col)
                    throws SQLException

  Set a completely unknown parameter into a prepared statement.

  Throws:
    `SQLException`

### setUnknown

    public void setUnknown(PreparedStatement stmnt,
                           int idx,
                           Column col,
                           Object val)
                    throws SQLException

  Set a completely unknown parameter into a prepared statement.

  Throws:
    `SQLException`

### serialize

    public byte[] serialize(Object val,
                            JDBCStore store)
                     throws SQLException

  Return the serialized bytes for the given object.

  Throws:
    `SQLException`

### putBytes

    public void putBytes(Blob blob,
                         byte[] data)
                  throws SQLException

  Invoke the JDK 1.4 `setBytes` method on the given BLOB object.

  Throws:
    `SQLException`

### putString

    public void putString(Clob clob,
                          String data)
                   throws SQLException

  Invoke the JDK 1.4 `setString` method on the given CLOB object.

  Throws:
    `SQLException`

### putChars

    public void putChars(Clob clob,
                         char[] data)
                  throws SQLException

  Invoke the JDK 1.4 `setCharacterStream` method on the given CLOB object.

  Throws:
    `SQLException`

### storageWarning

    protected void storageWarning(Object orig,
                                  Object converted)

  Warn that a particular value could not be stored precisely. After the first warning for a particular type, messages will be turned into trace messages.

### getJDBCType

    public int getJDBCType(int metaTypeCode,
                           boolean lob)

  Return the preferred `Types` constant for the given `JavaTypes` or `JavaSQLTypes` constant.

### getJDBCType

    public int getJDBCType(int metaTypeCode,
                           boolean lob,
                           int precis,
                           int scale,
                           boolean xml)

  Return the preferred `Types` constant for the given `JavaTypes` or `JavaSQLTypes` constant.

### getJDBCType

    public int getJDBCType(int metaTypeCode,
                           boolean lob,
                           int precis,
                           int scale)

  Return the preferred `Types` constant for the given `JavaTypes` or `JavaSQLTypes` constant.

### getPreferredType

    public int getPreferredType(int type)

  Return the preferred `Types` type for the given one. Returns the given type by default.

### getTypeName

    public String getTypeName(Column col)

  Return the preferred database type name for the given column's type from `Types`.

### getTypeName

    public String getTypeName(int type)

  Returns the type name for the specific constant as defined by `Types`.

  Parameters:
    `type` - the type
  Returns:
    the name for the type

### appendSize

    protected String appendSize(Column col,
                                String typeName)

  Helper method to add size properties to the specified type. If present, the string "{0}" will be replaced with the size definition; otherwise the size definition will be appended to the type name. If your database has column types that don't allow size definitions, override this method to return the unaltered type name for columns of those types (or add the type names to the `fixedSizeTypeNameSet`).

  Some databases support "type modifiers", for example the unsigned "modifier" in MySQL. In these cases the size should go between the type and the "modifier", instead of after the modifier. For example CREATE table FOO ( myint INT (10) UNSIGNED . . .) instead of CREATE table FOO ( myint INT UNSIGNED (10) . . .). Type modifiers should be added to `typeModifierSet` in subclasses.

### insertSize

    protected String insertSize(String typeName,
                                String size)

  Helper method that inserts a size clause for a given SQL type.

  Parameters:
    `typeName` - The SQL type e.g. INT
    `size` - The size clause e.g. (10)
  Returns:
    The typeName + size clause. Usually the size clause will be appended to typeName. If the typeName contains a marker : {0} or if typeName contains a modifier the size clause will be inserted appropriately.
  See Also:
    `appendSize`

### setJoinSyntax

    public void setJoinSyntax(String syntax)

  Set the name of the join syntax to use: sql92, traditional, database.

### isImplicitJoin

    public boolean isImplicitJoin()

### getPlaceholderValueString

    public String getPlaceholderValueString(Column col)

  Return a SQL string to act as a placeholder for the given column.

### toSelectCount

    public SQLBuffer toSelectCount(Select sel)

  Create a SELECT COUNT statement in the proper join syntax for the given instance.

### toDelete

    public SQLBuffer toDelete(ClassMapping mapping,
                              Select sel,
                              Object[] params)

  Create a DELETE statement for the specified Select. If the database does not support the bulk delete statement (such as cases where a subselect is required and the database doesn't support subselects), this method should return null.

### toUpdate

    public SQLBuffer toUpdate(ClassMapping mapping,
                              Select sel,
                              JDBCStore store,
                              Object[] params,
                              Map updates)

### toBulkOperation

    protected SQLBuffer toBulkOperation(ClassMapping mapping,
                                        Select sel,
                                        JDBCStore store,
                                        Object[] params,
                                        Map updateParams)

  Returns the SQL for a bulk operation, either a DELETE or an UPDATE.

  Parameters:
    `mapping` - the mapping against which we are operating
    `sel` - the Select that will constitute the WHERE clause
    `store` - the current store
    `updateParams` - the Map that holds the update parameters; a null value indicates that this is a delete operation
  Returns:
    the SQLBuffer for the update, or null if it is not possible to perform the bulk update

### getSelectTableAliases

    protected Collection<String> getSelectTableAliases(Select sel)

### getDeleteTargets

    protected SQLBuffer getDeleteTargets(Select sel)

### appendUpdates

    protected void appendUpdates(Select sel,
                                 JDBCStore store,
                                 SQLBuffer sql,
                                 Object[] params,
                                 Map updateParams,
                                 boolean allowAlias)

### getDeleteTableContentsSQL

    public String[] getDeleteTableContentsSQL(Table[] tables,
                                              Connection conn)

  Create SQL to delete the contents of the specified tables. The default implementation drops all non-deferred RESTRICT foreign key constraints involving the specified tables, issues DELETE statements against the tables, and then adds the dropped constraints back in. Databases with more optimal ways of deleting the contents of several tables should override this method.

### toSelect

    public SQLBuffer toSelect(Select sel,
                              boolean forUpdate,
                              JDBCFetchConfiguration fetch)

  Create a SELECT statement in the proper join syntax for the given instance.

### getFrom

    protected SQLBuffer getFrom(Select sel,
                                boolean forUpdate)

  Return the portion of the select statement between the FROM keyword and the WHERE keyword.

### getFromSelect

    protected SQLBuffer getFromSelect(Select sel,
                                      boolean forUpdate)

  Return the FROM clause for a select that selects from a tmp table created by an inner select.

### getWhere

    protected SQLBuffer getWhere(Select sel,
                                 boolean forUpdate)

  Return the WHERE portion of the select statement, or null if no where conditions.

### toTraditionalJoin

    public SQLBuffer toTraditionalJoin(Join join)

  Use the given join instance to create SQL joining its tables in the traditional style.

### toSQL92Join

    public SQLBuffer toSQL92Join(Select sel,
                                 Join join,
                                 boolean forUpdate,
                                 boolean first)

  Use the given join instance to create SQL joining its tables in the SQL92 style.

### toNativeJoin

    public SQLBuffer toNativeJoin(Join join)

  Use the given join instance to create SQL joining its tables in the database's native syntax. Throws an exception by default.

### canOuterJoin

    public boolean canOuterJoin(int syntax,
                                ForeignKey fk)

  Returns if the given foreign key can be eagerly loaded using other joins.

### toSelect

    public SQLBuffer toSelect(SQLBuffer selects,
                              JDBCFetchConfiguration fetch,
                              SQLBuffer from,
                              SQLBuffer where,
                              SQLBuffer group,
                              SQLBuffer having,
                              SQLBuffer order,
                              boolean distinct,
                              boolean forUpdate,
                              long start,
                              long end)

  Combine the given components into a SELECT statement.

### toSelect

    protected SQLBuffer toSelect(SQLBuffer selects,
                                 JDBCFetchConfiguration fetch,
                                 SQLBuffer from,
                                 SQLBuffer where,
                                 SQLBuffer group,
                                 SQLBuffer having,
                                 SQLBuffer order,
                                 boolean distinct,
                                 boolean forUpdate,
                                 long start,
                                 long end,
                                 boolean subselect,
                                 Select sel)

  Combine the given components into a SELECT statement.

### toSelect

    public SQLBuffer toSelect(SQLBuffer selects,
                              JDBCFetchConfiguration fetch,
                              SQLBuffer from,
                              SQLBuffer where,
                              SQLBuffer group,
                              SQLBuffer having,
                              SQLBuffer order,
                              boolean distinct,
                              boolean forUpdate,
                              long start,
                              long end,
                              boolean subselect,
                              boolean checkTableForUpdate)

### toSelect

    protected SQLBuffer toSelect(SQLBuffer selects,
                                 JDBCFetchConfiguration fetch,
                                 SQLBuffer from,
                                 SQLBuffer where,
                                 SQLBuffer group,
                                 SQLBuffer having,
                                 SQLBuffer order,
                                 boolean distinct,
                                 boolean forUpdate,
                                 long start,
                                 long end,
                                 Select sel)

  Combine the given components into a SELECT statement.

### getForUpdateClause

    protected String getForUpdateClause(JDBCFetchConfiguration fetch,
                                        boolean isForUpdate,
                                        Select sel)

  Get the update clause for the query based on the updateClause and isolationLevel hints

### supportsIsolationForUpdate

    public boolean supportsIsolationForUpdate()

  Return true if the dictionary uses isolation level to compute the returned getForUpdateClause() SQL clause.

### getSelectOperation

    public String getSelectOperation(JDBCFetchConfiguration fetch)

  Return the "SELECT" operation clause, adding any available hints, etc.

### toOperation

    public SQLBuffer toOperation(String op,
                                 SQLBuffer selects,
                                 SQLBuffer from,
                                 SQLBuffer where,
                                 SQLBuffer group,
                                 SQLBuffer having,
                                 SQLBuffer order,
                                 boolean distinct,
                                 long start,
                                 long end,
                                 String forUpdateClause)

  Return the SQL for the given selecting operation.

### toOperation

    public SQLBuffer toOperation(String op,
                                 SQLBuffer selects,
                                 SQLBuffer from,
                                 SQLBuffer where,
                                 SQLBuffer group,
                                 SQLBuffer having,
                                 SQLBuffer order,
                                 boolean distinct,
                                 long start,
                                 long end,
                                 String forUpdateClause,
                                 boolean subselect)

  Return the SQL for the given selecting operation.

### appendSelectRange

    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.

### getSelects

    protected SQLBuffer getSelects(Select sel,
                                   boolean distinctIdentifiers,
                                   boolean forUpdate)

  Return the portion of the select statement between the SELECT keyword and the FROM keyword.

### appendSelect

    protected void appendSelect(SQLBuffer selectSQL,
                                Object elem,
                                Select sel,
                                int idx)

  Append `elem` to `selectSQL`.

  Parameters:
    `selectSQL` - The SQLBuffer to append to.
    `alias` - A `SQLBuffer` or a `String` to append.
  Since:
    1.1.0

### supportsLocking

    public boolean supportsLocking(Select sel)

  Returns true if a "FOR UPDATE" clause can be used for the specified Select object.

### supportsRandomAccessResultSet

    public boolean supportsRandomAccessResultSet(Select sel,
                                                 boolean forUpdate)

  Return false if the given select requires a forward-only result set.

### assertSupport

    public void assertSupport(boolean feature,
                              String property)

  Assert that the given dictionary flag is true. If it is not true, throw an error saying that the given setting needs to return true for the current operation to work.

### substring

    public void substring(SQLBuffer buf,
                          FilterValue str,
                          FilterValue start,
                          FilterValue length)

  Invoke this database's substring function. Numeric parameters are inlined if possible. This is to handle grouping by SUBSTRING - most databases do not allow parameter binding in this case.

  Parameters:
    `buf` - the SQL buffer to write the substring invocation to
    `str` - a query value representing the target string
    `start` - a query value representing the start index
    `length` - a query value representing the length of substring, or null for none

### toLong

    long toLong(FilterValue litValue)

### indexOf

    public void indexOf(SQLBuffer buf,
                        FilterValue str,
                        FilterValue find,
                        FilterValue start)

  Invoke this database's indexOf function.

  Parameters:
    `buf` - the SQL buffer to write the indexOf invocation to
    `str` - a query value representing the target string
    `find` - a query value representing the search string
    `start` - a query value representing the start index, or null to start at the beginning

### mathFunction

    public void mathFunction(SQLBuffer buf,
                             String op,
                             FilterValue lhs,
                             FilterValue rhs)

  Append the numeric parts of a mathematical function.

  Parameters:
    `buf` - the SQL buffer to write the math function
    `op` - the mathematical operation to perform
    `lhs` - the left hand side of the math function
    `rhs` - the right hand side of the math function

### comparison

    public void comparison(SQLBuffer buf,
                           String op,
                           FilterValue lhs,
                           FilterValue rhs)

  Append a comparison.

  Parameters:
    `buf` - the SQL buffer to write the comparison
    `op` - the comparison operation to perform
    `lhs` - the left hand side of the comparison
    `rhs` - the right hand side of the comparison

### appendXmlComparison

    public void appendXmlComparison(SQLBuffer buf,
                                    String op,
                                    FilterValue lhs,
                                    FilterValue rhs,
                                    boolean lhsxml,
                                    boolean rhsxml)

  If this dictionary supports XML type, use this method to append xml predicate.

### appendNumericCast

    protected void appendNumericCast(SQLBuffer buf,
                                     FilterValue val)

  Append SQL for the given numeric value to the buffer, casting as needed.

### appendCast

    public void appendCast(SQLBuffer buf,
                           Object val,
                           int type)

  Cast the specified value to the specified type.

  Parameters:
    `buf` - the buffer to append the cast to
    `val` - the value to cast
    `type` - the type of the case, e.g. `Types.NUMERIC`

### appendLength

    protected void appendLength(SQLBuffer buf,
                                int type)

### addCastAsType

    public String addCastAsType(String func,
                                Val val)

  add CAST for a function operator where operand is a param

  Parameters:
    `func` - function name
    `val` -
  Returns:
    updated func

### refSchemaComponents

    public void refSchemaComponents(Table table)

  Increment the reference count of any table components that this dictionary adds that are not used by mappings. Does nothing by default.

### getColumnIdentifier

    public DBIdentifier getColumnIdentifier(Column column)

  Returns the name of the column using database specific delimiters.

### getColumnDBName

    public String getColumnDBName(Column column)

### getFullIdentifier

    public DBIdentifier getFullIdentifier(Table table,
                                          boolean logical)

  Returns the full name of the table, including the schema (delimited by `catalogSeparator`).

### getFullName

    public String getFullName(Table table,
                              boolean logical)

### getFullName

    public String getFullName(Index index)

  Returns the full name of the index, including the schema (delimited by the result of `catalogSeparator`).

### getFullName

    public String getFullName(Sequence seq)

  Returns the full name of the sequence, including the schema (delimited by the result of `catalogSeparator`).

### getInvalidColumnWordSet

    public final Set<String> getInvalidColumnWordSet()

  Return the subset of the words in reservedWordSet that cannot be used as valid column names for the current DB. If the column name is invalid the getValidColumnName method of the DB dictionary should be invoked to make it valid.

  See Also:
    `getValidColumnName`

### getValidTableName

    public String getValidTableName(String name,
                                    Schema schema)

  Deprecated.

  Make any necessary changes to the given table name to make it valid for the current DB.

### getValidTableName

    public DBIdentifier getValidTableName(DBIdentifier name,
                                          Schema schema)

  Make any necessary changes to the given table name to make it valid for the current DB.

### getValidSequenceName

    public String getValidSequenceName(String name,
                                       Schema schema)

  Deprecated.

  Make any necessary changes to the given sequence name to make it valid for the current DB.

### getValidSequenceName

    public DBIdentifier getValidSequenceName(DBIdentifier name,
                                             Schema schema)

  Make any necessary changes to the given sequence name to make it valid for the current DB.

### getValidColumnName

    public String getValidColumnName(String name,
                                     Table table)

  Deprecated.

  Make any necessary changes to the given column name to make it valid for the current DB. The column name will be made unique for the specified table.

### getValidColumnName

    public DBIdentifier getValidColumnName(DBIdentifier name,
                                           Table table)

  Make any necessary changes to the given column name to make it valid for the current DB. The column name will be made unique for the specified table.

### getValidColumnName

    public String getValidColumnName(String name,
                                     Table table,
                                     boolean checkForUniqueness)

  Deprecated.

  Make any necessary changes to the given column name to make it valid for the current DB. If checkForUniqueness is true, the column name will be made unique for the specified table.

### getValidColumnName

    public DBIdentifier getValidColumnName(DBIdentifier name,
                                           Table table,
                                           boolean checkForUniqueness)

  Make any necessary changes to the given column name to make it valid for the current DB. If checkForUniqueness is true, the column name will be made unique for the specified table.

### getValidPrimaryKeyName

    public String getValidPrimaryKeyName(String name,
                                         Table table)

  Make any necessary changes to the given primary key name to make it valid for the current DB.

### getValidForeignKeyName

    public String getValidForeignKeyName(String name,
                                         Table table,
                                         Table toTable)

  Deprecated.

  Make any necessary changes to the given foreign key name to make it valid for the current DB.

### getValidForeignKeyName

    public DBIdentifier getValidForeignKeyName(DBIdentifier name,
                                               Table table,
                                               Table toTable)

  Make any necessary changes to the given foreign key name to make it valid for the current DB.

### getValidIndexName

    public String getValidIndexName(String name,
                                    Table table)

  Deprecated.

  Make any necessary changes to the given index name to make it valid for the current DB.

### getValidIndexName

    public DBIdentifier getValidIndexName(DBIdentifier name,
                                          Table table)

  Make any necessary changes to the given index name to make it valid for the current DB.

### getValidUniqueName

    public String getValidUniqueName(String name,
                                     Table table)

  Deprecated.

  Make any necessary changes to the given unique constraint name to make it valid for the current DB.

### getValidUniqueName

    public DBIdentifier getValidUniqueName(DBIdentifier name,
                                           Table table)

  Make any necessary changes to the given unique constraint name to make it valid for the current DB.

### shorten

    public static String shorten(String name,
                                 int targetLength)

  Shorten the specified name to the specified target name. This will be done by first stripping out the vowels, and then removing characters from the middle of the word until it reaches the target length.

### makeNameValid

    protected String makeNameValid(String name,
                                   NameSet set,
                                   int maxLen,
                                   int nameType)

  Deprecated.

  Shortens the given name to the given maximum length, then checks that it is not a reserved word. If it is reserved, appends a "0". If the name conflicts with an existing schema component, the last character is replace with '0', then '1', etc. Note that the given max len may be 0 if the database metadata is incomplete.

### makeNameValid

    protected DBIdentifier makeNameValid(DBIdentifier name,
                                         NameSet set,
                                         int maxLen,
                                         int nameType)

  Shortens the given name to the given maximum length, then checks that it is not a reserved word. If it is reserved, appends a "0". If the name conflicts with an existing schema component, the last character is replace with '0', then '1', etc. Note that the given max len may be 0 if the database metadata is incomplete.

### makeNameValid

    protected String makeNameValid(String name,
                                   NameSet set,
                                   int maxLen,
                                   int nameType,
                                   boolean checkForUniqueness)

  Shortens the given name to the given maximum length, then checks that it is not a reserved word. If it is reserved, appends a "0". If the name conflicts with an existing schema component and uniqueness checking is enabled, the last character is replace with '0', then '1', etc. Note that the given max len may be 0 if the database metadata is incomplete. Note: If the name is delimited, make sure the ending delimiter is not stripped off.

### makeNameValid

    protected DBIdentifier makeNameValid(DBIdentifier name,
                                         NameSet set,
                                         int maxLen,
                                         int nameType,
                                         boolean checkForUniqueness)

  Shortens the given name to the given maximum length, then checks that it is not a reserved word. If it is reserved, appends a "0". If the name conflicts with an existing schema component and uniqueness checking is enabled, the last character is replace with '0', then '1', etc. Note that the given max len may be 0 if the database metadata is incomplete. Note: If the name is delimited, make sure the ending delimiter is not stripped off.

### getCreateTableSQL

    public String[] getCreateTableSQL(Table table,
                                      SchemaGroup group)

  Return a series of SQL statements to create the given table, complete with columns. Indexes and constraints will be created separately.

### getCreateTableSQL

    public String[] getCreateTableSQL(Table table)

  Return a series of SQL statements to create the given table, complete with columns. Indexes and constraints will be created separately.

### getBatchFetchSize

    public int getBatchFetchSize(int batchFetchSize)

### comment

    protected StringBuilder comment(StringBuilder buf,
                                    String comment)

### getDropTableSQL

    public String[] getDropTableSQL(Table table)

  Return a series of SQL statements to drop the given table. Indexes will be dropped separately. Returns `DROP TABLE <table name>` by default.

### getCreateSequenceSQL

    public String[] getCreateSequenceSQL(Sequence seq)

  Return a series of SQL statements to create the given sequence. Returns `CREATE SEQUENCE <sequence name>[ START WITH <start>] [ INCREMENT BY <increment>]` by default.

### getAlterSequenceSQL

    public String getAlterSequenceSQL(Sequence seq)

### getDropSequenceSQL

    public String[] getDropSequenceSQL(Sequence seq)

  Return a series of SQL statements to drop the given sequence. Returns `DROP SEQUENCE <sequence name>` by default.

### getCreateIndexSQL

    public String[] getCreateIndexSQL(Index index)

  Return a series of SQL statements to create the given index. Returns `CREATE [UNIQUE] INDEX <index name> ON <table name> (<col list>)` by default.

### getDropIndexSQL

    public String[] getDropIndexSQL(Index index)

  Return a series of SQL statements to drop the given index. Returns `DROP INDEX <index name>` by default.

### getAddColumnSQL

    public String[] getAddColumnSQL(Column column)

  Return a series of SQL statements to add the given column to its table. Return an empty array if operation not supported. Returns `ALTER TABLE <table name> ADD (<col dec>)` by default.

### getDropColumnSQL

    public String[] getDropColumnSQL(Column column)

  Return a series of SQL statements to drop the given column from its table. Return an empty array if operation not supported. Returns `ALTER TABLE <table name> DROP COLUMN <col name>` by default.

### getAddPrimaryKeySQL

    public String[] getAddPrimaryKeySQL(PrimaryKey pk)

  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.

### getDropPrimaryKeySQL

    public String[] getDropPrimaryKeySQL(PrimaryKey pk)

  Return a series of SQL statements to drop the given primary key from its table. Return an empty array if operation not supported. Returns `ALTER TABLE <table name> DROP CONSTRAINT <pk name>` by default.

### getAddForeignKeySQL

    public String[] getAddForeignKeySQL(ForeignKey fk)

  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.

### getDropForeignKeySQL

    public String[] getDropForeignKeySQL(ForeignKey fk,
                                         Connection conn)

  Return a series of SQL statements to drop the given foreign key from its table. Return an empty array if operation not supported. Returns `ALTER TABLE <table name> DROP CONSTRAINT <fk name>` by default.

### getDeclareColumnSQL

    protected String getDeclareColumnSQL(Column col,
                                         boolean alter)

  Return the declaration SQL for the given column. This method is used for each column from within `getCreateTableSQL(org.apache.openjpa.jdbc.schema.Table, org.apache.openjpa.jdbc.schema.SchemaGroup)` and `getAddColumnSQL(org.apache.openjpa.jdbc.schema.Column)`.

### getPrimaryKeyConstraintSQL

    protected String getPrimaryKeyConstraintSQL(PrimaryKey pk)

  Return the declaration SQL for the given primary key. This method is used from within `getCreateTableSQL(org.apache.openjpa.jdbc.schema.Table, org.apache.openjpa.jdbc.schema.SchemaGroup)` and `getAddPrimaryKeySQL(org.apache.openjpa.jdbc.schema.PrimaryKey)`. Returns `CONSTRAINT <pk name> PRIMARY KEY (<col list>)` by default.

### getForeignKeyConstraintSQL

    protected String getForeignKeyConstraintSQL(ForeignKey fk)

  Return the declaration SQL for the given foreign key, or null if it is not supported. This method is used from within `getCreateTableSQL(org.apache.openjpa.jdbc.schema.Table, org.apache.openjpa.jdbc.schema.SchemaGroup)` and `getAddForeignKeySQL(org.apache.openjpa.jdbc.schema.ForeignKey)`. Returns `CONSTRAINT <cons name> FOREIGN KEY (<col list>) REFERENCES <foreign table> (<col list>) [ON DELETE <action>] [ON UPDATE <action>]` by default.

### supportsDeferredForeignKeyConstraints

    protected boolean supportsDeferredForeignKeyConstraints()

  Whether or not this dictionary supports deferred foreign key constraints. This implementation returns `supportsUniqueConstraints`.

  Since:
    1.1.0

### supportsDeleteAction

    public boolean supportsDeleteAction(int action)

  Whether this database supports the given foreign key delete action.

### supportsUpdateAction

    public boolean supportsUpdateAction(int action)

  Whether this database supports the given foreign key update action.

### getUniqueConstraintSQL

    protected String getUniqueConstraintSQL(Unique unq)

  Return the declaration SQL for the given unique constraint. This method is used from within `getCreateTableSQL(org.apache.openjpa.jdbc.schema.Table, org.apache.openjpa.jdbc.schema.SchemaGroup)`. Returns `CONSTRAINT <name> UNIQUE (<col list>)` by default.

### supportsDeferredUniqueConstraints

    protected boolean supportsDeferredUniqueConstraints()

  Whether or not this dictionary supports deferred unique constraints. This implementation returns `supportsUniqueConstraints`.

  Since:
    1.1.0

### isSystemTable

    public boolean isSystemTable(String name,
                                 String schema,
                                 boolean targetSchema)

  Deprecated.

  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.

  Parameters:
    `name` - the table name
    `schema` - the table schema; may be null
    `targetSchema` - if true, then the given schema was listed by the user as one of his schemas

### isSystemTable

    public boolean isSystemTable(DBIdentifier name,
                                 DBIdentifier schema,
                                 boolean targetSchema)

  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.

  Parameters:
    `name` - the table name
    `schema` - the table schema; may be null
    `targetSchema` - if true, then the given schema was listed by the user as one of his schemas

### isSystemIndex

    public boolean isSystemIndex(String name,
                                 Table table)

  Deprecated.

  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.

  Parameters:
    `name` - the index name
    `table` - the index table

### isSystemIndex

    public boolean isSystemIndex(DBIdentifier name,
                                 Table table)

  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.

  Parameters:
    `name` - the index name
    `table` - the index table

### isSystemSequence

    public boolean isSystemSequence(String name,
                                    String schema,
                                    boolean targetSchema)

  Deprecated.

  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.

  Parameters:
    `name` - the table name
    `schema` - the table schema; may be null
    `targetSchema` - if true, then the given schema was listed by the user as one of his schemas

### isSystemSequence

    public boolean isSystemSequence(DBIdentifier name,
                                    DBIdentifier schema,
                                    boolean targetSchema)

  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.

  Parameters:
    `name` - the table name
    `schema` - the table schema; may be null
    `targetSchema` - if true, then the given schema was listed by the user as one of his schemas

### isSystemSequence

    public boolean isSystemSequence(DBIdentifier name,
                                    DBIdentifier schema,
                                    boolean targetSchema,
                                    Connection conn)

  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.

  Parameters:
    `name` - the table name
    `schema` - the table schema; may be null
    `targetSchema` - if true, then the given schema was listed by the user as one of his schemas
    `conn` - connection to the database

### getTables

    public Table[] getTables(DatabaseMetaData meta,
                             String catalog,
                             String schemaName,
                             String tableName,
                             Connection conn)
                      throws SQLException

  Deprecated.

  Reflect on the schema to find tables matching the given name pattern.

  Throws:
    `SQLException`

### getTables

    public Table[] getTables(DatabaseMetaData meta,
                             DBIdentifier sqlCatalog,
                             DBIdentifier sqlSchemaName,
                             DBIdentifier sqlTableName,
                             Connection conn)
                      throws SQLException

  Reflect on the schema to find tables matching the given name pattern.

  Throws:
    `SQLException`

### newTable

    protected Table newTable(ResultSet tableMeta)
                      throws SQLException

  Create a new table from the information in the schema metadata.

  Throws:
    `SQLException`

### getSequences

    public Sequence[] getSequences(DatabaseMetaData meta,
                                   String catalog,
                                   String schemaName,
                                   String sequenceName,
                                   Connection conn)
                            throws SQLException

  Deprecated.

  Reflect on the schema to find sequences matching the given name pattern. Returns an empty array by default, as there is no standard way to retrieve a list of sequences.

  Throws:
    `SQLException`

### getSequences

    public Sequence[] getSequences(DatabaseMetaData meta,
                                   DBIdentifier catalog,
                                   DBIdentifier schemaName,
                                   DBIdentifier sequenceName,
                                   Connection conn)
                            throws SQLException

  Throws:
    `SQLException`

### newSequence

    protected Sequence newSequence(ResultSet sequenceMeta)
                            throws SQLException

  Create a new sequence from the information in the schema metadata.

  Throws:
    `SQLException`

### getSequencesSQL

    protected String getSequencesSQL(String schemaName,
                                     String sequenceName)

  Deprecated.

  Return the SQL needed to select the list of sequences.

### getSequencesSQL

    protected String getSequencesSQL(DBIdentifier schemaName,
                                     DBIdentifier sequenceName)

### getColumns

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

  Deprecated.

  Reflect on the schema to find columns matching the given table and column patterns.

  Throws:
    `SQLException`

### getColumns

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

  Reflect on the schema to find columns matching the given table and column patterns.

  Throws:
    `SQLException`

### newColumn

    protected Column newColumn(ResultSet colMeta)
                        throws SQLException

  Create a new column from the information in the schema metadata.

  Throws:
    `SQLException`

### getPrimaryKeys

    public PrimaryKey[] getPrimaryKeys(DatabaseMetaData meta,
                                       String catalog,
                                       String schemaName,
                                       String tableName,
                                       Connection conn)
                                throws SQLException

  Deprecated.

  Reflect on the schema to find primary keys for the given table pattern.

  Throws:
    `SQLException`

### getPrimaryKeys

    public PrimaryKey[] getPrimaryKeys(DatabaseMetaData meta,
                                       DBIdentifier catalog,
                                       DBIdentifier schemaName,
                                       DBIdentifier tableName,
                                       Connection conn)
                                throws SQLException

  Reflect on the schema to find primary keys for the given table pattern.

  Throws:
    `SQLException`

### getPrimaryKeysFromGetPrimaryKeys

    protected PrimaryKey[] getPrimaryKeysFromGetPrimaryKeys(DatabaseMetaData meta,
                                                            String catalog,
                                                            String schemaName,
                                                            String tableName,
                                                            Connection conn)
                                                     throws SQLException

  Deprecated.

  Reflect on the schema to find primary keys for the given table pattern.

  Throws:
    `SQLException`

### getPrimaryKeysFromGetPrimaryKeys

    protected PrimaryKey[] getPrimaryKeysFromGetPrimaryKeys(DatabaseMetaData meta,
                                                            DBIdentifier catalog,
                                                            DBIdentifier schemaName,
                                                            DBIdentifier tableName,
                                                            Connection conn)
                                                     throws SQLException

  Reflect on the schema to find primary keys for the given table pattern.

  Throws:
    `SQLException`

### newPrimaryKey

    protected PrimaryKey newPrimaryKey(ResultSet pkMeta)
                                throws SQLException

  Create a new primary key from the information in the schema metadata.

  Throws:
    `SQLException`

### getPrimaryKeysFromBestRowIdentifier

    protected PrimaryKey[] getPrimaryKeysFromBestRowIdentifier(DatabaseMetaData meta,
                                                               String catalog,
                                                               String schemaName,
                                                               String tableName,
                                                               Connection conn)
                                                        throws SQLException

  Deprecated.

  Reflect on the schema to find primary keys for the given table pattern.

  Throws:
    `SQLException`

### getPrimaryKeysFromBestRowIdentifier

    protected PrimaryKey[] getPrimaryKeysFromBestRowIdentifier(DatabaseMetaData meta,
                                                               DBIdentifier catalog,
                                                               DBIdentifier schemaName,
                                                               DBIdentifier tableName,
                                                               Connection conn)
                                                        throws SQLException

  Reflect on the schema to find primary keys for the given table pattern.

  Throws:
    `SQLException`

### getIndexInfo

    public Index[] getIndexInfo(DatabaseMetaData meta,
                                String catalog,
                                String schemaName,
                                String tableName,
                                boolean unique,
                                boolean approx,
                                Connection conn)
                         throws SQLException

  Deprecated.

  Reflect on the schema to find indexes matching the given table pattern.

  Throws:
    `SQLException`

### getIndexInfo

    public Index[] getIndexInfo(DatabaseMetaData meta,
                                DBIdentifier catalog,
                                DBIdentifier schemaName,
                                DBIdentifier tableName,
                                boolean unique,
                                boolean approx,
                                Connection conn)
                         throws SQLException

  Reflect on the schema to find indexes matching the given table pattern.

  Throws:
    `SQLException`

### newIndex

    protected Index newIndex(ResultSet idxMeta)
                      throws SQLException

  Create a new index from the information in the schema metadata.

  Throws:
    `SQLException`

### getImportedKeys

    public ForeignKey[] getImportedKeys(DatabaseMetaData meta,
                                        String catalog,
                                        String schemaName,
                                        String tableName,
                                        Connection conn)
                                 throws SQLException

  Deprecated.

  Reflect on the schema to return foreign keys imported by the given table pattern.

  Throws:
    `SQLException`

### getImportedKeys

    public ForeignKey[] getImportedKeys(DatabaseMetaData meta,
                                        DBIdentifier catalog,
                                        DBIdentifier schemaName,
                                        DBIdentifier tableName,
                                        Connection conn)
                                 throws SQLException

  Reflect on the schema to return foreign keys imported by the given table pattern.

  Throws:
    `SQLException`

### getImportedKeys

    public ForeignKey[] getImportedKeys(DatabaseMetaData meta,
                                        String catalog,
                                        String schemaName,
                                        String tableName,
                                        Connection conn,
                                        boolean partialKeys)
                                 throws SQLException

  Deprecated.

  Reflect on the schema to return full foreign keys imported by the given table pattern.

  Throws:
    `SQLException`

### getImportedKeys

    public ForeignKey[] getImportedKeys(DatabaseMetaData meta,
                                        DBIdentifier catalog,
                                        DBIdentifier schemaName,
                                        DBIdentifier tableName,
                                        Connection conn,
                                        boolean partialKeys)
                                 throws SQLException

  Reflect on the schema to return full foreign keys imported by the given table pattern.

  Throws:
    `SQLException`

### combineForeignKey

    protected ForeignKey combineForeignKey(Map<ForeignKey.FKMapKey,ForeignKey> fkMap,
                                           ForeignKey fk)

  Combines partial foreign keys into singular key

### newForeignKey

    protected ForeignKey newForeignKey(ResultSet fkMeta)
                                throws SQLException

  Create a new foreign key from the information in the schema metadata.

  Throws:
    `SQLException`

### getTableNameForMetadata

    protected String getTableNameForMetadata(String tableName)

  Returns the table name that will be used for obtaining information from `DatabaseMetaData`.

### getTableNameForMetadata

    protected String getTableNameForMetadata(DBIdentifier tableName)

  Returns the table name that will be used for obtaining information from `DatabaseMetaData`.

### getSchemaNameForMetadata

    protected String getSchemaNameForMetadata(String schemaName)

  Returns the schema name that will be used for obtaining information from `DatabaseMetaData`.

### getSchemaNameForMetadata

    protected String getSchemaNameForMetadata(DBIdentifier schemaName)

  Returns the schema name that will be used for obtaining information from `DatabaseMetaData`.

### getCatalogNameForMetadata

    protected String getCatalogNameForMetadata(String catalogName)

  Returns the catalog name that will be used for obtaining information from `DatabaseMetaData`.

### getCatalogNameForMetadata

    protected String getCatalogNameForMetadata(DBIdentifier catalogName)

  Returns the catalog name that will be used for obtaining information from `DatabaseMetaData`.

### getColumnNameForMetadata

    protected String getColumnNameForMetadata(String columnName)

  Returns the column name that will be used for obtaining information from `DatabaseMetaData`.

### getColumnNameForMetadata

    protected String getColumnNameForMetadata(DBIdentifier columnName)

  Returns the column name that will be used for obtaining information from `DatabaseMetaData`.

### convertSchemaCase

    public String convertSchemaCase(String objectName)

  Convert the specified schema name to a name that the database will be able to understand.

### convertSchemaCase

    public String convertSchemaCase(DBIdentifier objectName)

  Convert the specified schema name to a name that the database will be able to understand.

### getSchemaCase

    public String getSchemaCase()

  Return DB specific schemaCase

  Specified by:
    `getSchemaCase` in interface `IdentifierConfiguration`
  Returns:
    upper, lower, or preserve

### getGeneratedKey

    public Object getGeneratedKey(Column col,
                                  Connection conn)
                           throws SQLException

  Return the last generated value for the given column. Throws an exception by default if `lastGeneratedKeyQuery` is null.

  Throws:
    `SQLException`

### getGenKeySeqName

    protected String getGenKeySeqName(String query,
                                      Column col)

### getGeneratedKeySequenceName

    protected String getGeneratedKeySequenceName(Column col)

  Return the sequence name used by databases for the given autoassigned column. This is only used by databases that require an explicit name to be used for auto-assign support.

### setConfiguration

    public void setConfiguration(Configuration conf)

  Description copied from interface: `Configurable`
  Invoked prior to setting bean properties.

  Specified by:
    `setConfiguration` in interface `Configurable`

### startConfiguration

    public void startConfiguration()

  Description copied from interface: `Configurable`
  Invoked before bean property configuration is begun on this object.

  Specified by:
    `startConfiguration` in interface `Configurable`

### endConfiguration

    public void endConfiguration()

  Description copied from interface: `Configurable`
  Invoked upon completion of bean property configuration for this object.

  Specified by:
    `endConfiguration` in interface `Configurable`

### addErrorCode

    public void addErrorCode(int errorType,
                             String errorCode)

### setTimeouts

    public void setTimeouts(PreparedStatement stmnt,
                            JDBCFetchConfiguration fetch,
                            boolean forUpdate)
                     throws SQLException

  FIXME - OPENJPA-957 - lockTimeout is a server-side function and shouldn't be using client-side setQueryTimeout for lock timeouts. This method is to provide override for non-JDBC or JDBC-like implementation of setting query and lock timeouts.

  Parameters:
    `stmnt` -
    `fetch` - - optional lock and query timeouts in milliseconds
    `forUpdate` - - true if we should also try setting a lock timeout
  Throws:
    `SQLException`

### setTimeouts

    public void setTimeouts(PreparedStatement stmnt,
                            JDBCConfiguration conf,
                            boolean forUpdate)
                     throws SQLException

  FIXME - OPENJPA-957 - lockTimeout is a server-side function and shouldn't be using client-side setQueryTimeout for lock timeouts. This method is to provide override for non-JDBC or JDBC-like implementation of setting query and lock timeouts.

  Parameters:
    `stmnt` -
    `conf` - - optional lock and query timeouts in milliseconds
    `forUpdate` - - true if we should also try setting a lock timeout
  Throws:
    `SQLException`

### setQueryTimeout

    public void setQueryTimeout(PreparedStatement stmnt,
                                int timeout)
                         throws SQLException

  Provides the default validation handling of setting a query timeout.

  Parameters:
    `stmnt` -
    `timeout` - in milliseconds
  Throws:
    `SQLException`

### setStatementQueryTimeout

    protected void setStatementQueryTimeout(PreparedStatement stmnt,
                                            int timeout)
                                     throws SQLException

  Allow subclasses to provide DB unique override implementations of setting query timeouts, while preserving the default timeout logic in the public setQueryTimeout method.

  Parameters:
    `stmnt` -
    `timeout` - in milliseconds
  Throws:
    `SQLException`

### decorate

    public Connection decorate(Connection conn)
                        throws SQLException

  Decorate the given connection if needed. Some databases require special handling for JDBC bugs. This implementation issues any `initializationSQL` that has been set for the dictionary but does not decorate the connection.

  Specified by:
    `decorate` in interface `ConnectionDecorator`
  Throws:
    `SQLException`

### handleWarning

    public void handleWarning(SQLWarning warning)
                       throws SQLException

  Implementation of the `LoggingConnectionDecorator.SQLWarningHandler` interface that allows customization of the actions to perform when a `SQLWarning` occurs at any point on a `Connection`, `Statement`, or `ResultSet`. This method may be used determine those warnings the application wants to consider critical failures, and throw the warning in those cases. By default, this method does nothing.

  Specified by:
    `handleWarning` in interface `LoggingConnectionDecorator.SQLWarningHandler`
  Throws:
    `SQLException`
  See Also:
    `LoggingConnectionDecorator.setWarningAction(java.lang.String)`, `LoggingConnectionDecorator.setWarningHandler(org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator.SQLWarningHandler)`

### newStoreException

    public OpenJPAException newStoreException(String msg,
                                              SQLException[] causes,
                                              Object failed)

  Return a new exception that wraps `causes`. However, the details of exactly what type of exception is returned can be determined by the implementation. This may take into account DB-specific exception information in `causes`.

### narrow

    OpenJPAException narrow(String msg,
                            SQLException ex,
                            Object failed)

  Gets the category of StoreException by matching the given SQLException's error state code to the list of error codes supplied by the dictionary.

  Returns:
    a StoreException of `general` category if the given SQL Exception can not be further categorized.
  See Also:
    `matchErrorState(Map, SQLException)`

### matchErrorState

    protected int matchErrorState(Map<Integer,Set<String>> errorStates,
                                  SQLException ex)

  Determine the more appropriate type of store exception by matching the SQL Error State of the the given SQLException to the given Error States categorized by error types. Dictionary subclass can override this method and extract SQLException data to figure out if the exception is recoverable.

  Parameters:
    `errorStates` - classification of SQL error states by their specific nature. The keys of the map represent one of the constants defined in `StoreException`. The value corresponding to a key represent the set of SQL Error States representing specific category of database error. This supplied map is sourced from `sql-error-state-codes.xml and filtered the error states for the current database.`
    `ex` - original SQL Exception as raised by the database driver.
  Returns:
    A constant indicating the category of error as defined in `StoreException`.

### isFatalException

    public boolean isFatalException(int subtype,
                                    SQLException ex)

  Determine if the given SQL Exception is fatal or recoverable (such as a timeout). This implementation always returns true (i.e. all exceptions are fatal). The current dictionary implementation can overwrite this method to mark certain exception conditions as recoverable error.

  Parameters:
    `subtype` - A constant indicating the category of error as defined in `StoreException`.
    `ex` - original SQL Exception as raised by the database driver.
  Returns:
    false if the error is fatal.

### closeDataSource

    public void closeDataSource(DataSource dataSource)

  Closes the specified `DataSource` and releases any resources associated with it.

  Parameters:
    `dataSource` - the DataSource to close

### getVersionColumn

    public String getVersionColumn(Column column,
                                   String tableAlias)

  Return version column name

  Parameters:
    `column` -
    `tableAlias` - : this is needed for platform specific version column
  Returns:

### getVersionColumn

    public DBIdentifier getVersionColumn(Column column,
                                         DBIdentifier tableAlias)

### insertBlobForStreamingLoad

    public void insertBlobForStreamingLoad(Row row,
                                           Column col,
                                           JDBCStore store,
                                           Object ob,
                                           Select sel)
                                    throws SQLException

  Throws:
    `SQLException`

### insertClobForStreamingLoad

    public void insertClobForStreamingLoad(Row row,
                                           Column col,
                                           Object ob)
                                    throws SQLException

  Throws:
    `SQLException`

### updateBlob

    public void updateBlob(Select sel,
                           JDBCStore store,
                           InputStream is)
                    throws SQLException

  Throws:
    `SQLException`

### updateClob

    public void updateClob(Select sel,
                           JDBCStore store,
                           Reader reader)
                    throws SQLException

  Throws:
    `SQLException`

### copy

    protected long copy(InputStream in,
                        OutputStream out)
                 throws IOException

  Throws:
    `IOException`

### copy

    protected long copy(Reader reader,
                        Writer writer)
                 throws IOException

  Throws:
    `IOException`

### getCastFunction

    public String getCastFunction(Val val,
                                  String func)

  Attach CAST to the current function if necessary

  Parameters:
    `val` - operand value
  Returns:
    a String with the correct CAST function syntax

### getCastFunction

    public String getCastFunction(Val val,
                                  String func,
                                  Column col)

  Return the correct CAST function syntax. This should be overriden by subclasses that need access to the Column information.

  Parameters:
    `val` - operand of cast
    `func` - original string
    `col` - database column
  Returns:
    a String with the correct CAST function syntax

### createIndexIfNecessary

    public void createIndexIfNecessary(Schema schema,
                                       String table,
                                       Column pkColumn)

  Deprecated.

  Create an index if necessary for some database tables

### createIndexIfNecessary

    public void createIndexIfNecessary(Schema schema,
                                       DBIdentifier table,
                                       Column pkColumn)

### getBatchLimit

    public int getBatchLimit()

  Return the batchLimit

### setBatchLimit

    public void setBatchLimit(int limit)

  Set the batchLimit value

### validateBatchProcess

    public boolean validateBatchProcess(RowImpl row,
                                        Column[] autoAssign,
                                        OpenJPAStateManager sm,
                                        ClassMapping cmd)

  Validate the batch process. In some cases, we can't batch the statements due to some restrictions. For example, if the GeneratedType=IDENTITY, we have to disable the batch process because we need to get the ID value right away for the in-memory entity to use.

### validateDBSpecificBatchProcess

    public boolean validateDBSpecificBatchProcess(boolean disableBatch,
                                                  RowImpl row,
                                                  Column[] autoAssign,
                                                  OpenJPAStateManager sm,
                                                  ClassMapping cmd)

  Allow each Dictionary to validate its own batch process.

### executeQuery

    protected ResultSet executeQuery(Connection conn,
                                     PreparedStatement stmnt,
                                     String sql)
                              throws SQLException

  This method is to provide override for non-JDBC or JDBC-like implementation of executing query.

  Throws:
    `SQLException`

### prepareStatement

    protected PreparedStatement prepareStatement(Connection conn,
                                                 String sql)
                                          throws SQLException

  This method is to provide override for non-JDBC or JDBC-like implementation of preparing statement.

  Throws:
    `SQLException`

### getSequence

    protected Sequence[] getSequence(ResultSet rs)
                              throws SQLException

  This method is to provide override for non-JDBC or JDBC-like implementation of getting sequence from the result set.

  Throws:
    `SQLException`

### getKey

    protected Object getKey(ResultSet rs,
                            Column col)
                     throws SQLException

  This method is to provide override for non-JDBC or JDBC-like implementation of getting key from the result set.

  Throws:
    `SQLException`

### calculateValue

    protected void calculateValue(Val val,
                                  Select sel,
                                  ExpContext ctx,
                                  ExpState state,
                                  Path path,
                                  ExpState pathState)

  This method is to provide override for non-JDBC or JDBC-like implementation of calculating value.

### isSelect

    public boolean isSelect(String sql)

  Determine whether the provided `sql` may be treated as a select statement on this database.

  Parameters:
    `sql` - A sql statement.
  Returns:
    true if `sql` represents a select statement.

### needsToCreateIndex

    public boolean needsToCreateIndex(Index idx,
                                      Table table,
                                      Unique[] uniques)

### needsToCreateIndex

    public boolean needsToCreateIndex(Index idx,
                                      Table table)

### getBatchUpdateCount

    public int getBatchUpdateCount(PreparedStatement ps)
                            throws SQLException

  Return batched statements update success count

  Parameters:
    `ps` - A PreparedStatement
  Returns:
    return update count
  Throws:
    `SQLException`

### getTrimSchemaName

    public boolean getTrimSchemaName()

### setTrimSchemaName

    public void setTrimSchemaName(boolean trimSchemaName)

### deleteStream

    public void deleteStream(JDBCStore store,
                             Select sel)
                      throws SQLException

  Throws:
    `SQLException`

### checkNameLength

    final String checkNameLength(String name,
                                 int length,
                                 String msgKey)

  Validate that the given name is not longer than given maximum length. If the given name is indeed longer then raises a UserException with the given message key otherwise returns the same name.

### checkNameLength

    final String checkNameLength(DBIdentifier identifier,
                                 int length,
                                 String msgKey)

  Validate that the given name is not longer than given maximum length. Uses the unqualified name from the supplied `DBIdentifier` by default..

  Parameters:
    `identifer` - The database identifier to check.
    `length` - Max length for this type of identifier
    `msgKey` - message identifier for the exception.
    `qualified` - If true the qualified name of the DBIdentifier will be used.
  Returns:
    the same name.
  Throws:
    `{@link` - UserException} with the given message key if the given name is indeed longer.

### checkNameLength

    final String checkNameLength(DBIdentifier identifier,
                                 int length,
                                 String msgKey,
                                 boolean qualified)

  Validate that the given name is not longer than given maximum length. Conditionally uses the unqualified name from the supplied `DBIdentifier`.

  Parameters:
    `identifer` - The database identifier to check.
    `length` - Max length for this type of identifier
    `msgKey` - message identifier for the exception.
    `qualified` - If true the qualified name of the DBIdentifier will be used.
  Returns:
    the same name.
  Throws:
    `{@link` - UserException} with the given message key if the given name is indeed longer.

### setDelimitedCase

    protected void setDelimitedCase(DatabaseMetaData metaData)

### getSupportsDelimitedIdentifiers

    public boolean getSupportsDelimitedIdentifiers()

  Description copied from interface: `IdentifierConfiguration`
  Returns true if delimiting is supported

  Specified by:
    `getSupportsDelimitedIdentifiers` in interface `IdentifierConfiguration`
  Returns:
    the supportsDelimitedIds

### setSupportsDelimitedIdentifiers

    public void setSupportsDelimitedIdentifiers(boolean supportsDelimitedIds)

  Parameters:
    `supportsDelimitedIds` - the supportsDelimitedIds to set

### getDelimitIdentifiers

    public boolean getDelimitIdentifiers()

  Returns:
    the delimitIds

### setDelimitIdentifiers

    public void setDelimitIdentifiers(boolean delimitIds)

  Parameters:
    `delimitIds` - the delimitIds to set

### getSupportsXMLColumn

    public boolean getSupportsXMLColumn()

  Returns:
    supportsXMLColumn

### setSupportsXMLColumn

    public void setSupportsXMLColumn(boolean b)

  Parameters:
    `b` - boolean representing if XML columns are supported

### getXMLTypeEncoding

    public String getXMLTypeEncoding()

  Returns:
    xmlTypeEncoding

### setXMLTypeEncoding

    public void setXMLTypeEncoding(String encoding)

  Parameters:
    `encoding` - database required JAXB encoding for the XML value

### getLog

    public Log getLog()

### delimitAll

    public boolean delimitAll()

  Description copied from interface: `IdentifierConfiguration`
  Returns true if global name delimiting is enabled.

  Specified by:
    `delimitAll` in interface `IdentifierConfiguration`

### getLeadingDelimiter

    public String getLeadingDelimiter()

  Description copied from interface: `IdentifierConfiguration`
  Returns the leading delimiter value to use when delimiting a name.

  Specified by:
    `getLeadingDelimiter` in interface `IdentifierConfiguration`

### setLeadingDelimiter

    public void setLeadingDelimiter(String delim)

### getIdentifierDelimiter

    public String getIdentifierDelimiter()

  Description copied from interface: `IdentifierConfiguration`
  Returns the value used to delimit between individual names. For example: "." used in MYSCHEMA.MYTABLE

  Specified by:
    `getIdentifierDelimiter` in interface `IdentifierConfiguration`

### getIdentifierConcatenator

    public String getIdentifierConcatenator()

  Description copied from interface: `IdentifierConfiguration`
  Returns the value used to concatenate multiple names together. For example: "_" used in TABLE1_TABLE2

  Specified by:
    `getIdentifierConcatenator` in interface `IdentifierConfiguration`

### getTrailingDelimiter

    public String getTrailingDelimiter()

  Description copied from interface: `IdentifierConfiguration`
  Returns the trailing delimiter value to use when delimiting a name.

  Specified by:
    `getTrailingDelimiter` in interface `IdentifierConfiguration`

### setTrailingDelimiter

    public void setTrailingDelimiter(String delim)

### getDefaultIdentifierRule

    public IdentifierRule getDefaultIdentifierRule()

  Description copied from interface: `IdentifierConfiguration`
  Gets the default naming rule

  Specified by:
    `getDefaultIdentifierRule` in interface `IdentifierConfiguration`

### getIdentifierRule

    public <T> IdentifierRule getIdentifierRule(T t)

  Description copied from interface: `IdentifierConfiguration`
  Returns a naming rule or null if the rule is not found.

  Specified by:
    `getIdentifierRule` in interface `IdentifierConfiguration`

### getIdentifierRules

    public Map<String,IdentifierRule> getIdentifierRules()

  Description copied from interface: `IdentifierConfiguration`
  Returns all naming rules

  Specified by:
    `getIdentifierRules` in interface `IdentifierConfiguration`
  Returns:

### getNamingUtil

    public DBIdentifierUtil getNamingUtil()

  Returns the naming utility used by this dictionary instance

  Returns:

### getDelimitedCase

    public String getDelimitedCase()

  Description copied from interface: `IdentifierConfiguration`
  Returns the case that is used when delimiting.

  Specified by:
    `getDelimitedCase` in interface `IdentifierConfiguration`
  Returns:
    upper, lower, or preserve

### toDBName

    public String toDBName(DBIdentifier name)

### toDBName

    public String toDBName(DBIdentifier name,
                           boolean delimit)

### fromDBName

    public DBIdentifier fromDBName(String name,
                                   DBIdentifier.DBIdentifierType id)

### setDefaultSchemaName

    public void setDefaultSchemaName(String defaultSchemaName)

### getDefaultSchemaName

    public String getDefaultSchemaName()

### getConversionKey

    public String getConversionKey()

  Description copied from interface: `IdentifierConfiguration`
  Returns a key that can be used to determine whether conversion should take place. Id configurations should create a key unique to their configuration. The typical key is: leading delimiter (") + name separator(.) + trailing delimiter(")

  Specified by:
    `getConversionKey` in interface `IdentifierConfiguration`
  Returns:

### getMarkerForInsertUpdate

    public String getMarkerForInsertUpdate(Column col,
                                           Object val)

  Return parameter marker for INSERT and UPDATE statements. Usually it is `?` but some database-specific types might require customization.

  Parameters:
    `col` - column definition
    `val` - value to be inserted/updated
  Returns:
    parameter marker

### getIsNullSQL

    public String getIsNullSQL(String colAlias,
                               int colType)

### getIsNotNullSQL

    public String getIsNotNullSQL(String colAlias,
                                  int colType)

### getIdentityColumnName

    public String getIdentityColumnName()

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2006-2013 Apache Software Foundation. All Rights Reserved.