Interface DatabaseMetaData


  • public interface DatabaseMetaData
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      boolean allProceduresAreCallable()
      This method tests whether or not all the procedures returned by the getProcedures method can be called by this user.
      boolean allTablesAreSelectable()
      This method tests whether or not all the table returned by the getTables method can be selected by this user.
      boolean dataDefinitionCausesTransactionCommit()
      This method tests whether or not a DDL statement will cause the current transaction to be automatically committed.
      boolean dataDefinitionIgnoredInTransactions()
      This method tests whether or not DDL statements are ignored in transactions.
      boolean deletesAreDetected​(int type)
      This method tests whether or not the specified result set type can detect a visible delete by calling the rowUpdated method.
      boolean doesMaxRowSizeIncludeBlobs()
      This method tests whether or not the maximum row size includes BLOB's
      ResultSet getAttributes​(java.lang.String catalog, java.lang.String schemaPattern, java.lang.String typePattern, java.lang.String attributePattern)  
      ResultSet getBestRowIdentifier​(java.lang.String catalog, java.lang.String schema, java.lang.String tableName, int scope, boolean nullable)
      This method returns the best set of columns for uniquely identifying a row.
      ResultSet getCatalogs()
      This method returns the list of database catalogs as a ResultSet with one column - TABLE_CAT - that is the name of the catalog.
      java.lang.String getCatalogSeparator()
      This method returns the separator between the catalog name and the table name.
      java.lang.String getCatalogTerm()
      This method returns the vendor's term for "catalog".
      ResultSet getColumnPrivileges​(java.lang.String catalog, java.lang.String schema, java.lang.String tableName, java.lang.String columnPattern)
      This method returns the access rights that have been granted to the requested columns.
      ResultSet getColumns​(java.lang.String catalog, java.lang.String schemaPattern, java.lang.String tablePattern, java.lang.String columnPattern)
      This method returns a list of the tables columns for the requested tables.
      Connection getConnection()
      This method returns the Connection object that was used to generate the metadata in this object.
      ResultSet getCrossReference​(java.lang.String primaryCatalog, java.lang.String primarySchema, java.lang.String primaryTableName, java.lang.String foreignCatalog, java.lang.String foreignSchema, java.lang.String foreignTableName)
      This method returns a description of how one table imports another table's primary key as a foreign key.
      int getDatabaseMajorVersion()
      This method returns the major version number of the database.
      int getDatabaseMinorVersion()
      This method returns the minor version number of the database.
      java.lang.String getDatabaseProductName()
      This method returns the name of the database product.
      java.lang.String getDatabaseProductVersion()
      This method returns the version of the database product.
      int getDefaultTransactionIsolation()
      This method returns the default transaction isolation level of the database.
      int getDriverMajorVersion()
      This method returns the major version number of the JDBC driver.
      int getDriverMinorVersion()
      This method returns the minor version number of the JDBC driver.
      java.lang.String getDriverName()
      This method returns the name of the JDBC driver.
      java.lang.String getDriverVersion()
      This method returns the version of the JDBC driver.
      ResultSet getExportedKeys​(java.lang.String catalog, java.lang.String schema, java.lang.String tableName)
      This method returns a list of the table's which use this table's primary key as a foreign key.
      java.lang.String getExtraNameCharacters()
      This methods returns non-standard characters that can appear in unquoted identifiers.
      java.lang.String getIdentifierQuoteString()
      This metohd returns the quote string for SQL identifiers.
      ResultSet getImportedKeys​(java.lang.String catalog, java.lang.String schema, java.lang.String tableName)
      This method returns a list of the table's foreign keys.
      ResultSet getIndexInfo​(java.lang.String catalog, java.lang.String schema, java.lang.String tableName, boolean unique, boolean approximate)
      This method returns information about a tables indices and statistics.
      int getJDBCMajorVersion()
      This method returns the major version number of the JDBC driver.
      int getJDBCMinorVersion()
      This method returns the minor version number of the JDBC driver.
      int getMaxBinaryLiteralLength()
      This method returns the number of hex characters allowed in an inline binary literal.
      int getMaxCatalogNameLength()
      This method returns the maximum length of a catalog name.
      int getMaxCharLiteralLength()
      This method returns the maximum length of a character literal.
      int getMaxColumnNameLength()
      This method returns the maximum length of a column name.
      int getMaxColumnsInGroupBy()
      This method returns the maximum number of columns in a GROUP BY statement.
      int getMaxColumnsInIndex()
      This method returns the maximum number of columns in an index.
      int getMaxColumnsInOrderBy()
      This method returns the maximum number of columns in an ORDER BY statement.
      int getMaxColumnsInSelect()
      This method returns the maximum number of columns in a SELECT statement.
      int getMaxColumnsInTable()
      This method returns the maximum number of columns in a table.
      int getMaxConnections()
      This method returns the maximum number of connections this client can have to the database.
      int getMaxCursorNameLength()
      This method returns the maximum length of a cursor name.
      int getMaxIndexLength()
      This method returns the maximum length of an index.
      int getMaxProcedureNameLength()
      This method returns the maximum length of a procedure name.
      int getMaxRowSize()
      This method returns the maximum size of a row in bytes.
      int getMaxSchemaNameLength()
      This method returns the maximum length of a schema name.
      int getMaxStatementLength()
      This method includes the maximum length of a SQL statement.
      int getMaxStatements()
      This method returns the maximum number of statements that can be active at any time.
      int getMaxTableNameLength()
      This method returns the maximum length of a table name.
      int getMaxTablesInSelect()
      This method returns the maximum number of tables that may be referenced in a SELECT statement.
      int getMaxUserNameLength()
      This method returns the maximum length of a user name.
      java.lang.String getNumericFunctions()
      This method returns a comma separated list of math functions.
      ResultSet getPrimaryKeys​(java.lang.String catalog, java.lang.String schema, java.lang.String tableName)
      This method returns a list of a table's primary key columns.
      ResultSet getProcedureColumns​(java.lang.String catalog, java.lang.String schemaPattern, java.lang.String procedurePattern, java.lang.String columnPattern)
      This method returns a list of the parameter and result columns for the requested stored procedures.
      ResultSet getProcedures​(java.lang.String catalog, java.lang.String schemaPattern, java.lang.String procedurePattern)
      This method returns a list of all the stored procedures matching the specified pattern in the given schema and catalog.
      java.lang.String getProcedureTerm()
      This method returns the vendor's term for "procedure".
      int getResultSetHoldability()
      This method returns the default holdability type of ResultSetS retrieved from this database.
      ResultSet getSchemas()
      This method returns the list of database schemas as a ResultSet, with one column - TABLE_SCHEM - that is the name of the schema.
      java.lang.String getSchemaTerm()
      This method returns the vendor's term for "schema".
      java.lang.String getSearchStringEscape()
      This method returns the string used to escape wildcards in search strings.
      java.lang.String getSQLKeywords()
      This method returns a comma separated list of all the SQL keywords in the database that are not in SQL92.
      int getSQLStateType()  
      java.lang.String getStringFunctions()
      This method returns a comma separated list of string functions.
      ResultSet getSuperTables​(java.lang.String catalog, java.lang.String schemaPattern, java.lang.String tablePattern)  
      ResultSet getSuperTypes​(java.lang.String catalog, java.lang.String schemaPattern, java.lang.String typePattern)  
      java.lang.String getSystemFunctions()
      This method returns a comma separated list of of system functions.
      ResultSet getTablePrivileges​(java.lang.String catalog, java.lang.String schemaPattern, java.lang.String tablePattern)
      This method returns the access rights that have been granted to the requested tables.
      ResultSet getTables​(java.lang.String catalog, java.lang.String schemaPattern, java.lang.String tablePattern, java.lang.String[] types)
      This method returns a list of the requested table as a ResultSet with the following columns: TABLE_CAT - The catalog the table is in, which may be null. TABLE_SCHEM - The schema the table is in, which may be null. TABLE_NAME - The name of the table. TABLE_TYPE - A string describing the table type.
      ResultSet getTableTypes()
      This method returns the list of database table types as a ResultSet with one column - TABLE_TYPE - that is the name of the table type.
      java.lang.String getTimeDateFunctions()
      This method returns comma separated list of time/date functions.
      ResultSet getTypeInfo()
      This method returns a list of the SQL types supported by this database.
      ResultSet getUDTs​(java.lang.String catalog, java.lang.String schemaPattern, java.lang.String typePattern, int[] types)
      This method returns the list of user defined data types in use.
      java.lang.String getURL()
      This method returns the URL for this database.
      java.lang.String getUserName()
      This method returns the database username for this connection.
      ResultSet getVersionColumns​(java.lang.String catalog, java.lang.String schema, java.lang.String tableName)
      This method returns the set of columns that are automatically updated when the row is update.
      boolean insertsAreDetected​(int type)
      This method tests whether or not the specified result set type can detect a visible insert by calling the rowUpdated method.
      boolean isCatalogAtStart()
      This method tests whether a catalog name appears at the beginning of a fully qualified table name.
      boolean isReadOnly()
      This method tests whether or not the database is in read only mode.
      boolean locatorsUpdateCopy()  
      boolean nullPlusNonNullIsNull()
      This method tests whether the concatenation of a NULL and non-NULL value results in a NULL.
      boolean nullsAreSortedAtEnd()
      This method test whether or not NULL's are sorted to the end of the list regardless of ascending or descending sort order.
      boolean nullsAreSortedAtStart()
      This method tests whether or not NULL's sort as high values.
      boolean nullsAreSortedHigh()
      This method tests whether or not NULL's sort as high values.
      boolean nullsAreSortedLow()
      This method tests whether or not NULL's sort as low values.
      boolean othersDeletesAreVisible​(int type)
      This method tests whether or not the specified result set type sees deletes committed by others.
      boolean othersInsertsAreVisible​(int type)
      This method tests whether or not the specified result set type sees inserts committed by others.
      boolean othersUpdatesAreVisible​(int type)
      This method tests whether or not the specified result set type sees updates committed by others.
      boolean ownDeletesAreVisible​(int type)
      This method tests whether or not the specified result set type sees its own deletes.
      boolean ownInsertsAreVisible​(int type)
      This method tests whether or not the specified result set type sees its own inserts.
      boolean ownUpdatesAreVisible​(int type)
      This method tests whether or not the specified result set type sees its own updates.
      boolean storesLowerCaseIdentifiers()
      This method tests whether or not the database treats mixed case identifiers as all lower case.
      boolean storesLowerCaseQuotedIdentifiers()
      This method tests whether or not the database treats mixed case quoted identifiers as all lower case.
      boolean storesMixedCaseIdentifiers()
      This method tests whether or not the database stores mixed case identifers even if it treats them as case insensitive.
      boolean storesMixedCaseQuotedIdentifiers()
      This method tests whether or not the database stores mixed case quoted identifers even if it treats them as case insensitive.
      boolean storesUpperCaseIdentifiers()
      This method tests whether or not the database treats mixed case identifiers as all upper case.
      boolean storesUpperCaseQuotedIdentifiers()
      This method tests whether or not the database treats mixed case quoted identifiers as all upper case.
      boolean supportsAlterTableWithAddColumn()
      This method tests whether or not the database supports "ALTER TABLE ADD COLUMN"
      boolean supportsAlterTableWithDropColumn()
      This method tests whether or not the database supports "ALTER TABLE DROP COLUMN"
      boolean supportsANSI92EntryLevelSQL()
      This method tests whether or not the ANSI92 entry level SQL grammar is supported.
      boolean supportsANSI92FullSQL()
      This method tests whether or not the ANSI92 full SQL grammar is supported.
      boolean supportsANSI92IntermediateSQL()
      This method tests whether or not the ANSI92 intermediate SQL grammar is supported.
      boolean supportsBatchUpdates()
      This method tests whether or not the database supports batch updates.
      boolean supportsCatalogsInDataManipulation()
      This method tests whether a catalog name can appear in a data manipulation statement.
      boolean supportsCatalogsInIndexDefinitions()
      This method tests whether a catalog name can appear in an index definition.
      boolean supportsCatalogsInPrivilegeDefinitions()
      This method tests whether a catalog name can appear in privilege definitions.
      boolean supportsCatalogsInProcedureCalls()
      This method tests whether a catalog name can appear in a procedure call
      boolean supportsCatalogsInTableDefinitions()
      This method tests whether a catalog name can appear in a table definition.
      boolean supportsColumnAliasing()
      This method tests whether or not column aliasing is supported.
      boolean supportsConvert()
      Tests whether or not CONVERT is supported.
      boolean supportsConvert​(int fromType, int toType)
      This method tests whether or not CONVERT can be performed between the specified types.
      boolean supportsCoreSQLGrammar()
      This method tests whether or not the core grammer for ODBC is supported.
      boolean supportsCorrelatedSubqueries()
      This method test whether or not correlated subqueries are allowed.
      boolean supportsDataDefinitionAndDataManipulationTransactions()
      This method tests whether or not DDL and DML statements allowed within the same transaction.
      boolean supportsDataManipulationTransactionsOnly()
      This method tests whether or not only DML statement are allowed inside a transaction.
      boolean supportsDifferentTableCorrelationNames()
      This method tests whether correlation names must be different from the name of the table.
      boolean supportsExpressionsInOrderBy()
      This method tests whether or not expressions are allowed in an ORDER BY lists.
      boolean supportsExtendedSQLGrammar()
      This method tests whether or not the extended grammer for ODBC is supported.
      boolean supportsFullOuterJoins()
      This method tests whether or not the database supports full outer joins.
      boolean supportsGetGeneratedKeys()  
      boolean supportsGroupBy()
      This method tests whether or not GROUP BY is supported.
      boolean supportsGroupByBeyondSelect()
      This method tests whether or not a GROUP BY can add columns not in the select if it includes all the columns in the select.
      boolean supportsGroupByUnrelated()
      This method tests whether GROUP BY on a non-selected column is allowed.
      boolean supportsIntegrityEnhancementFacility()
      This method tests whether or not the SQL integrity enhancement facility is supported.
      boolean supportsLikeEscapeClause()
      This method tests whether or not the escape character is supported in LIKE expressions.
      boolean supportsLimitedOuterJoins()
      This method tests whether or not the database supports limited outer joins.
      boolean supportsMinimumSQLGrammar()
      This method tests whether or not the minimum grammer for ODBC is supported.
      boolean supportsMixedCaseIdentifiers()
      This method tests whether or not the database supports identifiers with mixed case.
      boolean supportsMixedCaseQuotedIdentifiers()
      This method tests whether or not the database supports quoted identifiers with mixed case.
      boolean supportsMultipleOpenResults()
      This method tests whether the database supports returning multiple ResultSetS from a CallableStatement at once.
      boolean supportsMultipleResultSets()
      This method tests whether multiple result sets for a single statement are supported.
      boolean supportsMultipleTransactions()
      This method test whether or not multiple transactions may be open at once, as long as they are on different connections.
      boolean supportsNamedParameters()
      This method tests whether the database supports named parameters.
      boolean supportsNonNullableColumns()
      This method tests whether or not columns can be defined as NOT NULL.
      boolean supportsOpenCursorsAcrossCommit()
      This method tests whether or not the database supports cursors remaining open across commits.
      boolean supportsOpenCursorsAcrossRollback()
      This method tests whether or not the database supports cursors remaining open across rollbacks.
      boolean supportsOpenStatementsAcrossCommit()
      This method tests whether or not the database supports statements remaining open across commits.
      boolean supportsOpenStatementsAcrossRollback()
      This method tests whether or not the database supports statements remaining open across rollbacks.
      boolean supportsOrderByUnrelated()
      This method tests whether or ORDER BY on a non-selected column is allowed.
      boolean supportsOuterJoins()
      This method tests whether or not the database supports outer joins.
      boolean supportsPositionedDelete()
      This method tests whether or not that database supports positioned deletes.
      boolean supportsPositionedUpdate()
      This method tests whether or not that database supports positioned updates.
      boolean supportsResultSetConcurrency​(int type, int concurrency)
      This method tests whether the specified result set type and result set concurrency type are supported by the database.
      boolean supportsResultSetHoldability​(int holdability)
      This method tests if the database supports the specified holdability type.
      boolean supportsResultSetType​(int type)
      This method tests whether or not the datbase supports the specified result type.
      boolean supportsSavepoints()
      This method tests whether the databse supports savepoints.
      boolean supportsSchemasInDataManipulation()
      This method tests whether a catalog name can appear in a data manipulation statement.
      boolean supportsSchemasInIndexDefinitions()
      This method tests whether a catalog name can appear in an index definition.
      boolean supportsSchemasInPrivilegeDefinitions()
      This method tests whether a catalog name can appear in privilege definitions.
      boolean supportsSchemasInProcedureCalls()
      This method tests whether a catalog name can appear in a procedure call
      boolean supportsSchemasInTableDefinitions()
      This method tests whether a catalog name can appear in a table definition.
      boolean supportsSelectForUpdate()
      This method tests whether or not SELECT FOR UPDATE is supported by the database.
      boolean supportsStatementPooling()  
      boolean supportsStoredProcedures()
      This method tests whether or not stored procedures are supported on this database.
      boolean supportsSubqueriesInComparisons()
      This method tests whether or not subqueries are allowed in comparisons.
      boolean supportsSubqueriesInExists()
      This method tests whether or not subqueries are allowed in exists expressions.
      boolean supportsSubqueriesInIns()
      This method tests whether subqueries are allowed in IN statements.
      boolean supportsSubqueriesInQuantifieds()
      This method tests whether or not subqueries are allowed in quantified expressions.
      boolean supportsTableCorrelationNames()
      This method tests whether or not table correlation names are supported.
      boolean supportsTransactionIsolationLevel​(int level)
      This method tests whether or not the database supports the specified transaction isolation level.
      boolean supportsTransactions()
      This method tests whether or not the database supports transactions.
      boolean supportsUnion()
      This method tests whether or not the UNION statement is supported.
      boolean supportsUnionAll()
      This method tests whether or not the UNION ALL statement is supported.
      boolean updatesAreDetected​(int type)
      This method tests whether or not the specified result set type can detect a visible update by calling the rowUpdated method.
      boolean usesLocalFilePerTable()
      This method tests whether or not the database uses a separate file for each table.
      boolean usesLocalFiles()
      This method tests whether or not the database uses local files to store tables.
    • Field Detail

      • columnNoNulls

        static final int columnNoNulls
        The column does not allow NULL
        See Also:
        Constant Field Values
      • columnNullable

        static final int columnNullable
        The column does allow NULL
        See Also:
        Constant Field Values
      • columnNullableUnknown

        static final int columnNullableUnknown
        It is unknown whether or not the column allows NULL
        See Also:
        Constant Field Values
      • bestRowTemporary

        static final int bestRowTemporary
        The best row's scope is only guaranteed to be valid so long as the row is actually being used.
        See Also:
        Constant Field Values
      • bestRowTransaction

        static final int bestRowTransaction
        The best row identifier is valid to the end of the transaction.
        See Also:
        Constant Field Values
      • bestRowSession

        static final int bestRowSession
        The best row identifier is valid to the end of the session.
        See Also:
        Constant Field Values
      • bestRowUnknown

        static final int bestRowUnknown
        The best row may or may not be a pseudo-column.
        See Also:
        Constant Field Values
      • bestRowNotPseudo

        static final int bestRowNotPseudo
        The best row identifier is not a pseudo-column.
        See Also:
        Constant Field Values
      • bestRowPseudo

        static final int bestRowPseudo
        The best row identifier is a pseudo-column.
        See Also:
        Constant Field Values
      • versionColumnUnknown

        static final int versionColumnUnknown
        It is unknown whether or not the version column is a pseudo-column.
        See Also:
        Constant Field Values
      • versionColumnNotPseudo

        static final int versionColumnNotPseudo
        The version column is not a pseudo-column
        See Also:
        Constant Field Values
      • versionColumnPseudo

        static final int versionColumnPseudo
        The version column is a pseudo-column
        See Also:
        Constant Field Values
      • importedKeyCascade

        static final int importedKeyCascade
        Foreign key changes are cascaded in updates or deletes.
        See Also:
        Constant Field Values
      • importedKeyRestrict

        static final int importedKeyRestrict
        Column may not be updated or deleted in use as a foreign key.
        See Also:
        Constant Field Values
      • importedKeySetNull

        static final int importedKeySetNull
        When primary key is updated or deleted, the foreign key is set to NULL.
        See Also:
        Constant Field Values
      • importedKeyNoAction

        static final int importedKeyNoAction
        If the primary key is a foreign key, it cannot be udpated or deleted.
        See Also:
        Constant Field Values
      • importedKeySetDefault

        static final int importedKeySetDefault
        If the primary key is updated or deleted, the foreign key is set to a default value.
        See Also:
        Constant Field Values
      • importedKeyInitiallyDeferred

        static final int importedKeyInitiallyDeferred
        Wish I knew what this meant.
        See Also:
        Constant Field Values
      • importedKeyInitiallyImmediate

        static final int importedKeyInitiallyImmediate
        Wish I knew what this meant.
        See Also:
        Constant Field Values
      • importedKeyNotDeferrable

        static final int importedKeyNotDeferrable
        Wish I knew what this meant.
        See Also:
        Constant Field Values
      • typeNoNulls

        static final int typeNoNulls
        A NULL value is not allowed for this data type.
        See Also:
        Constant Field Values
      • typeNullable

        static final int typeNullable
        A NULL value is allowed for this data type.
        See Also:
        Constant Field Values
      • typeNullableUnknown

        static final int typeNullableUnknown
        It is unknown whether or not NULL values are allowed for this data type.
        See Also:
        Constant Field Values
      • typePredNone

        static final int typePredNone
        Where clauses are not supported for this type.
        See Also:
        Constant Field Values
      • typePredChar

        static final int typePredChar
        Only "WHERE..LIKE" style WHERE clauses are allowed on this data type.
        See Also:
        Constant Field Values
      • typePredBasic

        static final int typePredBasic
        All WHERE clauses except "WHERE..LIKE" style are allowed on this data type.
        See Also:
        Constant Field Values
      • typeSearchable

        static final int typeSearchable
        Any type of WHERE clause is allowed for this data type.
        See Also:
        Constant Field Values
      • tableIndexStatistic

        static final short tableIndexStatistic
        This column contains table statistics.
        See Also:
        Constant Field Values
      • tableIndexClustered

        static final short tableIndexClustered
        This table index is clustered.
        See Also:
        Constant Field Values
      • tableIndexHashed

        static final short tableIndexHashed
        This table index is hashed.
        See Also:
        Constant Field Values
      • tableIndexOther

        static final short tableIndexOther
        This table index is of another type.
        See Also:
        Constant Field Values
      • attributeNoNulls

        static final short attributeNoNulls
        A NULL value is not allowed for this attribute.
        See Also:
        Constant Field Values
      • attributeNullable

        static final short attributeNullable
        A NULL value is allowed for this attribute.
        See Also:
        Constant Field Values
      • attributeNullableUnknown

        static final short attributeNullableUnknown
        It is unknown whether or not NULL values are allowed for this attribute.
        See Also:
        Constant Field Values
    • Method Detail

      • allProceduresAreCallable

        boolean allProceduresAreCallable()
                                  throws java.sql.SQLException
        This method tests whether or not all the procedures returned by the getProcedures method can be called by this user.
        Returns:
        true if all the procedures can be called, false otherwise.
        Throws:
        java.sql.SQLException - If an error occurs.
      • allTablesAreSelectable

        boolean allTablesAreSelectable()
                                throws java.sql.SQLException
        This method tests whether or not all the table returned by the getTables method can be selected by this user.
        Returns:
        true if all the procedures can be called, false otherwise.
        Throws:
        java.sql.SQLException - If an error occurs.
      • getURL

        java.lang.String getURL()
                         throws java.sql.SQLException
        This method returns the URL for this database.
        Returns:
        The URL string for this database, or null if it is not known.
        Throws:
        java.sql.SQLException - If an error occurs.
      • getUserName

        java.lang.String getUserName()
                              throws java.sql.SQLException
        This method returns the database username for this connection.
        Returns:
        The database username.
        Throws:
        java.sql.SQLException - If an error occurs.
      • isReadOnly

        boolean isReadOnly()
                    throws java.sql.SQLException
        This method tests whether or not the database is in read only mode.
        Returns:
        true if the database is in read only mode, false otherwise.
        Throws:
        java.sql.SQLException - If an error occurs.
      • nullsAreSortedHigh

        boolean nullsAreSortedHigh()
                            throws java.sql.SQLException
        This method tests whether or not NULL's sort as high values.
        Returns:
        true if NULL's sort as high values, false otherwise.
        Throws:
        java.sql.SQLException - If an error occurs.
      • nullsAreSortedLow

        boolean nullsAreSortedLow()
                           throws java.sql.SQLException
        This method tests whether or not NULL's sort as low values.
        Returns:
        true if NULL's sort as low values, false otherwise.
        Throws:
        java.sql.SQLException - If an error occurs.
      • nullsAreSortedAtStart

        boolean nullsAreSortedAtStart()
                               throws java.sql.SQLException
        This method tests whether or not NULL's sort as high values.
        Returns:
        true if NULL's sort as high values, false otherwise.
        Throws:
        java.sql.SQLException - If an error occurs.
      • nullsAreSortedAtEnd

        boolean nullsAreSortedAtEnd()
                             throws java.sql.SQLException
        This method test whether or not NULL's are sorted to the end of the list regardless of ascending or descending sort order.
        Returns:
        true if NULL's always sort to the end, false otherwise.
        Throws:
        java.sql.SQLException - If an error occurs.
      • getDatabaseProductName

        java.lang.String getDatabaseProductName()
                                         throws java.sql.SQLException
        This method returns the name of the database product.
        Returns:
        The database product.
        Throws:
        java.sql.SQLException - If an error occurs.
      • getDatabaseProductVersion

        java.lang.String getDatabaseProductVersion()
                                            throws java.sql.SQLException
        This method returns the version of the database product.
        Returns:
        The version of the database product.
        Throws:
        java.sql.SQLException - If an error occurs.
      • getDriverName

        java.lang.String getDriverName()
                                throws java.sql.SQLException
        This method returns the name of the JDBC driver.
        Returns:
        The name of the JDBC driver.
        Throws:
        java.sql.SQLException - If an error occurs.
      • getDriverVersion

        java.lang.String getDriverVersion()
                                   throws java.sql.SQLException
        This method returns the version of the JDBC driver.
        Returns:
        The version of the JDBC driver.
        Throws:
        java.sql.SQLException - If an error occurs.
      • getDriverMajorVersion

        int getDriverMajorVersion()
        This method returns the major version number of the JDBC driver.
        Returns:
        The major version number of the JDBC driver.
      • getDriverMinorVersion

        int getDriverMinorVersion()
        This method returns the minor version number of the JDBC driver.
        Returns:
        The minor version number of the JDBC driver.
      • usesLocalFiles

        boolean usesLocalFiles()
                        throws java.sql.SQLException
        This method tests whether or not the database uses local files to store tables.
        Returns:
        true if the database uses local files, false otherwise.
        Throws:
        java.sql.SQLException - If an error occurs.
      • usesLocalFilePerTable

        boolean usesLocalFilePerTable()
                               throws java.sql.SQLException
        This method tests whether or not the database uses a separate file for each table.
        Returns:
        true if the database uses a separate file for each table false otherwise.
        Throws:
        java.sql.SQLException - If an error occurs.
      • supportsMixedCaseIdentifiers

        boolean supportsMixedCaseIdentifiers()
                                      throws java.sql.SQLException
        This method tests whether or not the database supports identifiers with mixed case.
        Returns:
        true if the database supports mixed case identifiers, false otherwise.
        Throws:
        java.sql.SQLException - If an error occurs.
      • storesUpperCaseIdentifiers

        boolean storesUpperCaseIdentifiers()
                                    throws java.sql.SQLException
        This method tests whether or not the database treats mixed case identifiers as all upper case.
        Returns:
        true if the database treats all identifiers as upper case, false otherwise.
        Throws:
        java.sql.SQLException - If an error occurs.
      • storesLowerCaseIdentifiers

        boolean storesLowerCaseIdentifiers()
                                    throws java.sql.SQLException
        This method tests whether or not the database treats mixed case identifiers as all lower case.
        Returns:
        true if the database treats all identifiers as lower case, false otherwise.
        Throws:
        java.sql.SQLException - If an error occurs.
      • storesMixedCaseIdentifiers

        boolean storesMixedCaseIdentifiers()
                                    throws java.sql.SQLException
        This method tests whether or not the database stores mixed case identifers even if it treats them as case insensitive.
        Returns:
        true if the database stores mixed case identifiers, false otherwise.
        Throws:
        java.sql.SQLException - If an error occurs.
      • supportsMixedCaseQuotedIdentifiers

        boolean supportsMixedCaseQuotedIdentifiers()
                                            throws java.sql.SQLException
        This method tests whether or not the database supports quoted identifiers with mixed case.
        Returns:
        true if the database supports mixed case quoted identifiers, false otherwise.
        Throws:
        java.sql.SQLException - If an error occurs.
      • storesUpperCaseQuotedIdentifiers

        boolean storesUpperCaseQuotedIdentifiers()
                                          throws java.sql.SQLException
        This method tests whether or not the database treats mixed case quoted identifiers as all upper case.
        Returns:
        true if the database treats all quoted identifiers as upper case, false otherwise.
        Throws:
        java.sql.SQLException - If an error occurs.
      • storesLowerCaseQuotedIdentifiers

        boolean storesLowerCaseQuotedIdentifiers()
                                          throws java.sql.SQLException
        This method tests whether or not the database treats mixed case quoted identifiers as all lower case.
        Returns:
        true if the database treats all quoted identifiers as lower case, false otherwise.
        Throws:
        java.sql.SQLException - If an error occurs.
      • storesMixedCaseQuotedIdentifiers

        boolean storesMixedCaseQuotedIdentifiers()
                                          throws java.sql.SQLException
        This method tests whether or not the database stores mixed case quoted identifers even if it treats them as case insensitive.
        Returns:
        true if the database stores mixed case quoted identifiers, false otherwise.
        Throws:
        java.sql.SQLException - If an error occurs.
      • getIdentifierQuoteString

        java.lang.String getIdentifierQuoteString()
                                           throws java.sql.SQLException
        This metohd returns the quote string for SQL identifiers.
        Returns:
        The quote string for SQL identifers, or a space if quoting is not supported.
        Throws:
        java.sql.SQLException - If an error occurs.
      • getSQLKeywords

        java.lang.String getSQLKeywords()
                                 throws java.sql.SQLException
        This method returns a comma separated list of all the SQL keywords in the database that are not in SQL92.
        Returns:
        The list of SQL keywords not in SQL92.
        Throws:
        java.sql.SQLException - If an error occurs.
      • getNumericFunctions

        java.lang.String getNumericFunctions()
                                      throws java.sql.SQLException
        This method returns a comma separated list of math functions.
        Returns:
        The list of math functions.
        Throws:
        java.sql.SQLException - If an error occurs.
      • getStringFunctions

        java.lang.String getStringFunctions()
                                     throws java.sql.SQLException
        This method returns a comma separated list of string functions.
        Returns:
        The list of string functions.
        Throws:
        java.sql.SQLException - If an error occurs.
      • getSystemFunctions

        java.lang.String getSystemFunctions()
                                     throws java.sql.SQLException
        This method returns a comma separated list of of system functions.
        Returns:
        A comma separated list of system functions.
        Throws:
        java.sql.SQLException - If an error occurs.
      • getTimeDateFunctions

        java.lang.String getTimeDateFunctions()
                                       throws java.sql.SQLException
        This method returns comma separated list of time/date functions.
        Returns:
        The list of time/date functions.
        Throws:
        java.sql.SQLException - If an error occurs.
      • getSearchStringEscape

        java.lang.String getSearchStringEscape()
                                        throws java.sql.SQLException
        This method returns the string used to escape wildcards in search strings.
        Returns:
        The string used to escape wildcards in search strings.
        Throws:
        java.sql.SQLException - If an error occurs.
      • getExtraNameCharacters

        java.lang.String getExtraNameCharacters()
                                         throws java.sql.SQLException
        This methods returns non-standard characters that can appear in unquoted identifiers.
        Returns:
        Non-standard characters that can appear in unquoted identifiers.
        Throws:
        java.sql.SQLException - If an error occurs.
      • supportsAlterTableWithAddColumn

        boolean supportsAlterTableWithAddColumn()
                                         throws java.sql.SQLException
        This method tests whether or not the database supports "ALTER TABLE ADD COLUMN"
        Returns:
        true if column add supported, false otherwise.
        Throws:
        java.sql.SQLException - If an error occurs.
      • supportsAlterTableWithDropColumn

        boolean supportsAlterTableWithDropColumn()
                                          throws java.sql.SQLException
        This method tests whether or not the database supports "ALTER TABLE DROP COLUMN"
        Returns:
        true if column drop supported, false otherwise.
        Throws:
        java.sql.SQLException - If an error occurs.
      • supportsColumnAliasing

        boolean supportsColumnAliasing()
                                throws java.sql.SQLException
        This method tests whether or not column aliasing is supported.
        Returns:
        true if column aliasing is supported, false otherwise.
        Throws:
        java.sql.SQLException - If an error occurs.
      • nullPlusNonNullIsNull

        boolean nullPlusNonNullIsNull()
                               throws java.sql.SQLException
        This method tests whether the concatenation of a NULL and non-NULL value results in a NULL. This will always be true in fully JDBC compliant drivers.
        Returns:
        true if concatenating NULL and a non-NULL value returns a NULL, false otherwise.
        Throws:
        java.sql.SQLException - If an error occurs.
      • supportsConvert

        boolean supportsConvert()
                         throws java.sql.SQLException
        Tests whether or not CONVERT is supported.
        Returns:
        true if CONVERT is supported, false otherwise.
        Throws:
        java.sql.SQLException - If an error occurs.
      • supportsConvert

        boolean supportsConvert​(int fromType,
                                int toType)
                         throws java.sql.SQLException
        This method tests whether or not CONVERT can be performed between the specified types. The types are contants from Types.
        Parameters:
        fromType - The SQL type to convert from.
        toType - The SQL type to convert to.
        Returns:
        true if the conversion can be performed, false otherwise.
        Throws:
        java.sql.SQLException
        See Also:
        Types
      • supportsTableCorrelationNames

        boolean supportsTableCorrelationNames()
                                       throws java.sql.SQLException
        This method tests whether or not table correlation names are supported. This will be always be true in a fully JDBC compliant driver.
        Returns:
        true if table correlation names are supported, false otherwise.
        Throws:
        java.sql.SQLException - If an error occurs.
      • supportsDifferentTableCorrelationNames

        boolean supportsDifferentTableCorrelationNames()
                                                throws java.sql.SQLException
        This method tests whether correlation names must be different from the name of the table.
        Returns:
        true if the correlation name must be different from the table name, false otherwise.
        Throws:
        java.sql.SQLException - If an error occurs.
      • supportsExpressionsInOrderBy

        boolean supportsExpressionsInOrderBy()
                                      throws java.sql.SQLException
        This method tests whether or not expressions are allowed in an ORDER BY lists.
        Returns:
        true if expressions are allowed in ORDER BY lists, false otherwise.
        Throws:
        java.sql.SQLException - If an error occurs.
      • supportsOrderByUnrelated

        boolean supportsOrderByUnrelated()
                                  throws java.sql.SQLException
        This method tests whether or ORDER BY on a non-selected column is allowed.
        Returns:
        true if a non-selected column can be used in an ORDER BY, false otherwise.
        Throws:
        java.sql.SQLException - If an error occurs.
      • supportsGroupBy

        boolean supportsGroupBy()
                         throws java.sql.SQLException
        This method tests whether or not GROUP BY is supported.
        Returns:
        true if GROUP BY is supported, false otherwise.
        Throws:
        java.sql.SQLException - If an error occurs.
      • supportsGroupByUnrelated

        boolean supportsGroupByUnrelated()
                                  throws java.sql.SQLException
        This method tests whether GROUP BY on a non-selected column is allowed.
        Returns:
        true if a non-selected column can be used in a GROUP BY, false otherwise.
        Throws:
        java.sql.SQLException - If an error occurs.
      • supportsGroupByBeyondSelect

        boolean supportsGroupByBeyondSelect()
                                     throws java.sql.SQLException
        This method tests whether or not a GROUP BY can add columns not in the select if it includes all the columns in the select.
        Returns:
        true if GROUP BY an add columns provided it includes all columns in the select, false otherwise.
        Throws:
        java.sql.SQLException - If an error occurs.
      • supportsLikeEscapeClause

        boolean supportsLikeEscapeClause()
                                  throws java.sql.SQLException
        This method tests whether or not the escape character is supported in LIKE expressions. A fully JDBC compliant driver will always return true.
        Returns:
        true if escapes are supported in LIKE expressions, false otherwise.
        Throws:
        java.sql.SQLException - If an error occurs.
      • supportsMultipleResultSets

        boolean supportsMultipleResultSets()
                                    throws java.sql.SQLException
        This method tests whether multiple result sets for a single statement are supported.
        Returns:
        true if multiple result sets are supported for a single statement, false otherwise.
        Throws:
        java.sql.SQLException - If an error occurs.
      • supportsMultipleTransactions

        boolean supportsMultipleTransactions()
                                      throws java.sql.SQLException
        This method test whether or not multiple transactions may be open at once, as long as they are on different connections.
        Returns:
        true if multiple transactions on different connections are supported, false otherwise.
        Throws:
        java.sql.SQLException - If an error occurs.
      • supportsNonNullableColumns

        boolean supportsNonNullableColumns()
                                    throws java.sql.SQLException
        This method tests whether or not columns can be defined as NOT NULL. A fully JDBC compliant driver always returns true.
        Returns:
        true if NOT NULL columns are supported, false otherwise.
        Throws:
        java.sql.SQLException - If an error occurs.
      • supportsMinimumSQLGrammar

        boolean supportsMinimumSQLGrammar()
                                   throws java.sql.SQLException
        This method tests whether or not the minimum grammer for ODBC is supported. A fully JDBC compliant driver will always return true.
        Returns:
        true if the ODBC minimum grammar is supported, false otherwise.
        Throws:
        java.sql.SQLException - If an error occurs.
      • supportsCoreSQLGrammar

        boolean supportsCoreSQLGrammar()
                                throws java.sql.SQLException
        This method tests whether or not the core grammer for ODBC is supported.
        Returns:
        true if the ODBC core grammar is supported, false otherwise.
        Throws:
        java.sql.SQLException - If an error occurs.
      • supportsExtendedSQLGrammar

        boolean supportsExtendedSQLGrammar()
                                    throws java.sql.SQLException
        This method tests whether or not the extended grammer for ODBC is supported.
        Returns:
        true if the ODBC extended grammar is supported, false otherwise.
        Throws:
        java.sql.SQLException - If an error occurs.
      • supportsANSI92EntryLevelSQL

        boolean supportsANSI92EntryLevelSQL()
                                     throws java.sql.SQLException
        This method tests whether or not the ANSI92 entry level SQL grammar is supported. A fully JDBC compliant drivers must return true.
        Returns:
        true if the ANSI92 entry level SQL grammar is supported, false otherwise.
        Throws:
        java.sql.SQLException - If an error occurs.
      • supportsANSI92IntermediateSQL

        boolean supportsANSI92IntermediateSQL()
                                       throws java.sql.SQLException
        This method tests whether or not the ANSI92 intermediate SQL grammar is supported.
        Returns:
        true if the ANSI92 intermediate SQL grammar is supported, false otherwise.
        Throws:
        java.sql.SQLException - If an error occurs.
      • supportsANSI92FullSQL

        boolean supportsANSI92FullSQL()
                               throws java.sql.SQLException
        This method tests whether or not the ANSI92 full SQL grammar is supported.
        Returns:
        true if the ANSI92 full SQL grammar is supported, false otherwise.
        Throws:
        java.sql.SQLException - If an error occurs.
      • supportsIntegrityEnhancementFacility

        boolean supportsIntegrityEnhancementFacility()
                                              throws java.sql.SQLException
        This method tests whether or not the SQL integrity enhancement facility is supported.
        Returns:
        true if the integrity enhancement facility is supported, false otherwise.
        Throws:
        java.sql.SQLException - If an error occurs.
      • supportsOuterJoins

        boolean supportsOuterJoins()
                            throws java.sql.SQLException
        This method tests whether or not the database supports outer joins.
        Returns:
        true if outer joins are supported, false otherwise.
        Throws:
        java.sql.SQLException - If an error occurs.
      • supportsFullOuterJoins

        boolean supportsFullOuterJoins()
                                throws java.sql.SQLException
        This method tests whether or not the database supports full outer joins.
        Returns:
        true if full outer joins are supported, false otherwise.
        Throws:
        java.sql.SQLException - If an error occurs.
      • supportsLimitedOuterJoins

        boolean supportsLimitedOuterJoins()
                                   throws java.sql.SQLException
        This method tests whether or not the database supports limited outer joins.
        Returns:
        true if limited outer joins are supported, false otherwise.
        Throws:
        java.sql.SQLException - If an error occurs.
      • getSchemaTerm

        java.lang.String getSchemaTerm()
                                throws java.sql.SQLException
        This method returns the vendor's term for "schema".
        Returns:
        The vendor's term for schema.
        Throws:
        java.sql.SQLException - if an error occurs.
      • getProcedureTerm

        java.lang.String getProcedureTerm()
                                   throws java.sql.SQLException
        This method returns the vendor's term for "procedure".
        Returns:
        The vendor's term for procedure.
        Throws:
        java.sql.SQLException - if an error occurs.
      • getCatalogTerm

        java.lang.String getCatalogTerm()
                                 throws java.sql.SQLException
        This method returns the vendor's term for "catalog".
        Returns:
        The vendor's term for catalog.
        Throws:
        java.sql.SQLException - if an error occurs.
      • isCatalogAtStart

        boolean isCatalogAtStart()
                          throws java.sql.SQLException
        This method tests whether a catalog name appears at the beginning of a fully qualified table name.
        Returns:
        true if the catalog name appears at the beginning, false if it appears at the end.
        Throws:
        java.sql.SQLException - If an error occurs.
      • getCatalogSeparator

        java.lang.String getCatalogSeparator()
                                      throws java.sql.SQLException
        This method returns the separator between the catalog name and the table name.
        Returns:
        The separator between the catalog name and the table name.
        Throws:
        java.sql.SQLException - If an error occurs.
      • supportsSchemasInDataManipulation

        boolean supportsSchemasInDataManipulation()
                                           throws java.sql.SQLException
        This method tests whether a catalog name can appear in a data manipulation statement.
        Returns:
        true if a catalog name can appear in a data manipulation statement, false otherwise.
        Throws:
        java.sql.SQLException - If an error occurs.
      • supportsSchemasInProcedureCalls

        boolean supportsSchemasInProcedureCalls()
                                         throws java.sql.SQLException
        This method tests whether a catalog name can appear in a procedure call
        Returns:
        true if a catalog name can appear in a procedure call, false otherwise.
        Throws:
        java.sql.SQLException - If an error occurs.
      • supportsSchemasInTableDefinitions

        boolean supportsSchemasInTableDefinitions()
                                           throws java.sql.SQLException
        This method tests whether a catalog name can appear in a table definition.
        Returns:
        true if a catalog name can appear in a table definition, false otherwise.
        Throws:
        java.sql.SQLException - If an error occurs.
      • supportsSchemasInIndexDefinitions

        boolean supportsSchemasInIndexDefinitions()
                                           throws java.sql.SQLException
        This method tests whether a catalog name can appear in an index definition.
        Returns:
        true if a catalog name can appear in an index definition, false otherwise.
        Throws:
        java.sql.SQLException - If an error occurs.
      • supportsSchemasInPrivilegeDefinitions

        boolean supportsSchemasInPrivilegeDefinitions()
                                               throws java.sql.SQLException
        This method tests whether a catalog name can appear in privilege definitions.
        Returns:
        true if a catalog name can appear in privilege definition, false otherwise.
        Throws:
        java.sql.SQLException - If an error occurs.
      • supportsCatalogsInDataManipulation

        boolean supportsCatalogsInDataManipulation()
                                            throws java.sql.SQLException
        This method tests whether a catalog name can appear in a data manipulation statement.
        Returns:
        true if a catalog name can appear in a data manipulation statement, false otherwise.
        Throws:
        java.sql.SQLException - If an error occurs.
      • supportsCatalogsInProcedureCalls

        boolean supportsCatalogsInProcedureCalls()
                                          throws java.sql.SQLException
        This method tests whether a catalog name can appear in a procedure call
        Returns:
        true if a catalog name can appear in a procedure call, false otherwise.
        Throws:
        java.sql.SQLException - If an error occurs.
      • supportsCatalogsInTableDefinitions

        boolean supportsCatalogsInTableDefinitions()
                                            throws java.sql.SQLException
        This method tests whether a catalog name can appear in a table definition.
        Returns:
        true if a catalog name can appear in a table definition, false otherwise.
        Throws:
        java.sql.SQLException - If an error occurs.
      • supportsCatalogsInIndexDefinitions

        boolean supportsCatalogsInIndexDefinitions()
                                            throws java.sql.SQLException
        This method tests whether a catalog name can appear in an index definition.
        Returns:
        true if a catalog name can appear in an index definition, false otherwise.
        Throws:
        java.sql.SQLException - If an error occurs.
      • supportsCatalogsInPrivilegeDefinitions

        boolean supportsCatalogsInPrivilegeDefinitions()
                                                throws java.sql.SQLException
        This method tests whether a catalog name can appear in privilege definitions.
        Returns:
        true if a catalog name can appear in privilege definition, false otherwise.
        Throws:
        java.sql.SQLException - If an error occurs.
      • supportsPositionedDelete

        boolean supportsPositionedDelete()
                                  throws java.sql.SQLException
        This method tests whether or not that database supports positioned deletes.
        Returns:
        true if positioned deletes are supported, false otherwise.
        Throws:
        java.sql.SQLException - If an error occurs.
      • supportsPositionedUpdate

        boolean supportsPositionedUpdate()
                                  throws java.sql.SQLException
        This method tests whether or not that database supports positioned updates.
        Returns:
        true if positioned updates are supported, false otherwise.
        Throws:
        java.sql.SQLException - If an error occurs.
      • supportsSelectForUpdate

        boolean supportsSelectForUpdate()
                                 throws java.sql.SQLException
        This method tests whether or not SELECT FOR UPDATE is supported by the database.
        Returns:
        true if SELECT FOR UPDATE is supported false otherwise.
        Throws:
        java.sql.SQLException - If an error occurs.
      • supportsStoredProcedures

        boolean supportsStoredProcedures()
                                  throws java.sql.SQLException
        This method tests whether or not stored procedures are supported on this database.
        Returns:
        true if stored procedures are supported, false otherwise.
        Throws:
        java.sql.SQLException - If an error occurs.
      • supportsSubqueriesInComparisons

        boolean supportsSubqueriesInComparisons()
                                         throws java.sql.SQLException
        This method tests whether or not subqueries are allowed in comparisons. A fully JDBC compliant driver will always return true.
        Returns:
        true if subqueries are allowed in comparisons, false otherwise.
        Throws:
        java.sql.SQLException - If an error occurs.
      • supportsSubqueriesInExists

        boolean supportsSubqueriesInExists()
                                    throws java.sql.SQLException
        This method tests whether or not subqueries are allowed in exists expressions. A fully JDBC compliant driver will always return true.
        Returns:
        true if subqueries are allowed in exists expressions, false otherwise.
        Throws:
        java.sql.SQLException - If an error occurs.
      • supportsSubqueriesInIns

        boolean supportsSubqueriesInIns()
                                 throws java.sql.SQLException
        This method tests whether subqueries are allowed in IN statements. A fully JDBC compliant driver will always return true.
        Returns:
        true if the driver supports subqueries in IN statements, false otherwise.
        Throws:
        java.sql.SQLException - If an error occurs.
      • supportsSubqueriesInQuantifieds

        boolean supportsSubqueriesInQuantifieds()
                                         throws java.sql.SQLException
        This method tests whether or not subqueries are allowed in quantified expressions. A fully JDBC compliant driver will always return true.
        Returns:
        true if subqueries are allowed in quantified expressions, false otherwise.
        Throws:
        java.sql.SQLException - If an error occurs.
      • supportsCorrelatedSubqueries

        boolean supportsCorrelatedSubqueries()
                                      throws java.sql.SQLException
        This method test whether or not correlated subqueries are allowed. A fully JDBC compliant driver will always return true.
        Returns:
        true if correlated subqueries are allowed, false otherwise.
        Throws:
        java.sql.SQLException - If an error occurs.
      • supportsUnion

        boolean supportsUnion()
                       throws java.sql.SQLException
        This method tests whether or not the UNION statement is supported.
        Returns:
        true if UNION is supported, false otherwise.
        Throws:
        java.sql.SQLException - If an error occurs.
      • supportsUnionAll

        boolean supportsUnionAll()
                          throws java.sql.SQLException
        This method tests whether or not the UNION ALL statement is supported.
        Returns:
        true if UNION ALL is supported, false otherwise.
        Throws:
        java.sql.SQLException - If an error occurs.
      • supportsOpenCursorsAcrossCommit

        boolean supportsOpenCursorsAcrossCommit()
                                         throws java.sql.SQLException
        This method tests whether or not the database supports cursors remaining open across commits.
        Returns:
        true if cursors can remain open across commits, false otherwise.
        Throws:
        java.sql.SQLException - If an error occurs.
      • supportsOpenCursorsAcrossRollback

        boolean supportsOpenCursorsAcrossRollback()
                                           throws java.sql.SQLException
        This method tests whether or not the database supports cursors remaining open across rollbacks.
        Returns:
        true if cursors can remain open across rollbacks, false otherwise.
        Throws:
        java.sql.SQLException - If an error occurs.
      • supportsOpenStatementsAcrossCommit

        boolean supportsOpenStatementsAcrossCommit()
                                            throws java.sql.SQLException
        This method tests whether or not the database supports statements remaining open across commits.
        Returns:
        true if statements can remain open across commits, false otherwise.
        Throws:
        java.sql.SQLException - If an error occurs.
      • supportsOpenStatementsAcrossRollback

        boolean supportsOpenStatementsAcrossRollback()
                                              throws java.sql.SQLException
        This method tests whether or not the database supports statements remaining open across rollbacks.
        Returns:
        true if statements can remain open across rollbacks, false otherwise.
        Throws:
        java.sql.SQLException - If an error occurs.
      • getMaxBinaryLiteralLength

        int getMaxBinaryLiteralLength()
                               throws java.sql.SQLException
        This method returns the number of hex characters allowed in an inline binary literal.
        Returns:
        The number of hex characters allowed in a binary literal, 0 meaning either an unknown or unlimited number.
        Throws:
        java.sql.SQLException - If an error occurs.
      • getMaxCharLiteralLength

        int getMaxCharLiteralLength()
                             throws java.sql.SQLException
        This method returns the maximum length of a character literal.
        Returns:
        The maximum length of a character literal.
        Throws:
        java.sql.SQLException - If an error occurs.
      • getMaxColumnNameLength

        int getMaxColumnNameLength()
                            throws java.sql.SQLException
        This method returns the maximum length of a column name.
        Returns:
        The maximum length of a column name.
        Throws:
        java.sql.SQLException - If an error occurs.
      • getMaxColumnsInGroupBy

        int getMaxColumnsInGroupBy()
                            throws java.sql.SQLException
        This method returns the maximum number of columns in a GROUP BY statement.
        Returns:
        The maximum number of columns in a GROUP BY statement.
        Throws:
        java.sql.SQLException - If an error occurs.
      • getMaxColumnsInIndex

        int getMaxColumnsInIndex()
                          throws java.sql.SQLException
        This method returns the maximum number of columns in an index.
        Returns:
        The maximum number of columns in an index.
        Throws:
        java.sql.SQLException - If an error occurs.
      • getMaxColumnsInOrderBy

        int getMaxColumnsInOrderBy()
                            throws java.sql.SQLException
        This method returns the maximum number of columns in an ORDER BY statement.
        Returns:
        The maximum number of columns in an ORDER BY statement.
        Throws:
        java.sql.SQLException - If an error occurs.
      • getMaxColumnsInSelect

        int getMaxColumnsInSelect()
                           throws java.sql.SQLException
        This method returns the maximum number of columns in a SELECT statement.
        Returns:
        The maximum number of columns in a SELECT statement.
        Throws:
        java.sql.SQLException - If an error occurs.
      • getMaxColumnsInTable

        int getMaxColumnsInTable()
                          throws java.sql.SQLException
        This method returns the maximum number of columns in a table.
        Returns:
        The maximum number of columns in a table.
        Throws:
        java.sql.SQLException - If an error occurs.
      • getMaxConnections

        int getMaxConnections()
                       throws java.sql.SQLException
        This method returns the maximum number of connections this client can have to the database.
        Returns:
        The maximum number of database connections.
        Throws:
        java.sql.SQLException
      • getMaxCursorNameLength

        int getMaxCursorNameLength()
                            throws java.sql.SQLException
        This method returns the maximum length of a cursor name.
        Returns:
        The maximum length of a cursor name.
        Throws:
        java.sql.SQLException - If an error occurs.
      • getMaxIndexLength

        int getMaxIndexLength()
                       throws java.sql.SQLException
        This method returns the maximum length of an index.
        Returns:
        The maximum length of an index.
        Throws:
        java.sql.SQLException - If an error occurs.
      • getMaxSchemaNameLength

        int getMaxSchemaNameLength()
                            throws java.sql.SQLException
        This method returns the maximum length of a schema name.
        Returns:
        The maximum length of a schema name.
        Throws:
        java.sql.SQLException - If an error occurs.
      • getMaxProcedureNameLength

        int getMaxProcedureNameLength()
                               throws java.sql.SQLException
        This method returns the maximum length of a procedure name.
        Returns:
        The maximum length of a procedure name.
        Throws:
        java.sql.SQLException - If an error occurs.
      • getMaxCatalogNameLength

        int getMaxCatalogNameLength()
                             throws java.sql.SQLException
        This method returns the maximum length of a catalog name.
        Returns:
        The maximum length of a catalog name.
        Throws:
        java.sql.SQLException - If an error occurs.
      • getMaxRowSize

        int getMaxRowSize()
                   throws java.sql.SQLException
        This method returns the maximum size of a row in bytes.
        Returns:
        The maximum size of a row.
        Throws:
        java.sql.SQLException - If an error occurs.
      • doesMaxRowSizeIncludeBlobs

        boolean doesMaxRowSizeIncludeBlobs()
                                    throws java.sql.SQLException
        This method tests whether or not the maximum row size includes BLOB's
        Returns:
        true if the maximum row size includes BLOB's, false otherwise.
        Throws:
        java.sql.SQLException - If an error occurs.
      • getMaxStatementLength

        int getMaxStatementLength()
                           throws java.sql.SQLException
        This method includes the maximum length of a SQL statement.
        Returns:
        The maximum length of a SQL statement.
        Throws:
        java.sql.SQLException - If an error occurs.
      • getMaxStatements

        int getMaxStatements()
                      throws java.sql.SQLException
        This method returns the maximum number of statements that can be active at any time.
        Returns:
        The maximum number of statements that can be active at any time.
        Throws:
        java.sql.SQLException - If an error occurs.
      • getMaxTableNameLength

        int getMaxTableNameLength()
                           throws java.sql.SQLException
        This method returns the maximum length of a table name.
        Returns:
        The maximum length of a table name.
        Throws:
        java.sql.SQLException - If an error occurs.
      • getMaxTablesInSelect

        int getMaxTablesInSelect()
                          throws java.sql.SQLException
        This method returns the maximum number of tables that may be referenced in a SELECT statement.
        Returns:
        The maximum number of tables allowed in a SELECT statement.
        Throws:
        java.sql.SQLException - If an error occurs.
      • getMaxUserNameLength

        int getMaxUserNameLength()
                          throws java.sql.SQLException
        This method returns the maximum length of a user name.
        Returns:
        The maximum length of a user name.
        Throws:
        java.sql.SQLException - If an error occurs.
      • getDefaultTransactionIsolation

        int getDefaultTransactionIsolation()
                                    throws java.sql.SQLException
        This method returns the default transaction isolation level of the database.
        Returns:
        The default transaction isolation level of the database.
        Throws:
        java.sql.SQLException - If an error occurs.
        See Also:
        Connection
      • supportsTransactions

        boolean supportsTransactions()
                              throws java.sql.SQLException
        This method tests whether or not the database supports transactions.
        Returns:
        true if the database supports transactions, false otherwise.
        Throws:
        java.sql.SQLException - If an error occurs.
      • supportsTransactionIsolationLevel

        boolean supportsTransactionIsolationLevel​(int level)
                                           throws java.sql.SQLException
        This method tests whether or not the database supports the specified transaction isolation level.
        Parameters:
        level - The transaction isolation level.
        Returns:
        true if the specified transaction isolation level is supported, false otherwise.
        Throws:
        java.sql.SQLException - If an error occurs.
      • supportsDataDefinitionAndDataManipulationTransactions

        boolean supportsDataDefinitionAndDataManipulationTransactions()
                                                               throws java.sql.SQLException
        This method tests whether or not DDL and DML statements allowed within the same transaction.
        Returns:
        true if DDL and DML statements are allowed in the same transaction, false otherwise.
        Throws:
        java.sql.SQLException - If an error occurs.
      • supportsDataManipulationTransactionsOnly

        boolean supportsDataManipulationTransactionsOnly()
                                                  throws java.sql.SQLException
        This method tests whether or not only DML statement are allowed inside a transaction.
        Returns:
        true if only DML statements are allowed in transactions, false otherwise.
        Throws:
        java.sql.SQLException - If an error occurs.
      • dataDefinitionCausesTransactionCommit

        boolean dataDefinitionCausesTransactionCommit()
                                               throws java.sql.SQLException
        This method tests whether or not a DDL statement will cause the current transaction to be automatically committed.
        Returns:
        true if DDL causes an immediate transaction commit, false otherwise.
        Throws:
        java.sql.SQLException - If an error occurs.
      • dataDefinitionIgnoredInTransactions

        boolean dataDefinitionIgnoredInTransactions()
                                             throws java.sql.SQLException
        This method tests whether or not DDL statements are ignored in transactions.
        Returns:
        true if DDL statements are ignored in transactions, false otherwise.
        Throws:
        java.sql.SQLException - If an error occurs.
      • getProcedures

        ResultSet getProcedures​(java.lang.String catalog,
                                java.lang.String schemaPattern,
                                java.lang.String procedurePattern)
                         throws java.sql.SQLException
        This method returns a list of all the stored procedures matching the specified pattern in the given schema and catalog. This is returned a ResultSet with the following columns:

        1. PROCEDURE_CAT - The catalog the procedure is in, which may be null.
        2. PROCEDURE_SCHEM - The schema the procedures is in, which may be null.
        3. PROCEDURE_NAME - The name of the procedure.
        4. Unused
        5. Unused
        6. Unused
        7. REMARKS - A description of the procedure
        8. PROCEDURE_TYPE - Indicates the return type of the procedure, which is one of the contstants defined in this class (procedureResultUnknown, procedureNoResult, or procedureReturnsResult).
        Parameters:
        catalog - The name of the catalog to return stored procedured from, or "" to return procedures from all catalogs.
        schemaPattern - A schema pattern for the schemas to return stored procedures from, or "" to return procedures from all schemas.
        procedurePattern - The pattern of procedure names to return.
        Throws:
        java.sql.SQLException - If an error occurs.
      • getProcedureColumns

        ResultSet getProcedureColumns​(java.lang.String catalog,
                                      java.lang.String schemaPattern,
                                      java.lang.String procedurePattern,
                                      java.lang.String columnPattern)
                               throws java.sql.SQLException
        This method returns a list of the parameter and result columns for the requested stored procedures. This is returned in the form of a ResultSet with the following columns:

        1. PROCEDURE_CAT - The catalog the procedure is in, which may be null.
        2. PROCEDURE_SCHEM - The schema the procedures is in, which may be null.
        3. PROCEDURE_NAME - The name of the procedure.
        4. COLUMN_NAME - The name of the column
        5. COLUMN_TYPE - The type of the column, which will be one of the contants defined in this class (procedureColumnUnknown, procedureColumnIn, procedureColumnInOut, procedureColumnOut, procedureColumnReturn, or procedureColumnResult).
        6. DATA_TYPE - The SQL type of the column. This is one of the constants defined in Types.
        7. TYPE_NAME - The string name of the data type for this column.
        8. PRECISION - The precision of the column.
        9. LENGTH - The length of the column in bytes
        10. SCALE - The scale of the column.
        11. RADIX - The radix of the column.
        12. NULLABLE - Whether or not the column is NULLABLE. This is one of the constants defined in this class (procedureNoNulls, procedureNullable, or procedureNullableUnknown)
        13. REMARKS - A description of the column.
        Parameters:
        catalog - The name of the catalog to return stored procedured from, or "" to return procedures from all catalogs.
        schemaPattern - A schema pattern for the schemas to return stored procedures from, or "" to return procedures from all schemas.
        procedurePattern - The pattern of procedures names to return.
        columnPattern - The pattern of column names to return.
        Throws:
        java.sql.SQLException - If an error occurs.
      • getTables

        ResultSet getTables​(java.lang.String catalog,
                            java.lang.String schemaPattern,
                            java.lang.String tablePattern,
                            java.lang.String[] types)
                     throws java.sql.SQLException
        This method returns a list of the requested table as a ResultSet with the following columns:
        1. TABLE_CAT - The catalog the table is in, which may be null.
        2. TABLE_SCHEM - The schema the table is in, which may be null.
        3. TABLE_NAME - The name of the table.
        4. TABLE_TYPE - A string describing the table type. This will be one of the values returned by the getTableTypes() method.
        5. REMARKS - Comments about the table.
        Parameters:
        catalog - The name of the catalog to return tables from, or "" to return tables from all catalogs.
        schemaPattern - A schema pattern for the schemas to return tables from, or "" to return tables from all schemas.
        tablePattern - The pattern of table names to return.
        types - The list of table types to include; null returns all types.
        Throws:
        java.sql.SQLException - If an error occurs.
      • getSchemas

        ResultSet getSchemas()
                      throws java.sql.SQLException
        This method returns the list of database schemas as a ResultSet, with one column - TABLE_SCHEM - that is the name of the schema.
        Returns:
        A ResultSet with all the requested schemas.
        Throws:
        java.sql.SQLException - If an error occurs.
      • getCatalogs

        ResultSet getCatalogs()
                       throws java.sql.SQLException
        This method returns the list of database catalogs as a ResultSet with one column - TABLE_CAT - that is the name of the catalog.
        Returns:
        A ResultSet with all the requested catalogs.
        Throws:
        java.sql.SQLException - If an error occurs.
      • getTableTypes

        ResultSet getTableTypes()
                         throws java.sql.SQLException
        This method returns the list of database table types as a ResultSet with one column - TABLE_TYPE - that is the name of the table type.
        Returns:
        A ResultSet with all the requested table types.
        Throws:
        java.sql.SQLException - If an error occurs.
      • getColumns

        ResultSet getColumns​(java.lang.String catalog,
                             java.lang.String schemaPattern,
                             java.lang.String tablePattern,
                             java.lang.String columnPattern)
                      throws java.sql.SQLException
        This method returns a list of the tables columns for the requested tables. This is returned in the form of a ResultSet with the following columns:

        1. TABLE_CAT - The catalog the table is in, which may be null.
        2. TABLE_SCHEM - The schema the tables is in, which may be null.
        3. TABLE_NAME - The name of the table.
        4. COLUMN_NAME - The name of the column
        5. DATA_TYPE - The SQL type of the column. This is one of the constants defined in Types.
        6. TYPE_NAME - The string name of the data type for this column.
        7. COLUMN_SIZE - The size of the column.
        8. Unused
        9. NUM_PREC_RADIX - The radix of the column.
        10. NULLABLE - Whether or not the column is NULLABLE. This is one of the constants defined in this class (tableNoNulls, tableNullable, or tableNullableUnknown)
        11. REMARKS - A description of the column.
        12. COLUMN_DEF - The default value for the column, may be null.
        13. SQL_DATA_TYPE - Unused
        14. SQL_DATETIME_SUB - Unused
        15. CHAR_OCTET_LENGTH - For character columns, the maximum number of bytes in the column.
        16. ORDINAL_POSITION - The index of the column in the table.
        17. IS_NULLABLE - "NO" means no, "YES" means maybe, and an empty string means unknown.
        Parameters:
        catalog - The name of the catalog to return table from, or "" to return tables from all catalogs.
        schemaPattern - A schema pattern for the schemas to return tables from, or "" to return tables from all schemas.
        tablePattern - The pattern of table names to return.
        columnPattern - The pattern of column names to return.
        Throws:
        java.sql.SQLException - If an error occurs.
      • getColumnPrivileges

        ResultSet getColumnPrivileges​(java.lang.String catalog,
                                      java.lang.String schema,
                                      java.lang.String tableName,
                                      java.lang.String columnPattern)
                               throws java.sql.SQLException
        This method returns the access rights that have been granted to the requested columns. This information is returned as a ResultSet with the following columns:
        1. TABLE_CAT - The catalog the table is in, which may be null.
        2. TABLE_SCHEM - The schema the tables is in, which may be null.
        3. TABLE_NAME - The name of the table.
        4. COLUMN_NAME - The name of the column.
        5. GRANTOR - The entity that granted the access.
        6. GRANTEE - The entity granted the access.
        7. PRIVILEGE - The name of the privilege granted.
        8. IS_GRANTABLE - "YES" if the grantee can grant the privilege to others, "NO" if not, and null if unknown.
        Parameters:
        catalog - The catalog to retrieve information from, or the empty string to return entities not associated with a catalog, or null to return information from all catalogs.
        schema - The schema to retrieve information from, or the empty string to return entities not associated with a schema.
        tableName - The table name to return information for.
        columnPattern - A pattern of column names to return information for.
        Returns:
        A ResultSet with all the requested privileges.
        Throws:
        java.sql.SQLException - If an error occurs.
      • getTablePrivileges

        ResultSet getTablePrivileges​(java.lang.String catalog,
                                     java.lang.String schemaPattern,
                                     java.lang.String tablePattern)
                              throws java.sql.SQLException
        This method returns the access rights that have been granted to the requested tables. This information is returned as a ResultSet with the following columns:
        1. TABLE_CAT - The catalog the table is in, which may be null.
        2. TABLE_SCHEM - The schema the tables is in, which may be null.
        3. TABLE_NAME - The name of the table.
        4. GRANTOR - The entity that granted the access.
        5. GRANTEE - The entity granted the access.
        6. PRIVILEGE - The name of the privilege granted.
        7. IS_GRANTABLE - "YES" if the grantee can grant the privilege to others, "NO" if not, and null if unknown.
        Parameters:
        catalog - The catalog to retrieve information from, or the empty string to return entities not associated with a catalog, or null to return information from all catalogs.
        schemaPattern - The schema to retrieve information from, or the empty string to return entities not associated with a schema.
        tablePattern - The table name pattern of tables to return information for.
        Returns:
        A ResultSet with all the requested privileges.
        Throws:
        java.sql.SQLException - If an error occurs.
      • getBestRowIdentifier

        ResultSet getBestRowIdentifier​(java.lang.String catalog,
                                       java.lang.String schema,
                                       java.lang.String tableName,
                                       int scope,
                                       boolean nullable)
                                throws java.sql.SQLException
        This method returns the best set of columns for uniquely identifying a row. It returns this information as a ResultSet with the following columns:
        1. SCOPE - The scope of the results returned. This is one of the constants defined in this class (bestRowTemporary, bestRowTransaction, or bestRowSession).
        2. COLUMN_NAME - The name of the column.
        3. DATA_TYPE - The SQL type of the column. This is one of the constants defined in Types.
        4. TYPE_NAME - The string name of the data type for this column.
        5. COLUMN_SIZE - The precision of the columns
        6. BUFFER_LENGTH - Unused
        7. DECIMAL_DIGITS - The scale of the column.
        8. PSEUDO_COLUMN - Whether or not the best row identifier is a pseudo_column. This is one of the constants defined in this class (bestRowUnknown, bestRowNotPseudo, or bestRowPseudo).
        Parameters:
        catalog - The catalog to retrieve information from, or the empty string to return entities not associated with a catalog, or null to return information from all catalogs.
        schema - The schema to retrieve information from, or the empty string to return entities not associated with a schema.
        tableName - The table name to return information for.
        scope - One of the best row id scope constants from this class.
        nullable - true to include columns that are nullable, false otherwise.
        Returns:
        A ResultSet with the best row identifier.
        Throws:
        java.sql.SQLException - If an error occurs.
      • getVersionColumns

        ResultSet getVersionColumns​(java.lang.String catalog,
                                    java.lang.String schema,
                                    java.lang.String tableName)
                             throws java.sql.SQLException
        This method returns the set of columns that are automatically updated when the row is update. It returns this information as a ResultSet with the following columns:
        1. SCOPE - Unused
        2. COLUMN_NAME - The name of the column.
        3. DATA_TYPE - The SQL type of the column. This is one of the constants defined in Types.
        4. TYPE_NAME - The string name of the data type for this column.
        5. COLUMN_SIZE - The precision of the columns
        6. BUFFER_LENGTH - Unused
        7. DECIMAL_DIGITS - The scale of the column.
        8. PSEUDO_COLUMN - Whether or not the best row identifier is a pseudo_column. This is one of the constants defined in this class (versionRowUnknown, versionRowNotPseudo, or versionRowPseudo).
        Parameters:
        catalog - The catalog to retrieve information from, or the empty string to return entities not associated with a catalog, or null to return information from all catalogs.
        schema - The schema to retrieve information from, or the empty string to return entities not associated with a schema.
        tableName - The table name to return information for
        Returns:
        A ResultSet with the version columns.
        Throws:
        java.sql.SQLException - If an error occurs.
      • getPrimaryKeys

        ResultSet getPrimaryKeys​(java.lang.String catalog,
                                 java.lang.String schema,
                                 java.lang.String tableName)
                          throws java.sql.SQLException
        This method returns a list of a table's primary key columns. These are returned as a ResultSet with the following columns.
        1. TABLE_CAT - The catalog of the table, which may be null.
        2. TABLE_SCHEM - The schema of the table, which may be null.
        3. TABLE_NAME - The name of the table.
        4. COLUMN_NAME - The name of the column.
        5. KEY_SEQ - The sequence number of the column within the primary key.
        6. PK_NAME - The name of the primary key, which may be null.
        Parameters:
        catalog - The catalog to retrieve information from, or the empty string to return entities not associated with a catalog, or null to return information from all catalogs.
        schema - The schema to retrieve information from, or the empty string to return entities not associated with a schema.
        tableName - The table name to return information for.
        Returns:
        A ResultSet with the primary key columns.
        Throws:
        java.sql.SQLException - If an error occurs.
      • getImportedKeys

        ResultSet getImportedKeys​(java.lang.String catalog,
                                  java.lang.String schema,
                                  java.lang.String tableName)
                           throws java.sql.SQLException
        This method returns a list of the table's foreign keys. These are returned as a ResultSet with the following columns:
        1. PKTABLE_CAT - The catalog of the table the key was imported from.
        2. PKTABLE_SCHEM - The schema of the table the key was imported from.
        3. PKTABLE_NAME - The name of the table the key was imported from.
        4. PKCOLUMN_NAME - The name of the column that was imported.
        5. FKTABLE_CAT - The foreign key catalog name.
        6. FKTABLE_SCHEM - The foreign key schema name.
        7. FKTABLE_NAME - The foreign key table name.
        8. FKCOLUMN_NAME - The foreign key column name.
        9. KEY_SEQ - The sequence number of the column within the foreign key.
        10. UPDATE_RULE - How the foreign key behaves when the primary key is updated. This is one of the constants defined in this class (importedNoAction, importedKeyCascade, importedKeySetNull, importedKeySetDefault, or importedKeyRestrict).
        11. DELETE_RULE - How the foreign key behaves when the primary key is deleted. This is one of the constants defined in this class (importedNoAction, importedKeyCascade, importedKeySetNull, or importedKeySetDefault)
        12. FK_NAME - The name of the foreign key.
        13. PK_NAME - The name of the primary key.
        14. DEFERRABILITY - The deferrability value. This is one of the constants defined in this table (importedKeyInitiallyDeferred, importedKeyInitiallyImmediate, or importedKeyNotDeferrable).
        Parameters:
        catalog - The catalog to retrieve information from, or the empty string to return entities not associated with a catalog, or null to return information from all catalogs.
        schema - The schema to retrieve information from, or the empty string to return entities not associated with a schema.
        tableName - The table name to return information for.
        Returns:
        A ResultSet with the foreign key columns.
        Throws:
        java.sql.SQLException - If an error occurs.
      • getExportedKeys

        ResultSet getExportedKeys​(java.lang.String catalog,
                                  java.lang.String schema,
                                  java.lang.String tableName)
                           throws java.sql.SQLException
        This method returns a list of the table's which use this table's primary key as a foreign key. The information is returned as a ResultSet with the following columns:
        1. PKTABLE_CAT - The catalog of the table the key was imported from.
        2. PKTABLE_SCHEM - The schema of the table the key was imported from.
        3. PKTABLE_NAME - The name of the table the key was imported from.
        4. PKCOLUMN_NAME - The name of the column that was imported.
        5. FKTABLE_CAT - The foreign key catalog name.
        6. FKTABLE_SCHEM - The foreign key schema name.
        7. FKTABLE_NAME - The foreign key table name.
        8. FKCOLUMN_NAME - The foreign key column name.
        9. KEY_SEQ - The sequence number of the column within the foreign key.
        10. UPDATE_RULE - How the foreign key behaves when the primary key is updated. This is one of the constants defined in this class (importedNoAction, importedKeyCascade, importedKeySetNull, importedKeySetDefault, or importedKeyRestrict).
        11. DELETE_RULE - How the foreign key behaves when the primary key is deleted. This is one of the constants defined in this class (importedNoAction, importedKeyCascade, importedKeySetNull, or importedKeySetDefault)
        12. FK_NAME - The name of the foreign key.
        13. PK_NAME - The name of the primary key.
        14. DEFERRABILITY - The deferrability value. This is one of the constants defined in this table (importedKeyInitiallyDeferred, importedKeyInitiallyImmediate, or importedKeyNotDeferrable).
        Parameters:
        catalog - The catalog to retrieve information from, or the empty string to return entities not associated with a catalog, or null to return information from all catalogs.
        schema - The schema to retrieve information from, or the empty string to return entities not associated with a schema.
        tableName - The table name to return information for.
        Returns:
        A ResultSet with the requested information
        Throws:
        java.sql.SQLException - If an error occurs.
      • getCrossReference

        ResultSet getCrossReference​(java.lang.String primaryCatalog,
                                    java.lang.String primarySchema,
                                    java.lang.String primaryTableName,
                                    java.lang.String foreignCatalog,
                                    java.lang.String foreignSchema,
                                    java.lang.String foreignTableName)
                             throws java.sql.SQLException
        This method returns a description of how one table imports another table's primary key as a foreign key. The information is returned as a ResultSet with the following columns:
        1. PKTABLE_CAT - The catalog of the table the key was imported from.
        2. PKTABLE_SCHEM - The schema of the table the key was imported from.
        3. PKTABLE_NAME - The name of the table the key was imported from.
        4. PKCOLUMN_NAME - The name of the column that was imported.
        5. FKTABLE_CAT - The foreign key catalog name.
        6. FKTABLE_SCHEM - The foreign key schema name.
        7. FKTABLE_NAME - The foreign key table name.
        8. FKCOLUMN_NAME - The foreign key column name.
        9. KEY_SEQ - The sequence number of the column within the foreign key.
        10. UPDATE_RULE - How the foreign key behaves when the primary key is updated. This is one of the constants defined in this class (importedNoAction, importedKeyCascade, importedKeySetNull, importedKeySetDefault, or importedKeyRestrict).
        11. DELETE_RULE - How the foreign key behaves when the primary key is deleted. This is one of the constants defined in this class (importedNoAction, importedKeyCascade, importedKeySetNull, or importedKeySetDefault)
        12. FK_NAME - The name of the foreign key.
        13. PK_NAME - The name of the primary key.
        14. DEFERRABILITY - The deferrability value. This is one of the constants defined in this table (importedKeyInitiallyDeferred, importedKeyInitiallyImmediate, or importedKeyNotDeferrable).
        Parameters:
        primaryCatalog - The catalog to retrieve information from, or the empty string to return entities not associated with a catalog, or null to return information from all catalogs, on the exporting side.
        primarySchema - The schema to retrieve information from, or the empty string to return entities not associated with a schema, on the exporting side.
        primaryTableName - The table name to return information for, on the exporting side.
        foreignCatalog - The catalog to retrieve information from, or the empty string to return entities not associated with a catalog, or null to return information from all catalogs, on the importing side.
        foreignSchema - The schema to retrieve information from, or the empty string to return entities not associated with a schema on the importing side.
        foreignTableName - The table name to return information for on the importing side.
        Returns:
        A ResultSet with the requested information
        Throws:
        java.sql.SQLException - If an error occurs.
      • getTypeInfo

        ResultSet getTypeInfo()
                       throws java.sql.SQLException
        This method returns a list of the SQL types supported by this database. The information is returned as a ResultSet with the following columns:
        1. TYPE_NAME - The name of the data type.
        2. DATA_TYPE - A data type constant from Types for this type.
        3. PRECISION - The maximum precision of this type.
        4. LITERAL_PREFIX - Prefix value used to quote a literal, which may be null.
        5. LITERAL_SUFFIX - Suffix value used to quote a literal, which may be null.
        6. CREATE_PARAMS - The parameters used to create the type, which may be null.
        7. NULLABLE - Whether or not this type supports NULL values. This will be one of the constants defined in this interface (typeNoNulls, typeNullable, or typeNullableUnknown).
        8. CASE_SENSITIVE - Whether or not the value is case sensitive.
        9. SEARCHABLE - Whether or not "LIKE" expressions are supported in WHERE clauses for this type. This will be one of the constants defined in this interface (typePredNone, typePredChar, typePredBasic, or typeSearchable).
        10. UNSIGNED_ATTRIBUTE - Is the value of this type unsigned.
        11. FIXED_PREC_SCALE - Whether or not this type can be used for money.
        12. AUTO_INCREMENT - Whether or not this type supports auto-incrementing.
        13. LOCAL_TYPE_NAME - A localized name for this data type.
        14. MINIMUM_SCALE - The minimum scale supported by this type.
        15. MAXIMUM_SCALE - The maximum scale supported by this type.
        16. SQL_DATA_TYPE - Unused.
        17. SQL_DATETIME_SUB - Unused.
        18. NUM_PREC_RADIX - The radix of this data type.
        Returns:
        A ResultSet with the list of available data types.
        Throws:
        java.sql.SQLException - If an error occurs.
      • getIndexInfo

        ResultSet getIndexInfo​(java.lang.String catalog,
                               java.lang.String schema,
                               java.lang.String tableName,
                               boolean unique,
                               boolean approximate)
                        throws java.sql.SQLException
        This method returns information about a tables indices and statistics. It is returned as a ResultSet with the following columns:
        1. TABLE_CAT - The catalog of the table, which may be null.
        2. TABLE_SCHEM - The schema of the table, which may be null.
        3. TABLE_NAME - The name of the table.
        4. NON_UNIQUE - Are index values non-unique?
        5. INDEX_QUALIFIER The index catalog, which may be null
        6. INDEX_NAME - The name of the index.
        7. TYPE - The type of index, which will be one of the constants defined in this interface (tableIndexStatistic, tableIndexClustered, tableIndexHashed, or tableIndexOther).
        8. ORDINAL_POSITION - The sequence number of this column in the index. This will be 0 when the index type is tableIndexStatistic.
        9. COLUMN_NAME - The name of this column in the index.
        10. ASC_OR_DESC - "A" for an ascending sort sequence, "D" for a descending sort sequence or null if a sort sequence is not supported.
        11. CARDINALITY - The number of unique rows in the index, or the number of rows in the table if the index type is tableIndexStatistic.
        12. PAGES - The number of pages used for the index, or the number of pages in the table if the index type is tableIndexStatistic.
        13. FILTER_CONDITION - The filter condition for this index, which may be null.
        Parameters:
        catalog - The catalog to retrieve information from, or the empty string to return entities not associated with a catalog, or null to return information from all catalogs.
        schema - The schema to retrieve information from, or the empty string to return entities not associated with a schema.
        tableName - The table name to return information for.
        unique - true to return only unique indexes, false otherwise.
        approximate - true if data values can be approximations, false otherwise.
        Returns:
        A ResultSet with the requested index information
        Throws:
        java.sql.SQLException - If an error occurs.
      • supportsResultSetType

        boolean supportsResultSetType​(int type)
                               throws java.sql.SQLException
        This method tests whether or not the datbase supports the specified result type.
        Parameters:
        type - The desired result type, which is one of the constants defined in ResultSet.
        Returns:
        true if the result set type is supported, false otherwise.
        Throws:
        java.sql.SQLException - If an error occurs.
        See Also:
        ResultSet
      • supportsResultSetConcurrency

        boolean supportsResultSetConcurrency​(int type,
                                             int concurrency)
                                      throws java.sql.SQLException
        This method tests whether the specified result set type and result set concurrency type are supported by the database.
        Parameters:
        type - The desired result type, which is one of the constants defined in ResultSet.
        concurrency - The desired concurrency type, which is one of the constants defined in ResultSet.
        Returns:
        true if the result set type is supported, false otherwise.
        Throws:
        java.sql.SQLException - If an error occurs.
        See Also:
        ResultSet
      • ownUpdatesAreVisible

        boolean ownUpdatesAreVisible​(int type)
                              throws java.sql.SQLException
        This method tests whether or not the specified result set type sees its own updates.
        Parameters:
        type - The desired result type, which is one of the constants defined in ResultSet.
        Returns:
        true if the result set type sees its own updates, false otherwise.
        Throws:
        java.sql.SQLException - If an error occurs.
        See Also:
        ResultSet
      • ownDeletesAreVisible

        boolean ownDeletesAreVisible​(int type)
                              throws java.sql.SQLException
        This method tests whether or not the specified result set type sees its own deletes.
        Parameters:
        type - The desired result type, which is one of the constants defined in ResultSet.
        Returns:
        true if the result set type sees its own deletes, false otherwise.
        Throws:
        java.sql.SQLException - If an error occurs.
        See Also:
        ResultSet
      • ownInsertsAreVisible

        boolean ownInsertsAreVisible​(int type)
                              throws java.sql.SQLException
        This method tests whether or not the specified result set type sees its own inserts.
        Parameters:
        type - The desired result type, which is one of the constants defined in ResultSet.
        Returns:
        true if the result set type sees its own inserts, false otherwise.
        Throws:
        java.sql.SQLException - If an error occurs.
        See Also:
        ResultSet
      • othersUpdatesAreVisible

        boolean othersUpdatesAreVisible​(int type)
                                 throws java.sql.SQLException
        This method tests whether or not the specified result set type sees updates committed by others.
        Parameters:
        type - The desired result type, which is one of the constants defined in ResultSet.
        Returns:
        true if the result set type sees other updates, false otherwise.
        Throws:
        java.sql.SQLException - If an error occurs.
        See Also:
        ResultSet
      • othersDeletesAreVisible

        boolean othersDeletesAreVisible​(int type)
                                 throws java.sql.SQLException
        This method tests whether or not the specified result set type sees deletes committed by others.
        Parameters:
        type - The desired result type, which is one of the constants defined in ResultSet.
        Returns:
        true if the result set type sees other deletes, false otherwise.
        Throws:
        java.sql.SQLException - If an error occurs.
        See Also:
        ResultSet
      • othersInsertsAreVisible

        boolean othersInsertsAreVisible​(int type)
                                 throws java.sql.SQLException
        This method tests whether or not the specified result set type sees inserts committed by others.
        Parameters:
        type - The desired result type, which is one of the constants defined in ResultSet.
        Returns:
        true if the result set type sees other inserts, false otherwise.
        Throws:
        java.sql.SQLException - If an error occurs.
        See Also:
        ResultSet
      • updatesAreDetected

        boolean updatesAreDetected​(int type)
                            throws java.sql.SQLException
        This method tests whether or not the specified result set type can detect a visible update by calling the rowUpdated method.
        Parameters:
        type - The desired result type, which is one of the constants defined in ResultSet.
        Returns:
        true if the result set type can detect visible updates using rowUpdated, false otherwise.
        Throws:
        java.sql.SQLException - If an error occurs.
        See Also:
        ResultSet
      • deletesAreDetected

        boolean deletesAreDetected​(int type)
                            throws java.sql.SQLException
        This method tests whether or not the specified result set type can detect a visible delete by calling the rowUpdated method.
        Parameters:
        type - The desired result type, which is one of the constants defined in ResultSet.
        Returns:
        true if the result set type can detect visible deletes using rowUpdated, false otherwise.
        Throws:
        java.sql.SQLException - If an error occurs.
        See Also:
        ResultSet
      • insertsAreDetected

        boolean insertsAreDetected​(int type)
                            throws java.sql.SQLException
        This method tests whether or not the specified result set type can detect a visible insert by calling the rowUpdated method.
        Parameters:
        type - The desired result type, which is one of the constants defined in ResultSet.
        Returns:
        true if the result set type can detect visible inserts using rowUpdated, false otherwise.
        Throws:
        java.sql.SQLException - If an error occurs.
        See Also:
        ResultSet
      • supportsBatchUpdates

        boolean supportsBatchUpdates()
                              throws java.sql.SQLException
        This method tests whether or not the database supports batch updates.
        Returns:
        true if batch updates are supported, false otherwise.
        Throws:
        java.sql.SQLException - If an error occurs.
      • getUDTs

        ResultSet getUDTs​(java.lang.String catalog,
                          java.lang.String schemaPattern,
                          java.lang.String typePattern,
                          int[] types)
                   throws java.sql.SQLException
        This method returns the list of user defined data types in use. These are returned as a ResultSet with the following columns:
        1. TYPE_CAT - The catalog name, which may be null.
        2. TYPE_SCEHM - The schema name, which may be null.
        3. TYPE_NAME - The user defined data type name.
        4. CLASS_NAME - The Java class name this type maps to.
        5. DATA_TYPE - A type identifier from Types for this type. This will be one of JAVA_OBJECT, STRUCT, or DISTINCT.
        6. REMARKS - Comments about this data type.
        Parameters:
        catalog - The catalog to retrieve information from, or the empty string to return entities not associated with a catalog, or null to return information from all catalogs.
        schemaPattern - The schema to retrieve information from, or the empty string to return entities not associated with a schema.
        typePattern - The type name pattern to match.
        types - The type identifier patterns (from Types) to match.
        Returns:
        A ResultSet with the requested type information
        Throws:
        java.sql.SQLException - If an error occurs.
      • getConnection

        Connection getConnection()
                          throws java.sql.SQLException
        This method returns the Connection object that was used to generate the metadata in this object.
        Returns:
        The connection for this object.
        Throws:
        java.sql.SQLException - If an error occurs.
      • supportsSavepoints

        boolean supportsSavepoints()
                            throws java.sql.SQLException
        This method tests whether the databse supports savepoints.
        Returns:
        true if the database supports savepoints, false if it does not.
        Throws:
        java.sql.SQLException - If an error occurs.
        Since:
        1.4
      • supportsNamedParameters

        boolean supportsNamedParameters()
                                 throws java.sql.SQLException
        This method tests whether the database supports named parameters.
        Returns:
        true if the database supports named parameters, false if it does not.
        Throws:
        java.sql.SQLException - If an error occurs.
        Since:
        1.4
      • supportsMultipleOpenResults

        boolean supportsMultipleOpenResults()
                                     throws java.sql.SQLException
        This method tests whether the database supports returning multiple ResultSetS from a CallableStatement at once.
        Returns:
        true if the database supports returnig multiple results at once, false if it does not.
        Throws:
        java.sql.SQLException - If an error occurs.
        Since:
        1.4
      • supportsGetGeneratedKeys

        boolean supportsGetGeneratedKeys()
                                  throws java.sql.SQLException
        Throws:
        java.sql.SQLException
        Since:
        1.4
      • getSuperTypes

        ResultSet getSuperTypes​(java.lang.String catalog,
                                java.lang.String schemaPattern,
                                java.lang.String typePattern)
                         throws java.sql.SQLException
        Throws:
        java.sql.SQLException
        Since:
        1.4
      • getSuperTables

        ResultSet getSuperTables​(java.lang.String catalog,
                                 java.lang.String schemaPattern,
                                 java.lang.String tablePattern)
                          throws java.sql.SQLException
        Throws:
        java.sql.SQLException
        Since:
        1.4
      • getAttributes

        ResultSet getAttributes​(java.lang.String catalog,
                                java.lang.String schemaPattern,
                                java.lang.String typePattern,
                                java.lang.String attributePattern)
                         throws java.sql.SQLException
        Throws:
        java.sql.SQLException
        Since:
        1.4
      • supportsResultSetHoldability

        boolean supportsResultSetHoldability​(int holdability)
                                      throws java.sql.SQLException
        This method tests if the database supports the specified holdability type. Valid values for this parameter are specified in the ResultSet class.
        Parameters:
        holdability - The holdability type to test.
        Returns:
        true if the database supports the holdability type, false if it does not.
        Throws:
        java.sql.SQLException - If an error occurs.
        Since:
        1.4
        See Also:
        ResultSet
      • getResultSetHoldability

        int getResultSetHoldability()
                             throws java.sql.SQLException
        This method returns the default holdability type of ResultSetS retrieved from this database. The possible values are specified in the ResultSet class.
        Returns:
        The default holdability type.
        Throws:
        java.sql.SQLException - If an error occurs.
        Since:
        1.4
      • getDatabaseMajorVersion

        int getDatabaseMajorVersion()
                             throws java.sql.SQLException
        This method returns the major version number of the database.
        Returns:
        The major version number of the database.
        Throws:
        java.sql.SQLException - If an error occurs.
        Since:
        1.4
      • getDatabaseMinorVersion

        int getDatabaseMinorVersion()
                             throws java.sql.SQLException
        This method returns the minor version number of the database.
        Returns:
        The minor version number of the database.
        Throws:
        java.sql.SQLException - If an error occurs.
        Since:
        1.4
      • getJDBCMajorVersion

        int getJDBCMajorVersion()
                         throws java.sql.SQLException
        This method returns the major version number of the JDBC driver.
        Returns:
        The major version number of the JDBC driver.
        Throws:
        java.sql.SQLException - If an error occurs.
        Since:
        1.4
      • getJDBCMinorVersion

        int getJDBCMinorVersion()
                         throws java.sql.SQLException
        This method returns the minor version number of the JDBC driver.
        Returns:
        The minor version number of the database.
        Throws:
        java.sql.SQLException - If an error occurs.
        Since:
        1.4
      • getSQLStateType

        int getSQLStateType()
                     throws java.sql.SQLException
        Throws:
        java.sql.SQLException
        Since:
        1.4
      • locatorsUpdateCopy

        boolean locatorsUpdateCopy()
                            throws java.sql.SQLException
        Throws:
        java.sql.SQLException
        Since:
        1.4
      • supportsStatementPooling

        boolean supportsStatementPooling()
                                  throws java.sql.SQLException
        Throws:
        java.sql.SQLException
        Since:
        1.4