Package org.pentaho.di.core.database
Class NetezzaDatabaseMeta
java.lang.Object
org.pentaho.di.core.database.BaseDatabaseMeta
org.pentaho.di.core.database.NetezzaDatabaseMeta
- All Implemented Interfaces:
Cloneable,DatabaseInterface,DatabaseInterfaceExtended
Contains Netezza specific information through static final members
- Since:
- 16-oct-2006
- Author:
- Biswapesh
-
Field Summary
FieldsFields 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 -
Method Summary
Modifier and TypeMethodDescriptionint[]Get the list of possible access types for a database.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 Note: Netezza does not allow adding columns to tablesintObtain the name of the JDBC driver class that we need to use!getDropColumnStatement(String tablename, ValueMetaInterface v, String tk, boolean useAutoinc, String pk, boolean semicolon) Generates the SQL statement to drop a column from the specified table Note: Netezza does not allow addition/deletion of columns to tablesgetFieldDefinition(ValueMetaInterface v, String tk, String pk, boolean useAutoinc, boolean addFieldName, boolean addCr) Describe a Value as a field in the database.getLimitClause(int nrRows) 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.String[]getSQLColumnExists(String columnname, String tablename) getSQLCurrentSequenceValue(String sequenceName) Get the SQL to get the current value of a sequence.getSQLListOfProcedures(String schemaName) getSQLLockTables(String[] tableNames) getSQLNextSequenceValue(String sequenceName) Get the SQL to get the next value of a sequence.getSQLQueryColumnFields(String columnname, String tableName) getSQLQueryFields(String tableName) Returns the minimal SQL to launch in order to determine the layout of the resultset for a given database tablegetSQLSequenceExists(String sequenceName) Check if a sequence exists.getSQLTableExists(String tablename) getSQLUnlockTables(String[] tableName) String[]booleanbooleanChecks whether or not the command setFetchSize() is supported by the JDBC driver...booleanbooleanbooleanbooleanbooleanMethods inherited from class org.pentaho.di.core.database.BaseDatabaseMeta
addAttribute, addDefaultOptions, addExtraOption, canTest, checkIndexExists, clone, customizeValueFromSQLType, fullExceptionLog, generateColumnAlias, getAccessType, getAttribute, getAttributes, getBackwardsCompatibleSchemaTableCombination, getBackwardsCompatibleTable, getConnectionPoolingProperties, getConnectSQL, getCreateTableStatement, getDatabaseFactoryName, getDatabaseName, getDatabasePortNumberString, getDataTablespace, getDataTablespaceDDL, getDefaultOptions, getDisplayName, getDropTableIfExistsStatement, getEndQuote, getExtraOptions, getExtraOptionsHelpText, getExtraOptionValueSeparator, getFieldnameProtector, getFunctionAverage, getFunctionCount, getFunctionMaximum, getFunctionMinimum, getFunctionSum, getHostname, getIndexTablespace, getIndexTablespaceDDL, getInitialPoolSize, getInitialPoolSizeString, getMaxColumnsInIndex, getMaximumPoolSize, getMaximumPoolSizeString, getMaxTextFieldLength, getMaxVARCHARLength, getName, getNamedCluster, getNextBatchId, getNextBatchIdUsingAutoIncSQL, getNextBatchIdUsingLockTables, getNextBatchIdUsingSequence, getNotFoundTK, getObjectId, getPartitioningInformation, getPassword, getPluginId, getPluginName, getPreferredSchemaName, getSafeFieldname, getSchemaTableCombination, getSelectCountStatement, getSequenceNoMaxValueOption, getServername, getSQLInsertAutoIncUnknownDimensionRow, getSQLListOfProcedures, getSQLListOfSchemas, getSqlScriptStatements, getSQLValue, getStartQuote, getSynonymTypes, getTablespaceDDL, getTableTypes, getTruncateTableStatement, getUsername, getValueFromResultSet, getViewTypes, getXulOverlayFile, isChanged, isDisplaySizeTwiceThePrecision, isExplorable, isForcingIdentifiersToLowerCase, isForcingIdentifiersToUpperCase, isMySQLVariant, isPartitioned, isQuoteAllFields, isRequiringTransactionsOnQueries, isStreamingResults, isSystemTable, isUsingConnectionPool, isUsingDoubleDecimalAsSchemaTableSeparator, needsPlaceHolder, needsToLockAllTables, onlySpaces, parseStatements, preserveReservedCase, quoteReservedWords, quoteSQLString, releaseSavepoint, 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, supportsBatchUpdates, supportsBooleanDataType, supportsCatalogs, supportsEmptyTransactions, supportsErrorHandling, supportsErrorHandlingOnBatchUpdates, supportsFloatRoundingOnUpdate, supportsGetBlob, supportsNewLinesInSQL, supportsOptionsInURL, supportsPreparedStatementMetadataRetrieval, supportsRepository, supportsResultSetMetadataRetrievalOnly, supportsSchemas, supportsSequenceNoMaxValueOption, supportsSetCharacterStream, supportsSetLong, supportsSetMaxRows, supportsTimestampDataType, supportsTransactions, supportsViews, useSafePoints, useSchemaNameForTableListMethods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.pentaho.di.core.database.DatabaseInterface
addAttribute, addDefaultOptions, addExtraOption, checkIndexExists, clone, createSqlScriptParser, customizeValueFromSQLType, generateColumnAlias, getAccessType, getAttribute, getAttributes, getConnectionPoolingProperties, getConnectSQL, getCreateTableStatement, getDatabaseFactoryName, getDatabaseName, getDatabasePortNumberString, getDataTablespace, getDataTablespaceDDL, getDefaultOptions, getDisplayName, getEndQuote, getExtraOptions, getExtraOptionsHelpText, getExtraOptionValueSeparator, getFunctionAverage, getFunctionCount, getFunctionMaximum, getFunctionMinimum, getFunctionSum, getHostname, getIndexTablespace, getIndexTablespaceDDL, getInitialPoolSize, getInitialPoolSizeString, getLegacyColumnName, getMaxColumnsInIndex, getMaximumPoolSize, getMaximumPoolSizeString, getMaxTextFieldLength, getMaxVARCHARLength, getName, getNamedCluster, getNamedClusterList, getNextBatchId, getNotFoundTK, getObjectId, getPartitioningInformation, getPassword, getPluginId, getPluginName, getPreferredSchemaName, getSafeFieldname, getSchemas, getSchemaTableCombination, getSelectCountStatement, getSequenceNoMaxValueOption, getServername, getSQLInsertAutoIncUnknownDimensionRow, getSQLListOfProcedures, getSQLListOfSchemas, getSQLListOfSchemas, getSqlScriptStatements, getSQLValue, getStartQuote, getSynonymTypes, getTables, getTableTypes, getTruncateTableStatement, getUnsupportedTableOutputMessage, getUsername, getValueFromResultSet, getViewTypes, getXulOverlayFile, isChanged, isDisplaySizeTwiceThePrecision, isExplorable, isForcingIdentifiersToLowerCase, isForcingIdentifiersToUpperCase, isMySQLVariant, isPartitioned, isQuoteAllFields, isRequiringTransactionsOnQueries, isStreamingResults, isSystemTable, isUsingConnectionPool, isUsingDoubleDecimalAsSchemaTableSeparator, needsPlaceHolder, needsToLockAllTables, parseStatements, preserveReservedCase, putOptionalOptions, quoteReservedWords, quoteSQLString, releaseSavepoint, 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, supportsBatchUpdates, supportsBooleanDataType, supportsCatalogs, supportsEmptyTransactions, supportsErrorHandling, supportsErrorHandlingOnBatchUpdates, supportsFloatRoundingOnUpdate, supportsGetBlob, supportsIndexes, supportsNewLinesInSQL, supportsOptionsInURL, supportsPreparedStatementMetadataRetrieval, supportsRepository, supportsResultSetMetadataRetrievalOnly, supportsSchemas, supportsSequenceNoMaxValueOption, supportsSetCharacterStream, supportsSetLong, supportsSetMaxRows, supportsStandardTableOutput, supportsTimestampDataType, supportsTransactions, supportsViews, useSafePoints, useSchemaNameForTableList
-
Field Details
-
MAX_CHAR_LEN
public static final int MAX_CHAR_LEN- See Also:
-
-
Constructor Details
-
NetezzaDatabaseMeta
public NetezzaDatabaseMeta()
-
-
Method Details
-
getExtraOptionSeparator
- Specified by:
getExtraOptionSeparatorin interfaceDatabaseInterface- Overrides:
getExtraOptionSeparatorin classBaseDatabaseMeta- Returns:
- The extra option separator in database URL for this platform
-
getExtraOptionIndicator
- Specified by:
getExtraOptionIndicatorin interfaceDatabaseInterface- Overrides:
getExtraOptionIndicatorin classBaseDatabaseMeta- Returns:
- This indicator separates the normal URL from the options
-
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
-
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
- 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.
-
isFetchSizeSupported
public boolean isFetchSizeSupported()Checks whether or not the command setFetchSize() is supported by the JDBC driver...- Specified by:
isFetchSizeSupportedin interfaceDatabaseInterface- Overrides:
isFetchSizeSupportedin classBaseDatabaseMeta- Returns:
- true is setFetchSize() is supported!
-
supportsBitmapIndex
public boolean supportsBitmapIndex()- Specified by:
supportsBitmapIndexin interfaceDatabaseInterface- Overrides:
supportsBitmapIndexin classBaseDatabaseMeta- Returns:
- true if the database supports bitmap indexes
-
supportsSynonyms
public boolean supportsSynonyms()- Specified by:
supportsSynonymsin interfaceDatabaseInterface- Overrides:
supportsSynonymsin classBaseDatabaseMeta- Returns:
- true if the database supports synonyms
-
supportsSequences
public boolean supportsSequences()- Specified by:
supportsSequencesin interfaceDatabaseInterface- Overrides:
supportsSequencesin classBaseDatabaseMeta- Returns:
- true if the database supports sequences
-
supportsAutoInc
public boolean supportsAutoInc()- Specified by:
supportsAutoIncin interfaceDatabaseInterface- Overrides:
supportsAutoIncin classBaseDatabaseMeta- Returns:
- true if auto incremment is supported
-
getLimitClause
- 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
Description copied from class:BaseDatabaseMetaReturns 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
- 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
- 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.
-
getSQLQueryColumnFields
-
getSQLNextSequenceValue
Get the SQL to get the next value of a sequence. (Netezza version)- Specified by:
getSQLNextSequenceValuein interfaceDatabaseInterface- Overrides:
getSQLNextSequenceValuein classBaseDatabaseMeta- Parameters:
sequenceName- The sequence name- Returns:
- the SQL to get the next value of a sequence.
-
getSQLCurrentSequenceValue
Get the SQL to get the current value of a sequence. (Netezza version)- Specified by:
getSQLCurrentSequenceValuein interfaceDatabaseInterface- Overrides:
getSQLCurrentSequenceValuein classBaseDatabaseMeta- Parameters:
sequenceName- The sequence name- Returns:
- the SQL to get the current value of a sequence.
-
getSQLSequenceExists
Check if a sequence exists.- Specified by:
getSQLSequenceExistsin interfaceDatabaseInterface- Overrides:
getSQLSequenceExistsin classBaseDatabaseMeta- Parameters:
sequenceName- The sequence to check- Returns:
- The SQL to get the name of the sequence back from the databases data dictionary
-
getSQLListOfSequences
- Specified by:
getSQLListOfSequencesin interfaceDatabaseInterface- Overrides:
getSQLListOfSequencesin classBaseDatabaseMeta- Returns:
- The SQL on this database to get a list of sequences.
-
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 Note: Netezza does not allow adding columns to tables- 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
-
getDropColumnStatement
public String getDropColumnStatement(String tablename, ValueMetaInterface v, String tk, boolean useAutoinc, String pk, boolean semicolon) Generates the SQL statement to drop a column from the specified table Note: Netezza does not allow addition/deletion of columns to tables- Specified by:
getDropColumnStatementin interfaceDatabaseInterface- Overrides:
getDropColumnStatementin classBaseDatabaseMeta- 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 drop a column from 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. Note: Support for this in Netezza is incomplete since Netezza allows very limited table/column modifications post-creation- 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.
-
getSQLListOfProcedures
- Parameters:
the- schema name to search in or null if you want to search the whole DB- Returns:
- The SQL on this database to get a list of stored procedures.
-
getReservedWords
- Specified by:
getReservedWordsin interfaceDatabaseInterface- Overrides:
getReservedWordsin classBaseDatabaseMeta- Returns:
- an array of reserved words for the database type...
-
getSQLLockTables
- Specified by:
getSQLLockTablesin interfaceDatabaseInterface- Overrides:
getSQLLockTablesin classBaseDatabaseMeta- Parameters:
tableNames- The names of the tables to lock- Returns:
- The SQL commands to lock database tables for write purposes.
-
getSQLUnlockTables
- 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.
-
isDefaultingToUppercase
public boolean isDefaultingToUppercase()- Specified by:
isDefaultingToUppercasein interfaceDatabaseInterface- Overrides:
isDefaultingToUppercasein classBaseDatabaseMeta- Returns:
- true if the database defaults to naming tables and fields in uppercase. True for most databases except for stuborn stuff like Postgres ;-)
-
supportsTimeStampToDateConversion
public boolean supportsTimeStampToDateConversion()- Specified by:
supportsTimeStampToDateConversionin interfaceDatabaseInterface- Overrides:
supportsTimeStampToDateConversionin classBaseDatabaseMeta- Returns:
- true if the database resultsets support getTimeStamp() to retrieve date-time. (Date)
-
getUsedLibraries
- Specified by:
getUsedLibrariesin interfaceDatabaseInterface- Returns:
- the required libraries (in lib) for this database connection.
-