Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

org.apache.derby.impl.jdbc
Class EmbedDatabaseMetaData  view EmbedDatabaseMetaData download EmbedDatabaseMetaData.java

java.lang.Object
  extended byorg.apache.derby.impl.jdbc.ConnectionChild
      extended byorg.apache.derby.impl.jdbc.EmbedDatabaseMetaData
All Implemented Interfaces:
java.sql.DatabaseMetaData, java.security.PrivilegedAction

public class EmbedDatabaseMetaData
extends ConnectionChild
implements java.sql.DatabaseMetaData, java.security.PrivilegedAction

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 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.


Field Summary
protected static boolean CLOSE
           
private  org.apache.derby.impl.sql.execute.GenericConstantActionFactory constantActionFactory
           
protected  org.apache.derby.jdbc.InternalDriver factory
          Factory for JDBC objects to be created.
protected  EmbedConnection localConn
           
protected static boolean NOCLOSE
           
private static java.util.Properties queryDescriptions
           
private  java.lang.String url
           
 
Fields inherited from interface java.sql.DatabaseMetaData
attributeNoNulls, attributeNullable, attributeNullableUnknown, bestRowNotPseudo, bestRowPseudo, bestRowSession, bestRowTemporary, bestRowTransaction, bestRowUnknown, columnNoNulls, columnNullable, columnNullableUnknown, importedKeyCascade, importedKeyInitiallyDeferred, importedKeyInitiallyImmediate, importedKeyNoAction, importedKeyNotDeferrable, importedKeyRestrict, importedKeySetDefault, importedKeySetNull, procedureColumnIn, procedureColumnInOut, procedureColumnOut, procedureColumnResult, procedureColumnReturn, procedureColumnUnknown, procedureNoNulls, procedureNoResult, procedureNullable, procedureNullableUnknown, procedureResultUnknown, procedureReturnsResult, sqlStateSQL99, sqlStateXOpen, tableIndexClustered, tableIndexHashed, tableIndexOther, tableIndexStatistic, typeNoNulls, typeNullable, typeNullableUnknown, typePredBasic, typePredChar, typePredNone, typeSearchable, versionColumnNotPseudo, versionColumnPseudo, versionColumnUnknown
 
Constructor Summary
EmbedDatabaseMetaData(EmbedConnection connection, java.lang.String url)
           
 
Method Summary
 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?
protected  void commitIfAutoCommit()
          Perform a commit if autocommit is enabled.
protected  void commitIfNeeded()
          Perform a commit if one is needed.
 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 tablePattern, 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 doGetPrimaryKeys(java.lang.String catalog, java.lang.String schema, java.lang.String table, java.lang.String queryName)
          Does the actual work for the getPrimaryKeys 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 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.
 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 tablePattern, 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 tablePattern, int scope, boolean nullable)
          Get a description of a table's optimal set of columns that uniquely identifies a row.
protected  java.util.Calendar getCal()
          Get and save a unique calendar object for this JDBC object.
 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 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.
protected  java.lang.Object getConnectionSynchronization()
          Return an object to be used for connection synchronization.
 org.apache.derby.iapi.services.context.ContextManager getContextManager()
           
 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.) This should normally return a single foreign key/primary key pair (most tables only import a foreign key from a table once.) They are ordered by FKTABLE_CAT, FKTABLE_SCHEM, FKTABLE_NAME, and KEY_SEQ.
 org.apache.derby.iapi.db.Database getDatabase()
           
 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? The values are defined in java.sql.Connection.
 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  EmbedConnection getEmbedConnection()
          Return a reference to the EmbedConnection
 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 _).
private  org.apache.derby.impl.sql.execute.GenericConstantActionFactory getGenericConstantActionFactory()
          Gets the constant action factory
 java.lang.String getIdentifierQuoteString()
          What's the string used to quote SQL identifiers? This returns a space " " if identifier quoting isn't supported.
 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  org.apache.derby.iapi.sql.conn.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? we don't have a limit...
 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)?
 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.
private  java.sql.PreparedStatement getPreparedQuery(java.lang.String nameKey)
           
 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 getPrimaryKeysForODBC(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"?
protected  java.util.Properties getQueryDescriptions()
           
 int getResultSetHoldability()
          JDBC 3.0 Retrieves the default holdability of this ResultSet object.
 java.sql.ResultSet getSchemas()
          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.
private  java.sql.ResultSet getSimpleQuery(java.lang.String nameKey)
           
 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 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 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 time and 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.
 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.
protected  java.sql.SQLException handleException(java.lang.Throwable t)
          Handle any exception.
protected  java.sql.SQLException handleException(java.lang.Throwable t, boolean close)
          Handle any exception.
 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? (Otherwise it appears at the end)
 boolean isReadOnly()
          Is the database in read-only mode?
private  java.util.Properties loadQueryDescriptions()
           
 boolean locatorsUpdateCopy()
          JDBC 3.0 Indicates whether updates made to a LOB are made on a copy or directly to the LOB.
protected  void needCommit()
          If Autocommit is on, note that a commit is needed.
protected  java.sql.SQLException newSQLException(java.lang.String messageId)
           
protected  java.sql.SQLException newSQLException(java.lang.String messageId, java.lang.Object arg1)
           
protected  java.sql.SQLException newSQLException(java.lang.String messageId, java.lang.Object arg1, java.lang.Object arg2)
           
 boolean nullPlusNonNullIsNull()
          Are concatenations between NULL and non-NULL values NULL? A JDBC-Compliant driver always returns true.
 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)
          This method tests whether or not the specified result set type sees deletes committed by others.
 boolean othersInsertsAreVisible(int type)
          This method tests whether or not the specified result set type sees inserts committed by others.
 boolean othersUpdatesAreVisible(int type)
          JDBC 2.0 Determine whether changes made by others are visible.
 boolean ownDeletesAreVisible(int type)
          This method tests whether or not the specified result set type sees its own deletes.
 boolean ownInsertsAreVisible(int type)
          This method tests whether or not the specified result set type sees its own inserts.
 boolean ownUpdatesAreVisible(int type)
          JDBC 2.0 Determine whether a result set's own changes visible.
private  java.util.Properties PBloadQueryDescriptions()
           
private  java.sql.PreparedStatement prepareSPS(java.lang.String spsName, java.lang.String spsText)
           
protected  void restoreContextStack()
          Setup the context stack (a.k.a.
 java.lang.Object run()
          This method performs an operation that requires higher privileges to perform.
protected  void setupContextStack()
          Setup the context stack (a.k.a.
 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? All JDBC-Compliant drivers must return true.
 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? A JDBC-Compliant driver always returns true.
 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? A JDBC-Compliant driver always returns true.
 boolean supportsLimitedOuterJoins()
          Is there limited support for outer joins? (This will be true if supportFullOuterJoins is true.)
 boolean supportsMinimumSQLGrammar()
          Is the ODBC Minimum SQL grammar supported? All JDBC-Compliant drivers must return true.
 boolean supportsMixedCaseIdentifiers()
          Does the database treat mixed case unquoted SQL identifiers as case sensitive and as a result store them in mixed case? A JDBC-Compliant driver will always return false.
 boolean supportsMixedCaseQuotedIdentifiers()
          Does the database treat mixed case quoted SQL identifiers as case sensitive and as a result store them in mixed case? A JDBC-Compliant driver will always return true.
 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? A JDBC-Compliant driver always returns true.
 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)
          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 supportsStoredProcedures()
          Are stored procedure calls using the stored procedure escape syntax supported?
 boolean supportsSubqueriesInComparisons()
          Are subqueries in comparison expressions supported? A JDBC-Compliant driver always returns true.
 boolean supportsSubqueriesInExists()
          Are subqueries in 'exists' expressions supported? A JDBC-Compliant driver always returns true.
 boolean supportsSubqueriesInIns()
          Are subqueries in 'in' statements supported? A JDBC-Compliant driver always returns true.
 boolean supportsSubqueriesInQuantifieds()
          Are subqueries in quantified expressions supported? A JDBC-Compliant driver always returns true.
 boolean supportsTableCorrelationNames()
          Are table correlation names supported? A JDBC-Compliant driver always returns true.
 boolean supportsTransactionIsolationLevel(int level)
          Does the database support the given transaction isolation level? DatabaseMetaData.supportsTransactionIsolation() should return false for isolation levels that are not supported even if a higher level can be substituted.
 boolean supportsTransactions()
          Are transactions supported? If not, commit is a noop and the isolation level is TRANSACTION_NONE.
 boolean supportsUnion()
          Is SQL UNION supported?
 boolean supportsUnionAll()
          Is SQL UNION ALL supported?
protected static java.lang.String swapNull(java.lang.String s)
           
 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?
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

url

private final java.lang.String url

constantActionFactory

private org.apache.derby.impl.sql.execute.GenericConstantActionFactory constantActionFactory

queryDescriptions

private static java.util.Properties queryDescriptions

CLOSE

protected static final boolean CLOSE
See Also:
Constant Field Values

NOCLOSE

protected static final boolean NOCLOSE
See Also:
Constant Field Values

localConn

protected EmbedConnection localConn

factory

protected final org.apache.derby.jdbc.InternalDriver factory
Factory for JDBC objects to be created.

Constructor Detail

EmbedDatabaseMetaData

public EmbedDatabaseMetaData(EmbedConnection connection,
                             java.lang.String url)
                      throws java.sql.SQLException
Method Detail

getQueryDescriptions

protected final java.util.Properties getQueryDescriptions()

PBloadQueryDescriptions

private java.util.Properties PBloadQueryDescriptions()

allProceduresAreCallable

public boolean allProceduresAreCallable()
Can all the procedures returned by getProcedures be called by the current user?

Specified by:
allProceduresAreCallable in interface java.sql.DatabaseMetaData

allTablesAreSelectable

public boolean allTablesAreSelectable()
Can all the tables returned by getTable be SELECTed by the current user?

Specified by: