Package org.apache.commons.dbcp2

# Class DelegatingDatabaseMetaData

java.lang.Object
org.apache.commons.dbcp2.DelegatingDatabaseMetaData

All Implemented Interfaces:
  `DatabaseMetaData`, `Wrapper`

public class DelegatingDatabaseMetaData extends Object implements DatabaseMetaData

A base delegating implementation of `DatabaseMetaData`.

Methods that create `ResultSet` objects are wrapped to create `DelegatingResultSet` objects and the remaining methods simply call the corresponding method on the "delegate" provided in the constructor.

Since:
  2.0

- ## Field Summary

  ### Fields inherited from interface java.sql.DatabaseMetaData

  `attributeNoNulls, attributeNullable, attributeNullableUnknown, bestRowNotPseudo, bestRowPseudo, bestRowSession, bestRowTemporary, bestRowTransaction, bestRowUnknown, columnNoNulls, columnNullable, columnNullableUnknown, functionColumnIn, functionColumnInOut, functionColumnOut, functionColumnResult, functionColumnUnknown, functionNoNulls, functionNoTable, functionNullable, functionNullableUnknown, functionResultUnknown, functionReturn, functionReturnsTable, importedKeyCascade, importedKeyInitiallyDeferred, importedKeyInitiallyImmediate, importedKeyNoAction, importedKeyNotDeferrable, importedKeyRestrict, importedKeySetDefault, importedKeySetNull, procedureColumnIn, procedureColumnInOut, procedureColumnOut, procedureColumnResult, procedureColumnReturn, procedureColumnUnknown, procedureNoNulls, procedureNoResult, procedureNullable, procedureNullableUnknown, procedureResultUnknown, procedureReturnsResult, sqlStateSQL, sqlStateSQL99, sqlStateXOpen, tableIndexClustered, tableIndexHashed, tableIndexOther, tableIndexStatistic, typeNoNulls, typeNullable, typeNullableUnknown, typePredBasic, typePredChar, typePredNone, typeSearchable, versionColumnNotPseudo, versionColumnPseudo, versionColumnUnknown`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `DelegatingDatabaseMetaData(DelegatingConnection<?> connection, DatabaseMetaData databaseMetaData)`
  Constructs a new instance for the given delegating connection and database meta data.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `boolean`
  `allProceduresAreCallable()`
  `boolean`
  `allTablesAreSelectable()`
  `boolean`
  `autoCommitFailureClosesAllResultSets()`
  `boolean`
  `dataDefinitionCausesTransactionCommit()`
  `boolean`
  `dataDefinitionIgnoredInTransactions()`
  `boolean`
  `deletesAreDetected(int type)`
  `boolean`
  `doesMaxRowSizeIncludeBlobs()`
  `boolean`
  `generatedKeyAlwaysReturned()`
  `ResultSet`
  `getAttributes(String catalog, String schemaPattern, String typeNamePattern, String attributeNamePattern)`
  `ResultSet`
  `getBestRowIdentifier(String catalog, String schema, String table, int scope, boolean nullable)`
  `ResultSet`
  `getCatalogs()`
  `String`
  `getCatalogSeparator()`
  `String`
  `getCatalogTerm()`
  `ResultSet`
  `getClientInfoProperties()`
  `ResultSet`
  `getColumnPrivileges(String catalog, String schema, String table, String columnNamePattern)`
  `ResultSet`
  `getColumns(String catalog, String schemaPattern, String tableNamePattern, String columnNamePattern)`
  `Connection`
  `getConnection()`
  `ResultSet`
  `getCrossReference(String parentCatalog, String parentSchema, String parentTable, String foreignCatalog, String foreignSchema, String foreignTable)`
  `int`
  `getDatabaseMajorVersion()`
  `int`
  `getDatabaseMinorVersion()`
  `String`
  `getDatabaseProductName()`
  `String`
  `getDatabaseProductVersion()`
  `int`
  `getDefaultTransactionIsolation()`
  `DatabaseMetaData`
  `getDelegate()`
  Gets the underlying database meta data.
  `int`
  `getDriverMajorVersion()`
  `int`
  `getDriverMinorVersion()`
  `String`
  `getDriverName()`
  `String`
  `getDriverVersion()`
  `ResultSet`
  `getExportedKeys(String catalog, String schema, String table)`
  `String`
  `getExtraNameCharacters()`
  `ResultSet`
  `getFunctionColumns(String catalog, String schemaPattern, String functionNamePattern, String columnNamePattern)`
  `ResultSet`
  `getFunctions(String catalog, String schemaPattern, String functionNamePattern)`
  `String`
  `getIdentifierQuoteString()`
  `ResultSet`
  `getImportedKeys(String catalog, String schema, String table)`
  `ResultSet`
  `getIndexInfo(String catalog, String schema, String table, boolean unique, boolean approximate)`
  `DatabaseMetaData`
  `getInnermostDelegate()`
  If my underlying `ResultSet` is not a `DelegatingResultSet`, returns it, otherwise recursively invokes this method on my delegate.
  `int`
  `getJDBCMajorVersion()`
  `int`
  `getJDBCMinorVersion()`
  `int`
  `getMaxBinaryLiteralLength()`
  `int`
  `getMaxCatalogNameLength()`
  `int`
  `getMaxCharLiteralLength()`
  `int`
  `getMaxColumnNameLength()`
  `int`
  `getMaxColumnsInGroupBy()`
  `int`
  `getMaxColumnsInIndex()`
  `int`
  `getMaxColumnsInOrderBy()`
  `int`
  `getMaxColumnsInSelect()`
  `int`
  `getMaxColumnsInTable()`
  `int`
  `getMaxConnections()`
  `int`
  `getMaxCursorNameLength()`
  `int`
  `getMaxIndexLength()`
  `long`
  `getMaxLogicalLobSize()`
  `int`
  `getMaxProcedureNameLength()`
  `int`
  `getMaxRowSize()`
  `int`
  `getMaxSchemaNameLength()`
  `int`
  `getMaxStatementLength()`
  `int`
  `getMaxStatements()`
  `int`
  `getMaxTableNameLength()`
  `int`
  `getMaxTablesInSelect()`
  `int`
  `getMaxUserNameLength()`
  `String`
  `getNumericFunctions()`
  `ResultSet`
  `getPrimaryKeys(String catalog, String schema, String table)`
  `ResultSet`
  `getProcedureColumns(String catalog, String schemaPattern, String procedureNamePattern, String columnNamePattern)`
  `ResultSet`
  `getProcedures(String catalog, String schemaPattern, String procedureNamePattern)`
  `String`
  `getProcedureTerm()`
  `ResultSet`
  `getPseudoColumns(String catalog, String schemaPattern, String tableNamePattern, String columnNamePattern)`
  `int`
  `getResultSetHoldability()`
  `RowIdLifetime`
  `getRowIdLifetime()`
  `ResultSet`
  `getSchemas()`
  `ResultSet`
  `getSchemas(String catalog, String schemaPattern)`
  `String`
  `getSchemaTerm()`
  `String`
  `getSearchStringEscape()`
  `String`
  `getSQLKeywords()`
  `int`
  `getSQLStateType()`
  `String`
  `getStringFunctions()`
  `ResultSet`
  `getSuperTables(String catalog, String schemaPattern, String tableNamePattern)`
  `ResultSet`
  `getSuperTypes(String catalog, String schemaPattern, String typeNamePattern)`
  `String`
  `getSystemFunctions()`
  `ResultSet`
  `getTablePrivileges(String catalog, String schemaPattern, String tableNamePattern)`
  `ResultSet`
  `getTables(String catalog, String schemaPattern, String tableNamePattern, String[] types)`
  `ResultSet`
  `getTableTypes()`
  `String`
  `getTimeDateFunctions()`
  `ResultSet`
  `getTypeInfo()`
  `ResultSet`
  `getUDTs(String catalog, String schemaPattern, String typeNamePattern, int[] types)`
  `String`
  `getURL()`
  `String`
  `getUserName()`
  `ResultSet`
  `getVersionColumns(String catalog, String schema, String table)`
  `protected void`
  `handleException(SQLException e)`
  Delegates to the connection's `DelegatingConnection.handleException(SQLException)`.
  `boolean`
  `insertsAreDetected(int type)`
  `boolean`
  `isCatalogAtStart()`
  `boolean`
  `isReadOnly()`
  `boolean`
  `isWrapperFor(Class<?> iface)`
  `boolean`
  `locatorsUpdateCopy()`
  `boolean`
  `nullPlusNonNullIsNull()`
  `boolean`
  `nullsAreSortedAtEnd()`
  `boolean`
  `nullsAreSortedAtStart()`
  `boolean`
  `nullsAreSortedHigh()`
  `boolean`
  `nullsAreSortedLow()`
  `boolean`
  `othersDeletesAreVisible(int type)`
  `boolean`
  `othersInsertsAreVisible(int type)`
  `boolean`
  `othersUpdatesAreVisible(int type)`
  `boolean`
  `ownDeletesAreVisible(int type)`
  `boolean`
  `ownInsertsAreVisible(int type)`
  `boolean`
  `ownUpdatesAreVisible(int type)`
  `boolean`
  `storesLowerCaseIdentifiers()`
  `boolean`
  `storesLowerCaseQuotedIdentifiers()`
  `boolean`
  `storesMixedCaseIdentifiers()`
  `boolean`
  `storesMixedCaseQuotedIdentifiers()`
  `boolean`
  `storesUpperCaseIdentifiers()`
  `boolean`
  `storesUpperCaseQuotedIdentifiers()`
  `boolean`
  `supportsAlterTableWithAddColumn()`
  `boolean`
  `supportsAlterTableWithDropColumn()`
  `boolean`
  `supportsANSI92EntryLevelSQL()`
  `boolean`
  `supportsANSI92FullSQL()`
  `boolean`
  `supportsANSI92IntermediateSQL()`
  `boolean`
  `supportsBatchUpdates()`
  `boolean`
  `supportsCatalogsInDataManipulation()`
  `boolean`
  `supportsCatalogsInIndexDefinitions()`
  `boolean`
  `supportsCatalogsInPrivilegeDefinitions()`
  `boolean`
  `supportsCatalogsInProcedureCalls()`
  `boolean`
  `supportsCatalogsInTableDefinitions()`
  `boolean`
  `supportsColumnAliasing()`
  `boolean`
  `supportsConvert()`
  `boolean`
  `supportsConvert(int fromType, int toType)`
  `boolean`
  `supportsCoreSQLGrammar()`
  `boolean`
  `supportsCorrelatedSubqueries()`
  `boolean`
  `supportsDataDefinitionAndDataManipulationTransactions()`
  `boolean`
  `supportsDataManipulationTransactionsOnly()`
  `boolean`
  `supportsDifferentTableCorrelationNames()`
  `boolean`
  `supportsExpressionsInOrderBy()`
  `boolean`
  `supportsExtendedSQLGrammar()`
  `boolean`
  `supportsFullOuterJoins()`
  `boolean`
  `supportsGetGeneratedKeys()`
  `boolean`
  `supportsGroupBy()`
  `boolean`
  `supportsGroupByBeyondSelect()`
  `boolean`
  `supportsGroupByUnrelated()`
  `boolean`
  `supportsIntegrityEnhancementFacility()`
  `boolean`
  `supportsLikeEscapeClause()`
  `boolean`
  `supportsLimitedOuterJoins()`
  `boolean`
  `supportsMinimumSQLGrammar()`
  `boolean`
  `supportsMixedCaseIdentifiers()`
  `boolean`
  `supportsMixedCaseQuotedIdentifiers()`
  `boolean`
  `supportsMultipleOpenResults()`
  `boolean`
  `supportsMultipleResultSets()`
  `boolean`
  `supportsMultipleTransactions()`
  `boolean`
  `supportsNamedParameters()`
  `boolean`
  `supportsNonNullableColumns()`
  `boolean`
  `supportsOpenCursorsAcrossCommit()`
  `boolean`
  `supportsOpenCursorsAcrossRollback()`
  `boolean`
  `supportsOpenStatementsAcrossCommit()`
  `boolean`
  `supportsOpenStatementsAcrossRollback()`
  `boolean`
  `supportsOrderByUnrelated()`
  `boolean`
  `supportsOuterJoins()`
  `boolean`
  `supportsPositionedDelete()`
  `boolean`
  `supportsPositionedUpdate()`
  `boolean`
  `supportsRefCursors()`
  `boolean`
  `supportsResultSetConcurrency(int type, int concurrency)`
  `boolean`
  `supportsResultSetHoldability(int holdability)`
  `boolean`
  `supportsResultSetType(int type)`
  `boolean`
  `supportsSavepoints()`
  `boolean`
  `supportsSchemasInDataManipulation()`
  `boolean`
  `supportsSchemasInIndexDefinitions()`
  `boolean`
  `supportsSchemasInPrivilegeDefinitions()`
  `boolean`
  `supportsSchemasInProcedureCalls()`
  `boolean`
  `supportsSchemasInTableDefinitions()`
  `boolean`
  `supportsSelectForUpdate()`
  `boolean`
  `supportsStatementPooling()`
  `boolean`
  `supportsStoredFunctionsUsingCallSyntax()`
  `boolean`
  `supportsStoredProcedures()`
  `boolean`
  `supportsSubqueriesInComparisons()`
  `boolean`
  `supportsSubqueriesInExists()`
  `boolean`
  `supportsSubqueriesInIns()`
  `boolean`
  `supportsSubqueriesInQuantifieds()`
  `boolean`
  `supportsTableCorrelationNames()`
  `boolean`
  `supportsTransactionIsolationLevel(int level)`
  `boolean`
  `supportsTransactions()`
  `boolean`
  `supportsUnion()`
  `boolean`
  `supportsUnionAll()`
  `<T> T`
  `unwrap(Class<T> iface)`
  `boolean`
  `updatesAreDetected(int type)`
  `boolean`
  `usesLocalFilePerTable()`
  `boolean`
  `usesLocalFiles()`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### DelegatingDatabaseMetaData

    public DelegatingDatabaseMetaData(DelegatingConnection<?> connection, DatabaseMetaData databaseMetaData)
    Constructs a new instance for the given delegating connection and database meta data.
    Parameters:
      `connection` - the delegating connection
      `databaseMetaData` - the database meta data

- ## Method Details

  - ### allProceduresAreCallable

    public boolean allProceduresAreCallable() throws SQLException
    Specified by:
      `allProceduresAreCallable` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### allTablesAreSelectable

    public boolean allTablesAreSelectable() throws SQLException
    Specified by:
      `allTablesAreSelectable` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### autoCommitFailureClosesAllResultSets

    public boolean autoCommitFailureClosesAllResultSets() throws SQLException
    Specified by:
      `autoCommitFailureClosesAllResultSets` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### dataDefinitionCausesTransactionCommit

    public boolean dataDefinitionCausesTransactionCommit() throws SQLException
    Specified by:
      `dataDefinitionCausesTransactionCommit` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### dataDefinitionIgnoredInTransactions

    public boolean dataDefinitionIgnoredInTransactions() throws SQLException
    Specified by:
      `dataDefinitionIgnoredInTransactions` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### deletesAreDetected

    public boolean deletesAreDetected(int type) throws SQLException
    Specified by:
      `deletesAreDetected` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### doesMaxRowSizeIncludeBlobs

    public boolean doesMaxRowSizeIncludeBlobs() throws SQLException
    Specified by:
      `doesMaxRowSizeIncludeBlobs` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### generatedKeyAlwaysReturned

    public boolean generatedKeyAlwaysReturned() throws SQLException
    Specified by:
      `generatedKeyAlwaysReturned` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### getAttributes

    public ResultSet getAttributes(String catalog, String schemaPattern, String typeNamePattern, String attributeNamePattern) throws SQLException
    Specified by:
      `getAttributes` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### getBestRowIdentifier

    public ResultSet getBestRowIdentifier(String catalog, String schema, String table, int scope, boolean nullable) throws SQLException
    Specified by:
      `getBestRowIdentifier` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### getCatalogs

    public ResultSet getCatalogs() throws SQLException
    Specified by:
      `getCatalogs` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### getCatalogSeparator

    public String getCatalogSeparator() throws SQLException
    Specified by:
      `getCatalogSeparator` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### getCatalogTerm

    public String getCatalogTerm() throws SQLException
    Specified by:
      `getCatalogTerm` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### getClientInfoProperties

    public ResultSet getClientInfoProperties() throws SQLException
    Specified by:
      `getClientInfoProperties` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### getColumnPrivileges

    public ResultSet getColumnPrivileges(String catalog, String schema, String table, String columnNamePattern) throws SQLException
    Specified by:
      `getColumnPrivileges` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### getColumns

    public ResultSet getColumns(String catalog, String schemaPattern, String tableNamePattern, String columnNamePattern) throws SQLException
    Specified by:
      `getColumns` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### getConnection

    public Connection getConnection() throws SQLException
    Specified by:
      `getConnection` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### getCrossReference

    public ResultSet getCrossReference(String parentCatalog, String parentSchema, String parentTable, String foreignCatalog, String foreignSchema, String foreignTable) throws SQLException
    Specified by:
      `getCrossReference` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### getDatabaseMajorVersion

    public int getDatabaseMajorVersion() throws SQLException
    Specified by:
      `getDatabaseMajorVersion` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### getDatabaseMinorVersion

    public int getDatabaseMinorVersion() throws SQLException
    Specified by:
      `getDatabaseMinorVersion` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### getDatabaseProductName

    public String getDatabaseProductName() throws SQLException
    Specified by:
      `getDatabaseProductName` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### getDatabaseProductVersion

    public String getDatabaseProductVersion() throws SQLException
    Specified by:
      `getDatabaseProductVersion` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### getDefaultTransactionIsolation

    public int getDefaultTransactionIsolation() throws SQLException
    Specified by:
      `getDefaultTransactionIsolation` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### getDelegate

    public DatabaseMetaData getDelegate()
    Gets the underlying database meta data.
    Returns:
      The underlying database meta data.

  - ### getDriverMajorVersion

    public int getDriverMajorVersion()
    Specified by:
      `getDriverMajorVersion` in interface `DatabaseMetaData`

  - ### getDriverMinorVersion

    public int getDriverMinorVersion()
    Specified by:
      `getDriverMinorVersion` in interface `DatabaseMetaData`

  - ### getDriverName

    public String getDriverName() throws SQLException
    Specified by:
      `getDriverName` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### getDriverVersion

    public String getDriverVersion() throws SQLException
    Specified by:
      `getDriverVersion` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### getExportedKeys

    public ResultSet getExportedKeys(String catalog, String schema, String table) throws SQLException
    Specified by:
      `getExportedKeys` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### getExtraNameCharacters

    public String getExtraNameCharacters() throws SQLException
    Specified by:
      `getExtraNameCharacters` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### getFunctionColumns

    public ResultSet getFunctionColumns(String catalog, String schemaPattern, String functionNamePattern, String columnNamePattern) throws SQLException
    Specified by:
      `getFunctionColumns` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### getFunctions

    public ResultSet getFunctions(String catalog, String schemaPattern, String functionNamePattern) throws SQLException
    Specified by:
      `getFunctions` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### getIdentifierQuoteString

    public String getIdentifierQuoteString() throws SQLException
    Specified by:
      `getIdentifierQuoteString` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### getImportedKeys

    public ResultSet getImportedKeys(String catalog, String schema, String table) throws SQLException
    Specified by:
      `getImportedKeys` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### getIndexInfo

    public ResultSet getIndexInfo(String catalog, String schema, String table, boolean unique, boolean approximate) throws SQLException
    Specified by:
      `getIndexInfo` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### getInnermostDelegate

    public DatabaseMetaData getInnermostDelegate()
    If my underlying `ResultSet` is not a `DelegatingResultSet`, returns it, otherwise recursively invokes this method on my delegate.

    Hence this method will return the first delegate that is not a `DelegatingResultSet`, or `null` when no non-`DelegatingResultSet` delegate can be found by traversing this chain.

    This method is useful when you may have nested `DelegatingResultSet`s, and you want to make sure to obtain a "genuine" `ResultSet`.

    Returns:
      the innermost database meta data.

  - ### getJDBCMajorVersion

    public int getJDBCMajorVersion() throws SQLException
    Specified by:
      `getJDBCMajorVersion` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### getJDBCMinorVersion

    public int getJDBCMinorVersion() throws SQLException
    Specified by:
      `getJDBCMinorVersion` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### getMaxBinaryLiteralLength

    public int getMaxBinaryLiteralLength() throws SQLException
    Specified by:
      `getMaxBinaryLiteralLength` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### getMaxCatalogNameLength

    public int getMaxCatalogNameLength() throws SQLException
    Specified by:
      `getMaxCatalogNameLength` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### getMaxCharLiteralLength

    public int getMaxCharLiteralLength() throws SQLException
    Specified by:
      `getMaxCharLiteralLength` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### getMaxColumnNameLength

    public int getMaxColumnNameLength() throws SQLException
    Specified by:
      `getMaxColumnNameLength` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### getMaxColumnsInGroupBy

    public int getMaxColumnsInGroupBy() throws SQLException
    Specified by:
      `getMaxColumnsInGroupBy` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### getMaxColumnsInIndex

    public int getMaxColumnsInIndex() throws SQLException
    Specified by:
      `getMaxColumnsInIndex` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### getMaxColumnsInOrderBy

    public int getMaxColumnsInOrderBy() throws SQLException
    Specified by:
      `getMaxColumnsInOrderBy` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### getMaxColumnsInSelect

    public int getMaxColumnsInSelect() throws SQLException
    Specified by:
      `getMaxColumnsInSelect` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### getMaxColumnsInTable

    public int getMaxColumnsInTable() throws SQLException
    Specified by:
      `getMaxColumnsInTable` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### getMaxConnections

    public int getMaxConnections() throws SQLException
    Specified by:
      `getMaxConnections` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### getMaxCursorNameLength

    public int getMaxCursorNameLength() throws SQLException
    Specified by:
      `getMaxCursorNameLength` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### getMaxIndexLength

    public int getMaxIndexLength() throws SQLException
    Specified by:
      `getMaxIndexLength` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### getMaxLogicalLobSize

    public long getMaxLogicalLobSize() throws SQLException
    Specified by:
      `getMaxLogicalLobSize` in interface `DatabaseMetaData`
    Throws:
      `SQLException`
    Since:
      2.5.0

  - ### getMaxProcedureNameLength

    public int getMaxProcedureNameLength() throws SQLException
    Specified by:
      `getMaxProcedureNameLength` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### getMaxRowSize

    public int getMaxRowSize() throws SQLException
    Specified by:
      `getMaxRowSize` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### getMaxSchemaNameLength

    public int getMaxSchemaNameLength() throws SQLException
    Specified by:
      `getMaxSchemaNameLength` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### getMaxStatementLength

    public int getMaxStatementLength() throws SQLException
    Specified by:
      `getMaxStatementLength` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### getMaxStatements

    public int getMaxStatements() throws SQLException
    Specified by:
      `getMaxStatements` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### getMaxTableNameLength

    public int getMaxTableNameLength() throws SQLException
    Specified by:
      `getMaxTableNameLength` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### getMaxTablesInSelect

    public int getMaxTablesInSelect() throws SQLException
    Specified by:
      `getMaxTablesInSelect` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### getMaxUserNameLength

    public int getMaxUserNameLength() throws SQLException
    Specified by:
      `getMaxUserNameLength` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### getNumericFunctions

    public String getNumericFunctions() throws SQLException
    Specified by:
      `getNumericFunctions` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### getPrimaryKeys

    public ResultSet getPrimaryKeys(String catalog, String schema, String table) throws SQLException
    Specified by:
      `getPrimaryKeys` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### getProcedureColumns

    public ResultSet getProcedureColumns(String catalog, String schemaPattern, String procedureNamePattern, String columnNamePattern) throws SQLException
    Specified by:
      `getProcedureColumns` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### getProcedures

    public ResultSet getProcedures(String catalog, String schemaPattern, String procedureNamePattern) throws SQLException
    Specified by:
      `getProcedures` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### getProcedureTerm

    public String getProcedureTerm() throws SQLException
    Specified by:
      `getProcedureTerm` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### getPseudoColumns

    public ResultSet getPseudoColumns(String catalog, String schemaPattern, String tableNamePattern, String columnNamePattern) throws SQLException
    Specified by:
      `getPseudoColumns` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### getResultSetHoldability

    public int getResultSetHoldability() throws SQLException
    Specified by:
      `getResultSetHoldability` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### getRowIdLifetime

    public RowIdLifetime getRowIdLifetime() throws SQLException
    Specified by:
      `getRowIdLifetime` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### getSchemas

    public ResultSet getSchemas() throws SQLException
    Specified by:
      `getSchemas` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### getSchemas

    public ResultSet getSchemas(String catalog, String schemaPattern) throws SQLException
    Specified by:
      `getSchemas` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### getSchemaTerm

    public String getSchemaTerm() throws SQLException
    Specified by:
      `getSchemaTerm` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### getSearchStringEscape

    public String getSearchStringEscape() throws SQLException
    Specified by:
      `getSearchStringEscape` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### getSQLKeywords

    public String getSQLKeywords() throws SQLException
    Specified by:
      `getSQLKeywords` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### getSQLStateType

    public int getSQLStateType() throws SQLException
    Specified by:
      `getSQLStateType` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### getStringFunctions

    public String getStringFunctions() throws SQLException
    Specified by:
      `getStringFunctions` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### getSuperTables

    public ResultSet getSuperTables(String catalog, String schemaPattern, String tableNamePattern) throws SQLException
    Specified by:
      `getSuperTables` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### getSuperTypes

    public ResultSet getSuperTypes(String catalog, String schemaPattern, String typeNamePattern) throws SQLException
    Specified by:
      `getSuperTypes` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### getSystemFunctions

    public String getSystemFunctions() throws SQLException
    Specified by:
      `getSystemFunctions` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### getTablePrivileges

    public ResultSet getTablePrivileges(String catalog, String schemaPattern, String tableNamePattern) throws SQLException
    Specified by:
      `getTablePrivileges` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### getTables

    public ResultSet getTables(String catalog, String schemaPattern, String tableNamePattern, String[] types) throws SQLException
    Specified by:
      `getTables` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### getTableTypes

    public ResultSet getTableTypes() throws SQLException
    Specified by:
      `getTableTypes` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### getTimeDateFunctions

    public String getTimeDateFunctions() throws SQLException
    Specified by:
      `getTimeDateFunctions` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### getTypeInfo

    public ResultSet getTypeInfo() throws SQLException
    Specified by:
      `getTypeInfo` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### getUDTs

    public ResultSet getUDTs(String catalog, String schemaPattern, String typeNamePattern, int[] types) throws SQLException
    Specified by:
      `getUDTs` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### getURL

    public String getURL() throws SQLException
    Specified by:
      `getURL` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### getUserName

    public String getUserName() throws SQLException
    Specified by:
      `getUserName` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### getVersionColumns

    public ResultSet getVersionColumns(String catalog, String schema, String table) throws SQLException
    Specified by:
      `getVersionColumns` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### handleException

    protected void handleException(SQLException e) throws SQLException
    Delegates to the connection's `DelegatingConnection.handleException(SQLException)`.
    Parameters:
      `e` - the exception to throw or delegate.
    Throws:
      `SQLException` - the exception to throw.

  - ### insertsAreDetected

    public boolean insertsAreDetected(int type) throws SQLException
    Specified by:
      `insertsAreDetected` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### isCatalogAtStart

    public boolean isCatalogAtStart() throws SQLException
    Specified by:
      `isCatalogAtStart` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### isReadOnly

    public boolean isReadOnly() throws SQLException
    Specified by:
      `isReadOnly` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### isWrapperFor

    public boolean isWrapperFor(Class<?> iface) throws SQLException
    Specified by:
      `isWrapperFor` in interface `Wrapper`
    Throws:
      `SQLException`

  - ### locatorsUpdateCopy

    public boolean locatorsUpdateCopy() throws SQLException
    Specified by:
      `locatorsUpdateCopy` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### nullPlusNonNullIsNull

    public boolean nullPlusNonNullIsNull() throws SQLException
    Specified by:
      `nullPlusNonNullIsNull` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### nullsAreSortedAtEnd

    public boolean nullsAreSortedAtEnd() throws SQLException
    Specified by:
      `nullsAreSortedAtEnd` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### nullsAreSortedAtStart

    public boolean nullsAreSortedAtStart() throws SQLException
    Specified by:
      `nullsAreSortedAtStart` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### nullsAreSortedHigh

    public boolean nullsAreSortedHigh() throws SQLException
    Specified by:
      `nullsAreSortedHigh` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### nullsAreSortedLow

    public boolean nullsAreSortedLow() throws SQLException
    Specified by:
      `nullsAreSortedLow` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### othersDeletesAreVisible

    public boolean othersDeletesAreVisible(int type) throws SQLException
    Specified by:
      `othersDeletesAreVisible` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### othersInsertsAreVisible

    public boolean othersInsertsAreVisible(int type) throws SQLException
    Specified by:
      `othersInsertsAreVisible` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### othersUpdatesAreVisible

    public boolean othersUpdatesAreVisible(int type) throws SQLException
    Specified by:
      `othersUpdatesAreVisible` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### ownDeletesAreVisible

    public boolean ownDeletesAreVisible(int type) throws SQLException
    Specified by:
      `ownDeletesAreVisible` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### ownInsertsAreVisible

    public boolean ownInsertsAreVisible(int type) throws SQLException
    Specified by:
      `ownInsertsAreVisible` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### ownUpdatesAreVisible

    public boolean ownUpdatesAreVisible(int type) throws SQLException
    Specified by:
      `ownUpdatesAreVisible` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### storesLowerCaseIdentifiers

    public boolean storesLowerCaseIdentifiers() throws SQLException
    Specified by:
      `storesLowerCaseIdentifiers` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### storesLowerCaseQuotedIdentifiers

    public boolean storesLowerCaseQuotedIdentifiers() throws SQLException
    Specified by:
      `storesLowerCaseQuotedIdentifiers` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### storesMixedCaseIdentifiers

    public boolean storesMixedCaseIdentifiers() throws SQLException
    Specified by:
      `storesMixedCaseIdentifiers` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### storesMixedCaseQuotedIdentifiers

    public boolean storesMixedCaseQuotedIdentifiers() throws SQLException
    Specified by:
      `storesMixedCaseQuotedIdentifiers` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### storesUpperCaseIdentifiers

    public boolean storesUpperCaseIdentifiers() throws SQLException
    Specified by:
      `storesUpperCaseIdentifiers` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### storesUpperCaseQuotedIdentifiers

    public boolean storesUpperCaseQuotedIdentifiers() throws SQLException
    Specified by:
      `storesUpperCaseQuotedIdentifiers` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### supportsAlterTableWithAddColumn

    public boolean supportsAlterTableWithAddColumn() throws SQLException
    Specified by:
      `supportsAlterTableWithAddColumn` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### supportsAlterTableWithDropColumn

    public boolean supportsAlterTableWithDropColumn() throws SQLException
    Specified by:
      `supportsAlterTableWithDropColumn` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### supportsANSI92EntryLevelSQL

    public boolean supportsANSI92EntryLevelSQL() throws SQLException
    Specified by:
      `supportsANSI92EntryLevelSQL` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### supportsANSI92FullSQL

    public boolean supportsANSI92FullSQL() throws SQLException
    Specified by:
      `supportsANSI92FullSQL` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### supportsANSI92IntermediateSQL

    public boolean supportsANSI92IntermediateSQL() throws SQLException
    Specified by:
      `supportsANSI92IntermediateSQL` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### supportsBatchUpdates

    public boolean supportsBatchUpdates() throws SQLException
    Specified by:
      `supportsBatchUpdates` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### supportsCatalogsInDataManipulation

    public boolean supportsCatalogsInDataManipulation() throws SQLException
    Specified by:
      `supportsCatalogsInDataManipulation` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### supportsCatalogsInIndexDefinitions

    public boolean supportsCatalogsInIndexDefinitions() throws SQLException
    Specified by:
      `supportsCatalogsInIndexDefinitions` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### supportsCatalogsInPrivilegeDefinitions

    public boolean supportsCatalogsInPrivilegeDefinitions() throws SQLException
    Specified by:
      `supportsCatalogsInPrivilegeDefinitions` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### supportsCatalogsInProcedureCalls

    public boolean supportsCatalogsInProcedureCalls() throws SQLException
    Specified by:
      `supportsCatalogsInProcedureCalls` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### supportsCatalogsInTableDefinitions

    public boolean supportsCatalogsInTableDefinitions() throws SQLException
    Specified by:
      `supportsCatalogsInTableDefinitions` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### supportsColumnAliasing

    public boolean supportsColumnAliasing() throws SQLException
    Specified by:
      `supportsColumnAliasing` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### supportsConvert

    public boolean supportsConvert() throws SQLException
    Specified by:
      `supportsConvert` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### supportsConvert

    public boolean supportsConvert(int fromType, int toType) throws SQLException
    Specified by:
      `supportsConvert` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### supportsCoreSQLGrammar

    public boolean supportsCoreSQLGrammar() throws SQLException
    Specified by:
      `supportsCoreSQLGrammar` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### supportsCorrelatedSubqueries

    public boolean supportsCorrelatedSubqueries() throws SQLException
    Specified by:
      `supportsCorrelatedSubqueries` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### supportsDataDefinitionAndDataManipulationTransactions

    public boolean supportsDataDefinitionAndDataManipulationTransactions() throws SQLException
    Specified by:
      `supportsDataDefinitionAndDataManipulationTransactions` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### supportsDataManipulationTransactionsOnly

    public boolean supportsDataManipulationTransactionsOnly() throws SQLException
    Specified by:
      `supportsDataManipulationTransactionsOnly` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### supportsDifferentTableCorrelationNames

    public boolean supportsDifferentTableCorrelationNames() throws SQLException
    Specified by:
      `supportsDifferentTableCorrelationNames` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### supportsExpressionsInOrderBy

    public boolean supportsExpressionsInOrderBy() throws SQLException
    Specified by:
      `supportsExpressionsInOrderBy` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### supportsExtendedSQLGrammar

    public boolean supportsExtendedSQLGrammar() throws SQLException
    Specified by:
      `supportsExtendedSQLGrammar` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### supportsFullOuterJoins

    public boolean supportsFullOuterJoins() throws SQLException
    Specified by:
      `supportsFullOuterJoins` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### supportsGetGeneratedKeys

    public boolean supportsGetGeneratedKeys() throws SQLException
    Specified by:
      `supportsGetGeneratedKeys` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### supportsGroupBy

    public boolean supportsGroupBy() throws SQLException
    Specified by:
      `supportsGroupBy` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### supportsGroupByBeyondSelect

    public boolean supportsGroupByBeyondSelect() throws SQLException
    Specified by:
      `supportsGroupByBeyondSelect` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### supportsGroupByUnrelated

    public boolean supportsGroupByUnrelated() throws SQLException
    Specified by:
      `supportsGroupByUnrelated` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### supportsIntegrityEnhancementFacility

    public boolean supportsIntegrityEnhancementFacility() throws SQLException
    Specified by:
      `supportsIntegrityEnhancementFacility` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### supportsLikeEscapeClause

    public boolean supportsLikeEscapeClause() throws SQLException
    Specified by:
      `supportsLikeEscapeClause` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### supportsLimitedOuterJoins

    public boolean supportsLimitedOuterJoins() throws SQLException
    Specified by:
      `supportsLimitedOuterJoins` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### supportsMinimumSQLGrammar

    public boolean supportsMinimumSQLGrammar() throws SQLException
    Specified by:
      `supportsMinimumSQLGrammar` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### supportsMixedCaseIdentifiers

    public boolean supportsMixedCaseIdentifiers() throws SQLException
    Specified by:
      `supportsMixedCaseIdentifiers` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### supportsMixedCaseQuotedIdentifiers

    public boolean supportsMixedCaseQuotedIdentifiers() throws SQLException
    Specified by:
      `supportsMixedCaseQuotedIdentifiers` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### supportsMultipleOpenResults

    public boolean supportsMultipleOpenResults() throws SQLException
    Specified by:
      `supportsMultipleOpenResults` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### supportsMultipleResultSets

    public boolean supportsMultipleResultSets() throws SQLException
    Specified by:
      `supportsMultipleResultSets` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### supportsMultipleTransactions

    public boolean supportsMultipleTransactions() throws SQLException
    Specified by:
      `supportsMultipleTransactions` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### supportsNamedParameters

    public boolean supportsNamedParameters() throws SQLException
    Specified by:
      `supportsNamedParameters` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### supportsNonNullableColumns

    public boolean supportsNonNullableColumns() throws SQLException
    Specified by:
      `supportsNonNullableColumns` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### supportsOpenCursorsAcrossCommit

    public boolean supportsOpenCursorsAcrossCommit() throws SQLException
    Specified by:
      `supportsOpenCursorsAcrossCommit` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### supportsOpenCursorsAcrossRollback

    public boolean supportsOpenCursorsAcrossRollback() throws SQLException
    Specified by:
      `supportsOpenCursorsAcrossRollback` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### supportsOpenStatementsAcrossCommit

    public boolean supportsOpenStatementsAcrossCommit() throws SQLException
    Specified by:
      `supportsOpenStatementsAcrossCommit` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### supportsOpenStatementsAcrossRollback

    public boolean supportsOpenStatementsAcrossRollback() throws SQLException
    Specified by:
      `supportsOpenStatementsAcrossRollback` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### supportsOrderByUnrelated

    public boolean supportsOrderByUnrelated() throws SQLException
    Specified by:
      `supportsOrderByUnrelated` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### supportsOuterJoins

    public boolean supportsOuterJoins() throws SQLException
    Specified by:
      `supportsOuterJoins` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### supportsPositionedDelete

    public boolean supportsPositionedDelete() throws SQLException
    Specified by:
      `supportsPositionedDelete` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### supportsPositionedUpdate

    public boolean supportsPositionedUpdate() throws SQLException
    Specified by:
      `supportsPositionedUpdate` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### supportsRefCursors

    public boolean supportsRefCursors() throws SQLException
    Specified by:
      `supportsRefCursors` in interface `DatabaseMetaData`
    Throws:
      `SQLException`
    Since:
      2.5.0

  - ### supportsResultSetConcurrency

    public boolean supportsResultSetConcurrency(int type, int concurrency) throws SQLException
    Specified by:
      `supportsResultSetConcurrency` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### supportsResultSetHoldability

    public boolean supportsResultSetHoldability(int holdability) throws SQLException
    Specified by:
      `supportsResultSetHoldability` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### supportsResultSetType

    public boolean supportsResultSetType(int type) throws SQLException
    Specified by:
      `supportsResultSetType` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### supportsSavepoints

    public boolean supportsSavepoints() throws SQLException
    Specified by:
      `supportsSavepoints` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### supportsSchemasInDataManipulation

    public boolean supportsSchemasInDataManipulation() throws SQLException
    Specified by:
      `supportsSchemasInDataManipulation` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### supportsSchemasInIndexDefinitions

    public boolean supportsSchemasInIndexDefinitions() throws SQLException
    Specified by:
      `supportsSchemasInIndexDefinitions` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### supportsSchemasInPrivilegeDefinitions

    public boolean supportsSchemasInPrivilegeDefinitions() throws SQLException
    Specified by:
      `supportsSchemasInPrivilegeDefinitions` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### supportsSchemasInProcedureCalls

    public boolean supportsSchemasInProcedureCalls() throws SQLException
    Specified by:
      `supportsSchemasInProcedureCalls` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### supportsSchemasInTableDefinitions

    public boolean supportsSchemasInTableDefinitions() throws SQLException
    Specified by:
      `supportsSchemasInTableDefinitions` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### supportsSelectForUpdate

    public boolean supportsSelectForUpdate() throws SQLException
    Specified by:
      `supportsSelectForUpdate` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### supportsStatementPooling

    public boolean supportsStatementPooling() throws SQLException
    Specified by:
      `supportsStatementPooling` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### supportsStoredFunctionsUsingCallSyntax

    public boolean supportsStoredFunctionsUsingCallSyntax() throws SQLException
    Specified by:
      `supportsStoredFunctionsUsingCallSyntax` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### supportsStoredProcedures

    public boolean supportsStoredProcedures() throws SQLException
    Specified by:
      `supportsStoredProcedures` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### supportsSubqueriesInComparisons

    public boolean supportsSubqueriesInComparisons() throws SQLException
    Specified by:
      `supportsSubqueriesInComparisons` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### supportsSubqueriesInExists

    public boolean supportsSubqueriesInExists() throws SQLException
    Specified by:
      `supportsSubqueriesInExists` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### supportsSubqueriesInIns

    public boolean supportsSubqueriesInIns() throws SQLException
    Specified by:
      `supportsSubqueriesInIns` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### supportsSubqueriesInQuantifieds

    public boolean supportsSubqueriesInQuantifieds() throws SQLException
    Specified by:
      `supportsSubqueriesInQuantifieds` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### supportsTableCorrelationNames

    public boolean supportsTableCorrelationNames() throws SQLException
    Specified by:
      `supportsTableCorrelationNames` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### supportsTransactionIsolationLevel

    public boolean supportsTransactionIsolationLevel(int level) throws SQLException
    Specified by:
      `supportsTransactionIsolationLevel` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### supportsTransactions

    public boolean supportsTransactions() throws SQLException
    Specified by:
      `supportsTransactions` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### supportsUnion

    public boolean supportsUnion() throws SQLException
    Specified by:
      `supportsUnion` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### supportsUnionAll

    public boolean supportsUnionAll() throws SQLException
    Specified by:
      `supportsUnionAll` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### unwrap

    public <T> T unwrap(Class<T> iface) throws SQLException
    Specified by:
      `unwrap` in interface `Wrapper`
    Throws:
      `SQLException`

  - ### updatesAreDetected

    public boolean updatesAreDetected(int type) throws SQLException
    Specified by:
      `updatesAreDetected` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### usesLocalFilePerTable

    public boolean usesLocalFilePerTable() throws SQLException
    Specified by:
      `usesLocalFilePerTable` in interface `DatabaseMetaData`
    Throws:
      `SQLException`

  - ### usesLocalFiles

    public boolean usesLocalFiles() throws SQLException
    Specified by:
      `usesLocalFiles` in interface `DatabaseMetaData`
    Throws:
      `SQLException`