public class Exasol4DatabaseMeta 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, NAMED_CLUSTER_ID, poolingParameters, releaseSavepoint, SELECT_COUNT_STATEMENT, SEQUENCE_FOR_BATCH_ID| Constructor and Description |
|---|
Exasol4DatabaseMeta() |
| Modifier and Type | Method and Description |
|---|---|
boolean |
checkIndexExists(Database database,
String schemaName,
String tableName,
String[] idxFields)
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 useAutoinc,
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 useAutoinc,
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 useAutoinc,
boolean addFieldName,
boolean addCr)
Describe a Value as a field in the database.
|
String |
getLimitClause(int nrRows) |
int |
getMaxColumnsInIndex() |
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
|
String[] |
getReservedWords() |
String |
getSQLColumnExists(String columnname,
String tablename) |
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 |
getSQLTableExists(String tablename) |
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 Exasol does not allow for the releasing of savepoints.
|
boolean |
requiresCreateTablePrimaryKeyAppend() |
boolean |
supportsAutoInc() |
boolean |
supportsErrorHandlingOnBatchUpdates() |
boolean |
supportsIndexes() |
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 |
supportsSequences() |
boolean |
supportsSynonyms() |
boolean |
useSchemaNameForTableList() |
addAttribute, addDefaultOptions, addExtraOption, canTest, clone, customizeValueFromSQLType, fullExceptionLog, generateColumnAlias, getAccessType, getAttribute, getAttributes, getBackwardsCompatibleSchemaTableCombination, getBackwardsCompatibleTable, getConnectionPoolingProperties, getConnectSQL, getCreateTableStatement, getDatabaseFactoryName, getDatabaseName, getDatabasePortNumberString, getDataTablespace, getDataTablespaceDDL, getDefaultOptions, getDisplayName, getDropTableIfExistsStatement, getEndQuote, getExtraOptionIndicator, getExtraOptions, getExtraOptionSeparator, getExtraOptionValueSeparator, getFieldnameProtector, getFunctionAverage, getFunctionCount, getFunctionMaximum, getFunctionMinimum, getFunctionSum, getHostname, getIndexTablespace, getIndexTablespaceDDL, getInitialPoolSize, getInitialPoolSizeString, getMaximumPoolSize, getMaximumPoolSizeString, getMaxTextFieldLength, getMaxVARCHARLength, getName, getNamedCluster, getNextBatchId, getNextBatchIdUsingAutoIncSQL, getNextBatchIdUsingLockTables, getNextBatchIdUsingSequence, getNotFoundTK, getObjectId, getPartitioningInformation, getPassword, getPluginId, getPluginName, getPreferredSchemaName, getSafeFieldname, getSchemaTableCombination, getSelectCountStatement, getSequenceNoMaxValueOption, getServername, getSQLCurrentSequenceValue, getSQLInsertAutoIncUnknownDimensionRow, getSQLListOfProcedures, getSQLListOfSchemas, getSQLListOfSequences, getSQLLockTables, getSQLNextSequenceValue, getSqlScriptStatements, getSQLSequenceExists, getSQLUnlockTables, getSQLValue, getStartQuote, getSynonymTypes, getTablespaceDDL, getTableTypes, getTruncateTableStatement, getUsername, getValueFromResultSet, getViewTypes, getXulOverlayFile, isChanged, isDefaultingToUppercase, isDisplaySizeTwiceThePrecision, isExplorable, isFetchSizeSupported, isForcingIdentifiersToLowerCase, isForcingIdentifiersToUpperCase, isMySQLVariant, isPartitioned, isQuoteAllFields, isRequiringTransactionsOnQueries, isStreamingResults, isSystemTable, isUsingConnectionPool, isUsingDoubleDecimalAsSchemaTableSeparator, needsPlaceHolder, onlySpaces, parseStatements, preserveReservedCase, quoteReservedWords, requiresCastToVariousForIsNull, 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, supportsBitmapIndex, supportsBooleanDataType, supportsCatalogs, supportsEmptyTransactions, supportsErrorHandling, supportsFloatRoundingOnUpdate, supportsGetBlob, supportsNewLinesInSQL, supportsRepository, supportsResultSetMetadataRetrievalOnly, supportsSchemas, supportsSequenceNoMaxValueOption, supportsSetCharacterStream, supportsSetLong, supportsSetMaxRows, supportsTimestampDataType, supportsTimeStampToDateConversion, supportsTransactions, supportsViews, useSafePointsequals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitaddAttribute, addDefaultOptions, addExtraOption, clone, createSqlScriptParser, customizeValueFromSQLType, generateColumnAlias, getAccessType, getAttribute, 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, getInitialPoolSizeString, getLegacyColumnName, getMaximumPoolSize, getMaximumPoolSizeString, getMaxTextFieldLength, getMaxVARCHARLength, getName, getNamedCluster, getNamedClusterList, getNextBatchId, getNotFoundTK, getObjectId, getPartitioningInformation, getPassword, getPluginId, getPluginName, getPreferredSchemaName, getSafeFieldname, getSchemas, getSchemaTableCombination, getSelectCountStatement, getSequenceNoMaxValueOption, getServername, getSQLCurrentSequenceValue, getSQLInsertAutoIncUnknownDimensionRow, getSQLListOfProcedures, getSQLListOfSchemas, getSQLListOfSequences, getSQLLockTables, getSQLNextSequenceValue, getSqlScriptStatements, getSQLSequenceExists, getSQLUnlockTables, getSQLValue, getStartQuote, getSynonymTypes, getTables, getTableTypes, getTruncateTableStatement, getUnsupportedTableOutputMessage, getUsername, getValueFromResultSet, getViewTypes, getXulOverlayFile, isChanged, isDefaultingToUppercase, isDisplaySizeTwiceThePrecision, isExplorable, isFetchSizeSupported, isForcingIdentifiersToLowerCase, isForcingIdentifiersToUpperCase, isMySQLVariant, isPartitioned, isQuoteAllFields, isRequiringTransactionsOnQueries, isStreamingResults, isSystemTable, isUsingConnectionPool, isUsingDoubleDecimalAsSchemaTableSeparator, needsPlaceHolder, parseStatements, preserveReservedCase, putOptionalOptions, quoteReservedWords, requiresCastToVariousForIsNull, 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, supportsBitmapIndex, supportsBooleanDataType, supportsCatalogs, supportsEmptyTransactions, supportsErrorHandling, supportsFloatRoundingOnUpdate, supportsGetBlob, supportsNewLinesInSQL, supportsRepository, supportsResultSetMetadataRetrievalOnly, supportsSchemas, supportsSequenceNoMaxValueOption, supportsSetCharacterStream, supportsSetLong, supportsSetMaxRows, supportsStandardTableOutput, 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 boolean supportsIndexes()
supportsIndexes in interface DatabaseInterfacepublic 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 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 useAutoinc, String pk, boolean semicolon)
getAddColumnStatement in interface DatabaseInterfacetablename - 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.public String getDropColumnStatement(String tablename, ValueMetaInterface v, String tk, boolean useAutoinc, 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 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.public String getModifyColumnStatement(String tablename, ValueMetaInterface v, String tk, boolean useAutoinc, String pk, boolean semicolon)
getModifyColumnStatement in interface DatabaseInterfacetablename - 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.public String getFieldDefinition(ValueMetaInterface v, String tk, String pk, boolean useAutoinc, boolean addFieldName, boolean addCr)
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 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.public String[] getReservedWords()
getReservedWords in interface DatabaseInterfacegetReservedWords in class BaseDatabaseMetapublic String getExtraOptionsHelpText()
getExtraOptionsHelpText in interface DatabaseInterfacegetExtraOptionsHelpText in class BaseDatabaseMetapublic String[] getUsedLibraries()
getUsedLibraries in interface DatabaseInterfacepublic boolean checkIndexExists(Database database, String schemaName, String tableName, String[] idxFields) throws KettleDatabaseException
checkIndexExists in interface DatabaseInterfacecheckIndexExists in class BaseDatabaseMetadatabase - a connected databaseschemaName - tableName - idxFields - 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 quoteSQLString(String string)
DatabaseInterfacequoteSQLString in interface DatabaseInterfacequoteSQLString in class BaseDatabaseMetastring - public boolean releaseSavepoint()
releaseSavepoint in interface DatabaseInterfacereleaseSavepoint in class BaseDatabaseMetapublic boolean supportsErrorHandlingOnBatchUpdates()
supportsErrorHandlingOnBatchUpdates in interface DatabaseInterfacesupportsErrorHandlingOnBatchUpdates in class BaseDatabaseMetaCopyright © 2020 Hitachi Vantara. All rights reserved.