Package SQLite.JDBC2z

Class JDBCDatabaseMetaData

java.lang.Object
SQLite.JDBC2z.JDBCDatabaseMetaData
All Implemented Interfaces:
DatabaseMetaData, Wrapper

public class JDBCDatabaseMetaData
extends Object
implements DatabaseMetaData
  • Constructor Details

    • JDBCDatabaseMetaData

      public JDBCDatabaseMetaData​(JDBCConnection conn)
  • Method Details

    • allProceduresAreCallable

      public boolean allProceduresAreCallable() throws SQLException
      Description copied from interface: DatabaseMetaData
      Returns whether all procedures returned by DatabaseMetaData.getProcedures(java.lang.String, java.lang.String, java.lang.String) can be called by the current user.
      Specified by:
      allProceduresAreCallable in interface DatabaseMetaData
      Returns:
      true if all procedures can be called by the current user, false otherwise.
      Throws:
      SQLException - if there is a database error.
    • allTablesAreSelectable

      public boolean allTablesAreSelectable() throws SQLException
      Description copied from interface: DatabaseMetaData
      Returns whether all the tables returned by getTables can be used by the current user in a SELECT statement.
      Specified by:
      allTablesAreSelectable in interface DatabaseMetaData
      Returns:
      true if all the tables can be used,false otherwise.
      Throws:
      SQLException - if there is a database error.
    • getURL

      public String getURL() throws SQLException
      Description copied from interface: DatabaseMetaData
      Returns the URL for this database.
      Specified by:
      getURL in interface DatabaseMetaData
      Returns:
      the URL for the database. null if it cannot be generated.
      Throws:
      SQLException - a database error occurred.
    • getUserName

      public String getUserName() throws SQLException
      Description copied from interface: DatabaseMetaData
      Determine the user name as known by the database.
      Specified by:
      getUserName in interface DatabaseMetaData
      Returns:
      the user name.
      Throws:
      SQLException - a database error occurred.
    • isReadOnly

      public boolean isReadOnly() throws SQLException
      Description copied from interface: DatabaseMetaData
      Determines whether the database is in read-only mode.
      Specified by:
      isReadOnly in interface DatabaseMetaData
      Returns:
      true if the database is in read-only mode, false otherwise.
      Throws:
      SQLException - a database error occurred.
    • nullsAreSortedHigh

      public boolean nullsAreSortedHigh() throws SQLException
      Description copied from interface: DatabaseMetaData
      Determines whether NULL values are sorted high - i.e. they are sorted as if they are higher than any other values.
      Specified by:
      nullsAreSortedHigh in interface DatabaseMetaData
      Returns:
      true if NULL values are sorted high, false otherwise.
      Throws:
      SQLException - a database error occurred.
    • nullsAreSortedLow

      public boolean nullsAreSortedLow() throws SQLException
      Description copied from interface: DatabaseMetaData
      Determines whether NULL values are sorted low - i.e. they are sorted as if they are lower than any other values.
      Specified by:
      nullsAreSortedLow in interface DatabaseMetaData
      Returns:
      true if NULL values are sorted low, false otherwise.
      Throws:
      SQLException - a database error occurred.
    • nullsAreSortedAtStart

      public boolean nullsAreSortedAtStart() throws SQLException
      Description copied from interface: DatabaseMetaData
      Determines whether NULL values are always sorted at the start of the sorted list, irrespective of the sort order. This means that they appear at the start of sorted lists, whatever other values may be present.
      Specified by:
      nullsAreSortedAtStart in interface DatabaseMetaData
      Returns:
      true if NULL values are sorted at the start, false otherwise.
      Throws:
      SQLException - a database error occurred.
    • nullsAreSortedAtEnd

      public boolean nullsAreSortedAtEnd() throws SQLException
      Description copied from interface: DatabaseMetaData
      Determines whether NULL values are always sorted to the end of sorted results regardless of requested sort order. This means that they will appear at the end of sorted lists whatever other non-NULL values may be present.
      Specified by:
      nullsAreSortedAtEnd in interface DatabaseMetaData
      Returns:
      true if NULL values are sorted at the end, false otherwise.
      Throws:
      SQLException - a database error occurred.
    • getDatabaseProductName

      public String getDatabaseProductName() throws SQLException
      Description copied from interface: DatabaseMetaData
      Returns the name of the database software.
      Specified by:
      getDatabaseProductName in interface DatabaseMetaData
      Returns:
      a String with the name of the database software.
      Throws:
      SQLException - a database error occurred.
    • getDatabaseProductVersion

      public String getDatabaseProductVersion() throws SQLException
      Description copied from interface: DatabaseMetaData
      Returns the version number of this database software.
      Specified by:
      getDatabaseProductVersion in interface DatabaseMetaData
      Returns:
      a String with the version number of the database software.
      Throws:
      SQLException - a database error occurred.
    • getDriverName

      public String getDriverName() throws SQLException
      Description copied from interface: DatabaseMetaData
      Returns the name of this JDBC driver.
      Specified by:
      getDriverName in interface DatabaseMetaData
      Returns:
      a String containing the name of the JDBC driver
      Throws:
      SQLException - a database error occurred.
    • getDriverVersion

      public String getDriverVersion() throws SQLException
      Description copied from interface: DatabaseMetaData
      Returns the version number of this JDBC driver.
      Specified by:
      getDriverVersion in interface DatabaseMetaData
      Returns:
      a String containing the complete version number of the JDBC driver.
      Throws:
      SQLException - a database error occurred.
    • getDriverMajorVersion

      public int getDriverMajorVersion()
      Description copied from interface: DatabaseMetaData
      Returns the JDBC driver's major version number.
      Specified by:
      getDriverMajorVersion in interface DatabaseMetaData
      Returns:
      the driver's major version number.
    • getDriverMinorVersion

      public int getDriverMinorVersion()
      Description copied from interface: DatabaseMetaData
      Returns the JDBC driver's minor version number.
      Specified by:
      getDriverMinorVersion in interface DatabaseMetaData
      Returns:
      the driver's minor version number.
    • usesLocalFiles

      public boolean usesLocalFiles() throws SQLException
      Description copied from interface: DatabaseMetaData
      Determines whether this database uses a local file to store tables.
      Specified by:
      usesLocalFiles in interface DatabaseMetaData
      Returns:
      true if the database stores tables in a local file, otherwise false.
      Throws:
      SQLException - a database error occurred.
    • usesLocalFilePerTable

      public boolean usesLocalFilePerTable() throws SQLException
      Description copied from interface: DatabaseMetaData
      Determines whether this database uses a file for each table.
      Specified by:
      usesLocalFilePerTable in interface DatabaseMetaData
      Returns:
      true if the database uses one file for each table, otherwise false.
      Throws:
      SQLException - a database error occurred.
    • supportsMixedCaseIdentifiers

      public boolean supportsMixedCaseIdentifiers() throws SQLException
      Description copied from interface: DatabaseMetaData
      Determines whether the database treats mixed case unquoted SQL identifiers as case sensitive storing them in mixed case.
      Specified by:
      supportsMixedCaseIdentifiers in interface DatabaseMetaData
      Returns:
      true if unquoted SQL identifiers are stored in mixed case, false otherwise.
      Throws:
      SQLException - a database error occurred.
    • storesUpperCaseIdentifiers

      public boolean storesUpperCaseIdentifiers() throws SQLException
      Description copied from interface: DatabaseMetaData
      Determines whether the database considers mixed case unquoted SQL identifiers as case insensitive and stores them in upper case.
      Specified by:
      storesUpperCaseIdentifiers in interface DatabaseMetaData
      Returns:
      true if unquoted SQL identifiers are stored in upper case, false otherwise.
      Throws:
      SQLException - a database error occurred.
    • storesLowerCaseIdentifiers

      public boolean storesLowerCaseIdentifiers() throws SQLException
      Description copied from interface: DatabaseMetaData
      Determines whether the database treats SQL identifiers that are in mixed case (and unquoted) as case insensitive. If true then the database stores them in lower case.
      Specified by:
      storesLowerCaseIdentifiers in interface DatabaseMetaData
      Returns:
      true if unquoted SQL identifiers are stored in lower case, false otherwise.
      Throws:
      SQLException - a database error occurred.
    • storesMixedCaseIdentifiers

      public boolean storesMixedCaseIdentifiers() throws SQLException
      Description copied from interface: DatabaseMetaData
      Determines whether the database considers mixed case unquoted SQL identifiers as case insensitive and stores them in mixed case.
      Specified by:
      storesMixedCaseIdentifiers in interface DatabaseMetaData
      Returns:
      true if unquoted SQL identifiers as stored in mixed case, false otherwise.
      Throws:
      SQLException - a database error occurred.
    • supportsMixedCaseQuotedIdentifiers

      public boolean supportsMixedCaseQuotedIdentifiers() throws SQLException
      Description copied from interface: DatabaseMetaData
      Determines whether the database considers mixed case quoted SQL identifiers as case sensitive, storing them in mixed case.
      Specified by:
      supportsMixedCaseQuotedIdentifiers in interface DatabaseMetaData
      Returns:
      true if quoted SQL identifiers are stored in mixed case, false otherwise.
      Throws:
      SQLException - a database error occurred.
    • storesUpperCaseQuotedIdentifiers

      public boolean storesUpperCaseQuotedIdentifiers() throws SQLException
      Description copied from interface: DatabaseMetaData
      Determines whether the database considers mixed case quoted SQL identifiers as case insensitive and stores them in upper case.
      Specified by:
      storesUpperCaseQuotedIdentifiers in interface DatabaseMetaData
      Returns:
      true if quoted SQL identifiers are stored in upper case, false otherwise.
      Throws:
      SQLException - a database error occurred.
    • storesLowerCaseQuotedIdentifiers

      public boolean storesLowerCaseQuotedIdentifiers() throws SQLException
      Description copied from interface: DatabaseMetaData
      Determines whether the database considers mixed case quoted SQL identifiers as case insensitive and stores them in lower case.
      Specified by:
      storesLowerCaseQuotedIdentifiers in interface DatabaseMetaData
      Returns:
      true if quoted SQL identifiers are stored in lower case, false otherwise.
      Throws:
      SQLException - a database error occurred.
    • storesMixedCaseQuotedIdentifiers

      public boolean storesMixedCaseQuotedIdentifiers() throws SQLException
      Description copied from interface: DatabaseMetaData
      Determines whether the database considers identifiers as case insensitive if they are mixed case quoted SQL. The database stores them in mixed case.
      Specified by:
      storesMixedCaseQuotedIdentifiers in interface DatabaseMetaData
      Returns:
      true if quoted SQL identifiers are stored in mixed case, false otherwise.
      Throws:
      SQLException - a database error occurred.
    • getIdentifierQuoteString

      public String getIdentifierQuoteString() throws SQLException
      Description copied from interface: DatabaseMetaData
      Returns the string used to quote SQL identifiers. Returns " " (space) if identifier quoting not supported.
      Specified by:
      getIdentifierQuoteString in interface DatabaseMetaData
      Returns:
      the String used to quote SQL identifiers.
      Throws:
      SQLException - a database error occurred.
    • getSQLKeywords

      public String getSQLKeywords() throws SQLException
      Description copied from interface: DatabaseMetaData
      Returns a list of all the SQL keywords that are NOT also SQL92 keywords for the database.
      Specified by:
      getSQLKeywords in interface DatabaseMetaData
      Returns:
      a String containing the list of SQL keywords in a comma separated format.
      Throws:
      SQLException - a database error occurred.
    • getNumericFunctions

      public String getNumericFunctions() throws SQLException
      Description copied from interface: DatabaseMetaData
      Returns a list of the math functions available with this database. These are used in the JDBC function escape clause and are the Open Group CLI math function names.
      Specified by:
      getNumericFunctions in interface DatabaseMetaData
      Returns:
      a String which contains the list of math functions as a comma separated list.
      Throws:
      SQLException - a database error occurred.
    • getStringFunctions

      public String getStringFunctions() throws SQLException
      Description copied from interface: DatabaseMetaData
      Returns a list of string functions available with the database. These functions are used in JDBC function escape clause and follow the Open Group CLI string function names definition.
      Specified by:
      getStringFunctions in interface DatabaseMetaData
      Returns:
      a String containing the list of string functions in comma separated format.
      Throws:
      SQLException - a database error occurred.
    • getSystemFunctions

      public String getSystemFunctions() throws SQLException
      Description copied from interface: DatabaseMetaData
      Returns a list of system functions available with the database. These are names used in the JDBC function escape clause and are Open Group CLI function names.
      Specified by:
      getSystemFunctions in interface DatabaseMetaData
      Returns:
      a String containing the list of system functions in a comma separated format.
      Throws:
      SQLException - a database error occurred.
    • getTimeDateFunctions

      public String getTimeDateFunctions() throws SQLException
      Description copied from interface: DatabaseMetaData
      Returns a list of time and date functions available for the database.
      Specified by:
      getTimeDateFunctions in interface DatabaseMetaData
      Returns:
      a string containing a comma separated list of the time and date functions.
      Throws:
      SQLException - a database error occurred.
    • getSearchStringEscape

      public String getSearchStringEscape() throws SQLException
      Description copied from interface: DatabaseMetaData
      Returns the string that is used to escape wildcard characters. This string is used to escape the '_' and '%' wildcard characters in catalog search pattern strings. '_' is used to represent any single character while '%' is used for a sequence of zero or more characters.
      Specified by:
      getSearchStringEscape in interface DatabaseMetaData
      Returns:
      a String used to escape the wildcard characters.
      Throws:
      SQLException - a database error occurred.
    • getExtraNameCharacters

      public String getExtraNameCharacters() throws SQLException
      Description copied from interface: DatabaseMetaData
      Returns a string of characters that may be used in unquoted identifier names. The characters a-z, A-Z, 0-9 and _ are always permitted.
      Specified by:
      getExtraNameCharacters in interface DatabaseMetaData
      Returns:
      a String containing all the additional permitted characters.
      Throws:
      SQLException - a database error occurred.
    • supportsAlterTableWithAddColumn

      public boolean supportsAlterTableWithAddColumn() throws SQLException
      Description copied from interface: DatabaseMetaData
      Determines whether the database supports ALTER TABLE operation with ADD COLUMN.
      Specified by:
      supportsAlterTableWithAddColumn in interface DatabaseMetaData
      Returns:
      true if ALTER TABLE with ADD COLUMN is supported, false otherwise.
      Throws:
      SQLException - a database error occurred.
    • supportsAlterTableWithDropColumn

      public boolean supportsAlterTableWithDropColumn() throws SQLException
      Description copied from interface: DatabaseMetaData
      Determines whether the database supports ALTER TABLE operation with DROP COLUMN.
      Specified by:
      supportsAlterTableWithDropColumn in interface DatabaseMetaData
      Returns:
      true if ALTER TABLE with DROP COLUMN is supported, false otherwise.
      Throws:
      SQLException - a database error occurred.
    • supportsColumnAliasing

      public boolean supportsColumnAliasing() throws SQLException
      Description copied from interface: DatabaseMetaData
      Determines whether the database supports column aliasing.

      If aliasing is supported, then the SQL AS clause is used to provide names for computed columns and provide alias names for columns.

      Specified by:
      supportsColumnAliasing in interface DatabaseMetaData
      Returns:
      true if column aliasing is supported, false otherwise.
      Throws:
      SQLException - a database error occurred.
    • nullPlusNonNullIsNull

      public boolean nullPlusNonNullIsNull() throws SQLException
      Description copied from interface: DatabaseMetaData
      Determines whether the database handles concatenations between NULL and non-NULL values by producing a NULL output.
      Specified by:
      nullPlusNonNullIsNull in interface DatabaseMetaData
      Returns:
      true if NULL to non-NULL concatenations produce a NULL result, false otherwise.
      Throws:
      SQLException - a database error occurred.
    • supportsConvert

      public boolean supportsConvert() throws SQLException
      Description copied from interface: DatabaseMetaData
      Determines whether the database supports the CONVERT operation between SQL types.
      Specified by:
      supportsConvert in interface DatabaseMetaData
      Returns:
      true if the CONVERT operation is supported, false otherwise.
      Throws:
      SQLException - a database error occurred.
    • supportsConvert

      public boolean supportsConvert​(int fromType, int toType) throws SQLException
      Description copied from interface: DatabaseMetaData
      Determines whether the database supports CONVERT operation for two supplied SQL types.
      Specified by:
      supportsConvert in interface DatabaseMetaData
      Parameters:
      fromType - the Type to convert from, as defined by java.sql.Types
      toType - the Type to convert to, as defined by java.sql.Types
      Returns:
      true if the CONVERT operation is supported for these types, false otherwise.
      Throws:
      SQLException - a database error occurred.
    • supportsTableCorrelationNames

      public boolean supportsTableCorrelationNames() throws SQLException
      Description copied from interface: DatabaseMetaData
      Determines whether the database has table correlation names support.
      Specified by:
      supportsTableCorrelationNames in interface DatabaseMetaData
      Returns:
      true if table correlation names are supported, otherwise false.
      Throws:
      SQLException - a database error occurred.
    • supportsDifferentTableCorrelationNames

      public boolean supportsDifferentTableCorrelationNames() throws SQLException
      Description copied from interface: DatabaseMetaData
      Determines whether table correlation names are required to be different from the names of the tables, when they are supported.
      Specified by:
      supportsDifferentTableCorrelationNames in interface DatabaseMetaData
      Returns:
      true if correlation names must be different from table names, false otherwise.
      Throws:
      SQLException - a database error occurred.
    • supportsExpressionsInOrderBy

      public boolean supportsExpressionsInOrderBy() throws SQLException
      Description copied from interface: DatabaseMetaData
      Determines whether expressions in ORDER BY lists are supported.
      Specified by:
      supportsExpressionsInOrderBy in interface DatabaseMetaData
      Returns:
      true if expressions in ORDER BY lists are supported.
      Throws:
      SQLException - a database error occurred.
    • supportsOrderByUnrelated

      public boolean supportsOrderByUnrelated() throws SQLException
      Description copied from interface: DatabaseMetaData
      Determines whether using a column in an ORDER BY clause that is not in the SELECT statement is supported.
      Specified by:
      supportsOrderByUnrelated in interface DatabaseMetaData
      Returns:
      true if it is possible to ORDER using a column not in the SELECT, false otherwise.
      Throws:
      SQLException - a database error occurred.
    • supportsGroupBy

      public boolean supportsGroupBy() throws SQLException
      Description copied from interface: DatabaseMetaData
      Determines whether the database supports GROUP BY clauses.
      Specified by:
      supportsGroupBy in interface DatabaseMetaData
      Returns:
      true if the GROUP BY clause is supported, false otherwise.
      Throws:
      SQLException - a database error occurred.
    • supportsGroupByUnrelated

      public boolean supportsGroupByUnrelated() throws SQLException
      Description copied from interface: DatabaseMetaData
      Determines whether the database supports using a column name in a GROUP BY clause that is not in the SELECT statement.
      Specified by:
      supportsGroupByUnrelated in interface DatabaseMetaData
      Returns:
      true if GROUP BY clause can use a column name not in the SELECT statement, false otherwise.
      Throws:
      SQLException - a database error occurred.
    • supportsGroupByBeyondSelect

      public boolean supportsGroupByBeyondSelect() throws SQLException
      Description copied from interface: DatabaseMetaData
      Determines whether the database supports using a column name in a GROUP BY clause not included in the SELECT statement as long as all of the columns in the SELECT statement are used in the GROUP BY clause.
      Specified by:
      supportsGroupByBeyondSelect in interface DatabaseMetaData
      Returns:
      true if GROUP BY clauses can use column names in this way, false otherwise.
      Throws:
      SQLException - a database error occurred.
    • supportsLikeEscapeClause

      public boolean supportsLikeEscapeClause() throws SQLException
      Description copied from interface: DatabaseMetaData
      Determines whether the database supports a LIKE escape clause.
      Specified by:
      supportsLikeEscapeClause in interface DatabaseMetaData
      Returns:
      true if LIKE escape clause is supported, false otherwise.
      Throws:
      SQLException - a database error occurred.
    • supportsMultipleResultSets

      public boolean supportsMultipleResultSets() throws SQLException
      Description copied from interface: DatabaseMetaData
      Determines whether retrieving multiple ResultSets from a single call to the execute method is supported.
      Specified by:
      supportsMultipleResultSets in interface DatabaseMetaData
      Returns:
      true if multiple ResultSets can be retrieved, false otherwise.
      Throws:
      SQLException - a database error occurred.
    • supportsMultipleTransactions

      public boolean supportsMultipleTransactions() throws SQLException
      Description copied from interface: DatabaseMetaData
      Determines whether multiple simultaneous transactions on different connections are supported.
      Specified by:
      supportsMultipleTransactions in interface DatabaseMetaData
      Returns:
      true if multiple open transactions are supported, false otherwise.
      Throws:
      SQLException - a database error occurred.
    • supportsNonNullableColumns

      public boolean supportsNonNullableColumns() throws SQLException
      Description copied from interface: DatabaseMetaData
      Determines whether columns in the database can be defined as non-nullable.
      Specified by:
      supportsNonNullableColumns in interface DatabaseMetaData
      Returns:
      true if columns can be defined non-nullable, false otherwise.
      Throws:
      SQLException - a database error occurred.
    • supportsMinimumSQLGrammar

      public boolean supportsMinimumSQLGrammar() throws SQLException
      Description copied from interface: DatabaseMetaData
      Determines whether the database supports Minimum SQL Grammar for ODBC.
      Specified by:
      supportsMinimumSQLGrammar in interface DatabaseMetaData
      Returns:
      true if the Minimum SQL Grammar is supported, false otherwise.
      Throws:
      SQLException - a database error occurred.
    • supportsCoreSQLGrammar

      public boolean supportsCoreSQLGrammar() throws SQLException
      Description copied from interface: DatabaseMetaData
      Determines whether the database supports the Core SQL Grammar for ODBC.
      Specified by:
      supportsCoreSQLGrammar in interface DatabaseMetaData
      Returns:
      true if the Core SQL Grammar is supported, false otherwise.
      Throws:
      SQLException - a database error occurred.
    • supportsExtendedSQLGrammar

      public boolean supportsExtendedSQLGrammar() throws SQLException
      Description copied from interface: DatabaseMetaData
      Determines whether the Extended SQL Grammar for ODBC is supported.
      Specified by:
      supportsExtendedSQLGrammar in interface DatabaseMetaData
      Returns:
      true if the Extended SQL Grammar is supported, false otherwise.
      Throws:
      SQLException - a database error occurred.
    • supportsANSI92EntryLevelSQL

      public boolean supportsANSI92EntryLevelSQL() throws SQLException
      Description copied from interface: DatabaseMetaData
      Determines whether the database supports the ANSI92 entry level SQL grammar.
      Specified by:
      supportsANSI92EntryLevelSQL in interface DatabaseMetaData
      Returns:
      true if the ANSI92 entry level SQL grammar is supported, false otherwise.
      Throws:
      SQLException - a database error occurred.
    • supportsANSI92IntermediateSQL

      public boolean supportsANSI92IntermediateSQL() throws SQLException
      Description copied from interface: DatabaseMetaData
      Determines whether the database supports the ANSI92 intermediate SQL Grammar.
      Specified by:
      supportsANSI92IntermediateSQL in interface DatabaseMetaData
      Returns:
      true if the ANSI92 intermediate SQL grammar is supported, false otherwise.
      Throws:
      SQLException - a database error occurred.
    • supportsANSI92FullSQL

      public boolean supportsANSI92FullSQL() throws SQLException
      Description copied from interface: DatabaseMetaData
      Determines whether the database supports the ANSI92 full SQL grammar.
      Specified by:
      supportsANSI92FullSQL in interface DatabaseMetaData
      Returns:
      true if the ANSI92 full SQL grammar is supported, false otherwise.
      Throws:
      SQLException - a database error occurred.
    • supportsIntegrityEnhancementFacility

      public boolean supportsIntegrityEnhancementFacility() throws SQLException
      Description copied from interface: DatabaseMetaData
      Determines whether the database supports SQL Integrity Enhancement Facility.
      Specified by:
      supportsIntegrityEnhancementFacility in interface DatabaseMetaData
      Returns:
      true if the Integrity Enhancement Facility is supported, false otherwise.
      Throws:
      SQLException - a database error occurred.
    • supportsOuterJoins

      public boolean supportsOuterJoins() throws SQLException
      Description copied from interface: DatabaseMetaData
      Determines whether outer join operations are supported.
      Specified by:
      supportsOuterJoins in interface DatabaseMetaData
      Returns:
      true if outer join operations are supported, false otherwise.
      Throws:
      SQLException - a database error occurred.
    • supportsFullOuterJoins

      public boolean supportsFullOuterJoins() throws SQLException
      Description copied from interface: DatabaseMetaData
      Determines whether the database supports full nested outer joins.
      Specified by:
      supportsFullOuterJoins in interface DatabaseMetaData
      Returns:
      true if full nested outer joins are supported, false otherwise.
      Throws:
      SQLException - a database error occurred.
    • supportsLimitedOuterJoins

      public boolean supportsLimitedOuterJoins() throws SQLException
      Description copied from interface: DatabaseMetaData
      Determines whether the database provides limited support for outer join operations.
      Specified by:
      supportsLimitedOuterJoins in interface DatabaseMetaData
      Returns:
      true if there is limited support for outer join operations, false otherwise. This will be true if supportsFullOuterJoins returns true.
      Throws:
      SQLException - a database error occurred.
    • getSchemaTerm

      public String getSchemaTerm() throws SQLException
      Description copied from interface: DatabaseMetaData
      Returns the database vendor's preferred term for "schema".
      Specified by:
      getSchemaTerm in interface DatabaseMetaData
      Returns:
      a String which is the vendor's preferred term for schema.
      Throws:
      SQLException - a database error occurred.
    • getProcedureTerm

      public String getProcedureTerm() throws SQLException
      Description copied from interface: DatabaseMetaData
      Returns the database vendor's preferred name for "procedure".
      Specified by:
      getProcedureTerm in interface DatabaseMetaData
      Returns:
      a String with the vendor's preferred name for "procedure".
      Throws:
      SQLException - a database error occurred.
    • getCatalogTerm

      public String getCatalogTerm() throws SQLException
      Description copied from interface: DatabaseMetaData
      Returns the term that the database vendor prefers term for "catalog".
      Specified by:
      getCatalogTerm in interface DatabaseMetaData
      Returns:
      a String with the vendor's term for "catalog".
      Throws:
      SQLException - if there is a database error.
    • isCatalogAtStart

      public boolean isCatalogAtStart() throws SQLException
      Description copied from interface: DatabaseMetaData
      Determine whether a fully qualified table name is prefixed or suffixed to a fully qualified table name.
      Specified by:
      isCatalogAtStart in interface DatabaseMetaData
      Returns:
      true if the catalog appears at the start of a fully qualified table name, false otherwise.
      Throws:
      SQLException - a database error occurred.
    • getCatalogSeparator

      public String getCatalogSeparator() throws SQLException
      Description copied from interface: DatabaseMetaData
      Returns the separator that this database uses between a catalog name and table name.
      Specified by:
      getCatalogSeparator in interface DatabaseMetaData
      Returns:
      a String containing the separator.
      Throws:
      SQLException - if there is a database error.
    • supportsSchemasInDataManipulation

      public boolean supportsSchemasInDataManipulation() throws SQLException
      Description copied from interface: DatabaseMetaData
      Determines whether a schema name may be used in a data manipulation statement.
      Specified by:
      supportsSchemasInDataManipulation in interface DatabaseMetaData
      Returns:
      true if a schema name can be used in a data manipulation, otherwise false.
      Throws:
      SQLException - a database error occurred.
    • supportsSchemasInProcedureCalls

      public boolean supportsSchemasInProcedureCalls() throws SQLException
      Description copied from interface: DatabaseMetaData
      Determines whether a procedure call statement may be contain in a schema name.
      Specified by:
      supportsSchemasInProcedureCalls in interface DatabaseMetaData
      Returns:
      true if a schema name can be used in a procedure call, otherwise false.
      Throws:
      SQLException - a database error occurred.
    • supportsSchemasInTableDefinitions

      public boolean supportsSchemasInTableDefinitions() throws SQLException
      Description copied from interface: DatabaseMetaData
      Determines whether a schema name can be used in a table definition statement.
      Specified by:
      supportsSchemasInTableDefinitions in interface DatabaseMetaData
      Returns:
      true if a schema name can be used in a table definition, otherwise false.
      Throws:
      SQLException - a database error occurred.
    • supportsSchemasInIndexDefinitions

      public boolean supportsSchemasInIndexDefinitions() throws SQLException
      Description copied from interface: DatabaseMetaData
      Determines whether a schema name may be used in an index definition statement.
      Specified by:
      supportsSchemasInIndexDefinitions in interface DatabaseMetaData
      Returns:
      true if a schema name can be used in an index definition, otherwise false.
      Throws:
      SQLException - a database error occurred.
    • supportsSchemasInPrivilegeDefinitions

      public boolean supportsSchemasInPrivilegeDefinitions() throws SQLException
      Description copied from interface: DatabaseMetaData
      Determines whether a database schema name can be used in a privilege definition statement.
      Specified by:
      supportsSchemasInPrivilegeDefinitions in interface DatabaseMetaData
      Returns:
      true if a database schema name may be used in a privilege definition, otherwise false
      Throws:
      SQLException - a database error occurred.
    • supportsCatalogsInDataManipulation

      public boolean supportsCatalogsInDataManipulation() throws SQLException
      Description copied from interface: DatabaseMetaData
      Determines whether catalog names may be used in data manipulation statements.
      Specified by:
      supportsCatalogsInDataManipulation in interface DatabaseMetaData
      Returns:
      true if catalog names can be used in data manipulation statements, false otherwise.
      Throws:
      SQLException - a database error occurred.
    • supportsCatalogsInProcedureCalls

      public boolean supportsCatalogsInProcedureCalls() throws SQLException
      Description copied from interface: DatabaseMetaData
      Determines whether catalog names can be used in procedure call statements.
      Specified by:
      supportsCatalogsInProcedureCalls in interface DatabaseMetaData
      Returns:
      true if catalog names can be used in procedure call statements.
      Throws:
      SQLException - a database error occurred.
    • supportsCatalogsInTableDefinitions

      public boolean supportsCatalogsInTableDefinitions() throws SQLException
      Description copied from interface: DatabaseMetaData
      Determines whether catalog names may be used in table definition statements.
      Specified by:
      supportsCatalogsInTableDefinitions in interface DatabaseMetaData
      Returns:
      true if catalog names can be used in definition statements, false otherwise.
      Throws:
      SQLException - a database error occurred.
    • supportsCatalogsInIndexDefinitions

      public boolean supportsCatalogsInIndexDefinitions() throws SQLException
      Description copied from interface: DatabaseMetaData
      Determines whether catalog names can be used in index definition statements.
      Specified by:
      supportsCatalogsInIndexDefinitions in interface DatabaseMetaData
      Returns:
      true if catalog names can be used in index definition statements, false otherwise.
      Throws:
      SQLException - a database error occurred.
    • supportsCatalogsInPrivilegeDefinitions

      public boolean supportsCatalogsInPrivilegeDefinitions() throws SQLException
      Description copied from interface: DatabaseMetaData
      Determines whether catalog names can be used in privilege definition statements.
      Specified by:
      supportsCatalogsInPrivilegeDefinitions in interface DatabaseMetaData
      Returns:
      true if catalog names can be used in privilege definition statements, false otherwise.
      Throws:
      SQLException - a database error occurred.
    • supportsPositionedDelete

      public boolean supportsPositionedDelete() throws SQLException
      Description copied from interface: DatabaseMetaData
      Determines whether positioned DELETE statements are supported.
      Specified by:
      supportsPositionedDelete in interface DatabaseMetaData
      Returns:
      true if the database supports positioned DELETE statements.
      Throws:
      SQLException - a database error occurred.
    • supportsPositionedUpdate

      public boolean supportsPositionedUpdate() throws SQLException
      Description copied from interface: DatabaseMetaData
      Determines whether positioned UPDATE statements are supported.
      Specified by:
      supportsPositionedUpdate in interface DatabaseMetaData
      Returns:
      true if the database supports positioned UPDATE statements, false otherwise.
      Throws:
      SQLException - a database error occurred.
    • supportsSelectForUpdate

      public boolean supportsSelectForUpdate() throws SQLException
      Description copied from interface: DatabaseMetaData
      Determines whether the SELECT FOR UPDATE statement is supported.
      Specified by:
      supportsSelectForUpdate in interface DatabaseMetaData
      Returns:
      true if SELECT FOR UPDATE statements are supported, otherwise false.
      Throws:
      SQLException - a database error occurred.
    • supportsStoredProcedures

      public boolean supportsStoredProcedures() throws SQLException
      Description copied from interface: DatabaseMetaData
      Determines whether stored procedure calls using the stored procedure escape syntax is supported.
      Specified by:
      supportsStoredProcedures in interface DatabaseMetaData
      Returns:
      true if stored procedure calls using the stored procedure escape syntax are supported, otherwise false.
      Throws:
      SQLException - a database error occurred.
    • supportsSubqueriesInComparisons

      public boolean supportsSubqueriesInComparisons() throws SQLException
      Description copied from interface: DatabaseMetaData
      Determines whether subqueries in comparison expressions are supported.
      Specified by:
      supportsSubqueriesInComparisons in interface DatabaseMetaData
      Returns:
      true if subqueries are supported in comparison expressions.
      Throws:
      SQLException - a database error occurred.
    • supportsSubqueriesInExists

      public boolean supportsSubqueriesInExists() throws SQLException
      Description copied from interface: DatabaseMetaData
      Determines whether subqueries in EXISTS expressions are supported.
      Specified by:
      supportsSubqueriesInExists in interface DatabaseMetaData
      Returns:
      true if subqueries are supported in EXISTS expressions, otherwise false.
      Throws:
      SQLException - a database error occurred.
    • supportsSubqueriesInIns

      public boolean supportsSubqueriesInIns() throws SQLException
      Description copied from interface: DatabaseMetaData
      Determines whether subqueries in IN statements are supported.
      Specified by:
      supportsSubqueriesInIns in interface DatabaseMetaData
      Returns:
      true if subqueries are supported in IN statements, otherwise false.
      Throws:
      SQLException - a database error occurred.
    • supportsSubqueriesInQuantifieds

      public boolean supportsSubqueriesInQuantifieds() throws SQLException
      Description copied from interface: DatabaseMetaData
      Determines whether subqueries in quantified expressions are supported.
      Specified by:
      supportsSubqueriesInQuantifieds in interface DatabaseMetaData
      Returns:
      true if subqueries are supported, otherwise false.
      Throws:
      SQLException - a database error occurred.
    • supportsCorrelatedSubqueries

      public boolean supportsCorrelatedSubqueries() throws SQLException
      Description copied from interface: DatabaseMetaData
      Determines whether the database supports correlated sub-queries.
      Specified by:
      supportsCorrelatedSubqueries in interface DatabaseMetaData
      Returns:
      true if the database does support correlated sub-queries and false otherwise.
      Throws:
      SQLException - a database error occurred.
    • supportsUnion

      public boolean supportsUnion() throws SQLException
      Description copied from interface: DatabaseMetaData
      Determines whether the SQL UNION operation is supported.
      Specified by:
      supportsUnion in interface DatabaseMetaData
      Returns:
      true of the database does support UNION, otherwise false.
      Throws:
      SQLException - a database error occurred.
    • supportsUnionAll

      public boolean supportsUnionAll() throws SQLException
      Description copied from interface: DatabaseMetaData
      Determines whether the SQL UNION ALL operation is supported.
      Specified by:
      supportsUnionAll in interface DatabaseMetaData
      Returns:
      true if the database does support UNION ALL, otherwise false.
      Throws:
      SQLException - a database error occurred.
    • supportsOpenCursorsAcrossCommit

      public boolean supportsOpenCursorsAcrossCommit() throws SQLException
      Description copied from interface: DatabaseMetaData
      Determines whether keeping cursors open across commit operations is supported.
      Specified by:
      supportsOpenCursorsAcrossCommit in interface DatabaseMetaData
      Returns:
      true if cursors can be kept open across commit operations, false if they might get closed.
      Throws:
      SQLException - a database error occurred.
    • supportsOpenCursorsAcrossRollback

      public boolean supportsOpenCursorsAcrossRollback() throws SQLException
      Description copied from interface: DatabaseMetaData
      Determines whether the database can keep cursors open across rollback operations.
      Specified by:
      supportsOpenCursorsAcrossRollback in interface DatabaseMetaData
      Returns:
      true if cursors can be kept open across rollback operations, false if they might get closed.
      Throws:
      SQLException - a database error occurred.
    • supportsOpenStatementsAcrossCommit

      public boolean supportsOpenStatementsAcrossCommit() throws SQLException
      Description copied from interface: DatabaseMetaData
      Determines whether keeping statements open across commit operations is supported.
      Specified by:
      supportsOpenStatementsAcrossCommit in interface DatabaseMetaData
      Returns:
      true if statements can be kept open, false if they might not.
      Throws:
      SQLException - a database error occurred.
    • supportsOpenStatementsAcrossRollback

      public boolean supportsOpenStatementsAcrossRollback() throws SQLException
      Description copied from interface: DatabaseMetaData
      Determines whether keeping statements open across rollback operations is supported.
      Specified by:
      supportsOpenStatementsAcrossRollback in interface DatabaseMetaData
      Returns:
      true if statements can be kept open, false if they might not.
      Throws:
      SQLException - a database error occurred.
    • getMaxBinaryLiteralLength

      public int getMaxBinaryLiteralLength() throws SQLException
      Description copied from interface: DatabaseMetaData
      Get the maximum number of hex characters in an in-line binary literal for this database.
      Specified by:
      getMaxBinaryLiteralLength in interface DatabaseMetaData
      Returns:
      the maximum number of hex characters in an in-line binary literal. If the number is unlimited then the result is zero.
      Throws:
      SQLException - a database error occurred.
    • getMaxCharLiteralLength

      public int getMaxCharLiteralLength() throws SQLException
      Description copied from interface: DatabaseMetaData
      Returns the maximum size for a character literal in this database.
      Specified by:
      getMaxCharLiteralLength in interface DatabaseMetaData
      Returns:
      the maximum size in characters for a character literal. If the limit is unknown, or the value is unlimited, then the result is zero.
      Throws:
      SQLException - a database error occurred.
    • getMaxColumnNameLength

      public int getMaxColumnNameLength() throws SQLException
      Description copied from interface: DatabaseMetaData
      Returns the maximum size for a Column name for this database.
      Specified by:
      getMaxColumnNameLength in interface DatabaseMetaData
      Returns:
      the maximum number of characters for a Column name. If the limit is unknown, or the value is unlimited, then the result is zero.
      Throws:
      SQLException - a database error occurred.
    • getMaxColumnsInGroupBy

      public int getMaxColumnsInGroupBy() throws SQLException
      Description copied from interface: DatabaseMetaData
      Get the maximum number of columns in a GROUP BY clause for this database.
      Specified by:
      getMaxColumnsInGroupBy in interface DatabaseMetaData
      Returns:
      the maximum number of columns in a GROUP BY clause. If the limit is unknown, or the value is unlimited, then the result is zero.
      Throws:
      SQLException - a database error occurred.
    • getMaxColumnsInIndex

      public int getMaxColumnsInIndex() throws SQLException
      Description copied from interface: DatabaseMetaData
      Returns the maximum number of columns in an Index for this database.
      Specified by:
      getMaxColumnsInIndex in interface DatabaseMetaData
      Returns:
      the maximum number of columns in an Index. If the limit is unknown, or the value is unlimited, then the result is zero.
      Throws:
      SQLException - a database error occurred.
    • getMaxColumnsInOrderBy

      public int getMaxColumnsInOrderBy() throws SQLException
      Description copied from interface: DatabaseMetaData
      Returns the maximum number of columns in an ORDER BY clause for this database.
      Specified by:
      getMaxColumnsInOrderBy in interface DatabaseMetaData
      Returns:
      the maximum number of columns in an ORDER BY clause. If the limit is unknown, or the value is unlimited, then the result is zero.
      Throws:
      SQLException - a database error occurred.
    • getMaxColumnsInSelect

      public int getMaxColumnsInSelect() throws SQLException
      Description copied from interface: DatabaseMetaData
      Returns the maximum number of columns in a SELECT list for this database.
      Specified by:
      getMaxColumnsInSelect in interface DatabaseMetaData
      Returns:
      the maximum number of columns in a SELECT list. If the limit is unknown, or the value is unlimited, then the result is zero.
      Throws:
      SQLException - a database error occurred.
    • getMaxColumnsInTable

      public int getMaxColumnsInTable() throws SQLException
      Description copied from interface: DatabaseMetaData
      Returns the maximum number of columns in a table for this database.
      Specified by:
      getMaxColumnsInTable in interface DatabaseMetaData
      Returns:
      the maximum number of columns in a table. If the limit is unknown, or the value is unlimited, then the result is zero.
      Throws:
      SQLException - a database error occurred.
    • getMaxConnections

      public int getMaxConnections() throws SQLException
      Description copied from interface: DatabaseMetaData
      Returns the database's maximum number of concurrent connections.
      Specified by:
      getMaxConnections in interface DatabaseMetaData
      Returns:
      the maximum number of connections. If the limit is unknown, or the value is unlimited, then the result is zero.
      Throws:
      SQLException - a database error occurred.
    • getMaxCursorNameLength

      public int getMaxCursorNameLength() throws SQLException
      Description copied from interface: DatabaseMetaData
      Returns the maximum length of a cursor name for this database.
      Specified by:
      getMaxCursorNameLength in interface DatabaseMetaData
      Returns:
      the maximum number of characters in a cursor name. If the limit is unknown, or the value is unlimited, then the result is zero.
      Throws:
      SQLException - a database error occurred.
    • getMaxIndexLength

      public int getMaxIndexLength() throws SQLException
      Description copied from interface: DatabaseMetaData
      Returns the maximum length in bytes for an Index for this database. This covers all the parts of a composite index.
      Specified by:
      getMaxIndexLength in interface DatabaseMetaData
      Returns:
      the maximum length in bytes for an Index. If the limit is unknown, or the value is unlimited, then the result is zero.
      Throws:
      SQLException - a database error occurred.
    • getMaxSchemaNameLength

      public int getMaxSchemaNameLength() throws SQLException
      Description copied from interface: DatabaseMetaData
      Returns the maximum number of characters in a schema name for this database.
      Specified by:
      getMaxSchemaNameLength in interface DatabaseMetaData
      Returns:
      the maximum number of characters in a schema name. If the limit is unknown, or the value is unlimited, then the result is zero.
      Throws:
      SQLException - a database error occurred.
    • getMaxProcedureNameLength

      public int getMaxProcedureNameLength() throws SQLException
      Description copied from interface: DatabaseMetaData
      Returns the maximum number of characters for a procedure name in this database.
      Specified by:
      getMaxProcedureNameLength in interface DatabaseMetaData
      Returns:
      the maximum number of character for a procedure name. If the limit is unknown, or the value is unlimited, then the result is zero.
      Throws:
      SQLException - a database error occurred.
    • getMaxCatalogNameLength

      public int getMaxCatalogNameLength() throws SQLException
      Description copied from interface: DatabaseMetaData
      Returns the maximum size of a catalog name in this database.
      Specified by:
      getMaxCatalogNameLength in interface DatabaseMetaData
      Returns:
      the maximum size in characters for a catalog name. If the limit is unknown, or the value is unlimited, then the result is zero.
      Throws:
      SQLException - a database error occurred.
    • getMaxRowSize

      public int getMaxRowSize() throws SQLException
      Description copied from interface: DatabaseMetaData
      Returns the maximum number of bytes within a single row for this database.
      Specified by:
      getMaxRowSize in interface DatabaseMetaData
      Returns:
      the maximum number of bytes for a single row. If the limit is unknown, or the value is unlimited, then the result is zero.
      Throws:
      SQLException - a database error occurred.
    • doesMaxRowSizeIncludeBlobs

      public boolean doesMaxRowSizeIncludeBlobs() throws SQLException
      Description copied from interface: DatabaseMetaData
      Returns whether the return value of getMaxRowSize includes the SQL data types LONGVARCHAR and LONGVARBINARY.
      Specified by:
      doesMaxRowSizeIncludeBlobs in interface DatabaseMetaData
      Returns:
      true if the return value includes LONGVARBINARY and LONGVARCHAR, otherwise false.
      Throws:
      SQLException - if there is a database error.
    • getMaxStatementLength

      public int getMaxStatementLength() throws SQLException
      Description copied from interface: DatabaseMetaData
      Returns the maximum number of characters in an SQL statement for this database.
      Specified by:
      getMaxStatementLength in interface DatabaseMetaData
      Returns:
      the maximum number of characters in an SQL statement. If the limit is unknown, or the value is unlimited, then the result is zero.
      Throws:
      SQLException - a database error occurred.
    • getMaxStatements

      public int getMaxStatements() throws SQLException
      Description copied from interface: DatabaseMetaData
      Get the maximum number of simultaneously open active statements for this database.
      Specified by:
      getMaxStatements in interface DatabaseMetaData
      Returns:
      the maximum number of open active statements. If the limit is unknown, or the value is unlimited, then the result is zero.
      Throws:
      SQLException - a database error occurred.
    • getMaxTableNameLength

      public int getMaxTableNameLength() throws SQLException
      Description copied from interface: DatabaseMetaData
      Returns the maximum size for a table name in the database.
      Specified by:
      getMaxTableNameLength in interface DatabaseMetaData
      Returns:
      the maximum size in characters for a table name. If the limit is unknown, or the value is unlimited, then the result is zero.
      Throws:
      SQLException - a database error occurred.
    • getMaxTablesInSelect

      public int getMaxTablesInSelect() throws SQLException
      Description copied from interface: DatabaseMetaData
      Returns the maximum number of tables permitted in a SELECT statement for the database.
      Specified by:
      getMaxTablesInSelect in interface DatabaseMetaData
      Returns:
      the maximum number of tables permitted in a SELECT statement. If the limit is unknown, or the value is unlimited, then the result is zero.
      Throws:
      SQLException - a database error occurred.
    • getMaxUserNameLength

      public int getMaxUserNameLength() throws SQLException
      Description copied from interface: DatabaseMetaData
      Returns the maximum number of characters in a user name for the database.
      Specified by:
      getMaxUserNameLength in interface DatabaseMetaData
      Returns:
      the maximum number of characters in a user name. If the limit is unknown, or the value is unlimited, then the result is zero.
      Throws:
      SQLException - a database error occurred.
    • getDefaultTransactionIsolation

      public int getDefaultTransactionIsolation() throws SQLException
      Description copied from interface: DatabaseMetaData
      Returns the default transaction isolation level for this database.
      Specified by:
      getDefaultTransactionIsolation in interface DatabaseMetaData
      Returns:
      the default transaction isolation level. One of the following values:
      • TRANSACTION_NONE
      • TRANSACTION_READ_COMMITTED
      • TRANSACTION_READ_UNCOMMITTED
      • TRANSACTION_REPEATABLE_READ
      • TRANSACTION_SERIALIZABLE
      Throws:
      SQLException - a database error occurred.
    • supportsTransactions

      public boolean supportsTransactions() throws SQLException
      Description copied from interface: DatabaseMetaData
      Determines whether transactions are supported.

      If transactions are not supported, then the commit method does nothing and the transaction isolation level is always TRANSACTION_NONE.

      Specified by:
      supportsTransactions in interface DatabaseMetaData
      Returns:
      true if transactions are supported, otherwise false.
      Throws:
      SQLException - a database error occurred.
    • supportsTransactionIsolationLevel

      public boolean supportsTransactionIsolationLevel​(int level) throws SQLException
      Description copied from interface: DatabaseMetaData
      Determines whether a specified transaction isolation level is supported.
      Specified by:
      supportsTransactionIsolationLevel in interface DatabaseMetaData
      Parameters:
      level - the transaction isolation level, as specified in java.sql.Connection: TRANSACTION_NONE, TRANSACTION_READ_COMMITTED, TRANSACTION_READ_UNCOMMITTED, TRANSACTION_REPEATABLE_READ, TRANSACTION_SERIALIZABLE
      Returns:
      true if the specific isolation level is supported, otherwise false.
      Throws:
      SQLException - a database error occurred.
    • supportsDataDefinitionAndDataManipulationTransactions

      public boolean supportsDataDefinitionAndDataManipulationTransactions() throws SQLException
      Description copied from interface: DatabaseMetaData
      Determines whether the database allows both data definition and data manipulation statements inside a transaction.
      Specified by:
      supportsDataDefinitionAndDataManipulationTransactions in interface DatabaseMetaData
      Returns:
      true if both types of statement are permitted, false otherwise.
      Throws:
      SQLException - a database error occurred.
    • supportsDataManipulationTransactionsOnly

      public boolean supportsDataManipulationTransactionsOnly() throws SQLException
      Description copied from interface: DatabaseMetaData
      Determines whether the database only allows data manipulation statements inside a transaction.
      Specified by:
      supportsDataManipulationTransactionsOnly in interface DatabaseMetaData
      Returns:
      true if data manipulation statements are permitted only within a transaction, false otherwise.
      Throws:
      SQLException - a database error occurred.
    • dataDefinitionCausesTransactionCommit

      public boolean dataDefinitionCausesTransactionCommit() throws SQLException
      Description copied from interface: DatabaseMetaData
      Returns whether a data definition statement in a transaction forces a commit of the transaction.
      Specified by:
      dataDefinitionCausesTransactionCommit in interface DatabaseMetaData
      Returns:
      true if the statement forces a commit, false otherwise.
      Throws:
      SQLException - if there is a database error.
    • dataDefinitionIgnoredInTransactions

      public boolean dataDefinitionIgnoredInTransactions() throws SQLException
      Description copied from interface: DatabaseMetaData
      Returns whether the database ignores data definition statements within a transaction.
      Specified by:
      dataDefinitionIgnoredInTransactions in interface DatabaseMetaData
      Returns:
      true if the database ignores a data definition statement, false otherwise.
      Throws:
      SQLException - if there is a database error.
    • getProcedures

      public ResultSet getProcedures​(String catalog, String schemaPattern, String procedureNamePattern) throws SQLException
      Description copied from interface: DatabaseMetaData
      Returns a list of the stored procedures available in a specified catalog.

      The list is returned as a ResultSet with one row for each stored procedure, ordered by PROCEDURE_SCHEM and PROCEDURE_NAME, with the data in each row as follows:

      1. PROCEDURE_CAT - String : the procedure catalog name
      2. PROCEDURE_SCHEM - String : the procedure schema name (possibly null)
      3. PROCEDURE_NAME - String : the procedure name
      4. Reserved
      5. Reserved
      6. Reserved
      7. REMARKS - String - information about the procedure
      8. PROCEDURE_TYPE - short : one of:
        • DatabaseMetaData.procedureResultUnknown - procedure may return a result
        • DatabaseMetaData.procedureNoResult - procedure does not return a result
        • DatabaseMetaData.procedureReturnsResult - procedure definitely returns a result
      Specified by:
      getProcedures in interface DatabaseMetaData
      Parameters:
      catalog - a catalog name. null is used to imply no narrowing of the search by catalog name. Otherwise, the name must match a catalog name held in the database, with "" used to retrieve those without a catalog name.
      schemaPattern - a schema name pattern. null is used to imply no narrowing of the search by schema name. Otherwise, the name must match a schema name in the database, with "" used to retrieve those without a schema name.
      procedureNamePattern - a procedure name pattern, which must match the procedure name stored in the database.
      Returns:
      a ResultSet where each row is a description of a stored procedure in the format defined above.
      Throws:
      SQLException - a database error occurred.
    • getProcedureColumns

      public ResultSet getProcedureColumns​(String catalog, String schemaPattern, String procedureNamePattern, String columnNamePattern) throws SQLException
      Description copied from interface: DatabaseMetaData
      Returns a list of parameter and result columns for the stored procedures belonging to a specified catalog.

      The list is returned as a ResultSet with one row for each parameter or result column. The data is ordered by PROCEDURE_SCHEM and PROCEDURE_NAME, while for each procedure, the return value (if any) is first, followed by the parameters in the order they appear in the stored procedure call, followed by ResultSet columns in column number order. Each row has the following structure:

      1. PROCEDURE_CAT - String - the procedure catalog name
      2. PROCEDURE_SCHEM - String - the procedure schema name (possibly null)
      3. PROCEDURE_NAME - String - the procedure name
      4. COLUMN_NAME - String - the name of the column
      5. COLUMN_TYPE - short - the kind of column or parameter, as follows:
        • DatabaseMetaData.procedureColumnUnknown - type unknown
        • DatabaseMetaData.procedureColumnIn - an IN parameter
        • DatabaseMetaData.procedureColumnInOut - an INOUT parameter
        • DatabaseMetaData.procedureColumnOut - an OUT parameter
        • DatabaseMetaData.procedureColumnReturn - a return value
        • DatabaseMetaData.procedureReturnsResult - a result column in a result set
      6. DATA_TYPE - int - the SQL type of the data, as in java.sql.Types
      7. TYPE_NAME - String - the SQL type name, for a UDT it is fully qualified
      8. PRECISION - int - the precision
      9. LENGTH - int - the length of the data in bytes
      10. SCALE - short - the scale for numeric types
      11. RADIX - short - the Radix for numeric data (typically 2 or 10)
      12. NULLABLE - short - can the data contain null:
        • DatabaseMetaData.procedureNoNulls - NULLs not permitted
        • DatabaseMetaData.procedureNullable - NULLs are permitted
        • DatabaseMetaData.procedureNullableUnknown - NULL status unknown
      13. REMARKS - String - an explanatory comment about the data item
      Specified by:
      getProcedureColumns in interface DatabaseMetaData
      Parameters:
      catalog - a catalog name. null is used to imply no narrowing of the search by catalog name. Otherwise, the name must match a catalog name held in the database, with "" used to retrieve those without a catalog name.
      schemaPattern - a schema name pattern. null is used to imply no narrowing of the search by schema name. Otherwise, the name must match a schema name in the database, with "" used to retrieve those without a schema name.
      procedureNamePattern - a pattern that must match the name of the procedure stored in the database.
      columnNamePattern - a column name pattern. The name must match the column name stored in the database.
      Returns:
      a ResultSet with the list of parameter and result columns in the format defined above.
      Throws:
      SQLException - a database error occurred.
    • getTables

      public ResultSet getTables​(String catalog, String schemaPattern, String tableNamePattern, String[] types) throws SQLException
      Description copied from interface: DatabaseMetaData
      Returns a description of the tables in a specified catalog.

      The descriptions are returned as rows in a ResultSet, one row for each Table. The ResultSet is ordered by TABLE_TYPE, TABLE_SCHEM and TABLE_NAME. Each row in the ResultSet consists of a series of columns as follows:

      1. TABLE_CAT - String - table catalog name (possibly null)
      2. TABLE_SCHEM - String - Table schema name (possibly null)
      3. TABLE_NAME - String - The table name
      4. TABLE_TYPE - String - Typical names include "TABLE", "VIEW", "SYSTEM TABLE", "ALIAS", "SYNONYM", "GLOBAL TEMPORARY"
      5. REMARKS - String - A comment describing the table
      6. TYPE_CAT - String - the 'Types' catalog(possibly null )
      7. TYPE_SCHEM - String - the 'Types' schema(possibly null)
      8. TYPE_NAME - String - the 'Types' name (possibly null)
      9. SELF_REFERENCING_COL_NAME - String - the name of a designated identifier column in a typed table (possibly null)
      10. REF_GENERATION - String - one of the following values : "SYSTEM" | "USER" | "DERIVED" - specifies how values in the SELF_REFERENCING_COL_NAME are created (possibly null)
      Specified by:
      getTables in interface DatabaseMetaData
      Parameters:
      catalog - a catalog name. null is used to imply no narrowing of the search by catalog name. Otherwise, the name must match a catalog name held in the database, with "" used to retrieve those without a catalog name.
      schemaPattern - a schema name pattern. null is used to imply no narrowing of the search by schema name. Otherwise, the name must match a schema name in the database, with "" used to retrieve those without a schema name.
      tableNamePattern - a table name, which should match the table name as stored in the database.
      types - a list of table types to include in the list. null implies list all types.
      Returns:
      a ResultSet with one row per table in the format defined above.
      Throws:
      SQLException - a database error occurred.
    • getSchemas

      public ResultSet getSchemas() throws SQLException
      Description copied from interface: DatabaseMetaData
      Returns a list of the schema names in the database. The list is returned as a ResultSet, ordered by the schema name, with one row per schema in the following format:
      1. TABLE_SCHEM - String - the schema name
      2. TABLE_CATALOG - String - the catalog name (possibly null)
      Specified by:
      getSchemas in interface DatabaseMetaData
      Returns:
      a ResultSet with one row for each schema in the format defined above.
      Throws:
      SQLException - a database error occurred.
    • getCatalogs

      public ResultSet getCatalogs() throws SQLException
      Description copied from interface: DatabaseMetaData
      Returns the set of catalog names available in this database. The set is returned ordered by catalog name.
      Specified by:
      getCatalogs in interface DatabaseMetaData
      Returns:
      a ResultSet containing the catalog names, with each row containing one catalog name (as a String) in the single column named TABLE_CAT.
      Throws:
      SQLException - if there is a database error.
    • getTableTypes

      public ResultSet getTableTypes() throws SQLException
      Description copied from interface: DatabaseMetaData
      Returns a list of table types supported by the database.

      The list is returned as a ResultSet with one row per table type, ordered by the table type. The information in the ResultSet is structured into a single column per row, as follows:

      1. TABLE_TYPE - String - the table type. Typical names include "TABLE", "VIEW", "SYSTEM TABLE", "ALIAS", "SYNONYM", "GLOBAL TEMPORARY"
      Specified by:
      getTableTypes in interface DatabaseMetaData
      Returns:
      a ResultSet with one row per table type in the format defined above.
      Throws:
      SQLException - a database error occurred.
    • getColumns

      public ResultSet getColumns​(String catalog, String schemaPattern, String tableNamePattern, String columnNamePattern) throws SQLException
      Description copied from interface: DatabaseMetaData
      Returns a description of table columns available in a specified catalog. Only descriptions meeting the specified catalog, schema, table, and column names are returned.

      The descriptions are returned as a ResultSet conforming to the following data layout, with one row per table column:

      1. TABLE_CAT - String - the catalog name (possibly null)
      2. TABLE_SCHEM - String - the schema name (possibly null)
      3. TABLE_NAME - String - the table name
      4. COLUMN_NAME - String - the column name
      5. DATA_TYPE - int - the SQL type as specified in java.sql.Types
      6. TYPE_NAME - String - the name of the data type, (database-dependent, UDT names are fully qualified)
      7. COLUMN_SIZE - int - the column size (the precision for numeric types, max characters for char and date types)
      8. BUFFER_LENGTH - int - Not used
      9. DECIMAL_DIGITS - int - maximum number of fractional digits
      10. NUM_PREC_RADIX - int - the radix for numerical types
      11. NULLABLE - int - whether the column allows nulls:
        • DatabaseMetaData.columnNoNulls = may not allow NULLs
        • DatabaseMetaData.columnNullable = does allow NULLs
        • DatabaseMetaData.columnNullableUnknown = unknown NULL status
      12. REMARKS - String - A description of the column (possibly null)
      13. COLUMN_DEF - String - Default value for the column (possibly null)
      14. SQL_DATA_TYPE - int - not used
      15. SQL_DATETIME_SUB - int - not used
      16. CHAR_OCTET_LENGTH - int - maximum number of bytes in the char type columns
      17. ORDINAL_POSITION - int - the column index in the table (1 based)
      18. IS_NULLABLE - String - "NO" = column does not allow NULLs, "YES" = column allows NULLs, "" = NULL status unknown
      19. SCOPE_CATALOG - String - if the DATA_TYPE is REF, this gives the catalog of the table corresponding to the attribute's scope. NULL if the DATA_TYPE is not REF.
      20. SCOPE_SCHEMA - String - if the DATA_TYPE is REF, this gives the schema of the table corresponding to the attribute's scope. NULL if the DATA_TYPE is not REF.
      21. SCOPE_TABLE - String - if the DATA_TYPE is REF, this gives the name of the table corresponding to the attribute's scope. NULL if the DATA_TYPE is not REF.
      22. SOURCE_DATA_TYPE - String - The source type for a user generated REF type or for a Distinct type. (NULL if DATA_TYPE is not DISTINCT or a user generated REF)
      Specified by:
      getColumns in interface DatabaseMetaData
      Parameters:
      catalog - a catalog name. null is used to imply no narrowing of the search by catalog name. Otherwise, the name must match a catalog name held in the database, with "" used to retrieve those without a catalog name.
      schemaPattern - a schema name pattern. null is used to imply no narrowing of the search by schema name. Otherwise, the name must match a schema name in the database, with "" used to retrieve those without a schema name.
      tableNamePattern - the table name. This must match the name of the table as declared in the database.
      columnNamePattern - the column name. This must match the name of a column in the table in the database.
      Returns:
      the descriptions as a ResultSet with rows in the form defined above.
      Throws:
      SQLException - if there is a database error.
    • getColumnPrivileges

      public ResultSet getColumnPrivileges​(String catalog, String schema, String table, String columnNamePattern) throws SQLException
      Description copied from interface: DatabaseMetaData
      Returns a description of access rights for a table's columns. Only access rights matching the criteria for the column name are returned.

      The description is returned as a ResultSet with rows of data for each access right, with columns as follows:

      1. TABLE_CAT - String - the catalog name (possibly null)
      2. TABLE_SCHEM - String - the schema name (possibly null)
      3. TABLE_NAME - String - the table name
      4. COLUMN_NAME - String - the Column name
      5. GRANTOR - String - the grantor of access (possibly null)
      6. PRIVILEGE - String - Access right - one of SELECT, INSERT, UPDATE, REFERENCES,...
      7. IS_GRANTABLE - String - "YES" implies that the receiver can grant access to others, "NO" if the receiver cannot grant access to others, null if unknown.
      Specified by:
      getColumnPrivileges in interface DatabaseMetaData
      Parameters:
      catalog - a catalog name. null is used to imply no narrowing of the search by catalog name. Otherwise, the name must match a catalog name held in the database, with "" used to retrieve those without a catalog name.
      schema - a schema name pattern. null is used to imply no narrowing of the search by schema name. Otherwise, the name must match a schema name in the database, with "" used to retrieve those without a schema name.
      table - the table name. This must match the name of the table as declared in the database.
      columnNamePattern - the column name. This must match the name of a column in the table in the database.
      Returns:
      a ResultSet containing the access rights, one row for each privilege description.
      Throws:
      SQLException - if there is a database error.
    • getTablePrivileges

      public ResultSet getTablePrivileges​(String catalog, String schemaPattern, String tableNamePattern) throws SQLException
      Description copied from interface: DatabaseMetaData
      Returns a description of access rights for each table present in a catalog. Table privileges can apply to one or more columns in the table - but are not guaranteed to apply to all columns.

      The privileges are returned as a ResultSet, with one row for each privilege, ordered by TABLE_SCHEM, TABLE_NAME, PRIVILEGE, and each row has data as defined in the following column definitions:

      1. TABLE_CAT - String - table catalog name (possibly null)
      2. TABLE_SCHEM - String - Table schema name (possibly null)
      3. TABLE_NAME - String - The table name
      4. GRANTOR - String - who granted the access
      5. GRANTEE - String - who received the access grant
      6. PRIVILEGE - String - the type of access granted - one of SELECT, INSERT, UPDATE, REFERENCES,...
      7. IS_GRANTABLE - String - "YES" implies the grantee can grant access to others, "NO" implies guarantee cannot grant access to others, null means this status is unknown
      Specified by:
      getTablePrivileges in interface DatabaseMetaData
      Parameters:
      catalog - a catalog name. null is used to imply no narrowing of the search by catalog name. Otherwise, the name must match a catalog name held in the database, with "" used to retrieve those without a catalog name.
      schemaPattern - a schema name pattern. null is used to imply no narrowing of the search by schema name. Otherwise, the name must match a schema name in the database, with "" used to retrieve those without a schema name.
      tableNamePattern - a Table Name, which should match the table name as stored in the database.
      Returns:
      a ResultSet containing a list with one row for each table in the format defined above.
      Throws:
      SQLException - a database error occurred.
    • getBestRowIdentifier

      public ResultSet getBestRowIdentifier​(String catalog, String schema, String table, int scope, boolean nullable) throws SQLException
      Description copied from interface: DatabaseMetaData
      Returns a list of a table's optimal set of columns that uniquely identify the rows. The results are ordered by SCOPE (see below).

      The results are returned as a table, with one entry for each column, as follows:

      1. SCOPE - short - the SCOPE of the result, as follows:
        • DatabaseMetaData.bestRowTemporary - the result is very temporary, only valid while on the current row
        • DatabaseMetaData.bestRowTransaction - the result is good for remainder of current transaction
        • DatabaseMetaData.bestRowSession - the result is good for remainder of database session
      2. COLUMN_NAME - String - the column name
      3. DATA_TYPE - int - the Type of the data, as defined in java.sql.Types
      4. TYPE_NAME - String - the Name of the type - database dependent. For UDT types the name is fully qualified
      5. COLUMN_SIZE - int - the precision of the data in the column
      6. BUFFER_LENGTH - int - not used
      7. DECIMAL_DIGITS - short - number of fractional digits
      8. PSEUDO_COLUMN - short - whether this is a pseudo column (e.g. an Oracle ROWID):
        • DatabaseMetaData.bestRowUnknown - it is not known whether this is a pseudo column
        • DatabaseMetaData.bestRowNotPseudo - the column is not pseudo
        • DatabaseMetaData.bestRowPseudo - the column is a pseudo column
      Specified by:
      getBestRowIdentifier in interface DatabaseMetaData
      Parameters:
      catalog - a catalog name. null is used to imply no narrowing of the search by catalog name. Otherwise, the name must match a catalog name held in the database, with "" used to retrieve those without a catalog name.
      schema - a schema name pattern. null is used to imply no narrowing of the search by schema name. Otherwise, the name must match a schema name in the database, with "" used to retrieve those without a schema name.
      table - the table name. This must match the name of the table as declared in the database.
      scope - the SCOPE of interest, values as defined above.
      nullable - true = include columns that are nullable, false = do not include nullable columns.
      Returns:
      a ResultSet where each row is a description of a column and the complete set of rows is the optimal set for this table.
      Throws:
      SQLException - if there is a database error.
    • getVersionColumns

      public ResultSet getVersionColumns​(String catalog, String schema, String table) throws SQLException
      Description copied from interface: DatabaseMetaData
      Returns which of a table's columns are automatically updated when any value in a row is updated.

      The result is laid-out in the following columns:

      1. SCOPE - short - not used
      2. COLUMN_NAME - String - Column name
      3. DATA_TYPE - int - The SQL data type, as defined in java.sql.Types
      4. TYPE_NAME - String - The SQL type name, data source dependent
      5. COLUMN_SIZE - int - Precision for numeric types
      6. BUFFER_LENGTH - int - Length of a column value in bytes
      7. DECIMAL_DIGITS - short - Number of digits after the decimal point
      8. PSEUDO_COLUMN - short - If this is a pseudo-column (for example, an Oracle ROWID):
        • DatabaseMetaData.bestRowUnknown - don't know whether this is a pseudo column
        • DatabaseMetaData.bestRowNotPseudo - column is not pseudo
        • DatabaseMetaData.bestRowPseudo - column is a pseudo column
      Specified by:
      getVersionColumns in interface DatabaseMetaData
      Parameters:
      catalog - a catalog name. null is used to imply no narrowing of the search using catalog name. Otherwise, the name must match a catalog name held in the database, with "" used to retrieve those without a catalog name.
      schema - a schema name pattern. null is used to imply no narrowing of the search using schema names. Otherwise, the name must match a schema name in the database, with "" used to retrieve those without a schema name.
      table - a table name. It must match the name of a table in the database.
      Returns:
      a ResultSet containing the descriptions, one row for each column, in the format defined above.
      Throws:
      SQLException - a database error occurred.
    • getPrimaryKeys

      public ResultSet getPrimaryKeys​(String catalog, String schema, String table) throws SQLException
      Description copied from interface: DatabaseMetaData
      Returns a list of the primary key columns of a specified table.

      The list is returned as a ResultSet with one row for each primary key column, ordered by COLUMN_NAME, with each row having the structure as follows:

      1. TABLE_CAT - String - table catalog name (possibly null)
      2. TABLE_SCHEM - String - table schema name (possibly null)
      3. TABLE_NAME - String - The table name
      4. COLUMN_NAME - String - The column name
      5. KEY_SEQ - short - the sequence number for this column in the primary key
      6. PK_NAME - String - the primary key name (possibly null)
      Specified by:
      getPrimaryKeys in interface DatabaseMetaData
      Parameters:
      catalog - a catalog name. null is used to imply no narrowing of the search by catalog name. Otherwise, the name must match a catalog name held in the database, with the empty string used to retrieve those without a catalog name.
      schema - a schema name. null is used to imply no narrowing of the search by schema name. Otherwise, the name must match a schema name in the database, with the empty string used to retrieve those without a schema name.
      table - the name of a table, which must match the name of a table in the database.
      Returns:
      a ResultSet containing the list of keys in the format defined above.
      Throws:
      SQLException - a database error occurred.
    • getImportedKeys

      public ResultSet getImportedKeys​(String catalog, String schema, String table) throws SQLException
      Description copied from interface: DatabaseMetaData
      Returns a list columns in a table that are both primary keys and referenced by the table's foreign key columns (that is, the primary keys imported by a table).

      The list returned is a ResultSet with a row entry for each primary key column, ordered by PKTABLE_CAT, PKTABLE_SCHEM, PKTABLE_NAME, and KEY_SEQ, with the following format:

      1. PKTABLE_CAT - String - primary key catalog name being imported (possibly null)
      2. PKTABLE_SCHEM - String - primary key schema name being imported (possibly null)
      3. PKTABLE_NAME - String - primary key table name being imported
      4. PKCOLUMN_NAME - String - primary key column name being imported
      5. FKTABLE_CAT - String - foreign key table catalog name (possibly null)
      6. FKTABLE_SCHEM - String - foreign key table schema name (possibly null)
      7. FKTABLE_NAME - String - foreign key table name
      8. FKCOLUMN_NAME - String - foreign key column name
      9. KEY_SEQ - short - sequence number (in the foreign key)
      10. UPDATE_RULE - short - how to treat the foreign key when the corresponding primary key is updated:
        • DatabaseMetaData.importedKeyNoAction - don't allow any update of the primary key if it is imported as a foreign key
        • DatabaseMetaData.importedKeyCascade - change imported key to match the primary key update
        • DatabaseMetaData.importedKeySetNull - set the imported key to null
        • DatabaseMetaData.importedKeySetDefault - set the imported key to its default value
        • DatabaseMetaData.importedKeyRestrict - same as importedKeyNoAction
      11. DELETE_RULE - short - how to treat the foreign key when the corresponding primary key is deleted:
        • DatabaseMetaData.importedKeyNoAction - don't allow the primary key to be deleted if it is imported as a foreign key
        • DatabaseMetaData.importedKeyCascade - delete those rows that import a deleted key
        • DatabaseMetaData.importedKeySetNull - set the imported key to null
        • DatabaseMetaData.importedKeySetDefault - set the imported key to its default value
        • DatabaseMetaData.importedKeyRestrict - same as importedKeyNoAction
      12. FK_NAME - String - foreign key name (possibly null)
      13. PK_NAME - String - primary key name (possibly null)
      14. DEFERRABILITY - short - defines whether foreign key constraints can be deferred until commit (see SQL92 specification for definitions):
        • DatabaseMetaData.importedKeyInitiallyDeferred
        • DatabaseMetaData.importedKeyInitiallyImmediate
        • DatabaseMetaData.importedKeyNotDeferrable
      Specified by:
      getImportedKeys in interface DatabaseMetaData
      Parameters:
      catalog - a catalog name. null is used to imply no narrowing of the search by catalog name. Otherwise, the name must match a catalog name held in the database, with "" used to retrieve those without a catalog name.
      schema - a schema name. null is used to imply no narrowing of the search by schema name. Otherwise, the name must match a schema name in the database, with "" used to retrieve those without a schema name.
      table - a table name, which must match the name of a table in the database.
      Returns:
      a ResultSet containing the list of primary key columns as rows in the format defined above.
      Throws:
      SQLException - a database error occurred.
    • getExportedKeys

      public ResultSet getExportedKeys​(String catalog, String schema, String table) throws SQLException
      Description copied from interface: DatabaseMetaData
      Returns a list of the foreign key columns that reference the primary key columns of a specified table (the foreign keys exported by a table).

      The list is returned as a ResultSet with a row for each of the foreign key columns, ordered by FKTABLE_CAT, FKTABLE_SCHEM, FKTABLE_NAME, and KEY_SEQ, with the format for each row being:

      1. PKTABLE_CAT - String - from the primary key table : the catalog (possibly null)
      2. PKTABLE_SCHEM - String - from the primary key table : the schema (possibly null)
      3. PKTABLE_NAME - String - from the primary key table : the name
      4. PKCOLUMN_NAME - String - from the primary key column : the name
      5. FKTABLE_CAT - String - from the foreign key table : the catalog name being exported (possibly null)
      6. FKTABLE_SCHEM - String - from the foreign key table : the schema name being exported (possibly null)
      7. FKTABLE_NAME - String - from the foreign key table : the name being exported
      8. FKCOLUMN_NAME - String - from the foreign key column : the name being exported
      9. KEY_SEQ - short - the sequence number (in the foreign key)
      10. UPDATE_RULE - short - a value giving the rule for how to treat the foreign key when the corresponding primary key is updated:
        • DatabaseMetaData.importedKeyNoAction - don't allow the primary key to be updated if it is imported as a foreign key
        • DatabaseMetaData.importedKeyCascade - change the imported key to match the primary key update
        • DatabaseMetaData.importedKeySetNull - set the imported key to null
        • DatabaseMetaData.importedKeySetDefault - set the imported key to its default value
        • DatabaseMetaData.importedKeyRestrict - same as importedKeyNoAction
      11. DELETE_RULE - short - how to treat the foreign key when the corresponding primary key is deleted:
        • DatabaseMetaData.importedKeyNoAction - don't allow the primary key to be deleted if it is imported as a foreign key
        • DatabaseMetaData.importedKeyCascade - the deletion should also delete rows that import a deleted key
        • DatabaseMetaData.importedKeySetNull - the deletion sets the imported key to null
        • DatabaseMetaData.importedKeySetDefault - the deletion sets the imported key to its default value
        • DatabaseMetaData.importedKeyRestrict - same as importedKeyNoAction
      12. FK_NAME - String - the foreign key name (possibly null)
      13. PK_NAME - String - the primary key name (possibly null)
      14. DEFERRABILITY - short - defines whether the foreign key constraints can be deferred until commit (see the SQL92 specification for definitions):
        • DatabaseMetaData.importedKeyInitiallyDeferred
        • DatabaseMetaData.importedKeyInitiallyImmediate
        • DatabaseMetaData.importedKeyNotDeferrable
      Specified by:
      getExportedKeys in interface DatabaseMetaData
      Parameters:
      catalog - a catalog name. null is used to imply no narrowing of the search by catalog name. Otherwise, the name must match a catalog name held in the database, with "" used to retrieve those without a catalog name.
      schema - a schema name. null is used to imply no narrowing of the search by schema name. Otherwise, the name must match a schema name in the database, with "" used to retrieve those without a schema name.
      table - a table name, which must match the name of a table in the database
      Returns:
      a ResultSet containing a row for each of the foreign key columns, as defined above
      Throws:
      SQLException - a database error occurred
    • getCrossReference

      public ResultSet getCrossReference​(String primaryCatalog, String primarySchema, String primaryTable, String foreignCatalog, String foreignSchema, String foreignTable) throws SQLException
      Description copied from interface: DatabaseMetaData
      Returns a list of foreign key columns in a given foreign key table that reference the primary key columns of a supplied primary key table. This describes how one table imports the key of another table. It would be expected to return a single foreign key - primary key pair in most cases.

      The descriptions are returned as a ResultSet with one row for each foreign key, with the following layout:

      1. PKTABLE_CAT - String - from the primary key table : Catalog (possibly null)
      2. PKTABLE_SCHEM - String - from the primary key table : Schema (possibly null)
      3. PKTABLE_NAME - String - from the primary key table : name
      4. PKCOLUMN_NAME - String - from the primary key column : name
      5. FKTABLE_CAT - String - from the foreign key table : the catalog name being exported (possibly null)
      6. FKTABLE_SCHEM - String - from the foreign key table : the schema name being exported (possibly null)
      7. FKTABLE_NAME - String - from the foreign key table : the name being exported
      8. FKCOLUMN_NAME - String - from the foreign key column : the name being exported
      9. KEY_SEQ - short - the sequence number (in the foreign key)
      10. UPDATE_RULE - short - a value giving the rule for how to treat the corresponding foreign key when a primary key is updated:
        • DatabaseMetaData.importedKeyNoAction - don't allow the primary key to be updated if it is imported as a foreign key
        • DatabaseMetaData.importedKeyCascade - change the imported key to match the updated primary key
        • DatabaseMetaData.importedKeySetNull - set the imported key to null
        • DatabaseMetaData.importedKeySetDefault - set the imported key to its default value
        • DatabaseMetaData.importedKeyRestrict - same as importedKeyNoAction
      11. DELETE_RULE - short - a value giving the rule for how to treat the foreign key when the corresponding primary key is deleted:
        • DatabaseMetaData.importedKeyNoAction - don't allow the primary key to be deleted if it is imported as a foreign key
        • DatabaseMetaData.importedKeyCascade - delete those rows that import a deleted key
        • DatabaseMetaData.importedKeySetNull - set the imported key to null
        • DatabaseMetaData.importedKeySetDefault - set the imported key to its default value
        • DatabaseMetaData.importedKeyRestrict - same as importedKeyNoAction
      12. FK_NAME - String - the foreign key name (possibly null)
      13. PK_NAME - String - the primary key name (possibly null)
      14. DEFERRABILITY - short - whether foreign key constraints can be deferred until commit (see the SQL92 specification for definitions):
        • DatabaseMetaData.importedKeyInitiallyDeferred
        • DatabaseMetaData.importedKeyInitiallyImmediate
        • DatabaseMetaData.importedKeyNotDeferrable
      Specified by:
      getCrossReference in interface DatabaseMetaData
      Parameters:
      primaryCatalog - a catalog name for the primary key table. null is used to imply no narrowing of the search by catalog name. Otherwise, the name must match a catalog name held in the database, with "" used to retrieve those without a catalog name.
      primarySchema - a schema name for the primary key table. null is used to imply no narrowing of the search by schema name. Otherwise, the name must match a schema name in the database, with "" used to retrieve those without a schema name.
      primaryTable - the name of the table which exports the key. It must match the name of the table in the database.
      foreignCatalog - a catalog name for the foreign key table. null is used to imply no narrowing of the search by catalog name. Otherwise, the name must match a catalog name held in the database, with "" used to retrieve those without a catalog name.
      foreignSchema - a schema name for the foreign key table. null is used to imply no narrowing of the search by schema name. Otherwise, the name must match a schema name in the database, with "" used to retrieve those without a schema name.
      foreignTable - the name of the table importing the key. It must match the name of the table in the database.
      Returns:
      a ResultSet containing rows with the descriptions of the foreign keys laid out according to the format defined above.
      Throws:
      SQLException - if there is a database error.
    • getTypeInfo

      public ResultSet getTypeInfo() throws SQLException
      Description copied from interface: DatabaseMetaData
      Get a list of the standard SQL types supported by this database. The list is returned as a ResultSet, with one row for each type, ordered by the DATA_TYPE value, where the data in each row is structured into the following columns:
      1. TYPE_NAME - String : the type name
      2. DATA_TYPE - int : the SQL data type value as defined in java.sql.Types
      3. PRECISION - int - the maximum precision of the type
      4. LITERAL_PREFIX - String : the prefix to be used when quoting a literal value (possibly null)
      5. LITERAL_SUFFIX - String : the suffix to be used when quoting a literal value (possibly null)
      6. CREATE_PARAMS - String : params used when creating the type (possibly null)
      7. NULLABLE - short : shows if the value is nullable:
        • DatabaseMetaData.typeNoNulls : NULLs not permitted
        • DatabaseMetaData.typeNullable : NULLs are permitted
        • DatabaseMetaData.typeNullableUnknown : NULL status unknown
      8. CASE_SENSITIVE - boolean : true if the type is case sensitive
      9. SEARCHABLE - short : how this type can be used with WHERE clauses:
        • DatabaseMetaData.typePredNone - WHERE clauses cannot be used
        • DatabaseMetaData.typePredChar - support for WHERE...LIKE only
        • DatabaseMetaData.typePredBasic - support except for WHERE...LIKE
        • DatabaseMetaData.typeSearchable - support for all WHERE clauses
      10. UNSIGNED_ATTRIBUTE - boolean - the type is unsigned or not
      11. FIXED_PREC_SCALE - boolean - fixed precision = it can be used as a money value
      12. AUTO_INCREMENT - boolean - can be used as an auto-increment value
      13. LOCAL_TYPE_NAME - String - a localized version of the type name (possibly null)
      14. MINIMUM_SCALE - short - the minimum scale supported
      15. MAXIMUM_SCALE - short - the maximum scale supported
      16. SQL_DATA_TYPE - int - not used
      17. SQL_DATETIME_SUB - int - not used
      18. NUM_PREC_RADIX - int - number radix (typically 2 or 10)
      Specified by:
      getTypeInfo in interface DatabaseMetaData
      Returns:
      a ResultSet which is structured as described above.
      Throws:
      SQLException - a database error occurred.
    • getIndexInfo

      public ResultSet getIndexInfo​(String catalog, String schema, String table, boolean unique, boolean approximate) throws SQLException
      Description copied from interface: DatabaseMetaData
      Returns a list of indices and statistics for a specified table.

      The list is returned as a ResultSet, with one row for each index or statistic. The list is ordered by NON_UNIQUE, TYPE, INDEX_NAME, and ORDINAL_POSITION. Each row has the following format:

      1. TABLE_CAT - String - table catalog name (possibly null)
      2. TABLE_SCHEM - String - table schema name (possibly null)
      3. TABLE_NAME - String - The table name
      4. NON_UNIQUE - boolean - true when index values can be non-unique. Must be false when the TYPE is tableIndexStatistic
      5. INDEX_QUALIFIER - String : index catalog name. null when the TYPE is 'tableIndexStatistic'
      6. INDEX_NAME - String : index name. null when TYPE is 'tableIndexStatistic'
      7. TYPE - short - the index type. One of:
        • DatabaseMetaData.tableIndexStatistic - table statistics returned with Index descriptions
        • DatabaseMetaData.tableIndexClustered - a clustered Index
        • DatabaseMetaData.tableIndexHashed - a hashed Index
        • DatabaseMetaData.tableIndexOther - other style of Index
      8. ORDINAL_POSITION - short - column sequence within Index. 0 when TYPE is tableIndexStatistic
      9. COLUMN_NAME - String - the column name. null when TYPE is tableIndexStatistic
      10. ASC_OR_DESC - String - column sort sequence. null if sequencing not supported or TYPE is tableIndexStatistic; otherwise "A" means sort ascending and "D" means sort descending.
      11. CARDINALITY - int - Number of unique values in the Index. If TYPE is tableIndexStatistic, this is number of rows in the table.
      12. PAGES - int - Number of pages for current Index. If TYPE is tableIndexStatistic, this is number of pages used for the table.
      13. FILTER_CONDITION - String - Filter condition. (possibly null)
      Specified by:
      getIndexInfo in interface DatabaseMetaData
      Parameters:
      catalog - a catalog name. null is used to imply no narrowing of the search by catalog name. Otherwise, the name must match a catalog name held in the database, with "" used to retrieve those without a catalog name.
      schema - a schema name. null is used to imply no narrowing of the search by schema name. Otherwise, the name must match a schema name in the database, with "" used to retrieve those without a schema name.
      table - a table name, which must match the name of a table in the database.
      unique - true means only return indices for unique values, false implies that they can be returned even if not unique.
      approximate - true implies that the list can contain approximate or "out of data" values, false implies that all values must be precisely accurate
      Returns:
      a ResultSet containing the list of indices and statistics for the table, in the format defined above.
      Throws:
      SQLException - a database error occurred.
    • supportsResultSetType

      public boolean supportsResultSetType​(int type) throws SQLException
      Description copied from interface: DatabaseMetaData
      Determines whether the supplied ResultSet type is supported.
      Specified by:
      supportsResultSetType in interface DatabaseMetaData
      Parameters:
      type - the ResultSet type as defined in java.sql.ResultSet: ResultSet.TYPE_FORWARD_ONLY, ResultSet.TYPE_SCROLL_INSENSITIVE, or ResultSet.TYPE_SCROLL_SENSITIVE
      Returns:
      true if the ResultSet type is supported, false otherwise.
      Throws:
      SQLException - a database error occurred.
    • supportsResultSetConcurrency

      public boolean supportsResultSetConcurrency​(int type, int concurrency) throws SQLException
      Description copied from interface: DatabaseMetaData
      Determines whether there is support for a given concurrency style for the given ResultSet.
      Specified by:
      supportsResultSetConcurrency in interface DatabaseMetaData
      Parameters:
      type - the ResultSet type, as defined in java.sql.ResultSet:
      • ResultSet.TYPE_FORWARD_ONLY
      • ResultSet.TYPE_SCROLL_INSENSITIVE
      • ResultSet.TYPE_SCROLL_SENSITIVE
      concurrency - a concurrency type, which may be one of ResultSet.CONCUR_READ_ONLY or ResultSet.CONCUR_UPDATABLE.
      Returns:
      true if that concurrency and ResultSet type pairing is supported otherwise false.
      Throws:
      SQLException - a database error occurred.
    • ownUpdatesAreVisible

      public boolean ownUpdatesAreVisible​(int type) throws SQLException
      Description copied from interface: DatabaseMetaData
      Determines whether a ResultSet can see its own updates, for a specified ResultSet type.
      Specified by:
      ownUpdatesAreVisible in interface DatabaseMetaData
      Parameters:
      type - the type of the ResultSet: ResultSet.TYPE_FORWARD_ONLY, ResultSet.TYPE_SCROLL_INSENSITIVE, or ResultSet.TYPE_SCROLL_SENSITIVE
      Returns:
      true if the updates are seen by the ResultSet itself, otherwise false.
      Throws:
      SQLException - a database error occurred.
    • ownDeletesAreVisible

      public boolean ownDeletesAreVisible​(int type) throws SQLException
      Description copied from interface: DatabaseMetaData
      Determines whether a ResultSet can see its own deletes, for a specified ResultSet type.
      Specified by:
      ownDeletesAreVisible in interface DatabaseMetaData
      Parameters:
      type - the type of the ResultSet: ResultSet.TYPE_FORWARD_ONLY, ResultSet.TYPE_SCROLL_INSENSITIVE, or ResultSet.TYPE_SCROLL_SENSITIVE
      Returns:
      true if the deletes are seen by the ResultSet itself, otherwise false.
      Throws:
      SQLException - a database error occurred.
    • ownInsertsAreVisible

      public boolean ownInsertsAreVisible​(int type) throws SQLException
      Description copied from interface: DatabaseMetaData
      Determines whether a ResultSet can see its own inserts, for a specified ResultSet type.
      Specified by:
      ownInsertsAreVisible in interface DatabaseMetaData
      Parameters:
      type - the type of the ResultSet: ResultSet.TYPE_FORWARD_ONLY, ResultSet.TYPE_SCROLL_INSENSITIVE, or ResultSet.TYPE_SCROLL_SENSITIVE
      Returns:
      true if the inserts are seen by the ResultSet itself, otherwise false.
      Throws:
      SQLException - a database error occurred.
    • othersUpdatesAreVisible

      public boolean othersUpdatesAreVisible​(int type) throws SQLException
      Description copied from interface: DatabaseMetaData
      Determines whether updates made by others are visible, for a specified ResultSet type.
      Specified by:
      othersUpdatesAreVisible in interface DatabaseMetaData
      Parameters:
      type - the type of the ResultSet. May be ResultSet.TYPE_FORWARD_ONLY, or ResultSet.TYPE_SCROLL_INSENSITIVE, or ResultSet.TYPE_SCROLL_SENSITIVE
      Returns:
      true if others' inserts are visible, otherwise false.
      Throws:
      SQLException - a database error occurred.
    • othersDeletesAreVisible

      public boolean othersDeletesAreVisible​(int type) throws SQLException
      Description copied from interface: DatabaseMetaData
      Determines whether deletes made by others are visible, for a specified ResultSet type.
      Specified by:
      othersDeletesAreVisible in interface DatabaseMetaData
      Parameters:
      type - the type of the ResultSet. It may be either ResultSet.TYPE_FORWARD_ONLY or ResultSet.TYPE_SCROLL_INSENSITIVE, or ResultSet.TYPE_SCROLL_SENSITIVE)
      Returns:
      true if others' deletes are visible, false otherwise.
      Throws:
      SQLException - a database error occurred.
    • othersInsertsAreVisible

      public boolean othersInsertsAreVisible​(int type) throws SQLException
      Description copied from interface: DatabaseMetaData
      Determines whether inserts made by others are visible, for a specified ResultSet type.
      Specified by:
      othersInsertsAreVisible in interface DatabaseMetaData
      Parameters:
      type - the type of the ResultSet. May be ResultSet.TYPE_FORWARD_ONLY, or ResultSet.TYPE_SCROLL_INSENSITIVE, or ResultSet.TYPE_SCROLL_SENSITIVE
      Returns:
      true if others' inserts are visible, otherwise false.
      Throws:
      SQLException - a database error occurred.
    • updatesAreDetected

      public boolean updatesAreDetected​(int type) throws SQLException
      Description copied from interface: DatabaseMetaData
      Determines whether the method ResultSet.rowUpdated can detect a visible row update for the specified ResultSet type.
      Specified by:
      updatesAreDetected in interface DatabaseMetaData
      Parameters:
      type - ResultSet type: ResultSet.TYPE_FORWARD_ONLY, ResultSet.TYPE_SCROLL_INSENSITIVE, or ResultSet.TYPE_SCROLL_SENSITIVE
      Returns:
      true detecting changes is possible, otherwise false.
      Throws:
      SQLException - a database error occurred.
    • deletesAreDetected

      public boolean deletesAreDetected​(int type) throws SQLException
      Description copied from interface: DatabaseMetaData
      Returns whether a visible row delete can be detected by calling ResultSet.rowDeleted().
      Specified by:
      deletesAreDetected in interface DatabaseMetaData
      Parameters:
      type - the type of the ResultSet involved: ResultSet.TYPE_FORWARD_ONLY, ResultSet.TYPE_SCROLL_INSENSITIVE, or ResultSet.TYPE_SCROLL_SENSITIVE
      Returns:
      true if the visible row delete can be detected, false otherwise.
      Throws:
      SQLException - if there is a database error.
    • insertsAreDetected

      public boolean insertsAreDetected​(int type) throws SQLException
      Description copied from interface: DatabaseMetaData
      Determines whether a visible row insert can be detected by calling ResultSet.rowInserted.
      Specified by:
      insertsAreDetected in interface DatabaseMetaData
      Parameters:
      type - the ResultSet type. This may be one of ResultSet.TYPE_SCROLL_SENSITIVE or ResultSet.TYPE_SCROLL_INSENSITIVE or ResultSet.TYPE_FORWARD_ONLY,
      Returns:
      true if ResultSet.rowInserted detects a visible row insert otherwise false.
      Throws:
      SQLException - a database error occurred.
      See Also:
      ResultSet.rowInserted()
    • supportsBatchUpdates

      public boolean supportsBatchUpdates() throws SQLException
      Description copied from interface: DatabaseMetaData
      Determines whether the database supports batch updates.
      Specified by:
      supportsBatchUpdates in interface DatabaseMetaData
      Returns:
      true if batch updates are supported, false otherwise.
      Throws:
      SQLException - a database error occurred.
    • getUDTs

      public ResultSet getUDTs​(String catalog, String schemaPattern, String typeNamePattern, int[] types) throws SQLException
      Description copied from interface: DatabaseMetaData
      Returns a description of the User Defined Types (UDTs) defined in a given schema, which includes the types DISTINCT, STRUCT and JAVA_OBJECT.

      The types matching the supplied the specified catalog, schema, type name and type are returned as rows in a ResultSet with columns of information as follows:

      1. TABLE_CAT - String - catalog name (possibly null)
      2. TABLE_SCHEM - String - schema name (possibly null)
      3. TABLE_NAME - String - The table name
      4. CLASS_NAME - String - The Java class name
      5. DATA_TYPE - int - The SQL type as specified in java.sql.Types. One of DISTINCT, STRUCT, and JAVA_OBJECT
      6. REMARKS - String - A comment which describes the type
      7. BASE_TYPE - short - A type code. For a DISTINCT type, the source type. For a structured type this is the type that implements the user generated reference type of the SELF_REFERENCING_COLUMN. This is defined in java.sql.Types, and will be null if the DATA_TYPE does not match these criteria.

      If the driver does not support UDTs, the ResultSet is empty.

      Specified by:
      getUDTs in interface DatabaseMetaData
      Parameters:
      catalog - a catalog name. null is used to imply no narrowing of the search by catalog name. Otherwise, the name must match a catalog name held in the database, with "" used to retrieve those without a catalog name.
      schemaPattern - a schema name pattern. null is used to imply no narrowing of the search using schema name. Otherwise, the name must match a schema name in the database, with "" used to retrieve those without a schema name.
      typeNamePattern - a type name pattern, which should match a type name as stored in the database. It may be fully qualified.
      types - a list of the UDT types to include in the list - one of DISTINCT, STRUCT or JAVA_OBJECT.
      Returns:
      a ResultSet in the format described above.
      Throws:
      SQLException - a database error occurred.
    • getConnection

      public Connection getConnection() throws SQLException
      Description copied from interface: DatabaseMetaData
      Returns the database connection that created this metadata.
      Specified by:
      getConnection in interface DatabaseMetaData
      Returns:
      the connection to the database.
      Throws:
      SQLException - if there is a database error.
    • supportsSavepoints

      public boolean supportsSavepoints()
      Description copied from interface: DatabaseMetaData
      Determines whether savepoints for transactions are supported.
      Specified by:
      supportsSavepoints in interface DatabaseMetaData
      Returns:
      true if savepoints are supported, false otherwise.
    • supportsNamedParameters

      public boolean supportsNamedParameters()
      Description copied from interface: DatabaseMetaData
      Determines whether callable statements with named parameters is supported.
      Specified by:
      supportsNamedParameters in interface DatabaseMetaData
      Returns:
      true if named parameters can be used with callable statements, false otherwise.
    • supportsMultipleOpenResults

      public boolean supportsMultipleOpenResults()
      Description copied from interface: DatabaseMetaData
      Determines whether it is possible for a single CallableStatement to return multiple ResultSets simultaneously.
      Specified by:
      supportsMultipleOpenResults in interface DatabaseMetaData
      Returns:
      true if a single CallableStatement can return multiple ResultSets simultaneously, false otherwise.
    • supportsGetGeneratedKeys

      public boolean supportsGetGeneratedKeys()
      Description copied from interface: DatabaseMetaData
      Determines whether auto generated keys can be returned when a statement executes.
      Specified by:
      supportsGetGeneratedKeys in interface DatabaseMetaData
      Returns:
      true if auto generated keys can be returned, false otherwise.
    • supportsResultSetHoldability

      public boolean supportsResultSetHoldability​(int x)
      Description copied from interface: DatabaseMetaData
      Determines whether the supplied ResultSet holdability mode is supported.
      Specified by:
      supportsResultSetHoldability in interface DatabaseMetaData
      Parameters:
      x - as specified in java.sql.ResultSet: ResultSet.HOLD_CURSORS_OVER_COMMIT or ResultSet.CLOSE_CURSORS_AT_COMMIT
      Returns:
      true if the given ResultSet holdability is supported and if it isn't then false.
    • supportsStatementPooling

      public boolean supportsStatementPooling()
      Description copied from interface: DatabaseMetaData
      Determines whether statement pooling is supported.
      Specified by:
      supportsStatementPooling in interface DatabaseMetaData
      Returns:
      true of the database does support statement pooling, otherwise false.
    • locatorsUpdateCopy

      public boolean locatorsUpdateCopy() throws SQLException
      Description copied from interface: DatabaseMetaData
      Determines whether updates are made to a copy of, or directly on, Large Objects (LOBs).
      Specified by:
      locatorsUpdateCopy in interface DatabaseMetaData
      Returns:
      true if updates are made to a copy of the Large Object, false otherwise.
      Throws:
      SQLException - a database error occurred.
    • getSuperTypes

      public ResultSet getSuperTypes​(String catalog, String schemaPattern, String typeNamePattern) throws SQLException
      Description copied from interface: DatabaseMetaData
      Returns the User Defined Type (UDT) hierarchies for a given schema. Only the immediate parent/child relationship is described. If a UDT does not have a direct supertype, it is not listed.

      The listing is returned as a ResultSet where there is one row for a specific UDT which describes its supertype, with the data organized in columns as follows:

      1. TYPE_CAT - String - the UDT catalog name (possibly null)
      2. TYPE_SCHEM - String - the UDT schema name (possibly null)
      3. TYPE_NAME - String - the UDT type name
      4. SUPERTYPE_CAT - String - direct supertype's catalog name (possibly null)
      5. SUPERTYPE_SCHEM - String - direct supertype's schema name (possibly null)
      6. SUPERTYPE_NAME - String - direct supertype's name
      Specified by:
      getSuperTypes in interface DatabaseMetaData
      Parameters:
      catalog - the catalog name. "" means get the UDTs without a catalog. null means don't use the catalog name to restrict the search.
      schemaPattern - the Schema pattern name. "" means get the UDT's without a schema.
      typeNamePattern - the UDT name pattern. This may be a fully qualified name. When a fully qualified name is specified, the catalog name and schema name parameters are ignored.
      Returns:
      a ResultSet in which each row gives information about a particular UDT in the format defined above. An empty ResultSet is returned for a database that does not support type hierarchies.
      Throws:
      SQLException - a database error occurred.
    • getSuperTables

      public ResultSet getSuperTables​(String catalog, String schemaPattern, String tableNamePattern) throws SQLException
      Description copied from interface: DatabaseMetaData
      Returns a listing of the hierarchies of tables in a specified schema in the database.

      The listing only contains entries for tables that have a super table. Super tables and corresponding subtables must be defined in the same catalog and schema. The list is returned as a ResultSet, with one row for each table that has a super table, in the following format:

      1. TABLE_CAT - String - table catalog name (possibly null)
      2. TABLE_SCHEM - String - Table schema name (possibly null)
      3. TABLE_NAME - String - The table name
      4. SUPERTABLE_NAME - String - The super table name
      Specified by:
      getSuperTables in interface DatabaseMetaData
      Parameters:
      catalog - a catalog name. null is used to imply no narrowing of the search by catalog name. Otherwise, the name must match a catalog name held in the database, with "" used to retrieve those without a catalog name.
      schemaPattern - a schema name pattern. null is used to imply no narrowing of the search by schema name. Otherwise, the name must match a schema name in the database, with "" used to retrieve those without a schema name.
      tableNamePattern - a table name, which should match the table name as stored in the database. it may be a fully qualified name. If it is fully qualified the catalog name and schema name parameters are ignored.
      Returns:
      a ResultSet with one row for each table which has a super table, in the format defined above. An empty ResultSet is returned if the database does not support table hierarchies.
      Throws:
      SQLException - a database error occurred.
    • getAttributes

      public ResultSet getAttributes​(String catalog, String schemaPattern, String typeNamePattern, String attributeNamePattern) throws SQLException
      Description copied from interface: DatabaseMetaData
      Returns a ResultSet describing a subset of the attributes of a specified SQL User Defined Type (UDT) for a specified schema and catalog. The subset is determined by restricting to those attributes whose name matches the attributeNamePattern and whose type name matches the typeNamePattern. Each row of the ResultSet describes one attribute, and the rows are ordered by the columns TYPE_SCHEM, TYPE_NAME and ORDINAL_POSITION. Inherited attributes are not included.

      The columns of the returned ResultSet object have the following names and meanings:

      1. TYPE_CAT - String - the type catalog name (possibly null)
      2. TYPE_SCHEM - String - the type schema name (possibly null)
      3. TYPE_NAME - String - the type name
      4. ATTR_NAME - String - the attribute name
      5. DATA_TYPE - int - the attribute type as defined in java.sql.Types
      6. ATTR_TYPE_NAME - String - the attribute type name. This depends on the data source. For a UDT the name is fully qualified. For a REF it is both fully qualified and represents the target type of the reference.
      7. ATTR_SIZE - int - the column size. When referring to char and date types this value is the maximum number of characters. When referring to numeric types is is the precision.
      8. DECIMAL_DIGITS - int - how many fractional digits are supported
      9. NUM_PREC_RADIX - int - numeric values radix
      10. NULLABLE - int - whether NULL is permitted:
        • DatabaseMetaData.attributeNoNulls - NULL values not permitted
        • DatabaseMetaData.attributeNullable - NULL values definitely permitted
        • DatabaseMetaData.attributeNullableUnknown - unknown
      11. REMARKS - String - a comment describing the attribute (possibly null)
      12. ATTR_DEF - String - Default value for the attribute (possibly null)
      13. SQL_DATA_TYPE - int - not used
      14. SQL_DATETIME_SUB - int - not used
      15. CHAR_OCTET_LENGTH - int - for CHAR types, the max number of bytes in the column
      16. ORDINAL_POSITION - int - The index of the column in the table (where the count starts from 1, not 0)
      17. IS_NULLABLE - String - "NO" = the column does not allow NULLs, "YES" = the column allows NULLs, "" = status unknown
      18. SCOPE_CATALOG - String - if the DATA_TYPE is REF, this gives the catalog of the table corresponding to the attribute's scope. NULL if the DATA_TYPE is not REF.
      19. SCOPE_SCHEMA - String - if the DATA_TYPE is REF, this gives the schema of the table corresponding to the attribute's scope. NULL if the DATA_TYPE is not REF.
      20. SCOPE_TABLE - String - if the DATA_TYPE is REF, this gives the name of the table corresponding to the attribute's scope. NULL if the DATA_TYPE is not REF.
      21. SOURCE_DATA_TYPE - String - The source type for a user generated REF type or for a Distinct type. (NULL if DATA_TYPE is not DISTINCT or a user generated REF)
      Specified by:
      getAttributes in interface DatabaseMetaData
      Parameters:
      catalog - a catalog name. null is used to imply no narrowing of the search by catalog name. Otherwise, the name must match a catalog name held in the database, with "" used to retrieve those without a catalog name.
      schemaPattern - a schema name pattern. null is used to imply no narrowing of the search by a schema name. Otherwise, the name must match a schema name in the database, with "" used to retrieve those without a schema name.
      typeNamePattern - a type name. This pattern must match the type name stored in the database.
      attributeNamePattern - an Attribute name. This pattern must match the attribute name as stored in the database.
      Returns:
      a ResultSet, where each row is an attribute description.
      Throws:
      SQLException - if there is a database error.
    • getResultSetHoldability

      public int getResultSetHoldability() throws SQLException
      Description copied from interface: DatabaseMetaData
      Returns the result set's default holdability.
      Specified by:
      getResultSetHoldability in interface DatabaseMetaData
      Returns:
      one of ResultSet.HOLD_CURSORS_OVER_COMMIT or ResultSet.CLOSE_CURSORS_AT_COMMIT.
      Throws:
      SQLException - a database error occurred.
    • getDatabaseMajorVersion

      public int getDatabaseMajorVersion()
      Description copied from interface: DatabaseMetaData
      Returns the major version number of the database software.
      Specified by:
      getDatabaseMajorVersion in interface DatabaseMetaData
      Returns:
      the major version number of the database software.
    • getDatabaseMinorVersion

      public int getDatabaseMinorVersion()
      Description copied from interface: DatabaseMetaData
      Returns the minor version number of the database software.
      Specified by:
      getDatabaseMinorVersion in interface DatabaseMetaData
      Returns:
      the minor version number of the database software.
    • getJDBCMajorVersion

      public int getJDBCMajorVersion()
      Description copied from interface: DatabaseMetaData
      Returns this driver's major JDBC version number.
      Specified by:
      getJDBCMajorVersion in interface DatabaseMetaData
      Returns:
      the major JDBC version number.
    • getJDBCMinorVersion

      public int getJDBCMinorVersion()
      Description copied from interface: DatabaseMetaData
      Returns the minor JDBC version number for this driver.
      Specified by:
      getJDBCMinorVersion in interface DatabaseMetaData
      Returns:
      the Minor JDBC Version Number.
    • getSQLStateType

      public int getSQLStateType() throws SQLException
      Description copied from interface: DatabaseMetaData
      States the type of SQLState value returned by SQLException.getSQLState. This can either be the X/Open (now known as Open Group) SQL CLI form or the SQL99 form.
      Specified by:
      getSQLStateType in interface DatabaseMetaData
      Returns:
      an integer, which is either DatabaseMetaData.sqlStateSQL99 or DatabaseMetaData.sqlStateXOpen.
      Throws:
      SQLException - a database error occurred.
    • getRowIdLifetime

      public RowIdLifetime getRowIdLifetime() throws SQLException
      Description copied from interface: DatabaseMetaData
      Returns the lifetime for which a RowId object remains valid if this data source supports the SQL ROWID type
      Specified by:
      getRowIdLifetime in interface DatabaseMetaData
      Returns:
      the time of a RowId object that remains valid.
      Throws:
      SQLException - if any error occurs
    • getSchemas

      public ResultSet getSchemas​(String cat, String schema) throws SQLException
      Description copied from interface: DatabaseMetaData
      Returns the schema names ordered by TABLE_CATALOG and TABLE_SCHEMA.
      Specified by:
      getSchemas in interface DatabaseMetaData
      Parameters:
      cat - the catalog
      schema - the schema pattern
      Returns:
      the schema names
      Throws:
      SQLException - if any error occurs
    • supportsStoredFunctionsUsingCallSyntax

      public boolean supportsStoredFunctionsUsingCallSyntax() throws SQLException
      Description copied from interface: DatabaseMetaData
      Determine if this database supports invoking user-defined or vendor functions using the stored procedure escape syntax.
      Specified by:
      supportsStoredFunctionsUsingCallSyntax in interface DatabaseMetaData
      Returns:
      true if this database supports invoking user-defined or vendor functions using the stored procedure escape syntax.
      Throws:
      SQLException - if any error occurs
    • autoCommitFailureClosesAllResultSets

      public boolean autoCommitFailureClosesAllResultSets() throws SQLException
      Description copied from interface: DatabaseMetaData
      Determine if a SQLException while autoCommit is true indicates that all open ResultSets are closed, even ones that are holdable
      Specified by:
      autoCommitFailureClosesAllResultSets in interface DatabaseMetaData
      Returns:
      true if all open ResultSets are closed
      Throws:
      SQLException - if any error occurs
    • getClientInfoProperties

      public ResultSet getClientInfoProperties() throws SQLException
      Description copied from interface: DatabaseMetaData
      Returns a list of the client info properties of the driver.
      Specified by:
      getClientInfoProperties in interface DatabaseMetaData
      Returns:
      a list of the client info
      Throws:
      SQLException - if any error occurs
    • getFunctions

      public ResultSet getFunctions​(String cat, String schema, String func) throws SQLException
      Description copied from interface: DatabaseMetaData
      Returns a description of the system and user functions available according to the given catalog.
      Specified by:
      getFunctions in interface DatabaseMetaData
      Parameters:
      cat - the given catalog
      schema - the schema pattern
      func - the function name pattern
      Returns:
      user functions
      Throws:
      SQLException - if any error occurs
    • getFunctionColumns

      public ResultSet getFunctionColumns​(String cat, String schema, String func, String colpat) throws SQLException
      Description copied from interface: DatabaseMetaData
      Returns a description according to the given catalog's system or user function parameters and return type.
      Specified by:
      getFunctionColumns in interface DatabaseMetaData
      Parameters:
      cat - the given catalong
      schema - the schema pattern
      func - the function name pattern
      colpat - the column name pattern
      Returns:
      a description of user functions
      Throws:
      SQLException - if any error occurs
    • unwrap

      public <T> T unwrap​(Class<T> iface) throws SQLException
      Description copied from interface: Wrapper
      Returns an object that implements the given interface. If the caller is not a wrapper, a SQLException will be thrown.
      Specified by:
      unwrap in interface Wrapper
      Parameters:
      iface - - the class that defines the interface
      Returns:
      - an object that implements the interface
      Throws:
      SQLException - - if there is no object implementing the specific interface
    • isWrapperFor

      public boolean isWrapperFor​(Class iface) throws SQLException
      Description copied from interface: Wrapper
      If the caller is a wrapper of the class or implements the given interface, the methods return false and vice versa.
      Specified by:
      isWrapperFor in interface Wrapper
      Parameters:
      iface - - the class that defines the interface
      Returns:
      - true if the instance implements the interface
      Throws:
      SQLException - - when an error occurs when judges the object