org.pentaho.di.core.database
Class TeradataDatabaseMeta
java.lang.Object
org.pentaho.di.core.database.BaseDatabaseMeta
org.pentaho.di.core.database.TeradataDatabaseMeta
- All Implemented Interfaces:
- Cloneable, DatabaseInterface
public class TeradataDatabaseMeta
- extends BaseDatabaseMeta
- implements DatabaseInterface
Contains NCR Teradata specific information through static final members
- Since:
- 26-jul-2006
- Author:
- Matt
| 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_QUOTE_ALL_FIELDS, ATTRIBUTE_SQL_CONNECT, ATTRIBUTE_SUPPORTS_BOOLEAN_DATA_TYPE, ATTRIBUTE_USE_POOLING, ATTRIBUTE_USE_RESULT_STREAMING, AUTOINCREMENT_SQL_FOR_BATCH_ID, poolingParameters, SELECT_COUNT_STATEMENT, SEQUENCE_FOR_BATCH_ID |
|
Method Summary |
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
For this generic type, i set it to the most common possibility. |
int |
getDefaultDatabasePort()
|
String |
getDriverClass()
Obtain the name of the JDBC driver class that we need to use! |
String |
getExtraOptionIndicator()
|
Map<String,String> |
getExtraOptions()
Overrides parent behavior to allow getDatabasePortNumberString value to override value of
DBS_PORT extra option. |
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 |
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 |
getSchemaTableCombination(String schema_name,
String table_part)
Get the schema-table combination to query the right table. |
String |
getSQLColumnExists(String columnname,
String tablename)
|
String |
getSQLTableExists(String tablename)
|
String |
getTruncateTableStatement(String tableName)
|
String |
getURL(String hostname,
String port,
String databaseName)
|
String[] |
getUsedLibraries()
|
boolean |
isFetchSizeSupported()
Checks whether or not the command setFetchSize() is supported by the JDBC driver... |
boolean |
supportsBitmapIndex()
|
boolean |
supportsRepository()
|
| Methods inherited from class org.pentaho.di.core.database.BaseDatabaseMeta |
addExtraOption, checkIndexExists, clone, generateColumnAlias, getAccessType, getAttributes, getBackwardsCompatibleSchemaTableCombination, getBackwardsCompatibleTable, getConnectionPoolingProperties, getConnectSQL, getDatabaseFactoryName, getDatabaseName, getDatabasePortNumberString, getDataTablespace, getDataTablespaceDDL, getDropColumnStatement, getEndQuote, getExtraOptionValueSeparator, getFunctionAverage, getFunctionCount, getFunctionMaximum, getFunctionMinimum, getFunctionSum, getHostname, getIndexTablespace, getIndexTablespaceDDL, getInitialPoolSize, getLimitClause, getMaxColumnsInIndex, getMaximumPoolSize, getMaxTextFieldLength, getMaxVARCHARLength, getName, getNextBatchId, getNextBatchIdUsingAutoIncSQL, getNextBatchIdUsingLockTables, getNextBatchIdUsingSequence, getObjectId, getPartitioningInformation, getPassword, getPluginId, getPluginName, getPreferredSchemaName, getReservedWords, getSelectCountStatement, getServername, getSQLCurrentSequenceValue, getSQLInsertAutoIncUnknownDimensionRow, getSQLListOfProcedures, getSQLListOfSchemas, getSQLListOfSequences, getSQLLockTables, getSQLNextSequenceValue, getSQLQueryFields, getSQLSequenceExists, getSQLUnlockTables, getStartQuote, getSynonymTypes, getTablespaceDDL, getTableTypes, getUsername, getValueFromResultSet, getViewTypes, getXulOverlayFile, isChanged, isDefaultingToUppercase, isDisplaySizeTwiceThePrecision, isExplorable, isForcingIdentifiersToLowerCase, isForcingIdentifiersToUpperCase, isMySQLVariant, isPartitioned, isQuoteAllFields, isRequiringTransactionsOnQueries, isStreamingResults, isSystemTable, isUsingConnectionPool, isUsingDoubleDecimalAsSchemaTableSeparator, needsPlaceHolder, needsToLockAllTables, parseStatements, quoteReservedWords, quoteSQLString, releaseSavepoint, requiresCastToVariousForIsNull, requiresCreateTablePrimaryKeyAppend, setAccessType, setAttributes, setChanged, setConnectionPoolingProperties, setConnectSQL, setDatabaseName, setDatabasePortNumberString, setDataTablespace, setForcingIdentifiersToLowerCase, setForcingIdentifiersToUpperCase, setHostname, setIndexTablespace, setInitialPoolSize, setMaximumPoolSize, setName, setObjectId, setPartitioned, setPartitioningInformation, setPassword, setPluginId, setPluginName, setPreferredSchemaName, setQuoteAllFields, setServername, setStreamingResults, setSupportsBooleanDataType, setUsername, setUsingConnectionPool, setUsingDoubleDecimalAsSchemaTableSeparator, supportsAutoInc, supportsBatchUpdates, supportsBooleanDataType, supportsCatalogs, supportsEmptyTransactions, supportsErrorHandling, supportsErrorHandlingOnBatchUpdates, supportsFloatRoundingOnUpdate, supportsGetBlob, supportsNewLinesInSQL, supportsOptionsInURL, supportsPreparedStatementMetadataRetrieval, supportsResultSetMetadataRetrievalOnly, supportsSchemas, supportsSequenceNoMaxValueOption, supportsSequences, supportsSetCharacterStream, supportsSetLong, supportsSetMaxRows, supportsSynonyms, supportsTimeStampToDateConversion, supportsTransactions, supportsViews, useSafePoints, useSchemaNameForTableList |
| Methods inherited from interface org.pentaho.di.core.database.DatabaseInterface |
addExtraOption, checkIndexExists, clone, generateColumnAlias, getAccessType, getAttributes, getConnectionPoolingProperties, getConnectSQL, getDatabaseFactoryName, getDatabaseName, getDatabasePortNumberString, getDataTablespace, getDataTablespaceDDL, getDropColumnStatement, getEndQuote, getExtraOptionValueSeparator, getFunctionAverage, getFunctionCount, getFunctionMaximum, getFunctionMinimum, getFunctionSum, getHostname, getIndexTablespace, getIndexTablespaceDDL, getInitialPoolSize, getLimitClause, getMaxColumnsInIndex, getMaximumPoolSize, getMaxTextFieldLength, getMaxVARCHARLength, getName, getNextBatchId, getObjectId, getPartitioningInformation, getPassword, getPluginId, getPluginName, getPreferredSchemaName, getReservedWords, getSelectCountStatement, getServername, getSQLCurrentSequenceValue, getSQLInsertAutoIncUnknownDimensionRow, getSQLListOfProcedures, getSQLListOfSchemas, getSQLListOfSequences, getSQLLockTables, getSQLNextSequenceValue, getSQLQueryFields, getSQLSequenceExists, getSQLUnlockTables, getStartQuote, getSynonymTypes, getTableTypes, getUsername, getValueFromResultSet, getViewTypes, getXulOverlayFile, isChanged, isDefaultingToUppercase, isDisplaySizeTwiceThePrecision, isExplorable, isForcingIdentifiersToLowerCase, isForcingIdentifiersToUpperCase, isMySQLVariant, isPartitioned, isQuoteAllFields, isRequiringTransactionsOnQueries, isStreamingResults, isSystemTable, isUsingConnectionPool, isUsingDoubleDecimalAsSchemaTableSeparator, needsPlaceHolder, needsToLockAllTables, parseStatements, quoteReservedWords, quoteSQLString, releaseSavepoint, requiresCastToVariousForIsNull, requiresCreateTablePrimaryKeyAppend, setAccessType, setAttributes, setChanged, setConnectionPoolingProperties, setConnectSQL, setDatabaseName, setDatabasePortNumberString, setDataTablespace, setForcingIdentifiersToLowerCase, setForcingIdentifiersToUpperCase, setHostname, setIndexTablespace, setInitialPoolSize, setMaximumPoolSize, setName, setObjectId, setPartitioned, setPartitioningInformation, setPassword, setPluginId, setPluginName, setPreferredSchemaName, setQuoteAllFields, setServername, setStreamingResults, setSupportsBooleanDataType, setUsername, setUsingConnectionPool, setUsingDoubleDecimalAsSchemaTableSeparator, supportsAutoInc, supportsBatchUpdates, supportsBooleanDataType, supportsCatalogs, supportsEmptyTransactions, supportsErrorHandling, supportsErrorHandlingOnBatchUpdates, supportsFloatRoundingOnUpdate, supportsGetBlob, supportsNewLinesInSQL, supportsOptionsInURL, supportsPreparedStatementMetadataRetrieval, supportsResultSetMetadataRetrievalOnly, supportsSchemas, supportsSequenceNoMaxValueOption, supportsSequences, supportsSetCharacterStream, supportsSetLong, supportsSetMaxRows, supportsSynonyms, supportsTimeStampToDateConversion, supportsTransactions, supportsViews, useSafePoints, useSchemaNameForTableList |
TeradataDatabaseMeta
public TeradataDatabaseMeta()
getAccessTypeList
public int[] getAccessTypeList()
- Description copied from interface:
DatabaseInterface
- Get the list of possible access types for a database.
- Specified by:
getAccessTypeList in interface DatabaseInterface- Specified by:
getAccessTypeList in class BaseDatabaseMeta
- Returns:
- the list of possible access types for a database.
getNotFoundTK
public int getNotFoundTK(boolean use_autoinc)
- Description copied from interface:
DatabaseInterface
- Get the not found technical key.
- Specified by:
getNotFoundTK in interface DatabaseInterface- Overrides:
getNotFoundTK in class BaseDatabaseMeta
- Parameters:
use_autoinc - 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:
DatabaseInterface
- Obtain the name of the JDBC driver class that we need to use!
- Specified by:
getDriverClass in interface DatabaseInterface
- Returns:
- the name of the JDBC driver class for the specific database
getURL
public String getURL(String hostname,
String port,
String databaseName)
- Specified by:
getURL in interface DatabaseInterface
- Parameters:
hostname - the hostnameport - the port as a stringdatabaseName - the database name
- Returns:
- the URL to use for connecting to the database.
isFetchSizeSupported
public boolean isFetchSizeSupported()
- Checks whether or not the command setFetchSize() is supported by the JDBC driver...
- Specified by:
isFetchSizeSupported in interface DatabaseInterface- Overrides:
isFetchSizeSupported in class BaseDatabaseMeta
- Returns:
- true is setFetchSize() is supported!
getSchemaTableCombination
public String getSchemaTableCombination(String schema_name,
String table_part)
- Description copied from class:
BaseDatabaseMeta
- Get the schema-table combination to query the right table.
Usually that is SCHEMA.TABLENAME, however there are exceptions to this rule...
- Specified by:
getSchemaTableCombination in interface DatabaseInterface- Overrides:
getSchemaTableCombination in class BaseDatabaseMeta
- Parameters:
schema_name - The schema nametable_part - The tablename
- Returns:
- the schema-table combination to query the right table.
- See Also:
DatabaseInterface.getSchemaTableCombination(java.lang.String, java.lang.String)
supportsBitmapIndex
public boolean supportsBitmapIndex()
- Specified by:
supportsBitmapIndex in interface DatabaseInterface- Overrides:
supportsBitmapIndex in class BaseDatabaseMeta
- Returns:
- true if the database supports bitmap indexes
supportsRepository
public boolean supportsRepository()
- Specified by:
supportsRepository in interface DatabaseInterface- Overrides:
supportsRepository in class BaseDatabaseMeta
- Returns:
- true if Kettle can create a repository on this type of database.
getSQLTableExists
public String getSQLTableExists(String tablename)
- Specified by:
getSQLTableExists in interface DatabaseInterface- Overrides:
getSQLTableExists in class BaseDatabaseMeta
- 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:
getSQLColumnExists in interface DatabaseInterface- Overrides:
getSQLColumnExists in class BaseDatabaseMeta
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 column.
getTruncateTableStatement
public String getTruncateTableStatement(String tableName)
- Specified by:
getTruncateTableStatement in interface DatabaseInterface- Overrides:
getTruncateTableStatement in class BaseDatabaseMeta
- Parameters:
tableName - The table to be truncated.
- Returns:
- The SQL statement to truncate a table: remove all rows from it without a transaction
getAddColumnStatement
public 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
For this generic type, i set it to the most common possibility.
- Specified by:
getAddColumnStatement in interface DatabaseInterface
- Parameters:
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.
- Returns:
- the SQL statement to add a column to the specified table
getModifyColumnStatement
public 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
- Specified by:
getModifyColumnStatement in interface DatabaseInterface
- Parameters:
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.
- Returns:
- the SQL statement to modify a column in the specified table
getFieldDefinition
public String getFieldDefinition(ValueMetaInterface v,
String tk,
String pk,
boolean use_autoinc,
boolean add_fieldname,
boolean add_cr)
- Description copied from interface:
DatabaseInterface
- Describe a Value as a field in the database.
- Specified by:
getFieldDefinition in interface DatabaseInterface
- 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 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.
- Returns:
- a value described as a field in this database.
getExtraOptionSeparator
public String getExtraOptionSeparator()
- Specified by:
getExtraOptionSeparator in interface DatabaseInterface- Overrides:
getExtraOptionSeparator in class BaseDatabaseMeta
- Returns:
- The extra option separator in database URL for this platform (usually this is semicolon ; )
getExtraOptionIndicator
public String getExtraOptionIndicator()
- Specified by:
getExtraOptionIndicator in interface DatabaseInterface- Overrides:
getExtraOptionIndicator in class BaseDatabaseMeta
- Returns:
- This indicator separates the normal URL from the options
getExtraOptionsHelpText
public String getExtraOptionsHelpText()
- Specified by:
getExtraOptionsHelpText in interface DatabaseInterface- Overrides:
getExtraOptionsHelpText in class BaseDatabaseMeta
- Returns:
- extra help text on the supported options on the selected database platform.
getUsedLibraries
public String[] getUsedLibraries()
- Specified by:
getUsedLibraries in interface DatabaseInterface
- Returns:
- the required libraries (in libext) for this database connection.
getDefaultDatabasePort
public int getDefaultDatabasePort()
- Specified by:
getDefaultDatabasePort in interface DatabaseInterface- Overrides:
getDefaultDatabasePort in class BaseDatabaseMeta
- Returns:
- the default database port number
getExtraOptions
public Map<String,String> getExtraOptions()
- Overrides parent behavior to allow
getDatabasePortNumberString value to override value of
DBS_PORT extra option.
- Specified by:
getExtraOptions in interface DatabaseInterface- Overrides:
getExtraOptions in class BaseDatabaseMeta
- Returns:
- all the extra options that are set to be used for the database URL