org.pentaho.di.core.database
Class DerbyDatabaseMeta
java.lang.Object
org.pentaho.di.core.database.BaseDatabaseMeta
org.pentaho.di.core.database.DerbyDatabaseMeta
- All Implemented Interfaces:
- Cloneable, DatabaseInterface
public class DerbyDatabaseMeta
- extends BaseDatabaseMeta
- implements DatabaseInterface
Contains Generic Database Connection information through static final members
- Since:
- 11-mrt-2005
- 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 |
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[] |
getReservedWords()
|
String |
getSQLInsertAutoIncUnknownDimensionRow(String schemaTable,
String keyField,
String versionField)
Get the SQL to insert a new empty unknown record in a dimension. |
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 |
supportsGetBlob()
|
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, getExtraOptionIndicator, getExtraOptions, getExtraOptionSeparator, 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, getSchemaTableCombination, getSelectCountStatement, getServername, getSQLColumnExists, getSQLCurrentSequenceValue, getSQLListOfProcedures, getSQLListOfSchemas, getSQLListOfSequences, getSQLLockTables, getSQLNextSequenceValue, getSQLQueryFields, getSQLSequenceExists, getSQLTableExists, 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, 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, getExtraOptionIndicator, getExtraOptions, getExtraOptionSeparator, getExtraOptionValueSeparator, getFunctionAverage, getFunctionCount, getFunctionMaximum, getFunctionMinimum, getFunctionSum, getHostname, getIndexTablespace, getIndexTablespaceDDL, getInitialPoolSize, getLimitClause, getMaxColumnsInIndex, getMaximumPoolSize, getMaxTextFieldLength, getMaxVARCHARLength, getName, getNextBatchId, getObjectId, getPartitioningInformation, getPassword, getPluginId, getPluginName, getPreferredSchemaName, getSchemaTableCombination, getSelectCountStatement, getServername, getSQLColumnExists, getSQLCurrentSequenceValue, getSQLListOfProcedures, getSQLListOfSchemas, getSQLListOfSequences, getSQLLockTables, getSQLNextSequenceValue, getSQLQueryFields, getSQLSequenceExists, getSQLTableExists, 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, supportsNewLinesInSQL, supportsOptionsInURL, supportsPreparedStatementMetadataRetrieval, supportsResultSetMetadataRetrievalOnly, supportsSchemas, supportsSequenceNoMaxValueOption, supportsSequences, supportsSetCharacterStream, supportsSetLong, supportsSetMaxRows, supportsSynonyms, supportsTimeStampToDateConversion, supportsTransactions, supportsViews, useSafePoints, useSchemaNameForTableList |
DerbyDatabaseMeta
public DerbyDatabaseMeta()
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!
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.
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.
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
supportsGetBlob
public boolean supportsGetBlob()
- Specified by:
supportsGetBlob
in interface DatabaseInterface
- Overrides:
supportsGetBlob
in class BaseDatabaseMeta
- Returns:
- true if the database JDBC driver supports getBlob on the resultset. If not we must use getBytes() to get the data.
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.
getReservedWords
public String[] getReservedWords()
- Specified by:
getReservedWords
in interface DatabaseInterface
- Overrides:
getReservedWords
in class BaseDatabaseMeta
- Returns:
- an array of reserved words for the database type...
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:
getSQLInsertAutoIncUnknownDimensionRow
in interface DatabaseInterface
- Overrides:
getSQLInsertAutoIncUnknownDimensionRow
in class BaseDatabaseMeta
- 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.