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

Quick Search    Search Deep

org.hsqldb
Class jdbcDatabaseMetaData  view jdbcDatabaseMetaData download jdbcDatabaseMetaData.java

java.lang.Object
  extended byorg.hsqldb.jdbcDatabaseMetaData
All Implemented Interfaces:
java.sql.DatabaseMetaData

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

Comprehensive information about the database as a whole.

This interface is implemented by driver vendors to let users know the capabilities of a Database Management System (DBMS) in combination with the driver based on JDBCTM technology ("JDBC driver") that is used with it. Different relational DBMSs often support different features, implement features in different ways, and use different data types. In addition, a driver may implement a feature on top of what the DBMS offers. Information returned by methods in this interface applies to the capabilities of a particular driver and a particular DBMS working together. Note that as used in this documentation, the term "database" is used generically to refer to both the driver and DBMS.

A user for this interface is commonly a tool that needs to discover how to deal with the underlying DBMS. This is especially true for applications that are intended to be used with more than one DBMS. For example, a tool might use the method getTypeInfo to find out what data types can be used in a CREATE TABLE statement. Or a user might call the method supportsCorrelatedSubqueries to see if it is possible to use a correlated subquery or supportsBatchUpdates to see if it is possible to use batch updates.

Some DatabaseMetaData methods return lists of information in the form of ResultSet objects. Regular ResultSet methods, such as getString and getInt, can be used to retrieve the data from these ResultSet objects. If a given form of metadata is not available, the ResultSet getter methods throw an SQLException.

Some DatabaseMetaData 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 null, that argument's criterion will be dropped from the search.

A method that gets information about a feature that the driver does not support will throw an SQLException. In the case of methods that return a ResultSet object, either a ResultSet object (which may be empty) is returned or an SQLException is thrown.

HSQLDB-Specific Information:

JRE 1.1.x Notes:

In general, JDBC 2 support requires Java 1.2 and above, and JDBC3 requires Java 1.4 and above. In HSQLDB, support for methods introduced in different versions of JDBC depends on the JDK version used for compiling and building HSQLDB.

Since 1.7.0, it is possible to build the product so that all JDBC 2 methods can be called while executing under the version 1.1.x Java Runtime EnvironmentTM. However, some of these method calls require int values that are defined only in the JDBC 2 or greater version of ResultSet interface. For this reason, when the product is compiled under JDK 1.1.x, these values are defined in jdbcResultSet.

In a JRE 1.1.x environment, calling JDBC 2 methods that take or return the JDBC2-only ResultSet values can be achieved by referring to them in parameter specifications and return value comparisons, respectively, as follows:

dbcResultSet.FETCH_FORWARD
jdbcResultSet.TYPE_FORWARD_ONLY
jdbcResultSet.TYPE_SCROLL_INSENSITIVE
jdbcResultSet.CONCUR_READ_ONLY

However, please note that code written in such a manner will not be compatible for use with other JDBC 2 drivers, since they expect and use ResultSet, rather than jdbcResultSet. Also note, this feature is offered solely as a convenience to developers who must work under JDK 1.1.x due to operating constraints, yet wish to use some of the more advanced features available under the JDBC 2 specification.

(fredt@users)
(boucherb@users)


Field Summary
private  jdbcConnection cConnection
          The connection this object uses to retrieve instance-specific metadata.
 
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
(package private) jdbcDatabaseMetaData(jdbcConnection c)
          Constructs a new jdbcDatabaseMetaData object using the specified connection.
 
Method Summary
private  java.lang.String addWhere(java.lang.String where, java.lang.String s)
          Catenates the specified "where" clause with the specified String s, inserting an " AND " conjunction between them.
 boolean allProceduresAreCallable()
          Retrieves whether the current user can call all the procedures returned by the method getProcedures.
 boolean allTablesAreSelectable()
          Retrieves whether the current user can use all the tables returned by the method getTables in a SELECT statement.
 boolean dataDefinitionCausesTransactionCommit()
          Retrieves whether a data definition statement within a transaction forces the transaction to commit.
 boolean dataDefinitionIgnoredInTransactions()
          Retrieves whether this database ignores a data definition statement within a transaction.
 boolean deletesAreDetected(int type)
          Retrieves whether or not a visible row delete can be detected by calling the method ResultSet.rowDeleted.
 boolean doesMaxRowSizeIncludeBlobs()
          Retrieves whether the return value for the method getMaxRowSize includes the SQL data types LONGVARCHAR and LONGVARBINARY.
private  java.sql.ResultSet executeSelect(java.lang.String table, java.lang.String where)
          Executes a select statement using the specified table and where clause.
 java.sql.ResultSet getAttributes(java.lang.String catalog, java.lang.String schemaPattern, java.lang.String typeNamePattern, java.lang.String attributeNamePattern)
          Retrieves a description of the given attribute of the given type for a user-defined type (UDT) that is available in the given schema and catalog.
 java.sql.ResultSet getBestRowIdentifier(java.lang.String catalog, java.lang.String schema, java.lang.String table, int scope, boolean nullable)
          Retrieves a description of a table's optimal set of columns that uniquely identifies a row.
 java.sql.ResultSet getCatalogs()
          Retrieves the catalog names available in this database.
 java.lang.String getCatalogSeparator()
          Retrieves the String that this database uses as the separator between a catalog and table name.
 java.lang.String getCatalogTerm()
          Retrieves 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)
          Retrieves a description of the access rights for a table's columns.
 java.sql.ResultSet getColumns(java.lang.String catalog, java.lang.String schemaPattern, java.lang.String tableNamePattern, java.lang.String columnNamePattern)
          Retrieves a description of table columns available in the specified catalog.
 java.sql.Connection getConnection()
          Retrieves 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)
          Retrieves a description of the foreign key columns in the given foreign key table that reference the primary key columns of the given primary key table (describe how one table imports another's key).
 int getDatabaseMajorVersion()
          Retrieves the major version number of the underlying database.
 int getDatabaseMinorVersion()
          Retrieves the minor version number of the underlying database.
 java.lang.String getDatabaseProductName()
          Retrieves the name of this database product.
 java.lang.String getDatabaseProductVersion()
          Retrieves the version number of this database product.
 int getDefaultTransactionIsolation()
          Retrieves this database's default transaction isolation level.
 int getDriverMajorVersion()
          Retrieves this JDBC driver's major version number.
 int getDriverMinorVersion()
          Retrieves this JDBC driver's minor version number.
 java.lang.String getDriverName()
          Retrieves the name of this JDBC driver.
 java.lang.String getDriverVersion()
          Retrieves the version number of this JDBC driver as a String.
 java.sql.ResultSet getExportedKeys(java.lang.String catalog, java.lang.String schema, java.lang.String table)
          Retrieves a description of the foreign key columns that reference the given table's primary key columns (the foreign keys exported by a table).
 java.lang.String getExtraNameCharacters()
          Retrieves all the "extra" characters that can be used in unquoted identifier names (those beyond a-z, A-Z, 0-9 and _).
 java.lang.String getIdentifierQuoteString()
          Retrieves the string used to quote SQL identifiers.
 java.sql.ResultSet getImportedKeys(java.lang.String catalog, java.lang.String schema, java.lang.String table)
          Retrieves a description of the primary key columns that are referenced by 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)
          Retrieves a description of the given table's indices and statistics.
 int getJDBCMajorVersion()
          Retrieves the major JDBC version number for this driver.
 int getJDBCMinorVersion()
          Retrieves the minor JDBC version number for this driver.
 int getMaxBinaryLiteralLength()
          Retrieves the maximum number of hex characters this database allows in an inline binary literal.
 int getMaxCatalogNameLength()
          Retrieves the maximum number of characters that this database allows in a catalog name.
 int getMaxCharLiteralLength()
          Retrieves the maximum number of characters this database allows for a character literal.
 int getMaxColumnNameLength()
          Retrieves the maximum number of characters this database allows for a column name.
 int getMaxColumnsInGroupBy()
          Retrieves the maximum number of columns this database allows in a GROUP BY clause.
 int getMaxColumnsInIndex()
          Retrieves the maximum number of columns this database allows in an index.
 int getMaxColumnsInOrderBy()
          Retrieves the maximum number of columns this database allows in an ORDER BY clause.
 int getMaxColumnsInSelect()
          Retrieves the maximum number of columns this database allows in a SELECT list.
 int getMaxColumnsInTable()
          Retrieves the maximum number of columns this database allows in a table.
 int getMaxConnections()
          Retrieves the maximum number of concurrent connections to this database that are possible.
 int getMaxCursorNameLength()
          Retrieves the maximum number of characters that this database allows in a cursor name.
 int getMaxIndexLength()
          Retrieves the maximum number of bytes this database allows for an index, including all of the parts of the index.
 int getMaxProcedureNameLength()
          Retrieves the maximum number of characters that this database allows in a procedure name.
 int getMaxRowSize()
          Retrieves the maximum number of bytes this database allows in a single row.
 int getMaxSchemaNameLength()
          Retrieves the maximum number of characters that this database allows in a schema name.
 int getMaxStatementLength()
          Retrieves the maximum number of characters this database allows in an SQL statement.
 int getMaxStatements()
          Retrieves the maximum number of active statements to this database that can be open at the same time.
 int getMaxTableNameLength()
          Retrieves the maximum number of characters this database allows in a table name.
 int getMaxTablesInSelect()
          Retrieves the maximum number of tables this database allows in a SELECT statement.
 int getMaxUserNameLength()
          Retrieves the maximum number of characters this database allows in a user name.
 java.lang.String getNumericFunctions()
          Retrieves a comma-separated list of math functions available with this database.
 java.sql.ResultSet getPrimaryKeys(java.lang.String catalog, java.lang.String schema, java.lang.String table)
          Retrieves a description of the given table's primary key columns.
 java.sql.ResultSet getProcedureColumns(java.lang.String catalog, java.lang.String schemaPattern, java.lang.String procedureNamePattern, java.lang.String columnNamePattern)
          Retrieves a description of the given catalog's stored procedure parameter and result columns.
 java.sql.ResultSet getProcedures(java.lang.String catalog, java.lang.String schemaPattern, java.lang.String procedureNamePattern)
          Retrieves a description of the stored procedures available in the given catalog.
 java.lang.String getProcedureTerm()
          Retrieves the database vendor's preferred term for "procedure".
 int getResultSetHoldability()
          Retrieves the default holdability of this ResultSet object.
 java.sql.ResultSet getSchemas()
          Retrieves the schema names available in this database.
 java.lang.String getSchemaTerm()
          Retrieves the database vendor's preferred term for "schema".
 java.lang.String getSearchStringEscape()
          Retrieves the string that can be used to escape wildcard characters.
 java.lang.String getSQLKeywords()
          Retrieves a comma-separated list of all of this database's SQL keywords that are NOT also SQL92 keywords.
 int getSQLStateType()
          Indicates whether the SQLSTATEs returned by SQLException.getSQLState is X/Open (now known as Open Group) SQL CLI or SQL99.
 java.lang.String getStringFunctions()
          Retrieves a comma-separated list of string functions available with this database.
 java.sql.ResultSet getSuperTables(java.lang.String catalog, java.lang.String schemaPattern, java.lang.String tableNamePattern)
          Retrieves a description of the table hierarchies defined in a particular schema in this database.
 java.sql.ResultSet getSuperTypes(java.lang.String catalog, java.lang.String schemaPattern, java.lang.String typeNamePattern)
          Retrieves a description of the user-defined type (UDT) hierarchies defined in a particular schema in this database.
 java.lang.String getSystemFunctions()
          Retrieves a comma-separated list of system functions available with this database.
 java.sql.ResultSet getTablePrivileges(java.lang.String catalog, java.lang.String schemaPattern, java.lang.String tableNamePattern)
          Retrieves a description of the access rights for each table available in a catalog.
 java.sql.ResultSet getTables(java.lang.String catalog, java.lang.String schemaPattern, java.lang.String tableNamePattern, java.lang.String[] types)
          Retrieves a description of the tables available in the given catalog.
 java.sql.ResultSet getTableTypes()
          Retrieves the table types available in this database.
 java.lang.String getTimeDateFunctions()
          Retrieves a comma-separated list of the time and date functions available with this database.
 java.sql.ResultSet getTypeInfo()
          Retrieves 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)
          Retrieves a description of the user-defined types (UDTs) defined in a particular schema.
 java.lang.String getURL()
          Retrieves the URL for this DBMS.
 java.lang.String getUserName()
          Retrieves the user name as known to this database.
 java.sql.ResultSet getVersionColumns(java.lang.String catalog, java.lang.String schema, java.lang.String table)
          Retrieves a description of a table's columns that are automatically updated when any value in a row is updated.
 boolean insertsAreDetected(int type)
          Retrieves whether or not a visible row insert can be detected by calling the method ResultSet.rowInserted.
 boolean isCatalogAtStart()
          Retrieves whether a catalog appears at the start of a fully qualified table name.
 boolean isReadOnly()
          Retrieves whether this database is in read-only mode.
 boolean locatorsUpdateCopy()
          Indicates whether updates made to a LOB are made on a copy or directly to the LOB.
 boolean nullPlusNonNullIsNull()
          Retrieves whether this database supports concatenations between NULL and non-NULL values being NULL.
 boolean nullsAreSortedAtEnd()
          Retrieves whether NULL values are sorted at the end regardless of sort order.
 boolean nullsAreSortedAtStart()
          Retrieves whether NULL values are sorted at the start regardless of sort order.
 boolean nullsAreSortedHigh()
          Retrieves whether NULL values are sorted high.
 boolean nullsAreSortedLow()
          Retrieves whether NULL values are sorted low.
 boolean othersDeletesAreVisible(int type)
          Retrieves whether deletes made by others are visible.
 boolean othersInsertsAreVisible(int type)
          Retrieves whether inserts made by others are visible.
 boolean othersUpdatesAreVisible(int type)
          Retrieves whether updates made by others are visible.
 boolean ownDeletesAreVisible(int type)
          Retrieves whether a result set's own deletes are visible.
 boolean ownInsertsAreVisible(int type)
          Retrieves whether a result set's own inserts are visible.
 boolean ownUpdatesAreVisible(int type)
          Retrieves whether for the given type of ResultSet object, the result set's own updates are visible.
 boolean storesLowerCaseIdentifiers()
          Retrieves whether this database treats mixed case unquoted SQL identifiers as case insensitive and stores them in lower case.
 boolean storesLowerCaseQuotedIdentifiers()
          Retrieves whether this database treats mixed case quoted SQL identifiers as case insensitive and stores them in lower case.
 boolean storesMixedCaseIdentifiers()
          Retrieves whether this database treats mixed case unquoted SQL identifiers as case insensitive and stores them in mixed case.
 boolean storesMixedCaseQuotedIdentifiers()
          Retrieves whether this database treats mixed case quoted SQL identifiers as case insensitive and stores them in mixed case.
 boolean storesUpperCaseIdentifiers()
          Retrieves whether this database treats mixed case unquoted SQL identifiers as case insensitive and stores them in upper case.
 boolean storesUpperCaseQuotedIdentifiers()
          Retrieves whether this database treats mixed case quoted SQL identifiers as case insensitive and stores them in upper case.
 boolean supportsAlterTableWithAddColumn()
          Retrieves whether this database supports ALTER TABLE with add column.
 boolean supportsAlterTableWithDropColumn()
          Retrieves whether this database supports ALTER TABLE with drop column.
 boolean supportsANSI92EntryLevelSQL()
          Retrieves whether this database supports the ANSI92 entry level SQL grammar.
 boolean supportsANSI92FullSQL()
          Retrieves whether this database supports the ANSI92 full SQL grammar supported.
 boolean supportsANSI92IntermediateSQL()
          Retrieves whether this database supports the ANSI92 intermediate SQL grammar supported.
 boolean supportsBatchUpdates()
          Retrieves whether this database supports batch updates.
 boolean supportsCatalogsInDataManipulation()
          Retrieves whether a catalog name can be used in a data manipulation statement.
 boolean supportsCatalogsInIndexDefinitions()
          Retrieves whether a catalog name can be used in an index definition statement.
 boolean supportsCatalogsInPrivilegeDefinitions()
          Retrieves whether a catalog name can be used in a privilege definition statement.
 boolean supportsCatalogsInProcedureCalls()
          Retrieves whether a catalog name can be used in a procedure call statement.
 boolean supportsCatalogsInTableDefinitions()
          Retrieves whether a catalog name can be used in a table definition statement.
 boolean supportsColumnAliasing()
          Retrieves whether this database supports column aliasing.
 boolean supportsConvert()
          Retrieves whether this database supports the CONVERT function between SQL types.
 boolean supportsConvert(int fromType, int toType)
          Retrieves whether this database supports the CONVERT for two given SQL types.
 boolean supportsCoreSQLGrammar()
          Retrieves whether this database supports the ODBC Core SQL grammar.
 boolean supportsCorrelatedSubqueries()
          Retrieves whether this database supports correlated subqueries.
 boolean supportsDataDefinitionAndDataManipulationTransactions()
          Retrieves whether this database supports both data definition and data manipulation statements within a transaction.
 boolean supportsDataManipulationTransactionsOnly()
          Retrieves whether this database supports only data manipulation statements within a transaction.
 boolean supportsDifferentTableCorrelationNames()
          Retrieves whether, when table correlation names are supported, they are restricted to being different from the names of the tables.
 boolean supportsExpressionsInOrderBy()
          Retrieves whether this database supports expressions in ORDER BY lists.
 boolean supportsExtendedSQLGrammar()
          Retrieves whether this database supports the ODBC Extended SQL grammar.
 boolean supportsFullOuterJoins()
          Retrieves whether this database supports full nested outer joins.
 boolean supportsGetGeneratedKeys()
          Retrieves whether auto-generated keys can be retrieved after a statement has been executed.
 boolean supportsGroupBy()
          Retrieves whether this database supports some form of GROUP BY clause.
 boolean supportsGroupByBeyondSelect()
          Retrieves whether this database supports using columns not included in the SELECT statement in a GROUP BY clause provided that all of the columns in the SELECT statement are included in the GROUP BY clause.
 boolean supportsGroupByUnrelated()
          Retrieves whether this database supports using a column that is not in the SELECT statement in a GROUP BY clause.
 boolean supportsIntegrityEnhancementFacility()
          Retrieves whether this database supports the SQL Integrity Enhancement Facility.
 boolean supportsLikeEscapeClause()
          Retrieves whether this database supports specifying a LIKE escape clause.
 boolean supportsLimitedOuterJoins()
          Retrieves whether this database provides limited support for outer joins.
 boolean supportsMinimumSQLGrammar()
          Retrieves whether this database supports the ODBC Minimum SQL grammar.
 boolean supportsMixedCaseIdentifiers()
          Retrieves whether this database treats mixed case unquoted SQL identifiers as case sensitive and as a result stores them in mixed case.
 boolean supportsMixedCaseQuotedIdentifiers()
          Retrieves whether this database treats mixed case quoted SQL identifiers as case sensitive and as a result stores them in mixed case.
 boolean supportsMultipleOpenResults()
          Retrieves whether it is possible to have multiple ResultSet objects returned from a CallableStatement object simultaneously.
 boolean supportsMultipleResultSets()
          Retrieves whether this database supports getting multiple ResultSet objects from a single call to the method execute.
 boolean supportsMultipleTransactions()
          Retrieves whether this database allows having multiple transactions open at once (on different connections).
 boolean supportsNamedParameters()
          Retrieves whether this database supports named parameters to callable statements.
 boolean supportsNonNullableColumns()
          Retrieves whether columns in this database may be defined as non-nullable.
 boolean supportsOpenCursorsAcrossCommit()
          Retrieves whether this database supports keeping cursors open across commits.
 boolean supportsOpenCursorsAcrossRollback()
          Retrieves whether this database supports keeping cursors open across rollbacks.
 boolean supportsOpenStatementsAcrossCommit()
          Retrieves whether this database supports keeping statements open across commits.
 boolean supportsOpenStatementsAcrossRollback()
          Retrieves whether this database supports keeping statements open across rollbacks.
 boolean supportsOrderByUnrelated()
          Retrieves whether this database supports using a column that is not in the SELECT statement in an ORDER BY clause.
 boolean supportsOuterJoins()
          Retrieves whether this database supports some form of outer join.
 boolean supportsPositionedDelete()
          Retrieves whether this database supports positioned DELETE statements.
 boolean supportsPositionedUpdate()
          Retrieves whether this database supports positioned UPDATE statements.
 boolean supportsResultSetConcurrency(int type, int concurrency)
          Retrieves whether this database supports the given concurrency type in combination with the given result set type.
 boolean supportsResultSetHoldability(int holdability)
          Retrieves whether this database supports the given result set holdability.
 boolean supportsResultSetType(int type)
          Retrieves whether this database supports the given result set type.
 boolean supportsSavepoints()
          Retrieves whether this database supports savepoints.
 boolean supportsSchemasInDataManipulation()
          Retrieves whether a schema name can be used in a data manipulation statement.
 boolean supportsSchemasInIndexDefinitions()
          Retrieves whether a schema name can be used in an index definition statement.
 boolean supportsSchemasInPrivilegeDefinitions()
          Retrieves whether a schema name can be used in a privilege definition statement.
 boolean supportsSchemasInProcedureCalls()
          Retrieves whether a schema name can be used in a procedure call statement.
 boolean supportsSchemasInTableDefinitions()
          Retrieves whether a schema name can be used in a table definition statement.
 boolean supportsSelectForUpdate()
          Retrieves whether this database supports SELECT FOR UPDATE statements.
 boolean supportsStatementPooling()
          Retrieves whether this database supports statement pooling.
 boolean supportsStoredProcedures()
          Retrieves whether this database supports stored procedure calls that use the stored procedure escape syntax.
 boolean supportsSubqueriesInComparisons()
          Retrieves whether this database supports subqueries in comparison expressions.
 boolean supportsSubqueriesInExists()
          Retrieves whether this database supports subqueries in EXISTS expressions.
 boolean supportsSubqueriesInIns()
          Retrieves whether this database supports subqueries in IN statements.
 boolean supportsSubqueriesInQuantifieds()
          Retrieves whether this database supports subqueries in quantified expressions.
 boolean supportsTableCorrelationNames()
          Retrieves whether this database supports table correlation names.
 boolean supportsTransactionIsolationLevel(int level)
          Retrieves whether this database supports the given transaction isolation level.
 boolean supportsTransactions()
          Retrieves whether this database supports transactions.
 boolean supportsUnion()
          Retrieves whether this database supports SQL UNION.
 boolean supportsUnionAll()
          Retrieves whether this database supports SQL UNION ALL.
 boolean updatesAreDetected(int type)
          Retrieves whether or not a visible row update can be detected by calling the method ResultSet.rowUpdated.
 boolean usesLocalFilePerTable()
          Retrieves whether this database uses a file for each table.
 boolean usesLocalFiles()
          Retrieves whether this database stores 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

cConnection

private jdbcConnection cConnection
The connection this object uses to retrieve instance-specific metadata.

Constructor Detail

jdbcDatabaseMetaData

jdbcDatabaseMetaData(jdbcConnection c)
Constructs a new jdbcDatabaseMetaData object using the specified connection. This contructor is used by jdbcConnection when producing a DatabaseMetaData object from a call to getMetaData 55

Method Detail

allProceduresAreCallable

public boolean allProceduresAreCallable()
                                 throws java.sql.SQLException
Retrieves whether the current user can call all the procedures returned by the method getProcedures.

HSQLDB-Specific Information:

Up to and including 1.7.1, HSQLDB does not return any rows from getProcedures. However, allProceduresAreCallable always returns true. This is simply meant to indicate that all users can call all stored procedures made available by default in a newly created HSQLDB database.

Specified by:
allProceduresAreCallable in interface java.sql.DatabaseMetaData

allTablesAreSelectable

public boolean allTablesAreSelectable()
                               throws java.sql.SQLException
Retrieves whether the current user can use all the tables returned by the method getTables in a SELECT statement.

HSQLDB-Specific Information:

Up to and including 1.7.1, HSQLDB will, by default, throw an exception for any non-admin user calling getTables, while any admin user can SELECT from any table. As such, this method always returns true. However, if an admin user grants SELECT access to SYSTEM_TABLES to a non-admin user, then it is possible for that user to be denied SELECT access to tables listed when he/she calls getTables. This behaviour will be corrected in 1.7.2.

Specified by:
allTablesAreSelectable in interface java.sql.DatabaseMetaData

getURL

public java.lang.String getURL()
                        throws java.sql.SQLException
Retrieves the URL for this DBMS.

Specified by:
getURL in interface java.sql.DatabaseMetaData

getUserName

public java.lang.String getUserName()
                             throws java.sql.SQLException
Retrieves the user name as known to this database.

Specified by:
getUserName in interface java.sql.DatabaseMetaData

isReadOnly

public boolean isReadOnly()
                   throws java.sql.SQLException
Retrieves whether this database is in read-only mode.

HSQLDB-Specific Information:

Up to and including 1.7.1, this is a synonym for jdbcConnection.isReadOnly() 55 and does not report on the global read-only state of the database. This behaviour will be corrected in 1.7.2.

Specified by:
isReadOnly in interface java.sql.DatabaseMetaData

nullsAreSortedHigh

public boolean nullsAreSortedHigh()
                           throws java.sql.SQLException
Retrieves whether NULL values are sorted high. Sorted high means that NULL values sort higher than any other value in a domain. In an ascending order, if this method returns true, NULL values will appear at the end. By contrast, the method nullsAreSortedAtEnd indicates whether NULL values are sorted at the end regardless of sort order.

HSQLDB-Specific Information:

HSQLDB sorts null low; this method always returns false.

Specified by:
nullsAreSortedHigh in interface java.sql.DatabaseMetaData

nullsAreSortedLow

public boolean nullsAreSortedLow()
                          throws java.sql.SQLException
Retrieves whether NULL values are sorted low. Sorted low means that NULL values sort lower than any other value in a domain. In an ascending order, if this method returns true, NULL values will appear at the beginning. By contrast, the method nullsAreSortedAtStart indicates whether NULL values are sorted at the beginning regardless of sort order.

HSQLDB-Specific Information:

HSQLDB sorts null low; this method always returns true.

Specified by:
nullsAreSortedLow in interface java.sql.DatabaseMetaData

nullsAreSortedAtStart

public boolean nullsAreSortedAtStart()
                              throws java.sql.SQLException
Retrieves whether NULL values are sorted at the start regardless of sort order.

HSQLDB-Specific Information:

HSQLDB sorts null low; this method always returns false.

Specified by:
nullsAreSortedAtStart in interface java.sql.DatabaseMetaData

nullsAreSortedAtEnd

public boolean nullsAreSortedAtEnd()
                            throws java.sql.SQLException
Retrieves whether NULL values are sorted at the end regardless of sort order.

HSQLDB-Specific Information:

HSQLDB sorts null low; this method always returns false.

Specified by:
nullsAreSortedAtEnd in interface java.sql.DatabaseMetaData

getDatabaseProductName

public java.lang.String getDatabaseProductName()
                                        throws java.sql.SQLException
Retrieves the name of this database product.

Specified by:
getDatabaseProductName in interface java.sql.DatabaseMetaData

getDatabaseProductVersion

public java.lang.String getDatabaseProductVersion()
                                           throws java.sql.SQLException
Retrieves the version number of this database product.

Specified by:
getDatabaseProductVersion in interface java.sql.DatabaseMetaData

getDriverName

public java.lang.String getDriverName()
                               throws java.sql.SQLException
Retrieves the name of this JDBC driver.

Specified by:
getDriverName in interface java.sql.DatabaseMetaData

getDriverVersion

public java.lang.String getDriverVersion()
                                  throws java.sql.SQLException
Retrieves the version number of this JDBC driver as a String.

Specified by:
getDriverVersion in interface java.sql.DatabaseMetaData

getDriverMajorVersion

public int getDriverMajorVersion()
Retrieves this JDBC driver's major version number.

Specified by:
getDriverMajorVersion in interface java.sql.DatabaseMetaData

getDriverMinorVersion

public int getDriverMinorVersion()
Retrieves this JDBC driver's minor version number.

Specified by:
getDriverMinorVersion in interface java.sql.DatabaseMetaData

usesLocalFiles

public boolean usesLocalFiles()
                       throws java.sql.SQLException
Retrieves whether this database stores tables in a local file.

HSQLDB-Specific Information:

Up to and including HSQLDB 1.7.1, do not rely on this information. This will be resolved and explained more clearly in 1.7.2.

Specified by:
usesLocalFiles in interface java.sql.DatabaseMetaData

usesLocalFilePerTable

public boolean usesLocalFilePerTable()
                              throws java.sql.SQLException
Retrieves whether this database uses a file for each table.

HSQLDB-Specific Information:

Up to and including 1.7.1, HSQLDB never uses a file for each table. This method always returns false.

Specified by:
usesLocalFilePerTable in interface java.sql.DatabaseMetaData

supportsMixedCaseIdentifiers

public boolean supportsMixedCaseIdentifiers()
                                     throws java.sql.SQLException
Retrieves whether this database treats mixed case unquoted SQL identifiers as case sensitive and as a result stores them in mixed case.

HSQLDB-Specific Information:

HSQLDB treats unquoted identifiers as case insensitive and stores them in upper case. It treats quoted identifiers as case sensitive and stores them verbatim; this method always returns false.

Specified by:
supportsMixedCaseIdentifiers in interface java.sql.DatabaseMetaData

storesUpperCaseIdentifiers

public boolean storesUpperCaseIdentifiers()
                                   throws java.sql.SQLException
Retrieves whether this database treats mixed case unquoted SQL identifiers as case insensitive and stores them in upper case.

HSQLDB-Specific Information:

HSQLDB treats unquoted identifiers as case insensitive and stores them in upper case. It treats quoted identifiers as case sensitive and stores them verbatim; this method always returns true.

Specified by:
storesUpperCaseIdentifiers in interface java.sql.DatabaseMetaData

storesLowerCaseIdentifiers

public boolean storesLowerCaseIdentifiers()
                                   throws java.sql.SQLException
Retrieves whether this database treats mixed case unquoted SQL identifiers as case insensitive and stores them in lower case.

HSQLDB-Specific Information:

HSQLDB treats unquoted identifiers as case insensitive and stores them in upper case. It treats quoted identifiers as case sensitive and stores them verbatim; this method always returns false.

Specified by:
storesLowerCaseIdentifiers in interface java.sql.DatabaseMetaData

storesMixedCaseIdentifiers

public boolean storesMixedCaseIdentifiers()
                                   throws java.sql.SQLException
Retrieves whether this database treats mixed case unquoted SQL identifiers as case insensitive and stores them in mixed case.

HSQLDB-Specific Information:

HSQLDB treats unquoted identifiers as case insensitive and stores them in upper case. It treats quoted identifiers as case sensitive and stores them verbatim; this method always returns false.

Specified by:
storesMixedCaseIdentifiers in interface java.sql.DatabaseMetaData

supportsMixedCaseQuotedIdentifiers

public boolean supportsMixedCaseQuotedIdentifiers()
                                           throws java.sql.SQLException
Retrieves whether this database treats mixed case quoted SQL identifiers as case sensitive and as a result stores them in mixed case.

HSQLDB-Specific Information:

HSQLDB treats unquoted identifiers as case insensitive and stores them in upper case. It treats quoted identifiers as case sensitive and stores them verbatim; this method always returns true.

Specified by:
supportsMixedCaseQuotedIdentifiers in interface java.sql.DatabaseMetaData

storesUpperCaseQuotedIdentifiers

public boolean storesUpperCaseQuotedIdentifiers()
                                         throws java.sql.SQLException
Retrieves whether this database treats mixed case quoted SQL identifiers as case insensitive and stores them in upper case.

HSQLDB-Specific Information:

HSQLDB treats unquoted identifiers as case insensitive and stores them in upper case. It treats quoted identifiers as case sensitive and stores them verbatim; this method always returns false.

Specified by:
storesUpperCaseQuotedIdentifiers in interface java.sql.DatabaseMetaData

storesLowerCaseQuotedIdentifiers

public boolean storesLowerCaseQuotedIdentifiers()
                                         throws java.sql.SQLException
Retrieves whether this database treats mixed case quoted SQL identifiers as case insensitive and stores them in lower case.

HSQLDB-Specific Information:

HSQLDB treats unquoted identifiers as case insensitive and stores them in upper case. It treats quoted identifiers as case sensitive and stores them verbatim; this method always returns falsee.

Specified by:
storesLowerCaseQuotedIdentifiers in interface java.sql.DatabaseMetaData

storesMixedCaseQuotedIdentifiers

public boolean storesMixedCaseQuotedIdentifiers()
                                         throws java.sql.SQLException
Retrieves whether this database treats mixed case quoted SQL identifiers as case insensitive and stores them in mixed case.

HSQLDB-Specific Information:

HSQLDB treats unquoted identifiers as case insensitive and stores them in upper case. It treats quoted identifiers as case sensitive and stores them verbatim; this method always returns false.

Specified by:
storesMixedCaseQuotedIdentifiers in interface java.sql.DatabaseMetaData

getIdentifierQuoteString

public java.lang.String getIdentifierQuoteString()
                                          throws java.sql.SQLException
Retrieves the string used to quote SQL identifiers. This method returns a space " " if identifier quoting is not supported.

HSQLDB-Specific Information:

HSQLDB uses the standard SQL identifer quote character (the double qoute character); this method always returns ".

Specified by:
getIdentifierQuoteString in interface java.sql.DatabaseMetaData

getSQLKeywords

public java.lang.String getSQLKeywords()
                                throws java.sql.SQLException
Retrieves a comma-separated list of all of this database's SQL keywords that are NOT also SQL92 keywords.

HSQLDB-Specific Information:

The list returned contains HSQLDB keywords that are not in the list of reserved words. Some of these are in the list of potential reserved words that are not SQL92 keywords, but are reported in the standard as possible future SQL keywords.

Specified by:
getSQLKeywords in interface java.sql.DatabaseMetaData

getNumericFunctions

public java.lang.String getNumericFunctions()
                                     throws java.sql.SQLException
Retrieves a comma-separated list of math functions available with this database. These are the Open /Open CLI math function names used in the JDBC function escape clause.

Specified by:
getNumericFunctions in interface java.sql.DatabaseMetaData

getStringFunctions

public java.lang.String getStringFunctions()
                                    throws java.sql.SQLException
Retrieves a comma-separated list of string functions available with this database. These are the Open Group CLI string function names used in the JDBC function escape clause.

Specified by:
getStringFunctions in interface java.sql.DatabaseMetaData

getSystemFunctions

public java.lang.String getSystemFunctions()
                                    throws java.sql.SQLException
Retrieves a comma-separated list of system functions available with this database. These are the Open Group CLI system function names used in the JDBC function escape clause.

Specified by:
getSystemFunctions in interface java.sql.DatabaseMetaData

getTimeDateFunctions

public java.lang.String getTimeDateFunctions()
                                      throws java.sql.SQLException
Retrieves a comma-separated list of the time and date functions available with this database.

Specified by: