public class DatabaseMetaData
extends java.lang.Object
implements java.sql.DatabaseMetaData
This class provides information about the database as a whole.
Many of the methods here return lists of information in ResultSets. You can use the normal ResultSet methods such as getString and getInt to retrieve the data from these ResultSets. If a given form of metadata is not available, these methods show throw a SQLException.
Some of these methods take arguments that are String patterns. These methods all have names such as fooPattern. Within a pattern String "%" means match any substring of 0 or more characters and "_" means match any one character.
| Modifier and Type | Class and Description |
|---|---|
protected class |
DatabaseMetaData.ComparableWrapper<K extends java.lang.Object & java.lang.Comparable<? super K>,V>
Helper/wrapper class to provide means of sorting objects by using a sorting key.
|
protected class |
DatabaseMetaData.IndexMetaDataKey
Helper class to provide means of comparing indexes by NON_UNIQUE, TYPE, INDEX_NAME, and ORDINAL_POSITION.
|
protected class |
DatabaseMetaData.IteratorWithCleanup<T> |
(package private) class |
DatabaseMetaData.LocalAndReferencedColumns |
protected static class |
DatabaseMetaData.ProcedureType
Enumeration for Procedure Types
|
protected class |
DatabaseMetaData.ResultSetIterator |
protected class |
DatabaseMetaData.SingleStringIterator |
protected class |
DatabaseMetaData.TableMetaDataKey
Helper class to provide means of comparing tables by TABLE_TYPE, TABLE_CAT, TABLE_SCHEM and TABLE_NAME.
|
protected static class |
DatabaseMetaData.TableType
Enumeration for Table Types
|
(package private) class |
DatabaseMetaData.TypeDescriptor
Parses and represents common data type information used by various
column/parameter methods.
|
| Modifier and Type | Field and Description |
|---|---|
protected MySQLConnection |
conn
The connection to the database
|
protected java.lang.String |
database
The 'current' database name being used
|
protected static int |
MAX_IDENTIFIER_LENGTH |
protected java.lang.String |
quotedId
What character to use when quoting identifiers
|
protected static byte[] |
SYSTEM_TABLE_AS_BYTES |
protected static byte[] |
TABLE_AS_BYTES |
protected static byte[] |
VIEW_AS_BYTES |
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| Modifier | Constructor and Description |
|---|---|
protected |
DatabaseMetaData(MySQLConnection connToSet,
java.lang.String databaseToSet)
Creates a new DatabaseMetaData object.
|
| Modifier and Type | Method and Description |
|---|---|
boolean |
allProceduresAreCallable()
Can all the procedures returned by getProcedures be called by the current
user?
|
boolean |
allTablesAreSelectable()
Can all the tables returned by getTable be SELECTed by the current user?
|
(package private) static java.sql.ResultSet |
buildResultSet(Field[] fields,
java.util.ArrayList<ResultSetRow> rows,
MySQLConnection c) |
protected void |
convertToJdbcFunctionList(java.lang.String catalog,
java.sql.ResultSet proceduresRs,
boolean needsClientFiltering,
java.lang.String db,
java.util.List<DatabaseMetaData.ComparableWrapper<java.lang.String,ResultSetRow>> procedureRows,
int nameIndex,
Field[] fields) |
protected void |
convertToJdbcProcedureList(boolean fromSelect,
java.lang.String catalog,
java.sql.ResultSet proceduresRs,
boolean needsClientFiltering,
java.lang.String db,
java.util.List<DatabaseMetaData.ComparableWrapper<java.lang.String,ResultSetRow>> procedureRows,
int nameIndex) |
protected Field[] |
createColumnsFields() |
protected Field[] |
createFieldMetadataForGetProcedures() |
protected Field[] |
createFkMetadataFields() |
protected Field[] |
createFunctionColumnsFields() |
protected Field[] |
createIndexInfoFields() |
protected Field[] |
createProcedureColumnsFields() |
protected Field[] |
createTablesFields() |
boolean |
dataDefinitionCausesTransactionCommit()
Does a data definition statement within a transaction force the
transaction to commit?
|
boolean |
dataDefinitionIgnoredInTransactions()
Is a data definition statement within a transaction ignored?
|
boolean |
deletesAreDetected(int type)
JDBC 2.0 Determine whether or not a visible row delete can be detected by
calling ResultSet.rowDeleted().
|
boolean |
doesMaxRowSizeIncludeBlobs()
Did getMaxRowSize() include LONGVARCHAR and LONGVARBINARY blobs?
|
java.util.List<ResultSetRow> |
extractForeignKeyForTable(java.util.ArrayList<ResultSetRow> rows,
java.sql.ResultSet rs,
java.lang.String catalog)
Extracts foreign key info for one table.
|
java.sql.ResultSet |
extractForeignKeyFromCreateTable(java.lang.String catalog,
java.lang.String tableName)
Creates a result set similar enough to 'SHOW TABLE STATUS' to allow the
same code to work on extracting the foreign key data
|
boolean |
generatedKeyAlwaysReturned() |
java.sql.ResultSet |
getAttributes(java.lang.String arg0,
java.lang.String arg1,
java.lang.String arg2,
java.lang.String arg3) |
java.sql.ResultSet |
getBestRowIdentifier(java.lang.String catalog,
java.lang.String schema,
java.lang.String table,
int scope,
boolean nullable)
Get a description of a table's optimal set of columns that uniquely
identifies a row.
|
protected DatabaseMetaData.IteratorWithCleanup<java.lang.String> |
getCatalogIterator(java.lang.String catalogSpec) |
java.sql.ResultSet |
getCatalogs()
Get the catalog names available in this database.
|
java.lang.String |
getCatalogSeparator()
What's the separator between catalog and table name?
|
java.lang.String |
getCatalogTerm()
What's the database vendor's preferred term for "catalog"?
|
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)
Get 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)
Get a description of table columns available in a catalog.
|
protected int |
getColumnType(boolean isOutParam,
boolean isInParam,
boolean isReturnParam,
boolean forGetFunctionColumns)
Determines the COLUMN_TYPE information based on parameter type (IN, OUT or INOUT) or function return parameter.
|
java.sql.Connection |
getConnection()
JDBC 2.0 Return the connection that produced this metadata object.
|
java.sql.ResultSet |
getCrossReference(java.lang.String primaryCatalog,
java.lang.String primarySchema,
java.lang.String primaryTable,
java.lang.String foreignCatalog,
java.lang.String foreignSchema,
java.lang.String foreignTable)
Get a description of the foreign key columns in the foreign key table
that reference the primary key columns of the primary key table (describe
how one table imports another's key.)
|
int |
getDatabaseMajorVersion() |
int |
getDatabaseMinorVersion() |
java.lang.String |
getDatabaseProductName()
What's the name of this database product?
|
java.lang.String |
getDatabaseProductVersion()
What's the version of this database product?
|
int |
getDefaultTransactionIsolation()
What's the database's default transaction isolation level?
|
int |
getDriverMajorVersion()
What's this JDBC driver's major version number?
|
int |
getDriverMinorVersion()
What's this JDBC driver's minor version number?
|
java.lang.String |
getDriverName()
What's the name of this JDBC driver?
|
java.lang.String |
getDriverVersion()
What's the version of this JDBC driver?
|
protected ExceptionInterceptor |
getExceptionInterceptor() |
java.sql.ResultSet |
getExportedKeys(java.lang.String catalog,
java.lang.String schema,
java.lang.String table)
Get a description of a foreign key columns that reference a table's
primary key columns (the foreign keys exported by a table).
|
protected void |
getExportKeyResults(java.lang.String catalog,
java.lang.String exportingTable,
java.lang.String keysComment,
java.util.List<ResultSetRow> tuples,
java.lang.String fkTableName)
Adds to the tuples list the exported keys of exportingTable based on the
keysComment from the 'show table status' sql command.
|
java.lang.String |
getExtraNameCharacters()
Get all the "extra" characters that can be used in unquoted identifier
names (those beyond a-z, 0-9 and _).
|
protected int[] |
getForeignKeyActions(java.lang.String commentString)
Returns the DELETE and UPDATE foreign key actions from the given 'SHOW
TABLE STATUS' string, with the DELETE action being the first item in the
array, and the UPDATE action being the second.
|
protected java.lang.String |
getFullyQualifiedName(java.lang.String catalog,
java.lang.String entity)
Builds and returns a fully qualified name, quoted if necessary, for the given catalog and database entity.
|
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()
What's the string used to quote SQL identifiers?
|
java.sql.ResultSet |
getImportedKeys(java.lang.String catalog,
java.lang.String schema,
java.lang.String table)
Get a description of the primary key columns that are referenced by a
table's foreign key columns (the primary keys imported by a table).
|
protected void |
getImportKeyResults(java.lang.String catalog,
java.lang.String importingTable,
java.lang.String keysComment,
java.util.List<ResultSetRow> tuples)
Populates the tuples list with the imported keys of importingTable based
on the keysComment from the 'show table status' sql command.
|
java.sql.ResultSet |
getIndexInfo(java.lang.String catalog,
java.lang.String schema,
java.lang.String table,
boolean unique,
boolean approximate)
Get a description of a table's indices and statistics.
|
protected static DatabaseMetaData |
getInstance(MySQLConnection connToSet,
java.lang.String databaseToSet,
boolean checkForInfoSchema) |
protected int |
getJDBC4FunctionNoTableConstant()
Getter to JDBC4 DatabaseMetaData.functionNoTable constant.
|
int |
getJDBCMajorVersion() |
int |
getJDBCMinorVersion() |
int |
getMaxBinaryLiteralLength()
How many hex characters can you have in an inline binary literal?
|
int |
getMaxCatalogNameLength()
What's the maximum length of a catalog name?
|
int |
getMaxCharLiteralLength()
What's the max length for a character literal?
|
int |
getMaxColumnNameLength()
What's the limit on column name length?
|
int |
getMaxColumnsInGroupBy()
What's the maximum number of columns in a "GROUP BY" clause?
|
int |
getMaxColumnsInIndex()
What's the maximum number of columns allowed in an index?
|
int |
getMaxColumnsInOrderBy()
What's the maximum number of columns in an "ORDER BY" clause?
|
int |
getMaxColumnsInSelect()
What's the maximum number of columns in a "SELECT" list?
|
int |
getMaxColumnsInTable()
What's maximum number of columns in a table?
|
int |
getMaxConnections()
How many active connections can we have at a time to this database?
|
int |
getMaxCursorNameLength()
What's the maximum cursor name length?
|
int |
getMaxIndexLength()
What's the maximum length of an index (in bytes)?
|
int |
getMaxProcedureNameLength()
What's the maximum length of a procedure name?
|
int |
getMaxRowSize()
What's the maximum length of a single row?
|
int |
getMaxSchemaNameLength()
What's the maximum length allowed for a schema name?
|
int |
getMaxStatementLength()
What's the maximum length of a SQL statement?
|
int |
getMaxStatements()
How many active statements can we have open at one time to this database?
|
int |
getMaxTableNameLength()
What's the maximum length of a table name?
|
int |
getMaxTablesInSelect()
What's the maximum number of tables in a SELECT?
|
int |
getMaxUserNameLength()
What's the maximum length of a user name?
|
java.lang.String |
getNumericFunctions()
Get a comma separated list of math functions.
|
java.sql.ResultSet |
getPrimaryKeys(java.lang.String catalog,
java.lang.String schema,
java.lang.String table)
Get a description of a 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)
Get a description of a catalog's stored procedure parameters and result
columns.
|
protected java.sql.ResultSet |
getProcedureOrFunctionColumns(Field[] fields,
java.lang.String catalog,
java.lang.String schemaPattern,
java.lang.String procedureOrFunctionNamePattern,
java.lang.String columnNamePattern,
boolean returnProcedures,
boolean returnFunctions) |
java.sql.ResultSet |
getProcedures(java.lang.String catalog,
java.lang.String schemaPattern,
java.lang.String procedureNamePattern)
Get a description of stored procedures available in a catalog.
|
protected java.sql.ResultSet |
getProceduresAndOrFunctions(Field[] fields,
java.lang.String catalog,
java.lang.String schemaPattern,
java.lang.String procedureNamePattern,
boolean returnProcedures,
boolean returnFunctions) |
java.lang.String |
getProcedureTerm()
What's the database vendor's preferred term for "procedure"?
|
java.sql.ResultSet |
getPseudoColumns(java.lang.String catalog,
java.lang.String schemaPattern,
java.lang.String tableNamePattern,
java.lang.String columnNamePattern)
JDBC-4.1
|
int |
getResultSetHoldability() |
java.sql.ResultSet |
getSchemas()
Get the schema names available in this database.
|
java.sql.ResultSet |
getSchemas(java.lang.String catalog,
java.lang.String schemaPattern) |
java.lang.String |
getSchemaTerm()
What's the database vendor's preferred term for "schema"?
|
java.lang.String |
getSearchStringEscape()
This is the string that can be used to escape '_' or '%' in the string
pattern style catalog search parameters.
|
java.lang.String |
getSQLKeywords()
Get a comma separated list of all a database's SQL keywords that are NOT also SQL92/SQL2003 keywords.
|
int |
getSQLStateType() |
java.lang.String |
getStringFunctions()
Get a comma separated list of string functions.
|
java.sql.ResultSet |
getSuperTables(java.lang.String arg0,
java.lang.String arg1,
java.lang.String arg2) |
java.sql.ResultSet |
getSuperTypes(java.lang.String arg0,
java.lang.String arg1,
java.lang.String arg2) |
java.lang.String |
getSystemFunctions()
Get a comma separated list of system functions.
|
protected java.lang.String |
getTableNameWithCase(java.lang.String table) |
java.sql.ResultSet |
getTablePrivileges(java.lang.String catalog,
java.lang.String schemaPattern,
java.lang.String tableNamePattern)
Get 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)
Get a description of tables available in a catalog.
|
java.sql.ResultSet |
getTableTypes()
Get the table types available in this database.
|
java.lang.String |
getTimeDateFunctions()
Get a comma separated list of time and date functions.
|
java.sql.ResultSet |
getTypeInfo()
Get a description of all the standard SQL types supported by this
database.
|
java.sql.ResultSet |
getUDTs(java.lang.String catalog,
java.lang.String schemaPattern,
java.lang.String typeNamePattern,
int[] types)
JDBC 2.0 Get a description of the user-defined types defined in a
particular schema.
|
java.lang.String |
getURL()
What's the url for this database?
|
java.lang.String |
getUserName()
What's our user name as known to the database?
|
java.sql.ResultSet |
getVersionColumns(java.lang.String catalog,
java.lang.String schema,
java.lang.String table)
Get a description of a table's columns that are automatically updated
when any value in a row is updated.
|
boolean |
insertsAreDetected(int type)
JDBC 2.0 Determine whether or not a visible row insert can be detected by
calling ResultSet.rowInserted().
|
boolean |
isCatalogAtStart()
Does a catalog appear at the start of a qualified table name?
|
boolean |
isReadOnly()
Is the database in read-only mode?
|
boolean |
locatorsUpdateCopy() |
boolean |
nullPlusNonNullIsNull()
Are concatenations between NULL and non-NULL values NULL?
|
boolean |
nullsAreSortedAtEnd()
Are NULL values sorted at the end regardless of sort order?
|
boolean |
nullsAreSortedAtStart()
Are NULL values sorted at the start regardless of sort order?
|
boolean |
nullsAreSortedHigh()
Are NULL values sorted high?
|
boolean |
nullsAreSortedLow()
Are NULL values sorted low?
|
boolean |
othersDeletesAreVisible(int type) |
boolean |
othersInsertsAreVisible(int type) |
boolean |
othersUpdatesAreVisible(int type)
JDBC 2.0 Determine whether changes made by others are visible.
|
boolean |
ownDeletesAreVisible(int type) |
boolean |
ownInsertsAreVisible(int type) |
boolean |
ownUpdatesAreVisible(int type)
JDBC 2.0 Determine whether a result set's own changes visible.
|
protected DatabaseMetaData.LocalAndReferencedColumns |
parseTableStatusIntoLocalAndReferencedColumns(java.lang.String keysComment) |
protected java.sql.PreparedStatement |
prepareMetaDataSafeStatement(java.lang.String sql)
Get a prepared statement to query information_schema tables.
|
boolean |
providesQueryObjectGenerator() |
protected byte[] |
s2b(java.lang.String s)
Converts the given string to bytes, using the connection's character
encoding, or if not available, the JVM default encoding.
|
boolean |
storesLowerCaseIdentifiers()
Does the database store mixed case unquoted SQL identifiers in lower
case?
|
boolean |
storesLowerCaseQuotedIdentifiers()
Does the database store mixed case quoted SQL identifiers in lower case?
|
boolean |
storesMixedCaseIdentifiers()
Does the database store mixed case unquoted SQL identifiers in mixed
case?
|
boolean |
storesMixedCaseQuotedIdentifiers()
Does the database store mixed case quoted SQL identifiers in mixed case?
|
boolean |
storesUpperCaseIdentifiers()
Does the database store mixed case unquoted SQL identifiers in upper
case?
|
boolean |
storesUpperCaseQuotedIdentifiers()
Does the database store mixed case quoted SQL identifiers in upper case?
|
boolean |
supportsAlterTableWithAddColumn()
Is "ALTER TABLE" with add column supported?
|
boolean |
supportsAlterTableWithDropColumn()
Is "ALTER TABLE" with drop column supported?
|
boolean |
supportsANSI92EntryLevelSQL()
Is the ANSI92 entry level SQL grammar supported?
|
boolean |
supportsANSI92FullSQL()
Is the ANSI92 full SQL grammar supported?
|
boolean |
supportsANSI92IntermediateSQL()
Is the ANSI92 intermediate SQL grammar supported?
|
boolean |
supportsBatchUpdates()
JDBC 2.0 Return true if the driver supports batch updates, else return
false.
|
boolean |
supportsCatalogsInDataManipulation()
Can a catalog name be used in a data manipulation statement?
|
boolean |
supportsCatalogsInIndexDefinitions()
Can a catalog name be used in a index definition statement?
|
boolean |
supportsCatalogsInPrivilegeDefinitions()
Can a catalog name be used in a privilege definition statement?
|
boolean |
supportsCatalogsInProcedureCalls()
Can a catalog name be used in a procedure call statement?
|
boolean |
supportsCatalogsInTableDefinitions()
Can a catalog name be used in a table definition statement?
|
boolean |
supportsColumnAliasing()
Is column aliasing supported?
|
boolean |
supportsConvert()
Is the CONVERT function between SQL types supported?
|
boolean |
supportsConvert(int fromType,
int toType)
Is CONVERT between the given SQL types supported?
|
boolean |
supportsCoreSQLGrammar()
Is the ODBC Core SQL grammar supported?
|
boolean |
supportsCorrelatedSubqueries()
Are correlated subqueries supported?
|
boolean |
supportsDataDefinitionAndDataManipulationTransactions()
Are both data definition and data manipulation statements within a
transaction supported?
|
boolean |
supportsDataManipulationTransactionsOnly()
Are only data manipulation statements within a transaction supported?
|
boolean |
supportsDifferentTableCorrelationNames()
If table correlation names are supported, are they restricted to be
different from the names of the tables?
|
boolean |
supportsExpressionsInOrderBy()
Are expressions in "ORDER BY" lists supported?
|
boolean |
supportsExtendedSQLGrammar()
Is the ODBC Extended SQL grammar supported?
|
boolean |
supportsFullOuterJoins()
Are full nested outer joins supported?
|
boolean |
supportsGetGeneratedKeys()
JDBC 3.0
|
boolean |
supportsGroupBy()
Is some form of "GROUP BY" clause supported?
|
boolean |
supportsGroupByBeyondSelect()
Can a "GROUP BY" clause add columns not in the SELECT provided it
specifies all the columns in the SELECT?
|
boolean |
supportsGroupByUnrelated()
Can a "GROUP BY" clause use columns not in the SELECT?
|
boolean |
supportsIntegrityEnhancementFacility()
Is the SQL Integrity Enhancement Facility supported?
|
boolean |
supportsLikeEscapeClause()
Is the escape character in "LIKE" clauses supported?
|
boolean |
supportsLimitedOuterJoins()
Is there limited support for outer joins?
|
boolean |
supportsMinimumSQLGrammar()
Is the ODBC Minimum SQL grammar supported?
|
boolean |
supportsMixedCaseIdentifiers()
Does the database support mixed case unquoted SQL identifiers?
|
boolean |
supportsMixedCaseQuotedIdentifiers()
Does the database support mixed case quoted SQL identifiers?
|
boolean |
supportsMultipleOpenResults() |
boolean |
supportsMultipleResultSets()
Are multiple ResultSets from a single execute supported?
|
boolean |
supportsMultipleTransactions()
Can we have multiple transactions open at once (on different
connections)?
|
boolean |
supportsNamedParameters() |
boolean |
supportsNonNullableColumns()
Can columns be defined as non-nullable?
|
boolean |
supportsOpenCursorsAcrossCommit()
Can cursors remain open across commits?
|
boolean |
supportsOpenCursorsAcrossRollback()
Can cursors remain open across rollbacks?
|
boolean |
supportsOpenStatementsAcrossCommit()
Can statements remain open across commits?
|
boolean |
supportsOpenStatementsAcrossRollback()
Can statements remain open across rollbacks?
|
boolean |
supportsOrderByUnrelated()
Can an "ORDER BY" clause use columns not in the SELECT?
|
boolean |
supportsOuterJoins()
Is some form of outer join supported?
|
boolean |
supportsPositionedDelete()
Is positioned DELETE supported?
|
boolean |
supportsPositionedUpdate()
Is positioned UPDATE supported?
|
boolean |
supportsResultSetConcurrency(int type,
int concurrency)
JDBC 2.0 Does the database support the concurrency type in combination
with the given result set type?
|
boolean |
supportsResultSetHoldability(int holdability) |
boolean |
supportsResultSetType(int type)
JDBC 2.0 Does the database support the given result set type?
|
boolean |
supportsSavepoints() |
boolean |
supportsSchemasInDataManipulation()
Can a schema name be used in a data manipulation statement?
|
boolean |
supportsSchemasInIndexDefinitions()
Can a schema name be used in an index definition statement?
|
boolean |
supportsSchemasInPrivilegeDefinitions()
Can a schema name be used in a privilege definition statement?
|
boolean |
supportsSchemasInProcedureCalls()
Can a schema name be used in a procedure call statement?
|
boolean |
supportsSchemasInTableDefinitions()
Can a schema name be used in a table definition statement?
|
boolean |
supportsSelectForUpdate()
Is SELECT for UPDATE supported?
|
boolean |
supportsStatementPooling() |
boolean |
supportsStoredFunctionsUsingCallSyntax() |
boolean |
supportsStoredProcedures()
Are stored procedure calls using the stored procedure escape syntax
supported?
|
boolean |
supportsSubqueriesInComparisons()
Are subqueries in comparison expressions supported?
|
boolean |
supportsSubqueriesInExists()
Are subqueries in exists expressions supported?
|
boolean |
supportsSubqueriesInIns()
Are subqueries in "in" statements supported?
|
boolean |
supportsSubqueriesInQuantifieds()
Are subqueries in quantified expressions supported?
|
boolean |
supportsTableCorrelationNames()
Are table correlation names supported?
|
boolean |
supportsTransactionIsolationLevel(int level)
Does the database support the given transaction isolation level?
|
boolean |
supportsTransactions()
Are transactions supported?
|
boolean |
supportsUnion()
Is SQL UNION supported?
|
boolean |
supportsUnionAll()
Is SQL UNION ALL supported?
|
boolean |
updatesAreDetected(int type)
JDBC 2.0 Determine whether or not a visible row update can be detected by
calling ResultSet.rowUpdated().
|
boolean |
usesLocalFilePerTable()
Does the database use a file for each table?
|
boolean |
usesLocalFiles()
Does the database store tables in a local file?
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitprotected static final int MAX_IDENTIFIER_LENGTH
protected static final byte[] TABLE_AS_BYTES
protected static final byte[] SYSTEM_TABLE_AS_BYTES
protected static final byte[] VIEW_AS_BYTES
protected MySQLConnection conn
protected java.lang.String database
protected final java.lang.String quotedId
protected DatabaseMetaData(MySQLConnection connToSet, java.lang.String databaseToSet)
connToSet - databaseToSet - protected static DatabaseMetaData getInstance(MySQLConnection connToSet, java.lang.String databaseToSet, boolean checkForInfoSchema) throws java.sql.SQLException
java.sql.SQLExceptionpublic 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.SQLExceptionstatic java.sql.ResultSet buildResultSet(Field[] fields, java.util.ArrayList<ResultSetRow> rows, MySQLConnection c) throws java.sql.SQLException
java.sql.SQLExceptionprotected void convertToJdbcFunctionList(java.lang.String catalog,
java.sql.ResultSet proceduresRs,
boolean needsClientFiltering,
java.lang.String db,
java.util.List<DatabaseMetaData.ComparableWrapper<java.lang.String,ResultSetRow>> procedureRows,
int nameIndex,
Field[] fields)
throws java.sql.SQLException
java.sql.SQLExceptionprotected java.lang.String getFullyQualifiedName(java.lang.String catalog,
java.lang.String entity)
protected int getJDBC4FunctionNoTableConstant()
protected void convertToJdbcProcedureList(boolean fromSelect,
java.lang.String catalog,
java.sql.ResultSet proceduresRs,
boolean needsClientFiltering,
java.lang.String db,
java.util.List<DatabaseMetaData.ComparableWrapper<java.lang.String,ResultSetRow>> procedureRows,
int nameIndex)
throws java.sql.SQLException
java.sql.SQLExceptionprotected int getColumnType(boolean isOutParam,
boolean isInParam,
boolean isReturnParam,
boolean forGetFunctionColumns)
isOutParam - Indicates whether it's an output parameter.isInParam - Indicates whether it's an input parameter.isReturnParam - Indicates whether it's a function return parameter.forGetFunctionColumns - Indicates whether the column belong to a function. This argument is required for JDBC4, in which case
this method must be overridden to provide the correct functionality.protected ExceptionInterceptor getExceptionInterceptor()
public 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 boolean deletesAreDetected(int type)
throws java.sql.SQLException
deletesAreDetected in interface java.sql.DatabaseMetaDatatype - set type, i.e. ResultSet.TYPE_XXXjava.sql.SQLException - if a database-access error occurs.public boolean doesMaxRowSizeIncludeBlobs()
throws java.sql.SQLException
doesMaxRowSizeIncludeBlobs in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic java.util.List<ResultSetRow> extractForeignKeyForTable(java.util.ArrayList<ResultSetRow> rows, java.sql.ResultSet rs, java.lang.String catalog) throws java.sql.SQLException
rows - the list of rows to add tors - the result set from 'SHOW CREATE TABLE'catalog - the database namejava.sql.SQLException - if a database access error occurspublic java.sql.ResultSet extractForeignKeyFromCreateTable(java.lang.String catalog,
java.lang.String tableName)
throws java.sql.SQLException
connToUse - the database connection to usemetadata - the DatabaseMetaData instance calling this methodcatalog - the database name to extract foreign key info fortableName - the table to extract foreign key info forjava.sql.SQLException - if a database access error occurs.public java.sql.ResultSet getAttributes(java.lang.String arg0,
java.lang.String arg1,
java.lang.String arg2,
java.lang.String arg3)
throws java.sql.SQLException
getAttributes in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptiongetAttributes(String, String, String, String)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:
getBestRowIdentifier in interface java.sql.DatabaseMetaDatacatalog - a catalog name; "" retrieves those without a catalogschema - a schema name; "" retrieves those without a schematable - a table namescope - the scope of interest; use same values as SCOPEnullable - include columns that are nullable?java.sql.SQLExceptionprotected DatabaseMetaData.IteratorWithCleanup<java.lang.String> getCatalogIterator(java.lang.String catalogSpec) throws java.sql.SQLException
java.sql.SQLExceptionpublic java.sql.ResultSet getCatalogs()
throws java.sql.SQLException
The catalog column is:
getCatalogs in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic java.lang.String getCatalogSeparator()
throws java.sql.SQLException
getCatalogSeparator in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic java.lang.String getCatalogTerm()
throws java.sql.SQLException
getCatalogTerm 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 privilige description has the following columns:
getColumnPrivileges in interface java.sql.DatabaseMetaDatacatalog - a catalog name; "" retrieves those without a catalogschema - a schema name; "" retrieves those without a schematable - a table namecolumnNamePattern - a column name patternjava.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_SCHEM, TABLE_NAME and ORDINAL_POSITION.
Each column description has the following columns:
getColumns in interface java.sql.DatabaseMetaDatacatalog - a catalog name; "" retrieves those without a catalogschemaPattern - a schema name pattern; "" retrieves those without a schematableNamePattern - a table name patterncolumnNamePattern - a column name patternjava.sql.SQLException - if a database access error occursgetSearchStringEscape()protected Field[] createColumnsFields()
public java.sql.Connection getConnection()
throws java.sql.SQLException
getConnection in interface java.sql.DatabaseMetaDatajava.sql.SQLException - if a database error occurspublic java.sql.ResultSet getCrossReference(java.lang.String primaryCatalog,
java.lang.String primarySchema,
java.lang.String primaryTable,
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:
getCrossReference in interface java.sql.DatabaseMetaDataprimaryCatalog - a catalog name; "" retrieves those without a catalogprimarySchema - a schema name pattern; "" retrieves those without a schemaprimaryTable - a table nameforeignCatalog - a catalog name; "" retrieves those without a catalogforeignSchema - a schema name pattern; "" retrieves those without a schemaforeignTable - a table namejava.sql.SQLException - if a database access error occursprotected Field[] createFkMetadataFields()
public int getDatabaseMajorVersion()
throws java.sql.SQLException
getDatabaseMajorVersion in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptiongetDatabaseMajorVersion()public int getDatabaseMinorVersion()
throws java.sql.SQLException
getDatabaseMinorVersion in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptiongetDatabaseMinorVersion()public 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 int getDefaultTransactionIsolation()
throws java.sql.SQLException
getDefaultTransactionIsolation in interface java.sql.DatabaseMetaDatajava.sql.SQLException - if a database access error occursConnectionpublic int getDriverMajorVersion()
getDriverMajorVersion in interface java.sql.DatabaseMetaDatapublic int getDriverMinorVersion()
getDriverMinorVersion in interface java.sql.DatabaseMetaDatapublic 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 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:
getExportedKeys in interface java.sql.DatabaseMetaDatacatalog - a catalog name; "" retrieves those without a catalogschema - a schema name pattern; "" retrieves those without a schematable - a table namejava.sql.SQLException - if a database access error occursgetImportedKeys(java.lang.String, java.lang.String, java.lang.String)protected void getExportKeyResults(java.lang.String catalog,
java.lang.String exportingTable,
java.lang.String keysComment,
java.util.List<ResultSetRow> tuples,
java.lang.String fkTableName)
throws java.sql.SQLException
catalog - the database to useexportingTable - the table keys are being exported fromkeysComment - the comment from 'show table status'tuples - the rows to add results tofkTableName - the foreign key table namejava.sql.SQLException - if a database access error occurspublic java.lang.String getExtraNameCharacters()
throws java.sql.SQLException
getExtraNameCharacters in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionprotected int[] getForeignKeyActions(java.lang.String commentString)
commentString - the comment from 'SHOW TABLE STATUS'public java.lang.String getIdentifierQuoteString()
throws java.sql.SQLException
getIdentifierQuoteString in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic 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:
getImportedKeys in interface java.sql.DatabaseMetaDatacatalog - a catalog name; "" retrieves those without a catalogschema - a schema name pattern; "" retrieves those without a schematable - a table namejava.sql.SQLException - if a database access error occursgetExportedKeys(java.lang.String, java.lang.String, java.lang.String)protected void getImportKeyResults(java.lang.String catalog,
java.lang.String importingTable,
java.lang.String keysComment,
java.util.List<ResultSetRow> tuples)
throws java.sql.SQLException
catalog - the database to useimportingTable - the table keys are being imported tokeysComment - the comment from 'show table status'tuples - the rows to add results tojava.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:
getIndexInfo in interface java.sql.DatabaseMetaDatacatalog - a catalog name; "" retrieves those without a catalogschema - a schema name pattern; "" retrieves those without a schematable - a table nameunique - 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 accuratejava.sql.SQLExceptionprotected Field[] createIndexInfoFields()
public int getJDBCMajorVersion()
throws java.sql.SQLException
getJDBCMajorVersion in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptiongetJDBCMajorVersion()public int getJDBCMinorVersion()
throws java.sql.SQLException
getJDBCMinorVersion in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptiongetJDBCMinorVersion()public int getMaxBinaryLiteralLength()
throws java.sql.SQLException
getMaxBinaryLiteralLength in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic int getMaxCatalogNameLength()
throws java.sql.SQLException
getMaxCatalogNameLength 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 getMaxProcedureNameLength()
throws java.sql.SQLException
getMaxProcedureNameLength in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic int getMaxRowSize()
throws java.sql.SQLException
getMaxRowSize in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic int getMaxSchemaNameLength()
throws java.sql.SQLException
getMaxSchemaNameLength 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 java.lang.String getNumericFunctions()
throws java.sql.SQLException
getNumericFunctions in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic java.sql.ResultSet getPrimaryKeys(java.lang.String catalog,
java.lang.String schema,
java.lang.String table)
throws java.sql.SQLException
Each column description has the following columns:
getPrimaryKeys in interface java.sql.DatabaseMetaDatacatalog - a catalog name; "" retrieves those without a catalogschema - a schema name pattern; "" retrieves those without a schematable - a table namejava.sql.SQLExceptionpublic 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_SCHEM and PROCEDURE_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:
Note: Some databases may not return the column descriptions for a procedure.
getProcedureColumns in interface java.sql.DatabaseMetaDatacatalog - a catalog name; "" retrieves those without a catalogschemaPattern - a schema name pattern; "" retrieves those without a schemaprocedureNamePattern - a procedure name patterncolumnNamePattern - a column name patternjava.sql.SQLException - if a database access error occursgetSearchStringEscape()protected Field[] createProcedureColumnsFields()
protected java.sql.ResultSet getProcedureOrFunctionColumns(Field[] fields, java.lang.String catalog, java.lang.String schemaPattern, java.lang.String procedureOrFunctionNamePattern, java.lang.String columnNamePattern, boolean returnProcedures, boolean returnFunctions) throws java.sql.SQLException
java.sql.SQLExceptionpublic java.sql.ResultSet getProcedures(java.lang.String catalog,
java.lang.String schemaPattern,
java.lang.String procedureNamePattern)
throws java.sql.SQLException
Only procedure descriptions matching the schema and procedure name criteria are returned. They are ordered by PROCEDURE_SCHEM, and PROCEDURE_NAME.
Each procedure description has the the following columns:
getProcedures in interface java.sql.DatabaseMetaDatacatalog - a catalog name; "" retrieves those without a catalogschemaPattern - a schema name pattern; "" retrieves those without a schemaprocedureNamePattern - a procedure name patternjava.sql.SQLException - if a database access error occursgetSearchStringEscape()protected Field[] createFieldMetadataForGetProcedures()
protected java.sql.ResultSet getProceduresAndOrFunctions(Field[] fields, java.lang.String catalog, java.lang.String schemaPattern, java.lang.String procedureNamePattern, boolean returnProcedures, boolean returnFunctions) throws java.sql.SQLException
fields - catalog - schemaPattern - procedureNamePattern - returnProcedures - returnFunctions - java.sql.SQLExceptionpublic java.lang.String getProcedureTerm()
throws java.sql.SQLException
getProcedureTerm in interface java.sql.DatabaseMetaDatajava.sql.SQLException - if an error occurs (don't know why it would in this case...)public int getResultSetHoldability()
throws java.sql.SQLException
getResultSetHoldability in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptiongetResultSetHoldability()public java.sql.ResultSet getSchemas()
throws java.sql.SQLException
The schema column is:
getSchemas 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 getSearchStringEscape()
throws java.sql.SQLException
The '_' character represents any single character.
The '%' character represents any sequence of zero or more characters.
getSearchStringEscape in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic java.lang.String getSQLKeywords()
throws java.sql.SQLException
getSQLKeywords in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic int getSQLStateType()
throws java.sql.SQLException
getSQLStateType in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptiongetSQLStateType()public java.lang.String getStringFunctions()
throws java.sql.SQLException
getStringFunctions in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic java.sql.ResultSet getSuperTables(java.lang.String arg0,
java.lang.String arg1,
java.lang.String arg2)
throws java.sql.SQLException
getSuperTables in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptiongetSuperTables(String, String, String)public java.sql.ResultSet getSuperTypes(java.lang.String arg0,
java.lang.String arg1,
java.lang.String arg2)
throws java.sql.SQLException
getSuperTypes in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptiongetSuperTypes(String, String, String)public java.lang.String getSystemFunctions()
throws java.sql.SQLException
getSystemFunctions in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionprotected java.lang.String getTableNameWithCase(java.lang.String table)
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_SCHEM, TABLE_NAME, and PRIVILEGE.
Each privilige description has the following columns:
getTablePrivileges in interface java.sql.DatabaseMetaDatacatalog - a catalog name; "" retrieves those without a catalogschemaPattern - a schema name pattern; "" retrieves those without a schematableNamePattern - a table name patternjava.sql.SQLException - if a database access error occursgetSearchStringEscape()public java.sql.ResultSet getTables(java.lang.String catalog,
java.lang.String schemaPattern,
java.lang.String tableNamePattern,
java.lang.String[] types)
throws java.sql.SQLException
Only table descriptions matching the catalog, schema, table name and type criteria are returned. They are ordered by TABLE_TYPE, TABLE_SCHEM and TABLE_NAME.
Each table description has the following columns:
Note: Some databases may not return information for all tables.
getTables in interface java.sql.DatabaseMetaDatacatalog - a catalog name; "" retrieves those without a catalogschemaPattern - a schema name pattern; "" retrieves those without a schematableNamePattern - a table name patterntypes - a list of table types to include; null returns all typesjava.sql.SQLExceptiongetSearchStringEscape()protected Field[] createTablesFields()
public java.sql.ResultSet getTableTypes()
throws java.sql.SQLException
The table type is:
getTableTypes in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic java.lang.String getTimeDateFunctions()
throws java.sql.SQLException
getTimeDateFunctions in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic java.sql.ResultSet getTypeInfo()
throws java.sql.SQLException
Each type description has the following columns:
getTypeInfo 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
Only types matching the catalog, schema, type name and type criteria are returned. They are ordered by DATA_TYPE, 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:
Note: If the driver does not support UDTs then an empty result set is returned.
getUDTs 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 type name pattern; may be a fully qualified nametypes - a list of user-named types to include (JAVA_OBJECT, STRUCT, or
DISTINCT); null returns all typesjava.sql.SQLException - if a database-access error occurs.public 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 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:
getVersionColumns in interface java.sql.DatabaseMetaDatacatalog - a catalog name; "" retrieves those without a catalogschema - a schema name; "" retrieves those without a schematable - a table namejava.sql.SQLExceptionpublic boolean insertsAreDetected(int type)
throws java.sql.SQLException
insertsAreDetected in interface java.sql.DatabaseMetaDatatype - set type, i.e. ResultSet.TYPE_XXXjava.sql.SQLException - if a database-access error occurs.public boolean isCatalogAtStart()
throws java.sql.SQLException
isCatalogAtStart in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic boolean isReadOnly()
throws java.sql.SQLException
isReadOnly in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic boolean locatorsUpdateCopy()
throws java.sql.SQLException
locatorsUpdateCopy in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionlocatorsUpdateCopy()public boolean nullPlusNonNullIsNull()
throws java.sql.SQLException
nullPlusNonNullIsNull in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic boolean nullsAreSortedAtEnd()
throws java.sql.SQLException
nullsAreSortedAtEnd in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic boolean nullsAreSortedAtStart()
throws java.sql.SQLException
nullsAreSortedAtStart 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 othersDeletesAreVisible(int type)
throws java.sql.SQLException
othersDeletesAreVisible in interface java.sql.DatabaseMetaDatatype - java.sql.SQLExceptionpublic boolean othersInsertsAreVisible(int type)
throws java.sql.SQLException
othersInsertsAreVisible in interface java.sql.DatabaseMetaDatatype - java.sql.SQLExceptionpublic boolean othersUpdatesAreVisible(int type)
throws java.sql.SQLException
othersUpdatesAreVisible in interface java.sql.DatabaseMetaDatatype - set type, i.e. ResultSet.TYPE_XXXjava.sql.SQLException - if a database-access error occurs.public boolean ownDeletesAreVisible(int type)
throws java.sql.SQLException
ownDeletesAreVisible in interface java.sql.DatabaseMetaDatatype - java.sql.SQLExceptionpublic boolean ownInsertsAreVisible(int type)
throws java.sql.SQLException
ownInsertsAreVisible in interface java.sql.DatabaseMetaDatatype - java.sql.SQLExceptionpublic boolean ownUpdatesAreVisible(int type)
throws java.sql.SQLException
ownUpdatesAreVisible in interface java.sql.DatabaseMetaDatatype - set type, i.e. ResultSet.TYPE_XXXjava.sql.SQLException - if a database-access error occurs.protected DatabaseMetaData.LocalAndReferencedColumns parseTableStatusIntoLocalAndReferencedColumns(java.lang.String keysComment) throws java.sql.SQLException
java.sql.SQLExceptionprotected byte[] s2b(java.lang.String s)
throws java.sql.SQLException
s - java.sql.SQLExceptionpublic boolean storesLowerCaseIdentifiers()
throws java.sql.SQLException
storesLowerCaseIdentifiers in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic boolean storesLowerCaseQuotedIdentifiers()
throws java.sql.SQLException
storesLowerCaseQuotedIdentifiers in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic boolean storesMixedCaseIdentifiers()
throws java.sql.SQLException
storesMixedCaseIdentifiers in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic boolean storesMixedCaseQuotedIdentifiers()
throws java.sql.SQLException
storesMixedCaseQuotedIdentifiers in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic boolean storesUpperCaseIdentifiers()
throws java.sql.SQLException
storesUpperCaseIdentifiers in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic boolean storesUpperCaseQuotedIdentifiers()
throws java.sql.SQLException
storesUpperCaseQuotedIdentifiers 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 supportsANSI92EntryLevelSQL()
throws java.sql.SQLException
supportsANSI92EntryLevelSQL in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic boolean supportsANSI92FullSQL()
throws java.sql.SQLException
supportsANSI92FullSQL in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic boolean supportsANSI92IntermediateSQL()
throws java.sql.SQLException
supportsANSI92IntermediateSQL in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic boolean supportsBatchUpdates()
throws java.sql.SQLException
supportsBatchUpdates in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic boolean supportsCatalogsInDataManipulation()
throws java.sql.SQLException
supportsCatalogsInDataManipulation 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 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 supportsColumnAliasing()
throws java.sql.SQLException
If so, the SQL AS clause can be used to provide names for computed columns or to provide alias names for columns as required. A JDBC compliant driver always returns true.
supportsColumnAliasing 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.DatabaseMetaDatafromType - the type to convert fromtoType - the type to convert tojava.sql.SQLException - if an error occursTypespublic boolean supportsCoreSQLGrammar()
throws java.sql.SQLException
supportsCoreSQLGrammar in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic boolean supportsCorrelatedSubqueries()
throws java.sql.SQLException
supportsCorrelatedSubqueries in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic 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 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 supportsExtendedSQLGrammar()
throws java.sql.SQLException
supportsExtendedSQLGrammar in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic boolean supportsFullOuterJoins()
throws java.sql.SQLException
supportsFullOuterJoins in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic boolean supportsGetGeneratedKeys()
supportsGetGeneratedKeys in interface java.sql.DatabaseMetaDatapublic boolean supportsGroupBy()
throws java.sql.SQLException
supportsGroupBy in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic boolean supportsGroupByBeyondSelect()
throws java.sql.SQLException
supportsGroupByBeyondSelect in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic boolean supportsGroupByUnrelated()
throws java.sql.SQLException
supportsGroupByUnrelated in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic boolean supportsIntegrityEnhancementFacility()
throws java.sql.SQLException
supportsIntegrityEnhancementFacility in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic boolean supportsLikeEscapeClause()
throws java.sql.SQLException
supportsLikeEscapeClause in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic boolean supportsLimitedOuterJoins()
throws java.sql.SQLException
supportsLimitedOuterJoins in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic boolean supportsMinimumSQLGrammar()
throws java.sql.SQLException
supportsMinimumSQLGrammar in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic boolean supportsMixedCaseIdentifiers()
throws java.sql.SQLException
supportsMixedCaseIdentifiers in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic boolean supportsMixedCaseQuotedIdentifiers()
throws java.sql.SQLException
supportsMixedCaseQuotedIdentifiers in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic boolean supportsMultipleOpenResults()
throws java.sql.SQLException
supportsMultipleOpenResults in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionsupportsMultipleOpenResults()public 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 supportsNamedParameters()
throws java.sql.SQLException
supportsNamedParameters in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionsupportsNamedParameters()public boolean supportsNonNullableColumns()
throws java.sql.SQLException
supportsNonNullableColumns in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic boolean supportsOpenCursorsAcrossCommit()
throws java.sql.SQLException
supportsOpenCursorsAcrossCommit in interface java.sql.DatabaseMetaDatajava.sql.SQLException - if a database access error occursConnection#disableAutoClosepublic boolean supportsOpenCursorsAcrossRollback()
throws java.sql.SQLException
supportsOpenCursorsAcrossRollback in interface java.sql.DatabaseMetaDatajava.sql.SQLException - if an error occursConnection#disableAutoClosepublic boolean supportsOpenStatementsAcrossCommit()
throws java.sql.SQLException
supportsOpenStatementsAcrossCommit in interface java.sql.DatabaseMetaDatajava.sql.SQLException - if an error occursConnection#disableAutoClosepublic boolean supportsOpenStatementsAcrossRollback()
throws java.sql.SQLException
supportsOpenStatementsAcrossRollback in interface java.sql.DatabaseMetaDatajava.sql.SQLException - if an error occursConnection#disableAutoClosepublic boolean supportsOrderByUnrelated()
throws java.sql.SQLException
supportsOrderByUnrelated in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic boolean supportsOuterJoins()
throws java.sql.SQLException
supportsOuterJoins 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 supportsResultSetConcurrency(int type,
int concurrency)
throws java.sql.SQLException
supportsResultSetConcurrency in interface java.sql.DatabaseMetaDatatype - defined in java.sql.ResultSetconcurrency - type defined in java.sql.ResultSetjava.sql.SQLException - if a database-access error occurs.Connectionpublic boolean supportsResultSetHoldability(int holdability)
throws java.sql.SQLException
supportsResultSetHoldability in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionsupportsResultSetHoldability(int)public boolean supportsResultSetType(int type)
throws java.sql.SQLException
supportsResultSetType in interface java.sql.DatabaseMetaDatatype - defined in java.sql.ResultSetjava.sql.SQLException - if a database-access error occurs.Connectionpublic boolean supportsSavepoints()
throws java.sql.SQLException
supportsSavepoints in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionsupportsSavepoints()public boolean supportsSchemasInDataManipulation()
throws java.sql.SQLException
supportsSchemasInDataManipulation 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 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 supportsSelectForUpdate()
throws java.sql.SQLException
supportsSelectForUpdate in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic boolean supportsStatementPooling()
throws java.sql.SQLException
supportsStatementPooling in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionsupportsStatementPooling()public 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 supportsTableCorrelationNames()
throws java.sql.SQLException
supportsTableCorrelationNames in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic boolean supportsTransactionIsolationLevel(int level)
throws java.sql.SQLException
supportsTransactionIsolationLevel in interface java.sql.DatabaseMetaDatalevel - the values are defined in java.sql.Connectionjava.sql.SQLException - if a database access error occursConnectionpublic boolean supportsTransactions()
throws java.sql.SQLException
supportsTransactions 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 updatesAreDetected(int type)
throws java.sql.SQLException
updatesAreDetected in interface java.sql.DatabaseMetaDatatype - set type, i.e. ResultSet.TYPE_XXXjava.sql.SQLException - if a database-access error occurs.public boolean usesLocalFilePerTable()
throws java.sql.SQLException
usesLocalFilePerTable in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic boolean usesLocalFiles()
throws java.sql.SQLException
usesLocalFiles in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionpublic java.sql.ResultSet getClientInfoProperties()
throws java.sql.SQLException
The ResultSet is sorted by the NAME column
getClientInfoProperties in interface java.sql.DatabaseMetaDataResultSet object; each row is a supported client info property
java.sql.SQLException - if a database access error occurs
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
getFunctionColumns in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionDatabaseMetaData.getFunctionColumns(String, String, String, String)protected Field[] createFunctionColumnsFields()
public java.sql.ResultSet getFunctions(java.lang.String catalog,
java.lang.String schemaPattern,
java.lang.String functionNamePattern)
throws java.sql.SQLException
Only system and user function descriptions matching the schema and function name criteria are returned. They are ordered by FUNCTION_CAT,
FUNCTION_SCHEM, FUNCTION_NAME and SPECIFIC_ NAME.
Each function description has the the following columns:
null)
null)
FUNCTION_NAME for example with overload functions
A user may not have permission to execute any of the functions that are returned by getFunctions
getFunctions 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 boolean providesQueryObjectGenerator()
throws java.sql.SQLException
java.sql.SQLExceptionpublic java.sql.ResultSet getSchemas(java.lang.String catalog,
java.lang.String schemaPattern)
throws java.sql.SQLException
getSchemas in interface java.sql.DatabaseMetaDatacatalog - schemaPattern - java.sql.SQLExceptionpublic boolean supportsStoredFunctionsUsingCallSyntax()
throws java.sql.SQLException
supportsStoredFunctionsUsingCallSyntax in interface java.sql.DatabaseMetaDatajava.sql.SQLExceptionprotected java.sql.PreparedStatement prepareMetaDataSafeStatement(java.lang.String sql)
throws java.sql.SQLException
java.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
getPseudoColumns in interface java.sql.DatabaseMetaDatacatalog - schemaPattern - tableNamePattern - columnNamePattern - java.sql.SQLExceptionpublic boolean generatedKeyAlwaysReturned()
throws java.sql.SQLException
generatedKeyAlwaysReturned in interface java.sql.DatabaseMetaDatajava.sql.SQLException