org.apache.openjpa.jdbc.sql
Class HSQLDictionary
java.lang.Object
   org.apache.openjpa.jdbc.sql.DBDictionary
org.apache.openjpa.jdbc.sql.DBDictionary
       org.apache.openjpa.jdbc.sql.HSQLDictionary
org.apache.openjpa.jdbc.sql.HSQLDictionary
- All Implemented Interfaces: 
- JoinSyntaxes, Configurable, IdentifierConfiguration, ConnectionDecorator, LoggingConnectionDecorator.SQLWarningHandler
- public class HSQLDictionary 
- extends DBDictionary
Dictionary for HyperSQL (HSQLDB) database.
 
 
| Field Summary | 
|  boolean | cacheTablesSets whether HSQL should use "CREATED CACHED TABLE" rather than
 "CREATE TABLE", which allows disk-based database operations.
 | 
 
| Fields inherited from class org.apache.openjpa.jdbc.sql.DBDictionary | 
| allowsAliasInBulkClause, arrayTypeName, autoAssignClause, autoAssignTypeName, batchLimit, bigintTypeName, binaryTypeName, bitLengthFunction, bitTypeName, blobBufferSize, blobTypeName, booleanTypeName, castFunction, catalogSeparator, CENTI, characterColumnSize, charTypeName, clobBufferSize, 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, delimitedCase, distinctCountColumnSeparator, distinctTypeName, doubleTypeName, driverVendor, dropTableSQL, fixedSizeTypeNames, fixedSizeTypeNameSet, floatTypeName, forUpdateClause, getStringVal, inClauseLimit, initializationSQL, innerJoinClause, integerTypeName, invalidColumnWordSet, isJDBC3, isJDBC4, javaObjectTypeName, joinSyntax, lastGeneratedKeyQuery, leadingDelimiter, log, longVarbinaryTypeName, longVarcharTypeName, maxAutoAssignNameLength, maxColumnNameLength, maxConstraintNameLength, maxEmbeddedBlobSize, maxEmbeddedClobSize, maxIndexesPerTable, maxIndexNameLength, maxTableNameLength, MICRO, MILLI, NAME_ANY, NAME_SEQUENCE, NAME_TABLE, nameConcatenator, NANO, nativeSequenceType, nextSequenceQuery, NO_BATCH, nullTypeName, numericTypeName, otherTypeName, outerJoinClause, platform, RANGE_POST_DISTINCT, RANGE_POST_LOCK, RANGE_POST_SELECT, RANGE_PRE_DISTINCT, rangePosition, realTypeName, refTypeName, reportsSuccessNoInfoOnBatchUpdates, requiresAliasForSubselect, requiresAutoCommitForMetaData, requiresCastForComparisons, requiresCastForMathFunctions, requiresConditionForCrossJoin, requiresSearchStringEscapeForLike, requiresTargetForDelete, reservedWords, reservedWordSet, SCHEMA_CASE_LOWER, SCHEMA_CASE_PRESERVE, SCHEMA_CASE_UPPER, schemaCase, searchStringEscape, SEC, selectWords, selectWordSet, sequenceNameSQL, sequenceSchemaSQL, sequenceSQL, setStringRightTruncationOn, simulateLocking, smallintTypeName, sqlStateCodes, storageLimitationsFatal, storeCharsAsNumbers, storeLargeNumbersAsStrings, stringLengthFunction, structTypeName, substringFunctionName, supportsAlterTableWithAddColumn, supportsAlterTableWithDropColumn, supportsAutoAssign, supportsCascadeDeleteAction, supportsCascadeUpdateAction, supportsCaseConversionForLob, supportsComments, supportsCorrelatedSubselect, supportsDefaultDeleteAction, supportsDefaultUpdateAction, supportsDeferredConstraints, supportsDelimitedIdentifiers, supportsForeignKeys, supportsForeignKeysComposite, supportsGeneralCaseExpression, supportsGetGeneratedKeys, supportsHaving, supportsLockingWithDistinctClause, supportsLockingWithInnerJoin, supportsLockingWithMultipleTables, supportsLockingWithOrderClause, supportsLockingWithOuterJoin, supportsLockingWithSelectRange, supportsModOperator, supportsMultipleNontransactionalResultSets, supportsNullDeleteAction, supportsNullTableForGetColumns, supportsNullTableForGetImportedKeys, supportsNullTableForGetIndexInfo, supportsNullTableForGetPrimaryKeys, supportsNullUniqueColumn, supportsNullUpdateAction, supportsParameterInSelect, supportsQueryTimeout, supportsRestrictDeleteAction, supportsRestrictUpdateAction, supportsSchemaForGetColumns, supportsSchemaForGetTables, supportsSelectEndIndex, supportsSelectForUpdate, supportsSelectFromFinalTable, supportsSelectStartIndex, supportsSimpleCaseExpression, supportsSubselect, supportsUniqueConstraints, supportsXMLColumn, systemSchemas, systemSchemaSet, systemTables, systemTableSet, tableForUpdateClause, tableTypes, timestampTypeName, timeTypeName, tinyintTypeName, toLowerCaseFunction, toUpperCaseFunction, trailingDelimiter, trimBothFunction, trimLeadingFunction, trimSchemaName, trimTrailingFunction, typeModifierSet, UNLIMITED, useGetBestRowIdentifierForPrimaryKeys, useGetBytesForBlobs, useGetObjectForBlobs, useGetStringForClobs, useSchemaName, useSetBytesForBlobs, useSetStringForClobs, useWildCardForCount, validationSQL, varbinaryTypeName, varcharTypeName, VENDOR_DATADIRECT, VENDOR_OTHER, xmlTypeEncoding, xmlTypeName | 
 
 
 
| Method Summary | 
| 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.
 | 
|  void | connectedConfiguration(Connection conn)Determine HSQLDB version and configure itself accordingly.
 | 
| protected  void | determineHSQLDBVersion(Connection con)Determine HSQLDB version either by using JDBC 3 method or, if it
 is not available, by parsing the value returned by
 DatabaseMetaData.getDatabaseProductVersion().
 | 
|  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
 Typesconstant for the givenJavaTypesorJavaSQLTypesconstant. | 
|  String | getPlaceholderValueString(Column col)Return a SQL string to act as a placeholder for the given column.
 | 
|  int | getPreferredType(int type)Return the preferred
 Typestype 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(DBIdentifier name,
              Table table)This method is used to filter system indexes from database metadata.
 | 
|  boolean | isSystemIndex(String name,
              Table table)This method is used to filter system indexes from database metadata.
 | 
|  OpenJPAException | newStoreException(String msg,
                  SQLException[] causes,
                  Object failed)Return a new exception that wraps
 causes. | 
|  void | setBigDecimal(PreparedStatement stmnt,
              int idx,
              BigDecimal val,
              Column col)Set the given value as a parameter to the statement.
 | 
|  void | setDouble(PreparedStatement stmnt,
          int idx,
          double val,
          Column col)Set the given value as a parameter to the statement.
 | 
|  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.
 | 
 
| Methods inherited from class org.apache.openjpa.jdbc.sql.DBDictionary | 
| addCastAsType, addErrorCode, appendCast, appendLength, appendNumericCast, appendSelect, appendSize, appendUpdates, appendXmlComparison, assertSupport, calculateValue, canOuterJoin, checkNameLength, closeDataSource, combineForeignKey, comment, comparison, configureNamingRules, convertSchemaCase, convertSchemaCase, copy, copy, createIndexIfNecessary, createIndexIfNecessary, decorate, deleteStream, delimitAll, endConfiguration, executeQuery, fromDBName, getAddForeignKeySQL, getArray, getAsciiStream, getBatchFetchSize, getBatchLimit, getBatchUpdateCount, getBigDecimal, getBigInteger, getBinaryStream, getBlob, getBlobObject, getBoolean, getByte, getBytes, getCalendar, getCastFunction, getCastFunction, getCatalogNameForMetadata, getCatalogNameForMetadata, getChar, getCharacterStream, getClob, getClobString, getColumnDBName, getColumnIdentifier, getColumnNameForMetadata, getColumnNameForMetadata, getColumns, getConversionKey, getCreateIndexSQL, getCreateSequenceSQL, getCreateTableSQL, getDate, getDate, getDeclareColumnSQL, getDefaultIdentifierRule, getDefaultSchemaName, getDeleteTableContentsSQL, getDeleteTargets, getDelimitedCase, getDelimitIdentifiers, getDouble, getDropColumnSQL, getDropForeignKeySQL, getDropIndexSQL, getDropSequenceSQL, getDropTableSQL, getFloat, getForeignKeyConstraintSQL, getForUpdateClause, getFrom, getFromSelect, getFullIdentifier, getFullName, getFullName, getFullName, getGeneratedKey, getGeneratedKeySequenceName, getGenKeySeqName, getIdentifierConcatenator, getIdentifierDelimiter, getIdentifierRule, getIdentifierRules, getIdentityColumnName, getImportedKeys, getImportedKeys, getImportedKeys, getImportedKeys, getIndexInfo, getIndexInfo, getInt, getInvalidColumnWordSet, getIsNotNullSQL, getIsNullSQL, getJDBCType, getJDBCType, getKey, getLeadingDelimiter, getLOBStream, getLocale, getLog, getLong, getMarkerForInsertUpdate, getNamingUtil, getNumber, getObject, getPrimaryKeys, getPrimaryKeys, getPrimaryKeysFromBestRowIdentifier, getPrimaryKeysFromBestRowIdentifier, getPrimaryKeysFromGetPrimaryKeys, getPrimaryKeysFromGetPrimaryKeys, getRef, getSchemaCase, getSchemaNameForMetadata, getSchemaNameForMetadata, getSelectOperation, getSelects, getSelectTableAliases, getSequence, getSequences, getSequences, getSequencesSQL, getShort, getString, getSupportsDelimitedIdentifiers, getSupportsXMLColumn, getTableNameForMetadata, getTableNameForMetadata, getTables, getTables, getTime, getTimestamp, getTrailingDelimiter, getTrimSchemaName, getTypeName, getTypeName, getUniqueConstraintSQL, getValidColumnName, getValidColumnName, getValidColumnName, getValidColumnName, getValidForeignKeyName, getValidForeignKeyName, getValidIndexName, getValidIndexName, getValidPrimaryKeyName, getValidSequenceName, getValidSequenceName, getValidTableName, getValidTableName, getValidUniqueName, getValidUniqueName, getVersionColumn, getVersionColumn, getWhere, getXMLTypeEncoding, handleWarning, insertBlobForStreamingLoad, insertClobForStreamingLoad, insertSize, isFatalException, isSelect, isSystemSequence, isSystemSequence, isSystemSequence, isSystemTable, isSystemTable, makeNameValid, makeNameValid, makeNameValid, makeNameValid, matchErrorState, mathFunction, narrow, needsToCreateIndex, needsToCreateIndex, newColumn, newForeignKey, newIndex, newPrimaryKey, newSequence, newTable, prepareStatement, putBytes, putChars, putString, refSchemaComponents, serialize, setArray, setAsciiStream, setBatchLimit, setBigInteger, setBinaryStream, setBlob, setBlobObject, setBoolean, setByte, setBytes, setCalendar, setChar, setCharacterStream, setClob, setClobString, setConfiguration, setDate, setDate, setDefaultSchemaName, setDelimitedCase, setDelimitIdentifiers, setFloat, setInt, setJoinSyntax, setLeadingDelimiter, setLocale, setLong, setNull, setNumber, setObject, setQueryTimeout, setRef, setShort, setStatementQueryTimeout, setString, setSupportsDelimitedIdentifiers, setSupportsXMLColumn, setTime, setTimeouts, setTimeouts, setTimestamp, setTrailingDelimiter, setTrimSchemaName, setTyped, setUnknown, setXMLTypeEncoding, shorten, startConfiguration, storageWarning, substring, supportsDeferredForeignKeyConstraints, supportsDeferredUniqueConstraints, supportsDeleteAction, supportsIsolationForUpdate, supportsLocking, supportsRandomAccessResultSet, supportsUpdateAction, toBulkOperation, toDBName, toDBName, toDelete, toLong, toNativeJoin, toOperation, toSelect, toSelect, toSelect, toSelect, toSelect, toSelectCount, toSQL92Join, toTraditionalJoin, toUpdate, updateBlob, updateClob, validateBatchProcess, validateDBSpecificBatchProcess | 
 
| Methods inherited from class java.lang.Object | 
| clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | 
 
cacheTables
public boolean cacheTables
- Sets whether HSQL should use "CREATED CACHED TABLE" rather than
 "CREATE TABLE", which allows disk-based database operations.
 
 
HSQLDictionary
public HSQLDictionary()
connectedConfiguration
public void connectedConfiguration(Connection conn)
                            throws SQLException
- Determine HSQLDB version and configure itself accordingly.
 
- 
- Overrides:
- connectedConfigurationin class- DBDictionary
 
- 
- Throws:
- SQLException
 
determineHSQLDBVersion
protected void determineHSQLDBVersion(Connection con)
                               throws SQLException
- Determine HSQLDB version either by using JDBC 3 method or, if it
 is not available, by parsing the value returned by
 DatabaseMetaData.getDatabaseProductVersion().
 
- 
- Throws:
- SQLException
 
getJDBCType
public int getJDBCType(int metaTypeCode,
                       boolean lob)
- Description copied from class: DBDictionary
- Return the preferred Typesconstant for the givenJavaTypesorJavaSQLTypesconstant.
 
- 
- Overrides:
- getJDBCTypein class- DBDictionary
 
- 
 
getPreferredType
public int getPreferredType(int type)
- Description copied from class: DBDictionary
- Return the preferred Typestype for the given one. Returns
 the given type by default.
 
- 
- Overrides:
- getPreferredTypein 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:
- getAddPrimaryKeySQLin 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:
- getDropPrimaryKeySQLin 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:
- getAddColumnSQLin 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:
- getCreateTableSQLin 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, org.apache.openjpa.jdbc.schema.SchemaGroup)andDBDictionary.getAddPrimaryKeySQL(org.apache.openjpa.jdbc.schema.PrimaryKey). ReturnsCONSTRAINT <pk name> PRIMARY KEY (<col list>)by default.
 
- 
- Overrides:
- getPrimaryKeyConstraintSQLin 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:
- isSystemIndexin class- DBDictionary
 
- 
- Parameters:
- name- the index name
- table- the index table
 
isSystemIndex
public boolean isSystemIndex(DBIdentifier 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:
- isSystemIndexin class- DBDictionary
 
- 
- Parameters:
- name- the index name
- table- 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:
- getSequencesSQLin class- DBDictionary
 
- 
 
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)
- Description copied from class: DBDictionary
- Return the SQL for the given selecting operation.
 
- 
- Overrides:
- toOperationin 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:
- getColumnsin class- DBDictionary
 
- 
- Throws:
- SQLException
 
setDouble
public void setDouble(PreparedStatement stmnt,
                      int idx,
                      double val,
                      Column col)
               throws SQLException
- Description copied from class: DBDictionary
- Set the given value as a parameter to the statement.
 
- 
- Overrides:
- setDoublein class- DBDictionary
 
- 
- Throws:
- SQLException
 
setBigDecimal
public void setBigDecimal(PreparedStatement stmnt,
                          int idx,
                          BigDecimal val,
                          Column col)
                   throws SQLException
- Description copied from class: DBDictionary
- Set the given value as a parameter to the statement.
 
- 
- Overrides:
- setBigDecimalin class- DBDictionary
 
- 
- Throws:
- SQLException
 
appendSelectRange
protected void appendSelectRange(SQLBuffer buf,
                                 long start,
                                 long end,
                                 boolean subselect)
- Description copied from class: DBDictionary
- If this dictionary can select ranges,
 use this method to append the range SQL.
 
- 
- Overrides:
- appendSelectRangein class- DBDictionary
 
- 
 
indexOf
public void indexOf(SQLBuffer buf,
                    FilterValue str,
                    FilterValue find,
                    FilterValue start)
- Description copied from class: DBDictionary
- Invoke this database's indexOf function.
 
- 
- Overrides:
- indexOfin class- DBDictionary
 
- 
- 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
 
getPlaceholderValueString
public String getPlaceholderValueString(Column col)
- Description copied from class: DBDictionary
- Return a SQL string to act as a placeholder for the given column.
 
- 
- Overrides:
- getPlaceholderValueStringin class- DBDictionary
 
- 
 
newStoreException
public OpenJPAException newStoreException(String msg,
                                          SQLException[] causes,
                                          Object failed)
- Description copied from class: DBDictionary
- 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 incauses.
 
- 
- Overrides:
- newStoreExceptionin class- DBDictionary
 
- 
 
Copyright © 2006-2011 Apache Software Foundation. All Rights Reserved.