Class DBMS

java.lang.Object
net.sf.jailer.configuration.DBMS

public class DBMS extends Object
Describes a specific DBMS.
Author:
Ralf Wisser
  • Field Details

    • ORACLE

      public static final DBMS ORACLE
    • MSSQL

      public static final DBMS MSSQL
    • DB2

      public static final DBMS DB2
    • DB2_ZOS

      public static final DBMS DB2_ZOS
    • MySQL

      public static final DBMS MySQL
    • POSTGRESQL

      public static final DBMS POSTGRESQL
    • SQLITE

      public static final DBMS SQLITE
    • HSQL

      public static final DBMS HSQL
    • H2

      public static final DBMS H2
    • SYBASE

      public static final DBMS SYBASE
    • INFORMIX

      public static final DBMS INFORMIX
    • CLOADSCAPE

      public static final DBMS CLOADSCAPE
    • FIREBIRD

      public static final DBMS FIREBIRD
    • DERBY

      public static final DBMS DERBY
    • CLICKHOUSE

      public static final DBMS CLICKHOUSE
  • Constructor Details

    • DBMS

      public DBMS()
      Default constructor.
  • Method Details

    • values

      public static DBMS[] values()
      Gets all DBMSes.
      Returns:
      array of all DBMSes
    • forDBMS

      public static DBMS forDBMS(String dbmsId)
      Gets DBMS specific configuration.
      Parameters:
      dbmsId - the DBMS id
      Returns:
      the DBMS with given id, or the default DBMS if id is null
    • getLiquibaseProductName

      public String getLiquibaseProductName()
      Gets the Liquibase product name for this DBMS.
      Returns:
      the Liquibase product name
    • setLiquibaseProductName

      public void setLiquibaseProductName(String liquibaseProductName)
      Sets the Liquibase product name for this DBMS.
      Parameters:
      liquibaseProductName - the Liquibase product name to set
    • getDdlQuery

      public String getDdlQuery()
      Gets the DB query to retrieve the DDL of a table.
      Returns:
      the DDL query
    • setDdlQuery

      public void setDdlQuery(String ddlQuery)
      Sets the DB query to retrieve the DDL of a table.
      Parameters:
      ddlQuery - the DDL query to set
    • getDdlCall

      public String getDdlCall()
      Gets the DB call to retrieve the DDL of a table.
      Returns:
      the DDL call
    • setDdlCall

      public void setDdlCall(String ddlCall)
      Sets the DB call to retrieve the DDL of a table.
      Parameters:
      ddlCall - the DDL call to set
    • isUsesCatalog

      public boolean isUsesCatalog()
      Returns whether this DBMS uses catalogs.
      Returns:
      true if catalogs are used
    • setUsesCatalog

      public void setUsesCatalog(boolean usesCatalog)
      Sets whether this DBMS uses catalogs.
      Parameters:
      usesCatalog - true if catalogs are used
    • isSupportsGlobalWorkingtables

      public boolean isSupportsGlobalWorkingtables()
      Returns whether this DBMS supports global working tables.
      Returns:
      true if global working tables are supported
    • setSupportsGlobalWorkingtables

      public void setSupportsGlobalWorkingtables(boolean supportsGlobalWorkingtables)
      Sets whether this DBMS supports global working tables.
      Parameters:
      supportsGlobalWorkingtables - true if global working tables are supported
    • isSupported

      public boolean isSupported()
      Returns whether this DBMS is supported.
      Returns:
      true if this DBMS is supported
    • setSupported

      public void setSupported(boolean supported)
      Sets whether this DBMS is supported.
      Parameters:
      supported - true if this DBMS is supported
    • isClobType

      public boolean isClobType(String typeWithLength)
      Returns whether the given type name matches the CLOB type pattern.
      Parameters:
      typeWithLength - the SQL type name (possibly including length)
      Returns:
      true if the type is a CLOB type
    • isNClobType

      public boolean isNClobType(String typeWithLength)
      Returns whether the given type name matches the NCLOB type pattern.
      Parameters:
      typeWithLength - the SQL type name (possibly including length)
      Returns:
      true if the type is an NCLOB type
    • isBlobType

      public boolean isBlobType(String typeWithLength)
      Returns whether the given type name matches the BLOB type pattern.
      Parameters:
      typeWithLength - the SQL type name (possibly including length)
      Returns:
      true if the type is a BLOB type
    • getClobTypesRE

      public String getClobTypesRE()
      Gets the regular expression pattern for CLOB type names.
      Returns:
      the CLOB types regular expression
    • setClobTypesRE

      public void setClobTypesRE(String clobTypesRE)
      Sets the regular expression pattern for CLOB type names.
      Parameters:
      clobTypesRE - the CLOB types regular expression to set
    • getnClobTypesRE

      public String getnClobTypesRE()
      Gets the regular expression pattern for NCLOB type names.
      Returns:
      the NCLOB types regular expression
    • setnClobTypesRE

      public void setnClobTypesRE(String nClobTypesRE)
      Sets the regular expression pattern for NCLOB type names.
      Parameters:
      nClobTypesRE - the NCLOB types regular expression to set
    • getBlobTypesRE

      public String getBlobTypesRE()
      Gets the regular expression pattern for BLOB type names.
      Returns:
      the BLOB types regular expression
    • setBlobTypesRE

      public void setBlobTypesRE(String blobTypesRE)
      Sets the regular expression pattern for BLOB type names.
      Parameters:
      blobTypesRE - the BLOB types regular expression to set
    • getVirtualColumnsQuery

      public String getVirtualColumnsQuery()
      Gets the query to retrieve virtual columns.
      Returns:
      the virtual columns query
    • setVirtualColumnsQuery

      public void setVirtualColumnsQuery(String virtualColumnsQuery)
      Sets the query to retrieve virtual columns.
      Parameters:
      virtualColumnsQuery - the virtual columns query to set
    • isUseInlineViewsInDataBrowser

      public boolean isUseInlineViewsInDataBrowser()
      Returns whether inline views should be used in the Data Browser for this DBMS.
      Returns:
      true if inline views should be used in the Data Browser
    • setUseInlineViewsInDataBrowser

      public void setUseInlineViewsInDataBrowser(boolean useInlineViewsInDataBrowser)
      Sets whether inline views should be used in the Data Browser for this DBMS.
      Parameters:
      useInlineViewsInDataBrowser - true to use inline views in the Data Browser
    • getEmbeddedLobSizeLimit

      public int getEmbeddedLobSizeLimit()
      Gets the maximum size (in bytes) for LOB values to be embedded inline in SQL statements.
      Returns:
      the embedded LOB size limit
    • setEmbeddedLobSizeLimit

      public void setEmbeddedLobSizeLimit(int embeddedLobSizeLimit)
      Sets the maximum size (in bytes) for LOB values to be embedded inline in SQL statements.
      Parameters:
      embeddedLobSizeLimit - the embedded LOB size limit to set
    • getSupportsSchemasInIndexDefinitions

      public Boolean getSupportsSchemasInIndexDefinitions()
      Returns whether this DBMS supports schema qualifiers in index definitions.
      Returns:
      true if schema qualifiers are supported in index definitions, or null if unknown
    • setSupportsSchemasInIndexDefinitions

      public void setSupportsSchemasInIndexDefinitions(Boolean supportsSchemasInIndexDefinitions)
      Sets whether this DBMS supports schema qualifiers in index definitions.
      Parameters:
      supportsSchemasInIndexDefinitions - true if schema qualifiers are supported in index definitions
    • getRowidName

      public String getRowidName()
      Gets the name of the rowid/ctid pseudo-column for this DBMS.
      Returns:
      the rowid column name, or null if not applicable
    • setRowidName

      public void setRowidName(String rowidName)
      Sets the name of the rowid/ctid pseudo-column for this DBMS.
      Parameters:
      rowidName - the rowid column name to set
    • getRowidType

      public String getRowidType()
      Gets the SQL type of the rowid/ctid pseudo-column for this DBMS.
      Returns:
      the rowid column type, or null if not applicable
    • setRowidType

      public void setRowidType(String rowidType)
      Sets the SQL type of the rowid/ctid pseudo-column for this DBMS.
      Parameters:
      rowidType - the rowid column type to set
    • getSqlDialect

      public SQLDialect getSqlDialect()
      Gets the SQL dialect configuration for this DBMS.
      Returns:
      the SQL dialect
    • setSqlDialect

      public void setSqlDialect(SQLDialect sqlDialect)
      Sets the SQL dialect.
      Parameters:
      sqlDialect - the SQL dialect to set
    • getUrlPattern

      public String getUrlPattern()
      Gets the DB-URL pattern for this DBMS.
      Returns:
      the URL pattern
    • setUrlPattern

      public void setUrlPattern(String urlPattern)
      Sets DB-URL pattern of DBMS for which this holds the configuration.
      Parameters:
      urlPattern - the URL pattern to set
    • getExportBlocks

      public Set<String> getExportBlocks()
      Gets the set of type names for which no data must be exported.
      Returns:
      the set of blocked export type names
    • setExportBlocks

      public void setExportBlocks(Set<String> exportBlocks)
      Sets the set of type names for which no data must be exported.
      Parameters:
      exportBlocks - the set of blocked export type names to set
    • getStatisticRenovator

    • setStatisticRenovator

      public void setStatisticRenovator(SqlScriptBasedStatisticRenovator statisticRenovator)
      Parameters:
      statisticRenovator - the SqlScriptBasedStatisticRenovator
    • setEmptyCLOBValue

      public void setEmptyCLOBValue(String emptyCLOBValue)
      Sets the value used to represent an empty CLOB.
      Parameters:
      emptyCLOBValue - the empty CLOB value to set
    • setEmptyBLOBValue

      public void setEmptyBLOBValue(String emptyBLOBValue)
      Sets the value used to represent an empty BLOB.
      Parameters:
      emptyBLOBValue - the empty BLOB value to set
    • setBinaryPattern

      public void setBinaryPattern(String binaryPattern)
      Sets the pattern used to format binary data.
      Parameters:
      binaryPattern - the binary pattern to set
    • setTypeReplacement

      public void setTypeReplacement(Map<String,String> tr)
      Sets replacement map for column types used for DDL generation.
      Parameters:
      tr - the type replacement map to set
    • setExperimentalTypeReplacement

      public void setExperimentalTypeReplacement(Map<String,String> tr)
      Sets replacement map for column types used for DDL generation. Only used if the DBMS accepts it.
      Parameters:
      tr - the experimental type replacement map to set
    • getToBlob

      public String getToBlob()
      Gets the SQL expression template used to convert a value to a BLOB.
      Returns:
      the to-BLOB conversion expression
    • setToBlob

      public void setToBlob(String toBlob)
      Sets the SQL expression template used to convert a value to a BLOB.
      Parameters:
      toBlob - the to-BLOB conversion expression to set
    • getToClob

      public String getToClob()
      Gets the SQL expression template used to convert a value to a CLOB.
      Returns:
      the to-CLOB conversion expression
    • setToClob

      public void setToClob(String toClob)
      Sets the SQL expression template used to convert a value to a CLOB.
      Parameters:
      toClob - the to-CLOB conversion expression to set
    • getTypeReplacement

      public Map<String,String> getTypeReplacement()
      Gets the replacement map for column types used for DDL generation.
      Returns:
      the type replacement map
    • getExperimentalTypeReplacement

      public Map<String,String> getExperimentalTypeReplacement()
      Gets replacement map for column types used for DDL generation. Only used if DBMS accepts it.
      Returns:
      the experimental type replacement map
    • setSessionTemporaryTableManager

      public void setSessionTemporaryTableManager(DefaultTemporaryTableManager tableManager)
      Sets the manager for session-local temporary tables.
      Parameters:
      tableManager - the session temporary table manager to set
    • setTransactionTemporaryTableManager

      public void setTransactionTemporaryTableManager(DefaultTemporaryTableManager tableManager)
      Sets the manager for transaction-local temporary tables.
      Parameters:
      tableManager - the transaction temporary table manager to set
    • isIdentityInserts

      public boolean isIdentityInserts()
      Returns whether the DBMS supports identity-type columns (MS SQL Server).
      Returns:
      true if identity inserts are supported
    • setIdentityInserts

      public void setIdentityInserts(boolean identityInserts)
      Sets whether the DBMS supports identity-type columns (MS SQL Server).
      Parameters:
      identityInserts - true if identity inserts are supported
    • isSupportsCStyleBackslashEscapes

      public boolean isSupportsCStyleBackslashEscapes()
      Indicates that E'x\ny' syntax is supported.
      Returns:
      true iff E'x\ny' syntax is supported
    • setSupportsCStyleBackslashEscapes

      public void setSupportsCStyleBackslashEscapes(boolean supportsCStyleBackslashEscapes)
      Indicates that E'x\ny' syntax is supported.
      Parameters:
      supportsCStyleBackslashEscapes - true iff E'x\ny' syntax is supported
    • setStringLiteralEscapeSequences

      public void setStringLiteralEscapeSequences(Map<String,String> stringLiteralEscapeSequences)
      Sets the replacement map for special characters in string literals.
      Parameters:
      stringLiteralEscapeSequences - the string literal escape sequences map to set
    • getStringLiteralEscapeSequences

      public Map<String,String> getStringLiteralEscapeSequences()
      Gets the replacement map for special characters in string literals.
      Returns:
      the string literal escape sequences map
    • convertToStringLiteral

      public String convertToStringLiteral(String string, boolean[] mustBeParenthesized)
      Converts a string to a string literal according to the getStringLiteralEscapeSequences().
      Parameters:
      string - the string to convert
      mustBeParenthesized - 1-element array. Contains true after call iff result is complex expression.
      Returns:
      the string literal
    • convertToStringLiteral

      public String convertToStringLiteral(String string, String prefix, boolean[] mustBeParenthesized)
      Converts a string to a string literal according to the getStringLiteralEscapeSequences().
      Parameters:
      string - the string to convert
      prefix - literal prefix (optional)
      mustBeParenthesized - 1-element array. Contains true after call iff result is complex expression.
      Returns:
      the string literal
    • postProcessStringLiteral

      public String postProcessStringLiteral(String literal, String value, String prefix)
      Eventually applies standard escape syntax.
      Parameters:
      literal - the literal
      value - original string
      prefix - literal prefix (optional)
      Returns:
      the post-processed literal
    • isAvoidLeftJoin

      public boolean isAvoidLeftJoin()
      Returns whether left joins should be avoided for this DBMS.
      Returns:
      true if left joins should be avoided
    • setAvoidLeftJoin

      public void setAvoidLeftJoin(boolean avoidLeftJoin)
      Sets whether left joins should be avoided for this DBMS.
      Parameters:
      avoidLeftJoin - true to avoid left joins
    • setSqlLimitSuffix

      public void setSqlLimitSuffix(String sqlLimitSuffix)
      Sets the suffix appended to a SQL SELECT statement to limit the number of rows returned.
      Parameters:
      sqlLimitSuffix - the SQL limit suffix to set
    • getSqlLimitSuffix

      public String getSqlLimitSuffix()
      Gets the suffix appended to a SQL SELECT statement to limit the number of rows returned.
      Returns:
      the SQL limit suffix
    • getVarcharLengthLimit

      public Integer getVarcharLengthLimit()
      Gets the maximum length for VARCHAR columns, or null if unlimited.
      Returns:
      the VARCHAR length limit, or null
    • setVarcharLengthLimit

      public void setVarcharLengthLimit(Integer varcharLengthLimit)
      Sets the maximum length for VARCHAR columns.
      Parameters:
      varcharLengthLimit - the VARCHAR length limit to set, or null for unlimited
    • getTimestampPattern

      public String getTimestampPattern()
      Gets the pattern used to format timestamp values.
      Returns:
      the timestamp pattern
    • setTimestampPattern

      public void setTimestampPattern(String timestampPattern)
      Sets the pattern used to format timestamp values.
      Parameters:
      timestampPattern - the timestamp pattern to set
    • getTimestampWithNanoTypeName

      public String getTimestampWithNanoTypeName()
      Gets the name of the timestamp type with nanosecond precision, if any.
      Returns:
      the name of the timestamp type with nano-precision, or null if not applicable
    • setTimestampWithNanoTypeName

      public void setTimestampWithNanoTypeName(String timestampWithNanoTypeName)
      Sets the name of the timestamp type with nanosecond precision.
      Parameters:
      timestampWithNanoTypeName - the name of the timestamp type with nano-precision, if any
    • getTimestampWithNanoPattern

      public String getTimestampWithNanoPattern()
      Gets the pattern used to format timestamp values with nanosecond precision.
      Returns:
      the timestamp-with-nano pattern
    • setTimestampWithNanoPattern

      public void setTimestampWithNanoPattern(String timestampWithNanoPattern)
      Sets the pattern used to format timestamp values with nanosecond precision.
      Parameters:
      timestampWithNanoPattern - the timestamp-with-nano pattern to set
    • createTimestampWithNanoFormat

      public SimpleDateFormat createTimestampWithNanoFormat()
      Returns:
      the timestamp-with-nano format, or null if no pattern is configured
    • createTimestampFormat

      public SimpleDateFormat createTimestampFormat()
      Returns:
      the timestamp format
    • getDatePattern

      public String getDatePattern()
      Gets the pattern used to format date values.
      Returns:
      the date pattern
    • setDatePattern

      public void setDatePattern(String datePattern)
      Sets the pattern used to format date values.
      Parameters:
      datePattern - the date pattern to set
    • createDateFormat

      public SimpleDateFormat createDateFormat()
      Returns:
      the date format
    • getNcharPrefix

      public String getNcharPrefix()
      Gets the prefix used for national character (NCHAR) string literals.
      Returns:
      the NCHAR prefix
    • setNcharPrefix

      public void setNcharPrefix(String ncharPrefix)
      Sets the prefix used for national character (NCHAR) string literals.
      Parameters:
      ncharPrefix - the NCHAR prefix to set
    • getTableProperties

      public String getTableProperties()
      Gets the additional table properties clause appended to CREATE TABLE statements.
      Returns:
      the table properties clause
    • setTableProperties

      public void setTableProperties(String tableProperties)
      Sets the additional table properties clause appended to CREATE TABLE statements.
      Parameters:
      tableProperties - the table properties clause to set
    • getJdbcProperties

      public Map<String,String> getJdbcProperties()
      Gets the JDBC properties.
      Returns:
      the jdbcProperties
    • setJdbcProperties

      public void setJdbcProperties(Map<String,String> jdbcProperties)
      Sets the JDBC properties.
      Parameters:
      jdbcProperties - the jdbcProperties to set
    • getIdentifierQuoteString

      public String getIdentifierQuoteString()
      Gets the string used to quote SQL identifiers.
      Returns:
      the identifier quote string
    • setIdentifierQuoteString

      public void setIdentifierQuoteString(String identifierQuoteString)
      Sets the string used to quote SQL identifiers.
      Parameters:
      identifierQuoteString - the identifier quote string to set
    • getTestQuery

      public String getTestQuery()
      Gets the test query for this DBMS.
      Returns:
      the test query
    • setTestQuery

      public void setTestQuery(String testQuery)
      Sets the test query for this DBMS.
      Parameters:
      testQuery - the test query to set
    • getUserDefinedColumnsQuery

      public String getUserDefinedColumnsQuery()
      Gets the query to retrieve user-defined columns.
      Returns:
      the user-defined columns query
    • setUserDefinedColumnsQuery

      public void setUserDefinedColumnsQuery(String userDefinedColumnsQuery)
      Sets the query to retrieve user-defined columns.
      Parameters:
      userDefinedColumnsQuery - the user-defined columns query to set
    • getIdentityColumnsQuery

      public String getIdentityColumnsQuery()
      Gets the query to retrieve identity columns.
      Returns:
      the identity columns query
    • setIdentityColumnsQuery

      public void setIdentityColumnsQuery(String identityColumnsQuery)
      Sets the query to retrieve identity columns.
      Parameters:
      identityColumnsQuery - the identity columns query to set
    • getPartitionsQuery

      public String getPartitionsQuery()
      Gets the query to retrieve partition information.
      Returns:
      the partitions query
    • setPartitionsQuery

      public void setPartitionsQuery(String partitionsQuery)
      Sets the query to retrieve partition information.
      Parameters:
      partitionsQuery - the partitions query to set
    • getIdentityColumnInsertClause

      public String getIdentityColumnInsertClause()
      Gets the SQL clause used in INSERT statements for identity columns.
      Returns:
      the identity column insert clause
    • setIdentityColumnInsertClause

      public void setIdentityColumnInsertClause(String identityColumnInsertClause)
      Sets the SQL clause used in INSERT statements for identity columns.
      Parameters:
      identityColumnInsertClause - the identity column insert clause to set
    • getNullableContraint

      public String getNullableContraint()
      Gets the SQL constraint clause used to declare nullable columns.
      Returns:
      the nullable constraint clause
    • setNullableContraint

      public void setNullableContraint(String nullableContraint)
      Sets the SQL constraint clause used to declare nullable columns.
      Parameters:
      nullableContraint - the nullable constraint clause to set
    • getEmptyNCLOBValue

      public String getEmptyNCLOBValue()
      Gets the value used to represent an empty NCLOB.
      Returns:
      the empty NCLOB value
    • setEmptyNCLOBValue

      public void setEmptyNCLOBValue(String emptyNCLOBValue)
      Sets the value used to represent an empty NCLOB.
      Parameters:
      emptyNCLOBValue - the empty NCLOB value to set
    • getImportedKeysQuery

      public String getImportedKeysQuery()
      Gets the query to retrieve imported foreign keys.
      Returns:
      the imported keys query
    • setImportedKeysQuery

      public void setImportedKeysQuery(String importedKeysQuery)
      Sets the query to retrieve imported foreign keys.
      Parameters:
      importedKeysQuery - the imported keys query to set
    • getPrimaryKeysQuery

      public String getPrimaryKeysQuery()
      Gets the query to retrieve primary keys.
      Returns:
      the primary keys query
    • setPrimaryKeysQuery

      public void setPrimaryKeysQuery(String primaryKeysQuery)
      Sets the query to retrieve primary keys.
      Parameters:
      primaryKeysQuery - the primary keys query to set
    • getIndexInfoQuery

      public String getIndexInfoQuery()
      Gets the query to retrieve index information.
      Returns:
      the index info query
    • setIndexInfoQuery

      public void setIndexInfoQuery(String indexInfoQuery)
      Sets the query to retrieve index information.
      Parameters:
      indexInfoQuery - the index info query to set
    • getToNClob

      public String getToNClob()
      Gets the SQL expression template used to convert a value to an NCLOB.
      Returns:
      the to-NCLOB conversion expression
    • setToNClob

      public void setToNClob(String toNClob)
      Sets the SQL expression template used to convert a value to an NCLOB.
      Parameters:
      toNClob - the to-NCLOB conversion expression to set
    • getEmptyCLOBValue

      public String getEmptyCLOBValue()
      Gets the value used to represent an empty CLOB.
      Returns:
      the empty CLOB value
    • getEmptyBLOBValue

      public String getEmptyBLOBValue()
      Gets the value used to represent an empty BLOB.
      Returns:
      the empty BLOB value
    • getBinaryPattern

      public String getBinaryPattern()
      Gets the pattern used to format binary data as a SQL literal.
      Returns:
      the binary pattern
    • getSessionTemporaryTableManager

      public DefaultTemporaryTableManager getSessionTemporaryTableManager()
      Gets the manager for session-local temporary tables.
      Returns:
      the session temporary table manager
    • getTransactionTemporaryTableManager

      public DefaultTemporaryTableManager getTransactionTemporaryTableManager()
      Gets the manager for transaction-local temporary tables.
      Returns:
      the transaction temporary table manager
    • getId

      public String getId()
      Gets the DBMS identifier.
      Returns:
      the DBMS id
    • setId

      public void setId(String id)
      Sets the DBMS identifier.
      Parameters:
      id - the DBMS id to set
    • getFamilyId

      public String getFamilyId()
      Gets the DBMS family identifier.
      Returns:
      the family id
    • setFamilyId

      public void setFamilyId(String familyId)
      Sets the DBMS family identifier.
      Parameters:
      familyId - the family id to set
    • getDisplayName

      public String getDisplayName()
      Gets the display name of this DBMS.
      Returns:
      the display name
    • setDisplayName

      public void setDisplayName(String displayName)
      Sets the display name of this DBMS.
      Parameters:
      displayName - the display name to set
    • getIcon

      public String getIcon()
      Gets the icon resource name for this DBMS.
      Returns:
      the icon resource name
    • setIcon

      public void setIcon(String icon)
      Sets the icon resource name for this DBMS.
      Parameters:
      icon - the icon resource name to set
    • getExplainPrepare

      public String getExplainPrepare()
      Gets the SQL statement to prepare for query explain.
      Returns:
      the explain prepare statement
    • setExplainPrepare

      public void setExplainPrepare(String explainPrepare)
      Sets the SQL statement to prepare for query explain.
      Parameters:
      explainPrepare - the explain prepare statement to set
    • getExplainCreateExplainTable

      public String getExplainCreateExplainTable()
      Gets the SQL statement to create the explain table.
      Returns:
      the explain table creation statement
    • setExplainCreateExplainTable

      public void setExplainCreateExplainTable(String explainCreateExplainTable)
      Sets the SQL statement to create the explain table.
      Parameters:
      explainCreateExplainTable - the explain table creation statement to set
    • getExplainQuery

      public String getExplainQuery()
      Gets the query to retrieve the explain plan.
      Returns:
      the explain query
    • setExplainQuery

      public void setExplainQuery(String explainQuery)
      Sets the query to retrieve the explain plan.
      Parameters:
      explainQuery - the explain query to set
    • getExplainCleanup

      public String getExplainCleanup()
      Gets the SQL statement to clean up after query explain.
      Returns:
      the explain cleanup statement
    • setExplainCleanup

      public void setExplainCleanup(String explainCleanup)
      Sets the SQL statement to clean up after query explain.
      Parameters:
      explainCleanup - the explain cleanup statement to set
    • getFunctionSourceQuery

      public String getFunctionSourceQuery()
      Gets the query to retrieve the source of a function.
      Returns:
      the function source query
    • setFunctionSourceQuery

      public void setFunctionSourceQuery(String functionSourceQuery)
      Sets the query to retrieve the source of a function.
      Parameters:
      functionSourceQuery - the function source query to set
    • getProcedureSourceQuery

      public String getProcedureSourceQuery()
      Gets the query to retrieve the source of a stored procedure.
      Returns:
      the procedure source query
    • setProcedureSourceQuery

      public void setProcedureSourceQuery(String procedureSourceQuery)
      Sets the query to retrieve the source of a stored procedure.
      Parameters:
      procedureSourceQuery - the procedure source query to set
    • getPackageSourceQuery

      public String getPackageSourceQuery()
      Gets the query to retrieve the source of a package.
      Returns:
      the package source query
    • setPackageSourceQuery

      public void setPackageSourceQuery(String packageSourceQuery)
      Sets the query to retrieve the source of a package.
      Parameters:
      packageSourceQuery - the package source query to set
    • getPackageNamesQuery

      public String getPackageNamesQuery()
      Gets the query to retrieve the names of all packages.
      Returns:
      the package names query
    • setPackageNamesQuery

      public void setPackageNamesQuery(String packageNamesQuery)
      Sets the query to retrieve the names of all packages.
      Parameters:
      packageNamesQuery - the package names query to set
    • getObjectRenderers

      public List<DatabaseObjectRenderingDescription> getObjectRenderers()
      Gets the list of database object renderer descriptions.
      Returns:
      the object renderers
    • setObjectRenderers

      public void setObjectRenderers(List<DatabaseObjectRenderingDescription> objectRenderers)
      Sets the list of database object renderer descriptions.
      Parameters:
      objectRenderers - the object renderers to set
    • isProcedureDetailNeedsSpecificName

      public boolean isProcedureDetailNeedsSpecificName()
      Returns whether retrieving procedure details requires the specific (overloaded) name.
      Returns:
      true if a specific name is required for procedure detail retrieval
    • setProcedureDetailNeedsSpecificName

      public void setProcedureDetailNeedsSpecificName(boolean procedureDetailNeedsSpecificName)
      Sets whether retrieving procedure details requires the specific (overloaded) name.
      Parameters:
      procedureDetailNeedsSpecificName - true if a specific name is required for procedure detail retrieval
    • getConstraintsQuery

      public String getConstraintsQuery()
      Gets the query to retrieve constraint information.
      Returns:
      the constraints query
    • setConstraintsQuery

      public void setConstraintsQuery(String constraintsQuery)
      Sets the query to retrieve constraint information.
      Parameters:
      constraintsQuery - the constraints query to set
    • getEstimatedRowCountQuery

      public String getEstimatedRowCountQuery()
      Gets the query to retrieve an estimated row count for a table.
      Returns:
      the estimated row count query
    • setEstimatedRowCountQuery

      public void setEstimatedRowCountQuery(String estimatedRowCountQuery)
      Sets the query to retrieve an estimated row count for a table.
      Parameters:
      estimatedRowCountQuery - the estimated row count query to set
    • getViewTextOrDDLQuery

      public String getViewTextOrDDLQuery()
      Gets the query to retrieve the text or DDL of a view.
      Returns:
      the view text or DDL query
    • setViewTextOrDDLQuery

      public void setViewTextOrDDLQuery(String viewTextOrDDLQuery)
      Sets the query to get view text or DDL.
      Parameters:
      viewTextOrDDLQuery - the query to set
    • getSynonymTableQuery

      public String getSynonymTableQuery()
      Gets the query to retrieve the underlying table of a synonym.
      Returns:
      the synonym table query
    • setSynonymTableQuery

      public void setSynonymTableQuery(String synonymTableQuery)
      Sets the query to retrieve the underlying table of a synonym.
      Parameters:
      synonymTableQuery - the synonym table query to set
    • getDefaultSchemaQuery

      public String getDefaultSchemaQuery()
      Gets the query to retrieve the default schema of the current user.
      Returns:
      the default schema query
    • setDefaultSchemaQuery

      public void setDefaultSchemaQuery(String defaultSchemaQuery)
      Sets the query to retrieve the default schema of the current user.
      Parameters:
      defaultSchemaQuery - the default schema query to set
    • getLimitTransactionSize

      public LimitTransactionSizeInfo getLimitTransactionSize()
      Gets information about how to limit transaction size (never null).
      Returns:
      the limit transaction size info, never null
    • setLimitTransactionSize

      public void setLimitTransactionSize(LimitTransactionSizeInfo incremenalInsertInfo)
      Sets information about how to limit transaction size.
      Parameters:
      incremenalInsertInfo - the limit transaction size info to set
    • getFetchSize

      public Integer getFetchSize()
      Gets fetch size.
      Returns:
      fetch size
    • setFetchSize

      public void setFetchSize(Integer fetchSize)
      Sets fetch size.
      Parameters:
      fetchSize - fetch size
    • getSqlExpressionRule

      public Map<String,String> getSqlExpressionRule()
      Gets the SQL expression rewrite rules for this DBMS.
      Returns:
      the SQL expression rule map
    • setSqlExpressionRule

      public void setSqlExpressionRule(Map<String,String> sqlExpressionRule)
      Sets the SQL expression rewrite rules for this DBMS.
      Parameters:
      sqlExpressionRule - the SQL expression rule map to set
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • equals

      public boolean equals(Object obj)
      Overrides:
      equals in class Object
    • setTmpFetchSize

      public static void setTmpFetchSize(Integer tmpFetchSize)
      Sets a temporary override for the fetch size, used during limited-row queries.
      Parameters:
      tmpFetchSize - the temporary fetch size to set, or null to clear
    • getLimitedFetchSize

      public int getLimitedFetchSize(long limit)
      Gets the effective fetch size to use when fetching at most limit rows.
      Parameters:
      limit - the maximum number of rows to fetch, or 0 if unlimited
      Returns:
      the fetch size to use