public class MySQLAdapter extends BaseDatastoreAdapter
| Modifier and Type | Field and Description |
|---|---|
static String |
NONSQL92_RESERVED_WORDS
A string containing the list of MySQL keywords that are not also SQL/92
reserved words, separated by commas.
|
catalogSeparator, datastoreMajorVersion, datastoreMinorVersion, datastoreProductName, datastoreProductVersion, datastoreRevisionVersion, driverMajorVersion, driverMinorVersion, driverName, driverVersion, identifierQuoteString, maxColumnNameLength, maxConstraintNameLength, maxIndexNameLength, maxTableNameLength, properties, reservedKeywords, supportedJdbcTypesById, supportedOptions, unsupportedJdbcTypesByIdACCESS_PARENTQUERY_IN_SUBQUERY_JOINED, ALLOW_TABLE_ALIAS_IN_UPDATE_SET_CLAUSE, 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, 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, NULL_EQUALS_EMPTY_STRING, NULLS_IN_CANDIDATE_KEYS, NULLS_KEYWORD_IN_COLUMN_OPTIONS, ORDERBY_NULLS_DIRECTIVES, ORDERBY_USING_SELECT_COLUMN_INDEX, 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, SCHEMAS_IN_TABLE_DEFINITIONS, SEQUENCES, STATEMENT_BATCHING, STORED_PROCEDURES, 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, USE_UNION_ALL, VIEWS| Constructor and Description |
|---|
MySQLAdapter(DatabaseMetaData metadata)
Constructor.
|
| 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)
MySQL, when using AUTO_INCREMENT, requires the primary key specified
in the CREATE TABLE, so we do nothing here.
|
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)
Method to return the CREATE TABLE statement.
|
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)
Method to return the DROP TABLE statement.
|
String |
getEscapePatternExpression()
The character for escaping patterns.
|
String |
getRangeByLimitEndOfStatementClause(long offset,
long count)
Method to return the SQL to append to the WHERE clause of a SELECT statement to handle
restriction of ranges using the LIMUT keyword.
|
String |
getSelectNewUUIDStmt()
The function to creates a unique value of type uniqueidentifier.
|
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.
|
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.
|
addSQLTypeForJDBCType, getAdapterTime, getAddCandidateKeyStatement, getAddForeignKeyStatement, getAutoIncrementJavaTypeForType, getCatalogName, getCatalogSeparator, getCheckConstraintForValues, getColumns, getContinuationString, getCreateIndexStatement, getDatastoreDateStatement, getDatastoreDriverName, getDatastoreDriverVersion, getDatastoreIdentifierMaxLength, getDatastoreProductName, getDatastoreProductVersion, getDriverMajorVersion, getDriverMinorVersion, getDropViewStatement, getEscapeCharacter, getExistingIndexes, getIdentifierQuoteString, getInsertStatementForNoColumns, getJDBCTypeForName, getMappingManager, getMaxForeignKeys, getMaxIndexes, getMiliseconds, getNameForJDBCType, getNewUUIDFunction, getNumericConversionFunction, getOperatorConcat, getOrderString, getPatternExpressionAnyCharacter, getPatternExpressionZeroMoreCharacters, getRangeByRowNumberColumn, getRangeByRowNumberColumn2, getRequiredTransactionIsolationLevel, getSchemaName, getSelectForUpdateText, getSelectWithLockOption, getSequenceCreateStmt, getSequenceNextStmt, getSQLTypeInfoForJdbcType, getSupportedOptions, getSurrogateForEmptyStrings, getTime, getTransactionIsolationForSchemaCreation, getUnlimitedLengthPrecisionValue, getUpdateTableStatement, getValueForProperty, initialiseDatastore, isIdentityFieldDataType, isReservedKeyword, isStatementCancel, isStatementTimeout, isValidPrimaryKeyType, iteratorReservedWords, newFKInfo, removeUnsupportedMappings, sequenceExists, setProperties, supportsOption, supportsQueryFetchSize, supportsTransactionIsolation, toString, validToSelectMappingInStatementpublic static final String NONSQL92_RESERVED_WORDS
This list was produced based on the reserved word list in the MySQL Manual (Version 4.0.10-gamma) at http://www.mysql.com/doc/en/Reserved_words.html.
public MySQLAdapter(DatabaseMetaData metadata)
metadata - MetaData for the DBpublic 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()
DatastoreAdaptergetVendorID in interface DatastoreAdaptergetVendorID in class BaseDatastoreAdapterpublic RDBMSColumnInfo newRDBMSColumnInfo(ResultSet rs)
newRDBMSColumnInfo in interface DatastoreAdapternewRDBMSColumnInfo in class BaseDatastoreAdapterrs - ResultSet from DatabaseMetaData.getColumns()public SQLTypeInfo newSQLTypeInfo(ResultSet rs)
DatastoreAdapternewSQLTypeInfo in interface DatastoreAdapternewSQLTypeInfo in class BaseDatastoreAdapterrs - ResultSetpublic 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 getAddPrimaryKeyStatement(PrimaryKey pk, IdentifierFactory factory)
getAddPrimaryKeyStatement in interface DatastoreAdaptergetAddPrimaryKeyStatement in class BaseDatastoreAdapterpk - An object describing the primary key.factory - Identifier factorypublic String getCreateTableStatement(TableImpl table, Column[] columns, Properties props, IdentifierFactory factory)
getCreateTableStatement in interface DatastoreAdaptergetCreateTableStatement in class BaseDatastoreAdaptertable - The tablecolumns - The columns in the tableprops - Properties for controlling the table creationfactory - Identifier factorypublic String getDropTableStatement(Table table)
getDropTableStatement in interface DatastoreAdaptergetDropTableStatement in class BaseDatastoreAdaptertable - The tablepublic String getAddColumnStatement(Table table, Column col)
getAddColumnStatement in interface DatastoreAdaptergetAddColumnStatement in class BaseDatastoreAdaptertable - The tablecol - The columnpublic String getDeleteTableStatement(SQLTable tbl)
DELETE t1 FROM tbl t1. Doesn't include any where clause.getDeleteTableStatement in interface DatastoreAdaptergetDeleteTableStatement in class BaseDatastoreAdaptertbl - The SQLTable to deletepublic 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 getSelectNewUUIDStmt()
getSelectNewUUIDStmt in interface DatastoreAdaptergetSelectNewUUIDStmt in class BaseDatastoreAdapterpublic String getRangeByLimitEndOfStatementClause(long offset, long count)
getRangeByLimitEndOfStatementClause in interface DatastoreAdaptergetRangeByLimitEndOfStatementClause in class BaseDatastoreAdapteroffset - The offset to return fromcount - The number of items to returnpublic String getEscapePatternExpression()
getEscapePatternExpression in interface DatastoreAdaptergetEscapePatternExpression in class BaseDatastoreAdapterCopyright © 2015. All rights reserved.