public class OracleDatabaseMeta extends BaseDatabaseMeta implements DatabaseInterface
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, poolingParameters, SELECT_COUNT_STATEMENT, SEQUENCE_FOR_BATCH_ID| Constructor and Description |
|---|
OracleDatabaseMeta() |
| Modifier and Type | Method and Description |
|---|---|
boolean |
checkIndexExists(Database database,
String schemaName,
String tableName,
String[] idx_fields)
Verifies on the specified database connection if an index exists on the fields with the specified name.
|
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
|
int |
getDefaultDatabasePort() |
String |
getDriverClass()
Obtain the name of the JDBC driver class that we need to use!
|
String |
getDropColumnStatement(String tablename,
ValueMetaInterface v,
String tk,
boolean use_autoinc,
String pk,
boolean semicolon)
Generates the SQL statement to drop a column from the specified table
|
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 |
getLimitClause(int nrRows) |
int |
getMaxColumnsInIndex() |
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 current value of a database sequence
|
String |
getSQLListOfProcedures() |
String |
getSQLListOfSequences() |
String |
getSQLLockTables(String[] tableNames) |
String |
getSQLNextSequenceValue(String sequenceName)
Get the SQL to get the next value of a sequence.
|
String |
getSQLQueryColumnFields(String columnname,
String tableName) |
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 |
getSQLSequenceExists(String sequenceName)
Check if a sequence exists.
|
String |
getSQLTableExists(String tablename) |
String |
getSQLUnlockTables(String[] tableNames) |
String |
getTablespaceDDL(VariableSpace variables,
DatabaseMeta databaseMeta,
String tablespace)
Returns an empty string as most databases do not support tablespaces.
|
String |
getURL(String hostname,
String port,
String databaseName) |
String[] |
getUsedLibraries() |
boolean |
needsToLockAllTables() |
String |
quoteSQLString(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.
|
boolean |
releaseSavepoint()
Returns a false as Oracle does not allow for the releasing of savepoints.
|
boolean |
requiresCreateTablePrimaryKeyAppend() |
boolean |
supportsAutoInc() |
boolean |
supportsErrorHandlingOnBatchUpdates() |
boolean |
supportsOptionsInURL()
Oracle doesn't support options in the URL, we need to put these in a Properties object at connection time...
|
boolean |
supportsPreparedStatementMetadataRetrieval()
Most databases allow you to retrieve result metadata by preparing a SELECT statement.
|
boolean |
supportsRepository() |
boolean |
supportsSequences() |
boolean |
supportsSynonyms() |
boolean |
useSchemaNameForTableList() |
addExtraOption, clone, customizeValueFromSQLType, generateColumnAlias, getAccessType, getAttributes, getBackwardsCompatibleSchemaTableCombination, getBackwardsCompatibleTable, getConnectionPoolingProperties, getConnectSQL, getCreateTableStatement, getDatabaseFactoryName, getDatabaseName, getDatabasePortNumberString, getDataTablespace, getDataTablespaceDDL, getDefaultOptions, getDisplayName, getEndQuote, getExtraOptionIndicator, getExtraOptions, getExtraOptionSeparator, getExtraOptionValueSeparator, getFunctionAverage, getFunctionCount, getFunctionMaximum, getFunctionMinimum, getFunctionSum, getHostname, getIndexTablespace, getIndexTablespaceDDL, getInitialPoolSize, getMaximumPoolSize, getMaxTextFieldLength, getName, getNextBatchId, getNextBatchIdUsingAutoIncSQL, getNextBatchIdUsingLockTables, getNextBatchIdUsingSequence, getNotFoundTK, getObjectId, getPartitioningInformation, getPassword, getPluginId, getPluginName, getPreferredSchemaName, getSafeFieldname, getSchemaTableCombination, getSelectCountStatement, getSequenceNoMaxValueOption, getServername, getSQLInsertAutoIncUnknownDimensionRow, getSQLListOfSchemas, getSqlScriptStatements, getSQLValue, getStartQuote, getSynonymTypes, getTableTypes, getTruncateTableStatement, getUsername, getValueFromResultSet, getViewTypes, getXulOverlayFile, isChanged, isDefaultingToUppercase, isDisplaySizeTwiceThePrecision, isExplorable, isFetchSizeSupported, isForcingIdentifiersToLowerCase, isForcingIdentifiersToUpperCase, isMySQLVariant, isPartitioned, isQuoteAllFields, isRequiringTransactionsOnQueries, isStreamingResults, isSystemTable, isUsingConnectionPool, isUsingDoubleDecimalAsSchemaTableSeparator, needsPlaceHolder, parseStatements, preserveReservedCase, quoteReservedWords, requiresCastToVariousForIsNull, setAccessType, setAttributes, setChanged, setConnectionPoolingProperties, setConnectSQL, setDatabaseName, setDatabasePortNumberString, setDataTablespace, setDisplayName, setForcingIdentifiersToLowerCase, setForcingIdentifiersToUpperCase, setHostname, setIndexTablespace, setInitialPoolSize, setMaximumPoolSize, setName, setObjectId, setPartitioned, setPartitioningInformation, setPassword, setPluginId, setPluginName, setPreferredSchemaName, setPreserveReservedCase, setQuoteAllFields, setServername, setStreamingResults, setSupportsBooleanDataType, setSupportsTimestampDataType, setUsername, setUsingConnectionPool, setUsingDoubleDecimalAsSchemaTableSeparator, supportsAutoGeneratedKeys, supportsBatchUpdates, supportsBitmapIndex, supportsBooleanDataType, supportsCatalogs, supportsEmptyTransactions, supportsErrorHandling, supportsFloatRoundingOnUpdate, supportsGetBlob, supportsNewLinesInSQL, supportsResultSetMetadataRetrievalOnly, supportsSchemas, supportsSequenceNoMaxValueOption, supportsSetCharacterStream, supportsSetLong, supportsSetMaxRows, supportsTimestampDataType, supportsTimeStampToDateConversion, supportsTransactions, supportsViews, useSafePointsequals, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitaddExtraOption, clone, customizeValueFromSQLType, generateColumnAlias, getAccessType, getAttributes, getConnectionPoolingProperties, getConnectSQL, getCreateTableStatement, getDatabaseFactoryName, getDatabaseName, getDatabasePortNumberString, getDataTablespace, getDataTablespaceDDL, getDefaultOptions, getDisplayName, getEndQuote, getExtraOptionIndicator, getExtraOptions, getExtraOptionSeparator, getExtraOptionValueSeparator, getFunctionAverage, getFunctionCount, getFunctionMaximum, getFunctionMinimum, getFunctionSum, getHostname, getIndexTablespace, getIndexTablespaceDDL, getInitialPoolSize, getMaximumPoolSize, getMaxTextFieldLength, getName, getNextBatchId, getNotFoundTK, getObjectId, getPartitioningInformation, getPassword, getPluginId, getPluginName, getPreferredSchemaName, getSafeFieldname, getSchemaTableCombination, getSelectCountStatement, getSequenceNoMaxValueOption, getServername, getSQLInsertAutoIncUnknownDimensionRow, getSQLListOfSchemas, getSqlScriptStatements, getSQLValue, getStartQuote, getSynonymTypes, getTableTypes, getTruncateTableStatement, getUsername, getValueFromResultSet, getViewTypes, getXulOverlayFile, isChanged, isDefaultingToUppercase, isDisplaySizeTwiceThePrecision, isExplorable, isFetchSizeSupported, isForcingIdentifiersToLowerCase, isForcingIdentifiersToUpperCase, isMySQLVariant, isPartitioned, isQuoteAllFields, isRequiringTransactionsOnQueries, isStreamingResults, isSystemTable, isUsingConnectionPool, isUsingDoubleDecimalAsSchemaTableSeparator, needsPlaceHolder, parseStatements, preserveReservedCase, quoteReservedWords, requiresCastToVariousForIsNull, setAccessType, setAttributes, setChanged, setConnectionPoolingProperties, setConnectSQL, setDatabaseName, setDatabasePortNumberString, setDataTablespace, setDisplayName, setForcingIdentifiersToLowerCase, setForcingIdentifiersToUpperCase, setHostname, setIndexTablespace, setInitialPoolSize, setMaximumPoolSize, setName, setObjectId, setPartitioned, setPartitioningInformation, setPassword, setPluginId, setPluginName, setPreferredSchemaName, setPreserveReservedCase, setQuoteAllFields, setServername, setStreamingResults, setSupportsBooleanDataType, setSupportsTimestampDataType, setUsername, setUsingConnectionPool, setUsingDoubleDecimalAsSchemaTableSeparator, supportsAutoGeneratedKeys, supportsBatchUpdates, supportsBitmapIndex, supportsBooleanDataType, supportsCatalogs, supportsEmptyTransactions, supportsErrorHandling, supportsFloatRoundingOnUpdate, supportsGetBlob, supportsNewLinesInSQL, supportsResultSetMetadataRetrievalOnly, supportsSchemas, supportsSequenceNoMaxValueOption, supportsSetCharacterStream, supportsSetLong, supportsSetMaxRows, supportsTimestampDataType, supportsTimeStampToDateConversion, supportsTransactions, supportsViews, useSafePointspublic int[] getAccessTypeList()
DatabaseInterfacegetAccessTypeList in interface DatabaseInterfacegetAccessTypeList in class BaseDatabaseMetapublic int getDefaultDatabasePort()
getDefaultDatabasePort in interface DatabaseInterfacegetDefaultDatabasePort in class BaseDatabaseMetapublic boolean supportsAutoInc()
supportsAutoInc in interface DatabaseInterfacesupportsAutoInc in class BaseDatabaseMetapublic String getLimitClause(int nrRows)
getLimitClause in interface DatabaseInterfacegetLimitClause in class BaseDatabaseMetanrRows - The number of rows to which we want to limit the result of the query.DatabaseInterface.getLimitClause(int)public String getSQLQueryFields(String tableName)
getSQLQueryFields in interface DatabaseInterfacegetSQLQueryFields in class BaseDatabaseMetatableName - The name of the table to determine the layout forpublic String getSQLTableExists(String tablename)
getSQLTableExists in interface DatabaseInterfacegetSQLTableExists in class BaseDatabaseMetatablename - The table to verify the existance forpublic String getSQLColumnExists(String columnname, String tablename)
getSQLColumnExists in interface DatabaseInterfacegetSQLColumnExists in class BaseDatabaseMetacolumnname - The column to verify the existance fortablename - The table to verify the existance forpublic boolean needsToLockAllTables()
needsToLockAllTables in interface DatabaseInterfaceneedsToLockAllTables in class BaseDatabaseMetapublic String getDriverClass()
DatabaseInterfacegetDriverClass in interface DatabaseInterfacepublic String getURL(String hostname, String port, String databaseName) throws KettleDatabaseException
getURL in interface DatabaseInterfacehostname - the hostnameport - the port as a stringdatabaseName - the database nameKettleDatabaseException - in case a configuration error is detected.public boolean supportsOptionsInURL()
supportsOptionsInURL in interface DatabaseInterfacesupportsOptionsInURL in class BaseDatabaseMetapublic boolean supportsSequences()
supportsSequences in interface DatabaseInterfacesupportsSequences in class BaseDatabaseMetapublic String getSQLSequenceExists(String sequenceName)
getSQLSequenceExists in interface DatabaseInterfacegetSQLSequenceExists in class BaseDatabaseMetasequenceName - The sequence to checkpublic String getSQLCurrentSequenceValue(String sequenceName)
getSQLCurrentSequenceValue in interface DatabaseInterfacegetSQLCurrentSequenceValue in class BaseDatabaseMetasequenceName - The sequence to checkpublic String getSQLNextSequenceValue(String sequenceName)
getSQLNextSequenceValue in interface DatabaseInterfacegetSQLNextSequenceValue in class BaseDatabaseMetasequenceName - The sequence namepublic boolean useSchemaNameForTableList()
useSchemaNameForTableList in interface DatabaseInterfaceuseSchemaNameForTableList in class BaseDatabaseMetapublic boolean supportsSynonyms()
supportsSynonyms in interface DatabaseInterfacesupportsSynonyms in class BaseDatabaseMetapublic String getAddColumnStatement(String tablename, ValueMetaInterface v, String tk, boolean use_autoinc, String pk, boolean semicolon)
getAddColumnStatement in interface DatabaseInterfacetablename - 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.public String getDropColumnStatement(String tablename, ValueMetaInterface v, String tk, boolean use_autoinc, String pk, boolean semicolon)
getDropColumnStatement in interface DatabaseInterfacegetDropColumnStatement in class BaseDatabaseMetatablename - 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.public String getModifyColumnStatement(String tablename, ValueMetaInterface v, String tk, boolean use_autoinc, String pk, boolean semicolon)
getModifyColumnStatement in interface DatabaseInterfacetablename - 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.public String getFieldDefinition(ValueMetaInterface v, String tk, String pk, boolean use_autoinc, boolean add_fieldname, boolean add_cr)
DatabaseInterfacegetFieldDefinition in interface DatabaseInterfacev - 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.public String[] getReservedWords()
getReservedWords in interface DatabaseInterfacegetReservedWords in class BaseDatabaseMetapublic String getSQLListOfProcedures()
getSQLListOfProcedures in interface DatabaseInterfacegetSQLListOfProcedures in class BaseDatabaseMetapublic String getSQLLockTables(String[] tableNames)
getSQLLockTables in interface DatabaseInterfacegetSQLLockTables in class BaseDatabaseMetatableNames - The names of the tables to lockpublic String getSQLUnlockTables(String[] tableNames)
getSQLUnlockTables in interface DatabaseInterfacegetSQLUnlockTables in class BaseDatabaseMetatableNames - The names of the tables to unlockpublic String getExtraOptionsHelpText()
getExtraOptionsHelpText in interface DatabaseInterfacegetExtraOptionsHelpText in class BaseDatabaseMetapublic String[] getUsedLibraries()
getUsedLibraries in interface DatabaseInterfacepublic boolean checkIndexExists(Database database, String schemaName, String tableName, String[] idx_fields) throws KettleDatabaseException
checkIndexExists in interface DatabaseInterfacecheckIndexExists in class BaseDatabaseMetadatabase - a connected databaseschemaName - tableName - idx_fields - KettleDatabaseExceptionpublic boolean requiresCreateTablePrimaryKeyAppend()
requiresCreateTablePrimaryKeyAppend in interface DatabaseInterfacerequiresCreateTablePrimaryKeyAppend in class BaseDatabaseMetapublic boolean supportsPreparedStatementMetadataRetrieval()
supportsPreparedStatementMetadataRetrieval in interface DatabaseInterfacesupportsPreparedStatementMetadataRetrieval in class BaseDatabaseMetapublic int getMaxColumnsInIndex()
getMaxColumnsInIndex in interface DatabaseInterfacegetMaxColumnsInIndex in class BaseDatabaseMetapublic String getSQLListOfSequences()
getSQLListOfSequences in interface DatabaseInterfacegetSQLListOfSequences in class BaseDatabaseMetapublic String quoteSQLString(String string)
DatabaseInterfacequoteSQLString in interface DatabaseInterfacequoteSQLString in class BaseDatabaseMetastring - public boolean releaseSavepoint()
releaseSavepoint in interface DatabaseInterfacereleaseSavepoint in class BaseDatabaseMetapublic String getTablespaceDDL(VariableSpace variables, DatabaseMeta databaseMeta, String tablespace)
getTablespaceDDL in class BaseDatabaseMetavariables - variables needed for variable substitution.databaseMeta - databaseMeta needed for it's quoteField method. Since we are doing variable substitution we need to meta
so that we can act on the variable substitution first and then the creation of the entire string that will
be retuned.tablespace - tablespaceName name of the tablespace.public boolean supportsErrorHandlingOnBatchUpdates()
supportsErrorHandlingOnBatchUpdates in interface DatabaseInterfacesupportsErrorHandlingOnBatchUpdates in class BaseDatabaseMetapublic boolean supportsRepository()
supportsRepository in interface DatabaseInterfacesupportsRepository in class BaseDatabaseMetapublic int getMaxVARCHARLength()
BaseDatabaseMetagetMaxVARCHARLength in interface DatabaseInterfacegetMaxVARCHARLength in class BaseDatabaseMeta