Quadcap Embeddable Database

com.quadcap.jdbc.DatabaseMetaData Class Reference

Inheritance diagram for com.quadcap.jdbc.DatabaseMetaData:

List of all members.

Detailed Description

Author:
Stan Bailes

Definition at line 71 of file DatabaseMetaData.java.

Public Member Functions

boolean allProceduresAreCallable ()
 Return true if the current user has the privileges necessary to invoke all procedures returned by getProcedures().

boolean allTablesAreSelectable ()
 Return true if the current user can use a SELECT statement with all tables returned by getTables().

boolean dataDefinitionCausesTransactionCommit ()
 A data definition statement within a transaction does not force a commit in QED.

boolean dataDefinitionIgnoredInTransactions ()
 Data definition statements within transactions are not ignored in QED.

boolean deletesAreDetected (int type)
 For all types of ResultSets, deleted rows are simply removed from the ResultSet, so this function always returns false.

boolean doesMaxRowSizeIncludeBlobs ()
 QED doesn't impose any maximum row size, so this function is really a don't care, but we return true anyway.

java.sql.ResultSet getBestRowIdentifier (String catalog, String schema, String table, int scope, boolean nullable) throws SQLException
 Return a resultset containing the set of columns that "best uniquely identify a row".

String getCatalogSeparator ()
 QED doesn't support catalogs, so there is no separator.

String getCatalogTerm ()
 Call it what you like, but QED doesn't support catalogs.

java.sql.ResultSet getCatalogs () throws SQLException
 QED doesn't support catalogs, but we return an empty ResultSet of the right signature as a courtesy.

java.sql.ResultSet getColumnPrivileges (String catalog, String schema, String table, String columnNamePattern) throws SQLException
 QED doesn't support access controls, but we return an empty ResultSet of the right signature as a courtesy.

java.sql.ResultSet getColumns (String catalog, String schemaPattern, String tableNamePattern, String columnNamePattern) throws SQLException
 This function returns a ResultSet object containing information about the specified columns.

java.sql.Connection getConnection ()
 Return the Connection object that was used to create this DatabaseMetaData object.

java.sql.ResultSet getCrossReference (String primaryCatalog, String primarySchema, String primaryTable, String foreignCatalog, String foreignSchema, String foreignTable) throws SQLException
 This function returns a ResultSet object containing information about the foreign key relationships in the database.

String getDatabaseProductName ()
 Return the database product name, "QED".

String getDatabaseProductVersion ()
 Return the version for this product.

int getDefaultTransactionIsolation ()
 Return the default transaction isolation level.

int getDriverMajorVersion ()
 Return the driver major version number.

int getDriverMinorVersion ()
 Return the driver minor version number.

String getDriverName ()
 Return the name of this JDBC driver.

String getDriverVersion () throws SQLException
 Return the version for this JDBC Driver.

java.sql.ResultSet getExportedKeys (String catalog, String schema, String table) throws SQLException
 This function returns a ResultSet object that contains information about the foreign key columns that reference the primary keys in the specified table.

String getExtraNameCharacters ()
 Returns a string consisting of all characters that can be used in unquoted identifier names other than alphanumerics and _).

String getIdentifierQuoteString ()
 Return the string used to quote SQL identifiers.

java.sql.ResultSet getImportedKeys (String catalog, String schema, String table) throws SQLException
 This function returns a ResultSet object that contains information about the primary key columns that are referenced by the foreign keys in the specified table.

java.sql.ResultSet getIndexInfo (String catalog, String schema, String table, boolean unique, boolean approximate) throws SQLException
 This function returns a ResultSet object that contains information about the index columns in the specified table.

int getMaxBinaryLiteralLength ()
 Return the maximum size of a binary literal.

int getMaxCatalogNameLength ()
 QED doesn't support catalogs, but if it did, it wouldn't impose a limit on the length of their names.

int getMaxCharLiteralLength ()
 Return the maximum size of a character literal.

int getMaxColumnNameLength ()
 Return the maximum length of a column name.

int getMaxColumnsInGroupBy ()
 Return the maximum number of columns in a GROUP BY clause.

int getMaxColumnsInIndex ()
 Return the maximum number of columns in an index.

int getMaxColumnsInOrderBy ()
 Return the maximum number of columns in an ORDER BY clause.

int getMaxColumnsInSelect ()
 Return the maximum number of columns in a SELECT clause.

int getMaxColumnsInTable ()
 Return the maximum number of columns in an table.

int getMaxConnections ()
 Return the maximum number of active connections that can be maintained by this driver instance.

int getMaxCursorNameLength ()
 QED doesn't support named cursors, but if it did, it wouldn't impose a limit on the length of their names.

int getMaxIndexLength ()
 Return the maximum number of bytes in an index.

int getMaxProcedureNameLength ()
 QED doesn't support stored procedures, but if it did, it wouldn't impose a limit on the length of their names.

int getMaxRowSize ()
 Return the maximum number of bytes in a single row.

int getMaxSchemaNameLength ()
 Return the maximum length of a schema name.

int getMaxStatementLength ()
 Return the maximum number of characters in an SQL statement.

int getMaxStatements ()
 Return the maximum number of concurrently active statements that can be open on a single connection.

int getMaxTableNameLength ()
 Return the maximum length of a table name.

int getMaxTablesInSelect ()
 Return the maximum number of tables allowed in a SELECT clause.

int getMaxUserNameLength ()
 Return the maximum length of a user name.

String getNumericFunctions ()
 Return a comma-separated string containing the names of the numeric functions supported by QED.

java.sql.ResultSet getPrimaryKeys (String catalog, String schema, String table) throws SQLException
 This function returns a ResultSet describing the primary key columns of the specified table.

java.sql.ResultSet getProcedureColumns (String catalog, String schemaNamePattern, String procedureNamePattern, String columnNamePattern) throws SQLException
 Stored procedures aren't supported by QED, but we return an empty result set with the right signature as a courtesy.

java.sql.ResultSet getProcedures (String catalog, String schemaNamePattern, String procedureNamePattern) throws SQLException
 Stored procedures aren't supported by QED, but we return an empty result set with the right signature as a courtesy.

String getProcedureTerm () throws SQLException
 Whatever.

java.sql.ResultSet getSchemas () throws SQLException
 Return a result set containing the names of the database schemas.

String getSchemaTerm ()
 Get the "database vendor's preferred term for 'schema'".

String getSearchStringEscape ()
 Return the default value for the escape sequence that can be used to escape literal "_" and "%" pattern characters in LIKE pattern strings.

String getSQLKeywords ()
 Returns a list of database keywords that are not also SQL-92 keywords.

String getStringFunctions ()
 Return a comma-separated string containing the names of the string functions supported by QED.

String getSystemFunctions ()
 Return a comma-separated string containing the names of the system functions supported by QED.

java.sql.ResultSet getTablePrivileges (String catalog, String schema, String tableNamePattern) throws SQLException
 QED doesn't support column privs, but we return an empty ResultSet of the right signature as a courtesy.

java.sql.ResultSet getTables (String catalog, String schemaPattern, String tableNamePattern, String[] types) throws SQLException
 This function returns a ResultSet describing the tables in the database.

java.sql.ResultSet getTableTypes () throws SQLException
 This function returns a ResultSet which describes the table types supported by QED.

String getTimeDateFunctions () throws SQLException
 Return a comma-separated string containing the names of the date-time functions supported by QED.

java.sql.ResultSet getTypeInfo () throws SQLException
 This function returns a ResultSet listing the data types supported by QED.

java.sql.ResultSet getUDTs (String catalog, String schemaPattern, String typeNamePattern, int[] types) throws SQLException
 Not implemented in this QED release.

String getURL ()
 Return the URL used to connect to this database.

String getUserName ()
 Return the user name used to connect to this database.

java.sql.ResultSet getVersionColumns (String catalog, String schema, String table) throws SQLException
 QED doesn't support this feature, but we return an empty ResultSet of the right signature as a courtesy.

boolean insertsAreDetected (int type)
 JDBC specifies two criteria for determining whether inserts are detected.

boolean isCatalogAtStart () throws SQLException
 Catalogs aren't supported in QED, but we'll play along at thig point.

boolean isReadOnly ()
 This release of QED doesn't support read-only connections or databases, completely....

boolean nullPlusNonNullIsNull ()
 Most boolean operators (e.g, arithmetic, logical, string operators) produce a NULL result when one of the operands is NULL.

boolean nullsAreSortedAtEnd ()
 In QED, NULLs are sorted low.

boolean nullsAreSortedAtStart ()
 In QED, NULLs are sorted low.

boolean nullsAreSortedHigh ()
 In QED, NULLs are sorted low.

boolean nullsAreSortedLow ()
 In QED, NULLs are sorted low.

boolean othersDeletesAreVisible (int type)
 Due to QED's table-level locking strategy, combined with strictly serializable transaction execution, it's not possible to see other transaction's deletes.

boolean othersInsertsAreVisible (int type)
 Due to QED's table-level locking strategy, combined with strictly serializable transaction execution, it's not possible to see other transaction's inserts.

boolean othersUpdatesAreVisible (int type)
 Due to QED's table-level locking strategy, combined with strictly serializable transaction execution, it's not possible to see other transaction's updates.

boolean ownDeletesAreVisible (int type)
 This release of QED doesn't fully support visible change detection.

boolean ownInsertsAreVisible (int type)
 This release of QED doesn't fully support visible change detection.

boolean ownUpdatesAreVisible (int type)
 This release of QED doesn't fully support visible change detection.

boolean storesLowerCaseIdentifiers ()
 QED treats mixed case identifiers in SQL statements as case-insensitve and stores them internally in upper case.

boolean storesLowerCaseQuotedIdentifiers ()
 QED treats mixed case quoted identifiers in SQL statements as case-insensitve and stores them internally in upper case.

boolean storesMixedCaseIdentifiers ()
 QED treats mixed case identifiers in SQL statements as case-insensitve and stores them internally in upper case.

boolean storesMixedCaseQuotedIdentifiers ()
 QED treats mixed case quoted identifiers in SQL statements as case-insensitve and stores them internally in upper case.

boolean storesUpperCaseIdentifiers ()
 QED treats mixed case identifiers in SQL statements as case-insensitve and stores them internally in upper case.

boolean storesUpperCaseQuotedIdentifiers ()
 QED treats mixed case quoted identifiers in SQL statements as case-insensitve and stores them internally in upper case.

boolean supportsANSI92EntryLevelSQL ()
 QED supports Entry Level SQL 92.

boolean supportsANSI92IntermediateSQL ()
 QED supports many Intermediate Level features from SQL 92:.

boolean supportsANSI92FullSQL ()
 QED supports many, but not all, of the features of Full SQL 92.

boolean supportsAlterTableWithAddColumn ()
 QED supports ALTER TABLE ADD COLUMN.

boolean supportsAlterTableWithDropColumn ()
 This release of QED doesn't support ALTER TABLE DROP COLUMN.

boolean supportsBatchUpdates ()
 This release of QED doesn't support batch updates.

boolean supportsCatalogsInDataManipulation ()
 QED doesn't support catalogs.

boolean supportsCatalogsInIndexDefinitions () throws SQLException
 QED doesn't support catalogs.

boolean supportsCatalogsInPrivilegeDefinitions ()
 QED doesn't support catalogs.

boolean supportsCatalogsInProcedureCalls ()
 QED doesn't support catalogs.

boolean supportsCatalogsInTableDefinitions ()
 QED doesn't support catalogs.

boolean supportsColumnAliasing ()
 QED supports column aliasing via the AS clause of the SELECT statement.

boolean supportsConvert ()
 This QED release doesn't implement the CONVERT function.

boolean supportsConvert (int fromType, int toType)
 This QED release doesn't implement the CONVERT function.

boolean supportsCoreSQLGrammar ()
 QED supports everything in the ODBC Core SQL grammar except GRANT and REVOKE.

boolean supportsCorrelatedSubqueries ()
 QED supports correlated sub-queries.

boolean supportsDataDefinitionAndDataManipulationTransactions ()
 Both data definition statements and data manipulation statements can be arbitrarily mixed within a transaction.

boolean supportsDataManipulationTransactionsOnly ()
 The JDBC spec says that this function should return true if <blockquote> this database supports only data manipulation statements within a transaction .

boolean supportsDifferentTableCorrelationNames ()
 Table correlation names are supported in QED, but they are not required to be different from the names of the source tables, so this function returns false.

boolean supportsExpressionsInOrderBy ()
 In QED, ORDER BY clauses must specify column names.

boolean supportsExtendedSQLGrammar ()
 QED doesn't fully support the ODBC Extended SQL grammar.

boolean supportsFullOuterJoins ()
 QED supports full nested outer joins.

boolean supportsGroupBy ()
 QED supports GROUP BY.

boolean supportsGroupByBeyondSelect ()
 In QED, the GROUP BY clause can only specify columns that are in the SELECT clause.

boolean supportsGroupByUnrelated ()
 In QED, the GROUP BY clause can only specify columns that are in the SELECT clause.

boolean supportsIntegrityEnhancementFacility ()
 QED supports the SQL "integrity enhancement facility".

boolean supportsLikeEscapeClause ()
 QED supports the LIKE escape clause using the standard SQL-92 escape syntax.

boolean supportsLimitedOuterJoins ()
 Since supportsFullOuterJoins() returns true, this method should return true as well.

boolean supportsMinimumSQLGrammar ()
 QED supports the ODBC Minimum SQL grammar.

boolean supportsMixedCaseIdentifiers ()
 QED converts mixed case identifiers to upper case for storage in the metadata structures.

boolean supportsMixedCaseQuotedIdentifiers ()
 QED converts mixed case quoted identifiers to upper case for storage in the metadata structures.

boolean supportsMultipleResultSets ()
 This QED release supports only a single active result set per Statement.

boolean supportsMultipleTransactions ()
 QED supports multiple simultaneous transactions (on different connections).

boolean supportsNonNullableColumns ()
 QED supports definining columns as non-nullable, via the standard SQL-92 NOT NULL constraint.

boolean supportsOpenCursorsAcrossCommit ()
 A commit causes any open cursors in this connection to be closed.

boolean supportsOpenCursorsAcrossRollback ()
 A rollback causes any open cursors in this connection to be closed.

boolean supportsOpenStatementsAcrossCommit ()
 Statements per se are not closed by QED on commit, but the ResultSet associated with a statement is.

boolean supportsOpenStatementsAcrossRollback ()
 Statements per se are not closed by QED on rollback, but the ResultSet associated with a statement is.

boolean supportsOrderByUnrelated ()
 In QED, the ORDER BY clause can only specify columns that are in the SELECT clause.

boolean supportsOuterJoins ()
 QED supports the full set of SQL-92 outer join operations.

boolean supportsPositionedDelete ()
 QED supports positioned DELETE statements.

boolean supportsPositionedUpdate ()
 QED supports positioned UPDATE statements.

boolean supportsSchemasInDataManipulation ()
 QED supports using schema names in data manipulation statements.

boolean supportsSchemasInIndexDefinitions ()
 QED supports using schema names in index definition statements.

boolean supportsSchemasInPrivilegeDefinitions ()
 QED doesn't support privilege definitions.

boolean supportsSchemasInProcedureCalls ()
 QED doesn't support stored procedures.

boolean supportsSchemasInTableDefinitions ()
 QED supports using schema names in table definition statements.

boolean supportsSelectForUpdate ()
 QED supports the SELECT ...

boolean supportsStoredProcedures ()
 QED doesn't support stored procedures.

boolean supportsSubqueriesInComparisons ()
 QED supports sub-queries in comparisons.

boolean supportsSubqueriesInExists ()
 QED supports sub-queries in EXISTS expressions.

boolean supportsSubqueriesInIns ()
 QED supports sub-queries in IN expressions.

boolean supportsSubqueriesInQuantifieds ()
 QED supports sub-queries in quantified expressions.

boolean supportsTableCorrelationNames ()
 QED supports table correlation names.

boolean supportsTransactionIsolationLevel (int level)
 This release of QED only supports the transaction level Connection.TRANSACTION_SERIALIZABLE.

boolean supportsTransactions ()
 QED supports transactions.

boolean supportsUnion ()
 QED supports UNION.

boolean supportsUnionAll ()
 QED supports UNION ALL.

boolean updatesAreDetected (int type)
 This release of QED doesn't fully support detection of updates.

boolean usesLocalFilePerTable ()
 QED doesn't use a separate file per table.

boolean usesLocalFiles ()
 QED uses local files to store the database, the lock file, and the transaction logs.

boolean supportsResultSetConcurrency (int type, int concurrency)
 This release of QED supports TYPE_FORWARD_ONLY ResultSets, with either ResultSet.CONCUR_READ_ONLY or ResultSet.CONCUR_UPDATABLE concurrency.

boolean supportsResultSetType (int type)
 This release of QED supports TYPE_FORWARD_ONLY ResultSets.

boolean supportsSavepoints () throws SQLException
 Retrieves whether this database supports savepoints.

boolean supportsNamedParameters () throws SQLException
 Retrieves whether this database supports named parameters to callable statements.

boolean supportsMultipleOpenResults () throws SQLException
 Retrieves whether it is possible to have multiple ResultSet objects returned from a CallableStatement object simultaneously.

boolean supportsGetGeneratedKeys () throws SQLException
 Retrieves whether auto-generated keys can be retrieved after a statement has been executed.

java.sql.ResultSet getSuperTypes (String catalog, String schemaPattern, String typeNamePattern) throws SQLException
 Retrieves a description of the user-defined type (UDT) hierarchies defined in a particular schema in this database.

java.sql.ResultSet getSuperTables (String catalog, String schemaPattern, String tableNamePattern) throws SQLException
 Retrieves a description of the table hierarchies defined in a particular schema in this database.

java.sql.ResultSet getAttributes (String catalog, String schemaPattern, String typeNamePattern, String attributeNamePattern) throws SQLException
 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.

boolean supportsResultSetHoldability (int holdability) throws SQLException
 Retrieves whether this database supports the given result set holdability.

int getResultSetHoldability () throws SQLException
 Retrieves the default holdability of this ResultSet object.

int getDatabaseMajorVersion () throws SQLException
 Retrieves the major version number of the underlying database.

int getDatabaseMinorVersion () throws SQLException
 Retrieves the minor version number of the underlying database.

int getJDBCMajorVersion () throws SQLException
 Retrieves the major JDBC version number for this driver.

int getJDBCMinorVersion () throws SQLException
 Retrieves the minor JDBC version number for this driver.

int getSQLStateType () throws SQLException
 Indicates whether the SQLSTATEs returned by SQLException.getSQLState is X/Open (now known as Open Group) SQL CLI or SQL99.

boolean locatorsUpdateCopy () throws SQLException
 Indicates whether updates made to a LOB are made on a copy or directly to the LOB.

boolean supportsStatementPooling () throws SQLException
 Retrieves weather this database supports statement pooling.


Package Functions

 DatabaseMetaData (Connection connection) throws IOException, SQLException
final void doPattern (StringBuffer sb, String name, String pattern)
 Helper function to handle a single metadata pattern matcher.

final void doString (StringBuffer sb, String name, String val)
 Helper function to handle a single metadata string specifier.

Expression parseExpression (String s) throws SQLException

Package Attributes

Database database
com.quadcap.sql.Connection qConn
Session session
Connection connection


Constructor & Destructor Documentation

com.quadcap.jdbc.DatabaseMetaData.DatabaseMetaData Connection  connection  )  throws IOException, SQLException [package]
 

Definition at line 77 of file DatabaseMetaData.java.

References com.quadcap.jdbc.DatabaseMetaData.connection, com.quadcap.jdbc.Connection.getConnection(), com.quadcap.jdbc.Connection.getDatabase(), com.quadcap.jdbc.DatabaseMetaData.qConn, and com.quadcap.jdbc.Connection.qConn.


Member Function Documentation

boolean com.quadcap.jdbc.DatabaseMetaData.allProceduresAreCallable  ) 
 

Return true if the current user has the privileges necessary to invoke all procedures returned by getProcedures().

Since QED doesn't support access privileges, this function always returns false, though since it doesn't support stored procedures, this isn't likely to matter.

Returns:
true

Definition at line 93 of file DatabaseMetaData.java.

boolean com.quadcap.jdbc.DatabaseMetaData.allTablesAreSelectable  ) 
 

Return true if the current user can use a SELECT statement with all tables returned by getTables().

Since QED doesn't support access privileges, this function always returns true.

Returns:
true

Definition at line 105 of file DatabaseMetaData.java.

boolean com.quadcap.jdbc.DatabaseMetaData.dataDefinitionCausesTransactionCommit  ) 
 

A data definition statement within a transaction does not force a commit in QED.

Returns:
false

Definition at line 115 of file DatabaseMetaData.java.

boolean com.quadcap.jdbc.DatabaseMetaData.dataDefinitionIgnoredInTransactions  ) 
 

Data definition statements within transactions are not ignored in QED.

Returns:
false

Definition at line 125 of file DatabaseMetaData.java.

boolean com.quadcap.jdbc.DatabaseMetaData.deletesAreDetected int  type  ) 
 

For all types of ResultSets, deleted rows are simply removed from the ResultSet, so this function always returns false.

Returns:
false

Definition at line 135 of file DatabaseMetaData.java.

References com.quadcap.jdbc.DatabaseMetaData.deletesAreDetected().

Referenced by com.quadcap.jdbc.DatabaseMetaData.deletesAreDetected().

boolean com.quadcap.jdbc.DatabaseMetaData.doesMaxRowSizeIncludeBlobs  ) 
 

QED doesn't impose any maximum row size, so this function is really a don't care, but we return true anyway.

Returns:
true

Definition at line 145 of file DatabaseMetaData.java.

final void com.quadcap.jdbc.DatabaseMetaData.doPattern StringBuffer  sb,
String  name,
String  pattern
[package]
 

Helper function to handle a single metadata pattern matcher.

Definition at line 218 of file DatabaseMetaData.java.

References com.quadcap.jdbc.DatabaseMetaData.doPattern().

Referenced by com.quadcap.jdbc.DatabaseMetaData.doPattern().

final void com.quadcap.jdbc.DatabaseMetaData.doString StringBuffer  sb,
String  name,
String  val
[package]
 

Helper function to handle a single metadata string specifier.

Definition at line 233 of file DatabaseMetaData.java.

References com.quadcap.jdbc.DatabaseMetaData.doString().

Referenced by com.quadcap.jdbc.DatabaseMetaData.doString().

java.sql.ResultSet com.quadcap.jdbc.DatabaseMetaData.getAttributes String  catalog,
String  schemaPattern,
String  typeNamePattern,
String  attributeNamePattern
throws SQLException
 

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.

Descriptions are returned only for attributes of UDTs matching the catalog, schema, type, and attribute name criteria. They are ordered by TYPE_SCHEM, TYPE_NAME and ORDINAL_POSITION. This description does not contain inherited attributes.

The ResultSet object that is returned has the following columns:

  1. TYPE_CAT String => type catalog (may be null)
  2. TYPE_SCHEM String => type schema (may be null)
  3. TYPE_NAME String => type name
  4. ATTR_NAME String => attribute name
  5. DATA_TYPE short => attribute type SQL type from java.sql.Types
  6. ATTR_TYPE_NAME String => Data source dependent type name. For a UDT, the type name is fully qualified. For a REF, the type name is fully qualified and represents the target type of the reference type.
  7. ATTR_SIZE int => column size. For char or date types this is the maximum number of characters; for numeric or decimal types this is precision.
  8. DECIMAL_DIGITS int => the number of fractional digits
  9. NUM_PREC_RADIX int => Radix (typically either 10 or 2)
  10. NULLABLE int => whether NULL is allowed
    • attributeNoNulls - might not allow NULL values
    • attributeNullable - definitely allows NULL values
    • attributeNullableUnknown - nullability unknown
  11. REMARKS String => comment describing column (may be null)
  12. ATTR_DEF String => default value (may be null)
  13. SQL_DATA_TYPE int => unused
  14. SQL_DATETIME_SUB int => unused
  15. CHAR_OCTET_LENGTH int => for char types the maximum number of bytes in the column
  16. ORDINAL_POSITION int => index of column in table (starting at 1)
  17. IS_NULLABLE String => "NO" means column definitely does not allow NULL values; "YES" means the column might allow NULL values. An empty string means unknown.
  18. SCOPE_CATALOG String => catalog of table that is the scope of a reference attribute (null if DATA_TYPE isn't REF)
  19. SCOPE_SCHEMA String => schema of table that is the scope of a reference attribute (null if DATA_TYPE isn't REF)
  20. SCOPE_TABLE String => table name that is the scope of a reference attribute (null if the DATA_TYPE isn't REF)
  21. SOURCE_DATA_TYPE short => source type of a distinct type or user-generated Ref type,SQL type from java.sql.Types (null if DATA_TYPE isn't DISTINCT or user-generated REF)
Parameters:
catalog a catalog name; must match the catalog name as it is stored in the database; "" retrieves those without a catalog; null means that the catalog name should not be used to narrow the search
schemaPattern a schema name pattern; must match the schema name as it is stored in the database; "" retrieves those without a schema; null means that the schema name should not be used to narrow the search
typeNamePattern a type name pattern; must match the type name as it is stored in the database
attributeNamePattern an attribute name pattern; must match the attribute name as it is declared in the database
Returns:
a ResultSet object in which each row is an attribute description
Exceptions:
SQLException if a database access error occurs
Since:
1.4

Definition at line 2810 of file DatabaseMetaData.java.

References com.quadcap.jdbc.DatabaseMetaData.getAttributes().

Referenced by com.quadcap.jdbc.DatabaseMetaData.getAttributes().

java.sql.ResultSet com.quadcap.jdbc.DatabaseMetaData.getBestRowIdentifier String  catalog,
String  schema,
String  table,
int  scope,
boolean  nullable
throws SQLException
 

Return a resultset containing the set of columns that "best uniquely identify a row".

In QED, this is interpreted to mean the 'primary key' constraint, if specified, otherwise a 'unique' constraint, maybe...

Returns:
the specified ResultSet
Exceptions:
SQLException may be thrown

Definition at line 157 of file DatabaseMetaData.java.

References com.quadcap.jdbc.DatabaseMetaData.getBestRowIdentifier(), and com.quadcap.jdbc.DatabaseMetaData.session.

Referenced by com.quadcap.jdbc.DatabaseMetaData.getBestRowIdentifier().

java.sql.ResultSet com.quadcap.jdbc.DatabaseMetaData.getCatalogs  )  throws SQLException
 

QED doesn't support catalogs, but we return an empty ResultSet of the right signature as a courtesy.

Definition at line 195 of file DatabaseMetaData.java.

References com.quadcap.jdbc.DatabaseMetaData.session.

String com.quadcap.jdbc.DatabaseMetaData.getCatalogSeparator  ) 
 

QED doesn't support catalogs, so there is no separator.

Returns:
the empty string

Definition at line 178 of file DatabaseMetaData.java.

String com.quadcap.jdbc.DatabaseMetaData.getCatalogTerm  ) 
 

Call it what you like, but QED doesn't support catalogs.

Returns:
"catalog"

Definition at line 187 of file DatabaseMetaData.java.

java.sql.ResultSet com.quadcap.jdbc.DatabaseMetaData.getColumnPrivileges String  catalog,
String  schema,
String  table,
String  columnNamePattern
throws SQLException
 

QED doesn't support access controls, but we return an empty ResultSet of the right signature as a courtesy.

Definition at line 206 of file DatabaseMetaData.java.

References com.quadcap.jdbc.DatabaseMetaData.getColumnPrivileges(), and com.quadcap.jdbc.DatabaseMetaData.session.

Referenced by com.quadcap.jdbc.DatabaseMetaData.getColumnPrivileges().

java.sql.ResultSet com.quadcap.jdbc.DatabaseMetaData.getColumns String  catalog,
String  schemaPattern,
String  tableNamePattern,
String  columnNamePattern
throws SQLException
 

This function returns a ResultSet object containing information about the specified columns.

Parameters:
catalog not used
schemaPattern a SQL "like" pattern. All schema names matching this pattern are selected. If this parameter is the empty string, all schemas are selected.
tableNamePattern a SQL "like" pattern. All table names matching this pattern are selected.
columnNamePattern a SQL "like" pattern. All column names matching this pattern are selected.
Returns:
a ResultSet object, with each row being a description of a table column.
The columns in the ResultSet object have the following definition:

1: TABLE_CAT null (Catalogs not supported by QED)
2: TABLE_SCHEM String giving the table's schema
3: TABLE_NAME String giving the table's name
4: COLUMN_NAME String giving the column name
5: DATA_TYPE short type from java.sql.types
6: TYPE_NAME String giving the SQL type
7: COLUMN_SIZE int For numeric types, this is the precision; for character types, it's the maximum width
8: BUFFER_LENGTH null unused
9: DECIMAL_DIGITS int For numeric types, the number of digits to the right of the decimal point. For other types, -1
10: NUM_PREC_RADIX int 10
11: NULLABLE int One of:
  • ResultSetMetaData.columnNoNulls
  • ResultSetMetaData.columnNullable
  • ResultSetMetaData.columnNullableUnknown
12: REMARKS null
13: COLUMN_DEF String The column's default value, cast to a String. null if the column doesn't have a default value
14: SQL_DATA_TYPE null
15: SQL_DATETIME_SUB null
16: CHAR_OCTET_LENGTH int For character types, two times the maximum number of characters in the column. null for other types.
17: ORDINAL_POSITION int The index of the column in its table.
18: IS_NULLABLE String One of "NO", "YES", or ""

Exceptions:
SQLException may be thrown.

Definition at line 355 of file DatabaseMetaData.java.

References com.quadcap.jdbc.DatabaseMetaData.getColumns(), com.quadcap.jdbc.DatabaseMetaData.parseExpression(), and com.quadcap.jdbc.DatabaseMetaData.session.

Referenced by com.quadcap.jdbc.DatabaseMetaData.getColumns().

java.sql.Connection com.quadcap.jdbc.DatabaseMetaData.getConnection  ) 
 

Return the Connection object that was used to create this DatabaseMetaData object.

Returns:
a Connection object

Definition at line 378 of file DatabaseMetaData.java.

References com.quadcap.jdbc.DatabaseMetaData.connection.

java.sql.ResultSet com.quadcap.jdbc.DatabaseMetaData.getCrossReference String  primaryCatalog,
String  primarySchema,
String  primaryTable,
String  foreignCatalog,
String  foreignSchema,
String  foreignTable
throws SQLException
 

This function returns a ResultSet object containing information about the foreign key relationships in the database.

Parameters:
primaryCatalog not used
primarySchema a schema name. Used to specify the schema name of the table containing the primary key. null specifies all schemas.
foreignCatalog not used
foreignSchema a schema name. Used to specify the schema name of the table containing the foreign key. null specifies all schemas.
foreignTable the name of the table containing the foreign key.
Returns:
a ResultSet object, with each row being a description of a foreign key column.
Exceptions:
SQLException may be thrown.
The columns in the ResultSet object have the following definition:

1: PKTABLE_CAT null (Catalogs not supported by QED)
2: PKTABLE_SCHEM String giving the schema of the primary key's table.
3: PKTABLE_NAME String giving the name of the primary key's table
4: PKCOLUMN_NAME String giving the column name of the primary key
5: FKTABLE_CAT String (An empty string in QED)
6: FKTABLE_SCHEM String giving the schema of the foreign key's table.
7: FKTABLE_NAME String giving the name of the foreign key's table
8: FKCOLUMN_NAME String giving the column name of the foreign key
9: KEY_SEQ short indicating the column number within the foreign key, if the foreign key has more than one column
10: UPDATE_RULE short indicating what happens when the primary key is updated: The values supported by QED are:
  • DatabaseMetaData.importedKeyRestrict
  • DatabaseMetaData.importedKeyCascade
11: DELETE_RULE short indicating what happens when the primary key is deleted: The values supported by QED are:
  • DatabaseMetaData.importedKeyRestrict
  • DatabaseMetaData.importedKeyCascade
12: FK_NAME null
13: PK_NAME null
14: DEFERRABILITY short indicating whether foreign key constraint checking can be deferred. One of:
  • DatabaseMetaData.importedKeyInitiallyDeferred
  • DatabaseMetaData.importedKeyInitiallyImmediate
  • DatabaseMetaData.importedKeyNotDeferrable

This QED release remembers the deferability specification in the original DDL statement, but deferred constraint checking is not supported in this release.

Definition at line 490 of file DatabaseMetaData.java.

References com.quadcap.jdbc.DatabaseMetaData.getCrossReference(), com.quadcap.jdbc.DatabaseMetaData.parseExpression(), and com.quadcap.jdbc.DatabaseMetaData.session.

Referenced by com.quadcap.jdbc.DatabaseMetaData.getCrossReference().

int com.quadcap.jdbc.DatabaseMetaData.getDatabaseMajorVersion  )  throws SQLException
 

Retrieves the major version number of the underlying database.

Returns:
the underlying database's major version
Exceptions:
SQLException if a database access error occurs
Since:
1.4

Definition at line 2860 of file DatabaseMetaData.java.

int com.quadcap.jdbc.DatabaseMetaData.getDatabaseMinorVersion  )  throws SQLException
 

Retrieves the minor version number of the underlying database.

Returns:
underlying database's minor version
Exceptions:
SQLException if a database access error occurs
Since:
1.4

Definition at line 2873 of file DatabaseMetaData.java.

String com.quadcap.jdbc.DatabaseMetaData.getDatabaseProductName  ) 
 

Return the database product name, "QED".

Returns:
QED

Definition at line 513 of file DatabaseMetaData.java.

String com.quadcap.jdbc.DatabaseMetaData.getDatabaseProductVersion  ) 
 

Return the version for this product.

QED version strings are strings of the form major.minor, where major and minor are the driver major and minor version numbers

See also:
getDriverMajorVersion()

getDriverMinorVersion()

Returns:
the QED version string.

Definition at line 527 of file DatabaseMetaData.java.

References com.quadcap.jdbc.DatabaseMetaData.getDriverMajorVersion(), and com.quadcap.jdbc.DatabaseMetaData.getDriverMinorVersion().

Referenced by com.quadcap.jdbc.DatabaseMetaData.getDriverVersion().

int com.quadcap.jdbc.DatabaseMetaData.getDefaultTransactionIsolation  ) 
 

Return the default transaction isolation level.

For QED, the default (and only supported) transaction isolation level is Connection.TRANSACTION_SERIALIZABLE.

the default transaction isolation level.

Definition at line 538 of file DatabaseMetaData.java.