public class EmbedDatabaseMetaData extends ConnectionChild implements java.sql.DatabaseMetaData, java.security.PrivilegedAction<java.lang.Object>
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 should throw a SQLException.
Some of these methods take arguments that are String patterns. These arguments 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. Only metadata entries matching the search pattern are returned. If a search pattern argument is set to a null ref, it means that argument's criteria should be dropped from the search.
A SQLException will be thrown if a driver does not support a meta data method. In the case of methods that return a ResultSet, either a ResultSet (which may be empty) is returned or a SQLException is thrown.
This implementation gets instructions from the Database for how to satisfy most requests for information. Each instruction is either a simple string containing the desired information, or the text of a query that may be executed on the database connection to gather the information. We get the instructions via an "InstructionReader," which requires the database Connection for initialization.
Those few pieces of metadata that are related to the driver, rather than the database, come from a separate InstructionReader. Note that in that case it probably doesn't make sense to allow an instruction to specify a query.
Modifier and Type | Field and Description |
---|---|
private GenericConstantActionFactory |
constantActionFactory |
private static int |
ILLEGAL_UDT_TYPE |
private static java.util.Properties |
queryDescriptions
Cached query descriptions from metadata.properties.
|
private static java.util.Properties |
queryDescriptions_net
Cached query descriptions from metadata_net.properties.
|
private java.lang.String |
url |
factory, localConn
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 |
---|
EmbedDatabaseMetaData(EmbedConnection connection,
java.lang.String url) |
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?
|
boolean |
autoCommitFailureClosesAllResultSets()
Returns whether or not all open
ResultSet s on a Connection are closed if an error occurs when auto-commit in enabled. |
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?
|
private java.sql.ResultSet |
doGetBestRowId(java.lang.String catalogPattern,
java.lang.String schemaPattern,
java.lang.String table,
int scope,
boolean nullable,
java.lang.String queryPrefix)
Does the actual work for the getBestRowIdentifier metadata
calls.
|
private java.sql.ResultSet |
doGetCols(java.lang.String catalog,
java.lang.String schemaPattern,
java.lang.String tableNamePattern,
java.lang.String columnNamePattern,
java.lang.String queryName)
Does the actual work for the getColumns metadata calls.
|
private java.sql.ResultSet |
doGetIndexInfo(java.lang.String catalog,
java.lang.String schema,
java.lang.String table,
boolean unique,
boolean approximate,
java.lang.String queryName)
Does the actual work for the getIndexInfo metadata
calls.
|
private java.sql.ResultSet |
doGetProcCols(java.lang.String catalog,
java.lang.String schemaPattern,
java.lang.String procedureNamePattern,
java.lang.String columnNamePattern,
java.lang.String queryName)
Does the actual work for the getProcedureColumns metadata
calls.
|
private java.sql.ResultSet |
doGetProcs(java.lang.String catalog,
java.lang.String schemaPattern,
java.lang.String procedureNamePattern,
java.lang.String queryName)
Does the actual work for the getProcedures and getFunctions
metadata calls.
|
private java.sql.ResultSet |
doGetVersionCols(java.lang.String catalog,
java.lang.String schema,
java.lang.String table,
java.lang.String queryName)
Does the actual work for the getVersionColumns metadata
calls.
|
boolean |
generatedKeyAlwaysReturned()
See DatabaseMetaData javadoc
|
java.sql.ResultSet |
getAttributes(java.lang.String catalog,
java.lang.String schemaPattern,
java.lang.String typeNamePattern,
java.lang.String attributeNamePattern)
JDBC 3.0
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 catalogPattern,
java.lang.String schemaPattern,
java.lang.String table,
int scope,
boolean nullable)
Get a description of a table's optimal set of columns that
uniquely identifies a row.
|
java.sql.ResultSet |
getBestRowIdentifierForODBC(java.lang.String catalogPattern,
java.lang.String schemaPattern,
java.lang.String table,
int scope,
boolean nullable)
Get a description of a table's optimal set of columns that
uniquely identifies a row.
|
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 |
getClientCachedMetaData()
Get metadata that the client driver will cache.
|
java.sql.ResultSet |
getClientInfoProperties()
JDBC 4.0
Returns a list of the client info properties supported by
the driver.
|
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.
|
java.sql.ResultSet |
getColumnsForODBC(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.
|
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.)
|
java.sql.ResultSet |
getCrossReferenceForODBC(java.lang.String primaryCatalog,
java.lang.String primarySchema,
java.lang.String primaryTable,
java.lang.String foreignCatalog,
java.lang.String foreignSchema,
java.lang.String foreignTable)
In contrast to the JDBC version of getCrossReference, this
method allows null values for table names.
|
int |
getDatabaseMajorVersion()
JDBC 3.0
Retrieves the major version number of the underlying database.
|
int |
getDatabaseMinorVersion()
JDBC 3.0
Retrieves the minor version number of the underlying database.
|
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?
|
java.sql.ResultSet |
getExportedKeys(java.lang.String catalog,
java.lang.String schema,
java.lang.String table)
Get a description of the foreign key columns that reference a
table's primary key columns (the foreign keys exported by a
table).
|
java.lang.String |
getExtraNameCharacters()
Get all the "extra" characters that can be used in unquoted
identifier names (those beyond a-z, A-Z, 0-9 and _).
|
java.sql.ResultSet |
getFunctionColumns(java.lang.String catalog,
java.lang.String schemaPattern,
java.lang.String functionNamePattern,
java.lang.String parameterNamePattern)
Implements DatabaseMetaData.getFunctionColumns() for an embedded
database.
|
java.sql.ResultSet |
getFunctions(java.lang.String catalog,
java.lang.String schemaPattern,
java.lang.String functionNamePattern)
Implements DatabaseMetaData.getFunctions() for an embedded
database.
|
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).
|
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.
|
java.sql.ResultSet |
getIndexInfoForODBC(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.
|
int |
getJDBCMajorVersion()
JDBC 3.0
Retrieves the major JDBC version number for this driver.
|
int |
getJDBCMinorVersion()
JDBC 3.0
Retrieves the minor JDBC version number for this driver.
|
private LanguageConnectionContext |
getLanguageConnectionContext()
Gets the LanguageConnectionContext for this connection.
|
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 the 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)?
|
long |
getMaxLogicalLobSize()
Added in JDBC 4.2.
|
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 JDBC escaped numeric functions.
|
protected java.sql.PreparedStatement |
getPreparedQuery(java.lang.String queryName)
Get a prepared query from system tables or metadata.properties.
|
private java.sql.PreparedStatement |
getPreparedQuery(java.lang.String queryName,
boolean net)
Either get the prepared query for the metadata call from the
system tables, or from the metadata.properties or
metadata_net.properties file.
|
private java.sql.PreparedStatement |
getPreparedQueryUsingSystemTables(java.lang.String nameKey,
boolean net)
Get a stored prepared statement from the system tables.
|
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.
|
java.sql.ResultSet |
getProcedureColumnsForODBC(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.
|
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.
|
java.sql.ResultSet |
getProceduresForODBC(java.lang.String catalog,
java.lang.String schemaPattern,
java.lang.String procedureNamePattern)
Get a description of stored procedures available in a
catalog.
|
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)
See DatabaseMetaData javadoc.
|
private java.util.Properties |
getQueryDescriptions(boolean net)
Return all queries found in either metadata.properties or
metadata_net.properties.
|
private java.lang.String |
getQueryFromDescription(java.lang.String queryName,
boolean net)
Given a queryName, find closest match in queryDescriptions.
|
int |
getResultSetHoldability()
JDBC 3.0
Retrieves the default holdability of this ResultSet object.
|
java.sql.RowIdLifetime |
getRowIdLifetime() |
java.sql.ResultSet |
getSchemas()
Get the schema names available in this database.
|
java.sql.ResultSet |
getSchemas(java.lang.String catalog,
java.lang.String schemaPattern)
JDBC 4.0
Get the schema names available in this database.
|
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.
|
protected java.sql.ResultSet |
getSimpleQuery(java.lang.String nameKey)
Execute a query in metadata.properties, or an SPS in the SYS
schema.
|
private java.sql.ResultSet |
getSimpleQuery(java.lang.String nameKey,
boolean net)
Execute a query in metadata.properties (or SPS in the SYS
schema) or metadata_net.properties (or SPS in the SYSIBM
schema).
|
java.lang.String |
getSQLKeywords()
Get a comma separated list of all a database's SQL keywords
that are NOT also SQL92 keywords.
|
int |
getSQLStateType()
JDBC 3.0
Indicates whether the SQLSTATEs returned by SQLException.getSQLState
is X/Open (now known as Open Group) SQL CLI or SQL99.
|
java.lang.String |
getStringFunctions()
Get a comma separated list of JDBC escaped string functions.
|
java.sql.ResultSet |
getSuperTables(java.lang.String catalog,
java.lang.String schemaPattern,
java.lang.String typeNamePattern)
JDBC 3.0
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)
JDBC 3.0
Retrieves a description of the user-defined type (UDT) hierarchies defined
in a particular schema in this database.
|
java.lang.String |
getSystemFunctions()
Get a comma separated list of JDBC escaped system functions.
|
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 JDBC escaped time date functions.
|
java.sql.ResultSet |
getTypeInfo()
Get a description of all the standard SQL types supported by
this database.
|
java.sql.ResultSet |
getTypeInfoForODBC()
Get a description of all the standard SQL types supported by
this database.
|
private java.sql.ResultSet |
getTypeInfoMinion(java.lang.String queryName)
Get a description of 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.
|
java.sql.ResultSet |
getVersionColumnsForODBC(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 |
isWrapperFor(java.lang.Class<?> iface)
Returns whether or not this instance implements the specified interface.
|
private void |
loadQueryDescriptions()
Loads the query descriptions from metadata.properties and
metadata_net.properties into
queryDescriptions and
queryDescriptions_net . |
boolean |
locatorsUpdateCopy()
JDBC 3.0
Indicates whether updates made to a LOB are made on a copy or
directly to the LOB.
|
private boolean |
notInSoftUpgradeMode()
check if the dictionary is at the same version as the engine.
|
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)
JDBC 2.0
Determine whether deletes made by others are visible.
|
boolean |
othersInsertsAreVisible(int type)
JDBC 2.0
Determine whether inserts made by others are visible.
|
boolean |
othersUpdatesAreVisible(int type)
JDBC 2.0
Determine whether updates made by others are visible.
|
boolean |
ownDeletesAreVisible(int type)
JDBC 2.0
Determine whether a result set's deletes are visible.
|
boolean |
ownInsertsAreVisible(int type)
JDBC 2.0
Determine whether a result set's inserts are visible.
|
boolean |
ownUpdatesAreVisible(int type)
JDBC 2.0
Determine whether a result set's updates are visible.
|
private void |
PBloadQueryDescriptions()
Read the query descriptions from metadata.properties and
metadata_net.properties.
|
private java.sql.PreparedStatement |
prepareSPS(java.lang.String spsName,
java.lang.String spsText,
boolean net) |
java.lang.Object |
run()
Performs a privileged action.
|
boolean |
storesLowerCaseIdentifiers()
Does the database treat mixed case unquoted SQL identifiers as
case insensitive and store them in lower case?
|
boolean |
storesLowerCaseQuotedIdentifiers()
Does the database treat mixed case quoted SQL identifiers as
case insensitive and store them in lower case?
|
boolean |
storesMixedCaseIdentifiers()
Does the database treat mixed case unquoted SQL identifiers as
case insensitive and store them in mixed case?
|
boolean |
storesMixedCaseQuotedIdentifiers()
Does the database treat mixed case quoted SQL identifiers as
case insensitive and store them in mixed case?
|
boolean |
storesUpperCaseIdentifiers()
Does the database treat mixed case unquoted SQL identifiers as
case insensitive and store them in upper case?
|
boolean |
storesUpperCaseQuotedIdentifiers()
Does the database treat mixed case quoted SQL identifiers as
case insensitive and store them 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 an 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
Retrieves whether auto-generated keys can be retrieved after a statement
has been executed.
|
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 treat mixed case unquoted SQL identifiers as
case sensitive and as a result store them in mixed case?
|
boolean |
supportsMixedCaseQuotedIdentifiers()
Does the database treat mixed case quoted SQL identifiers as
case sensitive and as a result store them in mixed case?
|
boolean |
supportsMultipleOpenResults()
JDBC 3.0
Retrieves whether it is possible to have multiple ResultSet objects returned from a
CallableStatement object simultaneously.
|
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()
JDBC 3.0
Retrieves whether this database supports named parameters to callable statements.
|
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 |
supportsRefCursors()
Added in JDBC 4.2.
|
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)
JDBC 3.0
Retrieves whether this database supports the given result set holdability.
|
boolean |
supportsResultSetType(int type)
JDBC 2.0
Does the database support the given result set type?
|
boolean |
supportsSavepoints()
JDBC 3.0
Retrieves whether this database supports savepoints.
|
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()
JDBC 3.0
Retrieves whether this database supports statement pooling.
|
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?
|
protected static java.lang.String |
swapNull(java.lang.String s) |
<T> T |
unwrap(java.lang.Class<T> iface)
Returns
this if this class implements the interface. |
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?
|
commitIfAutoCommit, commitIfNeeded, getCal, getConnectionSynchronization, getEmbedConnection, getLanguageConnectionContext, getLCC, handleException, needCommit, newSQLException, restoreContextStack, restoreIntrFlagIfSeen, setupContextStack
private static final int ILLEGAL_UDT_TYPE
private final java.lang.String url
private GenericConstantActionFactory constantActionFactory
private static java.util.Properties queryDescriptions
private static java.util.Properties queryDescriptions_net
public EmbedDatabaseMetaData(EmbedConnection connection, java.lang.String url) throws java.sql.SQLException
java.sql.SQLException
- on errorprivate java.util.Properties getQueryDescriptions(boolean net)
net
- if true
, read metadata_net.properties;
otherwise, read metadata.properties.Properties
value with the queriesprivate void PBloadQueryDescriptions()
public boolean allProceduresAreCallable()
allProceduresAreCallable
in interface java.sql.DatabaseMetaData
public boolean allTablesAreSelectable()
allTablesAreSelectable
in interface java.sql.DatabaseMetaData
public final java.lang.String getURL()
getURL
in interface java.sql.DatabaseMetaData
public java.lang.String getUserName()
getUserName
in interface java.sql.DatabaseMetaData
public boolean isReadOnly()
isReadOnly
in interface java.sql.DatabaseMetaData
public boolean nullsAreSortedHigh()
nullsAreSortedHigh
in interface java.sql.DatabaseMetaData
public boolean nullsAreSortedLow()
nullsAreSortedLow
in interface java.sql.DatabaseMetaData
public boolean nullsAreSortedAtStart()
nullsAreSortedAtStart
in interface java.sql.DatabaseMetaData
public boolean nullsAreSortedAtEnd()
nullsAreSortedAtEnd
in interface java.sql.DatabaseMetaData
public java.lang.String getDatabaseProductName()
getDatabaseProductName
in interface java.sql.DatabaseMetaData
public java.lang.String getDatabaseProductVersion()
getDatabaseProductVersion
in interface java.sql.DatabaseMetaData
public java.lang.String getDriverName()
getDriverName
in interface java.sql.DatabaseMetaData
public java.lang.String getDriverVersion()
getDriverVersion
in interface java.sql.DatabaseMetaData
public int getDriverMajorVersion()
getDriverMajorVersion
in interface java.sql.DatabaseMetaData
public int getDriverMinorVersion()
getDriverMinorVersion
in interface java.sql.DatabaseMetaData
public boolean usesLocalFiles()
usesLocalFiles
in interface java.sql.DatabaseMetaData
public boolean usesLocalFilePerTable()
usesLocalFilePerTable
in interface java.sql.DatabaseMetaData
public boolean supportsMixedCaseIdentifiers()
supportsMixedCaseIdentifiers
in interface java.sql.DatabaseMetaData
public boolean storesUpperCaseIdentifiers()
storesUpperCaseIdentifiers
in interface java.sql.DatabaseMetaData
public boolean storesLowerCaseIdentifiers()
storesLowerCaseIdentifiers
in interface java.sql.DatabaseMetaData
public boolean storesMixedCaseIdentifiers()
storesMixedCaseIdentifiers
in interface java.sql.DatabaseMetaData
public boolean supportsMixedCaseQuotedIdentifiers()
supportsMixedCaseQuotedIdentifiers
in interface java.sql.DatabaseMetaData
public boolean storesUpperCaseQuotedIdentifiers()
storesUpperCaseQuotedIdentifiers
in interface java.sql.DatabaseMetaData
public boolean storesLowerCaseQuotedIdentifiers()
storesLowerCaseQuotedIdentifiers
in interface java.sql.DatabaseMetaData
public boolean storesMixedCaseQuotedIdentifiers()
storesMixedCaseQuotedIdentifiers
in interface java.sql.DatabaseMetaData
public java.lang.String getIdentifierQuoteString()
getIdentifierQuoteString
in interface java.sql.DatabaseMetaData
public java.lang.String getSQLKeywords()
getSQLKeywords
in interface java.sql.DatabaseMetaData
public java.lang.String getNumericFunctions()
getNumericFunctions
in interface java.sql.DatabaseMetaData
public java.lang.String getStringFunctions()
getStringFunctions
in interface java.sql.DatabaseMetaData
public java.lang.String getSystemFunctions()
getSystemFunctions
in interface java.sql.DatabaseMetaData
public java.lang.String getTimeDateFunctions()
getTimeDateFunctions
in interface java.sql.DatabaseMetaData
public java.lang.String getSearchStringEscape()
The '_' character represents any single character.
The '%' character represents any sequence of zero or more characters.
getSearchStringEscape
in interface java.sql.DatabaseMetaData
public java.lang.String getExtraNameCharacters()
getExtraNameCharacters
in interface java.sql.DatabaseMetaData
public boolean supportsAlterTableWithAddColumn()
supportsAlterTableWithAddColumn
in interface java.sql.DatabaseMetaData
public boolean supportsAlterTableWithDropColumn()
supportsAlterTableWithDropColumn
in interface java.sql.DatabaseMetaData
public boolean supportsColumnAliasing()
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.DatabaseMetaData
public boolean nullPlusNonNullIsNull()
nullPlusNonNullIsNull
in interface java.sql.DatabaseMetaData
public boolean supportsConvert()
supportsConvert
in interface java.sql.DatabaseMetaData
public boolean supportsConvert(int fromType, int toType)
supportsConvert
in interface java.sql.DatabaseMetaData
fromType
- the type to convert fromtoType
- the type to convert toTypes
public boolean supportsTableCorrelationNames()
supportsTableCorrelationNames
in interface java.sql.DatabaseMetaData
public boolean supportsDifferentTableCorrelationNames()
supportsDifferentTableCorrelationNames
in interface java.sql.DatabaseMetaData
public boolean supportsExpressionsInOrderBy()
supportsExpressionsInOrderBy
in interface java.sql.DatabaseMetaData
public boolean supportsOrderByUnrelated()
supportsOrderByUnrelated
in interface java.sql.DatabaseMetaData
public boolean supportsGroupBy()
supportsGroupBy
in interface java.sql.DatabaseMetaData
public boolean supportsGroupByUnrelated()
supportsGroupByUnrelated
in interface java.sql.DatabaseMetaData
public boolean supportsGroupByBeyondSelect()
supportsGroupByBeyondSelect
in interface java.sql.DatabaseMetaData
public boolean supportsLikeEscapeClause()
supportsLikeEscapeClause
in interface java.sql.DatabaseMetaData
public boolean supportsMultipleResultSets()
supportsMultipleResultSets
in interface java.sql.DatabaseMetaData
public boolean supportsMultipleTransactions()
supportsMultipleTransactions
in interface java.sql.DatabaseMetaData
public boolean supportsNonNullableColumns()
supportsNonNullableColumns
in interface java.sql.DatabaseMetaData
public boolean supportsMinimumSQLGrammar()
supportsMinimumSQLGrammar
in interface java.sql.DatabaseMetaData
public boolean supportsCoreSQLGrammar()
supportsCoreSQLGrammar
in interface java.sql.DatabaseMetaData
public boolean supportsExtendedSQLGrammar()
supportsExtendedSQLGrammar
in interface java.sql.DatabaseMetaData
public boolean supportsANSI92EntryLevelSQL()
supportsANSI92EntryLevelSQL
in interface java.sql.DatabaseMetaData
public boolean supportsANSI92IntermediateSQL()
supportsANSI92IntermediateSQL
in interface java.sql.DatabaseMetaData
public boolean supportsANSI92FullSQL()
supportsANSI92FullSQL
in interface java.sql.DatabaseMetaData
public boolean supportsIntegrityEnhancementFacility()
supportsIntegrityEnhancementFacility
in interface java.sql.DatabaseMetaData
public boolean supportsOuterJoins()
supportsOuterJoins
in interface java.sql.DatabaseMetaData
public boolean supportsFullOuterJoins()
supportsFullOuterJoins
in interface java.sql.DatabaseMetaData
public boolean supportsLimitedOuterJoins()
supportsLimitedOuterJoins
in interface java.sql.DatabaseMetaData
public java.lang.String getSchemaTerm()
getSchemaTerm
in interface java.sql.DatabaseMetaData
public java.lang.String getProcedureTerm()
getProcedureTerm
in interface java.sql.DatabaseMetaData
public java.lang.String getCatalogTerm()
getCatalogTerm
in interface java.sql.DatabaseMetaData
public boolean isCatalogAtStart()
isCatalogAtStart
in interface java.sql.DatabaseMetaData
public java.lang.String getCatalogSeparator()
getCatalogSeparator
in interface java.sql.DatabaseMetaData
public boolean supportsSchemasInDataManipulation()
supportsSchemasInDataManipulation
in interface java.sql.DatabaseMetaData
public boolean supportsSchemasInProcedureCalls()
supportsSchemasInProcedureCalls
in interface java.sql.DatabaseMetaData
public boolean supportsSchemasInTableDefinitions()
supportsSchemasInTableDefinitions
in interface java.sql.DatabaseMetaData
public boolean supportsSchemasInIndexDefinitions()
supportsSchemasInIndexDefinitions
in interface java.sql.DatabaseMetaData
public boolean supportsSchemasInPrivilegeDefinitions()
supportsSchemasInPrivilegeDefinitions
in interface java.sql.DatabaseMetaData
public boolean supportsCatalogsInDataManipulation()
supportsCatalogsInDataManipulation
in interface java.sql.DatabaseMetaData
public boolean supportsCatalogsInProcedureCalls()
supportsCatalogsInProcedureCalls
in interface java.sql.DatabaseMetaData
public boolean supportsCatalogsInTableDefinitions()
supportsCatalogsInTableDefinitions
in interface java.sql.DatabaseMetaData
public boolean supportsCatalogsInIndexDefinitions()
supportsCatalogsInIndexDefinitions
in interface java.sql.DatabaseMetaData
public boolean supportsCatalogsInPrivilegeDefinitions()
supportsCatalogsInPrivilegeDefinitions
in interface java.sql.DatabaseMetaData
public boolean supportsPositionedDelete()
supportsPositionedDelete
in interface java.sql.DatabaseMetaData
public boolean supportsPositionedUpdate()
supportsPositionedUpdate
in interface java.sql.DatabaseMetaData
public boolean supportsRefCursors()
supportsRefCursors
in interface java.sql.DatabaseMetaData
public boolean supportsSelectForUpdate()
supportsSelectForUpdate
in interface java.sql.DatabaseMetaData
public boolean supportsStoredProcedures()
supportsStoredProcedures
in interface java.sql.DatabaseMetaData
public boolean supportsSubqueriesInComparisons()
supportsSubqueriesInComparisons
in interface java.sql.DatabaseMetaData
public boolean supportsSubqueriesInExists()
supportsSubqueriesInExists
in interface java.sql.DatabaseMetaData
public boolean supportsSubqueriesInIns()
supportsSubqueriesInIns
in interface java.sql.DatabaseMetaData
public boolean supportsSubqueriesInQuantifieds()
supportsSubqueriesInQuantifieds
in interface java.sql.DatabaseMetaData
public boolean supportsCorrelatedSubqueries()
supportsCorrelatedSubqueries
in interface java.sql.DatabaseMetaData
public boolean supportsUnion()
supportsUnion
in interface java.sql.DatabaseMetaData
public boolean supportsUnionAll()
supportsUnionAll
in interface java.sql.DatabaseMetaData
public boolean supportsOpenCursorsAcrossCommit()
supportsOpenCursorsAcrossCommit
in interface java.sql.DatabaseMetaData
public boolean supportsOpenCursorsAcrossRollback()
supportsOpenCursorsAcrossRollback
in interface java.sql.DatabaseMetaData
public boolean supportsOpenStatementsAcrossCommit()
supportsOpenStatementsAcrossCommit
in interface java.sql.DatabaseMetaData
public boolean supportsOpenStatementsAcrossRollback()
supportsOpenStatementsAcrossRollback
in interface java.sql.DatabaseMetaData
public int getMaxBinaryLiteralLength()
getMaxBinaryLiteralLength
in interface java.sql.DatabaseMetaData
public int getMaxCharLiteralLength()
getMaxCharLiteralLength
in interface java.sql.DatabaseMetaData
public int getMaxColumnNameLength()
getMaxColumnNameLength
in interface java.sql.DatabaseMetaData
public int getMaxColumnsInGroupBy()
getMaxColumnsInGroupBy
in interface java.sql.DatabaseMetaData
public int getMaxColumnsInIndex()
getMaxColumnsInIndex
in interface java.sql.DatabaseMetaData
public int getMaxColumnsInOrderBy()
getMaxColumnsInOrderBy
in interface java.sql.DatabaseMetaData
public int getMaxColumnsInSelect()
getMaxColumnsInSelect
in interface java.sql.DatabaseMetaData
public int getMaxColumnsInTable()
getMaxColumnsInTable
in interface java.sql.DatabaseMetaData
public int getMaxConnections()
getMaxConnections
in interface java.sql.DatabaseMetaData
public int getMaxCursorNameLength()
getMaxCursorNameLength
in interface java.sql.DatabaseMetaData
public int getMaxIndexLength()
getMaxIndexLength
in interface java.sql.DatabaseMetaData
public long getMaxLogicalLobSize()
getMaxLogicalLobSize
in interface java.sql.DatabaseMetaData
public int getMaxSchemaNameLength()
getMaxSchemaNameLength
in interface java.sql.DatabaseMetaData
public int getMaxProcedureNameLength()
getMaxProcedureNameLength
in interface java.sql.DatabaseMetaData
public int getMaxCatalogNameLength()
getMaxCatalogNameLength
in interface java.sql.DatabaseMetaData
public int getMaxRowSize()
getMaxRowSize
in interface java.sql.DatabaseMetaData
public boolean doesMaxRowSizeIncludeBlobs()
doesMaxRowSizeIncludeBlobs
in interface java.sql.DatabaseMetaData
public int getMaxStatementLength()
getMaxStatementLength
in interface java.sql.DatabaseMetaData
public int getMaxStatements()
getMaxStatements
in interface java.sql.DatabaseMetaData
public int getMaxTableNameLength()
getMaxTableNameLength
in interface java.sql.DatabaseMetaData
public int getMaxTablesInSelect()
getMaxTablesInSelect
in interface java.sql.DatabaseMetaData
public int getMaxUserNameLength()
getMaxUserNameLength
in interface java.sql.DatabaseMetaData
public int getDefaultTransactionIsolation()
getDefaultTransactionIsolation
in interface java.sql.DatabaseMetaData
Connection
public boolean supportsTransactions()
supportsTransactions
in interface java.sql.DatabaseMetaData
public boolean supportsTransactionIsolationLevel(int level)
supportsTransactionIsolationLevel
in interface java.sql.DatabaseMetaData
level
- the values are defined in java.sql.ConnectionConnection
public boolean supportsDataDefinitionAndDataManipulationTransactions()
supportsDataDefinitionAndDataManipulationTransactions
in interface java.sql.DatabaseMetaData
public boolean supportsDataManipulationTransactionsOnly()
supportsDataManipulationTransactionsOnly
in interface java.sql.DatabaseMetaData
public boolean dataDefinitionCausesTransactionCommit()
dataDefinitionCausesTransactionCommit
in interface java.sql.DatabaseMetaData
public boolean dataDefinitionIgnoredInTransactions()
dataDefinitionIgnoredInTransactions
in interface java.sql.DatabaseMetaData
public 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.DatabaseMetaData
catalog
- a catalog name; "" retrieves those without a
catalog; null means drop catalog name from the selection criteriaschemaPattern
- a schema name pattern; "" retrieves those
without a schemaprocedureNamePattern
- a procedure name patternjava.sql.SQLException
- thrown on failure.getSearchStringEscape()
public java.sql.ResultSet getProceduresForODBC(java.lang.String catalog, java.lang.String schemaPattern, java.lang.String procedureNamePattern) throws java.sql.SQLException
java.sql.SQLException
public java.sql.ResultSet getFunctions(java.lang.String catalog, java.lang.String schemaPattern, java.lang.String functionNamePattern) throws java.sql.SQLException
Compatibility: This is a new method in the API which is only available with with Derby versions > 10.1 and JDK versions >= 1.6
Upgrade: Since this is a new query it does not have an SPS, and will be available as soon as any database, new or old, is booted with the new version of Derby, (in soft and hard upgrade).
getFunctions
in interface java.sql.DatabaseMetaData
catalog
- limit the search to functions in this catalog
(not used)schemaPattern
- limit the search to functions in schemas
matching this patternfunctionNamePattern
- limit the search to functions
matching this patternjava.sql.SQLException
- if any of the underlying jdbc methods failprivate java.sql.ResultSet doGetProcs(java.lang.String catalog, java.lang.String schemaPattern, java.lang.String procedureNamePattern, java.lang.String queryName) throws java.sql.SQLException
queryName
- Name of the query to execute; is used
to determine whether the result set should conform to
JDBC or ODBC specifications.java.sql.SQLException
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_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. Additional columns beyond SPECIFIC_NAME can be defined by the database.
getProcedureColumns
in interface java.sql.DatabaseMetaData
catalog
- a catalog name; "" retrieves those without a
catalog; null means drop catalog name from the selection criteriaschemaPattern
- a schema name pattern; "" retrieves those
without a schemaprocedureNamePattern
- a procedure name patterncolumnNamePattern
- a column name patternjava.sql.SQLException
- thrown on failure.getSearchStringEscape()
public java.sql.ResultSet getProcedureColumnsForODBC(java.lang.String catalog, java.lang.String schemaPattern, java.lang.String procedureNamePattern, java.lang.String columnNamePattern) throws java.sql.SQLException
java.sql.SQLException
public java.sql.ResultSet getFunctionColumns(java.lang.String catalog, java.lang.String schemaPattern, java.lang.String functionNamePattern, java.lang.String parameterNamePattern) throws java.sql.SQLException
Compatibility: This is a new method in the API which is only available with with Derby versions > 10.1 and JDK versions >= 1.6
Upgrade: Since this is a new query it does not have an SPS, and will be available as soon as any database, new or old, is booted with the new version of Derby, (in soft and hard upgrade).
getFunctionColumns
in interface java.sql.DatabaseMetaData
catalog
- limit the search to functions in this catalog
(not used)schemaPattern
- limit the search to functions in schemas
matching this patternfunctionNamePattern
- limit the search to functions
matching this patternparameterNamePattern
- limit the search parameters
matching this patternjava.sql.SQLException
- if a database error occursprivate java.sql.ResultSet doGetProcCols(java.lang.String catalog, java.lang.String schemaPattern, java.lang.String procedureNamePattern, java.lang.String columnNamePattern, java.lang.String queryName) throws java.sql.SQLException
queryName
- Name of the query to execute; is used
to determine whether the result set should conform to
JDBC or ODBC specifications.java.sql.SQLException
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:
null
)
null
)
null
)
null
)
null
)
Note: Some databases may not return information for all tables.
getTables
in interface java.sql.DatabaseMetaData
catalog
- a catalog name; "" retrieves those without a
catalog; null means drop catalog name from the selection criteriaschemaPattern
- a schema name pattern; "" retrieves those
without a schematableNamePattern
- a table name patterntypes
- a list of table types to include; null returns all typesjava.sql.SQLException
- thrown on failure.getSearchStringEscape()
public java.sql.ResultSet getSchemas() throws java.sql.SQLException
The schema columns are:
null
)getSchemas
in interface java.sql.DatabaseMetaData
java.sql.SQLException
- thrown on failure.public java.sql.ResultSet getCatalogs() throws java.sql.SQLException
The catalog column is:
getCatalogs
in interface java.sql.DatabaseMetaData
java.sql.SQLException
- thrown on failure.public java.sql.ResultSet getTableTypes() throws java.sql.SQLException
The table type is:
getTableTypes
in interface java.sql.DatabaseMetaData
java.sql.SQLException
- thrown on failure.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:
null
if DATA_TYPE
isn't REF)
null
if the
DATA_TYPE isn't REF)
null
if the
DATA_TYPE isn't REF)
null
if DATA_TYPE isn't DISTINCT or
user-generated REF)
getColumns
in interface java.sql.DatabaseMetaData
catalog
- a catalog name; "" retrieves those without a
catalog; null means drop catalog name from the selection criteriaschemaPattern
- a schema name pattern; "" retrieves those
without a schematableNamePattern
- a table name patterncolumnNamePattern
- a column name patternjava.sql.SQLException
- thrown on failure.getSearchStringEscape()
public java.sql.ResultSet getColumnsForODBC(java.lang.String catalog, java.lang.String schemaPattern, java.lang.String tableNamePattern, java.lang.String columnNamePattern) throws java.sql.SQLException
java.sql.SQLException
private java.sql.ResultSet doGetCols(java.lang.String catalog, java.lang.String schemaPattern, java.lang.String tableNamePattern, java.lang.String columnNamePattern, java.lang.String queryName) throws java.sql.SQLException
queryName
- Name of the query to execute; is used
to determine whether the result set should conform to
JDBC or ODBC specifications.java.sql.SQLException
public java.sql.ResultSet getColumnPrivileges(java.lang.String catalog, java.lang.String schema, java.lang.String table, java.lang.String columnNamePattern) throws java.sql.SQLException
Only privileges matching the column name criteria are returned. They are ordered by COLUMN_NAME and PRIVILEGE.
Each privilige description has the following columns:
getColumnPrivileges
in interface java.sql.DatabaseMetaData
catalog
- a catalog name; "" retrieves those without a
catalog; null means drop catalog name from the selection criteriaschema
- a schema name; "" retrieves those without a schematable
- a table namecolumnNamePattern
- a column name patternjava.sql.SQLException
- thrown on failure.getSearchStringEscape()
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.DatabaseMetaData
catalog
- a catalog name; "" retrieves those without a
catalog; null means drop catalog name from the selection criteriaschemaPattern
- a schema name pattern; "" retrieves those
without a schematableNamePattern
- a table name patternjava.sql.SQLException
- thrown on failure.getSearchStringEscape()
public java.sql.ResultSet getBestRowIdentifier(java.lang.String catalogPattern, java.lang.String schemaPattern, java.lang.String table, int scope, boolean nullable) throws java.sql.SQLException
Each column description has the following columns:
getBestRowIdentifier
in interface java.sql.DatabaseMetaData
catalogPattern
- a catalog name; "" retrieves those without a
catalog; null means drop catalog name from the selection criteriaschemaPattern
- 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.SQLException
- thrown on failure.public java.sql.ResultSet getBestRowIdentifierForODBC(java.lang.String catalogPattern, java.lang.String schemaPattern, java.lang.String table, int scope, boolean nullable) throws java.sql.SQLException
java.sql.SQLException
private java.sql.ResultSet doGetBestRowId(java.lang.String catalogPattern, java.lang.String schemaPattern, java.lang.String table, int scope, boolean nullable, java.lang.String queryPrefix) throws java.sql.SQLException
queryPrefix
- Prefix to be appended to the names of
the queries used in this method. This is used
to determine whether the result set should conform to
JDBC or ODBC specifications.java.sql.SQLException
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:
getVersionColumns
in interface java.sql.DatabaseMetaData
catalog
- a catalog name; "" retrieves those without a
catalog; null means drop catalog name from the selection criteriaschema
- a schema name; "" retrieves those without a schematable
- a table namejava.sql.SQLException
- thrown on failure.public java.sql.ResultSet getVersionColumnsForODBC(java.lang.String catalog, java.lang.String schema, java.lang.String table) throws java.sql.SQLException
java.sql.SQLException
private java.sql.ResultSet doGetVersionCols(java.lang.String catalog, java.lang.String schema, java.lang.String table, java.lang.String queryName) throws java.sql.SQLException
queryName
- Name of the query to execute; is used
to determine whether the result set should conform to
JDBC or ODBC specifications.java.sql.SQLException
private boolean notInSoftUpgradeMode() throws java.sql.SQLException
java.sql.SQLException
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:
getPrimaryKeys
in interface java.sql.DatabaseMetaData
catalog
- a catalog name; "" retrieves those without a
catalog; null means drop catalog name from the selection criteriaschema
- a schema name pattern; "" retrieves those
without a schematable
- a table namejava.sql.SQLException
- thrown on failure.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:
getImportedKeys
in interface java.sql.DatabaseMetaData
catalog
- a catalog name; "" retrieves those without a
catalog; null means drop catalog name from the selection criteriaschema
- a schema name pattern; "" retrieves those
without a schematable
- a table namejava.sql.SQLException
- thrown on failure.getExportedKeys(java.lang.String, java.lang.String, java.lang.String)
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:
getExportedKeys
in interface java.sql.DatabaseMetaData
catalog
- a catalog name; "" retrieves those without a
catalog; null means drop catalog name from the selection criteriaschema
- a schema name pattern; "" retrieves those
without a schematable
- a table namejava.sql.SQLException
- thrown on failure.getImportedKeys(java.lang.String, java.lang.String, java.lang.String)
public 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.DatabaseMetaData
primaryCatalog
- a catalog name; "" retrieves those without a
catalog; null means drop catalog name from the selection criteriaprimarySchema
- a schema name pattern; "" retrieves those
without a schemaprimaryTable
- the table name that exports the keyforeignCatalog
- a catalog name; "" retrieves those without a
catalog; null means drop catalog name from the selection criteriaforeignSchema
- a schema name pattern; "" retrieves those
without a schemaforeignTable
- the table name that imports the keyjava.sql.SQLException
- thrown on failure.getImportedKeys(java.lang.String, java.lang.String, java.lang.String)
public java.sql.ResultSet getCrossReferenceForODBC(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
java.sql.SQLException
public java.sql.ResultSet getTypeInfo() throws java.sql.SQLException
Each type description has the following columns:
getTypeInfo
in interface java.sql.DatabaseMetaData
java.sql.SQLException
- thrown on failure.public java.sql.ResultSet getTypeInfoForODBC() throws java.sql.SQLException
java.sql.SQLException
private java.sql.ResultSet getTypeInfoMinion(java.lang.String queryName) throws java.sql.SQLException
queryName
- the name of the query that fetches the informationjava.sql.SQLException
public 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.DatabaseMetaData
catalog
- a catalog name; "" retrieves those without a
catalog; null means drop catalog name from the selection criteriaschema
- 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.SQLException
- thrown on failure.public java.sql.ResultSet getIndexInfoForODBC(java.lang.String catalog, java.lang.String schema, java.lang.String table, boolean unique, boolean approximate) throws java.sql.SQLException
java.sql.SQLException
private java.sql.ResultSet doGetIndexInfo(java.lang.String catalog, java.lang.String schema, java.lang.String table, boolean unique, boolean approximate, java.lang.String queryName) throws java.sql.SQLException
queryName
- Name of the query to execute; is used
to determine whether the result set should conform to
JDBC or ODBC specifications.java.sql.SQLException
public boolean supportsResultSetType(int type)
supportsResultSetType
in interface java.sql.DatabaseMetaData
type
- defined in java.sql.ResultSetConnection
public boolean supportsResultSetConcurrency(int type, int concurrency)
supportsResultSetConcurrency
in interface java.sql.DatabaseMetaData
type
- defined in java.sql.ResultSetconcurrency
- type defined in java.sql.ResultSetConnection
public boolean ownUpdatesAreVisible(int type)
ownUpdatesAreVisible
in interface java.sql.DatabaseMetaData
type
- result set type, i.e. ResultSet.TYPE_XXXpublic boolean ownDeletesAreVisible(int type)
ownDeletesAreVisible
in interface java.sql.DatabaseMetaData
type
- result set type, i.e. ResultSet.TYPE_XXXpublic boolean ownInsertsAreVisible(int type)
ownInsertsAreVisible
in interface java.sql.DatabaseMetaData
type
- result set type, i.e. ResultSet.TYPE_XXXpublic boolean othersUpdatesAreVisible(int type)
othersUpdatesAreVisible
in interface java.sql.DatabaseMetaData
type
- result set type, i.e. ResultSet.TYPE_XXXpublic boolean othersDeletesAreVisible(int type)
othersDeletesAreVisible
in interface java.sql.DatabaseMetaData
type
- result set type, i.e. ResultSet.TYPE_XXXpublic boolean othersInsertsAreVisible(int type)
othersInsertsAreVisible
in interface java.sql.DatabaseMetaData
type
- result set type, i.e. ResultSet.TYPE_XXXpublic boolean updatesAreDetected(int type)
updatesAreDetected
in interface java.sql.DatabaseMetaData
type
- result set type, i.e. ResultSet.TYPE_XXXpublic boolean deletesAreDetected(int type)
deletesAreDetected
in interface java.sql.DatabaseMetaData
type
- result set type, i.e. ResultSet.TYPE_XXXpublic boolean insertsAreDetected(int type)
insertsAreDetected
in interface java.sql.DatabaseMetaData
type
- result set type, i.e. ResultSet.TYPE_XXXpublic boolean supportsBatchUpdates()
supportsBatchUpdates
in interface java.sql.DatabaseMetaData
public 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:
null
if
DATA_TYPE is not DISTINCT or not STRUCT with
REFERENCE_GENERATION = USER_DEFINED)
Note: If the driver does not support UDTs then an empty result set is returned.
getUDTs
in interface java.sql.DatabaseMetaData
catalog
- a catalog name; "" retrieves those without a
catalog; null means drop catalog name from the selection criteriaschemaPattern
- a schema name pattern; "" retrieves those
without a schematypeNamePattern
- a 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.sql.Connection getConnection()
getConnection
in interface java.sql.DatabaseMetaData
public boolean supportsStatementPooling()
supportsStatementPooling
in interface java.sql.DatabaseMetaData
public boolean supportsSavepoints()
supportsSavepoints
in interface java.sql.DatabaseMetaData
public boolean supportsNamedParameters()
supportsNamedParameters
in interface java.sql.DatabaseMetaData
public boolean supportsMultipleOpenResults()
supportsMultipleOpenResults
in interface java.sql.DatabaseMetaData
public boolean supportsGetGeneratedKeys()
supportsGetGeneratedKeys
in interface java.sql.DatabaseMetaData
public boolean supportsResultSetHoldability(int holdability)
supportsResultSetHoldability
in interface java.sql.DatabaseMetaData
holdability
- - one of the following constants:
ResultSet.HOLD_CURSORS_OVER_COMMIT or ResultSet.CLOSE_CURSORS_AT_COMMITpublic int getResultSetHoldability()
getResultSetHoldability
in interface java.sql.DatabaseMetaData
public int getDatabaseMajorVersion()
getDatabaseMajorVersion
in interface java.sql.DatabaseMetaData
public int getDatabaseMinorVersion()
getDatabaseMinorVersion
in interface java.sql.DatabaseMetaData
public int getJDBCMajorVersion()
getJDBCMajorVersion
in interface java.sql.DatabaseMetaData
public int getJDBCMinorVersion()
getJDBCMinorVersion
in interface java.sql.DatabaseMetaData
public int getSQLStateType()
getSQLStateType
in interface java.sql.DatabaseMetaData
public boolean locatorsUpdateCopy() throws java.sql.SQLException
For the embedded driver, all updates will be made to a copy.
Hence, this call will always return true
locatorsUpdateCopy
in interface java.sql.DatabaseMetaData
java.sql.SQLException
- Feature not implemented for now.public java.sql.ResultSet getSuperTypes(java.lang.String catalog, java.lang.String schemaPattern, java.lang.String typeNamePattern) throws java.sql.SQLException
getSuperTypes
in interface java.sql.DatabaseMetaData
catalog
- - a catalog name; "" retrieves those without a catalog;
null means drop catalog name from the selection criteriaschemaPattern
- - a schema name pattern; "" retrieves those without a schematypeNamePattern
- - a UDT name pattern; may be a fully-qualified namejava.sql.SQLException
- Feature not implemented for now.public java.sql.ResultSet getSuperTables(java.lang.String catalog, java.lang.String schemaPattern, java.lang.String typeNamePattern) throws java.sql.SQLException
getSuperTables
in interface java.sql.DatabaseMetaData
catalog
- - a catalog name; "" retrieves those without a catalog;
null means drop catalog name from the selection criteriaschemaPattern
- - a schema name pattern; "" retrieves those without a schematypeNamePattern
- - a UDT name pattern; may be a fully-qualified namejava.sql.SQLException
- if a database access error occurspublic java.sql.ResultSet getAttributes(java.lang.String catalog, java.lang.String schemaPattern, java.lang.String typeNamePattern, java.lang.String attributeNamePattern) throws java.sql.SQLException
getAttributes
in interface java.sql.DatabaseMetaData
catalog
- - a catalog name; must match the catalog name as it is
stored in the database; "" retrieves those without a catalog; null means that
the catalog name should not be used to narrow the searchschemaPattern
- - a schema name pattern; "" 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 databasejava.sql.SQLException
- if a database access error occurs.public java.sql.ResultSet getClientInfoProperties() throws java.sql.SQLException
Returns a list of the client info properties supported by the driver. The result set contains the following columns:
The ResultSet
is sorted by the NAME column.
getClientInfoProperties
in interface java.sql.DatabaseMetaData
ResultSet
object; each row is a
supported client info propertyjava.sql.SQLException
- if an error occurspublic java.sql.ResultSet getSchemas(java.lang.String catalog, java.lang.String schemaPattern) throws java.sql.SQLException
Get the schema names available in this database. The results are ordered by schema name.
The schema columns are:
null
)getSchemas
in interface java.sql.DatabaseMetaData
catalog
- catalog name used to narrow down the search; ""
means no catalog, null
means any catalogschemaPattern
- schema name used to narrow down the
search, null
means schema name should not be used
to narrow down searchResultSet
object in which each row is a
schema descriptionjava.sql.SQLException
- if a database error occurspublic java.sql.RowIdLifetime getRowIdLifetime() throws java.sql.SQLException
getRowIdLifetime
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean supportsStoredFunctionsUsingCallSyntax() throws java.sql.SQLException
supportsStoredFunctionsUsingCallSyntax
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public boolean autoCommitFailureClosesAllResultSets() throws java.sql.SQLException
ResultSet
s on a Connection
are closed if an error occurs when auto-commit in enabled.autoCommitFailureClosesAllResultSets
in interface java.sql.DatabaseMetaData
true
, since the embedded driver will close the open
ResultSet
sjava.sql.SQLException
public final boolean isWrapperFor(java.lang.Class<?> iface)
isWrapperFor
in interface java.sql.Wrapper
iface
- the interface to check forpublic final <T> T unwrap(java.lang.Class<T> iface) throws java.sql.SQLException
this
if this class implements the interface.unwrap
in interface java.sql.Wrapper
iface
- the interfacejava.sql.SQLException
- if no object is found that implements the
interfacepublic boolean generatedKeyAlwaysReturned()
generatedKeyAlwaysReturned
in interface java.sql.DatabaseMetaData
public java.sql.ResultSet getPseudoColumns(java.lang.String catalog, java.lang.String schemaPattern, java.lang.String tableNamePattern, java.lang.String columnNamePattern) throws java.sql.SQLException
getPseudoColumns
in interface java.sql.DatabaseMetaData
java.sql.SQLException
public java.sql.ResultSet getClientCachedMetaData() throws java.sql.SQLException
java.sql.SQLException
- if a database error occursprivate java.sql.ResultSet getSimpleQuery(java.lang.String nameKey, boolean net) throws java.sql.SQLException
nameKey
- the name of the querynet
- if true
, execute a query in
metadata_net.properties; otherwise, execute a query in
metadata.propertiesResultSet
valuejava.sql.SQLException
- if a database error occursprotected java.sql.ResultSet getSimpleQuery(java.lang.String nameKey) throws java.sql.SQLException
nameKey
- the name of the queryResultSet
valuejava.sql.SQLException
- if a database error occursprivate java.sql.PreparedStatement getPreparedQueryUsingSystemTables(java.lang.String nameKey, boolean net) throws java.sql.SQLException
nameKey
- the name of the querynet
- if true
, find query in SYSIBM schema;
otherwise, find query in SYS schemaPreparedStatement
valuejava.sql.SQLException
- if a database error occursprivate java.sql.PreparedStatement getPreparedQuery(java.lang.String queryName, boolean net) throws java.sql.SQLException
queryName
- Name of the metadata query for which we need
a prepared statementnet
- if true
, use metadata_net.properties
instead of metadata.propertiesjava.sql.SQLException
- if a database error occursprotected java.sql.PreparedStatement getPreparedQuery(java.lang.String queryName) throws java.sql.SQLException
queryName
- name of the queryPreparedStatement
valuejava.sql.SQLException
- if a database error occursprivate java.lang.String getQueryFromDescription(java.lang.String queryName, boolean net) throws StandardException
queryName
- name of the querynet
- if true
, get the query from
metadata_net.properties instead of metadata.propertiesStandardException
- if an error occursprivate java.sql.PreparedStatement prepareSPS(java.lang.String spsName, java.lang.String spsText, boolean net) throws StandardException, java.sql.SQLException
StandardException
java.sql.SQLException
protected static final java.lang.String swapNull(java.lang.String s)
private LanguageConnectionContext getLanguageConnectionContext()
private void loadQueryDescriptions()
queryDescriptions
and
queryDescriptions_net
.public final java.lang.Object run()
run
in interface java.security.PrivilegedAction<java.lang.Object>
null
Apache Derby V10.13 Internals - Copyright © 2004,2016 The Apache Software Foundation. All Rights Reserved.