public class MySQLDatabaseMeta extends BaseDatabaseMeta implements DatabaseInterface
ATTRIBUTE_CLUSTER_DBNAME_PREFIX, ATTRIBUTE_CLUSTER_HOSTNAME_PREFIX, ATTRIBUTE_CLUSTER_PASSWORD_PREFIX, ATTRIBUTE_CLUSTER_PORT_PREFIX, ATTRIBUTE_CLUSTER_USERNAME_PREFIX, ATTRIBUTE_FORCE_IDENTIFIERS_TO_LOWERCASE, ATTRIBUTE_FORCE_IDENTIFIERS_TO_UPPERCASE, ATTRIBUTE_INITIAL_POOL_SIZE, ATTRIBUTE_IS_CLUSTERED, ATTRIBUTE_MAXIMUM_POOL_SIZE, ATTRIBUTE_MSSQL_DOUBLE_DECIMAL_SEPARATOR, ATTRIBUTE_POOLING_PARAMETER_PREFIX, ATTRIBUTE_PORT_NUMBER, ATTRIBUTE_PREFERRED_SCHEMA_NAME, ATTRIBUTE_PREFIX_EXTRA_OPTION, ATTRIBUTE_PRESERVE_RESERVED_WORD_CASE, ATTRIBUTE_QUOTE_ALL_FIELDS, ATTRIBUTE_SQL_CONNECT, ATTRIBUTE_SUPPORTS_BOOLEAN_DATA_TYPE, ATTRIBUTE_SUPPORTS_TIMESTAMP_DATA_TYPE, ATTRIBUTE_USE_POOLING, ATTRIBUTE_USE_RESULT_STREAMING, AUTOINCREMENT_SQL_FOR_BATCH_ID, poolingParameters, SELECT_COUNT_STATEMENT, SEQUENCE_FOR_BATCH_ID
Constructor and Description |
---|
MySQLDatabaseMeta() |
Modifier and Type | Method and Description |
---|---|
int[] |
getAccessTypeList()
Get the list of possible access types for a database.
|
String |
getAddColumnStatement(String tablename,
ValueMetaInterface v,
String tk,
boolean use_autoinc,
String pk,
boolean semicolon)
Generates the SQL statement to add a column to the specified table
|
int |
getDefaultDatabasePort() |
String |
getDriverClass()
Obtain the name of the JDBC driver class that we need to use!
|
String |
getEndQuote()
Simply add an underscore in the case of MySQL!
|
String |
getExtraOptionIndicator() |
String |
getExtraOptionSeparator() |
String |
getExtraOptionsHelpText() |
String |
getFieldDefinition(ValueMetaInterface v,
String tk,
String pk,
boolean use_autoinc,
boolean add_fieldname,
boolean add_cr)
Describe a Value as a field in the database.
|
String |
getLimitClause(int nrRows) |
String |
getModifyColumnStatement(String tablename,
ValueMetaInterface v,
String tk,
boolean use_autoinc,
String pk,
boolean semicolon)
Generates the SQL statement to modify a column in the specified table
|
int |
getNotFoundTK(boolean use_autoinc)
Get the not found technical key.
|
String[] |
getReservedWords() |
String |
getSQLColumnExists(String columnname,
String tablename) |
String |
getSQLInsertAutoIncUnknownDimensionRow(String schemaTable,
String keyField,
String versionField)
Get the SQL to insert a new empty unknown record in a dimension.
|
String |
getSQLLockTables(String[] tableNames) |
String |
getSQLQueryColumnFields(String columnname,
String tableName) |
String |
getSQLQueryFields(String tableName)
Returns the minimal SQL to launch in order to determine the layout of the resultset for a given database table
|
String |
getSQLTableExists(String tablename) |
String |
getSQLUnlockTables(String[] tableName) |
String |
getStartQuote() |
String |
getURL(String hostname,
String port,
String databaseName) |
String[] |
getUsedLibraries() |
boolean |
isMySQLVariant() |
boolean |
isRequiringTransactionsOnQueries() |
boolean |
isSystemTable(String tableName) |
boolean |
needsToLockAllTables() |
String |
quoteSQLString(String string)
Adds quotes around the string according to the database dialect and also escapes special characters like CR, LF and
the quote character itself.
|
boolean |
releaseSavepoint()
Returns a false as Oracle does not allow for the releasing of savepoints.
|
boolean |
supportsBitmapIndex() |
boolean |
supportsErrorHandlingOnBatchUpdates() |
boolean |
supportsRepository() |
boolean |
supportsSynonyms() |
boolean |
supportsTransactions() |
boolean |
supportsViews() |
addExtraOption, checkIndexExists, clone, generateColumnAlias, getAccessType, getAttributes, getBackwardsCompatibleSchemaTableCombination, getBackwardsCompatibleTable, getConnectionPoolingProperties, getConnectSQL, getDatabaseFactoryName, getDatabaseName, getDatabasePortNumberString, getDataTablespace, getDataTablespaceDDL, getDisplayName, getDropColumnStatement, getExtraOptions, getExtraOptionValueSeparator, getFunctionAverage, getFunctionCount, getFunctionMaximum, getFunctionMinimum, getFunctionSum, getHostname, getIndexTablespace, getIndexTablespaceDDL, getInitialPoolSize, getMaxColumnsInIndex, getMaximumPoolSize, getMaxTextFieldLength, getMaxVARCHARLength, getName, getNextBatchId, getNextBatchIdUsingAutoIncSQL, getNextBatchIdUsingLockTables, getNextBatchIdUsingSequence, getObjectId, getPartitioningInformation, getPassword, getPluginId, getPluginName, getPreferredSchemaName, getSafeFieldname, getSchemaTableCombination, getSelectCountStatement, getServername, getSQLCurrentSequenceValue, getSQLListOfProcedures, getSQLListOfSchemas, getSQLListOfSequences, getSQLNextSequenceValue, getSqlScriptStatements, getSQLSequenceExists, getSQLValue, getSynonymTypes, getTablespaceDDL, getTableTypes, getTruncateTableStatement, getUsername, getValueFromResultSet, getViewTypes, getXulOverlayFile, isChanged, isDefaultingToUppercase, isDisplaySizeTwiceThePrecision, isExplorable, isFetchSizeSupported, isForcingIdentifiersToLowerCase, isForcingIdentifiersToUpperCase, isPartitioned, isQuoteAllFields, isStreamingResults, isUsingConnectionPool, isUsingDoubleDecimalAsSchemaTableSeparator, needsPlaceHolder, parseStatements, preserveReservedCase, quoteReservedWords, requiresCastToVariousForIsNull, requiresCreateTablePrimaryKeyAppend, setAccessType, setAttributes, setChanged, setConnectionPoolingProperties, setConnectSQL, setDatabaseName, setDatabasePortNumberString, setDataTablespace, setDisplayName, setForcingIdentifiersToLowerCase, setForcingIdentifiersToUpperCase, setHostname, setIndexTablespace, setInitialPoolSize, setMaximumPoolSize, setName, setObjectId, setPartitioned, setPartitioningInformation, setPassword, setPluginId, setPluginName, setPreferredSchemaName, setPreserveReservedCase, setQuoteAllFields, setServername, setStreamingResults, setSupportsBooleanDataType, setSupportsTimestampDataType, setUsername, setUsingConnectionPool, setUsingDoubleDecimalAsSchemaTableSeparator, supportsAutoInc, supportsBatchUpdates, supportsBooleanDataType, supportsCatalogs, supportsEmptyTransactions, supportsErrorHandling, supportsFloatRoundingOnUpdate, supportsGetBlob, supportsNewLinesInSQL, supportsOptionsInURL, supportsPreparedStatementMetadataRetrieval, supportsResultSetMetadataRetrievalOnly, supportsSchemas, supportsSequenceNoMaxValueOption, supportsSequences, supportsSetCharacterStream, supportsSetLong, supportsSetMaxRows, supportsTimestampDataType, supportsTimeStampToDateConversion, useSafePoints, useSchemaNameForTableList
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
addExtraOption, checkIndexExists, clone, generateColumnAlias, getAccessType, getAttributes, getConnectionPoolingProperties, getConnectSQL, getDatabaseFactoryName, getDatabaseName, getDatabasePortNumberString, getDataTablespace, getDataTablespaceDDL, getDisplayName, getDropColumnStatement, getExtraOptions, getExtraOptionValueSeparator, getFunctionAverage, getFunctionCount, getFunctionMaximum, getFunctionMinimum, getFunctionSum, getHostname, getIndexTablespace, getIndexTablespaceDDL, getInitialPoolSize, getMaxColumnsInIndex, getMaximumPoolSize, getMaxTextFieldLength, getMaxVARCHARLength, getName, getNextBatchId, getObjectId, getPartitioningInformation, getPassword, getPluginId, getPluginName, getPreferredSchemaName, getSafeFieldname, getSchemaTableCombination, getSelectCountStatement, getServername, getSQLCurrentSequenceValue, getSQLListOfProcedures, getSQLListOfSchemas, getSQLListOfSequences, getSQLNextSequenceValue, getSqlScriptStatements, getSQLSequenceExists, getSQLValue, getSynonymTypes, getTableTypes, getTruncateTableStatement, getUsername, getValueFromResultSet, getViewTypes, getXulOverlayFile, isChanged, isDefaultingToUppercase, isDisplaySizeTwiceThePrecision, isExplorable, isFetchSizeSupported, isForcingIdentifiersToLowerCase, isForcingIdentifiersToUpperCase, isPartitioned, isQuoteAllFields, isStreamingResults, isUsingConnectionPool, isUsingDoubleDecimalAsSchemaTableSeparator, needsPlaceHolder, parseStatements, preserveReservedCase, quoteReservedWords, requiresCastToVariousForIsNull, requiresCreateTablePrimaryKeyAppend, setAccessType, setAttributes, setChanged, setConnectionPoolingProperties, setConnectSQL, setDatabaseName, setDatabasePortNumberString, setDataTablespace, setDisplayName, setForcingIdentifiersToLowerCase, setForcingIdentifiersToUpperCase, setHostname, setIndexTablespace, setInitialPoolSize, setMaximumPoolSize, setName, setObjectId, setPartitioned, setPartitioningInformation, setPassword, setPluginId, setPluginName, setPreferredSchemaName, setPreserveReservedCase, setQuoteAllFields, setServername, setStreamingResults, setSupportsBooleanDataType, setSupportsTimestampDataType, setUsername, setUsingConnectionPool, setUsingDoubleDecimalAsSchemaTableSeparator, supportsAutoInc, supportsBatchUpdates, supportsBooleanDataType, supportsCatalogs, supportsEmptyTransactions, supportsErrorHandling, supportsFloatRoundingOnUpdate, supportsGetBlob, supportsNewLinesInSQL, supportsOptionsInURL, supportsPreparedStatementMetadataRetrieval, supportsResultSetMetadataRetrievalOnly, supportsSchemas, supportsSequenceNoMaxValueOption, supportsSequences, supportsSetCharacterStream, supportsSetLong, supportsSetMaxRows, supportsTimestampDataType, supportsTimeStampToDateConversion, useSafePoints, useSchemaNameForTableList
public int[] getAccessTypeList()
DatabaseInterface
getAccessTypeList
in interface DatabaseInterface
getAccessTypeList
in class BaseDatabaseMeta
public int getDefaultDatabasePort()
getDefaultDatabasePort
in interface DatabaseInterface
getDefaultDatabasePort
in class BaseDatabaseMeta
public String getLimitClause(int nrRows)
getLimitClause
in interface DatabaseInterface
getLimitClause
in class BaseDatabaseMeta
nrRows
- The number of rows to which we want to limit the result of the query.public String getSQLQueryFields(String tableName)
getSQLQueryFields
in interface DatabaseInterface
getSQLQueryFields
in class BaseDatabaseMeta
tableName
- The name of the table to determine the layout forpublic String getSQLTableExists(String tablename)
getSQLTableExists
in interface DatabaseInterface
getSQLTableExists
in class BaseDatabaseMeta
tablename
- The table to verify the existance forpublic String getSQLColumnExists(String columnname, String tablename)
getSQLColumnExists
in interface DatabaseInterface
getSQLColumnExists
in class BaseDatabaseMeta
columnname
- The column to verify the existance fortablename
- The table to verify the existance forpublic int getNotFoundTK(boolean use_autoinc)
DatabaseInterface
getNotFoundTK
in interface DatabaseInterface
getNotFoundTK
in class BaseDatabaseMeta
use_autoinc
- Whether or not we want to use an auto increment fieldDatabaseInterface.getNotFoundTK(boolean)
public String getDriverClass()
DatabaseInterface
getDriverClass
in interface DatabaseInterface
public String getURL(String hostname, String port, String databaseName)
getURL
in interface DatabaseInterface
hostname
- the hostnameport
- the port as a stringdatabaseName
- the database namepublic String getExtraOptionSeparator()
getExtraOptionSeparator
in interface DatabaseInterface
getExtraOptionSeparator
in class BaseDatabaseMeta
public String getExtraOptionIndicator()
getExtraOptionIndicator
in interface DatabaseInterface
getExtraOptionIndicator
in class BaseDatabaseMeta
public boolean supportsTransactions()
supportsTransactions
in interface DatabaseInterface
supportsTransactions
in class BaseDatabaseMeta
public boolean supportsBitmapIndex()
supportsBitmapIndex
in interface DatabaseInterface
supportsBitmapIndex
in class BaseDatabaseMeta
public boolean supportsViews()
supportsViews
in interface DatabaseInterface
supportsViews
in class BaseDatabaseMeta
public boolean supportsSynonyms()
supportsSynonyms
in interface DatabaseInterface
supportsSynonyms
in class BaseDatabaseMeta
public String getAddColumnStatement(String tablename, ValueMetaInterface v, String tk, boolean use_autoinc, String pk, boolean semicolon)
getAddColumnStatement
in interface DatabaseInterface
tablename
- The table to addv
- The column defined as a valuetk
- the name of the technical key fielduse_autoinc
- whether or not this field uses auto incrementpk
- the name of the primary key fieldsemicolon
- whether or not to add a semi-colon behind the statement.public String getModifyColumnStatement(String tablename, ValueMetaInterface v, String tk, boolean use_autoinc, String pk, boolean semicolon)
getModifyColumnStatement
in interface DatabaseInterface
tablename
- The table to addv
- The column defined as a valuetk
- the name of the technical key fielduse_autoinc
- whether or not this field uses auto incrementpk
- the name of the primary key fieldsemicolon
- whether or not to add a semi-colon behind the statement.public String getFieldDefinition(ValueMetaInterface v, String tk, String pk, boolean use_autoinc, boolean add_fieldname, boolean add_cr)
DatabaseInterface
getFieldDefinition
in interface DatabaseInterface
v
- The value to describetk
- The field that's going to be the technical keypk
- The field that's going to be the primary keyuse_autoinc
- Use autoincrement or notadd_fieldname
- Add the fieldname to the definition or notadd_cr
- Add a cariage return at the end of the definition or not.public String[] getReservedWords()
getReservedWords
in interface DatabaseInterface
getReservedWords
in class BaseDatabaseMeta
public String getStartQuote()
getStartQuote
in interface DatabaseInterface
getStartQuote
in class BaseDatabaseMeta
public String getEndQuote()
getEndQuote
in interface DatabaseInterface
getEndQuote
in class BaseDatabaseMeta
DatabaseInterface.getEndQuote()
public String getSQLLockTables(String[] tableNames)
getSQLLockTables
in interface DatabaseInterface
getSQLLockTables
in class BaseDatabaseMeta
tableNames
- The names of the tables to lockpublic String getSQLUnlockTables(String[] tableName)
getSQLUnlockTables
in interface DatabaseInterface
getSQLUnlockTables
in class BaseDatabaseMeta
tableName
- The name of the table to unlockpublic boolean needsToLockAllTables()
needsToLockAllTables
in interface DatabaseInterface
needsToLockAllTables
in class BaseDatabaseMeta
public String getExtraOptionsHelpText()
getExtraOptionsHelpText
in interface DatabaseInterface
getExtraOptionsHelpText
in class BaseDatabaseMeta
public String[] getUsedLibraries()
getUsedLibraries
in interface DatabaseInterface
public boolean isSystemTable(String tableName)
isSystemTable
in interface DatabaseInterface
isSystemTable
in class BaseDatabaseMeta
tableName
- public String getSQLInsertAutoIncUnknownDimensionRow(String schemaTable, String keyField, String versionField)
getSQLInsertAutoIncUnknownDimensionRow
in interface DatabaseInterface
getSQLInsertAutoIncUnknownDimensionRow
in class BaseDatabaseMeta
schemaTable
- the schema-table name to insert intokeyField
- The key fieldversionField
- the version fieldpublic String quoteSQLString(String string)
DatabaseInterface
quoteSQLString
in interface DatabaseInterface
quoteSQLString
in class BaseDatabaseMeta
string
- public boolean isMySQLVariant()
isMySQLVariant
in interface DatabaseInterface
isMySQLVariant
in class BaseDatabaseMeta
public boolean releaseSavepoint()
releaseSavepoint
in interface DatabaseInterface
releaseSavepoint
in class BaseDatabaseMeta
public boolean supportsErrorHandlingOnBatchUpdates()
supportsErrorHandlingOnBatchUpdates
in interface DatabaseInterface
supportsErrorHandlingOnBatchUpdates
in class BaseDatabaseMeta
public boolean isRequiringTransactionsOnQueries()
isRequiringTransactionsOnQueries
in interface DatabaseInterface
isRequiringTransactionsOnQueries
in class BaseDatabaseMeta
public boolean supportsRepository()
supportsRepository
in interface DatabaseInterface
supportsRepository
in class BaseDatabaseMeta