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, NAMED_CLUSTER_ID, poolingParameters, releaseSavepoint, SELECT_COUNT_STATEMENT, SEQUENCE_FOR_BATCH_ID| Constructor and Description |
|---|
MySQLDatabaseMeta() |
| Modifier and Type | Method and Description |
|---|---|
void |
addDefaultOptions()
Set default options for this database
|
boolean |
fullExceptionLog(Exception e)
Returns false if exception doesn't require
full exception log.
|
int[] |
getAccessTypeList()
Get the list of possible access types for a database.
|
String |
getAddColumnStatement(String tablename,
ValueMetaInterface v,
String tk,
boolean useAutoinc,
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 useAutoinc,
boolean addFieldName,
boolean addCr)
Describe a Value as a field in the database.
|
String |
getLegacyColumnName(DatabaseMetaData dbMetaData,
ResultSetMetaData rsMetaData,
int index)
Returns the column name for a MySQL field checking if the driver major version is "greater than" or "lower or equal" to 3.
|
String |
getLimitClause(int nrRows) |
int |
getMaxTextFieldLength()
Get the maximum length of a text field for this database connection.
|
int |
getMaxVARCHARLength()
Get the maximum length of a text field (VARCHAR) for this database connection.
|
String |
getModifyColumnStatement(String tablename,
ValueMetaInterface v,
String tk,
boolean useAutoinc,
String pk,
boolean semicolon)
Generates the SQL statement to modify a column in the specified table
|
int |
getNotFoundTK(boolean useAutoinc)
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() |
addAttribute, addExtraOption, canTest, checkIndexExists, clone, customizeValueFromSQLType, generateColumnAlias, getAccessType, getAttribute, getAttributes, getBackwardsCompatibleSchemaTableCombination, getBackwardsCompatibleTable, getConnectionPoolingProperties, getConnectSQL, getCreateTableStatement, getDatabaseFactoryName, getDatabaseName, getDatabasePortNumberString, getDataTablespace, getDataTablespaceDDL, getDefaultOptions, getDisplayName, getDropColumnStatement, getDropTableIfExistsStatement, getExtraOptions, getExtraOptionValueSeparator, getFieldnameProtector, getFunctionAverage, getFunctionCount, getFunctionMaximum, getFunctionMinimum, getFunctionSum, getHostname, getIndexTablespace, getIndexTablespaceDDL, getInitialPoolSize, getInitialPoolSizeString, getMaxColumnsInIndex, getMaximumPoolSize, getMaximumPoolSizeString, getName, getNamedCluster, getNextBatchId, getNextBatchIdUsingAutoIncSQL, getNextBatchIdUsingLockTables, getNextBatchIdUsingSequence, getObjectId, getPartitioningInformation, getPassword, getPluginId, getPluginName, getPreferredSchemaName, getSafeFieldname, getSchemaTableCombination, getSelectCountStatement, getSequenceNoMaxValueOption, 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, onlySpaces, parseStatements, preserveReservedCase, quoteReservedWords, requiresCastToVariousForIsNull, requiresCreateTablePrimaryKeyAppend, requiresName, setAccessType, setAttributes, setChanged, setConnectionPoolingProperties, setConnectSQL, setDatabaseName, setDatabasePortNumberString, setDataTablespace, setDisplayName, setForcingIdentifiersToLowerCase, setForcingIdentifiersToUpperCase, setHostname, setIndexTablespace, setInitialPoolSize, setInitialPoolSizeString, setMaximumPoolSize, setMaximumPoolSizeString, setName, setNamedCluster, setObjectId, setPartitioned, setPartitioningInformation, setPassword, setPluginId, setPluginName, setPreferredSchemaName, setPreserveReservedCase, setQuoteAllFields, setServername, setStreamingResults, setSupportsBooleanDataType, setSupportsTimestampDataType, setUsername, setUsingConnectionPool, setUsingDoubleDecimalAsSchemaTableSeparator, supportsAutoGeneratedKeys, supportsAutoInc, supportsBatchUpdates, supportsBooleanDataType, supportsCatalogs, supportsEmptyTransactions, supportsErrorHandling, supportsFloatRoundingOnUpdate, supportsGetBlob, supportsNewLinesInSQL, supportsOptionsInURL, supportsPreparedStatementMetadataRetrieval, supportsResultSetMetadataRetrievalOnly, supportsSchemas, supportsSequenceNoMaxValueOption, supportsSequences, supportsSetCharacterStream, supportsSetLong, supportsSetMaxRows, supportsTimestampDataType, supportsTimeStampToDateConversion, useSafePoints, useSchemaNameForTableListequals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitaddAttribute, addExtraOption, checkIndexExists, clone, createSqlScriptParser, customizeValueFromSQLType, generateColumnAlias, getAccessType, getAttribute, getAttributes, getConnectionPoolingProperties, getConnectSQL, getCreateTableStatement, getDatabaseFactoryName, getDatabaseName, getDatabasePortNumberString, getDataTablespace, getDataTablespaceDDL, getDefaultOptions, getDisplayName, getDropColumnStatement, getExtraOptions, getExtraOptionValueSeparator, getFunctionAverage, getFunctionCount, getFunctionMaximum, getFunctionMinimum, getFunctionSum, getHostname, getIndexTablespace, getIndexTablespaceDDL, getInitialPoolSize, getInitialPoolSizeString, getMaxColumnsInIndex, getMaximumPoolSize, getMaximumPoolSizeString, getName, getNamedCluster, getNamedClusterList, getNextBatchId, getObjectId, getPartitioningInformation, getPassword, getPluginId, getPluginName, getPreferredSchemaName, getSafeFieldname, getSchemas, getSchemaTableCombination, getSelectCountStatement, getSequenceNoMaxValueOption, getServername, getSQLCurrentSequenceValue, getSQLListOfProcedures, getSQLListOfSchemas, getSQLListOfSequences, getSQLNextSequenceValue, getSqlScriptStatements, getSQLSequenceExists, getSQLValue, getSynonymTypes, getTables, getTableTypes, getTruncateTableStatement, getUnsupportedTableOutputMessage, getUsername, getValueFromResultSet, getViewTypes, getXulOverlayFile, isChanged, isDefaultingToUppercase, isDisplaySizeTwiceThePrecision, isExplorable, isFetchSizeSupported, isForcingIdentifiersToLowerCase, isForcingIdentifiersToUpperCase, isPartitioned, isQuoteAllFields, isStreamingResults, isUsingConnectionPool, isUsingDoubleDecimalAsSchemaTableSeparator, needsPlaceHolder, parseStatements, preserveReservedCase, putOptionalOptions, quoteReservedWords, requiresCastToVariousForIsNull, requiresCreateTablePrimaryKeyAppend, setAccessType, setAttributes, setChanged, setConnectionPoolingProperties, setConnectSQL, setDatabaseName, setDatabasePortNumberString, setDataTablespace, setDisplayName, setForcingIdentifiersToLowerCase, setForcingIdentifiersToUpperCase, setHostname, setIndexTablespace, setInitialPoolSize, setInitialPoolSizeString, setMaximumPoolSize, setMaximumPoolSizeString, setName, setNamedCluster, setObjectId, setPartitioned, setPartitioningInformation, setPassword, setPluginId, setPluginName, setPreferredSchemaName, setPreserveReservedCase, setQuoteAllFields, setServername, setStreamingResults, setSupportsBooleanDataType, setSupportsTimestampDataType, setUsername, setUsingConnectionPool, setUsingDoubleDecimalAsSchemaTableSeparator, supportsAutoGeneratedKeys, supportsAutoInc, supportsBatchUpdates, supportsBooleanDataType, supportsCatalogs, supportsEmptyTransactions, supportsErrorHandling, supportsFloatRoundingOnUpdate, supportsGetBlob, supportsIndexes, supportsNewLinesInSQL, supportsOptionsInURL, supportsPreparedStatementMetadataRetrieval, supportsResultSetMetadataRetrievalOnly, supportsSchemas, supportsSequenceNoMaxValueOption, supportsSequences, supportsSetCharacterStream, supportsSetLong, supportsSetMaxRows, supportsStandardTableOutput, supportsTimestampDataType, supportsTimeStampToDateConversion, useSafePoints, useSchemaNameForTableListpublic int[] getAccessTypeList()
DatabaseInterfacegetAccessTypeList in interface DatabaseInterfacegetAccessTypeList in class BaseDatabaseMetapublic int getDefaultDatabasePort()
getDefaultDatabasePort in interface DatabaseInterfacegetDefaultDatabasePort in class BaseDatabaseMetapublic String getLimitClause(int nrRows)
getLimitClause in interface DatabaseInterfacegetLimitClause in class BaseDatabaseMetanrRows - The number of rows to which we want to limit the result of the query.public String getSQLQueryFields(String tableName)
getSQLQueryFields in interface DatabaseInterfacegetSQLQueryFields in class BaseDatabaseMetatableName - The name of the table to determine the layout forpublic String getSQLTableExists(String tablename)
getSQLTableExists in interface DatabaseInterfacegetSQLTableExists in class BaseDatabaseMetatablename - The table to verify the existance forpublic String getSQLColumnExists(String columnname, String tablename)
getSQLColumnExists in interface DatabaseInterfacegetSQLColumnExists in class BaseDatabaseMetacolumnname - The column to verify the existance fortablename - The table to verify the existance forpublic int getNotFoundTK(boolean useAutoinc)
DatabaseInterfacegetNotFoundTK in interface DatabaseInterfacegetNotFoundTK in class BaseDatabaseMetauseAutoinc - Whether or not we want to use an auto increment fieldDatabaseInterface.getNotFoundTK(boolean)public String getDriverClass()
DatabaseInterfacegetDriverClass in interface DatabaseInterfacepublic String getURL(String hostname, String port, String databaseName)
getURL in interface DatabaseInterfacehostname - the hostnameport - the port as a stringdatabaseName - the database namepublic String getExtraOptionSeparator()
getExtraOptionSeparator in interface DatabaseInterfacegetExtraOptionSeparator in class BaseDatabaseMetapublic String getExtraOptionIndicator()
getExtraOptionIndicator in interface DatabaseInterfacegetExtraOptionIndicator in class BaseDatabaseMetapublic boolean supportsTransactions()
supportsTransactions in interface DatabaseInterfacesupportsTransactions in class BaseDatabaseMetapublic boolean supportsBitmapIndex()
supportsBitmapIndex in interface DatabaseInterfacesupportsBitmapIndex in class BaseDatabaseMetapublic boolean supportsViews()
supportsViews in interface DatabaseInterfacesupportsViews in class BaseDatabaseMetapublic boolean supportsSynonyms()
supportsSynonyms in interface DatabaseInterfacesupportsSynonyms in class BaseDatabaseMetapublic String getAddColumnStatement(String tablename, ValueMetaInterface v, String tk, boolean useAutoinc, String pk, boolean semicolon)
getAddColumnStatement in interface DatabaseInterfacetablename - The table to addv - The column defined as a valuetk - the name of the technical key fielduseAutoinc - 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 useAutoinc, String pk, boolean semicolon)
getModifyColumnStatement in interface DatabaseInterfacetablename - The table to addv - The column defined as a valuetk - the name of the technical key fielduseAutoinc - 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 useAutoinc, boolean addFieldName, boolean addCr)
DatabaseInterfacegetFieldDefinition in interface DatabaseInterfacev - The value to describetk - The field that's going to be the technical keypk - The field that's going to be the primary keyuseAutoinc - Use autoincrement or notaddFieldName - Add the fieldname to the definition or notaddCr - Add a cariage return at the end of the definition or not.public String[] getReservedWords()
getReservedWords in interface DatabaseInterfacegetReservedWords in class BaseDatabaseMetapublic String getStartQuote()
getStartQuote in interface DatabaseInterfacegetStartQuote in class BaseDatabaseMetapublic String getEndQuote()
getEndQuote in interface DatabaseInterfacegetEndQuote in class BaseDatabaseMetaDatabaseInterface.getEndQuote()public String getSQLLockTables(String[] tableNames)
getSQLLockTables in interface DatabaseInterfacegetSQLLockTables in class BaseDatabaseMetatableNames - The names of the tables to lockpublic String getSQLUnlockTables(String[] tableName)
getSQLUnlockTables in interface DatabaseInterfacegetSQLUnlockTables in class BaseDatabaseMetatableName - The name of the table to unlockpublic boolean needsToLockAllTables()
needsToLockAllTables in interface DatabaseInterfaceneedsToLockAllTables in class BaseDatabaseMetapublic String getExtraOptionsHelpText()
getExtraOptionsHelpText in interface DatabaseInterfacegetExtraOptionsHelpText in class BaseDatabaseMetapublic String[] getUsedLibraries()
getUsedLibraries in interface DatabaseInterfacepublic boolean isSystemTable(String tableName)
isSystemTable in interface DatabaseInterfaceisSystemTable in class BaseDatabaseMetatableName - public String getSQLInsertAutoIncUnknownDimensionRow(String schemaTable, String keyField, String versionField)
getSQLInsertAutoIncUnknownDimensionRow in interface DatabaseInterfacegetSQLInsertAutoIncUnknownDimensionRow in class BaseDatabaseMetaschemaTable - the schema-table name to insert intokeyField - The key fieldversionField - the version fieldpublic String quoteSQLString(String string)
DatabaseInterfacequoteSQLString in interface DatabaseInterfacequoteSQLString in class BaseDatabaseMetastring - public boolean isMySQLVariant()
isMySQLVariant in interface DatabaseInterfaceisMySQLVariant in class BaseDatabaseMetapublic boolean releaseSavepoint()
releaseSavepoint in interface DatabaseInterfacereleaseSavepoint in class BaseDatabaseMetapublic boolean supportsErrorHandlingOnBatchUpdates()
supportsErrorHandlingOnBatchUpdates in interface DatabaseInterfacesupportsErrorHandlingOnBatchUpdates in class BaseDatabaseMetapublic boolean isRequiringTransactionsOnQueries()
isRequiringTransactionsOnQueries in interface DatabaseInterfaceisRequiringTransactionsOnQueries in class BaseDatabaseMetapublic boolean supportsRepository()
supportsRepository in interface DatabaseInterfacesupportsRepository in class BaseDatabaseMetapublic boolean fullExceptionLog(Exception e)
DatabaseInterfaceExtendedfullExceptionLog in interface DatabaseInterfaceExtendedfullExceptionLog in class BaseDatabaseMetae - exception to checkpublic void addDefaultOptions()
DatabaseInterfaceaddDefaultOptions in interface DatabaseInterfaceaddDefaultOptions in class BaseDatabaseMetapublic int getMaxVARCHARLength()
BaseDatabaseMetagetMaxVARCHARLength in interface DatabaseInterfacegetMaxVARCHARLength in class BaseDatabaseMetapublic int getMaxTextFieldLength()
BaseDatabaseMetagetMaxTextFieldLength in interface DatabaseInterfacegetMaxTextFieldLength in class BaseDatabaseMetapublic String getLegacyColumnName(DatabaseMetaData dbMetaData, ResultSetMetaData rsMetaData, int index) throws KettleDatabaseException
getLegacyColumnName in interface DatabaseInterfacedbMetaData - rsMetaData - index - KettleDatabaseExceptionCopyright © 2020 Hitachi Vantara. All rights reserved.