getProcedures method can be called by this user.
*
* @return true if all the procedures can be called,
* false otherwise.
*
* @exception SQLException If an error occurs.
*/
public abstract boolean
allProceduresAreCallable() throws SQLException;
/*************************************************************************/
/**
* This method tests whether or not all the table returned by the
* getTables method can be selected by this user.
*
* @return true if all the procedures can be called,
* false otherwise.
*
* @exception SQLException If an error occurs.
*/
public abstract boolean
allTablesAreSelectable() throws SQLException;
/*************************************************************************/
/**
* This method returns the URL for this database.
*
* @return The URL string for this database, or null if it
* is not known.
*
* @exception SQLException If an error occurs.
*/
public abstract String
getURL() throws SQLException;
/*************************************************************************/
/**
* This method returns the database username for this connection.
*
* @return The database username.
*
* @exception SQLException If an error occurs.
*/
public abstract String
getUserName() throws SQLException;
/*************************************************************************/
/**
* This method tests whether or not the database is in read only mode.
*
* @return true if the database is in read only mode,
* false otherwise.
*
* @exception SQLException If an error occurs.
*/
public abstract boolean
isReadOnly() throws SQLException;
/*************************************************************************/
/**
* This method tests whether or not NULL's sort as high values.
*
* @return true if NULL's sort as high values, false
* otherwise.
*
* @exception SQLException If an error occurs.
*/
public abstract boolean
nullsAreSortedHigh() throws SQLException;
/*************************************************************************/
/**
* This method tests whether or not NULL's sort as low values.
*
* @return true if NULL's sort as low values, false
* otherwise.
*
* @exception SQLException If an error occurs.
*/
public abstract boolean
nullsAreSortedLow() throws SQLException;
/*************************************************************************/
/**
* This method test whether or not NULL's are sorted to the beginning
* of the list regardless of ascending or descending sort order.
*
* @return true if NULL's always sort to the beginning,
* false otherwise.
*
* @exception SQLException If an error occurs.
*/
public abstract boolean
nullsAreSortedAtStart() throws SQLException;
/*************************************************************************/
/**
* This method test whether or not NULL's are sorted to the end
* of the list regardless of ascending or descending sort order.
*
* @return true if NULL's always sort to the end,
* false otherwise.
*
* @exception SQLException If an error occurs.
*/
public abstract boolean
nullsAreSortedAtEnd() throws SQLException;
/*************************************************************************/
/**
* This method returns the name of the database product.
*
* @return The database product.
*
* @exception SQLException If an error occurs.
*/
public abstract String
getDatabaseProductName() throws SQLException;
/*************************************************************************/
/**
* This method returns the version of the database product.
*
* @return The version of the database product.
*
* @exception SQLException If an error occurs.
*/
public abstract String
getDatabaseProductVersion() throws SQLException;
/*************************************************************************/
/**
* This method returns the name of the JDBC driver.
*
* @return The name of the JDBC driver.
*
* @exception SQLException If an error occurs.
*/
public abstract String
getDriverName() throws SQLException;
/*************************************************************************/
/**
* This method returns the version of the JDBC driver.
*
* @return The version of the JDBC driver.
*
* @exception SQLException If an error occurs.
*/
public abstract String
getDriverVersion() throws SQLException;
/*************************************************************************/
/**
* This method returns the major version number of the JDBC driver.
*
* @return The major version number of the JDBC driver.
*/
public abstract int
getDriverMajorVersion();
/*************************************************************************/
/**
* This method returns the minor version number of the JDBC driver.
*
* @return The minor version number of the JDBC driver.
*/
public abstract int
getDriverMinorVersion();
/*************************************************************************/
/**
* This method tests whether or not the database uses local files to
* store tables.
*
* @return true if the database uses local files,
* false otherwise.
*
* @exception SQLException If an error occurs.
*/
public abstract boolean
usesLocalFiles() throws SQLException;
/*************************************************************************/
/**
* This method tests whether or not the database uses a separate file for
* each table.
*
* @return true if the database uses a separate file for each
* table false otherwise.
*
* @exception SQLException If an error occurs.
*/
public abstract boolean
usesLocalFilePerTable() throws SQLException;
/*************************************************************************/
/**
* This method tests whether or not the database supports identifiers
* with mixed case.
*
* @return true if the database supports mixed case identifiers,
* false otherwise.
*
* @exception SQLException If an error occurs.
*/
public abstract boolean
supportsMixedCaseIdentifiers() throws SQLException;
/*************************************************************************/
/**
* This method tests whether or not the database treats mixed case
* identifiers as all upper case.
*
* @exception true if the database treats all identifiers as
* upper case, false otherwise.
*
* @exception SQLException If an error occurs.
*/
public abstract boolean
storesUpperCaseIdentifiers() throws SQLException;
/*************************************************************************/
/**
* This method tests whether or not the database treats mixed case
* identifiers as all lower case.
*
* @exception true if the database treats all identifiers as
* lower case, false otherwise.
*
* @exception SQLException If an error occurs.
*/
public abstract boolean
storesLowerCaseIdentifiers() throws SQLException;
/*************************************************************************/
/**
* This method tests whether or not the database stores mixed case
* identifers even if it treats them as case insensitive.
*
* @return true if the database stores mixed case identifiers,
* false otherwise.
*
* @exception SQLException If an error occurs.
*/
public abstract boolean
storesMixedCaseIdentifiers() throws SQLException;
/*************************************************************************/
/**
* This method tests whether or not the database supports quoted identifiers
* with mixed case.
*
* @return true if the database supports mixed case quoted
* identifiers, false otherwise.
*
* @exception SQLException If an error occurs.
*/
public abstract boolean
supportsMixedCaseQuotedIdentifiers() throws SQLException;
/*************************************************************************/
/**
* This method tests whether or not the database treats mixed case
* quoted identifiers as all upper case.
*
* @exception true if the database treats all quoted identifiers
* as upper case, false otherwise.
*
* @exception SQLException If an error occurs.
*/
public abstract boolean
storesUpperCaseQuotedIdentifiers() throws SQLException;
/*************************************************************************/
/**
* This method tests whether or not the database treats mixed case
* quoted identifiers as all lower case.
*
* @exception true if the database treats all quoted identifiers
* as lower case, false otherwise.
*
* @exception SQLException If an error occurs.
*/
public abstract boolean
storesLowerCaseQuotedIdentifiers() throws SQLException;
/*************************************************************************/
/**
* This method tests whether or not the database stores mixed case
* quoted identifers even if it treats them as case insensitive.
*
* @return true if the database stores mixed case quoted
* identifiers, false otherwise.
*
* @exception SQLException If an error occurs.
*/
public abstract boolean
storesMixedCaseQuotedIdentifiers() throws SQLException;
/*************************************************************************/
/**
* This metohd returns the quote string for SQL identifiers.
*
* @return The quote string for SQL identifers, or a space if quoting
* is not supported.
*
* @exception SQLException If an error occurs.
*/
public abstract String
getIdentifierQuoteString() throws SQLException;
/*************************************************************************/
/**
* This method returns a comma separated list of all the SQL keywords in
* the database that are not in SQL92.
*
* @return The list of SQL keywords not in SQL92.
*
* @exception SQLException If an error occurs.
*/
public abstract String
getSQLKeywords() throws SQLException;
/*************************************************************************/
/**
* This method returns a comma separated list of math functions.
*
* @return The list of math functions.
*
* @exception SQLException If an error occurs.
*/
public abstract String
getNumericFunctions() throws SQLException;
/*************************************************************************/
/**
* This method returns a comma separated list of string functions.
*
* @return The list of string functions.
*
* @exception SQLException If an error occurs.
*/
public abstract String
getStringFunctions() throws SQLException;
/*************************************************************************/
/**
* This method returns a comma separated list of of system functions.
*
* @return A comma separated list of system functions.
*
* @exception SQLException
/* Got the value MIT uses via brute force :-) 2/10/90 eay */
#define NOISE ((DES_LONG)83653421L)
DES_LONG des_quad_cksum(const unsigned char *input, des_cblock output[],ons() throws SQLException;
/*************************************************************************/
/**
* This method returns the string used to escape wildcards in search strings.
*
* @return The string used to escape wildcards in search strings.
*
* @exception SQLException If an error occurs.
*/
public abstract String
getSearchStringEscape() throws SQLException;
/*************************************************************************/
/**
* This methods returns non-standard characters that can appear in
* unquoted identifiers.
*
* @return Non-standard characters that can appear in unquoted identifiers.
*
* @exception SQLException If an error occurs.
*/
public abstract String
getExtraNameCharacters() throws SQLException;
/*************************************************************************/
/**
* This method tests whether or not the database supports
* "ALTER TABLE ADD COLUMN"
*
* @return true if column add supported, false
* otherwise.
*
* @exception SQLException If an error occurs.
*/
public abstract boolean
supportsAlterTableWithAddColumn() throws SQLException;
/*************************************************************************/
/**
* This method tests whether or not the database supports
* "ALTER TABLE DROP COLUMN"
*
* @return true if column drop supported, false
* otherwise.
*
* @exception SQLException If an error occurs.
*/
public abstract boolean
supportsAlterTableWithDropColumn() throws SQLException;
/*************************************************************************/
/**
* This method tests whether or not column aliasing is supported.
*
* @return true if column aliasing is supported,
* false otherwise.
*
* @exception SQLException If an error occurs.
*/
public abstract boolean
supportsColumnAliasing() throws 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.
*
* @return true if concatenating NULL and a non-NULL value
* returns a NULL, false otherwise.
*
* @exception SQLException If an error occurs.
*/
public abstract boolean
nullPlusNonNullIsNull() throws SQLException;
/*************************************************************************/
/**
* Tests whether or not CONVERT is supported.
*
* @return true if CONVERT is supported, false
* otherwise.
*
* @exception SQLException If an error occurs.
*/
public abstract boolean
supportsConvert() throws SQLException;
/*************************************************************************/
/**
* This method tests whether or not CONVERT can be performed between the
* specified types. The types are contants from Types.
*
* @param fromType The SQL type to convert from.
* @param toType The SQL type to convert to.
*
* @return true if the conversion can be performed,
* false otherwise.
*
* @see Types
*/
public abstract boolean
supportsConvert(int fromType, int toType) throws SQLException;
/*************************************************************************/
/**
* This method tests whether or not table correlation names are
* supported. This will be always be true in a fully JDBC
* compliant driver.
*
* @return true if table correlation names are supported,
* false otherwise.
*
* @exception SQLException If an error occurs.
*/
public abstract boolean
supportsTableCorrelationNames() throws SQLException;
/*************************************************************************/
/**
* This method tests whether correlation names must be different from the
* name of the table.
*
* @return true if the correlation name must be different from
* the table name, false otherwise.
*
* @exception SQLException If an error occurs.
*/
public abstract boolean
supportsDifferentTableCorrelationNames() throws SQLException;
/*************************************************************************/
/**
* This method tests whether or not expressions are allowed in an
* ORDER BY lists.
*
* @return true if expressions are allowed in ORDER BY
* lists, false otherwise.
*
* @exception SQLException If an error occurs.
*/
public abstract boolean
supportsExpressionsInOrderBy() throws SQLException;
/*************************************************************************/
/**
* This method tests whether or ORDER BY on a non-selected column is
* allowed.
*
* @return true if a non-selected column can be used in an
* ORDER BY, false otherwise.
*
* @exception SQLException If an error occurs.
*/
public abstract boolean
supportsOrderByUnrelated() throws SQLException;
/*************************************************************************/
/**
* This method tests whether or not GROUP BY is supported.
*
* @return true if GROUP BY is supported, false
* otherwise.
*
* @exception SQLException If an error occurs.
*/
public abstract boolean
supportsGroupBy() throws SQLException;
/*************************************************************************/
/**
* This method tests whether GROUP BY on a non-selected column is
* allowed.
*
* @return true if a non-selected column can be used in a
* GROUP BY, false otherwise.
*
* @exception SQLException If an error occurs.
*/
public abstract boolean
supportsGroupByUnrelated() throws 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.
*
* @return true if GROUP BY an add columns provided it includes
* all columns in the select, false otherwise.
*
* @exception SQLException If an error occurs.
*/
public abstract boolean
supportsGroupByBeyondSelect() throws SQLException;
/*************************************************************************/
/**
* This method tests whether or not the escape character is supported in
* LIKE expressions. A fully JDBC compliant driver will always return
* true.
*
* @return true if escapes are supported in LIKE expressions,
* false otherwise.
*
* @exception SQLException If an error occurs.
*/
public abstract boolean supportsLikeEscapeClause() throws SQLException;
/*************************************************************************/
/**
* This method tests whether multiple result sets for a single statement are
* supported.
*
* @return true if multiple result sets are supported for a
* single statement, false otherwise.
*
* @exception SQLException If an error occurs.
*/
public abstract boolean
supportsMultipleResultSets() throws SQLException;
/*************************************************************************/
/**
* This method test whether or not multiple transactions may be open
* at once, as long as they are on different connections.
*
* @return true if multiple transactions on different
* connections are supported, false otherwise.
*
* @exception SQLException If an error occurs.
*/
public abstract boolean
supportsMultipleTransactions() throws SQLException;
/*************************************************************************/
/**
* This method tests whether or not columns can be defined as NOT NULL. A
* fully JDBC compliant driver always returns true.
*
* @return true if NOT NULL columns are supported,
* false otherwise.
*
* @exception SQLException If an error occurs.
*/
public abstract boolean
supportsNonNullableColumns() throws SQLException;
/*************************************************************************/
/**
* This method tests whether or not the minimum grammer for ODBC is supported.
* A fully JDBC compliant driver will always return true.
*
* @return true if the ODBC minimum grammar is supported,
* false otherwise.
*
* @exception SQLException If an error occurs.
*/
public abstract boolean
supportsMinimumSQLGrammar() throws SQLException;
/*************************************************************************/
/**
* This method tests whether or not the core grammer for ODBC is supported.
*
* @return true if the ODBC core grammar is supported,
* false otherwise.
*
* @exception SQLException If an error occurs.
*/
public abstract boolean
supportsCoreSQLGrammar() throws SQLException;
/*************************************************************************/
/**
* This method tests whether or not the extended grammer for ODBC is supported.
*
* @return true if the ODBC extended grammar is supported,
* false otherwise.
*
* @exception SQLException If an error occurs.
*/
public abstract boolean
supportsExtendedSQLGrammar() throws SQLException;
/*************************************************************************/
/**
* This method tests whether or not the ANSI92 entry level SQL
* grammar is supported. A fully JDBC compliant drivers must return
* true.
*
* @return true if the ANSI92 entry level SQL grammar is
* supported, false otherwise.
*
* @exception SQLException If an error occurs.
*/
public abstract boolean
supportsANSI92EntryLevelSQL() throws SQLException;
/*************************************************************************/
/**
* This method tests whether or not the ANSI92 intermediate SQL
* grammar is supported.
*
* @return true if the ANSI92 intermediate SQL grammar is
* supported, false otherwise.
*
* @exception SQLException If an error occurs.
*/
public abstract boolean
supportsANSI92IntermediateSQL() throws SQLException;
/*************************************************************************/
/**
* This method tests whether or not the ANSI92 full SQL
* grammar is supported.
*
* @return true if the ANSI92 full SQL grammar is
* supported, false otherwise.
*
* @exception SQLException If an error occurs.
*/
public abstract boolean
supportsANSI92FullSQL() throws SQLException;
/*************************************************************************/
/**
* This method tests whether or not the SQL integrity enhancement
* facility is supported.
*
* @return true if the integrity enhancement facility is
* supported, false otherwise.
*
* @exception SQLException If an error occurs.
*/
public abstract boolean
supportsIntegrityEnhancementFacility() throws SQLException;
/*************************************************************************/
/**
* This method tests whether or not the database supports outer joins.
*
* @return true if outer joins are supported, false
* otherwise.
*
* @exception SQLException If an error occurs.
*/
public abstract boolean
supportsOuterJoins() throws SQLException;
/*************************************************************************/
/**
* This method tests whether or not the database supports full outer joins.
*
* @return true if full outer joins are supported,
* false otherwise.
*
* @exception SQLException If an error occurs.
*/
public abstract boolean
supportsFullOuterJoins() throws SQLException;
/*************************************************************************/
/**
* This method tests whether or not the database supports limited outer joins.
*
* @return true if limited outer joins are supported,
* false otherwise.
*
* @exception SQLException If an error occurs.
*/
public abstract boolean
supportsLimitedOuterJoins() throws SQLException;
/*************************************************************************/
/**
* This method returns the vendor's term for "schema".
*
* @return The vendor's term for schema.
*
* @exception SQLException if an error occurs.
*/
public abstract String
getSchemaTerm() throws SQLException;
/*************************************************************************/
/**
* This method returns the vendor's term for "procedure".
*
* @return The vendor's term for procedure.
*
* @exception SQLException if an error occurs.
*/
public abstract String
getProcedureTerm() throws SQLException;
/*************************************************************************/
/**
* This method returns the vendor's term for "catalog".
*
* @return The vendor's term for catalog.
*
* @exception SQLException if an error occurs.
*/
public abstract String
getCatalogTerm() throws SQLException;
/*************************************************************************/
/**
* This method tests whether a catalog name appears at the beginning of
* a fully qualified table name.
*
* @return true if the catalog name appears at the beginning,
* false if it appears at the end.
*
* @exception SQLException If an error occurs.
*/
public abstract boolean
isCatalogAtStart() throws SQLException;
/*************************************************************************/
/**
* This method returns the separator between the catalog name and the
* table name.
*
* @return The separator between the catalog name and the table name.
*
* @exception SQLException If an error occurs.
*/
public abstract String
getCatalogSeparator() throws SQLException;
/*************************************************************************/
/**
* This method tests whether a catalog name can appear in a data
* manipulation statement.
*
* @return true if a catalog name can appear in a data
* manipulation statement, false otherwise.
*
* @exception SQLException If an error occurs.
*/
public abstract boolean
supportsSchemasInDataManipulation() throws SQLException;
/*************************************************************************/
/**
* This method tests whether a catalog name can appear in a procedure
* call
*
* @return true if a catalog name can appear in a procedure
* call, false otherwise.
*
* @exception SQLException If an error occurs.
*/
public abstract boolean
supportsSchemasInProcedureCalls() throws SQLException;
/*************************************************************************/
/**
* This method tests whether a catalog name can appear in a table definition.
*
* @return true if a catalog name can appear in a table
* definition, false otherwise.
*
* @exception SQLException If an error occurs.
*/
public abstract boolean
supportsSchemasInTableDefinitions() throws SQLException;
/*************************************************************************/
/**
* This method tests whether a catalog name can appear in an index definition.
*
* @return true if a catalog name can appear in an index
* definition, false otherwise.
*
* @exception SQLException If an error occurs.
*/
public abstract boolean
supportsSchemasInIndexDefinitions() throws SQLException;
/*************************************************************************/
/**
* This method tests whether a catalog name can appear in privilege definitions.
*
* @return true if a catalog name can appear in privilege
* definition, false otherwise.
*
* @exception SQLException If an error occurs.
*/
public abstract boolean
supportsSchemasInPrivilegeDefinitions() throws SQLException;
/*************************************************************************/
/**
* This method tests whether a catalog name can appear in a data
* manipulation statement.
*
* @return true if a catalog name can appear in a data
* manipulation statement, false otherwise.
*
* @exception SQLException If an error occurs.
*/
public abstract boolean
supportsCatalogsInDataManipulation() throws SQLException;
/*************************************************************************/
/**
* This method tests whether a catalog name can appear in a procedure
* call
*
* @return true if a catalog name can appear in a procedure
* call, false otherwise.
*
* @exception SQLException If an error occurs.
*/
public abstract boolean
supportsCatalogsInProcedureCalls() throws SQLException;
/*************************************************************************/
/**
* This method tests whether a catalog name can appear in a table definition.
*
* @return true if a catalog name can appear in a table
* definition, false otherwise.
*
* @exception SQLException If an error occurs.
*/
public abstract boolean
supportsCatalogsInTableDefinitions() throws SQLException;
/*************************************************************************/
/**
* This method tests whether a catalog name can appear in an index definition.
*
* @return true if a catalog name can appear in an index
* definition, false otherwise.
*
* @exception SQLException If an error occurs.
*/
public abstract boolean
supportsCatalogsInIndexDefinitions() throws SQLException;
/*************************************************************************/
/**
* This method tests whether a catalog name can appear in privilege definitions.
*
* @return true if a catalog name can appear in privilege
* definition, false otherwise.
*
* @exception SQLException If an error occurs.
*/
public abstract boolean
supportsCatalogsInPrivilegeDefinitions() throws SQLException;
/*************************************************************************/
/**
* This method tests whether or not that database supports positioned
* deletes.
*
* @return true if positioned deletes are supported,
* false otherwise.
*
* @exception SQLException If an error occurs.
*/
public abstract boolean
supportsPositionedDelete() throws SQLException;
/*************************************************************************/
/**
* This method tests whether or not that database supports positioned
* updates.
*
* @return true if positioned updates are supported,
* false otherwise.
*
* @exception SQLException If an error occurs.
*/
public abstract boolean
supportsPositionedUpdate() throws SQLException;
/*************************************************************************/
/**
* This method tests whether or not SELECT FOR UPDATE is supported by the
* database.
*
* @return true if SELECT FOR UPDATE is supported
* false otherwise.
*
* @exception SQLException If an error occurs.
*/
public abstract boolean
supportsSelectForUpdate() throws SQLException;
/*************************************************************************/
/**
* This method tests whether or not stored procedures are supported on
* this database.
*
* @return true if stored procedures are supported,
* false otherwise.
*
* @exception SQLException If an error occurs.
*/
public abstract boolean
supportsStoredProcedures() throws SQLException;
/*************************************************************************/
/**
* This method tests whether or not subqueries are allowed in comparisons.
* A fully JDBC compliant driver will always return true.
*
* @return true if subqueries are allowed in comparisons,
* false otherwise.
*
* @exception SQLException If an error occurs.
*/
public abstract boolean
supportsSubqueriesInComparisons() throws SQLException;
/*************************************************************************/
/**
* This method tests whether or not subqueries are allowed in exists
* expressions. A fully JDBC compliant driver will always return
* true.
*
* @return true if subqueries are allowed in exists
* expressions, false otherwise.
*
* @exception SQLException If an error occurs.
*/
public abstract boolean
supportsSubqueriesInExists() throws SQLException;
/*************************************************************************/
/**
* This method tests whether subqueries are allowed in IN statements.
* A fully JDBC compliant driver will always return true.
*
* @return true if the driver supports subqueries in IN
* statements, false otherwise.
*
* @exception SQLException If an error occurs.
*/
public abstract boolean
supportsSubqueriesInIns() throws SQLException;
/*************************************************************************/
/**
* This method tests whether or not subqueries are allowed in quantified
* expressions. A fully JDBC compliant driver will always return
* true.
*
* @return true if subqueries are allowed in quantified
* expressions, false otherwise.
*
* @exception SQLException If an error occurs.
*/
public abstract boolean
supportsSubqueriesInQuantifieds() throws SQLException;
/*************************************************************************/
/**
* This method test whether or not correlated subqueries are allowed. A
* fully JDBC compliant driver will always return true.
*
* @return true if correlated subqueries are allowed,
* false otherwise.
*
* @exception SQLException If an error occurs.
*/
public abstract boolean
supportsCorrelatedSubqueries() throws SQLException;
/*************************************************************************/
/**
* This method tests whether or not the UNION statement is supported.
*
* @return true if UNION is supported, false
* otherwise.
*
* @exception SQLException If an error occurs.
*/
public abstract boolean
supportsUnion() throws SQLException;
/*************************************************************************/
/**
* This method tests whether or not the UNION ALL statement is supported.
*
* @return true if UNION ALL is supported, false
* otherwise.
*
* @exception SQLException If an error occurs.
*/
public abstract boolean
supportsUnionAll() throws SQLException;
/*************************************************************************/
/**
* This method tests whether or not the database supports cursors
* remaining open across commits.
*
* @return true if cursors can remain open across commits,
* false otherwise.
*
* @exception SQLException If an error occurs.
*/
public abstract boolean
supportsOpenCursorsAcrossCommit() throws SQLException;
/*************************************************************************/
/**
* This method tests whether or not the database supports cursors
* remaining open across rollbacks.
*
* @return true if cursors can remain open across rollbacks,
* false otherwise.
*
* @exception SQLException If an error occurs.
*/
public abstract boolean
supportsOpenCursorsAcrossRollback() throws SQLException;
/*************************************************************************/
/**
* This method tests whether or not the database supports statements
* remaining open across commits.
*
* @return true if statements can remain open across commits,
* false otherwise.
*
* @exception SQLException If an error occurs.
*/
public abstract boolean
supportsOpenStatementsAcrossCommit() throws SQLException;
/*************************************************************************/
/**
* This method tests whether or not the database supports statements
* remaining open across rollbacks.
*
* @return true if statements can remain open across rollbacks,
* false otherwise.
*
* @exception SQLException If an error occurs.
*/
public abstract boolean
supportsOpenStatementsAcrossRollback() throws SQLException;
/*************************************************************************/
/**
* This method returns the number of hex characters allowed in an inline
* binary literal.
*
* @return The number of hex characters allowed in a binary literal, 0 meaning
* either an unknown or unlimited number.
*
* @exception SQLException If an error occurs.
*/
public abstract int
getMaxBinaryLiteralLength() throws SQLException;
/*************************************************************************/
/**
* This method returns the maximum length of a character literal.
*
* @return The maximum length of a character literal.
*
* @exception SQLException If an error occurs.
*/
public abstract int
getMaxCharLiteralLength() throws SQLException;
/*************************************************************************/
/**
* This method returns the maximum length of a column name.
*
* @return The maximum length of a column name.
*
* @exception SQLException If an error occurs.
*/
public abstract int
getMaxColumnNameLength() throws SQLException;
/*************************************************************************/
/**
* This method returns the maximum number of columns in a GROUP BY statement.
*
* @return The maximum number of columns in a GROUP BY statement.
*
* @exception SQLException If an error occurs.
*/
public abstract int
getMaxColumnsInGroupBy() throws SQLException;
/*************************************************************************/
/**
* This method returns the maximum number of columns in an index.
*
* @return The maximum number of columns in an index.
*
* @exception SQLException If an error occurs.
*/
public abstract int
getMaxColumnsInIndex() throws SQLException;
/*************************************************************************/
/**
* This method returns the maximum number of columns in an ORDER BY statement.
*
* @return The maximum number of columns in an ORDER BY statement.
*
* @exception SQLException If an error occurs.
*/
public abstract int
getMaxColumnsInOrderBy() throws SQLException;
/*************************************************************************/
/**
* This method returns the maximum number of columns in a SELECT statement.
*
* @return The maximum number of columns in a SELECT statement.
*
* @exception SQLException If an error occurs.
*/
public abstract int
getMaxColumnsInSelect() throws SQLException;
/*************************************************************************/
/**
* This method returns the maximum number of columns in a table.
*
* @return The maximum number of columns in a table.
*
* @exception SQLException If an error occurs.
*/
public abstract int
getMaxColumnsInTable() throws SQLException;
/*************************************************************************/
/**
* This method returns the maximum number of connections this client
* can have to the database.
*
* @return The maximum number of database connections.
*
* @SQLException If an error occurs.
*/
public abstract int
getMaxConnections() throws SQLException;
/*************************************************************************/
/**
* This method returns the maximum length of a cursor name.
*
* @return The maximum length of a cursor name.
*
* @exception SQLException If an error occurs.
*/
public abstract int
getMaxCursorNameLength() throws SQLException;
/*************************************************************************/
/**
* This method returns the maximum length of an index.
*
* @return The maximum length of an index.
*
* @exception SQLException If an error occurs.
*/
public abstract int
getMaxIndexLength() throws SQLException;
/*************************************************************************/
/**
* This method returns the maximum length of a schema name.
*
* @return The maximum length of a schema name.
*
* @exception SQLException If an error occurs.
*/
public abstract int
getMaxSchemaNameLength() throws SQLException;
/*************************************************************************/
/**
* This method returns the maximum length of a procedure name.
*
* @return The maximum length of a procedure name.
*
* @exception SQLException If an error occurs.
*/
public abstract int
getMaxProcedureNameLength() throws SQLException;
/*************************************************************************/
/**
* This method returns the maximum length of a catalog name.
*
* @return The maximum length of a catalog name.
*
* @exception SQLException If an error occurs.
*/
public abstract int
getMaxCatalogNameLength() throws SQLException;
/*************************************************************************/
/**
* This method returns the maximum size of a row in bytes.
*
* @return The maximum size of a row.
*
* @exception SQLException If an error occurs.
*/
public abstract int
getMaxRowSize() throws SQLException;
/*************************************************************************/
/**
* This method tests whether or not the maximum row size includes BLOB's
*
* @return true if the maximum row size includes BLOB's,
* false otherwise.
*
* @exception SQLException If an error occurs.
*/
public abstract boolean
doesMaxRowSizeIncludeBlobs() throws SQLException;
/*************************************************************************/
/**
* This method includes the maximum length of a SQL statement.
*
* @return The maximum length of a SQL statement.
*
* @exception SQLException If an error occurs.
*/
public abstract int
getMaxStatementLength() throws SQLException;
/*************************************************************************/
/**
* This method returns the maximum number of statements that can be
* active at any time.
*
* @return The maximum number of statements that can be active at any time.
*
* @exception SQLException If an error occurs.
*/
public abstract int
getMaxStatements() throws SQLException;
/*************************************************************************/
/**
* This method returns the maximum length of a table name.
*
* @return The maximum length of a table name.
*
* @exception SQLException If an error occurs.
*/
public abstract int
getMaxTableNameLength() throws SQLException;
/*************************************************************************/
/**
* This method returns the maximum number of tables that may be referenced
* in a SELECT statement.
*
* @return The maximum number of tables allowed in a SELECT statement.
*
* @exception SQLException If an error occurs.
*/
public abstract int
getMaxTablesInSelect() throws SQLException;
/*************************************************************************/
/**
* This method returns the maximum length of a user name.
*
* @return The maximum length of a user name.
*
* @exception SQLException If an error occurs.
*/
public abstract int
getMaxUserNameLength() throws SQLException;
/*************************************************************************/
/**
* This method returns the default transaction isolation level of the
* database.
*
* @return The default transaction isolation level of the database.
*
* @exception SQLException If an error occurs.
*
* @see Connection
*/
public abstract int
getDefaultTransactionIsolation() throws SQLException;
/*************************************************************************/
/**
* This method tests whether or not the database supports transactions.
*
* @return true if the database supports transactions,
* false otherwise.
*
* @exception SQLException If an error occurs.
*/
public abstract boolean
supportsTransactions() throws SQLException;
/*************************************************************************/
/**
* This method tests whether or not the database supports the specified
* transaction isolation level.
*
* @param level The transaction isolation level.
*
* @return true if the specified transaction isolation level
* is supported, false otherwise.
*
* @exception SQLException If an error occurs.
*/
public abstract boolean
supportsTransactionIsolationLevel(int level) throws SQLException;
/*************************************************************************/
/**
* This method tests whether or not DDL and DML statements allowed within
* the same transaction.
*
* @return true if DDL and DML statements are allowed in the
* same transaction, false otherwise.
*
* @exception SQLException If an error occurs.
*/
public abstract boolean
supportsDataDefinitionAndDataManipulationTransactions() throws SQLException;
/*************************************************************************/
/**
* This method tests whether or not only DML statement are allowed
* inside a transaction.
*
* @return true if only DML statements are allowed in
* transactions, false otherwise.
*
* @exception SQLException If an error occurs.
*/
public abstract boolean
supportsDataManipulationTransactionsOnly() throws SQLException;
/*************************************************************************/
/**
* This method tests whether or not a DDL statement will cause the
* current transaction to be automatically committed.
*
* @return true if DDL causes an immediate transaction commit,
* false otherwise.
*
* @exception SQLException If an error occurs.
*/
public abstract boolean
dataDefinitionCausesTransactionCommit() throws SQLException;
/*************************************************************************/
/**
* This method tests whether or not DDL statements are ignored in
* transactions.
*
* @return true if DDL statements are ignored in transactions,
* false otherwise.
*
* @exception SQLException If an error occurs.
*/
public abstract boolean
dataDefinitionIgnoredInTransactions() throws 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:
* *
null.
* null.
* procedureResultUnknown, procedureNoResult, or
* procedureReturnsResult).
* ResultSet with all the requested procedures.
*
* @exception SQLException If an error occurs.
*/
public abstract ResultSet
getProcedures(String catalog, String schemaPattern, String namePattern)
throws 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:
* *
null.
* null.
* procedureColumnUnknown,
* procedureColumnIn, procedureColumnInOut,
* procedureColumnOut, procedureColumnReturn,
* or procedureColumnResult).
* Types.
* procedureNoNulls,
* procedureNullable, or procedureNullableUnknown)
* ResultSet with all the requested procedures.
*
* @exception SQLException If an error occurs.
*/
public abstract ResultSet
getProcedureColumns(String catalog, String schemaPattern, String namePattern,
String columnPattern) throws SQLException;
/*************************************************************************/
/**
* This method returns a list of the requested table as a
* ResultSet with the following columns:
* *
null.
* null.
* getTableTypes() method.
* ResultSet with all the requested tables.
*
* @exception SQLException If an error occurs.
*/
public abstract ResultSet
getTables(String catalog, String schemaPattern, String namePattern,
String types[]) throws SQLException;
/*************************************************************************/
/**
* This method returns the list of database schemas as a
* ResultSet, with one column - TABLE_SCHEM - that is the
* name of the schema.
*
* @return A ResultSet with all the requested schemas.
*
* @exception SQLException If an error occurs.
*/
public abstract ResultSet
getSchemas() throws SQLException;
/*************************************************************************/
/**
* This method returns the list of database catalogs as a
* ResultSet with one column - TABLE_CAT - that is the
* name of the catalog.
*
* @return A ResultSet with all the requested catalogs.
*
* @exception SQLException If an error occurs.
*/
public abstract ResultSet
getCatalogs() throws 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.
*
* @return A ResultSet with all the requested table types.
*
* @exception SQLException If an error occurs.
*/
public abstract ResultSet
getTableTypes() throws 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:
* *
null.
* null.
* Types.
* tableNoNulls,
* tableNullable, or tableNullableUnknown)
* null.
* ResultSet with all the requested tables.
*
* @exception SQLException If an error occurs.
*/
public abstract ResultSet
getColumns(String catalog, String schemaPattern, String namePattern,
String columnPattern) throws 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:
* *
null.
* null.
* null if unknown.
* null
* to return information from all catalogs.
* @param schema The schema to retrieve information from, or the empty string
* to return entities not associated with a schema.
* @param table The table name to return information for.
* @param columnPattern A pattern of column names to return information for.
*
* @return A ResultSet with all the requested privileges.
*
* @exception SQLException If an error occurs.
*/
public abstract ResultSet
getColumnPrivileges(String catalog, String schema, String table,
String columnPattern) throws 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:
* *
null.
* null.
* null if unknown.
* null
* to return information from all catalogs.
* @param schema The schema to retrieve information from, or the empty string
* to return entities not associated with a schema.
* @param tablePattern The table name pattern of tables to return
* information for.
*
* @return A ResultSet with all the requested privileges.
*
* @exception SQLException If an error occurs.
*/
public abstract ResultSet
getTablePrivileges(String catalog, String schema, String table)
throws 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:
* *
bestRowTemporary,
* bestRowTransaction, or bestRowSessionCOLUMN_NAME - The name of the column.
* Types.
* bestRowUnknown, bestRowNotPseudo, or
* bestRowPseudo).
* null
* to return information from all catalogs.
* @param schema The schema to retrieve information from, or the empty string
* to return entities not associated with a schema.
* @param table The table name to return information for.
* @param columnPattern A pattern of column names to return information for.
* @param scope One of the best row id scope constants from this class.
* @param nullable true to include columns that are nullable,
* false otherwise.
*
* @return A ResultSet with the best row identifier.
*
* @exception SQLException If an error occurs.
*/
public abstract ResultSet
getBestRowIdentifier(String catalog, String schema, String table,
int scope, boolean nullable) throws 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:
* *
Types.
* versionRowUnknown, versionRowNotPseudo, or
* versionRowPseudo).
* null
* to return information from all catalogs.
* @param schema The schema to retrieve information from, or the empty string
* to return entities not associated with a schema.
* @param table The table name to return information for.
* @param columnPattern A pattern of column names to return information for.
*
* @return A ResultSet with the version columns.
*
* @exception SQLException If an error occurs.
*/
public abstract ResultSet
getVersionColumns(String catalog, String schema, String table)
throws SQLException;
/*************************************************************************/
/**
* This method returns a list of a table's primary key columns. These
* are returned as a ResultSet with the following columns.
* *
null.
* null.
* null.
*
* @param 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.
* @param schema The schema to retrieve information from, or the empty string
* to return entities not associated with a schema.
* @param table The table name to return information for.
* @param columnPattern A pattern of column names to return information for.
*
* @return A ResultSet with the primary key columns.
*
* @exception SQLException If an error occurs.
*/
public abstract ResultSet
getPrimaryKeys(String catalog, String schema, String table)
throws SQLException;
/*************************************************************************/
/**
* This method returns a list of the table's foreign keys. These are
* returned as a ResultSet with the following columns:
* *
importedNoAction, importedKeyCascade,
* importedKeySetNull, importedKeySetDefault, or
* importedKeyRestrict).
* importedNoAction, importedKeyCascade,
* importedKeySetNull, or importedKeySetDefault)
* importedKeyInitiallyDeferred,
* importedKeyInitiallyImmediate, or
* importedKeyNotDeferrable).
*
* @param 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.
* @param schema The schema to retrieve information from, or the empty string
* to return entities not associated with a schema.
* @param table The table name to return information for.
*
* @return A ResultSet with the foreign key columns.
*
* @exception SQLException If an error occurs.
*/
public abstract ResultSet
getImportedKeys(String catalog, String schema, String table)
throws 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:
* *
importedNoAction, importedKeyCascade,
* importedKeySetNull, importedKeySetDefault, or
* importedKeyRestrict).
* importedNoAction, importedKeyCascade,
* importedKeySetNull, or importedKeySetDefault)
* importedKeyInitiallyDeferred,
* importedKeyInitiallyImmediate, or
* importedKeyNotDeferrable).
*
* @param 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.
* @param schema The schema to retrieve information from, or the empty string
* to return entities not associated with a schema.
* @param table The table name to return information for.
*
* @return A ResultSet with the requested information
*
* @exception SQLException If an error occurs.
*/
public abstract ResultSet
getExportedKeys(String catalog, String schema, String table)
throws 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:
* *
importedNoAction, importedKeyCascade,
* importedKeySetNull, importedKeySetDefault, or
* importedKeyRestrict).
* importedNoAction, importedKeyCascade,
* importedKeySetNull, or importedKeySetDefault)
* importedKeyInitiallyDeferred,
* importedKeyInitiallyImmediate, or
* importedKeyNotDeferrable).
*
* @param primCatalog 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.
* @param primSchema The schema to retrieve information from, or the empty string
* to return entities not associated with a schema, on the exporting side.
* @param primTable The table name to return information for, on the exporting
* side.
* @param forCatalog 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.
* @param forSchema The schema to retrieve information from, or the empty string
* to return entities not associated with a schema on the importing side.
* @param forTable The table name to return information for on the importing
* side.
*
* @return A ResultSet with the requested information
*
* @exception SQLException If an error occurs.
*/
public abstract ResultSet
getCrossReference(String primCatalog, String primSchema, String primTable,
String forCatalog, String forSchema, String forTable)
throws 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:
* *
Types for this
* type.
* null.
* null.
* null.
* typeNoNulls, typeNullable, or
* typeNullableUnknown).
* typePredNone, typePredChar,
* typePredBasic, or typeSearchable).
* ResultSet with the list of available data types.
*
* @exception SQLException If an error occurs.
*/
public abstract ResultSet
getTypeInfo() throws SQLException;
/*************************************************************************/
/**
* This method returns information about a tables indices and statistics.
* It is returned as a ResultSet with the following columns:
* *
null.
* null.
* null
* tableIndexStatistic,
* tableIndexClustered, tableIndexHashed, or
* tableIndexOther).
* tableIndexStatistic.
* null if a sort sequence is not
* supported.
* tableIndexStatistic.
* tableIndexStatistic.
* null.
*
* @param 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.
* @param schema The schema to retrieve information from, or the empty string
* to return entities not associated with a schema.
* @param table The table name to return information for.
* @param unique true to return only unique indexes,
* false otherwise.
* @param approx true if data values can be approximations,
* false otherwise.
*
* @return A ResultSet with the requested index information
*
* @exception SQLException If an error occurs.
*/
public abstract ResultSet
getIndexInfo(String catalog, String schema, String table, boolean unique,
boolean approx) throws SQLException;
} // interface DatabaseMetaData