Package SQLite.JDBC2z

Class JDBCDatabaseMetaData

    • Constructor Detail

      • JDBCDatabaseMetaData

        public JDBCDatabaseMetaData​(JDBCConnection conn)
    • Method Detail

      • 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.
      • 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.
      • 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.
      • 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.
      • 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.
      • 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.
      • 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.
      • 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.
      • 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.
      • 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.
      • 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.
      • 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.
      • 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.
      • 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.
      • 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.
      • 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()
      • 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.
      • 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.
      • 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.
      • 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
      • 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