public class GenericDatabaseMeta extends BaseDatabaseMeta implements DatabaseInterface
Modifier and Type | Field and Description |
---|---|
static String |
ATRRIBUTE_CUSTOM_DRIVER_CLASS |
static String |
ATRRIBUTE_CUSTOM_URL |
static String |
DATABASE_DIALECT_ID |
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 |
---|
GenericDatabaseMeta() |
Modifier and Type | Method and Description |
---|---|
void |
addAttribute(String attributeId,
String value)
Add extra attribute on this connection
|
void |
addExtraOption(String databaseTypeCode,
String option,
String value)
Add an extra option to the attributes list
|
ValueMetaInterface |
customizeValueFromSQLType(ValueMetaInterface v,
ResultSetMetaData rm,
int index)
Customizes the ValueMetaInterface defined in the base
|
String |
generateColumnAlias(int columnIndex,
String suggestedName)
Generate a column alias given the column index and suggested 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 For this generic type, i set it to the most
common possibility.
|
String |
getCreateTableStatement()
Customizes the ValueMetaInterface defined in the base
|
String |
getDatabaseDialect() |
Map<String,String> |
getDefaultOptions() |
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 |
getEndQuote() |
String |
getExtraOptionIndicator() |
Map<String,String> |
getExtraOptions() |
String |
getExtraOptionSeparator() |
String |
getExtraOptionsHelpText() |
String |
getExtraOptionValueSeparator() |
String |
getFieldDefinition(ValueMetaInterface v,
String tk,
String pk,
boolean useAutoinc,
boolean addFieldName,
boolean addCr)
Describe a Value as a field in the database.
|
String |
getFunctionAverage() |
String |
getFunctionCount() |
String |
getFunctionMaximum() |
String |
getFunctionMinimum() |
String |
getFunctionSum() |
String |
getLimitClause(int nrRows) |
int |
getMaxColumnsInIndex() |
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 useAutoinc,
String pk,
boolean semicolon)
Generates the SQL statement to modify a column in the specified table
|
int |
getNotFoundTK(boolean useAutoinc)
Get the not found technical key.
|
String[] |
getReservedWords() |
String |
getSafeFieldname(String fieldName)
Sanitize a string for usage as a field name
Append an underscore to any field name that matches a reserved word
Replaces spaces with underscores
Prefixes a string with underscore that begins with a number
|
String |
getSchemaTableCombination(String schemaName,
String tablePart)
Get the schema-table combination to query the right table.
|
String |
getSelectCountStatement(String tableName)
Build the SQL to count the number of rows in the passed table.
|
String |
getSequenceNoMaxValueOption() |
String |
getSQLColumnExists(String columnname,
String tablename) |
String |
getSQLInsertAutoIncUnknownDimensionRow(String schemaTable,
String keyField,
String versionField)
Get the SQL to insert a new empty unknown record in a dimension.
|
String |
getSQLListOfSchemas() |
String |
getSQLLockTables(String[] tableNames) |
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 |
getSQLUnlockTables(String[] tableName) |
String |
getSQLValue(ValueMetaInterface valueMeta,
Object valueData,
String dateFormat)
Convert a value in the SQL equivalent.
|
String |
getStartQuote() |
String[] |
getSynonymTypes() |
String[] |
getTableTypes() |
String |
getTruncateTableStatement(String tableName) |
String |
getURL(String hostname,
String port,
String databaseName) |
String[] |
getUsedLibraries() |
String[] |
getViewTypes() |
boolean |
isDefaultingToUppercase() |
boolean |
isDisplaySizeTwiceThePrecision() |
boolean |
isExplorable() |
boolean |
isFetchSizeSupported()
Checks whether or not the command setFetchSize() is supported by the JDBC driver...
|
boolean |
isForcingIdentifiersToLowerCase() |
boolean |
isForcingIdentifiersToUpperCase() |
boolean |
isMySQLVariant() |
boolean |
isQuoteAllFields() |
boolean |
isStreamingResults() |
boolean |
isSystemTable(String tableName) |
boolean |
isUsingDoubleDecimalAsSchemaTableSeparator() |
boolean |
needsToLockAllTables() |
boolean |
preserveReservedCase() |
boolean |
quoteReservedWords() |
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 |
requiresCastToVariousForIsNull() |
boolean |
requiresCreateTablePrimaryKeyAppend() |
void |
setDatabaseDialect(String databaseDialect) |
void |
setForcingIdentifiersToLowerCase(boolean forceUpperCase) |
void |
setForcingIdentifiersToUpperCase(boolean forceUpperCase) |
void |
setPreserveReservedCase(boolean b) |
void |
setQuoteAllFields(boolean quoteAllFields) |
void |
setStreamingResults(boolean useStreaming) |
void |
setSupportsBooleanDataType(boolean b) |
void |
setSupportsTimestampDataType(boolean b) |
void |
setUsingDoubleDecimalAsSchemaTableSeparator(boolean useDoubleDecimalSeparator) |
boolean |
supportsAutoGeneratedKeys() |
boolean |
supportsBatchUpdates() |
boolean |
supportsBitmapIndex() |
boolean |
supportsBooleanDataType() |
boolean |
supportsFloatRoundingOnUpdate()
Most databases round number(7,2) 17.29999999 to 17.30, but some don't.
|
boolean |
supportsGetBlob() |
boolean |
supportsNewLinesInSQL() |
boolean |
supportsOptionsInURL() |
boolean |
supportsPreparedStatementMetadataRetrieval()
Most databases allow you to retrieve result metadata by preparing a SELECT statement.
|
boolean |
supportsResultSetMetadataRetrievalOnly() |
boolean |
supportsSequenceNoMaxValueOption() |
boolean |
supportsSetMaxRows() |
boolean |
supportsSynonyms() |
boolean |
supportsTimestampDataType() |
boolean |
supportsTimeStampToDateConversion() |
boolean |
supportsViews() |
boolean |
useSchemaNameForTableList() |
addDefaultOptions, canTest, checkIndexExists, clone, fullExceptionLog, getAccessType, getAttribute, getAttributes, getBackwardsCompatibleSchemaTableCombination, getBackwardsCompatibleTable, getConnectionPoolingProperties, getConnectSQL, getDatabaseFactoryName, getDatabaseName, getDatabasePortNumberString, getDataTablespace, getDataTablespaceDDL, getDefaultDatabasePort, getDisplayName, getDropTableIfExistsStatement, getFieldnameProtector, getHostname, getIndexTablespace, getIndexTablespaceDDL, getInitialPoolSize, getInitialPoolSizeString, getMaximumPoolSize, getMaximumPoolSizeString, getName, getNamedCluster, getNextBatchId, getNextBatchIdUsingAutoIncSQL, getNextBatchIdUsingLockTables, getNextBatchIdUsingSequence, getObjectId, getPartitioningInformation, getPassword, getPluginId, getPluginName, getPreferredSchemaName, getServername, getSQLCurrentSequenceValue, getSQLListOfProcedures, getSQLListOfSequences, getSQLNextSequenceValue, getSqlScriptStatements, getSQLSequenceExists, getTablespaceDDL, getUsername, getValueFromResultSet, getXulOverlayFile, isChanged, isPartitioned, isRequiringTransactionsOnQueries, isUsingConnectionPool, needsPlaceHolder, onlySpaces, parseStatements, releaseSavepoint, requiresName, setAccessType, setAttributes, setChanged, setConnectionPoolingProperties, setConnectSQL, setDatabaseName, setDatabasePortNumberString, setDataTablespace, setDisplayName, setHostname, setIndexTablespace, setInitialPoolSize, setInitialPoolSizeString, setMaximumPoolSize, setMaximumPoolSizeString, setName, setNamedCluster, setObjectId, setPartitioned, setPartitioningInformation, setPassword, setPluginId, setPluginName, setPreferredSchemaName, setServername, setUsername, setUsingConnectionPool, supportsAutoInc, supportsCatalogs, supportsEmptyTransactions, supportsErrorHandling, supportsErrorHandlingOnBatchUpdates, supportsRepository, supportsSchemas, supportsSequences, supportsSetCharacterStream, supportsSetLong, supportsTransactions, useSafePoints
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
addDefaultOptions, checkIndexExists, clone, createSqlScriptParser, getAccessType, getAttribute, getAttributes, getConnectionPoolingProperties, getConnectSQL, getDatabaseFactoryName, getDatabaseName, getDatabasePortNumberString, getDataTablespace, getDataTablespaceDDL, getDefaultDatabasePort, getDisplayName, getHostname, getIndexTablespace, getIndexTablespaceDDL, getInitialPoolSize, getInitialPoolSizeString, getLegacyColumnName, getMaximumPoolSize, getMaximumPoolSizeString, getName, getNamedCluster, getNamedClusterList, getNextBatchId, getObjectId, getPartitioningInformation, getPassword, getPluginId, getPluginName, getPreferredSchemaName, getSchemas, getServername, getSQLCurrentSequenceValue, getSQLListOfProcedures, getSQLListOfSequences, getSQLNextSequenceValue, getSqlScriptStatements, getSQLSequenceExists, getTables, getUnsupportedTableOutputMessage, getUsername, getValueFromResultSet, getXulOverlayFile, isChanged, isPartitioned, isRequiringTransactionsOnQueries, isUsingConnectionPool, needsPlaceHolder, parseStatements, putOptionalOptions, releaseSavepoint, setAccessType, setAttributes, setChanged, setConnectionPoolingProperties, setConnectSQL, setDatabaseName, setDatabasePortNumberString, setDataTablespace, setDisplayName, setHostname, setIndexTablespace, setInitialPoolSize, setInitialPoolSizeString, setMaximumPoolSize, setMaximumPoolSizeString, setName, setNamedCluster, setObjectId, setPartitioned, setPartitioningInformation, setPassword, setPluginId, setPluginName, setPreferredSchemaName, setServername, setUsername, setUsingConnectionPool, supportsAutoInc, supportsCatalogs, supportsEmptyTransactions, supportsErrorHandling, supportsErrorHandlingOnBatchUpdates, supportsIndexes, supportsRepository, supportsSchemas, supportsSequences, supportsSetCharacterStream, supportsSetLong, supportsStandardTableOutput, supportsTransactions, useSafePoints
public static final String ATRRIBUTE_CUSTOM_URL
public static final String ATRRIBUTE_CUSTOM_DRIVER_CLASS
public static final String DATABASE_DIALECT_ID
public void addAttribute(String attributeId, String value)
DatabaseInterface
addAttribute
in interface DatabaseInterface
addAttribute
in class BaseDatabaseMeta
attributeId
- the attribute identifiervalue
- the value of the attributepublic int[] getAccessTypeList()
DatabaseInterface
getAccessTypeList
in interface DatabaseInterface
getAccessTypeList
in class BaseDatabaseMeta
public int getNotFoundTK(boolean useAutoinc)
DatabaseInterface
getNotFoundTK
in interface DatabaseInterface
getNotFoundTK
in class BaseDatabaseMeta
useAutoinc
- Whether or not we want to use an auto increment fieldDatabaseInterface.getNotFoundTK(boolean)
public String getDriverClass()
DatabaseInterface
getDriverClass
in interface DatabaseInterface
public String getURL(String hostname, String port, String databaseName)
getURL
in interface DatabaseInterface
hostname
- the hostnameport
- the port as a stringdatabaseName
- the database namepublic boolean isFetchSizeSupported()
isFetchSizeSupported
in interface DatabaseInterface
isFetchSizeSupported
in class BaseDatabaseMeta
public boolean supportsBitmapIndex()
supportsBitmapIndex
in interface DatabaseInterface
supportsBitmapIndex
in class BaseDatabaseMeta
public String getTruncateTableStatement(String tableName)
getTruncateTableStatement
in interface DatabaseInterface
getTruncateTableStatement
in class BaseDatabaseMeta
tableName
- The table to be truncated.public String getAddColumnStatement(String tablename, ValueMetaInterface v, String tk, boolean useAutoinc, String pk, boolean semicolon)
getAddColumnStatement
in interface DatabaseInterface
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.public String getModifyColumnStatement(String tablename, ValueMetaInterface v, String tk, boolean useAutoinc, String pk, boolean semicolon)
getModifyColumnStatement
in interface DatabaseInterface
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.public String getFieldDefinition(ValueMetaInterface v, String tk, String pk, boolean useAutoinc, boolean addFieldName, boolean addCr)
DatabaseInterface
getFieldDefinition
in interface DatabaseInterface
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.public String[] getUsedLibraries()
getUsedLibraries
in interface DatabaseInterface
public boolean supportsPreparedStatementMetadataRetrieval()
supportsPreparedStatementMetadataRetrieval
in interface DatabaseInterface
supportsPreparedStatementMetadataRetrieval
in class BaseDatabaseMeta
public String getSQLInsertAutoIncUnknownDimensionRow(String schemaTable, String keyField, String versionField)
getSQLInsertAutoIncUnknownDimensionRow
in interface DatabaseInterface
getSQLInsertAutoIncUnknownDimensionRow
in class BaseDatabaseMeta
schemaTable
- the schema-table name to insert intokeyField
- The key fieldversionField
- the version fieldpublic void setDatabaseDialect(String databaseDialect)
public String getDatabaseDialect()
public String[] getReservedWords()
getReservedWords
in interface DatabaseInterface
getReservedWords
in class BaseDatabaseMeta
public String getEndQuote()
getEndQuote
in interface DatabaseInterface
getEndQuote
in class BaseDatabaseMeta
public String getFunctionSum()
getFunctionSum
in interface DatabaseInterface
getFunctionSum
in class BaseDatabaseMeta
public String getFunctionAverage()
getFunctionAverage
in interface DatabaseInterface
getFunctionAverage
in class BaseDatabaseMeta
public String getFunctionMinimum()
getFunctionMinimum
in interface DatabaseInterface
getFunctionMinimum
in class BaseDatabaseMeta
public String getFunctionMaximum()
getFunctionMaximum
in interface DatabaseInterface
getFunctionMaximum
in class BaseDatabaseMeta
public String getFunctionCount()
getFunctionCount
in interface DatabaseInterface
getFunctionCount
in class BaseDatabaseMeta
public String getSQLQueryFields(String tableName)
BaseDatabaseMeta
getSQLQueryFields
in interface DatabaseInterface
getSQLQueryFields
in class BaseDatabaseMeta
tableName
- The name of the table to determine the layout forpublic String getSQLColumnExists(String columnname, String tablename)
getSQLColumnExists
in interface DatabaseInterface
getSQLColumnExists
in class BaseDatabaseMeta
columnname
- The column to verify the existance fortablename
- The table to verify the existance forpublic String getSQLTableExists(String tableName)
getSQLTableExists
in interface DatabaseInterface
getSQLTableExists
in class BaseDatabaseMeta
tableName
- The table to verify the existance forpublic String getLimitClause(int nrRows)
getLimitClause
in interface DatabaseInterface
getLimitClause
in class BaseDatabaseMeta
nrRows
- The number of rows to which we want to limit the result of the query.public String getSelectCountStatement(String tableName)
BaseDatabaseMeta
getSelectCountStatement
in interface DatabaseInterface
getSelectCountStatement
in class BaseDatabaseMeta
public String getSQLUnlockTables(String[] tableName)
getSQLUnlockTables
in interface DatabaseInterface
getSQLUnlockTables
in class BaseDatabaseMeta
tableName
- The names of the tables to unlockpublic String getSequenceNoMaxValueOption()
getSequenceNoMaxValueOption
in interface DatabaseInterface
getSequenceNoMaxValueOption
in class BaseDatabaseMeta
public boolean useSchemaNameForTableList()
useSchemaNameForTableList
in interface DatabaseInterface
useSchemaNameForTableList
in class BaseDatabaseMeta
public boolean supportsViews()
supportsViews
in interface DatabaseInterface
supportsViews
in class BaseDatabaseMeta
public boolean supportsTimeStampToDateConversion()
supportsTimeStampToDateConversion
in interface DatabaseInterface
supportsTimeStampToDateConversion
in class BaseDatabaseMeta
public String getCreateTableStatement()
BaseDatabaseMeta
getCreateTableStatement
in interface DatabaseInterface
getCreateTableStatement
in class BaseDatabaseMeta
public boolean supportsAutoGeneratedKeys()
supportsAutoGeneratedKeys
in interface DatabaseInterface
supportsAutoGeneratedKeys
in class BaseDatabaseMeta
public String getSafeFieldname(String fieldName)
BaseDatabaseMeta
getSafeFieldname
in interface DatabaseInterface
getSafeFieldname
in class BaseDatabaseMeta
fieldName
- value to sanitizepublic void setSupportsTimestampDataType(boolean b)
setSupportsTimestampDataType
in interface DatabaseInterface
setSupportsTimestampDataType
in class BaseDatabaseMeta
b
- Set to true if the database supports the Timestamp data type (nanosecond precision and all)public boolean supportsTimestampDataType()
supportsTimestampDataType
in interface DatabaseInterface
supportsTimestampDataType
in class BaseDatabaseMeta
public boolean supportsResultSetMetadataRetrievalOnly()
supportsResultSetMetadataRetrievalOnly
in interface DatabaseInterface
supportsResultSetMetadataRetrievalOnly
in class BaseDatabaseMeta
public String getSQLValue(ValueMetaInterface valueMeta, Object valueData, String dateFormat) throws KettleValueException
DatabaseInterface
getSQLValue
in interface DatabaseInterface
getSQLValue
in class BaseDatabaseMeta
valueMeta
- The description of the value. The date format used is taken from this value unless dateFormat is specified
(not null or empty)valueData
- The data to convert.KettleValueException
- in case there is a data conversion error.public ValueMetaInterface customizeValueFromSQLType(ValueMetaInterface v, ResultSetMetaData rm, int index) throws SQLException
BaseDatabaseMeta
customizeValueFromSQLType
in interface DatabaseInterface
customizeValueFromSQLType
in class BaseDatabaseMeta
v
- the determined valueMetaInterfacerm
- the sql resultindex
- the index to the columnSQLException
public boolean isMySQLVariant()
isMySQLVariant
in interface DatabaseInterface
isMySQLVariant
in class BaseDatabaseMeta
public String generateColumnAlias(int columnIndex, String suggestedName)
DatabaseInterface
generateColumnAlias
in interface DatabaseInterface
generateColumnAlias
in class BaseDatabaseMeta
columnIndex
- Index of column in querysuggestedName
- Suggested column namepublic String quoteSQLString(String string)
DatabaseInterface
quoteSQLString
in interface DatabaseInterface
quoteSQLString
in class BaseDatabaseMeta
public boolean isExplorable()
isExplorable
in interface DatabaseInterface
isExplorable
in class BaseDatabaseMeta
public int getMaxColumnsInIndex()
getMaxColumnsInIndex
in interface DatabaseInterface
getMaxColumnsInIndex
in class BaseDatabaseMeta
public String getSQLListOfSchemas()
getSQLListOfSchemas
in interface DatabaseInterface
getSQLListOfSchemas
in class BaseDatabaseMeta
public boolean supportsNewLinesInSQL()
supportsNewLinesInSQL
in interface DatabaseInterface
supportsNewLinesInSQL
in class BaseDatabaseMeta
public boolean isSystemTable(String tableName)
isSystemTable
in interface DatabaseInterface
isSystemTable
in class BaseDatabaseMeta
public boolean isDisplaySizeTwiceThePrecision()
isDisplaySizeTwiceThePrecision
in interface DatabaseInterface
isDisplaySizeTwiceThePrecision
in class BaseDatabaseMeta
public boolean requiresCastToVariousForIsNull()
requiresCastToVariousForIsNull
in interface DatabaseInterface
requiresCastToVariousForIsNull
in class BaseDatabaseMeta
public boolean requiresCreateTablePrimaryKeyAppend()
requiresCreateTablePrimaryKeyAppend
in interface DatabaseInterface
requiresCreateTablePrimaryKeyAppend
in class BaseDatabaseMeta
public boolean supportsSequenceNoMaxValueOption()
supportsSequenceNoMaxValueOption
in interface DatabaseInterface
supportsSequenceNoMaxValueOption
in class BaseDatabaseMeta
public void setUsingDoubleDecimalAsSchemaTableSeparator(boolean useDoubleDecimalSeparator)
setUsingDoubleDecimalAsSchemaTableSeparator
in interface DatabaseInterface
setUsingDoubleDecimalAsSchemaTableSeparator
in class BaseDatabaseMeta
useDoubleDecimalSeparator
- true if we should use a double decimal separator to specify schema/table combinations on MS-SQL serverpublic boolean isUsingDoubleDecimalAsSchemaTableSeparator()
isUsingDoubleDecimalAsSchemaTableSeparator
in interface DatabaseInterface
isUsingDoubleDecimalAsSchemaTableSeparator
in class BaseDatabaseMeta
public void setForcingIdentifiersToUpperCase(boolean forceUpperCase)
setForcingIdentifiersToUpperCase
in interface DatabaseInterface
setForcingIdentifiersToUpperCase
in class BaseDatabaseMeta
forceUpperCase
- true if all identifiers should be forced to upper casepublic boolean isForcingIdentifiersToUpperCase()
isForcingIdentifiersToUpperCase
in interface DatabaseInterface
isForcingIdentifiersToUpperCase
in class BaseDatabaseMeta
public void setForcingIdentifiersToLowerCase(boolean forceUpperCase)
setForcingIdentifiersToLowerCase
in interface DatabaseInterface
setForcingIdentifiersToLowerCase
in class BaseDatabaseMeta
forceUpperCase
- true if all identifiers should be forced to lower casepublic boolean isForcingIdentifiersToLowerCase()
isForcingIdentifiersToLowerCase
in interface DatabaseInterface
isForcingIdentifiersToLowerCase
in class BaseDatabaseMeta
public void setQuoteAllFields(boolean quoteAllFields)
setQuoteAllFields
in interface DatabaseInterface
setQuoteAllFields
in class BaseDatabaseMeta
quoteAllFields
- true if we want the database to stream results (normally this is an option just for MySQL).public boolean isQuoteAllFields()
isQuoteAllFields
in interface DatabaseInterface
isQuoteAllFields
in class BaseDatabaseMeta
public void setStreamingResults(boolean useStreaming)
setStreamingResults
in interface DatabaseInterface
setStreamingResults
in class BaseDatabaseMeta
useStreaming
- true if we want the database to stream results (normally this is an option just for MySQL).public boolean isStreamingResults()
isStreamingResults
in interface DatabaseInterface
isStreamingResults
in class BaseDatabaseMeta
public boolean needsToLockAllTables()
needsToLockAllTables
in interface DatabaseInterface
needsToLockAllTables
in class BaseDatabaseMeta
public boolean supportsSetMaxRows()
supportsSetMaxRows
in interface DatabaseInterface
supportsSetMaxRows
in class BaseDatabaseMeta
public boolean supportsGetBlob()
supportsGetBlob
in interface DatabaseInterface
supportsGetBlob
in class BaseDatabaseMeta
public boolean isDefaultingToUppercase()
isDefaultingToUppercase
in interface DatabaseInterface
isDefaultingToUppercase
in class BaseDatabaseMeta
public void setPreserveReservedCase(boolean b)
setPreserveReservedCase
in interface DatabaseInterface
setPreserveReservedCase
in class BaseDatabaseMeta
b
- Set to true if reserved words' case should be preservedpublic boolean preserveReservedCase()
preserveReservedCase
in interface DatabaseInterface
preserveReservedCase
in class BaseDatabaseMeta
public void setSupportsBooleanDataType(boolean b)
setSupportsBooleanDataType
in interface DatabaseInterface
setSupportsBooleanDataType
in class BaseDatabaseMeta
b
- Set to true if the database supports a boolean, bit, logical, ... datatypepublic boolean supportsBooleanDataType()
supportsBooleanDataType
in interface DatabaseInterface
supportsBooleanDataType
in class BaseDatabaseMeta
public boolean supportsBatchUpdates()
supportsBatchUpdates
in interface DatabaseInterface
supportsBatchUpdates
in class BaseDatabaseMeta
public String getSQLLockTables(String[] tableNames)
getSQLLockTables
in interface DatabaseInterface
getSQLLockTables
in class BaseDatabaseMeta
tableNames
- The names of the tables to lockpublic boolean supportsFloatRoundingOnUpdate()
BaseDatabaseMeta
supportsFloatRoundingOnUpdate
in interface DatabaseInterface
supportsFloatRoundingOnUpdate
in class BaseDatabaseMeta
public boolean supportsSynonyms()
supportsSynonyms
in interface DatabaseInterface
supportsSynonyms
in class BaseDatabaseMeta
public String[] getSynonymTypes()
getSynonymTypes
in interface DatabaseInterface
getSynonymTypes
in class BaseDatabaseMeta
public String[] getViewTypes()
getViewTypes
in interface DatabaseInterface
getViewTypes
in class BaseDatabaseMeta
public String[] getTableTypes()
getTableTypes
in interface DatabaseInterface
getTableTypes
in class BaseDatabaseMeta
public String getStartQuote()
getStartQuote
in interface DatabaseInterface
getStartQuote
in class BaseDatabaseMeta
public boolean quoteReservedWords()
quoteReservedWords
in interface DatabaseInterface
quoteReservedWords
in class BaseDatabaseMeta
public String getDropColumnStatement(String tablename, ValueMetaInterface v, String tk, boolean useAutoinc, String pk, boolean semicolon)
BaseDatabaseMeta
getDropColumnStatement
in interface DatabaseInterface
getDropColumnStatement
in class BaseDatabaseMeta
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.public int getMaxVARCHARLength()
BaseDatabaseMeta
getMaxVARCHARLength
in interface DatabaseInterface
getMaxVARCHARLength
in class BaseDatabaseMeta
public int getMaxTextFieldLength()
BaseDatabaseMeta
getMaxTextFieldLength
in interface DatabaseInterface
getMaxTextFieldLength
in class BaseDatabaseMeta
public String getSchemaTableCombination(String schemaName, String tablePart)
BaseDatabaseMeta
getSchemaTableCombination
in interface DatabaseInterface
getSchemaTableCombination
in class BaseDatabaseMeta
schemaName
- The schema nametablePart
- The tablenamepublic Map<String,String> getDefaultOptions()
getDefaultOptions
in interface DatabaseInterface
getDefaultOptions
in class BaseDatabaseMeta
public Map<String,String> getExtraOptions()
getExtraOptions
in interface DatabaseInterface
getExtraOptions
in class BaseDatabaseMeta
public void addExtraOption(String databaseTypeCode, String option, String value)
BaseDatabaseMeta
addExtraOption
in interface DatabaseInterface
addExtraOption
in class BaseDatabaseMeta
databaseTypeCode
- The database type code for which the option appliesoption
- The option to setvalue
- The value of the optionpublic String getExtraOptionSeparator()
getExtraOptionSeparator
in interface DatabaseInterface
getExtraOptionSeparator
in class BaseDatabaseMeta
public String getExtraOptionValueSeparator()
getExtraOptionValueSeparator
in interface DatabaseInterface
getExtraOptionValueSeparator
in class BaseDatabaseMeta
public String getExtraOptionIndicator()
getExtraOptionIndicator
in interface DatabaseInterface
getExtraOptionIndicator
in class BaseDatabaseMeta
public boolean supportsOptionsInURL()
supportsOptionsInURL
in interface DatabaseInterface
supportsOptionsInURL
in class BaseDatabaseMeta
public String getExtraOptionsHelpText()
getExtraOptionsHelpText
in interface DatabaseInterface
getExtraOptionsHelpText
in class BaseDatabaseMeta
Copyright © 2020 Hitachi Vantara. All rights reserved.