Package org.pentaho.di.core.database
Class MySQLDatabaseMeta
- java.lang.Object
 - 
- org.pentaho.di.core.database.BaseDatabaseMeta
 - 
- org.pentaho.di.core.database.MySQLDatabaseMeta
 
 
 
- 
- All Implemented Interfaces:
 Cloneable,DatabaseInterface,DatabaseInterfaceExtended
- Direct Known Subclasses:
 InfiniDbDatabaseMeta,InfobrightDatabaseMeta,MariaDBDatabaseMeta
public class MySQLDatabaseMeta extends BaseDatabaseMeta implements DatabaseInterface
Contains MySQL specific information through static final members- Since:
 - 11-mrt-2005
 - Author:
 - Matt
 
 
- 
- 
Field Summary
- 
Fields inherited from class org.pentaho.di.core.database.BaseDatabaseMeta
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 Summary
Constructors Constructor Description MySQLDatabaseMeta() 
- 
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddDefaultOptions()Set default options for this databasebooleanfullExceptionLog(Exception e)Returns false if exception doesn't require full exception log.int[]getAccessTypeList()Get the list of possible access types for a database.StringgetAddColumnStatement(String tablename, ValueMetaInterface v, String tk, boolean useAutoinc, String pk, boolean semicolon)Generates the SQL statement to add a column to the specified tableintgetDefaultDatabasePort()Map<String,String>getDefaultOptions()StringgetDriverClass()Obtain the name of the JDBC driver class that we need to use!StringgetEndQuote()Simply add an underscore in the case of MySQL!StringgetExtraOptionIndicator()StringgetExtraOptionSeparator()StringgetExtraOptionsHelpText()StringgetFieldDefinition(ValueMetaInterface v, String tk, String pk, boolean useAutoinc, boolean addFieldName, boolean addCr)Describe a Value as a field in the database.StringgetLegacyColumnName(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.StringgetLimitClause(int nrRows)intgetMaxTextFieldLength()Get the maximum length of a text field for this database connection.intgetMaxVARCHARLength()Get the maximum length of a text field (VARCHAR) for this database connection.StringgetModifyColumnStatement(String tablename, ValueMetaInterface v, String tk, boolean useAutoinc, String pk, boolean semicolon)Generates the SQL statement to modify a column in the specified tableintgetNotFoundTK(boolean useAutoinc)Get the not found technical key.String[]getReservedWords()StringgetSQLColumnExists(String columnname, String tablename)StringgetSQLInsertAutoIncUnknownDimensionRow(String schemaTable, String keyField, String versionField)Get the SQL to insert a new empty unknown record in a dimension.StringgetSQLLockTables(String[] tableNames)StringgetSQLQueryColumnFields(String columnname, String tableName)StringgetSQLQueryFields(String tableName)Returns the minimal SQL to launch in order to determine the layout of the resultset for a given database tableStringgetSQLTableExists(String tablename)StringgetSQLUnlockTables(String[] tableName)StringgetStartQuote()StringgetURL(String hostname, String port, String databaseName)String[]getUsedLibraries()booleanisMySQLVariant()booleanisRequiringTransactionsOnQueries()booleanisSystemTable(String tableName)booleanneedsToLockAllTables()StringquoteSQLString(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.booleanreleaseSavepoint()Returns a false as Oracle does not allow for the releasing of savepoints.booleansupportsBitmapIndex()booleansupportsErrorHandlingOnBatchUpdates()booleansupportsRepository()booleansupportsSynonyms()booleansupportsTransactions()booleansupportsViews()- 
Methods inherited from class org.pentaho.di.core.database.BaseDatabaseMeta
addAttribute, addExtraOption, canTest, checkIndexExists, clone, customizeValueFromSQLType, generateColumnAlias, getAccessType, getAttribute, getAttributes, getBackwardsCompatibleSchemaTableCombination, getBackwardsCompatibleTable, getConnectionPoolingProperties, getConnectSQL, getCreateTableStatement, getDatabaseFactoryName, getDatabaseName, getDatabasePortNumberString, getDataTablespace, getDataTablespaceDDL, 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, useSchemaNameForTableList 
- 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait 
- 
Methods inherited from interface org.pentaho.di.core.database.DatabaseInterface
addAttribute, addExtraOption, checkIndexExists, clone, createSqlScriptParser, customizeValueFromSQLType, generateColumnAlias, getAccessType, getAttribute, getAttributes, getConnectionPoolingProperties, getConnectSQL, getCreateTableStatement, getDatabaseFactoryName, getDatabaseName, getDatabasePortNumberString, getDataTablespace, getDataTablespaceDDL, 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, 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, useSchemaNameForTableList 
 - 
 
 - 
 
- 
- 
Method Detail
- 
getAccessTypeList
public int[] getAccessTypeList()
Description copied from interface:DatabaseInterfaceGet the list of possible access types for a database.- Specified by:
 getAccessTypeListin interfaceDatabaseInterface- Specified by:
 getAccessTypeListin classBaseDatabaseMeta- Returns:
 - the list of possible access types for a database.
 
 
- 
getDefaultDatabasePort
public int getDefaultDatabasePort()
- Specified by:
 getDefaultDatabasePortin interfaceDatabaseInterface- Overrides:
 getDefaultDatabasePortin classBaseDatabaseMeta- Returns:
 - the default database port number
 
 
- 
getLimitClause
public String getLimitClause(int nrRows)
- Specified by:
 getLimitClausein interfaceDatabaseInterface- Overrides:
 getLimitClausein classBaseDatabaseMeta- Parameters:
 nrRows- The number of rows to which we want to limit the result of the query.- Returns:
 - the clause after a select statement to limit the number of rows
 
 
- 
getSQLQueryFields
public String getSQLQueryFields(String tableName)
Returns the minimal SQL to launch in order to determine the layout of the resultset for a given database table- Specified by:
 getSQLQueryFieldsin interfaceDatabaseInterface- Overrides:
 getSQLQueryFieldsin classBaseDatabaseMeta- Parameters:
 tableName- The name of the table to determine the layout for- Returns:
 - The SQL to launch.
 
 
- 
getSQLTableExists
public String getSQLTableExists(String tablename)
- Specified by:
 getSQLTableExistsin interfaceDatabaseInterface- Overrides:
 getSQLTableExistsin classBaseDatabaseMeta- Parameters:
 tablename- The table to verify the existance for- Returns:
 - The SQL to execute to verify if the given table exists. If an Exception is thrown for this SQL, we don't have the table.
 
 
- 
getSQLColumnExists
public String getSQLColumnExists(String columnname, String tablename)
- Specified by:
 getSQLColumnExistsin interfaceDatabaseInterface- Overrides:
 getSQLColumnExistsin classBaseDatabaseMeta- Parameters:
 columnname- The column to verify the existance fortablename- The table to verify the existance for- Returns:
 - The SQL to execute to verify if the given table exists. If an Exception is thrown for this SQL, we don't have the column.
 
 
- 
getNotFoundTK
public int getNotFoundTK(boolean useAutoinc)
Description copied from interface:DatabaseInterfaceGet the not found technical key.- Specified by:
 getNotFoundTKin interfaceDatabaseInterface- Overrides:
 getNotFoundTKin classBaseDatabaseMeta- Parameters:
 useAutoinc- Whether or not we want to use an auto increment field- Returns:
 - the lowest possible technical key to be used as the NOT FOUND row in a slowly changing dimension.
 - See Also:
 DatabaseInterface.getNotFoundTK(boolean)
 
- 
getDriverClass
public String getDriverClass()
Description copied from interface:DatabaseInterfaceObtain the name of the JDBC driver class that we need to use!- Specified by:
 getDriverClassin interfaceDatabaseInterface- Returns:
 - the name of the JDBC driver class for the specific database
 
 
- 
getURL
public String getURL(String hostname, String port, String databaseName)
- Specified by:
 getURLin interfaceDatabaseInterface- Parameters:
 hostname- the hostnameport- the port as a stringdatabaseName- the database name- Returns:
 - the URL to use for connecting to the database.
 
 
- 
getExtraOptionSeparator
public String getExtraOptionSeparator()
- Specified by:
 getExtraOptionSeparatorin interfaceDatabaseInterface- Overrides:
 getExtraOptionSeparatorin classBaseDatabaseMeta- Returns:
 - The extra option separator in database URL for this platform (usually this is semicolon ; )
 
 
- 
getExtraOptionIndicator
public String getExtraOptionIndicator()
- Specified by:
 getExtraOptionIndicatorin interfaceDatabaseInterface- Overrides:
 getExtraOptionIndicatorin classBaseDatabaseMeta- Returns:
 - This indicator separates the normal URL from the options
 
 
- 
supportsTransactions
public boolean supportsTransactions()
- Specified by:
 supportsTransactionsin interfaceDatabaseInterface- Overrides:
 supportsTransactionsin classBaseDatabaseMeta- Returns:
 - true if the database supports transactions.
 
 
- 
supportsBitmapIndex
public boolean supportsBitmapIndex()
- Specified by:
 supportsBitmapIndexin interfaceDatabaseInterface- Overrides:
 supportsBitmapIndexin classBaseDatabaseMeta- Returns:
 - true if the database supports bitmap indexes
 
 
- 
supportsViews
public boolean supportsViews()
- Specified by:
 supportsViewsin interfaceDatabaseInterface- Overrides:
 supportsViewsin classBaseDatabaseMeta- Returns:
 - true if the database supports views
 
 
- 
supportsSynonyms
public boolean supportsSynonyms()
- Specified by:
 supportsSynonymsin interfaceDatabaseInterface- Overrides:
 supportsSynonymsin classBaseDatabaseMeta- Returns:
 - true if the database supports synonyms
 
 
- 
getAddColumnStatement
public 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- Specified by:
 getAddColumnStatementin interfaceDatabaseInterface- Parameters:
 tablename- 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.- Returns:
 - the SQL statement to add a column to the specified table
 
 
- 
getModifyColumnStatement
public 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- Specified by:
 getModifyColumnStatementin interfaceDatabaseInterface- Parameters:
 tablename- 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.- Returns:
 - the SQL statement to modify a column in the specified table
 
 
- 
getFieldDefinition
public String getFieldDefinition(ValueMetaInterface v, String tk, String pk, boolean useAutoinc, boolean addFieldName, boolean addCr)
Description copied from interface:DatabaseInterfaceDescribe a Value as a field in the database.- Specified by:
 getFieldDefinitionin interfaceDatabaseInterface- Parameters:
 v- 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.- Returns:
 - a value described as a field in this database.
 
 
- 
getReservedWords
public String[] getReservedWords()
- Specified by:
 getReservedWordsin interfaceDatabaseInterface- Overrides:
 getReservedWordsin classBaseDatabaseMeta- Returns:
 - an array of reserved words for the database type...
 
 
- 
getStartQuote
public String getStartQuote()
- Specified by:
 getStartQuotein interfaceDatabaseInterface- Overrides:
 getStartQuotein classBaseDatabaseMeta- Returns:
 - The start quote sequence, mostly just double quote, but sometimes [, ...
 
 
- 
getEndQuote
public String getEndQuote()
Simply add an underscore in the case of MySQL!- Specified by:
 getEndQuotein interfaceDatabaseInterface- Overrides:
 getEndQuotein classBaseDatabaseMeta- Returns:
 - The end quote sequence, mostly just double quote, but sometimes ], ...
 - See Also:
 DatabaseInterface.getEndQuote()
 
- 
getSQLLockTables
public String getSQLLockTables(String[] tableNames)
- Specified by:
 getSQLLockTablesin interfaceDatabaseInterface- Overrides:
 getSQLLockTablesin classBaseDatabaseMeta- Parameters:
 tableNames- The names of the tables to lock- Returns:
 - The SQL command to lock database tables for write purposes.
 
 
- 
getSQLUnlockTables
public String getSQLUnlockTables(String[] tableName)
- Specified by:
 getSQLUnlockTablesin interfaceDatabaseInterface- Overrides:
 getSQLUnlockTablesin classBaseDatabaseMeta- Parameters:
 tableName- The name of the table to unlock- Returns:
 - The SQL command to unlock a database table.
 
 
- 
needsToLockAllTables
public boolean needsToLockAllTables()
- Specified by:
 needsToLockAllTablesin interfaceDatabaseInterface- Overrides:
 needsToLockAllTablesin classBaseDatabaseMeta- Returns:
 - true if the database needs all repository tables to be locked, not just one ref table (R_REPOSITORY_LOG)
 
 
- 
getExtraOptionsHelpText
public String getExtraOptionsHelpText()
- Specified by:
 getExtraOptionsHelpTextin interfaceDatabaseInterface- Overrides:
 getExtraOptionsHelpTextin classBaseDatabaseMeta- Returns:
 - extra help text on the supported options on the selected database platform.
 
 
- 
getUsedLibraries
public String[] getUsedLibraries()
- Specified by:
 getUsedLibrariesin interfaceDatabaseInterface- Returns:
 - the required libraries (in lib) for this database connection.
 
 
- 
isSystemTable
public boolean isSystemTable(String tableName)
- Specified by:
 isSystemTablein interfaceDatabaseInterface- Overrides:
 isSystemTablein classBaseDatabaseMeta- Parameters:
 tableName-- Returns:
 - true if the specified table is a system table
 
 
- 
getSQLInsertAutoIncUnknownDimensionRow
public String getSQLInsertAutoIncUnknownDimensionRow(String schemaTable, String keyField, String versionField)
Get the SQL to insert a new empty unknown record in a dimension.- Specified by:
 getSQLInsertAutoIncUnknownDimensionRowin interfaceDatabaseInterface- Overrides:
 getSQLInsertAutoIncUnknownDimensionRowin classBaseDatabaseMeta- Parameters:
 schemaTable- the schema-table name to insert intokeyField- The key fieldversionField- the version field- Returns:
 - the SQL to insert the unknown record into the SCD.
 
 
- 
quoteSQLString
public String quoteSQLString(String string)
Description copied from interface:DatabaseInterfaceAdds quotes around the string according to the database dialect and also escapes special characters like CR, LF and the quote character itself.- Specified by:
 quoteSQLStringin interfaceDatabaseInterface- Overrides:
 quoteSQLStringin classBaseDatabaseMeta- Parameters:
 string-- Returns:
 - A string that is properly quoted for use in a SQL statement (insert, update, delete, etc)
 
 
- 
isMySQLVariant
public boolean isMySQLVariant()
- Specified by:
 isMySQLVariantin interfaceDatabaseInterface- Overrides:
 isMySQLVariantin classBaseDatabaseMeta- Returns:
 - true if the database is a MySQL variant, like MySQL 5.1, InfiniDB, InfoBright, and so on.
 
 
- 
releaseSavepoint
public boolean releaseSavepoint()
Returns a false as Oracle does not allow for the releasing of savepoints.- Specified by:
 releaseSavepointin interfaceDatabaseInterface- Overrides:
 releaseSavepointin classBaseDatabaseMeta- Returns:
 
 
- 
supportsErrorHandlingOnBatchUpdates
public boolean supportsErrorHandlingOnBatchUpdates()
- Specified by:
 supportsErrorHandlingOnBatchUpdatesin interfaceDatabaseInterface- Overrides:
 supportsErrorHandlingOnBatchUpdatesin classBaseDatabaseMeta- Returns:
 - true if the database supports error handling (recovery of failure) while doing batch updates.
 
 
- 
isRequiringTransactionsOnQueries
public boolean isRequiringTransactionsOnQueries()
- Specified by:
 isRequiringTransactionsOnQueriesin interfaceDatabaseInterface- Overrides:
 isRequiringTransactionsOnQueriesin classBaseDatabaseMeta- Returns:
 - true if this database needs a transaction to perform a query (auto-commit turned off).
 
 
- 
supportsRepository
public boolean supportsRepository()
- Specified by:
 supportsRepositoryin interfaceDatabaseInterface- Overrides:
 supportsRepositoryin classBaseDatabaseMeta- Returns:
 - true if Kettle can create a repository on this type of database.
 
 
- 
fullExceptionLog
public boolean fullExceptionLog(Exception e)
Description copied from interface:DatabaseInterfaceExtendedReturns false if exception doesn't require full exception log. Could be used in cases of DB vendor specific error which doesn't require stack trace log.- Specified by:
 fullExceptionLogin interfaceDatabaseInterfaceExtended- Overrides:
 fullExceptionLogin classBaseDatabaseMeta- Parameters:
 e- exception to check- Returns:
 - decision result
 
 
- 
addDefaultOptions
public void addDefaultOptions()
Description copied from interface:DatabaseInterfaceSet default options for this database- Specified by:
 addDefaultOptionsin interfaceDatabaseInterface- Overrides:
 addDefaultOptionsin classBaseDatabaseMeta
 
- 
getDefaultOptions
public Map<String,String> getDefaultOptions()
- Specified by:
 getDefaultOptionsin interfaceDatabaseInterface- Overrides:
 getDefaultOptionsin classBaseDatabaseMeta- Returns:
 - default extra Options
 
 
- 
getMaxVARCHARLength
public int getMaxVARCHARLength()
Description copied from class:BaseDatabaseMetaGet the maximum length of a text field (VARCHAR) for this database connection. If this size is exceeded use a CLOB.- Specified by:
 getMaxVARCHARLengthin interfaceDatabaseInterface- Overrides:
 getMaxVARCHARLengthin classBaseDatabaseMeta- Returns:
 - The maximum VARCHAR field length for this database type. (mostly identical to getMaxTextFieldLength() - CLOB_LENGTH)
 
 
- 
getMaxTextFieldLength
public int getMaxTextFieldLength()
Description copied from class:BaseDatabaseMetaGet the maximum length of a text field for this database connection. This includes optional CLOB, Memo and Text fields. (the maximum!)- Specified by:
 getMaxTextFieldLengthin interfaceDatabaseInterface- Overrides:
 getMaxTextFieldLengthin classBaseDatabaseMeta- Returns:
 - The maximum text field length for this database type. (mostly CLOB_LENGTH)
 
 
- 
getLegacyColumnName
public String getLegacyColumnName(DatabaseMetaData dbMetaData, ResultSetMetaData rsMetaData, int index) throws KettleDatabaseException
Returns the column name for a MySQL field checking if the driver major version is "greater than" or "lower or equal" to 3.- Specified by:
 getLegacyColumnNamein interfaceDatabaseInterface- Parameters:
 dbMetaData-rsMetaData-index-- Returns:
 - The column label if version is greater than 3 or the column name if version is lower or equal to 3.
 - Throws:
 KettleDatabaseException
 
 - 
 
 -