public class SQLiteAdapter extends BaseDatastoreAdapter
Modifier and Type | Field and Description |
---|---|
protected static int |
MAX_IDENTIFIER_LENGTH |
catalogSeparator, datastoreMajorVersion, datastoreMinorVersion, datastoreProductName, datastoreProductVersion, datastoreRevisionVersion, driverMajorVersion, driverMinorVersion, driverName, driverVersion, identifierQuoteString, maxColumnNameLength, maxConstraintNameLength, maxIndexNameLength, maxTableNameLength, properties, reservedKeywords, supportedJdbcTypesById, supportedOptions, unsupportedJdbcTypesById
ACCESS_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 |
---|
SQLiteAdapter(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)
Returns the appropriate SQL to add a foreign key to its table.
|
String |
getAddPrimaryKeyStatement(PrimaryKey pk,
IdentifierFactory factory)
Returns the appropriate SQL to add a primary key to its table.
|
Class |
getAutoIncrementJavaTypeForType(Class type)
Return the java type that represents any autoincrement/identity column value.
|
String |
getAutoIncrementKeyword()
Accessor for the autoincrementing keyword for generating DDLs.
|
String |
getAutoIncrementStmt(Table table,
String columnName)
Accessor for the autoincrementing 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 |
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)
Returns the appropriate SQL to drop the given table.
|
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.
|
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.
|
void |
initialiseTypes(org.datanucleus.store.schema.StoreSchemaHandler handler,
org.datanucleus.store.connection.ManagedConnection mconn)
Initialise the types for this datastore.
|
addSQLTypeForJDBCType, getAdapterTime, getAddColumnStatement, getCatalogName, getCatalogSeparator, getCheckConstraintForValues, getColumns, getContinuationString, getCreateIndexStatement, getCreateTableStatement, 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, getSelectNewUUIDStmt, getSelectWithLockOption, getSequenceCreateStmt, getSequenceNextStmt, getSQLTypeInfoForJdbcType, getSupportedOptions, getSurrogateForEmptyStrings, getTime, getTransactionIsolationForSchemaCreation, getUnlimitedLengthPrecisionValue, getValueForProperty, initialiseDatastore, isIdentityFieldDataType, isReservedKeyword, isStatementCancel, isStatementTimeout, isValidPrimaryKeyType, iteratorReservedWords, newFKInfo, newRDBMSColumnInfo, newSQLTypeInfo, removeUnsupportedMappings, sequenceExists, setProperties, supportsOption, supportsQueryFetchSize, supportsTransactionIsolation, toString, validToIndexMapping, validToSelectMappingInStatement
protected static final int MAX_IDENTIFIER_LENGTH
public SQLiteAdapter(DatabaseMetaData metadata)
metadata
- MetaData for the Databasepublic String getVendorID()
DatastoreAdapter
getVendorID
in interface DatastoreAdapter
getVendorID
in class BaseDatastoreAdapter
public void initialiseTypes(org.datanucleus.store.schema.StoreSchemaHandler handler, org.datanucleus.store.connection.ManagedConnection mconn)
BaseDatastoreAdapter
initialiseTypes
in interface DatastoreAdapter
initialiseTypes
in class BaseDatastoreAdapter
handler
- SchemaHandler that we initialise the types formconn
- Managed connection to usepublic String getCreateDatabaseStatement(String catalogName, String schemaName)
DatastoreAdapter
getCreateDatabaseStatement
in interface DatastoreAdapter
getCreateDatabaseStatement
in class BaseDatastoreAdapter
catalogName
- name of the catalogschemaName
- Name of the schemapublic String getDropDatabaseStatement(String catalogName, String schemaName)
DatastoreAdapter
getDropDatabaseStatement
in interface DatastoreAdapter
getDropDatabaseStatement
in class BaseDatastoreAdapter
catalogName
- Name of the catalogschemaName
- Name of the schemapublic String getDropTableStatement(Table table)
BaseDatastoreAdapter
DROP TABLE FOO CASCADE
getDropTableStatement
in interface DatastoreAdapter
getDropTableStatement
in class BaseDatastoreAdapter
table
- The table to drop.public String getAddPrimaryKeyStatement(PrimaryKey pk, IdentifierFactory factory)
BaseDatastoreAdapter
ALTER TABLE FOO ADD CONSTRAINT FOO_PK PRIMARY KEY (BAR) ALTER TABLE FOO ADD PRIMARY KEY (BAR)
getAddPrimaryKeyStatement
in interface DatastoreAdapter
getAddPrimaryKeyStatement
in class BaseDatastoreAdapter
pk
- An object describing the primary key.factory
- Identifier factorypublic String getAddCandidateKeyStatement(CandidateKey ck, IdentifierFactory factory)
BaseDatastoreAdapter
ALTER TABLE FOO ADD CONSTRAINT FOO_CK UNIQUE (BAZ) ALTER TABLE FOO ADD UNIQUE (BAZ)
getAddCandidateKeyStatement
in interface DatastoreAdapter
getAddCandidateKeyStatement
in class BaseDatastoreAdapter
ck
- An object describing the candidate key.factory
- Identifier factorypublic String getAddForeignKeyStatement(ForeignKey fk, IdentifierFactory factory)
BaseDatastoreAdapter
ALTER TABLE FOO ADD CONSTRAINT FOO_FK1 FOREIGN KEY (BAR, BAZ) REFERENCES ABC (COL1, COL2) ALTER TABLE FOO ADD FOREIGN KEY (BAR, BAZ) REFERENCES ABC (COL1, COL2)
getAddForeignKeyStatement
in interface DatastoreAdapter
getAddForeignKeyStatement
in class BaseDatastoreAdapter
fk
- An object describing the foreign key.factory
- Identifier factorypublic SQLText getUpdateTableStatement(SQLTable tbl, SQLText setSQL)
UPDATE SCH1.TBL1 SET x1 = val1, x2 = val2
since SQLite doesn't allow any aliases in UPDATEs.getUpdateTableStatement
in interface DatastoreAdapter
getUpdateTableStatement
in class BaseDatastoreAdapter
tbl
- The primary tablesetSQL
- The SQLText for the SET componentpublic String getDeleteTableStatement(SQLTable tbl)
DELETE FROM SCH1.TBL1
since SQLite doesn't allow any aliases in DELETEs.getDeleteTableStatement
in interface DatastoreAdapter
getDeleteTableStatement
in class BaseDatastoreAdapter
tbl
- The SQLTable to deletepublic String getRangeByLimitEndOfStatementClause(long offset, long count, boolean hasOrdering)
getRangeByLimitEndOfStatementClause
in interface DatastoreAdapter
getRangeByLimitEndOfStatementClause
in class BaseDatastoreAdapter
offset
- The offset to return fromcount
- The number of items to returnhasOrdering
- Whether ordering is presentpublic String getAutoIncrementStmt(Table table, String columnName)
BaseDatastoreAdapter
getAutoIncrementStmt
in interface DatastoreAdapter
getAutoIncrementStmt
in class BaseDatastoreAdapter
table
- Name of the table that the autoincrement is forcolumnName
- Name of the column that the autoincrement is forpublic String getAutoIncrementKeyword()
BaseDatastoreAdapter
getAutoIncrementKeyword
in interface DatastoreAdapter
getAutoIncrementKeyword
in class BaseDatastoreAdapter
public Class getAutoIncrementJavaTypeForType(Class type)
DatastoreAdapter
getAutoIncrementJavaTypeForType
in interface DatastoreAdapter
getAutoIncrementJavaTypeForType
in class BaseDatastoreAdapter
type
- The type of the member mapping to an IDENTITY columnCopyright © 2017. All rights reserved.