bestRowNotPseudo
public static final int bestRowNotPseudo
The best row identifier is not a pseudo-column.
bestRowPseudo
public static final int bestRowPseudo
The best row identifier is a pseudo-column.
bestRowSession
public static final int bestRowSession
The best row identifier is valid to the end of the session.
bestRowTemporary
public static final int bestRowTemporary
The best row's scope is only guaranteed to be valid so long as the
row is actually being used.
bestRowTransaction
public static final int bestRowTransaction
The best row identifier is valid to the end of the transaction.
bestRowUnknown
public static final int bestRowUnknown
The best row may or may not be a pseudo-column.
columnNoNulls
public static final int columnNoNulls
The column does not allow NULL
columnNullable
public static final int columnNullable
The column does allow NULL
columnNullableUnknown
public static final int columnNullableUnknown
It is unknown whether or not the column allows NULL
importedKeyCascade
public static final int importedKeyCascade
Foreign key changes are cascaded in updates or deletes.
importedKeyNoAction
public static final int importedKeyNoAction
If the primary key is a foreign key, it cannot be udpated or deleted.
importedKeyRestrict
public static final int importedKeyRestrict
Column may not be updated or deleted in use as a foreign key.
importedKeySetDefault
public static final int importedKeySetDefault
If the primary key is updated or deleted, the foreign key is set to
a default value.
importedKeySetNull
public static final int importedKeySetNull
When primary key is updated or deleted, the foreign key is set to NULL.
procedureColumnResult
public static final int procedureColumnResult
The column is used for storing results
procedureNoNulls
public static final int procedureNoNulls
NULL values are not allowed.
procedureNoResult
public static final int procedureNoResult
The procedure does not return a result.
procedureNullableUnknown
public static final int procedureNullableUnknown
It is unknown whether or not NULL values are allowed.
procedureResultUnknown
public static final int procedureResultUnknown
It is unknown whether or not the procedure returns a result.
tableIndexClustered
public static final short tableIndexClustered
This table index is clustered.
tableIndexHashed
public static final short tableIndexHashed
This table index is hashed.
tableIndexOther
public static final short tableIndexOther
This table index is of another type.
tableIndexStatistic
public static final short tableIndexStatistic
This column contains table statistics.
typeNoNulls
public static final int typeNoNulls
A NULL value is not allowed for this data type.
typeNullable
public static final int typeNullable
A NULL value is allowed for this data type.
typeNullableUnknown
public static final int typeNullableUnknown
It is unknown whether or not NULL values are allowed for this data type.
typePredBasic
public static final int typePredBasic
All WHERE clauses except "WHERE..LIKE" style are allowed on this data type.
typePredChar
public static final int typePredChar
Only "WHERE..LIKE" style WHERE clauses are allowed on this data type.
typePredNone
public static final int typePredNone
Where clauses are not supported for this type.
typeSearchable
public static final int typeSearchable
Any type of WHERE clause is allowed for this data type.
versionColumnNotPseudo
public static final int versionColumnNotPseudo
The version column is not a pseudo-column
versionColumnPseudo
public static final int versionColumnPseudo
The version column is a pseudo-column
versionColumnUnknown
public static final int versionColumnUnknown
It is unknown whether or not the version column is a pseudo-column.
allProceduresAreCallable
public boolean allProceduresAreCallable()
throws SQLException
This method tests whether or not all the procedures returned by
the getProcedures
method can be called by this user.
true
if all the procedures can be called,
false
otherwise.
allTablesAreSelectable
public boolean allTablesAreSelectable()
throws SQLException
This method tests whether or not all the table returned by the
getTables
method can be selected by this user.
true
if all the procedures can be called,
false
otherwise.
dataDefinitionCausesTransactionCommit
public boolean dataDefinitionCausesTransactionCommit()
throws SQLException
This method tests whether or not a DDL statement will cause the
current transaction to be automatically committed.
true
if DDL causes an immediate transaction commit,
false
otherwise.
dataDefinitionIgnoredInTransactions
public boolean dataDefinitionIgnoredInTransactions()
throws SQLException
This method tests whether or not DDL statements are ignored in
transactions.
true
if DDL statements are ignored in transactions,
false
otherwise.
deletesAreDetected
public boolean deletesAreDetected(int type)
throws SQLException
This method tests whether or not the specified result set type can detect
a visible delete by calling the rowUpdated
method.
type
- The desired result type, which is one of the constants
defined in ResultSet
.
true
if the result set type can detect visible deletes
using rowUpdated
, false
otherwise.
doesMaxRowSizeIncludeBlobs
public boolean doesMaxRowSizeIncludeBlobs()
throws SQLException
This method tests whether or not the maximum row size includes BLOB's
true
if the maximum row size includes BLOB's,
false
otherwise.
getBestRowIdentifier
public ResultSet getBestRowIdentifier(String catalog,
String schema,
String table,
int scope,
boolean nullable)
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:
- SCOPE - The scope of the results returned. This is one of the
constants defined in this class (
bestRowTemporary
,
bestRowTransaction
, or bestRowSession
). - COLUMN_NAME - The name of the column.
- DATA_TYPE - The SQL type of the column. This is one of the constants
defined in
Types
. - TYPE_NAME - The string name of the data type for this column.
- COLUMN_SIZE - The precision of the columns
- BUFFER_LENGTH - Unused
- DECIMAL_DIGITS - The scale of the column.
- 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
).
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.table
- 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.
- A
ResultSet
with the best row identifier.
getCatalogSeparator
public String getCatalogSeparator()
throws SQLException
This method returns the separator between the catalog name and the
table name.
- The separator between the catalog name and the table name.
getCatalogs
public ResultSet getCatalogs()
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.
- A
ResultSet
with all the requested catalogs.
getColumnPrivileges
public ResultSet getColumnPrivileges(String catalog,
String schema,
String table,
String columnNamePattern)
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:
- TABLE_CAT - The catalog the table is in, which may be
null
. - TABLE_SCHEM - The schema the tables is in, which may be
null
. - TABLE_NAME - The name of the table.
- COLUMN_NAME - The name of the column.
- GRANTOR - The entity that granted the access.
- GRANTEE - The entity granted the access.
- PRIVILEGE - The name of the privilege granted.
- IS_GRANTABLE - "YES" if the grantee can grant the privilege to
others, "NO" if not, and
null
if unknown.
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.table
- The table name to return information for.
- A
ResultSet
with all the requested privileges.
getColumns
public ResultSet getColumns(String catalog,
String schemaPattern,
String tableNamePattern,
String columnNamePattern)
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:
- TABLE_CAT - The catalog the table is in, which may be
null
. - TABLE_SCHEM - The schema the tables is in, which may be
null
. - TABLE_NAME - The name of the table.
- COLUMN_NAME - The name of the column
- DATA_TYPE - The SQL type of the column. This is one of the constants
defined in
Types
. - TYPE_NAME - The string name of the data type for this column.
- COLUMN_SIZE - The size of the column.
- Unused
- NUM_PREC_RADIX - The radix of the column.
- NULLABLE - Whether or not the column is NULLABLE. This is one of
the constants defined in this class (
tableNoNulls
,
tableNullable
, or tableNullableUnknown
) - REMARKS - A description of the column.
- COLUMN_DEF - The default value for the column, may be
null
. - SQL_DATA_TYPE - Unused
- SQL_DATETIME_SUB - Unused
- CHAR_OCTET_LENGTH - For character columns, the maximum number of bytes
in the column.
- ORDINAL_POSITION - The index of the column in the table.
- IS_NULLABLE - "NO" means no, "YES" means maybe, and an empty string
means unknown.
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.
getConnection
public Connection getConnection()
throws SQLException
This method returns the Connection
object that was used
to generate the metadata in this object.
- The connection for this object.
getCrossReference
public ResultSet getCrossReference(String primaryCatalog,
String primarySchema,
String primaryTable,
String foreignCatalog,
String foreignSchema,
String foreignTable)
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:
- PKTABLE_CAT - The catalog of the table the key was imported from.
- PKTABLE_SCHEM - The schema of the table the key was imported from.
- PKTABLE_NAME - The name of the table the key was imported from.
- PKCOLUMN_NAME - The name of the column that was imported.
- FKTABLE_CAT - The foreign key catalog name.
- FKTABLE_SCHEM - The foreign key schema name.
- FKTABLE_NAME - The foreign key table name.
- FKCOLUMN_NAME - The foreign key column name.
- KEY_SEQ - The sequence number of the column within the foreign key.
- 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
). - 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
) - FK_NAME - The name of the foreign key.
- PK_NAME - The name of the primary key.
- DEFERRABILITY - The deferrability value. This is one of the
constants defined in this table (
importedKeyInitiallyDeferred
,
importedKeyInitiallyImmediate
, or
importedKeyNotDeferrable
).
- A
ResultSet
with the requested information
getDefaultTransactionIsolation
public int getDefaultTransactionIsolation()
throws SQLException
This method returns the default transaction isolation level of the
database.
- The default transaction isolation level of the database.
getDriverMajorVersion
public int getDriverMajorVersion()
This method returns the major version number of the JDBC driver.
- The major version number of the JDBC driver.
getDriverMinorVersion
public int getDriverMinorVersion()
This method returns the minor version number of the JDBC driver.
- The minor version number of the JDBC driver.
getExportedKeys
public ResultSet getExportedKeys(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:
- PKTABLE_CAT - The catalog of the table the key was imported from.
- PKTABLE_SCHEM - The schema of the table the key was imported from.
- PKTABLE_NAME - The name of the table the key was imported from.
- PKCOLUMN_NAME - The name of the column that was imported.
- FKTABLE_CAT - The foreign key catalog name.
- FKTABLE_SCHEM - The foreign key schema name.
- FKTABLE_NAME - The foreign key table name.
- FKCOLUMN_NAME - The foreign key column name.
- KEY_SEQ - The sequence number of the column within the foreign key.
- 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
). - 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
) - FK_NAME - The name of the foreign key.
- PK_NAME - The name of the primary key.
- DEFERRABILITY - The deferrability value. This is one of the
constants defined in this table (
importedKeyInitiallyDeferred
,
importedKeyInitiallyImmediate
, or
importedKeyNotDeferrable
).
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.table
- The table name to return information for.
- A
ResultSet
with the requested information
getExtraNameCharacters
public String getExtraNameCharacters()
throws SQLException
This methods returns non-standard characters that can appear in
unquoted identifiers.
- Non-standard characters that can appear in unquoted identifiers.
getIdentifierQuoteString
public String getIdentifierQuoteString()
throws SQLException
This metohd returns the quote string for SQL identifiers.
- The quote string for SQL identifers, or a space if quoting
is not supported.
getImportedKeys
public ResultSet getImportedKeys(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:
- PKTABLE_CAT - The catalog of the table the key was imported from.
- PKTABLE_SCHEM - The schema of the table the key was imported from.
- PKTABLE_NAME - The name of the table the key was imported from.
- PKCOLUMN_NAME - The name of the column that was imported.
- FKTABLE_CAT - The foreign key catalog name.
- FKTABLE_SCHEM - The foreign key schema name.
- FKTABLE_NAME - The foreign key table name.
- FKCOLUMN_NAME - The foreign key column name.
- KEY_SEQ - The sequence number of the column within the foreign key.
- 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
). - 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
) - FK_NAME - The name of the foreign key.
- PK_NAME - The name of the primary key.
- DEFERRABILITY - The deferrability value. This is one of the
constants defined in this table (
importedKeyInitiallyDeferred
,
importedKeyInitiallyImmediate
, or
importedKeyNotDeferrable
).
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.table
- The table name to return information for.
- A
ResultSet
with the foreign key columns.
getIndexInfo
public ResultSet getIndexInfo(String catalog,
String schema,
String table,
boolean unique,
boolean approximate)
throws SQLException
This method returns information about a tables indices and statistics.
It is returned as a
ResultSet
with the following columns:
- TABLE_CAT - The catalog of the table, which may be
null
. - TABLE_SCHEM - The schema of the table, which may be
null
. - TABLE_NAME - The name of the table.
- NON_UNIQUE - Are index values non-unique?
- INDEX_QUALIFIER The index catalog, which may be
null
- INDEX_NAME - The name of the index.
- TYPE - The type of index, which will be one of the constants defined
in this interface (
tableIndexStatistic
,
tableIndexClustered
, tableIndexHashed
, or
tableIndexOther
). - ORDINAL_POSITION - The sequence number of this column in the index.
This will be 0 when the index type is
tableIndexStatistic
. - COLUMN_NAME - The name of this column in the index.
- ASC_OR_DESC - "A" for an ascending sort sequence, "D" for a
descending sort sequence or
null
if a sort sequence is not
supported. - CARDINALITY - The number of unique rows in the index, or the number
of rows in the table if the index type is
tableIndexStatistic
. - PAGES - The number of pages used for the index, or the number of pages
in the table if the index type is
tableIndexStatistic
. - FILTER_CONDITION - The filter condition for this index, which may be
null
.
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.table
- The table name to return information for.unique
- true
to return only unique indexes,
false
otherwise.
- A
ResultSet
with the requested index information
getMaxBinaryLiteralLength
public int getMaxBinaryLiteralLength()
throws SQLException
This method returns the number of hex characters allowed in an inline
binary literal.
- The number of hex characters allowed in a binary literal, 0 meaning
either an unknown or unlimited number.
getMaxCatalogNameLength
public int getMaxCatalogNameLength()
throws SQLException
This method returns the maximum length of a catalog name.
- The maximum length of a catalog name.
getMaxCharLiteralLength
public int getMaxCharLiteralLength()
throws SQLException
This method returns the maximum length of a character literal.
- The maximum length of a character literal.
getMaxColumnNameLength
public int getMaxColumnNameLength()
throws SQLException
This method returns the maximum length of a column name.
- The maximum length of a column name.
getMaxColumnsInGroupBy
public int getMaxColumnsInGroupBy()
throws SQLException
This method returns the maximum number of columns in a GROUP BY statement.
- The maximum number of columns in a GROUP BY statement.
getMaxColumnsInIndex
public int getMaxColumnsInIndex()
throws SQLException
This method returns the maximum number of columns in an index.
- The maximum number of columns in an index.
getMaxColumnsInOrderBy
public int getMaxColumnsInOrderBy()
throws SQLException
This method returns the maximum number of columns in an ORDER BY statement.
- The maximum number of columns in an ORDER BY statement.
getMaxColumnsInSelect
public int getMaxColumnsInSelect()
throws SQLException
This method returns the maximum number of columns in a SELECT statement.
- The maximum number of columns in a SELECT statement.
getMaxColumnsInTable
public int getMaxColumnsInTable()
throws SQLException
This method returns the maximum number of columns in a table.
- The maximum number of columns in a table.
getMaxConnections
public int getMaxConnections()
throws SQLException
This method returns the maximum number of connections this client
can have to the database.
- The maximum number of database connections.
getMaxCursorNameLength
public int getMaxCursorNameLength()
throws SQLException
This method returns the maximum length of a cursor name.
- The maximum length of a cursor name.
getMaxIndexLength
public int getMaxIndexLength()
throws SQLException
This method returns the maximum length of an index.
- The maximum length of an index.
getMaxRowSize
public int getMaxRowSize()
throws SQLException
This method returns the maximum size of a row in bytes.
- The maximum size of a row.
getMaxSchemaNameLength
public int getMaxSchemaNameLength()
throws SQLException
This method returns the maximum length of a schema name.
- The maximum length of a schema name.
getMaxStatementLength
public int getMaxStatementLength()
throws SQLException
This method includes the maximum length of a SQL statement.
- The maximum length of a SQL statement.
getMaxStatements
public int getMaxStatements()
throws SQLException
This method returns the maximum number of statements that can be
active at any time.
- The maximum number of statements that can be active at any time.
getMaxTableNameLength
public int getMaxTableNameLength()
throws SQLException
This method returns the maximum length of a table name.
- The maximum length of a table name.
getMaxTablesInSelect
public int getMaxTablesInSelect()
throws SQLException
This method returns the maximum number of tables that may be referenced
in a SELECT statement.
- The maximum number of tables allowed in a SELECT statement.
getMaxUserNameLength
public int getMaxUserNameLength()
throws SQLException
This method returns the maximum length of a user name.
- The maximum length of a user name.
getPrimaryKeys
public ResultSet getPrimaryKeys(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.
- TABLE_CAT - The catalog of the table, which may be
null
. - TABLE_SCHEM - The schema of the table, which may be
null
. - TABLE_NAME - The name of the table.
- COLUMN_NAME - The name of the column.
- KEY_SEQ - The sequence number of the column within the primary key.
- PK_NAME - The name of the primary key, which may be
null
.
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.table
- The table name to return information for.
- A
ResultSet
with the primary key columns.
getProcedureColumns
public ResultSet getProcedureColumns(String catalog,
String schemaPattern,
String procedureNamePattern,
String columnNamePattern)
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:
- PROCEDURE_CAT - The catalog the procedure is in, which may be
null
. - PROCEDURE_SCHEM - The schema the procedures is in, which may be
null
. - PROCEDURE_NAME - The name of the procedure.
- COLUMN_NAME - The name of the column
- 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
). - DATA_TYPE - The SQL type of the column. This is one of the constants
defined in
Types
. - TYPE_NAME - The string name of the data type for this column.
- PRECISION - The precision of the column.
- LENGTH - The length of the column in bytes
- SCALE - The scale of the column.
- RADIX - The radix of the column.
- NULLABLE - Whether or not the column is NULLABLE. This is one of
the constants defined in this class (
procedureNoNulls
,
procedureNullable
, or procedureNullableUnknown
) - REMARKS - A description of the column.
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.
getProcedures
public ResultSet getProcedures(String catalog,
String schemaPattern,
String procedureNamePattern)
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:
- PROCEDURE_CAT - The catalog the procedure is in, which may be
null
. - PROCEDURE_SCHEM - The schema the procedures is in, which may be
null
. - PROCEDURE_NAME - The name of the procedure.
- Unused
- Unused
- Unused
- REMARKS - A description of the procedure
- PROCEDURE_TYPE - Indicates the return type of the procedure, which
is one of the contstants defined in this class
(
procedureResultUnknown
, procedureNoResult
, or
procedureReturnsResult
).
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.
getSQLKeywords
public String getSQLKeywords()
throws SQLException
This method returns a comma separated list of all the SQL keywords in
the database that are not in SQL92.
- The list of SQL keywords not in SQL92.
getSchemas
public ResultSet getSchemas()
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.
- A
ResultSet
with all the requested schemas.
getSearchStringEscape
public String getSearchStringEscape()
throws SQLException
This method returns the string used to escape wildcards in search strings.
- The string used to escape wildcards in search strings.
getSystemFunctions
public String getSystemFunctions()
throws SQLException
This method returns a comma separated list of of system functions.
- A comma separated list of system functions.
getTablePrivileges
public ResultSet getTablePrivileges(String catalog,
String schemaPattern,
String tableNamePattern)
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:
- TABLE_CAT - The catalog the table is in, which may be
null
. - TABLE_SCHEM - The schema the tables is in, which may be
null
. - TABLE_NAME - The name of the table.
- GRANTOR - The entity that granted the access.
- GRANTEE - The entity granted the access.
- PRIVILEGE - The name of the privilege granted.
- IS_GRANTABLE - "YES" if the grantee can grant the privilege to
others, "NO" if not, and
null
if unknown.
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.
- A
ResultSet
with all the requested privileges.
getTableTypes
public ResultSet getTableTypes()
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.
- A
ResultSet
with all the requested table types.
getTables
public ResultSet getTables(String catalog,
String schemaPattern,
String tableNamePattern,
String[] types)
throws SQLException
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. This will be one
of the values returned by the
getTableTypes()
method. - REMARKS - Comments about the table.
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.types
- The list of table types to include; null returns all types.
getTypeInfo
public ResultSet getTypeInfo()
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:
- TYPE_NAME - The name of the data type.
- DATA_TYPE - A data type constant from
Types
for this
type. - PRECISION - The maximum precision of this type.
- LITERAL_PREFIX - Prefix value used to quote a literal, which may be
null
. - LITERAL_SUFFIX - Suffix value used to quote a literal, which may be
null
. - CREATE_PARAMS - The parameters used to create the type, which may be
null
. - NULLABLE - Whether or not this type supports NULL values. This will
be one of the constants defined in this interface
(
typeNoNulls
, typeNullable
, or
typeNullableUnknown
). - CASE_SENSITIVE - Whether or not the value is case sensitive.
- 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
). - UNSIGNED_ATTRIBUTE - Is the value of this type unsigned.
- FIXED_PREC_SCALE - Whether or not this type can be used for money.
- AUTO_INCREMENT - Whether or not this type supports auto-incrementing.
- LOCAL_TYPE_NAME - A localized name for this data type.
- MINIMUM_SCALE - The minimum scale supported by this type.
- MAXIMUM_SCALE - The maximum scale supported by this type.
- SQL_DATA_TYPE - Unused.
- SQL_DATETIME_SUB - Unused.
- NUM_PREC_RADIX - The radix of this data type.
- A
ResultSet
with the list of available data types.
getUDTs
public ResultSet getUDTs(String catalog,
String schemaPattern,
String typeNamePattern,
int[] types)
throws SQLException
This method returns the list of user defined data types in use. These
are returned as a
ResultSet
with the following columns:
- TYPE_CAT - The catalog name, which may be
null
. - TYPE_SCEHM - The schema name, which may be
null
. - TYPE_NAME - The user defined data type name.
- CLASS_NAME - The Java class name this type maps to.
- DATA_TYPE - A type identifier from
Types
for this type.
This will be one of JAVA_OBJECT
, STRUCT
, or
DISTINCT
. - REMARKS - Comments about this data type.
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.types
- The type identifier patterns (from Types
) to
match.
- A
ResultSet
with the requested type information
getURL
public String getURL()
throws SQLException
This method returns the URL for this database.
- The URL string for this database, or
null
if it
is not known.
getVersionColumns
public ResultSet getVersionColumns(String catalog,
String schema,
String table)
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:
- SCOPE - Unused
- COLUMN_NAME - The name of the column.
- DATA_TYPE - The SQL type of the column. This is one of the constants
defined in
Types
. - TYPE_NAME - The string name of the data type for this column.
- COLUMN_SIZE - The precision of the columns
- BUFFER_LENGTH - Unused
- DECIMAL_DIGITS - The scale of the column.
- 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
).
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.table
- The table name to return information for.
- A
ResultSet
with the version columns.
insertsAreDetected
public boolean insertsAreDetected(int type)
throws SQLException
This method tests whether or not the specified result set type can detect
a visible insert by calling the rowUpdated
method.
type
- The desired result type, which is one of the constants
defined in ResultSet
.
true
if the result set type can detect visible inserts
using rowUpdated
, false
otherwise.
isCatalogAtStart
public boolean isCatalogAtStart()
throws SQLException
This method tests whether a catalog name appears at the beginning of
a fully qualified table name.
true
if the catalog name appears at the beginning,
false
if it appears at the end.
isReadOnly
public boolean isReadOnly()
throws SQLException
This method tests whether or not the database is in read only mode.
true
if the database is in read only mode,
false
otherwise.
nullPlusNonNullIsNull
public boolean nullPlusNonNullIsNull()
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.
true
if concatenating NULL and a non-NULL value
returns a NULL, false
otherwise.
nullsAreSortedAtEnd
public boolean nullsAreSortedAtEnd()
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.
true
if NULL's always sort to the end,
false
otherwise.
nullsAreSortedAtStart
public boolean nullsAreSortedAtStart()
throws SQLException
This method tests whether or not NULL's sort as high values.
true
if NULL's sort as high values, false
otherwise.
nullsAreSortedHigh
public boolean nullsAreSortedHigh()
throws SQLException
This method tests whether or not NULL's sort as high values.
true
if NULL's sort as high values, false
otherwise.
nullsAreSortedLow
public boolean nullsAreSortedLow()
throws SQLException
This method tests whether or not NULL's sort as low values.
true
if NULL's sort as low values, false
otherwise.
othersDeletesAreVisible
public boolean othersDeletesAreVisible(int type)
throws SQLException
This method tests whether or not the specified result set type sees
deletes committed by others.
type
- The desired result type, which is one of the constants
defined in ResultSet
.
true
if the result set type sees other deletes,
false
otherwise.
othersInsertsAreVisible
public boolean othersInsertsAreVisible(int type)
throws SQLException
This method tests whether or not the specified result set type sees
inserts committed by others.
type
- The desired result type, which is one of the constants
defined in ResultSet
.
true
if the result set type sees other inserts,
false
otherwise.
othersUpdatesAreVisible
public boolean othersUpdatesAreVisible(int type)
throws SQLException
This method tests whether or not the specified result set type sees
updates committed by others.
type
- The desired result type, which is one of the constants
defined in ResultSet
.
true
if the result set type sees other updates,
false
otherwise.
ownDeletesAreVisible
public boolean ownDeletesAreVisible(int type)
throws SQLException
This method tests whether or not the specified result set type sees its
own deletes.
type
- The desired result type, which is one of the constants
defined in ResultSet
.
true
if the result set type sees its own deletes,
false
otherwise.
ownInsertsAreVisible
public boolean ownInsertsAreVisible(int type)
throws SQLException
This method tests whether or not the specified result set type sees its
own inserts.
type
- The desired result type, which is one of the constants
defined in ResultSet
.
true
if the result set type sees its own inserts,
false
otherwise.
ownUpdatesAreVisible
public boolean ownUpdatesAreVisible(int type)
throws SQLException
This method tests whether or not the specified result set type sees its
own updates.
type
- The desired result type, which is one of the constants
defined in ResultSet
.
true
if the result set type sees its own updates,
false
otherwise.
storesLowerCaseIdentifiers
public boolean storesLowerCaseIdentifiers()
throws SQLException
This method tests whether or not the database treats mixed case
identifiers as all lower case.
true
if the database treats all identifiers as
lower case, false
otherwise.
storesLowerCaseQuotedIdentifiers
public boolean storesLowerCaseQuotedIdentifiers()
throws SQLException
This method tests whether or not the database treats mixed case
quoted identifiers as all lower case.
true
if the database treats all quoted identifiers
as lower case, false
otherwise.
storesMixedCaseIdentifiers
public boolean storesMixedCaseIdentifiers()
throws SQLException
This method tests whether or not the database stores mixed case
identifers even if it treats them as case insensitive.
true
if the database stores mixed case identifiers,
false
otherwise.
storesMixedCaseQuotedIdentifiers
public boolean storesMixedCaseQuotedIdentifiers()
throws SQLException
This method tests whether or not the database stores mixed case
quoted identifers even if it treats them as case insensitive.
true
if the database stores mixed case quoted
identifiers, false
otherwise.
storesUpperCaseIdentifiers
public boolean storesUpperCaseIdentifiers()
throws SQLException
This method tests whether or not the database treats mixed case
identifiers as all upper case.
true
if the database treats all identifiers as
upper case, false
otherwise.
storesUpperCaseQuotedIdentifiers
public boolean storesUpperCaseQuotedIdentifiers()
throws SQLException
This method tests whether or not the database treats mixed case
quoted identifiers as all upper case.
true
if the database treats all quoted identifiers
as upper case, false
otherwise.
supportsANSI92EntryLevelSQL
public boolean supportsANSI92EntryLevelSQL()
throws SQLException
This method tests whether or not the ANSI92 entry level SQL
grammar is supported. A fully JDBC compliant drivers must return
true
.
true
if the ANSI92 entry level SQL grammar is
supported, false
otherwise.
supportsANSI92FullSQL
public boolean supportsANSI92FullSQL()
throws SQLException
This method tests whether or not the ANSI92 full SQL
grammar is supported.
true
if the ANSI92 full SQL grammar is
supported, false
otherwise.
supportsANSI92IntermediateSQL
public boolean supportsANSI92IntermediateSQL()
throws SQLException
This method tests whether or not the ANSI92 intermediate SQL
grammar is supported.
true
if the ANSI92 intermediate SQL grammar is
supported, false
otherwise.
supportsAlterTableWithAddColumn
public boolean supportsAlterTableWithAddColumn()
throws SQLException
This method tests whether or not the database supports
"ALTER TABLE ADD COLUMN"
true
if column add supported, false
otherwise.
supportsAlterTableWithDropColumn
public boolean supportsAlterTableWithDropColumn()
throws SQLException
This method tests whether or not the database supports
"ALTER TABLE DROP COLUMN"
true
if column drop supported, false
otherwise.
supportsBatchUpdates
public boolean supportsBatchUpdates()
throws SQLException
This method tests whether or not the database supports batch updates.
true
if batch updates are supported,
false
otherwise.
supportsCatalogsInDataManipulation
public boolean supportsCatalogsInDataManipulation()
throws SQLException
This method tests whether a catalog name can appear in a data
manipulation statement.
true
if a catalog name can appear in a data
manipulation statement, false
otherwise.
supportsCatalogsInIndexDefinitions
public boolean supportsCatalogsInIndexDefinitions()
throws SQLException
This method tests whether a catalog name can appear in an index definition.
true
if a catalog name can appear in an index
definition, false
otherwise.
supportsCatalogsInPrivilegeDefinitions
public boolean supportsCatalogsInPrivilegeDefinitions()
throws SQLException
This method tests whether a catalog name can appear in privilege definitions.
true
if a catalog name can appear in privilege
definition, false
otherwise.
supportsCatalogsInProcedureCalls
public boolean supportsCatalogsInProcedureCalls()
throws SQLException
This method tests whether a catalog name can appear in a procedure
call
true
if a catalog name can appear in a procedure
call, false
otherwise.
supportsCatalogsInTableDefinitions
public boolean supportsCatalogsInTableDefinitions()
throws SQLException
This method tests whether a catalog name can appear in a table definition.
true
if a catalog name can appear in a table
definition, false
otherwise.
supportsColumnAliasing
public boolean supportsColumnAliasing()
throws SQLException
This method tests whether or not column aliasing is supported.
true
if column aliasing is supported,
false
otherwise.
supportsConvert
public boolean supportsConvert()
throws SQLException
Tests whether or not CONVERT is supported.
true
if CONVERT is supported, false
otherwise.
supportsConvert
public boolean supportsConvert(int fromType,
int toType)
throws SQLException
This method tests whether or not CONVERT can be performed between the
specified types. The types are contants from Types
.
fromType
- The SQL type to convert from.toType
- The SQL type to convert to.
true
if the conversion can be performed,
false
otherwise.
supportsCoreSQLGrammar
public boolean supportsCoreSQLGrammar()
throws SQLException
This method tests whether or not the core grammer for ODBC is supported.
true
if the ODBC core grammar is supported,
false
otherwise.
supportsCorrelatedSubqueries
public boolean supportsCorrelatedSubqueries()
throws SQLException
This method test whether or not correlated subqueries are allowed. A
fully JDBC compliant driver will always return true
.
true
if correlated subqueries are allowed,
false
otherwise.
supportsDataManipulationTransactionsOnly
public boolean supportsDataManipulationTransactionsOnly()
throws SQLException
This method tests whether or not only DML statement are allowed
inside a transaction.
true
if only DML statements are allowed in
transactions, false
otherwise.
supportsDifferentTableCorrelationNames
public boolean supportsDifferentTableCorrelationNames()
throws SQLException
This method tests whether correlation names must be different from the
name of the table.
true
if the correlation name must be different from
the table name, false
otherwise.
supportsExpressionsInOrderBy
public boolean supportsExpressionsInOrderBy()
throws SQLException
This method tests whether or not expressions are allowed in an
ORDER BY lists.
true
if expressions are allowed in ORDER BY
lists, false
otherwise.
supportsExtendedSQLGrammar
public boolean supportsExtendedSQLGrammar()
throws SQLException
This method tests whether or not the extended grammer for ODBC is supported.
true
if the ODBC extended grammar is supported,
false
otherwise.
supportsFullOuterJoins
public boolean supportsFullOuterJoins()
throws SQLException
This method tests whether or not the database supports full outer joins.
true
if full outer joins are supported,
false
otherwise.
supportsGroupBy
public boolean supportsGroupBy()
throws SQLException
This method tests whether or not GROUP BY is supported.
true
if GROUP BY is supported, false
otherwise.
supportsGroupByBeyondSelect
public boolean supportsGroupByBeyondSelect()
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.
true
if GROUP BY an add columns provided it includes
all columns in the select, false
otherwise.
supportsGroupByUnrelated
public boolean supportsGroupByUnrelated()
throws SQLException
This method tests whether GROUP BY on a non-selected column is
allowed.
true
if a non-selected column can be used in a
GROUP BY, false
otherwise.
supportsIntegrityEnhancementFacility
public boolean supportsIntegrityEnhancementFacility()
throws SQLException
This method tests whether or not the SQL integrity enhancement
facility is supported.
true
if the integrity enhancement facility is
supported, false
otherwise.
supportsLikeEscapeClause
public boolean supportsLikeEscapeClause()
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
.
true
if escapes are supported in LIKE expressions,
false
otherwise.
supportsLimitedOuterJoins
public boolean supportsLimitedOuterJoins()
throws SQLException
This method tests whether or not the database supports limited outer joins.
true
if limited outer joins are supported,
false
otherwise.
supportsMinimumSQLGrammar
public boolean supportsMinimumSQLGrammar()
throws SQLException
This method tests whether or not the minimum grammer for ODBC is supported.
A fully JDBC compliant driver will always return true
.
true
if the ODBC minimum grammar is supported,
false
otherwise.
supportsMixedCaseIdentifiers
public boolean supportsMixedCaseIdentifiers()
throws SQLException
This method tests whether or not the database supports identifiers
with mixed case.
true
if the database supports mixed case identifiers,
false
otherwise.
supportsMixedCaseQuotedIdentifiers
public boolean supportsMixedCaseQuotedIdentifiers()
throws SQLException
This method tests whether or not the database supports quoted identifiers
with mixed case.
true
if the database supports mixed case quoted
identifiers, false
otherwise.
supportsMultipleResultSets
public boolean supportsMultipleResultSets()
throws SQLException
This method tests whether multiple result sets for a single statement are
supported.
true
if multiple result sets are supported for a
single statement, false
otherwise.
supportsMultipleTransactions
public boolean supportsMultipleTransactions()
throws SQLException
This method test whether or not multiple transactions may be open
at once, as long as they are on different connections.
true
if multiple transactions on different
connections are supported, false
otherwise.
supportsNonNullableColumns
public boolean supportsNonNullableColumns()
throws SQLException
This method tests whether or not columns can be defined as NOT NULL. A
fully JDBC compliant driver always returns true
.
true
if NOT NULL columns are supported,
false
otherwise.
supportsOpenCursorsAcrossCommit
public boolean supportsOpenCursorsAcrossCommit()
throws SQLException
This method tests whether or not the database supports cursors
remaining open across commits.
true
if cursors can remain open across commits,
false
otherwise.
supportsOpenCursorsAcrossRollback
public boolean supportsOpenCursorsAcrossRollback()
throws SQLException
This method tests whether or not the database supports cursors
remaining open across rollbacks.
true
if cursors can remain open across rollbacks,
false
otherwise.
supportsOpenStatementsAcrossCommit
public boolean supportsOpenStatementsAcrossCommit()
throws SQLException
This method tests whether or not the database supports statements
remaining open across commits.
true
if statements can remain open across commits,
false
otherwise.
supportsOpenStatementsAcrossRollback
public boolean supportsOpenStatementsAcrossRollback()
throws SQLException
This method tests whether or not the database supports statements
remaining open across rollbacks.
true
if statements can remain open across rollbacks,
false
otherwise.
supportsOrderByUnrelated
public boolean supportsOrderByUnrelated()
throws SQLException
This method tests whether or ORDER BY on a non-selected column is
allowed.
true
if a non-selected column can be used in an
ORDER BY, false
otherwise.
supportsOuterJoins
public boolean supportsOuterJoins()
throws SQLException
This method tests whether or not the database supports outer joins.
true
if outer joins are supported, false
otherwise.
supportsPositionedDelete
public boolean supportsPositionedDelete()
throws SQLException
This method tests whether or not that database supports positioned
deletes.
true
if positioned deletes are supported,
false
otherwise.
supportsPositionedUpdate
public boolean supportsPositionedUpdate()
throws SQLException
This method tests whether or not that database supports positioned
updates.
true
if positioned updates are supported,
false
otherwise.
supportsResultSetConcurrency
public boolean supportsResultSetConcurrency(int type,
int concurrency)
throws SQLException
This method tests whether the specified result set type and result set
concurrency type are supported by the database.
type
- The desired result type, which is one of the constants
defined in ResultSet
.
true
if the result set type is supported,
false
otherwise.
supportsResultSetType
public boolean supportsResultSetType(int type)
throws SQLException
This method tests whether or not the datbase supports the specified
result type.
type
- The desired result type, which is one of the constants
defined in ResultSet
.
true
if the result set type is supported,
false
otherwise.
supportsSchemasInDataManipulation
public boolean supportsSchemasInDataManipulation()
throws SQLException
This method tests whether a catalog name can appear in a data
manipulation statement.
true
if a catalog name can appear in a data
manipulation statement, false
otherwise.
supportsSchemasInIndexDefinitions
public boolean supportsSchemasInIndexDefinitions()
throws SQLException
This method tests whether a catalog name can appear in an index definition.
true
if a catalog name can appear in an index
definition, false
otherwise.
supportsSchemasInPrivilegeDefinitions
public boolean supportsSchemasInPrivilegeDefinitions()
throws SQLException
This method tests whether a catalog name can appear in privilege definitions.
true
if a catalog name can appear in privilege
definition, false
otherwise.
supportsSchemasInProcedureCalls
public boolean supportsSchemasInProcedureCalls()
throws SQLException
This method tests whether a catalog name can appear in a procedure
call
true
if a catalog name can appear in a procedure
call, false
otherwise.
supportsSchemasInTableDefinitions
public boolean supportsSchemasInTableDefinitions()
throws SQLException
This method tests whether a catalog name can appear in a table definition.
true
if a catalog name can appear in a table
definition, false
otherwise.
supportsSelectForUpdate
public boolean supportsSelectForUpdate()
throws SQLException
This method tests whether or not SELECT FOR UPDATE is supported by the
database.
true
if SELECT FOR UPDATE is supported
false
otherwise.
supportsStoredProcedures
public boolean supportsStoredProcedures()
throws SQLException
This method tests whether or not stored procedures are supported on
this database.
true
if stored procedures are supported,
false
otherwise.
supportsSubqueriesInComparisons
public boolean supportsSubqueriesInComparisons()
throws SQLException
This method tests whether or not subqueries are allowed in comparisons.
A fully JDBC compliant driver will always return true
.
true
if subqueries are allowed in comparisons,
false
otherwise.
supportsSubqueriesInExists
public boolean supportsSubqueriesInExists()
throws SQLException
This method tests whether or not subqueries are allowed in exists
expressions. A fully JDBC compliant driver will always return
true
.
true
if subqueries are allowed in exists
expressions, false
otherwise.
supportsSubqueriesInIns
public boolean supportsSubqueriesInIns()
throws SQLException
This method tests whether subqueries are allowed in IN statements.
A fully JDBC compliant driver will always return true
.
true
if the driver supports subqueries in IN
statements, false
otherwise.
supportsSubqueriesInQuantifieds
public boolean supportsSubqueriesInQuantifieds()
throws SQLException
This method tests whether or not subqueries are allowed in quantified
expressions. A fully JDBC compliant driver will always return
true
.
true
if subqueries are allowed in quantified
expressions, false
otherwise.
supportsTableCorrelationNames
public boolean supportsTableCorrelationNames()
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.
true
if table correlation names are supported,
false
otherwise.
supportsTransactionIsolationLevel
public boolean supportsTransactionIsolationLevel(int level)
throws SQLException
This method tests whether or not the database supports the specified
transaction isolation level.
level
- The transaction isolation level.
true
if the specified transaction isolation level
is supported, false
otherwise.
supportsTransactions
public boolean supportsTransactions()
throws SQLException
This method tests whether or not the database supports transactions.
true
if the database supports transactions,
false
otherwise.
supportsUnion
public boolean supportsUnion()
throws SQLException
This method tests whether or not the UNION statement is supported.
true
if UNION is supported, false
otherwise.
supportsUnionAll
public boolean supportsUnionAll()
throws SQLException
This method tests whether or not the UNION ALL statement is supported.
true
if UNION ALL is supported, false
otherwise.
updatesAreDetected
public boolean updatesAreDetected(int type)
throws SQLException
This method tests whether or not the specified result set type can detect
a visible update by calling the rowUpdated
method.
type
- The desired result type, which is one of the constants
defined in ResultSet
.
true
if the result set type can detect visible updates
using rowUpdated
, false
otherwise.
usesLocalFilePerTable
public boolean usesLocalFilePerTable()
throws SQLException
This method tests whether or not the database uses a separate file for
each table.
true
if the database uses a separate file for each
table false
otherwise.
usesLocalFiles
public boolean usesLocalFiles()
throws SQLException
This method tests whether or not the database uses local files to
store tables.
true
if the database uses local files,
false
otherwise.
DatabaseMetaData.java -- Information about the database itself.
Copyright (C) 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
This file is part of GNU Classpath.
GNU Classpath is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
GNU Classpath is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
02110-1301 USA.
Linking this library statically or dynamically with other modules is
making a combined work based on this library. Thus, the terms and
conditions of the GNU General Public License cover the whole
combination.
As a special exception, the copyright holders of this library give you
permission to link this library with independent modules to produce an
executable, regardless of the license terms of these independent
modules, and to copy and distribute the resulting executable under
terms of your choice, provided that you also meet, for each linked
independent module, the terms and conditions of the license of that
module. An independent module is a module which is not derived from
or based on this library. If you modify this library, you may extend
this exception to your version of the library, but you are not
obligated to do so. If you do not wish to do so, delete this
exception statement from your version.