public class SQLAnywhereAdapter extends BaseDatastoreAdapter
| Modifier and Type | Field and Description |
|---|---|
protected int |
datastoreBuildVersion
SQL Anywhere uses a product version of "major.minor.revision.build"
|
protected int |
driverBuildVersion |
protected boolean |
usingjConnect |
catalogSeparator, datastoreMajorVersion, datastoreMinorVersion, datastoreProductName, datastoreProductVersion, datastoreRevisionVersion, driverMajorVersion, driverMinorVersion, driverName, driverVersion, identifierQuoteString, maxColumnNameLength, maxConstraintNameLength, maxIndexNameLength, maxTableNameLength, properties, reservedKeywords, 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, AUTO_INCREMENT_COLUMN_TYPE_SPECIFICATION, AUTO_INCREMENT_KEYS_NULL_SPECIFICATION, AUTO_INCREMENT_PK_IN_CREATE_TABLE_COLUMN_DEF, 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, 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_COLUMNS, 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, 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, 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, VIEWS| Constructor and Description |
|---|
SQLAnywhereAdapter(DatabaseMetaData metadata)
Constructor.
|
| Modifier and Type | Method and Description |
|---|---|
String |
getAddCandidateKeyStatement(CandidateKey ck,
IdentifierFactory factory)
Returns the appropriate SQL to add a candidate key to its table.
|
String |
getAddForeignKeyStatement(ForeignKey fk,
IdentifierFactory factory)
Method to define a foreign key definition
|
String |
getAddPrimaryKeyStatement(PrimaryKey pk,
IdentifierFactory factory)
Method to define a primary key definition
|
String |
getAutoIncrementKeyword()
Accessor for the auto-increment keyword for generating DDLs (CREATE TABLEs...).
|
String |
getAutoIncrementStmt(Table table,
String columnName)
Accessor for the auto-increment sql statement for this datastore.
|
String |
getCreateDatabaseStatement(String catalogName,
String schemaName)
Method to return the statement necessary to create a database with this RDBMS.
|
String |
getCreateTableStatement(TableImpl table,
Column[] columns,
Properties props,
IdentifierFactory factory)
Returns the appropriate SQL to create the given table having the given columns.
|
String |
getDeleteTableStatement(SQLTable tbl)
Method to return the basic SQL for a DELETE TABLE statement.
|
String |
getDropDatabaseStatement(String catalogName,
String schemaName)
Method to return the statement necessary to drop a database with this RDBMS.
|
String |
getDropTableStatement(Table table)
Accessor for the DROP TABLE statement for SQL Anywhere SQL Anywhere doesn't support CASCADE so just
return a simple 'DROP TABLE table-name'
|
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 |
getSelectNewUUIDStmt()
The function to creates a unique value of type uniqueidentifier.
|
String |
getSelectWithLockOption()
The option to specify in "SELECT ...
|
String |
getSequenceCreateStmt(String sequence_name,
Integer min,
Integer max,
Integer start,
Integer increment,
Integer cache_size)
Accessor for the sequence statement to create the sequence.
|
String |
getSequenceNextStmt(String sequence_name)
Accessor for the statement for getting the next id from the sequence for this datastore.
|
SQLText |
getUpdateTableStatement(SQLTable tbl,
SQLText setSQL)
Method to return the SQLText for an UPDATE TABLE statement.
|
String |
getVendorID()
Accessor for the Vendor ID for this datastore.
|
RDBMSColumnInfo |
newRDBMSColumnInfo(ResultSet rs)
Method to create a column info for the current row.
|
SQLTypeInfo |
newSQLTypeInfo(ResultSet rs)
Create a new SQL type info from the current row of the passed ResultSet.
|
boolean |
sequenceExists(Connection conn,
String catalogName,
String schemaName,
String seqName)
Determine if a sequence exists.
|
addSQLTypeForJDBCType, getAdapterTime, getAddColumnStatement, getAutoIncrementJavaTypeForType, getCatalogName, getCatalogSeparator, getCheckConstraintForValues, getColumns, getContinuationString, getCreateIndexStatement, getDatastoreDateStatement, getDatastoreDriverName, getDatastoreDriverVersion, getDatastoreIdentifierMaxLength, getDatastoreProductName, getDatastoreProductVersion, getDriverMajorVersion, getDriverMinorVersion, getDropViewStatement, getEscapeCharacter, getEscapePatternExpression, getExistingIndexes, getIdentifierQuoteString, getInsertStatementForNoColumns, getJDBCTypeForName, getMappingManager, getMaxForeignKeys, getMaxIndexes, getMiliseconds, getNameForJDBCType, getNewUUIDFunction, getNumericConversionFunction, getOperatorConcat, getOrderString, getPatternExpressionAnyCharacter, getPatternExpressionZeroMoreCharacters, getRangeByRowNumberColumn, getRangeByRowNumberColumn2, getRequiredTransactionIsolationLevel, getSchemaName, getSelectForUpdateText, getSQLTypeInfoForJdbcType, getSupportedOptions, getSurrogateForEmptyStrings, getTime, getTransactionIsolationForSchemaCreation, getUnlimitedLengthPrecisionValue, getValueForProperty, initialiseDatastore, initialiseTypes, isIdentityFieldDataType, isReservedKeyword, isStatementCancel, isStatementTimeout, isValidPrimaryKeyType, iteratorReservedWords, newFKInfo, removeUnsupportedMappings, setProperties, supportsOption, supportsQueryFetchSize, supportsTransactionIsolation, toString, validToIndexMapping, validToSelectMappingInStatementprotected int datastoreBuildVersion
protected int driverBuildVersion
protected boolean usingjConnect
public SQLAnywhereAdapter(DatabaseMetaData metadata)
metadata - MetaData for the DBpublic String getAddCandidateKeyStatement(CandidateKey ck, IdentifierFactory factory)
ALTER TABLE FOO ADD CONSTRAINT FOO_CK UNIQUE (BAZ) ALTER TABLE FOO ADD UNIQUE (BAZ)
getAddCandidateKeyStatement in interface DatastoreAdaptergetAddCandidateKeyStatement in class BaseDatastoreAdapterck - An object describing the candidate key.factory - Identifier factorypublic String getVendorID()
DatastoreAdaptergetVendorID in interface DatastoreAdaptergetVendorID in class BaseDatastoreAdapterpublic String getCreateDatabaseStatement(String catalogName, String schemaName) throws UnsupportedOperationException
DatastoreAdaptergetCreateDatabaseStatement in interface DatastoreAdaptergetCreateDatabaseStatement in class BaseDatastoreAdaptercatalogName - name of the catalogschemaName - Name of the schemaUnsupportedOperationExceptionpublic String getDropDatabaseStatement(String catalogName, String schemaName) throws UnsupportedOperationException
DatastoreAdaptergetDropDatabaseStatement in interface DatastoreAdaptergetDropDatabaseStatement in class BaseDatastoreAdaptercatalogName - Name of the catalogschemaName - Name of the schemaUnsupportedOperationExceptionpublic String getCreateTableStatement(TableImpl table, Column[] columns, Properties props, IdentifierFactory factory)
CREATE TABLE FOO ( BAR VARCHAR(30), BAZ INTEGER )
getCreateTableStatement in interface DatastoreAdaptergetCreateTableStatement in class BaseDatastoreAdaptertable - The table to create.columns - The columns of the table.props - Properties for controlling the table creationfactory - Factory for identifierspublic String getDropTableStatement(Table table)
getDropTableStatement in interface DatastoreAdaptergetDropTableStatement in class BaseDatastoreAdaptertable - The table to drop.public String getSelectWithLockOption()
getSelectWithLockOption in interface DatastoreAdaptergetSelectWithLockOption in class BaseDatastoreAdapterpublic String getDeleteTableStatement(SQLTable tbl)
DELETE MYTABLE FROM MYTABLE t1.getDeleteTableStatement in interface DatastoreAdaptergetDeleteTableStatement in class BaseDatastoreAdaptertbl - The SQLTable to deletepublic String getAddPrimaryKeyStatement(PrimaryKey pk, IdentifierFactory factory)
getAddPrimaryKeyStatement in interface DatastoreAdaptergetAddPrimaryKeyStatement in class BaseDatastoreAdapterpk - An object describing the primary key.factory - Identifier factorypublic String getAddForeignKeyStatement(ForeignKey fk, IdentifierFactory factory)
getAddForeignKeyStatement in interface DatastoreAdaptergetAddForeignKeyStatement in class BaseDatastoreAdapterfk - An object describing the foreign key.factory - Identifier factorypublic SQLText getUpdateTableStatement(SQLTable tbl, SQLText setSQL)
UPDATE T1 SET x1 = val1, x2 = val2 FROM MYTBL T1. Override if the datastore doesn't
support that standard syntax.getUpdateTableStatement in interface DatastoreAdaptergetUpdateTableStatement in class BaseDatastoreAdaptertbl - The primary tablesetSQL - The SQLText for the SET componentpublic SQLTypeInfo newSQLTypeInfo(ResultSet rs)
DatastoreAdapternewSQLTypeInfo in interface DatastoreAdapternewSQLTypeInfo in class BaseDatastoreAdapterrs - ResultSetpublic RDBMSColumnInfo newRDBMSColumnInfo(ResultSet rs)
newRDBMSColumnInfo in interface DatastoreAdapternewRDBMSColumnInfo in class BaseDatastoreAdapterrs - ResultSet from DatabaseMetaData.getColumns()public String getAutoIncrementStmt(Table table, String columnName)
getAutoIncrementStmt in interface DatastoreAdaptergetAutoIncrementStmt in class BaseDatastoreAdaptertable - Name of the table that the autoincrement is forcolumnName - Name of the column that the autoincrement is forpublic String getAutoIncrementKeyword()
getAutoIncrementKeyword in interface DatastoreAdaptergetAutoIncrementKeyword in class BaseDatastoreAdapterpublic String getSequenceCreateStmt(String sequence_name, Integer min, Integer max, Integer start, Integer increment, Integer cache_size)
getSequenceCreateStmt in interface DatastoreAdaptergetSequenceCreateStmt in class BaseDatastoreAdaptersequence_name - Name of the sequencemin - Minimum value for the sequencemax - Maximum value for the sequencestart - Start value for the sequenceincrement - Increment value for the sequencecache_size - Cache size for the sequencepublic boolean sequenceExists(Connection conn, String catalogName, String schemaName, String seqName)
sequenceExists in interface DatastoreAdaptersequenceExists in class BaseDatastoreAdapterconn - Connection to databasecatalogName - Database catalog nameschemaName - Database schema nameseqName - Name of the sequencepublic String getSequenceNextStmt(String sequence_name)
getSequenceNextStmt in interface DatastoreAdaptergetSequenceNextStmt in class BaseDatastoreAdaptersequence_name - Name of the sequencepublic String getSelectNewUUIDStmt()
getSelectNewUUIDStmt in interface DatastoreAdaptergetSelectNewUUIDStmt in class BaseDatastoreAdapterpublic String getRangeByLimitEndOfStatementClause(long offset, long count, boolean hasOrdering) throws UnsupportedOperationException
getRangeByLimitEndOfStatementClause in interface DatastoreAdaptergetRangeByLimitEndOfStatementClause in class BaseDatastoreAdapteroffset - The offset to return fromcount - The number of items to returnhasOrdering - Whether ordering is presentUnsupportedOperationExceptionCopyright © 2017. All rights reserved.