org.apache.openjpa.jdbc.sql
Class H2Dictionary
java.lang.Object
org.apache.openjpa.jdbc.sql.DBDictionary
org.apache.openjpa.jdbc.sql.H2Dictionary
- All Implemented Interfaces:
- JoinSyntaxes, Configurable, ConnectionDecorator, LoggingConnectionDecorator.SQLWarningHandler
public class H2Dictionary
- extends DBDictionary
Support for the H2 database (http://www.h2database.com
).
- Since:
- 0.9.7
Fields inherited from class org.apache.openjpa.jdbc.sql.DBDictionary |
allowsAliasInBulkClause, arrayTypeName, autoAssignClause, autoAssignTypeName, bigintTypeName, binaryTypeName, bitLengthFunction, bitTypeName, blobTypeName, booleanTypeName, castFunction, catalogSeparator, CENTI, characterColumnSize, charTypeName, clobTypeName, closePoolSQL, concatenateDelimiter, concatenateFunction, conf, connected, CONS_NAME_AFTER, CONS_NAME_BEFORE, CONS_NAME_MID, constraintNameMode, createPrimaryKeys, crossJoinClause, currentDateFunction, currentTimeFunction, currentTimestampFunction, datePrecision, dateTypeName, DECI, decimalTypeName, distinctCountColumnSeparator, distinctTypeName, doubleTypeName, driverVendor, dropTableSQL, fixedSizeTypeNames, fixedSizeTypeNameSet, floatTypeName, forUpdateClause, getStringVal, inClauseLimit, initializationSQL, innerJoinClause, integerTypeName, javaObjectTypeName, joinSyntax, lastGeneratedKeyQuery, log, longVarbinaryTypeName, longVarcharTypeName, maxAutoAssignNameLength, maxColumnNameLength, maxConstraintNameLength, maxEmbeddedBlobSize, maxEmbeddedClobSize, maxIndexesPerTable, maxIndexNameLength, maxTableNameLength, MICRO, MILLI, NAME_ANY, NAME_SEQUENCE, NAME_TABLE, NANO, nextSequenceQuery, nullTypeName, numericTypeName, otherTypeName, outerJoinClause, platform, RANGE_POST_DISTINCT, RANGE_POST_LOCK, RANGE_POST_SELECT, RANGE_PRE_DISTINCT, rangePosition, realTypeName, refTypeName, requiresAliasForSubselect, requiresAutoCommitForMetaData, requiresCastForComparisons, requiresCastForMathFunctions, requiresConditionForCrossJoin, reservedWords, reservedWordSet, SCHEMA_CASE_LOWER, SCHEMA_CASE_PRESERVE, SCHEMA_CASE_UPPER, schemaCase, searchStringEscape, SEC, sequenceNameSQL, sequenceSchemaSQL, sequenceSQL, simulateLocking, smallintTypeName, storageLimitationsFatal, storeCharsAsNumbers, storeLargeNumbersAsStrings, stringLengthFunction, structTypeName, substringFunctionName, supportsAlterTableWithAddColumn, supportsAlterTableWithDropColumn, supportsAutoAssign, supportsCascadeDeleteAction, supportsCascadeUpdateAction, supportsCorrelatedSubselect, supportsDefaultDeleteAction, supportsDefaultUpdateAction, supportsDeferredConstraints, supportsForeignKeys, supportsHaving, supportsLockingWithDistinctClause, supportsLockingWithInnerJoin, supportsLockingWithMultipleTables, supportsLockingWithOrderClause, supportsLockingWithOuterJoin, supportsLockingWithSelectRange, supportsModOperator, supportsMultipleNontransactionalResultSets, supportsNullDeleteAction, supportsNullTableForGetColumns, supportsNullTableForGetImportedKeys, supportsNullTableForGetIndexInfo, supportsNullTableForGetPrimaryKeys, supportsNullUpdateAction, supportsQueryTimeout, supportsRestrictDeleteAction, supportsRestrictUpdateAction, supportsSchemaForGetColumns, supportsSchemaForGetTables, supportsSelectEndIndex, supportsSelectForUpdate, supportsSelectStartIndex, supportsSubselect, supportsTimestampNanos, supportsUniqueConstraints, supportsXMLColumn, systemSchemas, systemSchemaSet, systemTables, systemTableSet, tableForUpdateClause, tableTypes, timestampTypeName, timeTypeName, tinyintTypeName, toLowerCaseFunction, toUpperCaseFunction, trimBothFunction, trimLeadingFunction, trimTrailingFunction, useGetBestRowIdentifierForPrimaryKeys, useGetBytesForBlobs, useGetObjectForBlobs, useGetStringForClobs, useSchemaName, useSetBytesForBlobs, useSetStringForClobs, validationSQL, varbinaryTypeName, varcharTypeName, VENDOR_DATADIRECT, VENDOR_OTHER, xmlTypeName |
Method Summary |
protected void |
appendSelectRange(SQLBuffer buf,
long start,
long end)
If this dictionary can select ranges,
use this method to append the range SQL. |
String[] |
getAddColumnSQL(Column column)
Return a series of SQL statements to add the given column to
its table. |
String[] |
getAddPrimaryKeySQL(PrimaryKey pk)
Return a series of SQL statements to add the given primary key to
its table. |
Column[] |
getColumns(DatabaseMetaData meta,
String catalog,
String schemaName,
String tableName,
String columnName,
Connection conn)
Reflect on the schema to find columns matching the given table and
column patterns. |
String[] |
getCreateTableSQL(Table table)
Return a series of SQL statements to create the given table, complete
with columns. |
String[] |
getDropPrimaryKeySQL(PrimaryKey pk)
Return a series of SQL statements to drop the given primary key from
its table. |
int |
getJDBCType(int metaTypeCode,
boolean lob)
Return the preferred Types constant for the given
JavaTypes or JavaSQLTypes constant. |
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. |
protected String |
getSequencesSQL(String schemaName,
String sequenceName)
Return the SQL needed to select the list of sequences. |
void |
indexOf(SQLBuffer buf,
FilterValue str,
FilterValue find,
FilterValue start)
Invoke this database's indexOf function. |
boolean |
isSystemIndex(String name,
Table table)
This method is used to filter system indexes from database metadata. |
void |
substring(SQLBuffer buf,
FilterValue str,
FilterValue start,
FilterValue end)
Invoke this database's substring function. |
Methods inherited from class org.apache.openjpa.jdbc.sql.DBDictionary |
addCastAsType, appendCast, appendLength, appendNumericCast, appendSize, appendUpdates, appendXmlComparison, assertSupport, canOuterJoin, closeDataSource, comparison, connectedConfiguration, convertSchemaCase, decorate, endConfiguration, getAddForeignKeySQL, getArray, getAsciiStream, getBigDecimal, getBigInteger, getBinaryStream, getBlob, getBlobObject, getBoolean, getByte, getBytes, getCalendar, getCastFunction, getCatalogNameForMetadata, getChar, getCharacterStream, getClob, getClobString, getColumnNameForMetadata, getCreateIndexSQL, getCreateSequenceSQL, getDate, getDate, getDeclareColumnSQL, getDeleteTableContentsSQL, getDouble, getDropColumnSQL, getDropForeignKeySQL, getDropIndexSQL, getDropSequenceSQL, getDropTableSQL, getFloat, getForeignKeyConstraintSQL, getForUpdateClause, getFrom, getFromSelect, getFullName, getFullName, getFullName, getGeneratedKey, getGeneratedKeySequenceName, getImportedKeys, getIndexInfo, getInt, getLocale, getLong, getNumber, getObject, getPlaceholderValueString, getPrimaryKeys, getPrimaryKeysFromBestRowIdentifier, getPrimaryKeysFromGetPrimaryKeys, getRef, getSchemaNameForMetadata, getSelectOperation, getSelects, getSequences, getShort, getString, getTableNameForMetadata, getTables, getTime, getTimestamp, getTypeName, getTypeName, getUniqueConstraintSQL, getValidColumnName, getValidForeignKeyName, getValidIndexName, getValidPrimaryKeyName, getValidSequenceName, getValidTableName, getValidUniqueName, getVersionColumn, getWhere, handleWarning, isSystemSequence, isSystemTable, makeNameValid, mathFunction, newColumn, newForeignKey, newIndex, newPrimaryKey, newSequence, newStoreException, newTable, putBytes, putChars, putString, refSchemaComponents, serialize, setArray, setAsciiStream, setBigDecimal, setBigInteger, setBinaryStream, setBlob, setBlobObject, setBoolean, setByte, setBytes, setCalendar, setChar, setCharacterStream, setClob, setClobString, setConfiguration, setDate, setDate, setDouble, setFloat, setInt, setJoinSyntax, setLocale, setLong, setNull, setNumber, setObject, setRef, setShort, setString, setTime, setTimestamp, setTyped, setUnknown, shorten, startConfiguration, storageWarning, supportsDeleteAction, supportsLocking, supportsRandomAccessResultSet, supportsUpdateAction, toBulkOperation, toDelete, toNativeJoin, toOperation, toSelect, toSelect, toSelectCount, toSQL92Join, toTraditionalJoin, toUpdate |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
H2Dictionary
public H2Dictionary()
getJDBCType
public int getJDBCType(int metaTypeCode,
boolean lob)
- Description copied from class:
DBDictionary
- Return the preferred
Types
constant for the given
JavaTypes
or JavaSQLTypes
constant.
- Overrides:
getJDBCType
in class DBDictionary
getPreferredType
public int getPreferredType(int type)
- Description copied from class:
DBDictionary
- Return the preferred
Types
type for the given one. Returns
the given type by default.
- Overrides:
getPreferredType
in class DBDictionary
getAddPrimaryKeySQL
public String[] getAddPrimaryKeySQL(PrimaryKey pk)
- Description copied from class:
DBDictionary
- Return a series of SQL statements to add the given primary key to
its table. Return an empty array if operation not supported.
Returns
ALTER TABLE <table name> ADD
<pk cons sql >
by default.
- Overrides:
getAddPrimaryKeySQL
in class DBDictionary
getDropPrimaryKeySQL
public String[] getDropPrimaryKeySQL(PrimaryKey pk)
- Description copied from class:
DBDictionary
- 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.
- Overrides:
getDropPrimaryKeySQL
in class DBDictionary
getAddColumnSQL
public String[] getAddColumnSQL(Column column)
- Description copied from class:
DBDictionary
- 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.
- Overrides:
getAddColumnSQL
in class DBDictionary
getCreateTableSQL
public String[] getCreateTableSQL(Table table)
- Description copied from class:
DBDictionary
- Return a series of SQL statements to create the given table, complete
with columns. Indexes and constraints will be created separately.
- Overrides:
getCreateTableSQL
in class DBDictionary
getPrimaryKeyConstraintSQL
protected String getPrimaryKeyConstraintSQL(PrimaryKey pk)
- Description copied from class:
DBDictionary
- Return the declaration SQL for the given primary key. This method is
used from within
DBDictionary.getCreateTableSQL(org.apache.openjpa.jdbc.schema.Table)
and
DBDictionary.getAddPrimaryKeySQL(org.apache.openjpa.jdbc.schema.PrimaryKey)
. Returns
CONSTRAINT <pk name> PRIMARY KEY (<col list>)
by default.
- Overrides:
getPrimaryKeyConstraintSQL
in class DBDictionary
isSystemIndex
public boolean isSystemIndex(String name,
Table table)
- Description copied from class:
DBDictionary
- This method is used to filter system indexes from database metadata.
Return true if the given index name represents a system index that
should not appear in the schema definition. Returns false by default.
- Overrides:
isSystemIndex
in class DBDictionary
- Parameters:
name
- the index nametable
- the index table
getSequencesSQL
protected String getSequencesSQL(String schemaName,
String sequenceName)
- Description copied from class:
DBDictionary
- Return the SQL needed to select the list of sequences.
- Overrides:
getSequencesSQL
in class DBDictionary
getColumns
public Column[] getColumns(DatabaseMetaData meta,
String catalog,
String schemaName,
String tableName,
String columnName,
Connection conn)
throws SQLException
- Description copied from class:
DBDictionary
- Reflect on the schema to find columns matching the given table and
column patterns.
- Overrides:
getColumns
in class DBDictionary
- Throws:
SQLException
appendSelectRange
protected void appendSelectRange(SQLBuffer buf,
long start,
long end)
- Description copied from class:
DBDictionary
- If this dictionary can select ranges,
use this method to append the range SQL.
- Overrides:
appendSelectRange
in class DBDictionary
substring
public void substring(SQLBuffer buf,
FilterValue str,
FilterValue start,
FilterValue end)
- Description copied from class:
DBDictionary
- Invoke this database's substring function.
- Overrides:
substring
in class DBDictionary
- Parameters:
buf
- the SQL buffer to write the substring invocation tostr
- a query value representing the target stringstart
- a query value representing the start indexend
- a query value representing the end index, or null for none
indexOf
public void indexOf(SQLBuffer buf,
FilterValue str,
FilterValue find,
FilterValue start)
- Description copied from class:
DBDictionary
- Invoke this database's indexOf function.
- Overrides:
indexOf
in class DBDictionary
- Parameters:
buf
- the SQL buffer to write the indexOf invocation tostr
- a query value representing the target stringfind
- a query value representing the search stringstart
- a query value representing the start index, or null
to start at the beginning
Copyright © 2006-2007 Apache Software Foundation. All Rights Reserved.