public class H2Adapter extends BaseDatastoreAdapter
BaseDatastoreAdapter.ColumnTypeMappingscatalogSeparator, datastoreMajorVersion, datastoreMinorVersion, datastoreProductName, datastoreProductVersion, datastoreRevisionVersion, driverMajorVersion, driverMinorVersion, driverName, driverVersion, identifierQuoteString, MAX_IDENTIFIER_LENGTH, maxColumnNameLength, maxConstraintNameLength, maxIndexNameLength, maxTableNameLength, NONRESERVED_WORDS, properties, reservedKeywords, SQL2003_RESERVED_WORDS, SQL92_RESERVED_WORDS, SQL99_RESERVED_WORDS, supportedJdbcTypesById, supportedOptions, unsupportedJdbcTypesByIdACCESS_PARENTQUERY_IN_SUBQUERY_JOINED, ALTER_TABLE_DROP_CONSTRAINT_SYNTAX, ALTER_TABLE_DROP_FOREIGN_KEY_CONSTRAINT, ANALYSIS_METHODS, ANSI_CROSSJOIN_SYNTAX, ANSI_JOIN_SYNTAX, BIT_IS_REALLY_BOOLEAN, BLOB_SET_USING_SETSTRING, BOOLEAN_COMPARISON, CATALOGS_IN_TABLE_DEFINITIONS, CHAR_COLUMNS_PADDED_WITH_SPACES, CHECK_IN_CREATE_STATEMENTS, CHECK_IN_END_CREATE_STATEMENTS, CLOB_SET_USING_SETSTRING, COLUMN_LENGTH_SEMANTICS, CREATE_INDEXES_BEFORE_FOREIGN_KEYS, CROSSJOIN_ASINNER11_SYNTAX, DATETIME_STORES_MILLISECS, DEFAULT_BEFORE_NULL_IN_COLUMN_OPTIONS, DEFAULT_KEYWORD_IN_COLUMN_OPTIONS, DEFAULT_KEYWORD_WITH_NOT_NULL_IN_COLUMN_OPTIONS, DEFERRED_CONSTRAINTS, DISTINCT_WITH_SELECT_FOR_UPDATE, ESCAPE_EXPRESSION_IN_LIKE_PREDICATE, EXISTS_SYNTAX, FK_DELETE_ACTION_CASCADE, FK_DELETE_ACTION_DEFAULT, FK_DELETE_ACTION_NULL, FK_DELETE_ACTION_RESTRICT, FK_IN_END_CREATE_STATEMENTS, FK_UPDATE_ACTION_CASCADE, FK_UPDATE_ACTION_DEFAULT, FK_UPDATE_ACTION_NULL, FK_UPDATE_ACTION_RESTRICT, GET_GENERATED_KEYS_STATEMENT, GROUP_BY_REQUIRES_ALL_SELECT_PRIMARIES, GROUPING_WITH_SELECT_FOR_UPDATE, HAVING_WITH_SELECT_FOR_UPDATE, HOLD_CURSORS_OVER_COMMIT, IDENTIFIERS_LOWERCASE, IDENTIFIERS_LOWERCASE_QUOTED, IDENTIFIERS_MIXEDCASE, IDENTIFIERS_MIXEDCASE_QUOTED, IDENTIFIERS_MIXEDCASE_QUOTED_SENSITIVE, IDENTIFIERS_MIXEDCASE_SENSITIVE, IDENTIFIERS_UPPERCASE, IDENTIFIERS_UPPERCASE_QUOTED, IDENTITY_COLUMN_TYPE_SPECIFICATION, IDENTITY_COLUMNS, IDENTITY_KEYS_NULL_SPECIFICATION, IDENTITY_PK_IN_CREATE_TABLE_COLUMN_DEF, INCLUDE_ORDERBY_COLS_IN_SELECT, LOCK_OPTION_PLACED_AFTER_FROM, LOCK_OPTION_PLACED_WITHIN_JOIN, LOCK_WITH_SELECT_FOR_UPDATE, MULTITABLES_WITH_SELECT_FOR_UPDATE, NATIVE_ENUM_TYPE, NULL_EQUALS_EMPTY_STRING, NULLS_IN_CANDIDATE_KEYS, NULLS_KEYWORD_IN_COLUMN_OPTIONS, OPERATOR_BITWISE_AND, OPERATOR_BITWISE_OR, OPERATOR_BITWISE_XOR, ORDERBY_NULLS_DIRECTIVES, ORDERBY_NULLS_USING_CASE_NULL, ORDERBY_NULLS_USING_COLUMN_IS_NULL, ORDERBY_NULLS_USING_ISNULL, ORDERBY_USING_SELECT_COLUMN_INDEX, ORDERING_WITH_SELECT_FOR_UPDATE, PARAMETER_IN_CASE_IN_UPDATE_CLAUSE, PERSIST_OF_UNASSIGNED_CHAR, PRIMARYKEY_IN_CREATE_STATEMENTS, PROJECTION_IN_TABLE_REFERENCE_JOINS, RESULTSET_TYPE_FORWARD_ONLY, RESULTSET_TYPE_SCROLL_INSENSITIVE, RESULTSET_TYPE_SCROLL_SENSITIVE, RIGHT_OUTER_JOIN, SCHEMAS_IN_TABLE_DEFINITIONS, SELECT_FOR_UPDATE_NOWAIT, SEQUENCES, SOME_ANY_ALL_SUBQUERY_EXPRESSIONS, STATEMENT_BATCHING, STORED_PROCEDURES, SUBQUERY_IN_HAVING, TX_ISOLATION_NONE, TX_ISOLATION_READ_COMMITTED, TX_ISOLATION_READ_UNCOMMITTED, TX_ISOLATION_REPEATABLE_READ, TX_ISOLATION_SERIALIZABLE, UNION_SYNTAX, UNIQUE_IN_END_CREATE_STATEMENTS, UPDATE_DELETE_STATEMENT_ALLOW_TABLE_ALIAS_IN_WHERE_CLAUSE, UPDATE_STATEMENT_ALLOW_TABLE_ALIAS_IN_SET_CLAUSE, USE_UNION_ALL, VALUE_GENERATION_UUID_STRING, VIEWS| Constructor and Description |
|---|
H2Adapter(DatabaseMetaData metadata)
Constructs a H2 adapter based on the given JDBC metadata.
|
| Modifier and Type | Method and Description |
|---|---|
String |
getAddColumnStatement(Table table,
Column col)
Accessor for the SQL statement to add a column to a table.
|
String |
getAddPrimaryKeyStatement(PrimaryKey pk,
IdentifierFactory factory)
Use of ALTER TABLE ADD CONSTRAINT to add a PK.
|
String |
getCreateDatabaseStatement(String catalogName,
String schemaName)
Method to return the statement necessary to create a database with this RDBMS.
|
String |
getCreateIndexStatement(Index idx,
IdentifierFactory factory)
Returns the appropriate DDL to create an index.
|
int |
getDatastoreIdentifierMaxLength(IdentifierType identifierType)
Method to return the maximum length of a datastore identifier of the specified type.
|
String |
getDropDatabaseStatement(String catalogName,
String schemaName)
Method to return the statement necessary to drop a database with this RDBMS.
|
String |
getIdentityKeyword()
Accessor for the auto-increment keyword for generating DDLs (CREATE TABLEs...).
|
String |
getIdentityLastValueStmt(Table table,
String columnName)
Accessor for the auto-increment sql statement for this datastore.
|
String |
getInsertStatementForNoColumns(Table table)
Method to return the INSERT statement to use when inserting into a table that has no columns specified.
|
String |
getRangeByLimitEndOfStatementClause(long offset,
long count,
boolean hasOrdering)
Method to return the SQL to append to the WHERE clause of a SELECT statement to handle
restriction of ranges using the LIMIT keyword.
|
String |
getSchemaName(Connection conn)
Accessor for the Schema Name for this datastore.
|
String |
getSequenceCreateStmt(String sequenceName,
Integer min,
Integer max,
Integer start,
Integer increment,
Integer cacheSize)
Accessor for the sequence statement to create the sequence.
|
String |
getSequenceNextStmt(String sequenceName)
Accessor for the statement for getting the next id from the sequence for this datastore.
|
Class |
getSQLMethodClass(String className,
String methodName,
org.datanucleus.ClassLoaderResolver clr)
Accessor for the SQLMethod class for the query invocation of specified class + method name (if available for this datastore).
|
Class |
getSQLOperationClass(String operationName)
Accessor for the SQLOperation class for the specified operation (if available for this datastore).
|
String |
getVendorID()
Accessor for the vendor ID for this adapter.
|
void |
initialiseTypes(org.datanucleus.store.schema.StoreSchemaHandler handler,
org.datanucleus.store.connection.ManagedConnection mconn)
Initialise the types for this datastore.
|
boolean |
isStatementCancel(SQLException sqle)
Return whether this exception represents a cancelled statement.
|
boolean |
isValidPrimaryKeyType(org.datanucleus.metadata.JdbcType datatype)
Accessor for whether the specified type is allow to be part of a PK.
|
protected void |
loadColumnMappings(org.datanucleus.plugin.PluginManager mgr,
org.datanucleus.ClassLoaderResolver clr)
Load all datastore mappings for this RDBMS database.
|
SQLTypeInfo |
newSQLTypeInfo(ResultSet rs)
Create a new SQL type info from the current row of the passed ResultSet.
|
addSQLTypeForJDBCType, deregisterColumnMappingsForJDBCType, getAdapterTime, getAddCandidateKeyStatement, getAddForeignKeyStatement, getCatalogName, getCatalogSeparator, getCheckConstraintForValues, getColumnMappingClass, getColumns, getContinuationString, getCreateTableStatement, getDatastoreDateStatement, getDatastoreDriverName, getDatastoreDriverVersion, getDatastoreProductName, getDatastoreProductVersion, getDefaultSqlTypeForJavaType, getDeleteTableStatement, getDriverMajorVersion, getDriverMinorVersion, getDropTableStatement, getDropViewStatement, getEscapeCharacter, getEscapePatternExpression, getExistingIndexes, getIdentifierQuoteString, getIdentityJavaTypeForType, getJDBCTypeForName, getMappingManager, getMaxForeignKeys, getMaxIndexes, getMiliseconds, getNameForJDBCType, getNewUUIDFunction, getNumericConversionFunction, getOrderString, getPatternExpressionAnyCharacter, getPatternExpressionZeroMoreCharacters, getPreferredDefaultSQLTypeForJDBCType, getRangeByRowNumberColumn, getRangeByRowNumberColumn2, getRequiredTransactionIsolationLevel, getSelectForUpdateText, getSelectNewUUIDStmt, getSelectWithLockOption, getSQLTypeInfoForJdbcType, getSupportedOptions, getSurrogateForEmptyStrings, getTime, getTransactionIsolationForSchemaCreation, getUnlimitedLengthPrecisionValue, getUpdateTableStatement, getValueForProperty, initialise, initialiseDatastore, isIdentityFieldDataType, isReservedKeyword, isStatementTimeout, iteratorReservedWords, newFKInfo, newRDBMSColumnInfo, registerColumnMapping, registerColumnMapping, sequenceExists, setProperties, supportsOption, supportsQueryFetchSize, supportsTransactionIsolation, toString, validToIndexMapping, validToSelectMappingInStatementpublic H2Adapter(DatabaseMetaData metadata)
metadata - the database metadata.public void initialiseTypes(org.datanucleus.store.schema.StoreSchemaHandler handler,
org.datanucleus.store.connection.ManagedConnection mconn)
initialiseTypes in interface DatastoreAdapterinitialiseTypes in class BaseDatastoreAdapterhandler - SchemaHandler that we initialise the types formconn - Managed connection to usepublic String getVendorID()
getVendorID in interface DatastoreAdaptergetVendorID in class BaseDatastoreAdapterpublic SQLTypeInfo newSQLTypeInfo(ResultSet rs)
DatastoreAdapternewSQLTypeInfo in interface DatastoreAdapternewSQLTypeInfo in class BaseDatastoreAdapterrs - ResultSetpublic int getDatastoreIdentifierMaxLength(IdentifierType identifierType)
getDatastoreIdentifierMaxLength in interface DatastoreAdaptergetDatastoreIdentifierMaxLength in class BaseDatastoreAdapteridentifierType - Type of identifier (see IdentifierFactory.TABLE, etc)public String getCreateDatabaseStatement(String catalogName, String schemaName)
DatastoreAdaptergetCreateDatabaseStatement in interface DatastoreAdaptergetCreateDatabaseStatement in class BaseDatastoreAdaptercatalogName - name of the catalogschemaName - Name of the schemapublic String getDropDatabaseStatement(String catalogName, String schemaName)
DatastoreAdaptergetDropDatabaseStatement in interface DatastoreAdaptergetDropDatabaseStatement in class BaseDatastoreAdaptercatalogName - Name of the catalogschemaName - Name of the schemapublic String getAddColumnStatement(Table table, Column col)
getAddColumnStatement in interface DatastoreAdaptergetAddColumnStatement in class BaseDatastoreAdaptertable - The tablecol - The columnpublic String getCreateIndexStatement(Index idx, IdentifierFactory factory)
BaseDatastoreAdapterCREATE INDEX FOO_N1 ON FOO (BAR,BAZ) [Extended Settings] CREATE UNIQUE INDEX FOO_U1 ON FOO (BAR,BAZ) [Extended Settings]
getCreateIndexStatement in interface DatastoreAdaptergetCreateIndexStatement in class BaseDatastoreAdapteridx - An object describing the index.factory - Identifier factorypublic String getRangeByLimitEndOfStatementClause(long offset, long count, boolean hasOrdering)
getRangeByLimitEndOfStatementClause in interface DatastoreAdaptergetRangeByLimitEndOfStatementClause in class BaseDatastoreAdapteroffset - The offset to return fromcount - The number of items to returnhasOrdering - Whether ordering is presentpublic String getSchemaName(Connection conn) throws SQLException
getSchemaName in interface DatastoreAdaptergetSchemaName in class BaseDatastoreAdapterconn - Connection to the datastoreSQLException - Thrown if error occurs in determining the schema name.public String getAddPrimaryKeyStatement(PrimaryKey pk, IdentifierFactory factory)
getAddPrimaryKeyStatement in interface DatastoreAdaptergetAddPrimaryKeyStatement in class BaseDatastoreAdapterpk - An object describing the primary key.factory - Identifier factorypublic String getIdentityLastValueStmt(Table table, String columnName)
getIdentityLastValueStmt in interface DatastoreAdaptergetIdentityLastValueStmt in class BaseDatastoreAdaptertable - Name of the table that the autoincrement is forcolumnName - Name of the column that the autoincrement is forpublic String getIdentityKeyword()
getIdentityKeyword in interface DatastoreAdaptergetIdentityKeyword in class BaseDatastoreAdapterpublic String getInsertStatementForNoColumns(Table table)
getInsertStatementForNoColumns in interface DatastoreAdaptergetInsertStatementForNoColumns in class BaseDatastoreAdaptertable - The tablepublic boolean isValidPrimaryKeyType(org.datanucleus.metadata.JdbcType datatype)
isValidPrimaryKeyType in interface DatastoreAdapterisValidPrimaryKeyType in class BaseDatastoreAdapterdatatype - The JDBC typepublic String getSequenceCreateStmt(String sequenceName, Integer min, Integer max, Integer start, Integer increment, Integer cacheSize)
getSequenceCreateStmt in interface DatastoreAdaptergetSequenceCreateStmt in class BaseDatastoreAdaptersequenceName - Name of the sequencemin - Minimum value for the sequencemax - Maximum value for the sequencestart - Start value for the sequenceincrement - Increment value for the sequencecacheSize - Cache size for the sequencepublic String getSequenceNextStmt(String sequenceName)
getSequenceNextStmt in interface DatastoreAdaptergetSequenceNextStmt in class BaseDatastoreAdaptersequenceName - Name of the sequencepublic boolean isStatementCancel(SQLException sqle)
isStatementCancel in interface DatastoreAdapterisStatementCancel in class BaseDatastoreAdaptersqle - the exceptionpublic Class getSQLOperationClass(String operationName)
DatastoreAdaptergetSQLOperationClass in interface DatastoreAdaptergetSQLOperationClass in class BaseDatastoreAdapteroperationName - operation namepublic Class getSQLMethodClass(String className, String methodName, org.datanucleus.ClassLoaderResolver clr)
DatastoreAdaptergetSQLMethodClass in interface DatastoreAdaptergetSQLMethodClass in class BaseDatastoreAdapterclassName - Name of the class (or null if this is a STATIC method)methodName - Method nameclr - ClassLoader resolver, in case className is a subclass of a supported typeprotected void loadColumnMappings(org.datanucleus.plugin.PluginManager mgr,
org.datanucleus.ClassLoaderResolver clr)
loadColumnMappings in class BaseDatastoreAdaptermgr - the PluginManagerclr - the ClassLoaderResolverCopyright © 2020. All rights reserved.