org.pentaho.di.core.database
Class VerticaDatabaseMeta
java.lang.Object
org.pentaho.di.core.database.BaseDatabaseMeta
org.pentaho.di.core.database.VerticaDatabaseMeta
- All Implemented Interfaces:
- Cloneable, DatabaseInterface
- Direct Known Subclasses:
- Vertica5DatabaseMeta
public class VerticaDatabaseMeta
- extends BaseDatabaseMeta
- implements DatabaseInterface
Contains Vertica Analytic Database information through static final members
- Since:
- 2009-03-16, May-2008
- Author:
- DEinspanjer, 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()
|
String |
getExtraOptionSeparator()
|
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)
|
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 use_autoinc,
String pk,
boolean semicolon)
Generates the SQL statement to modify a column in the specified table |
String[] |
getReservedWords()
|
String |
getSQLColumnExists(String columnname,
String tablename)
|
String |
getSQLCurrentSequenceValue(String sequenceName)
Get the SQL to get the next value of a sequence. |
String |
getSQLNextSequenceValue(String sequenceName)
Get the SQL to get the next value of a sequence. |
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 |
getURL(String hostname,
String port,
String databaseName)
|
String[] |
getUsedLibraries()
|
String[] |
getViewTypes()
|
boolean |
isFetchSizeSupported()
Checks whether or not the command setFetchSize() is supported by the JDBC driver... |
boolean |
requiresCastToVariousForIsNull()
|
boolean |
supportsAutoInc()
|
boolean |
supportsBitmapIndex()
|
boolean |
supportsBooleanDataType()
|
boolean |
supportsRepository()
|
boolean |
supportsSequences()
|
boolean |
supportsTimeStampToDateConversion()
|
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, getExtraOptions, getExtraOptionsHelpText, getExtraOptionValueSeparator, getFunctionAverage, getFunctionCount, getFunctionMaximum, getFunctionMinimum, getFunctionSum, getHostname, getIndexTablespace, getIndexTablespaceDDL, getInitialPoolSize, getMaxColumnsInIndex, getMaximumPoolSize, getName, getNextBatchId, getNextBatchIdUsingAutoIncSQL, getNextBatchIdUsingLockTables, getNextBatchIdUsingSequence, getNotFoundTK, getObjectId, getPartitioningInformation, getPassword, getPluginId, getPluginName, getPreferredSchemaName, getSchemaTableCombination, getSelectCountStatement, getServername, getSQLInsertAutoIncUnknownDimensionRow, getSQLListOfProcedures, getSQLListOfSchemas, getSQLListOfSequences, getSQLLockTables, getSQLSequenceExists, getSQLUnlockTables, getStartQuote, getSynonymTypes, getTablespaceDDL, getTableTypes, getTruncateTableStatement, getUsername, getValueFromResultSet, getXulOverlayFile, isChanged, isDefaultingToUppercase, isDisplaySizeTwiceThePrecision, isExplorable, isForcingIdentifiersToLowerCase, isForcingIdentifiersToUpperCase, isMySQLVariant, isPartitioned, isQuoteAllFields, isRequiringTransactionsOnQueries, isStreamingResults, isSystemTable, isUsingConnectionPool, isUsingDoubleDecimalAsSchemaTableSeparator, needsPlaceHolder, needsToLockAllTables, parseStatements, quoteReservedWords, quoteSQLString, releaseSavepoint, 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, supportsBatchUpdates, supportsCatalogs, supportsEmptyTransactions, supportsErrorHandling, supportsErrorHandlingOnBatchUpdates, supportsFloatRoundingOnUpdate, supportsGetBlob, supportsNewLinesInSQL, supportsOptionsInURL, supportsPreparedStatementMetadataRetrieval, supportsResultSetMetadataRetrievalOnly, supportsSchemas, supportsSequenceNoMaxValueOption, supportsSetCharacterStream, supportsSetLong, supportsSetMaxRows, supportsSynonyms, 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, getExtraOptions, getExtraOptionsHelpText, getExtraOptionValueSeparator, getFunctionAverage, getFunctionCount, getFunctionMaximum, getFunctionMinimum, getFunctionSum, getHostname, getIndexTablespace, getIndexTablespaceDDL, getInitialPoolSize, getMaxColumnsInIndex, getMaximumPoolSize, getName, getNextBatchId, getNotFoundTK, getObjectId, getPartitioningInformation, getPassword, getPluginId, getPluginName, getPreferredSchemaName, getSchemaTableCombination, getSelectCountStatement, getServername, getSQLInsertAutoIncUnknownDimensionRow, getSQLListOfProcedures, getSQLListOfSchemas, getSQLListOfSequences, getSQLLockTables, getSQLSequenceExists, getSQLUnlockTables, getStartQuote, getSynonymTypes, getTableTypes, getTruncateTableStatement, getUsername, getValueFromResultSet, getXulOverlayFile, isChanged, isDefaultingToUppercase, isDisplaySizeTwiceThePrecision, isExplorable, isForcingIdentifiersToLowerCase, isForcingIdentifiersToUpperCase, isMySQLVariant, isPartitioned, isQuoteAllFields, isRequiringTransactionsOnQueries, isStreamingResults, isSystemTable, isUsingConnectionPool, isUsingDoubleDecimalAsSchemaTableSeparator, needsPlaceHolder, needsToLockAllTables, parseStatements, quoteReservedWords, quoteSQLString, releaseSavepoint, 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, supportsBatchUpdates, supportsCatalogs, supportsEmptyTransactions, supportsErrorHandling, supportsErrorHandlingOnBatchUpdates, supportsFloatRoundingOnUpdate, supportsGetBlob, supportsNewLinesInSQL, supportsOptionsInURL, supportsPreparedStatementMetadataRetrieval, supportsResultSetMetadataRetrievalOnly, supportsSchemas, supportsSequenceNoMaxValueOption, supportsSetCharacterStream, supportsSetLong, supportsSetMaxRows, supportsSynonyms, supportsTransactions, supportsViews, useSafePoints, useSchemaNameForTableList |
VerticaDatabaseMeta
public VerticaDatabaseMeta()
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.
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.
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
getLimitClause
public String getLimitClause(int nrRows)
- Specified by:
getLimitClause
in interface DatabaseInterface
- Overrides:
getLimitClause
in class BaseDatabaseMeta
- 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
getMaxTextFieldLength
public int getMaxTextFieldLength()
- Description copied from class:
BaseDatabaseMeta
- Get the maximum length of a text field for this database connection.
This includes optional CLOB, Memo and Text fields. (the maximum!)
- Specified by:
getMaxTextFieldLength
in interface DatabaseInterface
- Overrides:
getMaxTextFieldLength
in class BaseDatabaseMeta
- Returns:
- The maximum text field length for this database type. (mostly CLOB_LENGTH)
getMaxVARCHARLength
public int getMaxVARCHARLength()
- Description copied from class:
BaseDatabaseMeta
- Get the maximum length of a text field (VARCHAR) for this database connection.
If this size is exceeded use a CLOB.
- Specified by:
getMaxVARCHARLength
in interface DatabaseInterface
- Overrides:
getMaxVARCHARLength
in class BaseDatabaseMeta
- Returns:
- The maximum VARCHAR field length for this database type. (mostly identical to getMaxTextFieldLength() - CLOB_LENGTH)
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...
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.
getSQLQueryFields
public String getSQLQueryFields(String tableName)
- Description copied from class:
BaseDatabaseMeta
- Returns the minimal SQL to launch in order to determine the layout of the resultset for a given database table
- Specified by:
getSQLQueryFields
in interface DatabaseInterface
- Overrides:
getSQLQueryFields
in class BaseDatabaseMeta
- 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:
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.
getViewTypes
public String[] getViewTypes()
- Specified by:
getViewTypes
in interface DatabaseInterface
- Overrides:
getViewTypes
in class BaseDatabaseMeta
- Returns:
- a list of table types to retrieve views for the database
supportsAutoInc
public boolean supportsAutoInc()
- Specified by:
supportsAutoInc
in interface DatabaseInterface
- Overrides:
supportsAutoInc
in class BaseDatabaseMeta
- Returns:
- Whether or not the database can use auto increment type of fields (pk)
supportsBooleanDataType
public boolean supportsBooleanDataType()
- Specified by:
supportsBooleanDataType
in interface DatabaseInterface
- Overrides:
supportsBooleanDataType
in class BaseDatabaseMeta
- Returns:
- true if the database supports a boolean, bit, logical, ... datatype
The default is false: map to a string.
requiresCastToVariousForIsNull
public boolean requiresCastToVariousForIsNull()
- Specified by:
requiresCastToVariousForIsNull
in interface DatabaseInterface
- Overrides:
requiresCastToVariousForIsNull
in class BaseDatabaseMeta
- Returns:
- true if the database requires you to cast a parameter to varchar before comparing to null. Only required for DB2 and Vertica
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
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 ; )
supportsSequences
public boolean supportsSequences()
- Specified by:
supportsSequences
in interface DatabaseInterface
- Overrides:
supportsSequences
in class BaseDatabaseMeta
- Returns:
- true if the database supports sequences
getSQLCurrentSequenceValue
public String getSQLCurrentSequenceValue(String sequenceName)
- Get the SQL to get the next value of a sequence. (Vertica version)
- Specified by:
getSQLCurrentSequenceValue
in interface DatabaseInterface
- Overrides:
getSQLCurrentSequenceValue
in class BaseDatabaseMeta
- Parameters:
sequenceName
- The sequence name
- Returns:
- the SQL to get the next value of a sequence.
getSQLNextSequenceValue
public String getSQLNextSequenceValue(String sequenceName)
- Get the SQL to get the next value of a sequence.
- Specified by:
getSQLNextSequenceValue
in interface DatabaseInterface
- Overrides:
getSQLNextSequenceValue
in class BaseDatabaseMeta
- Parameters:
sequenceName
- The sequence name
- Returns:
- the SQL to get the next value of a sequence.
supportsTimeStampToDateConversion
public boolean supportsTimeStampToDateConversion()
- Specified by:
supportsTimeStampToDateConversion
in interface DatabaseInterface
- Overrides:
supportsTimeStampToDateConversion
in class BaseDatabaseMeta
- Returns:
- false as the database does not support timestamp to date conversion.