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

Quick Search    Search Deep

org.apache.derby.client.am
Class DatabaseMetaData  view DatabaseMetaData download DatabaseMetaData.java

java.lang.Object
  extended byorg.apache.derby.client.am.DatabaseMetaData
All Implemented Interfaces:
java.sql.DatabaseMetaData

public abstract class DatabaseMetaData
extends java.lang.Object
implements java.sql.DatabaseMetaData


Field Summary
protected  Agent agent_
           
private static int allProceduresAreCallable__
           
private static int allTablesAreSelectable__
           
protected  Connection connection_
           
private static int dataDefinitionCausesTransactionCommit__
           
private static int dataDefinitionIgnoredInTransactions__
           
private static int deletesAreDetected__
           
private static int doesMaxRowSizeIncludeBlobs__
           
private static int getCatalogSeparator__
           
private static int getCatalogTerm__
           
private static int getDefaultTransactionIsolation__
           
private static int getExtraNameCharacters__
           
private static int getMaxBinaryLiteralLength__
           
private static int getMaxCatalogNameLength__
           
private static int getMaxCharLiteralLength__
           
private static int getMaxColumnNameLength__
           
private static int getMaxColumnsInGroupBy__
           
private static int getMaxColumnsInIndex__
           
private static int getMaxColumnsInOrderBy__
           
private static int getMaxColumnsInSelect__
           
private static int getMaxColumnsInTable__
           
private static int getMaxConnections__
           
private static int getMaxCursorNameLength__
           
private static int getMaxIndexLength__
           
private static int getMaxProcedureNameLength__
           
private static int getMaxRowSize__
           
private static int getMaxSchemaNameLength__
           
private static int getMaxStatementLength__
           
private static int getMaxStatements__
           
private static int getMaxTableNameLength__
           
private static int getMaxTablesInSelect__
           
private static int getMaxUserNameLength__
           
private static int getNumericFunctions__
           
private static int getProcedureTerm__
           
private static int getSchemaTerm__
           
private static int getSearchStringEscape__
           
private static int getSQLKeywords__
           
private static int getStringFunctions__
           
private static int getSystemFunctions__
           
private static int getTimeDateFunctions__
           
private static int insertsAreDetected__
           
private static int isCatalogAtStart__
           
private  ResultSet lastGetAttrResultSet_
           
private  ResultSet lastGetColumnPrivilegesResultSet_
           
private  ResultSet lastGetColumnsResultSet_
           
private  ResultSet lastGetForeignKeysResultSet_
           
private  ResultSet lastGetPrimaryKeysResultSet_
           
private  ResultSet lastGetProcedureColumnsResultSet_
           
private  ResultSet lastGetProceduresResultSet_
           
private  ResultSet lastGetSpecialColumnsResultSet_
           
private  ResultSet lastGetStatisticsResultSet_
           
private  ResultSet lastGetSuperTablesResultSet_
           
private  ResultSet lastGetSuperTypesResultSet_
           
private  ResultSet lastGetTablePrivilegesResultSet_
           
private  ResultSet lastGetTablesResultSet_
           
private  ResultSet lastGetTypeInfoResultSet_
           
private  ResultSet lastGetUDTsResultSet_
           
private  java.lang.Object[] metaDataInfoCache_
           
private  boolean metaDataInfoIsCached_
           
private static int nullsAreSortedAtEnd__
           
private static int nullsAreSortedAtStart__
           
private static int nullsAreSortedHigh__
           
private static int nullsAreSortedLow__
           
private static int numberOfMetaDataInfoMethods__
           
private static int othersDeletesAreVisible__
           
private static int othersInsertsAreVisible__
           
private static int othersUpdatesAreVisible__
           
private static int ownDeletesAreVisible__
           
private static int ownInsertsAreVisible__
           
private static int ownUpdatesAreVisible__
           
 ProductLevel productLevel_
           
private static short SQL_BEST_ROWID
           
private static short SQL_INDEX_ALL
           
private static short SQL_INDEX_UNIQUE
           
private static short SQL_ROWVER
           
private static int storesLowerCaseIdentifiers__
           
private static int storesLowerCaseQuotedIdentifiers__
           
private static int storesMixedCaseIdentifiers__
           
private static int storesMixedCaseQuotedIdentifiers__
           
private static int storesUpperCaseIdentifiers__
           
private static int storesUpperCaseQuotedIdentifiers__
           
private static int supportsAlterTableWithAddColumn__
           
private static int supportsAlterTableWithDropColumn__
           
private static int supportsANSI92FullSQL__
           
private static int supportsANSI92IntermediateSQL__
           
private static int supportsBatchUpdates__
           
private static int supportsCatalogsInDataManipulation__
           
private static int supportsCatalogsInIndexDefinitions__
           
private static int supportsCatalogsInPrivilegeDefinitions__
           
private static int supportsCatalogsInProcedureCalls__
           
private static int supportsCatalogsInTableDefinitions__
           
private static int supportsConvert__
           
private static int supportsConvertType__
           
private static int supportsCoreSQLGrammar__
           
private static int supportsDataDefinitionAndDataManipulationTransactions__
           
private static int supportsDataManipulationTransactionsOnly__
           
private static int supportsDifferentTableCorrelationNames__
           
private static int supportsExpressionsInOrderBy__
           
private static int supportsExtendedSQLGrammar__
           
private static int supportsFullOuterJoins__
           
private static int supportsGroupBy__
           
private static int supportsGroupByBeyondSelect__
           
private static int supportsGroupByUnrelated__
           
private static int supportsIntegrityEnhancementFacility__
           
private static int supportsLimitedOuterJoins__
           
private static int supportsMultipleResultSets__
           
private static int supportsMultipleTransactions__
           
private static int supportsOpenCursorsAcrossCommit__
           
private static int supportsOpenCursorsAcrossRollback__
           
private static int supportsOpenStatementsAcrossCommit__
           
private static int supportsOpenStatementsAcrossRollback__
           
private static int supportsOrderByUnrelated__
           
private static int supportsOuterJoins__
           
private static int supportsPositionedDelete__
           
private static int supportsPositionedUpdate__
           
private static int supportsResultSetConcurrency__
           
private static int supportsResultSetType__
           
private static int supportsSchemasInDataManipulation__
           
private static int supportsSchemasInIndexDefinitions__
           
private static int supportsSchemasInPrivilegeDefinitions__
           
private static int supportsSchemasInProcedureCalls__
           
private static int supportsSchemasInTableDefinitions__
           
private static int supportsSelectForUpdate__
           
private static int supportsStoredProcedures__
           
private static int supportsSubqueriesInComparisons__
           
private static int supportsTransactionIsolationLevel__
           
private static int supportsTransactions__
           
private static int supportsUnion__
           
private static int supportsUnionAll__
           
private static int updatesAreDetected__
           
 boolean useServerXAState_
           
private static int usesLocalFilePerTable__
           
private static int usesLocalFiles__
           
 
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
protected DatabaseMetaData(Agent agent, Connection connection, ProductLevel productLevel)
           
 
Method Summary
 boolean allProceduresAreCallable()
          This method tests whether or not all the procedures returned by the getProcedures method can be called by this user.
 boolean allTablesAreSelectable()
          This method tests whether or not all the table returned by the getTables method can be selected by this user.
private  void checkForClosedConnection()
           
protected abstract  void computeFeatureSet_()
           
 boolean dataDefinitionCausesTransactionCommit()
          This method tests whether or not a DDL statement will cause the current transaction to be automatically committed.
 boolean dataDefinitionIgnoredInTransactions()
          This method tests whether or not DDL statements are ignored in transactions.
 boolean deletesAreDetected(int type)
          This method tests whether or not the specified result set type can detect a visible delete by calling the rowUpdated method.
 boolean doesMaxRowSizeIncludeBlobs()
          This method tests whether or not the maximum row size includes BLOB's
private  ResultSet executeCatalogQuery(PreparedStatement cs)
           
 java.sql.ResultSet getAttributes(java.lang.String catalog, java.lang.String schemaPattern, java.lang.String typeNamePattern, java.lang.String attributeNamePattern)
           
private  ResultSet getAttributesX()
           
 java.sql.ResultSet getBestRowIdentifier(java.lang.String catalog, java.lang.String schema, java.lang.String table, int scope, boolean nullable)
          This method returns the best set of columns for uniquely identifying a row.
private  ResultSet getBestRowIdentifierX(java.lang.String catalog, java.lang.String schema, java.lang.String table, int scope, boolean nullable)
           
 java.sql.ResultSet getCatalogs()
          This method returns the list of database catalogs as a ResultSet with one column - TABLE_CAT - that is the name of the catalog.
 java.lang.String getCatalogSeparator()
          This method returns the separator between the catalog name and the table name.
private  ResultSet getCatalogsX()
           
 java.lang.String getCatalogTerm()
          This method returns the vendor's term for "catalog".
 java.sql.ResultSet getColumnPrivileges(java.lang.String catalog, java.lang.String schema, java.lang.String table, java.lang.String columnNamePattern)
          This method returns the access rights that have been granted to the requested columns.
private  ResultSet getColumnPrivilegesX(java.lang.String catalog, java.lang.String schema, java.lang.String table, java.lang.String columnNamePattern)
           
 java.sql.ResultSet getColumns(java.lang.String catalog, java.lang.String schemaPattern, java.lang.String tableNamePattern, java.lang.String columnNamePattern)
          This method returns a list of the tables columns for the requested tables.
private  ResultSet getColumnsX(java.lang.String catalog, java.lang.String schemaPattern, java.lang.String tableNamePattern, java.lang.String columnNamePattern)
           
 java.sql.Connection getConnection()
          This method returns the Connection object that was used to generate the metadata in this 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)
          This method returns a description of how one table imports another table's primary key as a foreign key.
private  ResultSet getCrossReferenceX(java.lang.String primaryCatalog, java.lang.String primarySchema, java.lang.String primaryTable, java.lang.String foreignCatalog, java.lang.String foreignSchema, java.lang.String foreignTable)
           
 int getDatabaseMajorVersion()
          This method returns the major version number of the database.
 int getDatabaseMinorVersion()
          This method returns the minor version number of the database.
 java.lang.String getDatabaseProductName()
          This method returns the name of the database product.
 java.lang.String getDatabaseProductVersion()
          This method returns the version of the database product.
 int getDefaultTransactionIsolation()
          This method returns the default transaction isolation level of the database.
 int getDriverMajorVersion()
          This method returns the major version number of the JDBC driver.
 int getDriverMinorVersion()
          This method returns the minor version number of the JDBC driver.
 java.lang.String getDriverName()
          This method returns the name of the JDBC driver.
 java.lang.String getDriverVersion()
          This method returns the version of the JDBC driver.
 java.sql.ResultSet getExportedKeys(java.lang.String catalog, java.lang.String schema, java.lang.String table)
          This method returns a list of the table's which use this table's primary key as a foreign key.
private  ResultSet getExportedKeysX(java.lang.String catalog, java.lang.String schema, java.lang.String table)
           
 java.lang.String getExtraNameCharacters()
          This methods returns non-standard characters that can appear in unquoted identifiers.
 java.lang.String getIdentifierQuoteString()
          This metohd returns the quote string for SQL identifiers.
 java.sql.ResultSet getImportedKeys(java.lang.String catalog, java.lang.String schema, java.lang.String table)
          This method returns a list of the table's foreign keys.
private  ResultSet getImportedKeysX(java.lang.String catalog, java.lang.String schema, java.lang.String table)
           
 java.sql.ResultSet getIndexInfo(java.lang.String catalog, java.lang.String schema, java.lang.String table, boolean unique, boolean approximate)
          This method returns information about a tables indices and statistics.
private  ResultSet getIndexInfoX(java.lang.String catalog, java.lang.String schema, java.lang.String table, boolean unique, boolean approximate)
           
 int getJDBCMajorVersion()
          This method returns the major version number of the JDBC driver.
 int getJDBCMinorVersion()
          This method returns the minor version number of the JDBC driver.
 int getMaxBinaryLiteralLength()
          This method returns the number of hex characters allowed in an inline binary literal.
 int getMaxCatalogNameLength()
          This method returns the maximum length of a catalog name.
 int getMaxCharLiteralLength()
          This method returns the maximum length of a character literal.
 int getMaxColumnNameLength()
          This method returns the maximum length of a column name.
 int getMaxColumnsInGroupBy()
          This method returns the maximum number of columns in a GROUP BY statement.
 int getMaxColumnsInIndex()
          This method returns the maximum number of columns in an index.
 int getMaxColumnsInOrderBy()
          This method returns the maximum number of columns in an ORDER BY statement.
 int getMaxColumnsInSelect()
          This method returns the maximum number of columns in a SELECT statement.
 int getMaxColumnsInTable()
          This method returns the maximum number of columns in a table.
 int getMaxConnections()
          This method returns the maximum number of connections this client can have to the database.
 int getMaxCursorNameLength()
          This method returns the maximum length of a cursor name.
 int getMaxIndexLength()
          This method returns the maximum length of an index.
 int getMaxProcedureNameLength()
          This method returns the maximum length of a procedure name.
 int getMaxRowSize()
          This method returns the maximum size of a row in bytes.
 int getMaxSchemaNameLength()
          This method returns the maximum length of a schema name.
 int getMaxStatementLength()
          This method includes the maximum length of a SQL statement.
 int getMaxStatements()
          This method returns the maximum number of statements that can be active at any time.
 int getMaxTableNameLength()
          This method returns the maximum length of a table name.
 int getMaxTablesInSelect()
          This method returns the maximum number of tables that may be referenced in a SELECT statement.
 int getMaxUserNameLength()
          This method returns the maximum length of a user name.
private  boolean getMetaDataInfoBoolean_supportsConvert(int infoCallIndex, int fromType, int toType)
           
private  boolean getMetaDataInfoBoolean(int infoCallIndex)
           
private  boolean getMetaDataInfoBooleanWithType(int infoCallIndex, int type)
           
private  boolean getMetaDataInfoInt_SupportsResultSetConcurrency(int infoCallIndex, int type, int concurrency)
           
private  int getMetaDataInfoInt(int infoCallIndex)
           
private  java.lang.String getMetaDataInfoString(int infoCallIndex)
           
 java.lang.String getNumericFunctions()
          This method returns a comma separated list of math functions.
private  java.lang.String getOptions()
           
 java.sql.ResultSet getPrimaryKeys(java.lang.String catalog, java.lang.String schema, java.lang.String table)
          This method returns a list of a table's primary key columns.
private  ResultSet getPrimaryKeysX(java.lang.String catalog, java.lang.String schema, java.lang.String table)
           
 java.sql.ResultSet getProcedureColumns(java.lang.String catalog, java.lang.String schemaPattern, java.lang.String procedureNamePattern, java.lang.String columnNamePattern)
          This method returns a list of the parameter and result columns for the requested stored procedures.
private  ResultSet getProcedureColumnsX(java.lang.String catalog, java.lang.String schemaPattern, java.lang.String procedureNamePattern, java.lang.String columnNamePattern)
           
 java.sql.ResultSet getProcedures(java.lang.String catalog, java.lang.String schemaPattern, java.lang.String procedureNamePattern)
          This method returns a list of all the stored procedures matching the specified pattern in the given schema and catalog.
private  ResultSet getProceduresX(java.lang.String catalog, java.lang.String schemaPattern, java.lang.String procedureNamePattern)
           
 java.lang.String getProcedureTerm()
          This method returns the vendor's term for "procedure".
 int getResultSetHoldability()
          This method returns the default holdability type of ResultSetS retrieved from this database.
 java.sql.ResultSet getSchemas()
          This method returns the list of database schemas as a ResultSet, with one column - TABLE_SCHEM - that is the name of the schema.
private  ResultSet getSchemasX()
           
 java.lang.String getSchemaTerm()
          This method returns the vendor's term for "schema".
 java.lang.String getSearchStringEscape()
          This method returns the string used to escape wildcards in search strings.
 java.lang.String getSQLKeywords()
          This method returns a comma separated list of all the SQL keywords in the database that are not in SQL92.
 int getSQLStateType()
           
 java.lang.String getStringFunctions()
          This method returns a comma separated list of string functions.
 java.sql.ResultSet getSuperTables(java.lang.String catalog, java.lang.String schemaPattern, java.lang.String tableNamePattern)
           
private  ResultSet getSuperTablesX()
           
 java.sql.ResultSet getSuperTypes(java.lang.String catalog, java.lang.String schemaPattern, java.lang.String typeNamePattern)
           
private  ResultSet getSuperTypesX()
           
 java.lang.String getSystemFunctions()
          This method returns a comma separated list of of system functions.
 java.sql.ResultSet getTablePrivileges(java.lang.String catalog, java.lang.String schemaPattern, java.lang.String tableNamePattern)
          This method returns the access rights that have been granted to the requested tables.
private  ResultSet getTablePrivilegesX(java.lang.String catalog, java.lang.String schemaPattern, java.lang.String tableNamePattern)
           
 java.sql.ResultSet getTables(java.lang.String catalog, java.lang.String schemaPattern, java.lang.String tableNamePattern, java.lang.String[] types)
          This method returns a list of the requested table as a ResultSet with the following columns: TABLE_CAT - The catalog the table is in, which may be null. TABLE_SCHEM - The schema the table is in, which may be null. TABLE_NAME - The name of the table. TABLE_TYPE - A string describing the table type.
private  ResultSet getTablesX(java.lang.String catalog, java.lang.String schemaPattern, java.lang.String tableNamePattern, java.lang.String[] types)
           
 java.sql.ResultSet getTableTypes()
          This method returns the list of database table types as a ResultSet with one column - TABLE_TYPE - that is the name of the table type.
private  ResultSet getTableTypesX()
           
 java.lang.String getTimeDateFunctions()
          This method returns comma separated list of time/date functions.
 java.sql.ResultSet getTypeInfo()
          This method returns a list of the SQL types supported by this database.
private  ResultSet getTypeInfoX()
           
 java.sql.ResultSet getUDTs(java.lang.String catalog, java.lang.String schemaPattern, java.lang.String typeNamePattern, int[] types)
          This method returns the list of user defined data types in use.
private  ResultSet getUDTsX(java.lang.String catalog, java.lang.String schemaPattern, java.lang.String typeNamePattern, int[] types)
           
abstract  java.lang.String getURL_()
           
 java.lang.String getURL()
          This method returns the URL for this database.
 java.lang.String getUserName()
          This method returns the database username for this connection.
 java.sql.ResultSet getVersionColumns(java.lang.String catalog, java.lang.String schema, java.lang.String table)
          This method returns the set of columns that are automatically updated when the row is update.
private  ResultSet getVersionColumnsX(java.lang.String catalog, java.lang.String schema, java.lang.String table)
           
 boolean insertsAreDetected(int type)
          This method tests whether or not the specified result set type can detect a visible insert by calling the rowUpdated method.
 boolean isCatalogAtStart()
          This method tests whether a catalog name appears at the beginning of a fully qualified table name.
 boolean isReadOnly()
          This method tests whether or not the database is in read only mode.
 boolean locatorsUpdateCopy()
           
private  void metaDataInfoCall()
           
 boolean nullPlusNonNullIsNull()
          This method tests whether the concatenation of a NULL and non-NULL value results in a NULL.
 boolean nullsAreSortedAtEnd()
          This method test whether or not NULL's are sorted to the end of the list regardless of ascending or descending sort order.
 boolean nullsAreSortedAtStart()
          This method tests whether or not NULL's sort as high values.
 boolean