public class MariaDbDatabaseMetaData
extends java.lang.Object
implements java.sql.DatabaseMetaData
Modifier and Type | Field and Description |
---|---|
private MariaDbConnection |
connection |
private boolean |
datePrecisionColumnExist |
static java.lang.String |
DRIVER_NAME |
private java.lang.String |
url |
private java.lang.String |
username |
attributeNoNulls, attributeNullable, attributeNullableUnknown, bestRowNotPseudo, bestRowPseudo, bestRowSession, bestRowTemporary, bestRowTransaction, bestRowUnknown, columnNoNulls, columnNullable, columnNullableUnknown, functionColumnIn, functionColumnInOut, functionColumnOut, functionColumnResult, functionColumnUnknown, functionNoNulls, functionNoTable, functionNullable, functionNullableUnknown, functionResultUnknown, functionReturn, functionReturnsTable, importedKeyCascade, importedKeyInitiallyDeferred, importedKeyInitiallyImmediate, importedKeyNoAction, importedKeyNotDeferrable, importedKeyRestrict, importedKeySetDefault, importedKeySetNull, procedureColumnIn, procedureColumnInOut, procedureColumnOut, procedureColumnResult, procedureColumnReturn, procedureColumnUnknown, procedureNoNulls, procedureNoResult, procedureNullable, procedureNullableUnknown, procedureResultUnknown, procedureReturnsResult, sqlStateSQL, sqlStateSQL99, sqlStateXOpen, tableIndexClustered, tableIndexHashed, tableIndexOther, tableIndexStatistic, typeNoNulls, typeNullable, typeNullableUnknown, typePredBasic, typePredChar, typePredNone, typeSearchable, versionColumnNotPseudo, versionColumnPseudo, versionColumnUnknown
Constructor and Description |
---|
MariaDbDatabaseMetaData(java.sql.Connection connection,
java.lang.String user,
java.lang.String url)
Constructor.
|
Modifier and Type | Method and Description |
---|---|
boolean |
allProceduresAreCallable() |
boolean |
allTablesAreSelectable() |
boolean |
autoCommitFailureClosesAllResultSets() |
private java.lang.String |
catalogCond(java.lang.String columnName,
java.lang.String catalog)
Generate part of the information schema query that restricts catalog names In the driver, catalogs is the
equivalent to MySQL schemas.
|
private static java.lang.String |
columnTypeClause(Options options) |
boolean |
dataDefinitionCausesTransactionCommit() |
boolean |
dataDefinitionIgnoredInTransactions() |
private java.lang.String |
dataTypeClause(java.lang.String fullTypeColumnName) |
boolean |
deletesAreDetected(int type) |
boolean |
doesMaxRowSizeIncludeBlobs() |
private java.lang.String |
escapeQuote(java.lang.String value) |
private java.sql.ResultSet |
executeQuery(java.lang.String sql) |
boolean |
generatedKeyAlwaysReturned() |
java.sql.ResultSet |
getAttributes(java.lang.String catalog,
java.lang.String schemaPattern,
java.lang.String typeNamePattern,
java.lang.String attributeNamePattern)
Retrieves a description of the given attribute of the given type for a user-defined type (UDT) that is available
in the given schema and catalog.
|
java.sql.ResultSet |
getBestRowIdentifier(java.lang.String catalog,
java.lang.String schema,
java.lang.String table,
int scope,
boolean nullable)
Retrieves a description of a table's optimal set of columns that uniquely identifies a row.
|
java.sql.ResultSet |
getCatalogs() |
java.lang.String |
getCatalogSeparator() |
java.lang.String |
getCatalogTerm() |
java.sql.ResultSet |
getClientInfoProperties()
Retrieves a list of the client info properties that the driver supports.
|
java.sql.ResultSet |
getColumnPrivileges(java.lang.String catalog,
java.lang.String schema,
java.lang.String table,
java.lang.String columnNamePattern)
Retrieves a description of the access rights for a table's columns.
|
java.sql.ResultSet |
getColumns(java.lang.String catalog,
java.lang.String schemaPattern,
java.lang.String tableNamePattern,
java.lang.String columnNamePattern)
Retrieves a description of table columns available in the specified catalog.
|
java.sql.Connection |
getConnection() |
java.sql.ResultSet |
getCrossReference(java.lang.String parentCatalog,
java.lang.String parentSchema,
java.lang.String parentTable,
java.lang.String foreignCatalog,
java.lang.String foreignSchema,
java.lang.String foreignTable)
Retrieves a description of the foreign key columns in the given foreign key table that reference the primary key or the columns representing a
unique constraint of the parent table (could be the same or a different table).
|
int |
getDatabaseMajorVersion() |
int |
getDatabaseMinorVersion() |
java.lang.String |
getDatabaseProductName() |
java.lang.String |
getDatabaseProductVersion() |
int |
getDefaultTransactionIsolation() |
int |
getDriverMajorVersion() |
int |
getDriverMinorVersion() |
java.lang.String |
getDriverName() |
java.lang.String |
getDriverVersion() |
java.sql.ResultSet |
getExportedKeys(java.lang.String catalog,
java.lang.String schema,
java.lang.String table)
Retrieves a description of the foreign key columns that reference the given table's primary key columns (the foreign keys exported by a table).
|
java.lang.String |
getExtraNameCharacters() |
java.sql.ResultSet |
getFunctionColumns(java.lang.String catalog,
java.lang.String schemaPattern,
java.lang.String functionNamePattern,
java.lang.String columnNamePattern)
Retrieves a description of the given catalog's system or user function parameters and return type.
|
java.sql.ResultSet |
getFunctions(java.lang.String catalog,
java.lang.String schemaPattern,
java.lang.String functionNamePattern)
Retrieves a description of the system and user functions available in the given catalog.
|
java.lang.String |
getIdentifierQuoteString() |
private static int |
getImportedKeyAction(java.lang.String actionKey) |
java.sql.ResultSet |
getImportedKeys(java.lang.String catalog,
java.lang.String schema,
java.lang.String table)
Retrieves a description of the primary key columns that are referenced by the given table's foreign key columns
(the primary keys imported by a table).
|
private static java.sql.ResultSet |
getImportedKeys(java.lang.String tableDef,
java.lang.String tableName,
java.lang.String catalog,
MariaDbConnection connection)
Get imported keys.
|
java.sql.ResultSet |
getImportedKeysUsingInformationSchema(java.lang.String catalog,
java.lang.String table)
GetImportedKeysUsingInformationSchema.
|
java.sql.ResultSet |
getImportedKeysUsingShowCreateTable(java.lang.String catalog,
java.lang.String table)
GetImportedKeysUsingShowCreateTable.
|
java.sql.ResultSet |
getIndexInfo(java.lang.String catalog,
java.lang.String schema,
java.lang.String table,
boolean unique,
boolean approximate)
Retrieves a description of the given table's indices and statistics.
|
int |
getJDBCMajorVersion() |
int |
getJDBCMinorVersion() |
int |
getMaxBinaryLiteralLength() |
int |
getMaxCatalogNameLength() |
int |
getMaxCharLiteralLength() |
int |
getMaxColumnNameLength() |
int |
getMaxColumnsInGroupBy() |
int |
getMaxColumnsInIndex() |
int |
getMaxColumnsInOrderBy() |
int |
getMaxColumnsInSelect() |
int |
getMaxColumnsInTable() |
int |
getMaxConnections() |
int |
getMaxCursorNameLength() |
int |
getMaxIndexLength() |
long |
getMaxLogicalLobSize() |
int |
getMaxProcedureNameLength() |
int |
getMaxRowSize() |
int |
getMaxSchemaNameLength() |
int |
getMaxStatementLength() |
int |
getMaxStatements() |
int |
getMaxTableNameLength() |
int |
getMaxTablesInSelect() |
int |
getMaxUserNameLength() |
java.lang.String |
getNumericFunctions()
List of numeric functions.
|
java.sql.ResultSet |
getPrimaryKeys(java.lang.String catalog,
java.lang.String schema,
java.lang.String table)
Retrieves a description of the given table's primary key columns.
|
java.sql.ResultSet |
getProcedureColumns(java.lang.String catalog,
java.lang.String schemaPattern,
java.lang.String procedureNamePattern,
java.lang.String columnNamePattern)
Retrieves a description of the given catalog's stored procedure parameter and result columns.
|
java.sql.ResultSet |
getProcedures(java.lang.String catalog,
java.lang.String schemaPattern,
java.lang.String procedureNamePattern)
Retrieves a description of the stored procedures available in the given catalog.
|
java.lang.String |
getProcedureTerm() |
java.sql.ResultSet |
getPseudoColumns(java.lang.String catalog,
java.lang.String schemaPattern,
java.lang.String tableNamePattern,
java.lang.String columnNamePattern)
Retrieves a description of the pseudo or hidden columns available in a given table within the specified catalog and schema.
|
int |
getResultSetHoldability() |
java.sql.RowIdLifetime |
getRowIdLifetime() |
java.sql.ResultSet |
getSchemas() |
java.sql.ResultSet |
getSchemas(java.lang.String catalog,
java.lang.String schemaPattern) |
java.lang.String |
getSchemaTerm() |
java.lang.String |
getSearchStringEscape() |
java.lang.String |
getSQLKeywords()
Retrieves a comma-separated list of all of this database's SQL keywords that are NOT also SQL:2003 keywords.
|
int |
getSQLStateType() |
java.lang.String |
getStringFunctions()
List of string functions.
|
java.sql.ResultSet |
getSuperTables(java.lang.String catalog,
java.lang.String schemaPattern,
java.lang.String tableNamePattern)
Retrieves a description of the table hierarchies defined in a particular schema in this database.
|
java.sql.ResultSet |
getSuperTypes(java.lang.String catalog,
java.lang.String schemaPattern,
java.lang.String typeNamePattern)
Retrieves a description of the user-defined type (UDT) hierarchies defined in a particular schema in this
database.
|
java.lang.String |
getSystemFunctions()
List of system functions.
|
java.sql.ResultSet |
getTablePrivileges(java.lang.String catalog,
java.lang.String schemaPattern,
java.lang.String tableNamePattern)
Retrieves a description of the access rights for each table available in a catalog.
|
java.sql.ResultSet |
getTables(java.lang.String catalog,
java.lang.String schemaPattern,
java.lang.String tableNamePattern,
java.lang.String[] types)
Retrieves a description of the tables available in the given catalog.
|
java.sql.ResultSet |
getTableTypes() |
java.lang.String |
getTimeDateFunctions()
List of time and date functions.
|
java.sql.ResultSet |
getTypeInfo()
Retrieves a description of all the data types supported by this database.
|
java.sql.ResultSet |
getUDTs(java.lang.String catalog,
java.lang.String schemaPattern,
java.lang.String typeNamePattern,
int[] types)
Retrieves a description of the user-defined types (UDTs) defined in a particular schema.
|
java.lang.String |
getURL() |
java.lang.String |
getUserName() |
java.sql.ResultSet |
getVersionColumns(java.lang.String catalog,
java.lang.String schema,
java.lang.String table)
Retrieves a description of a table's columns that are automatically updated when any value in a row is updated.
|
private boolean |
haveInformationSchemaParameters() |
boolean |
insertsAreDetected(int type) |
boolean |
isCatalogAtStart() |
boolean |
isReadOnly() |
boolean |
isWrapperFor(java.lang.Class<?> iface) |
boolean |
locatorsUpdateCopy() |
private java.lang.String |
mapTableTypes(java.lang.String tableType)
Maps standard table types to mysql ones - helper since table type is never "table" in mysql, it is "base table"
|
boolean |
nullPlusNonNullIsNull() |
boolean |
nullsAreSortedAtEnd() |
boolean |
nullsAreSortedAtStart() |
boolean |
nullsAreSortedHigh() |
boolean |
nullsAreSortedLow() |
boolean |
othersDeletesAreVisible(int type) |
boolean |
othersInsertsAreVisible(int type) |
boolean |
othersUpdatesAreVisible(int type) |
boolean |
ownDeletesAreVisible(int type) |
boolean |
ownInsertsAreVisible(int type) |
boolean |
ownUpdatesAreVisible(int type) |
private static int |
parseIdentifier(char[] part,
int startPos,
Identifier identifier) |
private static int |
parseIdentifierList(char[] part,
int startPos,
java.util.List<Identifier> list) |
private java.lang.String |
patternCond(java.lang.String columnName,
java.lang.String tableName) |
private static int |
skipKeyword(char[] part,
int startPos,
java.lang.String keyword) |
private static int |
skipWhite(char[] part,
int startPos) |
boolean |
storesLowerCaseIdentifiers() |
boolean |
storesLowerCaseQuotedIdentifiers() |
boolean |
storesMixedCaseIdentifiers() |
boolean |
storesMixedCaseQuotedIdentifiers() |
boolean |
storesUpperCaseIdentifiers() |
boolean |
storesUpperCaseQuotedIdentifiers() |
boolean |
supportsAlterTableWithAddColumn() |
boolean |
supportsAlterTableWithDropColumn() |
boolean |
supportsANSI92EntryLevelSQL() |
boolean |
supportsANSI92FullSQL() |
boolean |
supportsANSI92IntermediateSQL() |
boolean |
supportsBatchUpdates() |
boolean |
supportsCatalogsInDataManipulation() |
boolean |
supportsCatalogsInIndexDefinitions() |
boolean |
supportsCatalogsInPrivilegeDefinitions() |
boolean |
supportsCatalogsInProcedureCalls() |
boolean |
supportsCatalogsInTableDefinitions() |
boolean |
supportsColumnAliasing() |
boolean |
supportsConvert() |
boolean |
supportsConvert(int fromType,
int toType) |
boolean |
supportsCoreSQLGrammar() |
boolean |
supportsCorrelatedSubqueries() |
boolean |
supportsDataDefinitionAndDataManipulationTransactions() |
boolean |
supportsDataManipulationTransactionsOnly() |
boolean |
supportsDifferentTableCorrelationNames() |
boolean |
supportsExpressionsInOrderBy() |
boolean |
supportsExtendedSQLGrammar() |
boolean |
supportsFullOuterJoins() |
boolean |
supportsGetGeneratedKeys() |
boolean |
supportsGroupBy() |
boolean |
supportsGroupByBeyondSelect() |
boolean |
supportsGroupByUnrelated() |
boolean |
supportsIntegrityEnhancementFacility() |
boolean |
supportsLikeEscapeClause() |
boolean |
supportsLimitedOuterJoins() |
boolean |
supportsMinimumSQLGrammar() |
boolean |
supportsMixedCaseIdentifiers() |
boolean |
supportsMixedCaseQuotedIdentifiers() |
boolean |
supportsMultipleOpenResults() |
boolean |
supportsMultipleResultSets() |
boolean |
supportsMultipleTransactions() |
boolean |
supportsNamedParameters() |
boolean |
supportsNonNullableColumns() |
boolean |
supportsOpenCursorsAcrossCommit() |
boolean |
supportsOpenCursorsAcrossRollback() |
boolean |
supportsOpenStatementsAcrossCommit() |
boolean |
supportsOpenStatementsAcrossRollback() |
boolean |
supportsOrderByUnrelated() |
boolean |
supportsOuterJoins() |
boolean |
supportsPositionedDelete() |
boolean |
supportsPositionedUpdate() |
boolean |
supportsRefCursors() |
boolean |
supportsResultSetConcurrency(int type,
int concurrency)
Retrieves whether this database supports the given concurrency type in combination with the given result set type.
|
boolean |
supportsResultSetHoldability(int holdability) |
boolean |
supportsResultSetType(int type)
Retrieves whether this database supports the given result set type.
|
boolean |
supportsSavepoints() |
boolean |
supportsSchemasInDataManipulation() |
boolean |
supportsSchemasInIndexDefinitions() |
boolean |
supportsSchemasInPrivilegeDefinitions() |
boolean |
supportsSchemasInProcedureCalls() |
boolean |
supportsSchemasInTableDefinitions() |
boolean |
supportsSelectForUpdate() |
boolean |
supportsStatementPooling() |
boolean |
supportsStoredFunctionsUsingCallSyntax() |
boolean |
supportsStoredProcedures() |
boolean |
supportsSubqueriesInComparisons() |
boolean |
supportsSubqueriesInExists() |
boolean |
supportsSubqueriesInIns() |
boolean |
supportsSubqueriesInQuantifieds() |
boolean |
supportsTableCorrelationNames() |
boolean |
supportsTransactionIsolationLevel(int level)
Retrieves whether this database supports the given transaction isolation level.
|
boolean |
supportsTransactions()
Retrieves whether this database supports transactions.
|
boolean |
supportsUnion() |
boolean |
supportsUnionAll() |
<T> T |
unwrap(java.lang.Class<T> iface) |
boolean |
updatesAreDetected(int type) |
boolean |
usesLocalFilePerTable() |
boolean |
usesLocalFiles() |
public static final java.lang.String DRIVER_NAME
private final java.lang.String url
private final MariaDbConnection connection
private final java.lang.String username
private boolean datePrecisionColumnExist
public MariaDbDatabaseMetaData(java.sql.Connection connection, java.lang.String user, java.lang.String url)
connection
- connectionuser
- userNameurl
- connection String url.private static java.lang.String columnTypeClause(Options options)
public java.sql.ResultSet getImportedKeys(java.lang.String catalog, java.lang.String schema, java.lang.String table) throws java.sql.SQLException
Each primary key column description has the following columns:
=>
primary key table catalog being imported (may be null
)
=>
primary key table schema being imported (may be null
)
=>
primary key table name being imported
=>
primary key column name being imported
=>
foreign key table catalog (may be null
)
=>
foreign key table schema (may be null
)
=>
foreign key table name
=>
foreign key column name
=>
sequence number within a foreign key( a value of 1 represents the first
column of the foreign key, a value of 2 would represent the second column within the foreign key).
=>
What happens to a foreign key when the primary key is updated:
NULL
if its primary key has been updated
=>
What happens to the foreign key when primary is deleted.
=>
foreign key name (may be null
)
=>
primary key name (may be null
)
=>
can the evaluation of foreign key constraints be deferred until
commit
getImportedKeys
in interface java.sql.DatabaseMetaData
catalog
- a catalog name; must match the catalog name as it is stored in the database;
"" retrieves those without a catalog;
null
means that the catalog name should not be used to narrow the searchschema
- a schema name; must match the schema name as it is stored in the database;
"" retrieves those without a schema; null
means that the schema name should not be used to narrow the searchtable
- a table name; must match the table name as it is stored in the databaseResultSet
- each row is a primary key column descriptionjava.sql.SQLException
- if a database access error occursgetExportedKeys(java.lang.String, java.lang.String, java.lang.String)
private static java.sql.ResultSet getImportedKeys(java.lang.String tableDef, java.lang.String tableName, java.lang.String catalog, MariaDbConnection connection) throws java.text.ParseException
tableDef
- table definitiontableName
- table namecatalog
- catalogconnection
- connectionjava.text.ParseException
- exceptionprivate static int skipWhite(char[] part, int startPos)
private static int parseIdentifier(char[] part, int startPos, Identifier identifier) throws java.text.ParseException
java.text.ParseException
private static int parseIdentifierList(char[] part, int startPos, java.util.List<Identifier> list) throws java.text.ParseException
java.text.ParseException
private static int skipKeyword(char[] part, int startPos, java.lang.String keyword) throws java.text.ParseException
java.text.ParseException
private static int getImportedKeyAction(java.lang.String actionKey)
private java.lang.String dataTypeClause(java.lang.String fullTypeColumnName)
private java.sql.ResultSet executeQuery(java.lang.String sql) throws java.sql.SQLException
java.sql.SQLException
private java.lang.String escapeQuote(java.lang.String value)
private java.lang.String catalogCond(java.lang.String columnName, java.lang.String catalog)
columnName
- - column name in the information schema tablecatalog
- - catalog name.
This driver does not (always) follow JDBC standard for following special values, due to
ConnectorJ compatibility
1. empty string ("") - matches current catalog (i.e database).
JDBC standard says only tables without catalog should be returned - such tables do not exist in
MySQL. If there is no current catalog, then empty string matches any catalog.
2. null - if nullCatalogMeansCurrent=true (which is the default), then the handling is the
same as for "" . i.e return current catalog.JDBC-conforming way would be to match any catalog
with null parameter. This can be switched with nullCatalogMeansCurrent=false in the
connection URL.private java.lang.String patternCond(java.lang.String columnName, java.lang.String tableName)
public java.sql.ResultSet getPrimaryKeys(java.lang.String catalog, java.lang.String schema, java.lang.String table) throws java.sql.SQLException
Each primary key column description has the following columns:
=>
table catalog =>
table schema (may be null
)=>
table name =>
column name =>
sequence number within primary key( a value of 1 represents the first
column of the primary key, a value of 2 would represent the second column within the primary key).=>
primary key name getPrimaryKeys
in interface java.sql.DatabaseMetaData
catalog
- a catalog name; must match the catalog name as it is stored in the database; "" retrieves those
without a catalog;
null
means that the catalog name should not be used to narrow the searchschema
- a schema name; must match the schema name as it is stored in the database; "" retrieves those
without a schema; null
means that the schema name should not be used to narrow the searchtable
- a table name; must match the table name as it is stored in the databaseResultSet
- each row is a primary key column descriptionjava.sql.SQLException
- if a database access error occursprivate java.lang.String mapTableTypes(java.lang.String tableType)
tableType
- the table type defined by userpublic java.sql.ResultSet getTables(java.lang.String catalog, java.lang.String schemaPattern, java.lang.String tableNamePattern, java.lang.String[] types) throws java.sql.SQLException
TABLE_TYPE
, TABLE_CAT
, TABLE_SCHEM
and
TABLE_NAME
.
Each table description has the following columns: =>
table catalog (may be null
)
=>
table schema (may be null
) =>
table name
=>
table type. Typical types are "TABLE", "VIEW", "SYSTEM TABLE", "GLOBAL TEMPORARY", "LOCAL TEMPORARY",
"ALIAS", "SYNONYM". =>
explanatory comment on the table =>
the types
catalog (may be null
) =>
the types schema (may be null
) =>
type name (may be null
) =>
name of the designated
"identifier" column of a typed table (may be null
) =>
specifies how values in
SELF_REFERENCING_COL_NAME are created. Values are "SYSTEM", "USER", "DERIVED". (may be null
) Note: Some databases may not return information for all tables.
getTables
in interface java.sql.DatabaseMetaData
catalog
- a catalog name; must match the catalog name as it is stored in the database; "" retrieves those without a catalog;
null
means that the catalog name should not be used to narrow the searchschemaPattern
- a schema name pattern; must match the schema name as it is stored in the database; "" retrieves those without a schema;
null
means that the schema name should not be used to narrow the searchtableNamePattern
- a table name pattern; must match the table name as it is stored in the databasetypes
- a list of table types, which must be from the list of table types returned from getTableTypes()
,to include;
null
returns all typesResultSet
- each row is a table descriptionjava.sql.SQLException
- if a database access error occursgetSearchStringEscape()
public java.sql.ResultSet getColumns(java.lang.String catalog, java.lang.String schemaPattern, java.lang.String tableNamePattern, java.lang.String columnNamePattern) throws java.sql.SQLException
Only column descriptions matching the catalog, schema, table and column name criteria are returned. They are ordered by
TABLE_CAT
,TABLE_SCHEM
, TABLE_NAME
, and ORDINAL_POSITION
.
Each column description has the following columns:
=>
table catalog (may be null
)
=>
table schema (may be null
) =>
table name
=>
column name =>
SQL type from java.sql.Types =>
Data source dependent type name, for a UDT the type name is fully qualified =>
column
size. =>
the number of fractional digits. Null is returned for data
types where DECIMAL_DIGITS is not applicable. =>
Radix (typically either 10 or 2) =>
is NULL allowed. NULL
values NULL
values =>
comment describing column
(may be null
) =>
default value for the column, which should be interpreted as a string when
the value is enclosed in single quotes (may be null
) =>
unused =>
unused =>
for char types the maximum number of bytes in the column
=>
index of column in table (starting at 1) =>
ISO rules are
used to determine the nullability for a column. =>
catalog of table that is the scope of a reference attribute (null
if DATA_TYPE isn't REF) =>
schema of table that is the scope of a reference attribute (null
if the DATA_TYPE isn't REF) =>
table name that this the scope of a reference attribute (null
if the DATA_TYPE isn't REF)
=>
source type of a distinct type or user-generated Ref type, SQL type from java.sql.Types
(null
if DATA_TYPE isn't DISTINCT or user-generated REF) =>
Indicates whether this
column is auto incremented =>
Indicates whether this is a generated column The COLUMN_SIZE column specifies the column size for the given column. For numeric data, this is the maximum precision. For character data, this is the length in characters. For datetime datatypes, this is the length in characters of the String representation (assuming the maximum allowed precision of the fractional seconds component). For binary data, this is the length in bytes. For the ROWID datatype, this is the length in bytes. Null is returned for data types where the column size is not applicable.
getColumns
in interface java.sql.DatabaseMetaData
catalog
- a catalog name; must match the catalog name as it is stored in the database;
"" retrieves those without a catalog;
null
means that the catalog name should not be used to narrow the searchschemaPattern
- a schema name pattern; must match the schema name as it is stored in the database;
"" retrieves those without a schema;
null
means that the schema name should not be used to narrow the searchtableNamePattern
- a table name pattern; must match the table name as it is stored in the databasecolumnNamePattern
- a column name pattern; must match the column name as it is stored in the databaseResultSet
- each row is a column descriptionjava.sql.SQLException
- if a database access error occursgetSearchStringEscape()
public java.sql.ResultSet getExportedKeys(java.lang.String catalog, java.lang.String schema, java.lang.String table) throws java.sql.SQLException
Each foreign key column description has the following columns:
=>
primary key table catalog (may
be null
) =>
primary key table schema (may be null
) =>
primary key table name =>
primary key column name =>
foreign key table catalog (may be null
) being exported (may be null
) =>
foreign key table schema (may be null
) being exported (may be null
) =>
foreign key table name being exported =>
foreign key column name being exported =>
sequence number within foreign key( a value of 1 represents the first column of the foreign key, a value of 2 would represent
the second column within the foreign key). =>
What happens to foreign key when primary is updated: NULL
if its primary key has been updated =>
What happens to the foreign key when primary is
deleted. NULL
if its primary key has been deleted =>
foreign key name (may be null
) =>
primary key name (may be null
) =>
can the evaluation of foreign key
constraints be deferred until commit getExportedKeys
in interface java.sql.DatabaseMetaData
catalog
- a catalog name; must match the catalog name as it is stored in this database; "" retrieves those
without a catalog;
null
means that the catalog name should not be used to narrow the searchschema
- a schema name; must match the schema name as it is stored in the database; "" retrieves those
without a schema; null
means that the schema name should not be used to narrow the searchtable
- a table name; must match the table name as it is stored in this databaseResultSet
object in which each row is a foreign key column descriptionjava.sql.SQLException
- if a database access error occursgetImportedKeys(java.lang.String, java.lang.String, java.lang.String)
public java.sql.ResultSet getImportedKeysUsingInformationSchema(java.lang.String catalog, java.lang.String table) throws java.sql.SQLException
catalog
- catalogtable
- tablejava.sql.SQLException
- exceptionpublic java.sql.ResultSet getImportedKeysUsingShowCreateTable(java.lang.String catalog, java.lang.String table) throws java.lang.Exception
catalog
- catalogtable
- tablejava.sql.SQLException
- exceptionjava.lang.Exception
public java.sql.ResultSet getBestRowIdentifier(java.lang.String catalog, java.lang.String schema, java.lang.String table, int scope, boolean nullable) throws java.sql.SQLException
Each column description has the following columns:
=>
actual scope of result =>
column name =>
SQL data type from
java.sql.Types =>
Data source dependent type name, for a UDT the type name is fully qualified
=>
precision =>
not used =>
scale - Null is returned for data types where DECIMAL_DIGITS is not applicable. =>
is this a pseudo
column like an Oracle ROWID The COLUMN_SIZE column represents the specified column size for the given column. For numeric data, this is the maximum precision. For character data, this is the length in characters. For datetime datatypes, this is the length in characters of the String representation (assuming the maximum allowed precision of the fractional seconds component). For binary data, this is the length in bytes. For the ROWID datatype, this is the length in bytes. Null is returned for data types where the column size is not applicable.
getBestRowIdentifier
in interface java.sql.DatabaseMetaData
catalog
- a catalog name; must match the catalog name as it is stored in the database; "" retrieves those
without a catalog;
null
means that the catalog name should not be used to narrow the searchschema
- a schema name; must match the schema name as it is stored in the database; "" retrieves those
without a schema; null
means that the schema name should not be used to narrow the searchtable
- a table name; must match the table name as it is stored in the databasescope
- the scope of interest; use same values as SCOPEnullable
- include columns that are nullable.ResultSet
- each row is a column descriptionjava.sql.SQLException
- if a database access error occurspublic boolean generatedKeyAlwaysReturned() throws java.sql.SQLException
generatedKeyAlwaysReturned
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public java.sql.ResultSet getPseudoColumns(java.lang.String catalog, java.lang.String schemaPattern, java.lang.String tableNamePattern, java.lang.String columnNamePattern) throws java.sql.SQLException
Only column descriptions matching the catalog, schema, table and column name criteria are returned. They are ordered by
TABLE_CAT
,TABLE_SCHEM
, TABLE_NAME
and COLUMN_NAME
.
Each column description has the following columns:
=>
table catalog (may be null
)
=>
table schema (may be null
) =>
table name
=>
column name =>
SQL type from java.sql.Types =>
column size. =>
the number of fractional digits. Null is returned for data types where
DECIMAL_DIGITS is not applicable. =>
Radix (typically either 10 or 2) =>
The allowed usage for the column. The value returned will correspond to the enum name returned by PseudoColumnUsage.name()
=>
comment describing column (may be null
)
=>
for char types the maximum number of bytes in the column =>
ISO rules are used to determine the nullability for a column. The COLUMN_SIZE column specifies the column size for the given column. For numeric data, this is the maximum precision. For character data, this is the length in characters. For datetime datatypes, this is the length in characters of the String representation (assuming the maximum allowed precision of the fractional seconds component). For binary data, this is the length in bytes. For the ROWID datatype, this is the length in bytes. Null is returned for data types where the column size is not applicable.
getPseudoColumns
in interface java.sql.DatabaseMetaData
catalog
- a catalog name; must match the catalog name as it is stored in the database;
"" retrieves those without a catalog;
null
means that the catalog name should not be used to narrow the searchschemaPattern
- a schema name pattern; must match the schema name as it is stored in the database;
"" retrieves those without a schema;
null
means that the schema name should not be used to narrow the searchtableNamePattern
- a table name pattern; must match the table name as it is stored in the databasecolumnNamePattern
- a column name pattern; must match the column name as it is stored in the databaseResultSet
- each row is a column descriptionjava.sql.SQLException
- if a database access error occursPseudoColumnUsage
public boolean allProceduresAreCallable() throws java.sql.SQLException
allProceduresAreCallable
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean allTablesAreSelectable() throws java.sql.SQLException
allTablesAreSelectable
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public java.lang.String getURL() throws java.sql.SQLException
getURL
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public java.lang.String getUserName() throws java.sql.SQLException
getUserName
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean isReadOnly() throws java.sql.SQLException
isReadOnly
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean nullsAreSortedHigh() throws java.sql.SQLException
nullsAreSortedHigh
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean nullsAreSortedLow() throws java.sql.SQLException
nullsAreSortedLow
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean nullsAreSortedAtStart() throws java.sql.SQLException
nullsAreSortedAtStart
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean nullsAreSortedAtEnd() throws java.sql.SQLException
nullsAreSortedAtEnd
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public java.lang.String getDatabaseProductName() throws java.sql.SQLException
getDatabaseProductName
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public java.lang.String getDatabaseProductVersion() throws java.sql.SQLException
getDatabaseProductVersion
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public java.lang.String getDriverName() throws java.sql.SQLException
getDriverName
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public java.lang.String getDriverVersion() throws java.sql.SQLException
getDriverVersion
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public int getDriverMajorVersion()
getDriverMajorVersion
in interface java.sql.DatabaseMetaData
public int getDriverMinorVersion()
getDriverMinorVersion
in interface java.sql.DatabaseMetaData
public boolean usesLocalFiles() throws java.sql.SQLException
usesLocalFiles
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean usesLocalFilePerTable() throws java.sql.SQLException
usesLocalFilePerTable
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean supportsMixedCaseIdentifiers() throws java.sql.SQLException
supportsMixedCaseIdentifiers
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean storesUpperCaseIdentifiers() throws java.sql.SQLException
storesUpperCaseIdentifiers
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean storesLowerCaseIdentifiers() throws java.sql.SQLException
storesLowerCaseIdentifiers
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean storesMixedCaseIdentifiers() throws java.sql.SQLException
storesMixedCaseIdentifiers
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean supportsMixedCaseQuotedIdentifiers() throws java.sql.SQLException
supportsMixedCaseQuotedIdentifiers
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean storesUpperCaseQuotedIdentifiers() throws java.sql.SQLException
storesUpperCaseQuotedIdentifiers
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean storesLowerCaseQuotedIdentifiers() throws java.sql.SQLException
storesLowerCaseQuotedIdentifiers
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean storesMixedCaseQuotedIdentifiers() throws java.sql.SQLException
storesMixedCaseQuotedIdentifiers
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public java.lang.String getIdentifierQuoteString() throws java.sql.SQLException
getIdentifierQuoteString
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public java.lang.String getSQLKeywords() throws java.sql.SQLException
getSQLKeywords
in interface java.sql.DatabaseMetaData
java.sql.SQLException
- if a database access error occurspublic java.lang.String getNumericFunctions()
getNumericFunctions
in interface java.sql.DatabaseMetaData
public java.lang.String getStringFunctions()
getStringFunctions
in interface java.sql.DatabaseMetaData
public java.lang.String getSystemFunctions()
getSystemFunctions
in interface java.sql.DatabaseMetaData
public java.lang.String getTimeDateFunctions()
getTimeDateFunctions
in interface java.sql.DatabaseMetaData
public java.lang.String getSearchStringEscape() throws java.sql.SQLException
getSearchStringEscape
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public java.lang.String getExtraNameCharacters() throws java.sql.SQLException
getExtraNameCharacters
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean supportsAlterTableWithAddColumn() throws java.sql.SQLException
supportsAlterTableWithAddColumn
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean supportsAlterTableWithDropColumn() throws java.sql.SQLException
supportsAlterTableWithDropColumn
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean supportsColumnAliasing() throws java.sql.SQLException
supportsColumnAliasing
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean nullPlusNonNullIsNull() throws java.sql.SQLException
nullPlusNonNullIsNull
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean supportsConvert() throws java.sql.SQLException
supportsConvert
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean supportsConvert(int fromType, int toType) throws java.sql.SQLException
supportsConvert
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean supportsTableCorrelationNames() throws java.sql.SQLException
supportsTableCorrelationNames
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean supportsDifferentTableCorrelationNames() throws java.sql.SQLException
supportsDifferentTableCorrelationNames
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean supportsExpressionsInOrderBy() throws java.sql.SQLException
supportsExpressionsInOrderBy
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean supportsOrderByUnrelated() throws java.sql.SQLException
supportsOrderByUnrelated
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean supportsGroupBy() throws java.sql.SQLException
supportsGroupBy
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean supportsGroupByUnrelated() throws java.sql.SQLException
supportsGroupByUnrelated
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean supportsGroupByBeyondSelect() throws java.sql.SQLException
supportsGroupByBeyondSelect
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean supportsLikeEscapeClause() throws java.sql.SQLException
supportsLikeEscapeClause
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean supportsMultipleResultSets() throws java.sql.SQLException
supportsMultipleResultSets
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean supportsMultipleTransactions() throws java.sql.SQLException
supportsMultipleTransactions
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean supportsNonNullableColumns() throws java.sql.SQLException
supportsNonNullableColumns
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean supportsMinimumSQLGrammar() throws java.sql.SQLException
supportsMinimumSQLGrammar
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean supportsCoreSQLGrammar() throws java.sql.SQLException
supportsCoreSQLGrammar
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean supportsExtendedSQLGrammar() throws java.sql.SQLException
supportsExtendedSQLGrammar
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean supportsANSI92EntryLevelSQL() throws java.sql.SQLException
supportsANSI92EntryLevelSQL
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean supportsANSI92IntermediateSQL() throws java.sql.SQLException
supportsANSI92IntermediateSQL
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean supportsANSI92FullSQL() throws java.sql.SQLException
supportsANSI92FullSQL
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean supportsIntegrityEnhancementFacility() throws java.sql.SQLException
supportsIntegrityEnhancementFacility
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean supportsOuterJoins() throws java.sql.SQLException
supportsOuterJoins
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean supportsFullOuterJoins() throws java.sql.SQLException
supportsFullOuterJoins
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean supportsLimitedOuterJoins() throws java.sql.SQLException
supportsLimitedOuterJoins
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public java.lang.String getSchemaTerm() throws java.sql.SQLException
getSchemaTerm
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public java.lang.String getProcedureTerm() throws java.sql.SQLException
getProcedureTerm
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public java.lang.String getCatalogTerm() throws java.sql.SQLException
getCatalogTerm
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean isCatalogAtStart() throws java.sql.SQLException
isCatalogAtStart
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public java.lang.String getCatalogSeparator() throws java.sql.SQLException
getCatalogSeparator
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean supportsSchemasInDataManipulation() throws java.sql.SQLException
supportsSchemasInDataManipulation
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean supportsSchemasInProcedureCalls() throws java.sql.SQLException
supportsSchemasInProcedureCalls
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean supportsSchemasInTableDefinitions() throws java.sql.SQLException
supportsSchemasInTableDefinitions
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean supportsSchemasInIndexDefinitions() throws java.sql.SQLException
supportsSchemasInIndexDefinitions
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean supportsSchemasInPrivilegeDefinitions() throws java.sql.SQLException
supportsSchemasInPrivilegeDefinitions
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean supportsCatalogsInDataManipulation() throws java.sql.SQLException
supportsCatalogsInDataManipulation
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean supportsCatalogsInProcedureCalls() throws java.sql.SQLException
supportsCatalogsInProcedureCalls
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean supportsCatalogsInTableDefinitions() throws java.sql.SQLException
supportsCatalogsInTableDefinitions
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean supportsCatalogsInIndexDefinitions() throws java.sql.SQLException
supportsCatalogsInIndexDefinitions
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean supportsCatalogsInPrivilegeDefinitions() throws java.sql.SQLException
supportsCatalogsInPrivilegeDefinitions
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean supportsPositionedDelete() throws java.sql.SQLException
supportsPositionedDelete
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean supportsPositionedUpdate() throws java.sql.SQLException
supportsPositionedUpdate
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean supportsSelectForUpdate() throws java.sql.SQLException
supportsSelectForUpdate
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean supportsStoredProcedures() throws java.sql.SQLException
supportsStoredProcedures
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean supportsSubqueriesInComparisons() throws java.sql.SQLException
supportsSubqueriesInComparisons
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean supportsSubqueriesInExists() throws java.sql.SQLException
supportsSubqueriesInExists
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean supportsSubqueriesInIns() throws java.sql.SQLException
supportsSubqueriesInIns
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean supportsSubqueriesInQuantifieds() throws java.sql.SQLException
supportsSubqueriesInQuantifieds
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean supportsCorrelatedSubqueries() throws java.sql.SQLException
supportsCorrelatedSubqueries
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean supportsUnion() throws java.sql.SQLException
supportsUnion
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean supportsUnionAll() throws java.sql.SQLException
supportsUnionAll
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean supportsOpenCursorsAcrossCommit() throws java.sql.SQLException
supportsOpenCursorsAcrossCommit
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean supportsOpenCursorsAcrossRollback() throws java.sql.SQLException
supportsOpenCursorsAcrossRollback
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean supportsOpenStatementsAcrossCommit() throws java.sql.SQLException
supportsOpenStatementsAcrossCommit
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean supportsOpenStatementsAcrossRollback() throws java.sql.SQLException
supportsOpenStatementsAcrossRollback
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public int getMaxBinaryLiteralLength() throws java.sql.SQLException
getMaxBinaryLiteralLength
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public int getMaxCharLiteralLength() throws java.sql.SQLException
getMaxCharLiteralLength
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public int getMaxColumnNameLength() throws java.sql.SQLException
getMaxColumnNameLength
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public int getMaxColumnsInGroupBy() throws java.sql.SQLException
getMaxColumnsInGroupBy
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public int getMaxColumnsInIndex() throws java.sql.SQLException
getMaxColumnsInIndex
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public int getMaxColumnsInOrderBy() throws java.sql.SQLException
getMaxColumnsInOrderBy
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public int getMaxColumnsInSelect() throws java.sql.SQLException
getMaxColumnsInSelect
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public int getMaxColumnsInTable() throws java.sql.SQLException
getMaxColumnsInTable
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public int getMaxConnections() throws java.sql.SQLException
getMaxConnections
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public int getMaxCursorNameLength() throws java.sql.SQLException
getMaxCursorNameLength
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public int getMaxIndexLength() throws java.sql.SQLException
getMaxIndexLength
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public int getMaxSchemaNameLength() throws java.sql.SQLException
getMaxSchemaNameLength
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public int getMaxProcedureNameLength() throws java.sql.SQLException
getMaxProcedureNameLength
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public int getMaxCatalogNameLength() throws java.sql.SQLException
getMaxCatalogNameLength
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public int getMaxRowSize() throws java.sql.SQLException
getMaxRowSize
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean doesMaxRowSizeIncludeBlobs() throws java.sql.SQLException
doesMaxRowSizeIncludeBlobs
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public int getMaxStatementLength() throws java.sql.SQLException
getMaxStatementLength
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public int getMaxStatements() throws java.sql.SQLException
getMaxStatements
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public int getMaxTableNameLength() throws java.sql.SQLException
getMaxTableNameLength
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public int getMaxTablesInSelect() throws java.sql.SQLException
getMaxTablesInSelect
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public int getMaxUserNameLength() throws java.sql.SQLException
getMaxUserNameLength
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public int getDefaultTransactionIsolation() throws java.sql.SQLException
getDefaultTransactionIsolation
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean supportsTransactions() throws java.sql.SQLException
commit
is a noop, and the isolation level is
TRANSACTION_NONE
.supportsTransactions
in interface java.sql.DatabaseMetaData
true
if transactions are supported; false
otherwisejava.sql.SQLException
- if a database access error occurspublic boolean supportsTransactionIsolationLevel(int level) throws java.sql.SQLException
supportsTransactionIsolationLevel
in interface java.sql.DatabaseMetaData
level
- one of the transaction isolation levels defined in java.sql.Connection
true
if so; false
otherwisejava.sql.SQLException
- if a database access error occursConnection
public boolean supportsDataDefinitionAndDataManipulationTransactions() throws java.sql.SQLException
supportsDataDefinitionAndDataManipulationTransactions
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean supportsDataManipulationTransactionsOnly() throws java.sql.SQLException
supportsDataManipulationTransactionsOnly
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean dataDefinitionCausesTransactionCommit() throws java.sql.SQLException
dataDefinitionCausesTransactionCommit
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean dataDefinitionIgnoredInTransactions() throws java.sql.SQLException
dataDefinitionIgnoredInTransactions
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public java.sql.ResultSet getProcedures(java.lang.String catalog, java.lang.String schemaPattern, java.lang.String procedureNamePattern) throws java.sql.SQLException
PROCEDURE_CAT
,
PROCEDURE_SCHEM
, PROCEDURE_NAME
and SPECIFIC_ NAME
.
Each procedure description has the the following columns:
=>
procedure catalog (may be
null
) =>
procedure schema (may be null
) =>
procedure name =>
explanatory comment on the procedure =>
kind of procedure: =>
The name which uniquely identifies this procedure within its schema.
getProcedures
getProcedures
in interface java.sql.DatabaseMetaData
catalog
- a catalog name; must match the catalog name as it is stored in the database;
"" retrieves those without a catalog;
null
means that the catalog name should not be used to narrow the searchschemaPattern
- a schema name pattern; must match the schema name as it is stored in the database;
"" retrieves those without a schema;
null
means that the schema name should not be used to narrow the searchprocedureNamePattern
- a procedure name pattern; must match the procedure name as it is stored in the databaseResultSet
- each row is a procedure descriptionjava.sql.SQLException
- if a database access error occursgetSearchStringEscape()
private boolean haveInformationSchemaParameters()
public java.sql.ResultSet getProcedureColumns(java.lang.String catalog, java.lang.String schemaPattern, java.lang.String procedureNamePattern, java.lang.String columnNamePattern) throws java.sql.SQLException
Only descriptions matching the schema, procedure and parameter name criteria are returned. They are ordered by PROCEDURE_CAT, PROCEDURE_SCHEM, PROCEDURE_NAME and SPECIFIC_NAME. Within this, the return value, if any, is first. Next are the parameter descriptions in call order. The column descriptions follow in column number order.
Each row in the ResultSet
is a parameter description or column description with the following fields:
=>
procedure catalog (may be null
) =>
procedure
schema (may be null
) =>
procedure name =>
column/parameter name =>
kind of column/parameter: ResultSet
=>
SQL
type from java.sql.Types =>
SQL type name, for a UDT type the type name is fully qualified
=>
precision =>
length in bytes of data =>
scale
- null is returned for data types where SCALE is not applicable. =>
radix =>
can it contain NULL. =>
comment describing parameter/column
=>
default value for the column, which should be interpreted as a string when the value is enclosed in
single quotes (may be null
) =>
reserved for future use =>
reserved for future use =>
the maximum length of binary and character based columns. For any other
datatype the returned value is a NULL =>
the ordinal position, starting from 1, for the input and
output parameters for a procedure. A value of 0 is returned if this row describes the procedure's return value. For result set columns, it is
the ordinal position of the column in the result set starting from 1. If there are multiple result sets, the column ordinal positions are
implementation defined. =>
ISO rules are used to determine the nullability for a column. =>
the name which uniquely identifies this procedure within its schema. Note: Some databases may not return the column descriptions for a procedure.
The PRECISION column represents the specified column size for the given column. For numeric data, this is the maximum precision. For character data, this is the length in characters. For datetime datatypes, this is the length in characters of the String representation (assuming the maximum allowed precision of the fractional seconds component). For binary data, this is the length in bytes. For the ROWID datatype, this is the length in bytes. Null is returned for data types where the column size is not applicable.
getProcedureColumns
in interface java.sql.DatabaseMetaData
catalog
- a catalog name; must match the catalog name as it is stored in the database; ""
retrieves those without a catalog;
null
means that the catalog name should not be used to narrow the searchschemaPattern
- a schema name pattern; must match the schema name as it is stored in the database;
"" retrieves those without a schema;
null
means that the schema name should not be used to narrow the searchprocedureNamePattern
- a procedure name pattern; must match the procedure name as it is stored in the databasecolumnNamePattern
- a column name pattern; must match the column name as it is stored in the databaseResultSet
- each row describes a stored procedure parameter or columnjava.sql.SQLException
- if a database access error occursgetSearchStringEscape()
public java.sql.ResultSet getFunctionColumns(java.lang.String catalog, java.lang.String schemaPattern, java.lang.String functionNamePattern, java.lang.String columnNamePattern) throws java.sql.SQLException
Only descriptions matching the schema, function and parameter name criteria are returned. They are ordered by FUNCTION_CAT
,
FUNCTION_SCHEM
, FUNCTION_NAME
and SPECIFIC_ NAME
. Within this, the return value, if any, is first. Next
are the parameter descriptions in call order. The column descriptions follow in column number order.
Each row in the ResultSet
is a parameter description, column description or return type description with the following fields:
=>
function catalog (may be null
) =>
function
schema (may be null
) =>
function name. This is the name used to invoke the function
=>
column/parameter name =>
kind of column/parameter: ResultSet
=>
SQL type from java.sql.Types =>
SQL
type name, for a UDT type the type name is fully qualified =>
precision =>
length in bytes of data =>
scale - null is returned for data types where SCALE is not applicable.
=>
radix =>
can it contain NULL. =>
comment describing column/parameter =>
the maximum length of binary and character based
parameters or columns. For any other datatype the returned value is a NULL =>
the ordinal position,
starting from 1, for the input and output parameters. A value of 0 is returned if this row describes the function's return value. For result
set columns, it is the ordinal position of the column in the result set starting from 1. =>
ISO rules
are used to determine the nullability for a parameter or column. =>
the name which uniquely identifies this function within its schema. This is a user
specified, or DBMS generated, name that may be different then the FUNCTION_NAME
for example with overload functions The PRECISION column represents the specified column size for the given parameter or column. For numeric data, this is the maximum precision. For character data, this is the length in characters. For datetime datatypes, this is the length in characters of the String representation (assuming the maximum allowed precision of the fractional seconds component). For binary data, this is the length in bytes. For the ROWID datatype, this is the length in bytes. Null is returned for data types where the column size is not applicable.
getFunctionColumns
in interface java.sql.DatabaseMetaData
catalog
- a catalog name; must match the catalog name as it is stored in the database;
"" retrieves those without a catalog;
null
means that the catalog name should not be used to narrow the searchschemaPattern
- a schema name pattern; must match the schema name as it is stored in the database;
"" retrieves those without a schema;
null
means that the schema name should not be used to narrow the searchfunctionNamePattern
- a procedure name pattern; must match the function name as it is stored in the databasecolumnNamePattern
- a parameter name pattern; must match the parameter or column name as it is stored in the databaseResultSet
- each row describes a user function parameter, column or return typejava.sql.SQLException
- if a database access error occursgetSearchStringEscape()
public java.sql.ResultSet getSchemas() throws java.sql.SQLException
getSchemas
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public java.sql.ResultSet getSchemas(java.lang.String catalog, java.lang.String schemaPattern) throws java.sql.SQLException
getSchemas
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public java.sql.ResultSet getCatalogs() throws java.sql.SQLException
getCatalogs
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public java.sql.ResultSet getTableTypes() throws java.sql.SQLException
getTableTypes
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public java.sql.ResultSet getColumnPrivileges(java.lang.String catalog, java.lang.String schema, java.lang.String table, java.lang.String columnNamePattern) throws java.sql.SQLException
Only privileges matching the column name criteria are returned. They are ordered by COLUMN_NAME and PRIVILEGE.
Each privilege description has the following columns:
=>
table catalog (may be null
)
=>
table schema (may be null
) =>
table name
=>
column name =>
grantor of access (may be null
)
=>
grantee of access =>
name of access (SELECT, INSERT, UPDATE,
REFRENCES, ...) =>
"YES" if grantee is permitted to grant to others; "NO" if not; null
if
unknown getColumnPrivileges
in interface java.sql.DatabaseMetaData
catalog
- a catalog name; must match the catalog name as it is stored in the database; ""
retrieves those without a catalog;
null
means that the catalog name should not be used to narrow the searchschema
- a schema name; must match the schema name as it is stored in the database; "" retrieves
those without a schema; null
means that the schema name should not be used to narrow the searchtable
- a table name; must match the table name as it is stored in the databasecolumnNamePattern
- a column name pattern; must match the column name as it is stored in the databaseResultSet
- each row is a column privilege descriptionjava.sql.SQLException
- if a database access error occursgetSearchStringEscape()
public java.sql.ResultSet getTablePrivileges(java.lang.String catalog, java.lang.String schemaPattern, java.lang.String tableNamePattern) throws java.sql.SQLException
Only privileges matching the schema and table name criteria are returned. They are ordered by TABLE_CAT
,
TABLE_SCHEM
, TABLE_NAME
, and PRIVILEGE
.
Each privilege description has the following columns:
=>
table catalog (may be null
)
=>
table schema (may be null
) =>
table name
=>
grantor of access (may be null
) =>
grantee of access
=>
name of access (SELECT, INSERT, UPDATE, REFRENCES, ...) =>
"YES"
if grantee is permitted to grant to others; "NO" if not; null
if unknown getTablePrivileges
in interface java.sql.DatabaseMetaData
catalog
- a catalog name; must match the catalog name as it is stored in the database; "" retrieves those without a catalog;
null
means that the catalog name should not be used to narrow the searchschemaPattern
- a schema name pattern; must match the schema name as it is stored in the database; "" retrieves those without a schema;
null
means that the schema name should not be used to narrow the searchtableNamePattern
- a table name pattern; must match the table name as it is stored in the databaseResultSet
- each row is a table privilege descriptionjava.sql.SQLException
- if a database access error occursgetSearchStringEscape()
public java.sql.ResultSet getVersionColumns(java.lang.String catalog, java.lang.String schema, java.lang.String table) throws java.sql.SQLException
Each column description has the following columns:
=>
is not used =>
column name =>
SQL data type from java.sql.Types
=>
Data
source-dependent type name =>
precision =>
length of column value in
bytes =>
scale - Null is returned for data types where DECIMAL_DIGITS is not applicable.
=>
whether this is pseudo column like an Oracle ROWID The COLUMN_SIZE column represents the specified column size for the given column. For numeric data, this is the maximum precision. For character data, this is the length in characters. For datetime datatypes, this is the length in characters of the String representation (assuming the maximum allowed precision of the fractional seconds component). For binary data, this is the length in bytes. For the ROWID datatype, this is the length in bytes. Null is returned for data types where the column size is not applicable.
getVersionColumns
in interface java.sql.DatabaseMetaData
catalog
- a catalog name; must match the catalog name as it is stored in the database; "" retrieves those
without a catalog;null
means that the catalog name should not be used to narrow the
searchschema
- a schema name; must match the schema name as it is stored in the database; "" retrieves those
without a schema; null
means that the schema name should not be used to narrow the
searchtable
- a table name; must match the table name as it is stored in the databaseResultSet
object in which each row is a column descriptionjava.sql.SQLException
- if a database access error occurspublic java.sql.ResultSet getCrossReference(java.lang.String parentCatalog, java.lang.String parentSchema, java.lang.String parentTable, java.lang.String foreignCatalog, java.lang.String foreignSchema, java.lang.String foreignTable) throws java.sql.SQLException
Each foreign key column description has the following columns:
=>
parent key table catalog (may
be null
) =>
parent key table schema (may be null
) =>
parent key table name =>
parent key column name =>
foreign key table catalog (may be null
) being exported (may be null
) =>
foreign key table schema (may be null
) being exported (may be null
) =>
foreign
key table name being exported =>
foreign key column name being exported =>
sequence number within foreign key( a value of 1 represents the first column of the foreign key, a value of 2 would represent the second
column within the foreign key). =>
What happens to foreign key when parent key is updated: NULL
if its parent key has been updated =>
What happens to the foreign key when parent key is deleted. NULL
if its primary key has been deleted =>
foreign key name (may be null
) =>
parent key name
(may be null
) =>
can the evaluation of foreign key constraints be deferred until commit
getCrossReference
in interface java.sql.DatabaseMetaData
parentCatalog
- a catalog name; must match the catalog name as it is stored in the database; "" retrieves those without a catalog;
null
means drop catalog name from the selection criteriaparentSchema
- a schema name; must match the schema name as it is stored in the database; "" retrieves those without a schema;
null
means drop schema name from the selection criteriaparentTable
- the name of the table that exports the key; must match the table name as it is stored in the databaseforeignCatalog
- a catalog name; must match the catalog name as it is stored in the database; "" retrieves those without a catalog;
null
means drop catalog name from the selection criteriaforeignSchema
- a schema name; must match the schema name as it is stored in the database; "" retrieves those without a schema;
null
means drop schema name from the selection criteriaforeignTable
- the name of the table that imports the key; must match the table name as it is stored in the databaseResultSet
- each row is a foreign key column descriptionjava.sql.SQLException
- if a database access error occursgetImportedKeys(java.lang.String, java.lang.String, java.lang.String)
public java.sql.ResultSet getTypeInfo() throws java.sql.SQLException
If the database supports SQL distinct types, then getTypeInfo() will return a single row with a TYPE_NAME of DISTINCT and a DATA_TYPE of Types.DISTINCT. If the database supports SQL structured types, then getTypeInfo() will return a single row with a TYPE_NAME of STRUCT and a DATA_TYPE of Types.STRUCT.
If SQL distinct or structured types are supported, then information on the individual types may be obtained from the getUDTs() method.
Each type description has the following columns:
=>
Type name
=>
SQL data type from java.sql.Types
=>
maximum precision
=>
prefix used to quote a literal (may be null
)
=>
suffix used to quote a literal (may be null
)
=>
parameters used in creating the type (may be null
)
=>
can you use NULL for this type.
=>
is it case sensitive.
=>
can you use "WHERE" based on this type:
=>
is it unsigned.
=>
can it be a money value.
=>
can it be used for an auto-increment value.
=>
localized version of type name (may be null
)
=>
minimum scale supported
=>
maximum scale supported
=>
unused
=>
unused
=>
usually 2 or 10 The PRECISION column represents the maximum column size that the server supports for the given datatype. For numeric data, this is the maximum precision. For character data, this is the length in characters. For datetime datatypes, this is the length in characters of the String representation (assuming the maximum allowed precision of the fractional seconds component). For binary data, this is the length in bytes. For the ROWID datatype, this is the length in bytes. Null is returned for data types where the column size is not applicable.
getTypeInfo
in interface java.sql.DatabaseMetaData
ResultSet
object in which each row is an SQL type descriptionjava.sql.SQLException
- if a database access error occurspublic java.sql.ResultSet getIndexInfo(java.lang.String catalog, java.lang.String schema, java.lang.String table, boolean unique, boolean approximate) throws java.sql.SQLException
Each index column description has the following columns:
=>
table catalog (may be null
)=>
table schema (may be null
)=>
table name=>
Can index values be non-unique. false when TYPE is
tableIndexStatistic=>
index catalog (may be null
); null
when TYPE is tableIndexStatistic=>
index name; null
when TYPE is tableIndexStatistic=>
index type:
=>
column sequence number within index; zero when TYPE is
tableIndexStatistic=>
column name; null
when TYPE
is tableIndexStatistic=>
column sort sequence, "A" =>
ascending, "D" =>
descending, may be null
if sort sequence is not supported; null
when TYPE is
tableIndexStatistic=>
When TYPE is
tableIndexStatistic, then this is the number of rows in the table; otherwise, it is the number of unique values
in the index.=>
When TYPE is tableIndexStatisic then this is the number of pages used for the
table, otherwise it is the
number of pages used for the current index.=>
Filter condition, if any. (may be null
)getIndexInfo
in interface java.sql.DatabaseMetaData
catalog
- a catalog name; must match the catalog name as it is stored in this database; "" retrieves
those without a catalog; null
means that the catalog name should not be used to
narrow the searchschema
- a schema name; must match the schema name as it is stored in this database; "" retrieves
those without a schema; null
means that the schema name should not be used to
narrow the searchtable
- a table name; must match the table name as it is stored in this databaseunique
- when true, return only indices for unique values; when false, return indices regardless of
whether unique or notapproximate
- when true, result is allowed to reflect approximate or out of data values; when false,
results are requested to be accurateResultSet
- each row is an index column descriptionjava.sql.SQLException
- if a database access error occurspublic boolean supportsResultSetType(int type) throws java.sql.SQLException
supportsResultSetType
in interface java.sql.DatabaseMetaData
type
- one of the following ResultSet
constants:
ResultSet.TYPE_FORWARD_ONLY
ResultSet.TYPE_SCROLL_INSENSITIVE
ResultSet.TYPE_SCROLL_SENSITIVE
java.sql.SQLException
- cannot occur herepublic boolean supportsResultSetConcurrency(int type, int concurrency) throws java.sql.SQLException
supportsResultSetConcurrency
in interface java.sql.DatabaseMetaData
type
- one of the following ResultSet
constants:
ResultSet.TYPE_FORWARD_ONLY
ResultSet.TYPE_SCROLL_INSENSITIVE
ResultSet.TYPE_SCROLL_SENSITIVE
concurrency
- one of the following ResultSet
constants:
ResultSet.CONCUR_READ_ONLY
ResultSet.CONCUR_UPDATABLE
java.sql.SQLException
- cannot occur herepublic boolean ownUpdatesAreVisible(int type) throws java.sql.SQLException
ownUpdatesAreVisible
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean ownDeletesAreVisible(int type) throws java.sql.SQLException
ownDeletesAreVisible
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean ownInsertsAreVisible(int type) throws java.sql.SQLException
ownInsertsAreVisible
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean othersUpdatesAreVisible(int type) throws java.sql.SQLException
othersUpdatesAreVisible
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean othersDeletesAreVisible(int type) throws java.sql.SQLException
othersDeletesAreVisible
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean othersInsertsAreVisible(int type) throws java.sql.SQLException
othersInsertsAreVisible
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean updatesAreDetected(int type) throws java.sql.SQLException
updatesAreDetected
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean deletesAreDetected(int type) throws java.sql.SQLException
deletesAreDetected
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean insertsAreDetected(int type) throws java.sql.SQLException
insertsAreDetected
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean supportsBatchUpdates() throws java.sql.SQLException
supportsBatchUpdates
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public java.sql.ResultSet getUDTs(java.lang.String catalog, java.lang.String schemaPattern, java.lang.String typeNamePattern, int[] types) throws java.sql.SQLException
JAVA_OBJECT
, STRUCT
, or DISTINCT
.
Only types matching the catalog, schema, type name and type criteria are returned.
They are ordered by DATA_TYPE
, TYPE_CAT
, TYPE_SCHEM
and
TYPE_NAME
. The type name parameter may be a fully-qualified name.
In this case, the catalog and schemaPattern parameters are ignored.
Each type description has the following columns:
=>
the type's catalog (may be null
)=>
type's schema (may be null
)=>
type name=>
Java class name=>
type value defined in java.sql.Types. One of JAVA_OBJECT, STRUCT,
or DISTINCT=>
explanatory comment on the type=>
type code of the source type of a DISTINCT type or the type that
implements the user-generated reference type of the SELF_REFERENCING_COLUMN of a structured type as defined
in java.sql.Types (null
if DATA_TYPE is not DISTINCT or not STRUCT
with REFERENCE_GENERATION = USER_DEFINED)Note: If the driver does not support UDTs, an empty result set is returned.
getUDTs
in interface java.sql.DatabaseMetaData
catalog
- a catalog name; must match the catalog name as it is stored in the database; ""
retrieves those without a catalog;
null
means that the catalog name should not be used to narrow the searchschemaPattern
- a schema pattern name; must match the schema name as it is stored in the database; ""
retrieves those without a schema;
null
means that the schema name should not be used to narrow the searchtypeNamePattern
- a type name pattern; must match the type name as it is stored in the database; may be a
fully qualified nametypes
- a list of user-defined types (JAVA_OBJECT, STRUCT, or DISTINCT) to include;
null
returns all typesResultSet
object in which each row describes a UDTjava.sql.SQLException
- if a database access error occursgetSearchStringEscape()
public java.sql.Connection getConnection() throws java.sql.SQLException
getConnection
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean supportsSavepoints() throws java.sql.SQLException
supportsSavepoints
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean supportsNamedParameters() throws java.sql.SQLException
supportsNamedParameters
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean supportsMultipleOpenResults() throws java.sql.SQLException
supportsMultipleOpenResults
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean supportsGetGeneratedKeys() throws java.sql.SQLException
supportsGetGeneratedKeys
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public java.sql.ResultSet getSuperTypes(java.lang.String catalog, java.lang.String schemaPattern, java.lang.String typeNamePattern) throws java.sql.SQLException
ResultSet
object returned by this method describes
the designated UDT and a direct supertype. A row has the following columns:
=>
the UDT's catalog (may
be null
) =>
UDT's schema (may be null
)
=>
type name of the UDT =>
the direct super type's catalog (may be null
)
=>
the direct super type's schema (may be null
)
=>
the direct super type's name Note: If the driver does not support type hierarchies, an empty result set is returned.
getSuperTypes
in interface java.sql.DatabaseMetaData
catalog
- a catalog name; "" retrieves those without a catalog; null
means drop
catalog name from the selection criteriaschemaPattern
- a schema name pattern; "" retrieves those without a schematypeNamePattern
- a UDT name pattern; may be a fully-qualified nameResultSet
object in which a row gives information about the designated UDTjava.sql.SQLException
- if a database access error occursgetSearchStringEscape()
public java.sql.ResultSet getSuperTables(java.lang.String catalog, java.lang.String schemaPattern, java.lang.String tableNamePattern) throws java.sql.SQLException
Only supertable information for tables matching the catalog, schema and table name are returned. The table name parameter may be a fully-qualified name, in which case, the catalog and schemaPattern parameters are ignored. If a table does not have a super table, it is not listed here. Supertables have to be defined in the same catalog and schema as the sub tables. Therefore, the type description does not need to include this information for the supertable.
Each type description has the following columns:
=>
the type's
catalog (may be null
)
=>
type's schema (may be null
) =>
type name
=>
the direct super type's name Note: If the driver does not support type hierarchies, an empty result set is returned.
getSuperTables
in interface java.sql.DatabaseMetaData
catalog
- a catalog name; "" retrieves those without a catalog; null
means drop
catalog name from the selection criteriaschemaPattern
- a schema name pattern; "" retrieves those without a schematableNamePattern
- a table name pattern; may be a fully-qualified nameResultSet
object in which each row is a type descriptionjava.sql.SQLException
- if a database access error occursgetSearchStringEscape()
public java.sql.ResultSet getAttributes(java.lang.String catalog, java.lang.String schemaPattern, java.lang.String typeNamePattern, java.lang.String attributeNamePattern) throws java.sql.SQLException
TYPE_CAT
, TYPE_SCHEM
, TYPE_NAME
and
ORDINAL_POSITION
. This description does not contain inherited attributes.
The ResultSet
object that is returned has the following columns: =>
type catalog (may be null
) =>
type schema
(may be null
) =>
type name =>
attribute name =>
attribute type SQL type from java.sql.Types
=>
Data source dependent type name. For a UDT, the type name is fully
qualified. For a REF, the type name is fully qualified and represents the target type of the reference type.
=>
column size. For char or date types this is the maximum number of
characters; for numeric or decimal types this is precision. =>
the number
of fractional digits. Null is returned for data types where DECIMAL_DIGITS is not applicable.
=>
Radix (typically either 10 or 2) =>
whether NULL is allowed =>
comment describing column (may be null
)
=>
default value (may benull
)
=>
unused =>
unused
=>
for char types the maximum number of bytes in the column
=>
index of the attribute in the UDT (starting at 1)
=>
ISO rules are used to determine the nullability for a attribute.
=>
catalog of table that is the scope of a reference attribute
(null
if DATA_TYPE isn't REF)
=>
schema of table that is the scope of a reference attribute
(null
if DATA_TYPE isn't REF)
=>
table name that is the scope of a reference attribute
(null
if the DATA_TYPE isn't REF)
=>
source type of a distinct type or user-generated Ref
type,SQL type from java.sql.Types (null
if DATA_TYPE isn't DISTINCT or user-generated REF)
getAttributes
in interface java.sql.DatabaseMetaData
catalog
- a catalog name; must match the catalog name as it is stored in the database;
"" retrieves those without a catalog; null
means that the catalog name
should not be used to narrow the searchschemaPattern
- a schema name pattern; must match the schema name as it is stored in the database;
"" retrieves those without a schema; null
means that the schema name
should not be used to narrow the searchtypeNamePattern
- a type name pattern; must match the type name as it is stored in the databaseattributeNamePattern
- an attribute name pattern; must match the attribute name as it is declared in the
databaseResultSet
object in which each row is an attribute descriptionjava.sql.SQLException
- if a database access error occursgetSearchStringEscape()
public boolean supportsResultSetHoldability(int holdability) throws java.sql.SQLException
supportsResultSetHoldability
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public int getResultSetHoldability() throws java.sql.SQLException
getResultSetHoldability
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public int getDatabaseMajorVersion() throws java.sql.SQLException
getDatabaseMajorVersion
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public int getDatabaseMinorVersion() throws java.sql.SQLException
getDatabaseMinorVersion
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public int getJDBCMajorVersion() throws java.sql.SQLException
getJDBCMajorVersion
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public int getJDBCMinorVersion() throws java.sql.SQLException
getJDBCMinorVersion
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public int getSQLStateType() throws java.sql.SQLException
getSQLStateType
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean locatorsUpdateCopy() throws java.sql.SQLException
locatorsUpdateCopy
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean supportsStatementPooling() throws java.sql.SQLException
supportsStatementPooling
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public java.sql.RowIdLifetime getRowIdLifetime() throws java.sql.SQLException
getRowIdLifetime
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean supportsStoredFunctionsUsingCallSyntax() throws java.sql.SQLException
supportsStoredFunctionsUsingCallSyntax
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean autoCommitFailureClosesAllResultSets() throws java.sql.SQLException
autoCommitFailureClosesAllResultSets
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public java.sql.ResultSet getClientInfoProperties() throws java.sql.SQLException
getClientInfoProperties
in interface java.sql.DatabaseMetaData
java.sql.SQLException
- if connection error occurpublic java.sql.ResultSet getFunctions(java.lang.String catalog, java.lang.String schemaPattern, java.lang.String functionNamePattern) throws java.sql.SQLException
FUNCTION_CAT
, FUNCTION_SCHEM
, FUNCTION_NAME
and
SPECIFIC_ NAME
.
Each function description has the the following columns:
=>
function catalog (may be null
) =>
function schema (may be
null
) =>
function name.
This is the name used to invoke the function =>
explanatory comment on the
function =>
kind of function: =>
the name which uniquely identifies this function within its schema. This is a user specified,
or DBMS generated, name that may be different then the FUNCTION_NAME
for example with overload
functions getFunctions
getFunctions
in interface java.sql.DatabaseMetaData
catalog
- a catalog name; must match the catalog name as it is stored in the database; ""
retrieves those without a catalog; null
means that the catalog name
should not be used to narrow the searchschemaPattern
- a schema name pattern; must match the schema name as it is stored in the database; ""
retrieves those without a schema; null
means that the schema name should
not be used to narrow the searchfunctionNamePattern
- a function name pattern; must match the function name as it is stored in the databaseResultSet
- each row is a function descriptionjava.sql.SQLException
- if a database access error occursgetSearchStringEscape()
public <T> T unwrap(java.lang.Class<T> iface) throws java.sql.SQLException
unwrap
in interface java.sql.Wrapper
java.sql.SQLException
public boolean isWrapperFor(java.lang.Class<?> iface) throws java.sql.SQLException
isWrapperFor
in interface java.sql.Wrapper
java.sql.SQLException
public long getMaxLogicalLobSize() throws java.sql.SQLException
getMaxLogicalLobSize
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean supportsRefCursors() throws java.sql.SQLException
supportsRefCursors
in interface java.sql.DatabaseMetaData
java.sql.SQLException