public class PostgreSQLDatabaseMeta 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 |
|---|
PostgreSQLDatabaseMeta() |
| Modifier and Type | Method and Description |
|---|---|
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 |
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) |
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 SQL to get the next value of a 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[] 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 |
needsToLockAllTables() |
String |
quoteSQLString(String string)
PG needs the extra E in front of the string before it allows you to quote it.
|
boolean |
requiresCastToVariousForIsNull() |
boolean |
supportsAutoInc()
Support for the serial field is only fake in PostgreSQL.
|
boolean |
supportsBitmapIndex() |
boolean |
supportsErrorHandlingOnBatchUpdates() |
boolean |
supportsGetBlob() |
boolean |
supportsRepository() |
boolean |
supportsSequences() |
boolean |
supportsSynonyms() |
boolean |
useSafePoints() |
addExtraOption, checkIndexExists, clone, customizeValueFromSQLType, generateColumnAlias, getAccessType, getAttributes, getBackwardsCompatibleSchemaTableCombination, getBackwardsCompatibleTable, getConnectionPoolingProperties, getConnectSQL, getCreateTableStatement, getDatabaseFactoryName, getDatabaseName, getDatabasePortNumberString, getDataTablespace, getDataTablespaceDDL, getDefaultOptions, getDisplayName, getEndQuote, getExtraOptions, 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, getSafeFieldname, getSchemaTableCombination, getSelectCountStatement, getSequenceNoMaxValueOption, getServername, getSQLInsertAutoIncUnknownDimensionRow, 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, parseStatements, preserveReservedCase, quoteReservedWords, releaseSavepoint, requiresCreateTablePrimaryKeyAppend, 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, supportsBooleanDataType, supportsCatalogs, supportsEmptyTransactions, supportsErrorHandling, supportsFloatRoundingOnUpdate, supportsNewLinesInSQL, supportsOptionsInURL, supportsPreparedStatementMetadataRetrieval, supportsResultSetMetadataRetrievalOnly, supportsSchemas, supportsSequenceNoMaxValueOption, supportsSetCharacterStream, supportsSetLong, supportsSetMaxRows, supportsTimestampDataType, supportsTimeStampToDateConversion, supportsTransactions, supportsViews, useSchemaNameForTableListequals, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitaddExtraOption, checkIndexExists, clone, customizeValueFromSQLType, generateColumnAlias, getAccessType, getAttributes, getConnectionPoolingProperties, getConnectSQL, getCreateTableStatement, getDatabaseFactoryName, getDatabaseName, getDatabasePortNumberString, getDataTablespace, getDataTablespaceDDL, getDefaultOptions, getDisplayName, getEndQuote, getExtraOptions, getExtraOptionValueSeparator, getFunctionAverage, getFunctionCount, getFunctionMaximum, getFunctionMinimum, getFunctionSum, getHostname, getIndexTablespace, getIndexTablespaceDDL, getInitialPoolSize, getMaxColumnsInIndex, getMaximumPoolSize, getMaxTextFieldLength, getMaxVARCHARLength, 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, isDisplaySizeTwiceThePrecision, isExplorable, isForcingIdentifiersToLowerCase, isForcingIdentifiersToUpperCase, isMySQLVariant, isPartitioned, isQuoteAllFields, isRequiringTransactionsOnQueries, isStreamingResults, isSystemTable, isUsingConnectionPool, isUsingDoubleDecimalAsSchemaTableSeparator, needsPlaceHolder, parseStatements, preserveReservedCase, quoteReservedWords, releaseSavepoint, requiresCreateTablePrimaryKeyAppend, 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, supportsBooleanDataType, supportsCatalogs, supportsEmptyTransactions, supportsErrorHandling, supportsFloatRoundingOnUpdate, supportsNewLinesInSQL, supportsOptionsInURL, supportsPreparedStatementMetadataRetrieval, supportsResultSetMetadataRetrievalOnly, supportsSchemas, supportsSequenceNoMaxValueOption, supportsSetCharacterStream, supportsSetLong, supportsSetMaxRows, supportsTimestampDataType, supportsTimeStampToDateConversion, supportsTransactions, supportsViews, useSchemaNameForTableListpublic String getExtraOptionSeparator()
getExtraOptionSeparator in interface DatabaseInterfacegetExtraOptionSeparator in class BaseDatabaseMetapublic String getExtraOptionIndicator()
getExtraOptionIndicator in interface DatabaseInterfacegetExtraOptionIndicator in class BaseDatabaseMetapublic int[] getAccessTypeList()
DatabaseInterfacegetAccessTypeList in interface DatabaseInterfacegetAccessTypeList in class BaseDatabaseMetapublic int getDefaultDatabasePort()
getDefaultDatabasePort in interface DatabaseInterfacegetDefaultDatabasePort in class BaseDatabaseMetapublic String getDriverClass()
DatabaseInterfacegetDriverClass in interface DatabaseInterfacepublic String getURL(String hostname, String port, String databaseName)
getURL in interface DatabaseInterfacehostname - the hostnameport - the port as a stringdatabaseName - the database namepublic boolean isFetchSizeSupported()
isFetchSizeSupported in interface DatabaseInterfaceisFetchSizeSupported in class BaseDatabaseMetapublic boolean supportsBitmapIndex()
supportsBitmapIndex in interface DatabaseInterfacesupportsBitmapIndex in class BaseDatabaseMetapublic boolean supportsSynonyms()
supportsSynonyms in interface DatabaseInterfacesupportsSynonyms in class BaseDatabaseMetapublic boolean supportsSequences()
supportsSequences in interface DatabaseInterfacesupportsSequences 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.public String getSQLQueryFields(String tableName)
BaseDatabaseMetagetSQLQueryFields 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 getSQLListOfSequences()
getSQLListOfSequences in interface DatabaseInterfacegetSQLListOfSequences in class BaseDatabaseMetapublic String getSQLNextSequenceValue(String sequenceName)
getSQLNextSequenceValue in interface DatabaseInterfacegetSQLNextSequenceValue in class BaseDatabaseMetasequenceName - The sequence namepublic String getSQLCurrentSequenceValue(String sequenceName)
getSQLCurrentSequenceValue in interface DatabaseInterfacegetSQLCurrentSequenceValue in class BaseDatabaseMetasequenceName - The sequence namepublic String getSQLSequenceExists(String sequenceName)
getSQLSequenceExists in interface DatabaseInterfacegetSQLSequenceExists in class BaseDatabaseMetasequenceName - The sequence to checkpublic 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 getSQLListOfProcedures()
getSQLListOfProcedures in interface DatabaseInterfacegetSQLListOfProcedures in class BaseDatabaseMetapublic String[] getReservedWords()
getReservedWords in interface DatabaseInterfacegetReservedWords in class BaseDatabaseMetapublic boolean supportsRepository()
supportsRepository in interface DatabaseInterfacesupportsRepository in class BaseDatabaseMetapublic String getSQLLockTables(String[] tableNames)
getSQLLockTables in interface DatabaseInterfacegetSQLLockTables in class BaseDatabaseMetatableNames - The names of the tables to lockpublic String getSQLUnlockTables(String[] tableName)
getSQLUnlockTables in interface DatabaseInterfacegetSQLUnlockTables in class BaseDatabaseMetatableName - The name of the table to unlockpublic boolean isDefaultingToUppercase()
isDefaultingToUppercase in interface DatabaseInterfaceisDefaultingToUppercase in class BaseDatabaseMetapublic String getExtraOptionsHelpText()
getExtraOptionsHelpText in interface DatabaseInterfacegetExtraOptionsHelpText in class BaseDatabaseMetapublic String[] getUsedLibraries()
getUsedLibraries in interface DatabaseInterfacepublic boolean supportsErrorHandlingOnBatchUpdates()
supportsErrorHandlingOnBatchUpdates in interface DatabaseInterfacesupportsErrorHandlingOnBatchUpdates in class BaseDatabaseMetapublic String quoteSQLString(String string)
quoteSQLString in interface DatabaseInterfacequoteSQLString in class BaseDatabaseMetastring - public boolean requiresCastToVariousForIsNull()
requiresCastToVariousForIsNull in interface DatabaseInterfacerequiresCastToVariousForIsNull in class BaseDatabaseMetapublic boolean supportsGetBlob()
supportsGetBlob in interface DatabaseInterfacesupportsGetBlob in class BaseDatabaseMetapublic boolean useSafePoints()
useSafePoints in interface DatabaseInterfaceuseSafePoints in class BaseDatabaseMeta