org.pentaho.di.core.database
Class KingbaseESDatabaseMeta
java.lang.Object
org.pentaho.di.core.database.BaseDatabaseMeta
org.pentaho.di.core.database.KingbaseESDatabaseMeta
- All Implemented Interfaces:
- Cloneable, DatabaseInterface
public class KingbaseESDatabaseMeta
- extends BaseDatabaseMeta
- implements DatabaseInterface
Contains Firebird specific information through static final members
- Since:
- 21-03-2008
- Author:
- jjchu
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 |
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 |
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)
|
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 |
getSQLCurrentSequenceValue(String sequenceName)
Get the SQL to get the next value of a sequence. |
String |
getSQLListOfProcedures(String schemaName)
|
String |
getSQLLockTables(String[] tableNames)
|
String |
getSQLNextSequenceValue(String sequenceName)
Get the SQL to get the next value of a sequence. |
String |
getSQLSequenceExists(String sequenceName)
Check if a sequence exists. |
String |
getSQLUnlockTables(String[] tableName)
|
String |
getURL(String hostname,
String port,
String databaseName)
|
String[] |
getUsedLibraries()
|
boolean |
isDefaultingToUppercase()
|
boolean |
isFetchSizeSupported()
Checks whether or not the command setFetchSize() is supported by the JDBC driver... |
boolean |
supportsAutoInc()
Kingbase only support the data type: serial, it is not a real autoInc |
boolean |
supportsBitmapIndex()
|
boolean |
supportsSequences()
|
boolean |
supportsSynonyms()
|
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, getEndQuote, getExtraOptions, getExtraOptionsHelpText, getExtraOptionValueSeparator, getFunctionAverage, getFunctionCount, getFunctionMaximum, getFunctionMinimum, getFunctionSum, getHostname, getIndexTablespace, getIndexTablespaceDDL, getInitialPoolSize, getMaxColumnsInIndex, getMaximumPoolSize, getMaxTextFieldLength, getMaxVARCHARLength, getName, getNextBatchId, getNextBatchIdUsingAutoIncSQL, getNextBatchIdUsingLockTables, getNextBatchIdUsingSequence, getNotFoundTK, getObjectId, getPartitioningInformation, getPassword, getPluginId, getPluginName, getPreferredSchemaName, getSchemaTableCombination, getSelectCountStatement, getServername, getSQLColumnExists, getSQLInsertAutoIncUnknownDimensionRow, getSQLListOfProcedures, getSQLListOfSchemas, getSQLListOfSequences, getSQLQueryFields, getSQLTableExists, getStartQuote, getSynonymTypes, getTablespaceDDL, getTableTypes, getTruncateTableStatement, getUsername, getValueFromResultSet, getViewTypes, getXulOverlayFile, isChanged, isDisplaySizeTwiceThePrecision, isExplorable, isForcingIdentifiersToLowerCase, isForcingIdentifiersToUpperCase, isMySQLVariant, isPartitioned, isQuoteAllFields, isRequiringTransactionsOnQueries, isStreamingResults, isSystemTable, isUsingConnectionPool, isUsingDoubleDecimalAsSchemaTableSeparator, needsPlaceHolder, needsToLockAllTables, parseStatements, quoteReservedWords, quoteSQLString, releaseSavepoint, requiresCastToVariousForIsNull, 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, supportsBooleanDataType, supportsCatalogs, supportsEmptyTransactions, supportsErrorHandling, supportsErrorHandlingOnBatchUpdates, supportsFloatRoundingOnUpdate, supportsGetBlob, supportsNewLinesInSQL, supportsOptionsInURL, supportsPreparedStatementMetadataRetrieval, supportsRepository, supportsResultSetMetadataRetrievalOnly, supportsSchemas, supportsSequenceNoMaxValueOption, supportsSetCharacterStream, supportsSetLong, supportsSetMaxRows, supportsTimeStampToDateConversion, 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, getEndQuote, getExtraOptions, getExtraOptionsHelpText, getExtraOptionValueSeparator, getFunctionAverage, getFunctionCount, getFunctionMaximum, getFunctionMinimum, getFunctionSum, getHostname, getIndexTablespace, getIndexTablespaceDDL, getInitialPoolSize, getMaxColumnsInIndex, getMaximumPoolSize, getMaxTextFieldLength, getMaxVARCHARLength, getName, getNextBatchId, getNotFoundTK, getObjectId, getPartitioningInformation, getPassword, getPluginId, getPluginName, getPreferredSchemaName, getSchemaTableCombination, getSelectCountStatement, getServername, getSQLColumnExists, getSQLInsertAutoIncUnknownDimensionRow, getSQLListOfProcedures, getSQLListOfSchemas, getSQLListOfSequences, getSQLQueryFields, getSQLTableExists, getStartQuote, getSynonymTypes, getTableTypes, getTruncateTableStatement, getUsername, getValueFromResultSet, getViewTypes, getXulOverlayFile, isChanged, isDisplaySizeTwiceThePrecision, isExplorable, isForcingIdentifiersToLowerCase, isForcingIdentifiersToUpperCase, isMySQLVariant, isPartitioned, isQuoteAllFields, isRequiringTransactionsOnQueries, isStreamingResults, isSystemTable, isUsingConnectionPool, isUsingDoubleDecimalAsSchemaTableSeparator, needsPlaceHolder, needsToLockAllTables, parseStatements, quoteReservedWords, quoteSQLString, releaseSavepoint, requiresCastToVariousForIsNull, 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, supportsBooleanDataType, supportsCatalogs, supportsEmptyTransactions, supportsErrorHandling, supportsErrorHandlingOnBatchUpdates, supportsFloatRoundingOnUpdate, supportsGetBlob, supportsNewLinesInSQL, supportsOptionsInURL, supportsPreparedStatementMetadataRetrieval, supportsRepository, supportsResultSetMetadataRetrievalOnly, supportsSchemas, supportsSequenceNoMaxValueOption, supportsSetCharacterStream, supportsSetLong, supportsSetMaxRows, supportsTimeStampToDateConversion, supportsTransactions, supportsViews, useSafePoints, useSchemaNameForTableList |
KingbaseESDatabaseMeta
public KingbaseESDatabaseMeta()
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
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
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.
getDefaultDatabasePort
public int getDefaultDatabasePort()
- Specified by:
getDefaultDatabasePort
in interface DatabaseInterface
- Overrides:
getDefaultDatabasePort
in class BaseDatabaseMeta
- Returns:
- the default database port number
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
supportsSynonyms
public boolean supportsSynonyms()
- Specified by:
supportsSynonyms
in interface DatabaseInterface
- Overrides:
supportsSynonyms
in class BaseDatabaseMeta
- Returns:
- true if the database supports synonyms
supportsSequences
public boolean supportsSequences()
- Specified by:
supportsSequences
in interface DatabaseInterface
- Overrides:
supportsSequences
in class BaseDatabaseMeta
- Returns:
- true if the database supports sequences
supportsAutoInc
public boolean supportsAutoInc()
- Kingbase only support the data type: serial, it is not a real autoInc
- 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)
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
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.
getSQLCurrentSequenceValue
public String getSQLCurrentSequenceValue(String sequenceName)
- Get the SQL to get the next value of a sequence.
- 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.
getSQLSequenceExists
public String getSQLSequenceExists(String sequenceName)
- Check if a sequence exists.
- Specified by:
getSQLSequenceExists
in interface DatabaseInterface
- Overrides:
getSQLSequenceExists
in class BaseDatabaseMeta
- Parameters:
sequenceName
- The sequence to check
- Returns:
- The SQL to get the name of the sequence back from the databases data dictionary
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
- 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
getDropColumnStatement
public 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
- Specified by:
getDropColumnStatement
in interface DatabaseInterface
- Overrides:
getDropColumnStatement
in class BaseDatabaseMeta
- 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 drop a column from 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.
getSQLListOfProcedures
public String getSQLListOfProcedures(String schemaName)
- 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
public String[] getReservedWords()
- Specified by:
getReservedWords
in interface DatabaseInterface
- Overrides:
getReservedWords
in class BaseDatabaseMeta
- Returns:
- an array of reserved words for the database type...
getSQLLockTables
public String getSQLLockTables(String[] tableNames)
- Specified by:
getSQLLockTables
in interface DatabaseInterface
- Overrides:
getSQLLockTables
in class BaseDatabaseMeta
- Parameters:
tableNames
- The names of the tables to lock
- Returns:
- The SQL commands to lock database tables for write purposes.
getSQLUnlockTables
public String getSQLUnlockTables(String[] tableName)
- Specified by:
getSQLUnlockTables
in interface DatabaseInterface
- Overrides:
getSQLUnlockTables
in class BaseDatabaseMeta
- Parameters:
tableName
- The name of the table to unlock
- Returns:
- The SQL command to unlock a database table.
isDefaultingToUppercase
public boolean isDefaultingToUppercase()
- Specified by:
isDefaultingToUppercase
in interface DatabaseInterface
- Overrides:
isDefaultingToUppercase
in class BaseDatabaseMeta
- Returns:
- true if the database defaults to naming tables and fields in uppercase.
True for most databases except for stuborn stuff like Postgres ;-)
getUsedLibraries
public String[] getUsedLibraries()
- Specified by:
getUsedLibraries
in interface DatabaseInterface
- Returns:
- the required libraries (in libext) for this database connection.