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.DatabaseMetaDatacatalog - 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.ParseExceptionprivate static int parseIdentifierList(char[] part,
int startPos,
java.util.List<Identifier> list)
throws java.text.ParseException
java.text.ParseExceptionprivate static int skipKeyword(char[] part,
int startPos,
java.lang.String keyword)
throws java.text.ParseException
java.text.ParseExceptionprivate 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.SQLExceptionprivate 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.DatabaseMetaDatacatalog - 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.DatabaseMetaDatacatalog - 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.DatabaseMetaDatacatalog - 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.DatabaseMetaDatacatalog - 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.Exceptionpublic 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.DatabaseMetaDatacatalog - 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.DatabaseMetaDatajava.sql.SQLExceptionpublic 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.DatabaseMetaDatacatalog - 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 occursPseudoColumnUsagepublic boolean allProceduresAreCallable()
throws java.sql.SQLException
allProceduresAreCallable in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic boolean allTablesAreSelectable()
throws java.sql.SQLException
allTablesAreSelectable in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic java.lang.String getURL()
throws java.sql.SQLException
getURL in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic java.lang.String getUserName()
throws java.sql.SQLException
getUserName in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic boolean isReadOnly()
throws java.sql.SQLException
isReadOnly in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic boolean nullsAreSortedHigh()
throws java.sql.SQLException
nullsAreSortedHigh in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic boolean nullsAreSortedLow()
throws java.sql.SQLException
nullsAreSortedLow in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic boolean nullsAreSortedAtStart()
throws java.sql.SQLException
nullsAreSortedAtStart in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic boolean nullsAreSortedAtEnd()
throws java.sql.SQLException
nullsAreSortedAtEnd in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic java.lang.String getDatabaseProductName()
throws java.sql.SQLException
getDatabaseProductName in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic java.lang.String getDatabaseProductVersion()
throws java.sql.SQLException
getDatabaseProductVersion in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic java.lang.String getDriverName()
throws java.sql.SQLException
getDriverName in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic java.lang.String getDriverVersion()
throws java.sql.SQLException
getDriverVersion in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic int getDriverMajorVersion()
getDriverMajorVersion in interface java.sql.DatabaseMetaDatapublic int getDriverMinorVersion()
getDriverMinorVersion in interface java.sql.DatabaseMetaDatapublic boolean usesLocalFiles()
throws java.sql.SQLException
usesLocalFiles in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic boolean usesLocalFilePerTable()
throws java.sql.SQLException
usesLocalFilePerTable in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic boolean supportsMixedCaseIdentifiers()
throws java.sql.SQLException
supportsMixedCaseIdentifiers in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic boolean storesUpperCaseIdentifiers()
throws java.sql.SQLException
storesUpperCaseIdentifiers in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic boolean storesLowerCaseIdentifiers()
throws java.sql.SQLException
storesLowerCaseIdentifiers in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic boolean storesMixedCaseIdentifiers()
throws java.sql.SQLException
storesMixedCaseIdentifiers in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic boolean supportsMixedCaseQuotedIdentifiers()
throws java.sql.SQLException
supportsMixedCaseQuotedIdentifiers in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic boolean storesUpperCaseQuotedIdentifiers()
throws java.sql.SQLException
storesUpperCaseQuotedIdentifiers in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic boolean storesLowerCaseQuotedIdentifiers()
throws java.sql.SQLException
storesLowerCaseQuotedIdentifiers in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic boolean storesMixedCaseQuotedIdentifiers()
throws java.sql.SQLException
storesMixedCaseQuotedIdentifiers in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic java.lang.String getIdentifierQuoteString()
throws java.sql.SQLException
getIdentifierQuoteString in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic java.lang.String getSQLKeywords()
throws java.sql.SQLException
getSQLKeywords in interface java.sql.DatabaseMetaDatajava.sql.SQLException - if a database access error occurspublic java.lang.String getNumericFunctions()
getNumericFunctions in interface java.sql.DatabaseMetaDatapublic java.lang.String getStringFunctions()
getStringFunctions in interface java.sql.DatabaseMetaDatapublic java.lang.String getSystemFunctions()
getSystemFunctions in interface java.sql.DatabaseMetaDatapublic java.lang.String getTimeDateFunctions()
getTimeDateFunctions in interface java.sql.DatabaseMetaDatapublic java.lang.String getSearchStringEscape()
throws java.sql.SQLException
getSearchStringEscape in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic java.lang.String getExtraNameCharacters()
throws java.sql.SQLException
getExtraNameCharacters in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic boolean supportsAlterTableWithAddColumn()
throws java.sql.SQLException
supportsAlterTableWithAddColumn in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic boolean supportsAlterTableWithDropColumn()
throws java.sql.SQLException
supportsAlterTableWithDropColumn in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic boolean supportsColumnAliasing()
throws java.sql.SQLException
supportsColumnAliasing in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic boolean nullPlusNonNullIsNull()
throws java.sql.SQLException
nullPlusNonNullIsNull in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic boolean supportsConvert()
throws java.sql.SQLException
supportsConvert in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic boolean supportsConvert(int fromType,
int toType)
throws java.sql.SQLException
supportsConvert in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic boolean supportsTableCorrelationNames()
throws java.sql.SQLException
supportsTableCorrelationNames in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic boolean supportsDifferentTableCorrelationNames()
throws java.sql.SQLException
supportsDifferentTableCorrelationNames in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic boolean supportsExpressionsInOrderBy()
throws java.sql.SQLException
supportsExpressionsInOrderBy in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic boolean supportsOrderByUnrelated()
throws java.sql.SQLException
supportsOrderByUnrelated in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic boolean supportsGroupBy()
throws java.sql.SQLException
supportsGroupBy in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic boolean supportsGroupByUnrelated()
throws java.sql.SQLException
supportsGroupByUnrelated in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic boolean supportsGroupByBeyondSelect()
throws java.sql.SQLException
supportsGroupByBeyondSelect in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic boolean supportsLikeEscapeClause()
throws java.sql.SQLException
supportsLikeEscapeClause in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic boolean supportsMultipleResultSets()
throws java.sql.SQLException
supportsMultipleResultSets in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic boolean supportsMultipleTransactions()
throws java.sql.SQLException
supportsMultipleTransactions in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic boolean supportsNonNullableColumns()
throws java.sql.SQLException
supportsNonNullableColumns in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic boolean supportsMinimumSQLGrammar()
throws java.sql.SQLException
supportsMinimumSQLGrammar in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic boolean supportsCoreSQLGrammar()
throws java.sql.SQLException
supportsCoreSQLGrammar in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic boolean supportsExtendedSQLGrammar()
throws java.sql.SQLException
supportsExtendedSQLGrammar in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic boolean supportsANSI92EntryLevelSQL()
throws java.sql.SQLException
supportsANSI92EntryLevelSQL in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic boolean supportsANSI92IntermediateSQL()
throws java.sql.SQLException
supportsANSI92IntermediateSQL in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic boolean supportsANSI92FullSQL()
throws java.sql.SQLException
supportsANSI92FullSQL in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic boolean supportsIntegrityEnhancementFacility()
throws java.sql.SQLException
supportsIntegrityEnhancementFacility in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic boolean supportsOuterJoins()
throws java.sql.SQLException
supportsOuterJoins in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic boolean supportsFullOuterJoins()
throws java.sql.SQLException
supportsFullOuterJoins in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic boolean supportsLimitedOuterJoins()
throws java.sql.SQLException
supportsLimitedOuterJoins in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic java.lang.String getSchemaTerm()
throws java.sql.SQLException
getSchemaTerm in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic java.lang.String getProcedureTerm()
throws java.sql.SQLException
getProcedureTerm in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic java.lang.String getCatalogTerm()
throws java.sql.SQLException
getCatalogTerm in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic boolean isCatalogAtStart()
throws java.sql.SQLException
isCatalogAtStart in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic java.lang.String getCatalogSeparator()
throws java.sql.SQLException
getCatalogSeparator in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic boolean supportsSchemasInDataManipulation()
throws java.sql.SQLException
supportsSchemasInDataManipulation in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic boolean supportsSchemasInProcedureCalls()
throws java.sql.SQLException
supportsSchemasInProcedureCalls in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic boolean supportsSchemasInTableDefinitions()
throws java.sql.SQLException
supportsSchemasInTableDefinitions in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic boolean supportsSchemasInIndexDefinitions()
throws java.sql.SQLException
supportsSchemasInIndexDefinitions in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic boolean supportsSchemasInPrivilegeDefinitions()
throws java.sql.SQLException
supportsSchemasInPrivilegeDefinitions in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic boolean supportsCatalogsInDataManipulation()
throws java.sql.SQLException
supportsCatalogsInDataManipulation in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic boolean supportsCatalogsInProcedureCalls()
throws java.sql.SQLException
supportsCatalogsInProcedureCalls in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic boolean supportsCatalogsInTableDefinitions()
throws java.sql.SQLException
supportsCatalogsInTableDefinitions in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic boolean supportsCatalogsInIndexDefinitions()
throws java.sql.SQLException
supportsCatalogsInIndexDefinitions in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic boolean supportsCatalogsInPrivilegeDefinitions()
throws java.sql.SQLException
supportsCatalogsInPrivilegeDefinitions in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic boolean supportsPositionedDelete()
throws java.sql.SQLException
supportsPositionedDelete in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic boolean supportsPositionedUpdate()
throws java.sql.SQLException
supportsPositionedUpdate in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic boolean supportsSelectForUpdate()
throws java.sql.SQLException
supportsSelectForUpdate in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic boolean supportsStoredProcedures()
throws java.sql.SQLException
supportsStoredProcedures in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic boolean supportsSubqueriesInComparisons()
throws java.sql.SQLException
supportsSubqueriesInComparisons in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic boolean supportsSubqueriesInExists()
throws java.sql.SQLException
supportsSubqueriesInExists in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic boolean supportsSubqueriesInIns()
throws java.sql.SQLException
supportsSubqueriesInIns in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic boolean supportsSubqueriesInQuantifieds()
throws java.sql.SQLException
supportsSubqueriesInQuantifieds in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic boolean supportsCorrelatedSubqueries()
throws java.sql.SQLException
supportsCorrelatedSubqueries in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic boolean supportsUnion()
throws java.sql.SQLException
supportsUnion in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic boolean supportsUnionAll()
throws java.sql.SQLException
supportsUnionAll in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic boolean supportsOpenCursorsAcrossCommit()
throws java.sql.SQLException
supportsOpenCursorsAcrossCommit in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic boolean supportsOpenCursorsAcrossRollback()
throws java.sql.SQLException
supportsOpenCursorsAcrossRollback in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic boolean supportsOpenStatementsAcrossCommit()
throws java.sql.SQLException
supportsOpenStatementsAcrossCommit in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic boolean supportsOpenStatementsAcrossRollback()
throws java.sql.SQLException
supportsOpenStatementsAcrossRollback in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic int getMaxBinaryLiteralLength()
throws java.sql.SQLException
getMaxBinaryLiteralLength in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic int getMaxCharLiteralLength()
throws java.sql.SQLException
getMaxCharLiteralLength in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic int getMaxColumnNameLength()
throws java.sql.SQLException
getMaxColumnNameLength in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic int getMaxColumnsInGroupBy()
throws java.sql.SQLException
getMaxColumnsInGroupBy in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic int getMaxColumnsInIndex()
throws java.sql.SQLException
getMaxColumnsInIndex in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic int getMaxColumnsInOrderBy()
throws java.sql.SQLException
getMaxColumnsInOrderBy in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic int getMaxColumnsInSelect()
throws java.sql.SQLException
getMaxColumnsInSelect in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic int getMaxColumnsInTable()
throws java.sql.SQLException
getMaxColumnsInTable in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic int getMaxConnections()
throws java.sql.SQLException
getMaxConnections in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic int getMaxCursorNameLength()
throws java.sql.SQLException
getMaxCursorNameLength in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic int getMaxIndexLength()
throws java.sql.SQLException
getMaxIndexLength in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic int getMaxSchemaNameLength()
throws java.sql.SQLException
getMaxSchemaNameLength in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic int getMaxProcedureNameLength()
throws java.sql.SQLException
getMaxProcedureNameLength in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic int getMaxCatalogNameLength()
throws java.sql.SQLException
getMaxCatalogNameLength in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic int getMaxRowSize()
throws java.sql.SQLException
getMaxRowSize in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic boolean doesMaxRowSizeIncludeBlobs()
throws java.sql.SQLException
doesMaxRowSizeIncludeBlobs in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic int getMaxStatementLength()
throws java.sql.SQLException
getMaxStatementLength in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic int getMaxStatements()
throws java.sql.SQLException
getMaxStatements in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic int getMaxTableNameLength()
throws java.sql.SQLException
getMaxTableNameLength in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic int getMaxTablesInSelect()
throws java.sql.SQLException
getMaxTablesInSelect in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic int getMaxUserNameLength()
throws java.sql.SQLException
getMaxUserNameLength in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic int getDefaultTransactionIsolation()
throws java.sql.SQLException
getDefaultTransactionIsolation in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic boolean supportsTransactions()
throws java.sql.SQLException
commit is a noop, and the isolation level is
TRANSACTION_NONE.supportsTransactions in interface java.sql.DatabaseMetaDatatrue 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.DatabaseMetaDatalevel - one of the transaction isolation levels defined in java.sql.Connectiontrue if so; false otherwisejava.sql.SQLException - if a database access error occursConnectionpublic boolean supportsDataDefinitionAndDataManipulationTransactions()
throws java.sql.SQLException
supportsDataDefinitionAndDataManipulationTransactions in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic boolean supportsDataManipulationTransactionsOnly()
throws java.sql.SQLException
supportsDataManipulationTransactionsOnly in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic boolean dataDefinitionCausesTransactionCommit()
throws java.sql.SQLException
dataDefinitionCausesTransactionCommit in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic boolean dataDefinitionIgnoredInTransactions()
throws java.sql.SQLException
dataDefinitionIgnoredInTransactions in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic 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.
getProceduresgetProcedures in interface java.sql.DatabaseMetaDatacatalog - 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.DatabaseMetaDatacatalog - 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.DatabaseMetaDatacatalog - 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.DatabaseMetaDatajava.sql.SQLExceptionpublic java.sql.ResultSet getSchemas(java.lang.String catalog,
java.lang.String schemaPattern)
throws java.sql.SQLException
getSchemas in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic java.sql.ResultSet getCatalogs()
throws java.sql.SQLException
getCatalogs in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic java.sql.ResultSet getTableTypes()
throws java.sql.SQLException
getTableTypes in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic 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.DatabaseMetaDatacatalog - 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.DatabaseMetaDatacatalog - 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.DatabaseMetaDatacatalog - 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.DatabaseMetaDataparentCatalog - 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.DatabaseMetaDataResultSet 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.DatabaseMetaDatacatalog - 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.DatabaseMetaDatatype - one of the following ResultSet constants:
ResultSet.TYPE_FORWARD_ONLYResultSet.TYPE_SCROLL_INSENSITIVEResultSet.TYPE_SCROLL_SENSITIVEjava.sql.SQLException - cannot occur herepublic boolean supportsResultSetConcurrency(int type,
int concurrency)
throws java.sql.SQLException
supportsResultSetConcurrency in interface java.sql.DatabaseMetaDatatype - one of the following ResultSet constants:
ResultSet.TYPE_FORWARD_ONLYResultSet.TYPE_SCROLL_INSENSITIVEResultSet.TYPE_SCROLL_SENSITIVEconcurrency - one of the following ResultSet constants:
ResultSet.CONCUR_READ_ONLYResultSet.CONCUR_UPDATABLEjava.sql.SQLException - cannot occur herepublic boolean ownUpdatesAreVisible(int type)
throws java.sql.SQLException
ownUpdatesAreVisible in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic boolean ownDeletesAreVisible(int type)
throws java.sql.SQLException
ownDeletesAreVisible in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic boolean ownInsertsAreVisible(int type)
throws java.sql.SQLException
ownInsertsAreVisible in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic boolean othersUpdatesAreVisible(int type)
throws java.sql.SQLException
othersUpdatesAreVisible in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic boolean othersDeletesAreVisible(int type)
throws java.sql.SQLException
othersDeletesAreVisible in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic boolean othersInsertsAreVisible(int type)
throws java.sql.SQLException
othersInsertsAreVisible in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic boolean updatesAreDetected(int type)
throws java.sql.SQLException
updatesAreDetected in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic boolean deletesAreDetected(int type)
throws java.sql.SQLException
deletesAreDetected in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic boolean insertsAreDetected(int type)
throws java.sql.SQLException
insertsAreDetected in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic boolean supportsBatchUpdates()
throws java.sql.SQLException
supportsBatchUpdates in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic 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.DatabaseMetaDatacatalog - 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.DatabaseMetaDatajava.sql.SQLExceptionpublic boolean supportsSavepoints()
throws java.sql.SQLException
supportsSavepoints in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic boolean supportsNamedParameters()
throws java.sql.SQLException
supportsNamedParameters in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic boolean supportsMultipleOpenResults()
throws java.sql.SQLException
supportsMultipleOpenResults in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic boolean supportsGetGeneratedKeys()
throws java.sql.SQLException
supportsGetGeneratedKeys in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic 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.DatabaseMetaDatacatalog - 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.DatabaseMetaDatacatalog - 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.DatabaseMetaDatacatalog - 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.DatabaseMetaDatajava.sql.SQLExceptionpublic int getResultSetHoldability()
throws java.sql.SQLException
getResultSetHoldability in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic int getDatabaseMajorVersion()
throws java.sql.SQLException
getDatabaseMajorVersion in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic int getDatabaseMinorVersion()
throws java.sql.SQLException
getDatabaseMinorVersion in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic int getJDBCMajorVersion()
throws java.sql.SQLException
getJDBCMajorVersion in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic int getJDBCMinorVersion()
throws java.sql.SQLException
getJDBCMinorVersion in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic int getSQLStateType()
throws java.sql.SQLException
getSQLStateType in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic boolean locatorsUpdateCopy()
throws java.sql.SQLException
locatorsUpdateCopy in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic boolean supportsStatementPooling()
throws java.sql.SQLException
supportsStatementPooling in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic java.sql.RowIdLifetime getRowIdLifetime()
throws java.sql.SQLException
getRowIdLifetime in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic boolean supportsStoredFunctionsUsingCallSyntax()
throws java.sql.SQLException
supportsStoredFunctionsUsingCallSyntax in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic boolean autoCommitFailureClosesAllResultSets()
throws java.sql.SQLException
autoCommitFailureClosesAllResultSets in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic java.sql.ResultSet getClientInfoProperties()
throws java.sql.SQLException
getClientInfoProperties in interface java.sql.DatabaseMetaDatajava.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 getFunctionsgetFunctions in interface java.sql.DatabaseMetaDatacatalog - 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.Wrapperjava.sql.SQLExceptionpublic boolean isWrapperFor(java.lang.Class<?> iface)
throws java.sql.SQLException
isWrapperFor in interface java.sql.Wrapperjava.sql.SQLExceptionpublic long getMaxLogicalLobSize()
throws java.sql.SQLException
getMaxLogicalLobSize in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic boolean supportsRefCursors()
throws java.sql.SQLException
supportsRefCursors in interface java.sql.DatabaseMetaDatajava.sql.SQLException