C++ Client API 1.4 (November 2023)
 
Loading...
Searching...
No Matches
dbSpaces::dbcli::DatabaseMetaData Class Reference

#include <Ccdb_DatabaseMetaData.h>

Inheritance diagram for dbSpaces::dbcli::DatabaseMetaData:
Collaboration diagram for dbSpaces::dbcli::DatabaseMetaData:

Public Member Functions

dtBOOLEAN AllProceduresAreCallable ()
 
dtBOOLEAN AllTablesAreSelectable ()
 
dtBOOLEAN AutoCommitFailureClosesAllResultSets ()
 
dtBOOLEAN DataDefinitionCausesTransactionCommit ()
 
dtBOOLEAN DataDefinitionIgnoredInTransactions ()
 
dtBOOLEAN DeletesAreDetected (dtLARGE)
 
dtBOOLEAN DoesMaxRowSizeIncludeBlobs ()
 
ResultSetGetBestRowIdentifier (const dtSTRING *, const dtSTRING *, const dtSTRING *, const dtSMALL, const dtBOOLEAN)
 
ResultSetGetCatalogs ()
 
const dtSTRING * GetCatalogSeparator ()
 
const dtSTRING * GetCatalogTerm ()
 
ResultSetGetColumnPrivileges (const dtSTRING *, const dtSTRING *, const dtSTRING *, const dtSTRING *)
 
ResultSetGetColumns (const dtSTRING *, const dtSTRING *, const dtSTRING *, const dtSTRING *)
 
ResultSetGetCrossReference (const dtSTRING *, const dtSTRING *, const dtSTRING *, const dtSTRING *, const dtSTRING *, const dtSTRING *)
 
const dtSTRING * GetDatabaseProductName ()
 
const dtSTRING * GetDatabaseProductVersion ()
 
dtLARGE GetDatabaseMajorVersion ()
 
dtLARGE GetDatabaseMinorVersion ()
 
dtLARGE GetDefaultTransactionIsolation ()
 
ResultSetGetExportedKeys (const dtSTRING *, const dtSTRING *, const dtSTRING *)
 
ResultSetGetImportedKeys (const dtSTRING *, const dtSTRING *, const dtSTRING *)
 
const dtSTRING * GetIdentifierQuotedString ()
 
ResultSetGetIndexInfo (const dtSTRING *, const dtSTRING *, const dtSTRING *, const dtBOOLEAN, const dtBOOLEAN)
 
dtLARGE GetMaxBinaryLiteralLength ()
 
dtLARGE GetMaxCatalogNameLength ()
 
dtLARGE GetMaxCharLiteralLength ()
 
dtLARGE GetMaxColumnNameLength ()
 
dtLARGE GetMaxColumnsInGroupBy ()
 
dtLARGE GetMaxColumnsInIndex ()
 
dtLARGE GetMaxColumnsInOrderBy ()
 
dtLARGE GetMaxColumnsInSelect ()
 
dtLARGE GetMaxColumnsInTable ()
 
dtLARGE GetMaxConnections ()
 
dtLARGE GetMaxCursors ()
 
dtLARGE GetMaxCursorNameLength ()
 
dtLARGE GetMaxIndexLength ()
 
dtLARGE GetMaxProcedureNameLength ()
 
dtLARGE GetMaxRowSize ()
 
dtLARGE GetMaxSchemaNameLength ()
 
dtLARGE GetMaxStatementLength ()
 
dtLARGE GetMaxTableNameLength ()
 
dtLARGE GetMaxTablesInSelect ()
 
dtLARGE GetMaxUserNameLength ()
 
const dtSTRING * GetNumericFunctions ()
 
ResultSetGetPrimaryKeys (const dtSTRING *, const dtSTRING *, const dtSTRING *)
 
ResultSetGetProcedureColumns (const dtSTRING *, const dtSTRING *, const dtSTRING *, const dtSTRING *)
 
ResultSetGetProcedurePrivileges (const dtSTRING *, const dtSTRING *, const dtSTRING *)
 
ResultSetGetProcedures (const dtSTRING *, const dtSTRING *, const dtSTRING *)
 
const dtSTRING * GetProcedureTerm ()
 
ResultSetGetSchemas ()
 
ResultSetGetSchemas (const dtSTRING *, const dtSTRING *)
 
const dtSTRING * GetSchemaTerm ()
 
const dtSTRING * GetSearchEscape ()
 
const dtSTRING * GetSQLKeywords ()
 
dtLARGE GetSQLStateType ()
 
const dtSTRING * GetStringFunctions ()
 
const dtSTRING * GetSystemFunctions ()
 
ResultSetGetTablePrivileges (const dtSTRING *, const dtSTRING *, const dtSTRING *)
 
ResultSetGetTables (const dtSTRING *, const dtSTRING *, const dtSTRING *, const dtSTRING *)
 
ResultSetGetTableTypes ()
 
const dtSTRING * GetTimeDateFunctions ()
 
ResultSetGetTypeInfo (const dtSMALL=0)
 
ResultSetGetVersionColumns (const dtSTRING *, const dtSTRING *, const dtSTRING *)
 
dtBOOLEAN InsertsAreDetected (const dtLARGE)
 
dtBOOLEAN IsCatalogAtStart ()
 
dtBOOLEAN IsReadOnly ()
 
dtBOOLEAN NullsAreSortedHigh ()
 
dtBOOLEAN NullsAreSortedLow ()
 
dtBOOLEAN NullsAreSortedAtStart ()
 
dtBOOLEAN NullsAreSortedAtEnd ()
 
dtBOOLEAN NullPlusNonNullIsNull ()
 
dtBOOLEAN OthersDeletesAreVisible (const dtLARGE)
 
dtBOOLEAN OthersInsertsAreVisible (const dtLARGE)
 
dtBOOLEAN OthersUpdatesAreVisible (const dtLARGE)
 
dtBOOLEAN OwnDeletesAreVisible (const dtLARGE)
 
dtBOOLEAN OwnInsertsAreVisible (const dtLARGE)
 
dtBOOLEAN OwnUpdatesAreVisible (const dtLARGE)
 
dtBOOLEAN StoresLowerCaseIdentifiers ()
 
dtBOOLEAN StoresLowerCaseQuotedIdentifiers ()
 
dtBOOLEAN StoresMixedCaseIdentifiers ()
 
dtBOOLEAN StoresMixedCaseQuotedIdentifiers ()
 
dtBOOLEAN StoresUpperCaseIdentifiers ()
 
dtBOOLEAN StoresUpperCaseQuotedIdentifiers ()
 
dtBOOLEAN SupportsAlterTableWithAddColumn ()
 
dtBOOLEAN SupportsAlterTableWithDropColumn ()
 
dtBOOLEAN SupportsANSI92EntryLevelSQL ()
 
dtBOOLEAN SupportsANSI92FullSQL ()
 
dtBOOLEAN SupportsANSI92IntermediateSQL ()
 
dtBOOLEAN SupportsBatchUpdates ()
 
dtBOOLEAN SupportsCatalogsInDataManipulation ()
 
dtBOOLEAN SupportsCatalogsInIndexDefinitions ()
 
dtBOOLEAN SupportsCatalogsInPrivilegeDefinitions ()
 
dtBOOLEAN SupportsCatalogsInProcedureCalls ()
 
dtBOOLEAN SupportsCatalogsInTableDefinitions ()
 
dtBOOLEAN SupportsColumnAliasing ()
 
dtBOOLEAN SupportsConvert ()
 
dtBOOLEAN SupportsConvert (const dtLARGE, const dtLARGE)
 
dtBOOLEAN SupportsCoreSQLGrammar ()
 
dtBOOLEAN SupportsCorrelatedSubqueries ()
 
dtBOOLEAN SupportsDataDefinitionAndDataManipulationTransactions ()
 
dtBOOLEAN SupportsDataManipulationTransactionsOnly ()
 
dtBOOLEAN SupportsDifferentTableCorrelationNames ()
 
dtBOOLEAN SupportsExpressionsInOrderBy ()
 
dtBOOLEAN SupportsExtendedSQLGrammar ()
 
dtBOOLEAN SupportsFullOuterJoins ()
 
dtBOOLEAN SupportsGetGeneratedKeys ()
 
dtBOOLEAN SupportsGroupBy ()
 
dtBOOLEAN SupportsGroupByBeyondSelect ()
 
dtBOOLEAN SupportsGroupByUnrelated ()
 
dtBOOLEAN SupportsIntegrityEnhancementFacility ()
 
dtBOOLEAN SupportsLikeEscapeClause ()
 
dtBOOLEAN SupportsLimitedOuterJoins ()
 
dtBOOLEAN SupportsMinimumSQLGrammar ()
 
dtBOOLEAN SupportsMixedCaseIdentifiers ()
 
dtBOOLEAN SupportsMixedCaseQuotedIdentifiers ()
 
dtBOOLEAN SupportsMultipleOpenResults ()
 
dtBOOLEAN SupportsMultipleResultSets ()
 
dtBOOLEAN SupportsMultipleTransactions ()
 
dtBOOLEAN SupportsNamedParameters ()
 
dtBOOLEAN SupportsNonNullableColumns ()
 
dtBOOLEAN SupportsOpenCursorsAcrossCommit ()
 
dtBOOLEAN SupportsOpenCursorsAcrossRollback ()
 
dtBOOLEAN SupportsOpenStatementsAcrossCommit ()
 
dtBOOLEAN SupportsOpenStatementsAcrossRollback ()
 
dtBOOLEAN SupportsOrderByUnrelated ()
 
dtBOOLEAN SupportsOuterJoins ()
 
dtBOOLEAN SupportsPositionedDelete ()
 
dtBOOLEAN SupportsPositionedUpdate ()
 
dtBOOLEAN SupportsResultSetConcurrency (const dtLARGE, const dtLARGE)
 
dtBOOLEAN SupportsResultSetHoldability (const dtLARGE)
 
dtBOOLEAN SupportsResultSetType (const dtLARGE)
 
dtBOOLEAN SupportsSavepoints ()
 
dtBOOLEAN SupportsSchemasInDataManipulation ()
 
dtBOOLEAN SupportsSchemasInIndexDefinitions ()
 
dtBOOLEAN SupportsSchemasInPrivilegeDefinitions ()
 
dtBOOLEAN SupportsSchemasInProcedureCalls ()
 
dtBOOLEAN SupportsSchemasInTableDefinitions ()
 
dtBOOLEAN SupportsSelectForUpdate ()
 
dtBOOLEAN SupportsStatementPooling ()
 
dtBOOLEAN SupportsStoredFunctionsUsingCallSyntax ()
 
dtBOOLEAN SupportsStoredProcedures ()
 
dtBOOLEAN SupportsSubqueriesInComparisons ()
 
dtBOOLEAN SupportsSubqueriesInExists ()
 
dtBOOLEAN SupportsSubqueriesInIns ()
 
dtBOOLEAN SupportsSubqueriesInQuantifieds ()
 
dtBOOLEAN SupportsTableCorrelationNames ()
 
dtBOOLEAN SupportsTransactionIsolationLevel (dtLARGE)
 
dtBOOLEAN SupportsTransactions ()
 
dtBOOLEAN SupportsUnion ()
 
dtBOOLEAN SupportsUnionAll ()
 
dtBOOLEAN UpdatesAreDetected (const dtLARGE)
 
- Public Member Functions inherited from dbSpaces::dbcli::cdbBase
 cdbBase (cdbBase *, ccdbClassType, dtBOOLEAN=TRUE)
 
virtual ~cdbBase ()
 
cdb_childList_t & GetChildList ()
 
Ccoms_CommsManager * GetTransportComms ()
 
ccdbClassType GetType ()
 
void SetTransportComms (Ccoms_CommsManager *)
 

Static Public Attributes

static const int TRANSACTION_NONE = 0
 
static const int TRANSACTION_READ_UNCOMMITTED = 1
 
static const int TRANSACTION_READ_COMMITTED = 2
 
static const int TRANSACTION_REPEATABLE_READ = 4
 
static const dtLARGE TRANSACTION_SERIALIZABLE = 8
 

Detailed Description

DatabaseMetaData Class provides information about the database as a whole.

Many of the methods here return lists of information in ResultSets. You can use the normal ResultSet methods such as getString and getInt to retrieve the data from these ResultSets. If a given form of metadata is not available, these methods should throw a DatabaseException.

Some of these methods take arguments that are String patterns. These arguments all have names such as fooPattern. Within a pattern String, "%" means match any substring of 0 or more characters, and "_" means match any one character. Only metadata entries matching the search pattern are returned. If a search pattern argument is set to a null ref, it means that argument's criteria should be dropped from the search.

A DatabaseException will be thrown if a database error occurs and exceptions are enabled. If exceptions are not enabled the following error methods can be used to get information about the error;

  • GetErrorStatus()
  • GetErrorCode()
  • GetErrorMessage()
Since
Version 1.0

Member Function Documentation

◆ AllProceduresAreCallable()

dtBOOLEAN dbSpaces::dbcli::DatabaseMetaData::AllProceduresAreCallable ( )

Can all the procedures returned by getProcedures be called by the current user?

Returns
TRUE if so; FALSE if otherwise.
Since
Version 1.0

◆ AllTablesAreSelectable()

dtBOOLEAN dbSpaces::dbcli::DatabaseMetaData::AllTablesAreSelectable ( )

Can all the tables returned by getTables() be SELECTed by the current user?

Returns
TRUE if so; FALSE if otherwise.
Since
Version 1.0

◆ AutoCommitFailureClosesAllResultSets()

dtBOOLEAN dbSpaces::dbcli::DatabaseMetaData::AutoCommitFailureClosesAllResultSets ( )

Retrieves whether a DatabaseException while autoCommit is TRUE inidicates that all open ResultSets are closed, even ones that are holdable. When a DatabaseException occurs while autocommit is TRUE, a rollback operation, or by doing neither a commit nor a rollback. A potential result of this difference is in whether or not hold-able ResultSets are closed.

Returns
TRUE if so; FALSE if otherwise.
Since
Version 1.0

◆ DataDefinitionCausesTransactionCommit()

dtBOOLEAN dbSpaces::dbcli::DatabaseMetaData::DataDefinitionCausesTransactionCommit ( )

Does a data definition statement within a transaction force the transaction to commit?

Returns
TRUE if so; FALSE if otherwise.
Since
Version 1.0

◆ DataDefinitionIgnoredInTransactions()

dtBOOLEAN dbSpaces::dbcli::DatabaseMetaData::DataDefinitionIgnoredInTransactions ( )

Is a data definition statement within a transaction ignored?

Returns
TRUE if so; FALSE if otherwise.
Since
Version 1.0

◆ DeletesAreDetected()

dtBOOLEAN dbSpaces::dbcli::DatabaseMetaData::DeletesAreDetected ( dtLARGE  )

Determine whether or not a visible row delete can be detected by calling ResultSet.rowDeleted(). If deletesAreDetected() returns false, then deleted rows are removed from the result set.

Parameters
typeThe resultset type i.e. ResultSet.TYPE_XXX
Returns
TRUE if changes are detected by the resultset type; FALSE if otherwise.
Since
Version 1.0

◆ DoesMaxRowSizeIncludeBlobs()

dtBOOLEAN dbSpaces::dbcli::DatabaseMetaData::DoesMaxRowSizeIncludeBlobs ( )

Did getMaxRowSize() include LONGVARCHAR and LONGVARBINARY blobs?

Returns
TRUE if so; FALSE if otherwise.
Since
Version 1.0

◆ GetBestRowIdentifier()

ResultSet * dbSpaces::dbcli::DatabaseMetaData::GetBestRowIdentifier ( const dtSTRING *  ,
const dtSTRING *  ,
const dtSTRING *  ,
const  dtSMALL,
const  dtBOOLEAN 
)
 Get a description of a table's optimal set of columns that
 uniquely identifies a row. They are ordered by SCOPE.

 Each column description has the following columns:
 <OL>
 <LI><B>SCOPE</B> dtSMALL => actual scope of result
<UL>
<LI> bestRowTemporary - very temporary, while using row
<LI> bestRowTransaction - valid for remainder of current transaction
<LI> bestRowSession - valid for remainder of current session
</UL>
 <LI><B>COLUMN_NAME</B> dtSTRING* => column name
 <LI><B>DATA_TYPE</B> dtSMALL => SQL data type 
 <LI><B>TYPE_NAME</B> dtSTRING* => Data source dependent type name,
 for a UDT the type name is fully qualified
 <LI><B>COLUMN_SIZE</B> dtLARGE => precision
 <LI><B>BUFFER_LENGTH</B> dtLARGE => not used
 <LI><B>DECIMAL_DIGITS</B> dtSMALL   => scale
 <LI><B>PSEUDO_COLUMN</B> dtSMALL => is this a pseudo column
like an Oracle ROWID
<UL>
<LI> bestRowUnknown - may or may not be pseudo column
<LI> bestRowNotPseudo - is NOT a pseudo column
<LI> bestRowPseudo - is a pseudo column
</UL>
 @param catalogName A catalog name; "" retrieves those without a
 catalog, null means drop catalog name from the selection criteria
 @param schemaName A schema name; "" retrieves those without a schema
 @param tableName A table name
 @param scope The scope of interest; use same values as SCOPE
 @param nullable Include columns that are nullable?
 @return ResultSet Each row is a column description
 @throws DatabaseException (if exceptions are enabled) when a database error occurs.
 @since Version 1.0

◆ GetCatalogs()

ResultSet * dbSpaces::dbcli::DatabaseMetaData::GetCatalogs ( )

Returns a list of valid catalogs as a ResultSet object.

Returns
The ResultSet object.
Exceptions
DatabaseException(if exceptions are enabled) when a database error occurs.
Since
Version 1.0

◆ GetCatalogSeparator()

const dtSTRING * dbSpaces::dbcli::DatabaseMetaData::GetCatalogSeparator ( )

What's the separator between catalog and table name?

Returns
The separator string
Since
Version 1.0

◆ GetCatalogTerm()

const dtSTRING * dbSpaces::dbcli::DatabaseMetaData::GetCatalogTerm ( )

What's the database vendor's preferred term for "catalog"?

Returns
The catalog term
Since
Version 1.0

◆ GetColumnPrivileges()

ResultSet * dbSpaces::dbcli::DatabaseMetaData::GetColumnPrivileges ( const dtSTRING *  ,
const dtSTRING *  ,
const dtSTRING *  ,
const dtSTRING *   
)

Get a description of the access rights for a table's columns.

Only privileges matching the column name criteria are returned. They are ordered by COLUMN_NAME and PRIVILEGE.

Each privilege description has the following columns:

  1. TABLE_CAT dtSTRING* => table catalog (may be null)
  2. TABLE_SCHEM dtSTRING* => table schema (may be null)
  3. TABLE_NAME dtSTRING* => table name
  4. COLUMN_NAME dtSTRING* => column name
  5. GRANTOR => grantor of access (may be null)
  6. GRANTEE dtSTRING* => grantee of access
  7. PRIVILEGE dtSTRING* => name of access (SELECT, INSERT, UPDATE, REFRENCES, ...)
  8. IS_GRANTABLE dtSTRING* => "YES" if grantee is permitted to grant to others; "NO" if not; null if unknown
Parameters
catalogName- a catalog name; "" retrieves those without a catalog; null means drop catalog name from the selection criteria
schemaName- a schema name; "" retrieves those without a schema
tableName- a table name
columnNamePattern- a column name pattern
Returns
ResultSet - each row is a column privilege description
Exceptions
DatabaseException(if exceptions are enabled) when a database error occurs.
Since
Version 1.0

◆ GetColumns()

ResultSet * dbSpaces::dbcli::DatabaseMetaData::GetColumns ( const dtSTRING *  ,
const dtSTRING *  ,
const dtSTRING *  ,
const dtSTRING *   
)

Get a description of table columns available in a catalog.

Only column descriptions matching the catalog, schema, table and column name criteria are returned. They are ordered by TABLE_SCHEM, TABLE_NAME and ORDINAL_POSITION.

Each column description has the following columns:

  1. TABLE_CAT dtSTRING* => table catalog (may be null)
  2. TABLE_SCHEM dtSTRING* => table schema (may be null)
  3. TABLE_NAME dtSTRING* => table name
  4. COLUMN_NAME dtSTRING* => column name
  5. DATA_TYPE dtSMALL => SQL type
  6. TYPE_NAME dtSTRING* => Data source dependent type name, for a UDT the type name is fully qualified
  7. COLUMN_SIZE dtLARGE => column size. For char or date types this is the maximum number of characters, for numeric or decimal types this is precision.
  8. BUFFER_LENGTH is not used.
  9. DECIMAL_DIGITS dtLARGE => the number of fractional digits
  10. NUM_PREC_RADIX dtLARGE => Radix (typically either 10 or 2)
  11. NULLABLE int => is NULL allowed?
    • columnNoNulls - might not allow NULL values
    • columnNullable - definitely allows NULL values
    • columnNullableUnknown - nullability unknown
  12. REMARKS dtSTRING* => comment describing column (may be null)
  13. COLUMN_DEF dtSTRING* => default value (may be null)
  14. SQL_DATA_TYPE dtLARGE => unused
  15. SQL_DATETIME_SUB dtLARGE => unused
  16. CHAR_OCTET_LENGTH dtLARGE => for char types the maximum number of bytes in the column
  17. ORDINAL_POSITION dtLARGE => index of column in table (starting at 1)
  18. IS_NULLABLE dtSTRING* => "NO" means column definitely does not allow NULL values; "YES" means the column might allow NULL values. An empty string means nobody knows.
Parameters
catalogNameA catalog name; "" retrieves those without a catalog; null means drop catalog name from the selection criteria
schemaPatternA schema name pattern; "" retrieves those without a schema
tableNamePatternA table name pattern
columnNamePatternA column name pattern
Returns
The ResultSet; each row is a column description
Exceptions
DatabaseException(if exceptions are enabled) when a database error occurs.
Since
Version 1.0

◆ GetCrossReference()

ResultSet * dbSpaces::dbcli::DatabaseMetaData::GetCrossReference ( const dtSTRING *  ,
const dtSTRING *  ,
const dtSTRING *  ,
const dtSTRING *  ,
const dtSTRING *  ,
const dtSTRING *   
)

Get a description of the foreign key columns in the foreign key table that reference the primary key columns of the primary key table (describe how one table imports another's key.) This should normally return a single foreign key/primary key pair (most tables only import a foreign key from a table once.) They are ordered by FKTABLE_CAT, FKTABLE_SCHEM, FKTABLE_NAME, and KEY_SEQ.

Each foreign key column description has the following columns:

  1. PKTABLE_CAT dtSTRING* => primary key table catalog (may be null)
  2. PKTABLE_SCHEM dtSTRING* => primary key table schema (may be null)
  3. PKTABLE_NAME dtSTRING* => primary key table name
  4. PKCOLUMN_NAME dtSTRING* => primary key column name
  5. FKTABLE_CAT dtSTRING* => foreign key table catalog (may be null) being exported (may be null)
  6. FKTABLE_SCHEM dtSTRING* => foreign key table schema (may be null) being exported (may be null)
  7. FKTABLE_NAME dtSTRING* => foreign key table name being exported
  8. FKCOLUMN_NAME dtSTRING* => foreign key column name being exported
  9. KEY_SEQ dtSMALL => sequence number within foreign key
  10. UPDATE_RULE dtSMALL => What happens to foreign key when primary is updated:
    • importedNoAction - do not allow update of primary key if it has been imported
    • importedKeyCascade - change imported key to agree with primary key update
    • importedKeySetNull - change imported key to NULL if its primary key has been updated
    • importedKeySetDefault - change imported key to default values if its primary key has been updated
    • importedKeyRestrict - same as importedKeyNoAction (for ODBC 2.x compatibility)
  11. DELETE_RULE dtSMALL => What happens to the foreign key when primary is deleted.
    • importedKeyNoAction - do not allow delete of primary key if it has been imported
    • importedKeyCascade - delete rows that import a deleted key
    • importedKeySetNull - change imported key to NULL if its primary key has been deleted
    • importedKeyRestrict - same as importedKeyNoAction (for ODBC 2.x compatibility)
    • importedKeySetDefault - change imported key to default if its primary key has been deleted
  12. FK_NAME dtSTRING* => foreign key name (may be null)
  13. PK_NAME dtSTRING* => primary key name (may be null)
  14. DEFERRABILITY dtSMALL => can the evaluation of foreign key constraints be deferred until commit
    • importedKeyInitiallyDeferred - see SQL92 for definition
    • importedKeyInitiallyImmediate - see SQL92 for definition
    • importedKeyNotDeferrable - see SQL92 for definition
Parameters
primaryCatalogA catalog name; "" retrieves those without a catalog; null means drop catalog name from the selection criteria
primarySchemaA schema name; "" retrieves those without a schema
primaryTableThe table name that exports the key
foreignCatalogA catalog name; "" retrieves those without a catalog; null means drop catalog name from the selection criteria
foreignSchemaA schema name; "" retrieves those without a schema
foreignTableThe table name that imports the key
Returns
The ResultSet; each row is a foreign key column description
Exceptions
DatabaseException(if exceptions are enabled) when a database error occurs.
Since
Version 1.0

◆ GetDatabaseMajorVersion()

dtLARGE dbSpaces::dbcli::DatabaseMetaData::GetDatabaseMajorVersion ( )

Return the database major version.

Returns
the major version number.
Since
Version 1.0

◆ GetDatabaseMinorVersion()

dtLARGE dbSpaces::dbcli::DatabaseMetaData::GetDatabaseMinorVersion ( )

Return the database minor version.

Returns
the minor version number
Since
Version 1.0

◆ GetDatabaseProductName()

const dtSTRING * dbSpaces::dbcli::DatabaseMetaData::GetDatabaseProductName ( )

What's the name of this database product?

Returns
database product name.
Since
Version 1.0

◆ GetDatabaseProductVersion()

const dtSTRING * dbSpaces::dbcli::DatabaseMetaData::GetDatabaseProductVersion ( )

What's the version of this database product?

Exceptions
DatabaseException(if exceptions are enabled) when a database error occurs.
Returns
database version.
Since
Version 1.0

◆ GetDefaultTransactionIsolation()

dtLARGE dbSpaces::dbcli::DatabaseMetaData::GetDefaultTransactionIsolation ( )

What's the database's default transaction isolation level? The values are defined in Connection.

Returns
the default isolation level.
See also
Connection
Since
Version 1.0

◆ GetExportedKeys()

ResultSet * dbSpaces::dbcli::DatabaseMetaData::GetExportedKeys ( const dtSTRING *  ,
const dtSTRING *  ,
const dtSTRING *   
)

Get a description of the foreign key columns that reference a table's primary key columns (the foreign keys exported by a table). They are ordered by FKTABLE_CAT, FKTABLE_SCHEM, FKTABLE_NAME, and KEY_SEQ.

Each foreign key column description has the following columns:

  1. PKTABLE_CAT dtSTRING* => primary key table catalog (may be null)
  2. PKTABLE_SCHEM dtSTRING* => primary key table schema (may be null)
  3. PKTABLE_NAME dtSTRING* => primary key table name
  4. PKCOLUMN_NAME dtSTRING* => primary key column name
  5. FKTABLE_CAT dtSTRING* => foreign key table catalog (may be null) being exported (may be null)
  6. FKTABLE_SCHEM dtSTRING* => foreign key table schema (may be null) being exported (may be null)
  7. FKTABLE_NAME dtSTRING* => foreign key table name being exported
  8. FKCOLUMN_NAME dtSTRING* => foreign key column name being exported
  9. KEY_SEQ dtSMALL => sequence number within foreign key
  10. UPDATE_RULE dtSMALL => What happens to foreign key when primary is updated:
    • importedNoAction - do not allow update of primary key if it has been imported
    • importedKeyCascade - change imported key to agree with primary key update
    • importedKeySetNull - change imported key to NULL if its primary key has been updated
    • importedKeySetDefault - change imported key to default values if its primary key has been updated
    • importedKeyRestrict - same as importedKeyNoAction (for ODBC 2.x compatibility)
  11. DELETE_RULE dtSMALL => What happens to the foreign key when primary is deleted.
    • importedKeyNoAction - do not allow delete of primary key if it has been imported
    • importedKeyCascade - delete rows that import a deleted key
    • importedKeySetNull - change imported key to NULL if its primary key has been deleted
    • importedKeyRestrict - same as importedKeyNoAction (for ODBC 2.x compatibility)
    • importedKeySetDefault - change imported key to default if its primary key has been deleted
  12. FK_NAME dtSTRING* => foreign key name (may be null)
  13. PK_NAME dtSTRING* => primary key name (may be null)
  14. DEFERRABILITY dtSMALL => can the evaluation of foreign key constraints be deferred until commit
    • importedKeyInitiallyDeferred - see SQL92 for definition
    • importedKeyInitiallyImmediate - see SQL92 for definition
    • importedKeyNotDeferrable - see SQL92 for definition
Parameters
catalogNameA catalog name; "" retrieves those without a catalog; null means drop catalog name from the selection criteria
schemaNameA schema name; "" retrieves those without a schema
tableNameA table name
Returns
The ResultSet; each row is a foreign key column description
Exceptions
DatabaseException(if exceptions are enabled) when a database error occurs.
Since
Version 1.0

◆ GetIdentifierQuotedString()

const dtSTRING * dbSpaces::dbcli::DatabaseMetaData::GetIdentifierQuotedString ( )

What's the string used to quote SQL identifiers? This returns a space " " if identifier quoting isn't supported.

Returns
the quoting string
Since
Version 1.0

◆ GetImportedKeys()

ResultSet * dbSpaces::dbcli::DatabaseMetaData::GetImportedKeys ( const dtSTRING *  ,
const dtSTRING *  ,
const dtSTRING *   
)

Get a description of the primary key columns that are referenced by a table's foreign key columns (the primary keys imported by a table). They are ordered by PKTABLE_CAT, PKTABLE_SCHEM, PKTABLE_NAME, and KEY_SEQ.

Each primary key column description has the following columns:

  1. PKTABLE_CAT dtSTRING* => primary key table catalog being imported (may be null)
  2. PKTABLE_SCHEM dtSTRING* => primary key table schema being imported (may be null)
  3. PKTABLE_NAME dtSTRING* => primary key table name being imported
  4. PKCOLUMN_NAME dtSTRING* => primary key column name being imported
  5. FKTABLE_CAT dtSTRING* => foreign key table catalog (may be null)
  6. FKTABLE_SCHEM dtSTRING* => foreign key table schema (may be null)
  7. FKTABLE_NAME dtSTRING* => foreign key table name
  8. FKCOLUMN_NAME dtSTRING* => foreign key column name
  9. KEY_SEQ dtSMALL => sequence number within foreign key
  10. UPDATE_RULE dtSMALL => What happens to foreign key when primary is updated:
    • importedNoAction - do not allow update of primary key if it has been imported
    • importedKeyCascade - change imported key to agree with primary key update
    • importedKeySetNull - change imported key to NULL if its primary key has been updated
    • importedKeySetDefault - change imported key to default values if its primary key has been updated
    • importedKeyRestrict - same as importedKeyNoAction (for ODBC 2.x compatibility)
  11. DELETE_RULE dtSMALL => What happens to the foreign key when primary is deleted.
    • importedKeyNoAction - do not allow delete of primary key if it has been imported
    • importedKeyCascade - delete rows that import a deleted key
    • importedKeySetNull - change imported key to NULL if its primary key has been deleted
    • importedKeyRestrict - same as importedKeyNoAction
    • importedKeySetDefault - change imported key to default if its primary key has been deleted
  12. FK_NAME dtSTRING* => foreign key name (may be null)
  13. PK_NAME dtSTRING* => primary key name (may be null)
  14. DEFERRABILITY dtSMALL => can the evaluation of foreign key constraints be deferred until commit
    • importedKeyInitiallyDeferred - see SQL92 for definition
    • importedKeyInitiallyImmediate - see SQL92 for definition
    • importedKeyNotDeferrable - see SQL92 for definition
Parameters
catalogNameA catalog name; "" retrieves those without a catalog; null means drop catalog name from the selection criteria
schemaNameA schema name; "" retrieves those without a schema
tableNameA table name
Returns
The ResultSet; each row is a primary key column description
Exceptions
DatabaseException(if exceptions are enabled) when a database error occurs.
Since
Version 1.0

◆ GetIndexInfo()

ResultSet * dbSpaces::dbcli::DatabaseMetaData::GetIndexInfo ( const dtSTRING *  ,
const dtSTRING *  ,
const dtSTRING *  ,
const  dtBOOLEAN,
const  dtBOOLEAN 
)

Get a description of a table's indices and statisticallStmt. They are ordered by NON_UNIQUE, TYPE, INDEX_NAME, and ORDINAL_POSITION.

Each index column description has the following columns:

  1. TABLE_CAT dtSTRING* => table catalog (may be null)
  2. TABLE_SCHEM dtSTRING* => table schema (may be null)
  3. TABLE_NAME dtSTRING* => table name
  4. NON_UNIQUE boolean => Can index values be non-unique? false when TYPE is tableIndexStatistic
  5. INDEX_QUALIFIER dtSTRING* => index catalog (may be null); null when TYPE is tableIndexStatistic
  6. INDEX_NAME dtSTRING* => index name; null when TYPE is tableIndexStatistic
  7. TYPE dtSMALL => index type:
    • tableIndexStatistic - this identifies table statistics that are returned in conjunction with a table's index descriptions
    • tableIndexClustered - this is a clustered index
    • tableIndexHashed - this is a hashed index
    • tableIndexOther - this is some other style of index
  8. ORDINAL_POSITION dtSMALL => column sequence number within index; zero when TYPE is tableIndexStatistic
  9. COLUMN_NAME dtSTRING* => column name; null when TYPE is tableIndexStatistic
  10. ASC_OR_DESC dtSTRING* => column sort sequence, "A" => ascending, "D" => descending, may be null if sort sequence is not supported; null when TYPE is tableIndexStatistic
  11. CARDINALITY int => When TYPE is tableIndexStatistic, then this is the number of rows in the table; otherwise, it is the number of unique values in the index.
  12. PAGES int => When TYPE is tableIndexStatisic then this is the number of pages used for the table, otherwise it is the number of pages used for the current index.
  13. FILTER_CONDITION dtSTRING* => Filter condition, if any. (may be null)
Parameters
catalogNameA catalog name; "" retrieves those without a catalog; null means drop catalog name from the selection criteria
schemaNameA schema name; "" retrieves those without a schema
tableNameA table name
uniqueWhen TRUE, return only indices for unique values; when FALSE, return indices regardless of whether unique or not
approximateWhen TRUE, result is allowed to reflect approximate or out of data values; when FALSE, results are requested to be accurate
Returns
The ResultSet; each row is an index column description
Exceptions
DatabaseException(if exceptions are enabled) when a database error occurs.
Since
Version 1.0

◆ GetMaxBinaryLiteralLength()

dtLARGE dbSpaces::dbcli::DatabaseMetaData::GetMaxBinaryLiteralLength ( )

How many hex characters can you have in an inline binary literal?

Returns
max literal length.
Since
Version 1.0

◆ GetMaxCatalogNameLength()

dtLARGE dbSpaces::dbcli::DatabaseMetaData::GetMaxCatalogNameLength ( )

What's the maximum length of a catalog name?

Returns
max name length in bytes.
Since
Version 1.0

◆ GetMaxCharLiteralLength()

dtLARGE dbSpaces::dbcli::DatabaseMetaData::GetMaxCharLiteralLength ( )

What's the max length for a character literal?

Returns
max literal length.
Since
Version 1.0

◆ GetMaxColumnNameLength()

dtLARGE dbSpaces::dbcli::DatabaseMetaData::GetMaxColumnNameLength ( )

What's the limit on column name length?

Returns
max literal length.
Since
Version 1.0

◆ GetMaxColumnsInGroupBy()

dtLARGE dbSpaces::dbcli::DatabaseMetaData::GetMaxColumnsInGroupBy ( )

What's the maximum number of columns in a "GROUP BY" clause?

Returns
max number of columns.
Since
Version 1.0

◆ GetMaxColumnsInIndex()

dtLARGE dbSpaces::dbcli::DatabaseMetaData::GetMaxColumnsInIndex ( )

What's the maximum number of columns allowed in an index?

Returns
max columns

◆ GetMaxColumnsInOrderBy()

dtLARGE dbSpaces::dbcli::DatabaseMetaData::GetMaxColumnsInOrderBy ( )

What's the maximum number of columns in an "ORDER BY" clause?

Returns
max columns.
Since
Version 1.0

◆ GetMaxColumnsInSelect()

dtLARGE dbSpaces::dbcli::DatabaseMetaData::GetMaxColumnsInSelect ( )

What's the maximum number of columns in a "SELECT" list?

Returns
max columns.
Since
Version 1.0

◆ GetMaxColumnsInTable()

dtLARGE dbSpaces::dbcli::DatabaseMetaData::GetMaxColumnsInTable ( )

What's the maximum number of columns in a table?

Returns
max columns.
Since
Version 1.0

◆ GetMaxConnections()

dtLARGE dbSpaces::dbcli::DatabaseMetaData::GetMaxConnections ( )

How many active connections can we have at a time to this database?

Returns
max connections.
Exceptions
DatabaseException(if exceptions are enabled) when a database error occurs.
Since
Version 1.0

◆ GetMaxCursorNameLength()

dtLARGE dbSpaces::dbcli::DatabaseMetaData::GetMaxCursorNameLength ( )

What's the maximum cursor name length?

Returns
max cursor name length in bytes.
Since
Version 1.0

◆ GetMaxCursors()

dtLARGE dbSpaces::dbcli::DatabaseMetaData::GetMaxCursors ( )

How many active statements can we have open at one time to this database?

Returns
the maximum cursors.
Since
Version 1.0

◆ GetMaxIndexLength()

dtLARGE dbSpaces::dbcli::DatabaseMetaData::GetMaxIndexLength ( )

What's the maximum length of an index (in bytes)?

Returns
max index length in bytes.
Since
Version 1.0

◆ GetMaxProcedureNameLength()

dtLARGE dbSpaces::dbcli::DatabaseMetaData::GetMaxProcedureNameLength ( )

What's the maximum length of a procedure name?

Returns
max name length in bytes.
Since
Version 1.0

◆ GetMaxRowSize()

dtLARGE dbSpaces::dbcli::DatabaseMetaData::GetMaxRowSize ( )

What's the maximum length of a single row?

Returns
max row size in bytes.
Since
Version 1.0

◆ GetMaxSchemaNameLength()

dtLARGE dbSpaces::dbcli::DatabaseMetaData::GetMaxSchemaNameLength ( )

What's the maximum length allowed for a schema name?

Returns
max name length in bytes.
Since
Version 1.0

◆ GetMaxStatementLength()

dtLARGE dbSpaces::dbcli::DatabaseMetaData::GetMaxStatementLength ( )

What's the maximum length of a SQL statement?

Returns
max length in bytes.
Since
Version 1.0

◆ GetMaxTableNameLength()

dtLARGE dbSpaces::dbcli::DatabaseMetaData::GetMaxTableNameLength ( )

What's the maximum length of a table name?

Returns
max name length in bytes.
Since
Version 1.0

◆ GetMaxTablesInSelect()

dtLARGE dbSpaces::dbcli::DatabaseMetaData::GetMaxTablesInSelect ( )

What's the maximum number of tables in a SELECT?

Returns
the maximum.
Since
Version 1.0

◆ GetMaxUserNameLength()

dtLARGE dbSpaces::dbcli::DatabaseMetaData::GetMaxUserNameLength ( )

What's the maximum length of a user name?

Returns
max name length in bytes.
Since
Version 1.0

◆ GetNumericFunctions()

const dtSTRING * dbSpaces::dbcli::DatabaseMetaData::GetNumericFunctions ( )

Get a comma separated list of math functions. These are the X/Open CLI math function names used in the function escape clause.

Returns
the list.
Since
Version 1.0

◆ GetPrimaryKeys()

ResultSet * dbSpaces::dbcli::DatabaseMetaData::GetPrimaryKeys ( const dtSTRING *  ,
const dtSTRING *  ,
const dtSTRING *   
)

Get a description of a table's primary key columns. They are ordered by COLUMN_NAME.

Each primary key column description has the following columns:

  1. TABLE_CAT dtSTRING* => table catalog (may be null)
  2. TABLE_SCHEM dtSTRING* => table schema (may be null)
  3. TABLE_NAME dtSTRING* => table name
  4. COLUMN_NAME dtSTRING* => column name
  5. KEY_SEQ dtSMALL => sequence number within primary key
  6. PK_NAME dtSTRING* => primary key name (may be null)
Parameters
catalogNameA catalog name; "" retrieves those without a catalog; null means drop catalog name from the selection criteria
schemaNameA schema name; "" retrieves those without a schema
tableNameA table name
Returns
The ResultSet; each row is a primary key column description.
Exceptions
DatabaseException(if exceptions are enabled) when a database error occurs.
Since
Version 1.0

◆ GetProcedureColumns()

ResultSet * dbSpaces::dbcli::DatabaseMetaData::GetProcedureColumns ( const dtSTRING *  ,
const dtSTRING *  ,
const dtSTRING *  ,
const dtSTRING *   
)
 Get a description of a catalog's stored procedure parameters
 and result columns.

 Only descriptions matching the schema, procedure and
 parameter name criteria are returned.  They are ordered by
 PROCEDURE_SCHEM and PROCEDURE_NAME. Within this, the return value,
 if any, is first. Next are the parameter descriptions in call
 order. The column descriptions follow in column number order.

 Each row in the ResultSet is a parameter description or
 column description with the following fields:
 <OL>
 <LI><B>PROCEDURE_CAT</B> dtSTRING* => procedure catalog (may be null)
 <LI><B>PROCEDURE_SCHEM</B> dtSTRING* => procedure schema (may be null)
 <LI><B>PROCEDURE_NAME</B> dtSTRING* => procedure name
 <LI><B>COLUMN_NAME</B> dtSTRING* => column/parameter name
 <LI><B>COLUMN_TYPE</B> dtSMALL     => kind of column/parameter:
<UL>
<LI> procedureColumnUnknown - nobody knows
<LI> procedureColumnIn - IN parameter
<LI> procedureColumnInOut - INOUT parameter
<LI> procedureColumnOut - OUT parameter
<LI> procedureColumnReturn - procedure return value
<LI> procedureColumnResult - result column in ResultSet
</UL>

DATA_TYPE dtSMALL => SQL type TYPE_NAME dtSTRING* => SQL type name, for a UDT type the type name is fully qualified PRECISION dtLARGE => precision LENGTH dtLARGE => length in bytes of data SCALE dtSMALL => scale RADIX dtSMALL => radix NULLABLE dtSMALL => can it contain NULL?

  • procedureNoNulls - does not allow NULL values
  • procedureNullable - allows NULL values
  • procedureNullableUnknown - nullability unknown

REMARKS dtSTRING* => comment describing parameter/column

Note: Some databases may not return the column descriptions for a procedure. Additional columns beyond REMARKS can be defined by the database.

Parameters
catalogNameA catalog name; "" retrieves those without a catalog; null means drop catalog name from the selection criteria
schemaPatternA schema name pattern; "" retrieves those without a schema
procedureNamePatternA procedure name pattern
columnNamePatternA column name pattern
Returns
The ResultSet; each row is a stored procedure parameter or column description.
Exceptions
DatabaseException(if exceptions are enabled) when a database error occurs.
Since
Version 1.0

◆ GetProcedurePrivileges()

ResultSet * dbSpaces::dbcli::DatabaseMetaData::GetProcedurePrivileges ( const dtSTRING *  ,
const dtSTRING *  ,
const dtSTRING *   
)

Get a description of the access rights for each procedure available in a catalog. Note that a procedure privilege applies to one or more parameters in the procedure. It would be wrong to assume that this privilege applies to all parameters (this may be true for some systems but is not true for all.)

Only privileges matching the schema and procedure name criteria are returned. They are ordered by PROC_SCHEM, PROC_NAME, and PRIVILEGE.

Each privilege description has the following columns:

  1. PROC_CAT dtSTRING* => procedure catalog (may be null)
  2. PROC_SCHEM dtSTRING* => procedure schema (may be null)
  3. PROC_NAME dtSTRING* => procedure name
  4. GRANTOR => grantor of access (may be null)
  5. GRANTEE dtSTRING* => grantee of access
  6. PRIVILEGE dtSTRING* => name of access (EXECUTE, ...)
  7. IS_GRANTABLE dtSTRING* => "YES" if grantee is permitted to grant to others; "NO" if not; null if unknown
Parameters
catalogNameA catalog name; "" retrieves those without a catalog; null means drop catalog name from the selection criteria
schemaPatternA schema name pattern; "" retrieves those without a schema
procedureNamePatternA procedure name pattern
Returns
The ResultSet; each row is a procedure privilege description.
Exceptions
DatabaseException(if exceptions are enabled) when a database error occurs.
Since
Version 1.0

◆ GetProcedures()

ResultSet * dbSpaces::dbcli::DatabaseMetaData::GetProcedures ( const dtSTRING *  ,
const dtSTRING *  ,
const dtSTRING *   
)

Get a description of stored procedures available in a catalog.

Only procedure descriptions matching the schema and procedure name criteria are returned. They are ordered by PROCEDURE_SCHEM, and PROCEDURE_NAME.

Each procedure description has the the following columns:

  1. PROCEDURE_CAT dtSTRING* => procedure catalog (may be null)
  2. PROCEDURE_SCHEM dtSTRING* => procedure schema (may be null)
  3. PROCEDURE_NAME dtSTRING* => procedure name
  4. reserved for future use
  5. reserved for future use
  6. reserved for future use
  7. REMARKS dtSTRING* => explanatory comment on the procedure
  8. PROCEDURE_TYPE dtSMALL => kind of procedure:
    • procedureResultUnknown - May return a result
    • procedureNoResult - Does not return a result
    • procedureReturnsResult - Returns a result
Parameters
catalogNameA catalog name; "" retrieves those without a catalog; null means drop catalog name from the selection criteria
schemaPatternA schema name pattern; "" retrieves those without a schema
procedureNamePatternA procedure name pattern
Returns
The ResultSet; each row is a procedure description.
Exceptions
DatabaseException(if exceptions are enabled) when a database error occurs.
Since
Version 1.0

◆ GetProcedureTerm()

const dtSTRING * dbSpaces::dbcli::DatabaseMetaData::GetProcedureTerm ( )

What's the database preferred term for "procedure"?

Returns
the procedure term.
Since
Version 1.0

◆ GetSchemas() [1/2]

ResultSet * dbSpaces::dbcli::DatabaseMetaData::GetSchemas ( )

Get the schema names available in this database. The results are ordered by schema name.

The schema column is:

  1. TABLE_SCHEM dtSTRING* => schema name
Returns
The ResultSet; each row has a single column that is a schema name.
Exceptions
DatabaseException(if exceptions are enabled) when a database error occurs.
Since
Version 1.0

◆ GetSchemas() [2/2]

ResultSet * dbSpaces::dbcli::DatabaseMetaData::GetSchemas ( const dtSTRING *  ,
const dtSTRING *   
)

Retrieves the schema names available in this database. The results are ordered by TABLE_CATALOG and TABLE_SCHEM.

The schema columns are:

  1. TABLE_SCHEM dtSTRING* => schema name
  2. TABLE_CATALOG dtSTRING* => catalog name (may be null)
Parameters
catalogNameA catalog name; must match the catalog name as it is stored in the database;"" retrieves those without a catalog; null means catalog name should not be used to narrow down the search.
schemaPatternA schema name; must match the schema name as it is stored in the database; null means schema name should not be used to narrow down the search.
Returns
The ResultSet; each row is a schema description.
Exceptions
DatabaseException(if exceptions are enabled) when a database error occurs.
Since
Version 1.0

◆ GetSchemaTerm()

const dtSTRING * dbSpaces::dbcli::DatabaseMetaData::GetSchemaTerm ( )

What's the database preferred term for "schema"?

Returns
the schema term.
Since
Version 1.0

◆ GetSearchEscape()

const dtSTRING * dbSpaces::dbcli::DatabaseMetaData::GetSearchEscape ( )

This is the string that can be used to escape '_' or '' in the string pattern style catalog search parameters.

The '_' character represents any single character.

The '' character represents any sequence of zero or more characters.

Returns
the string used to escape wildcard characters.
Since
Version 1.0

◆ GetSQLKeywords()

const dtSTRING * dbSpaces::dbcli::DatabaseMetaData::GetSQLKeywords ( )

Get a comma separated list of all a database's SQL keywords that are NOT also SQL92 keywords.

Returns
the list

◆ GetSQLStateType()

dtLARGE dbSpaces::dbcli::DatabaseMetaData::GetSQLStateType ( )

Indicates whether the SQLSTATE returned by DatabaseException.getSQLState is X/Open (now known as Open Group) SQL CLI or SQL:2003.

Returns
the type of SQLSTATE; one of: sqlStateXOpen or sqlStateSQL
Since
Version 1.0

◆ GetStringFunctions()

const dtSTRING * dbSpaces::dbcli::DatabaseMetaData::GetStringFunctions ( )

Get a comma separated list of string functions. These are the X/Open CLI string function names used in the JDBC function escape clause.

Returns
the list.
Since
Version 1.0

◆ GetSystemFunctions()

const dtSTRING * dbSpaces::dbcli::DatabaseMetaData::GetSystemFunctions ( )

Get a comma separated list of system functions. These are the X/Open CLI system function names used in the function escape clause.

Returns
the list.
Since
Version 1.0

◆ GetTablePrivileges()

ResultSet * dbSpaces::dbcli::DatabaseMetaData::GetTablePrivileges ( const dtSTRING *  ,
const dtSTRING *  ,
const dtSTRING *   
)

Get a description of the access rights for each table available in a catalog. Note that a table privilege applies to one or more columns in the table. It would be wrong to assume that this privilege applies to all columns (this may be true for some systems but is not true for all.)

Only privileges matching the schema and table name criteria are returned. They are ordered by TABLE_SCHEM, TABLE_NAME, and PRIVILEGE.

Each privilege description has the following columns:

  1. TABLE_CAT dtSTRING* => table catalog (may be null)
  2. TABLE_SCHEM dtSTRING* => table schema (may be null)
  3. TABLE_NAME dtSTRING* => table name
  4. GRANTOR => grantor of access (may be null)
  5. GRANTEE dtSTRING* => grantee of access
  6. PRIVILEGE dtSTRING* => name of access (SELECT, INSERT, UPDATE, REFRENCES, ...)
  7. IS_GRANTABLE dtSTRING* => "YES" if grantee is permitted to grant to others; "NO" if not; null if unknown
Parameters
catalogNameA catalog name; "" retrieves those without a catalog; null means drop catalog name from the selection criteria
schemaPatternA schema name pattern; "" retrieves those without a schema
tableNamePatternA table name pattern
Returns
The ResultSet; each row is a table privilege description.
Exceptions
DatabaseException(if exceptions are enabled) when a database error occurs.
Since
Version 1.0

◆ GetTables()

ResultSet * dbSpaces::dbcli::DatabaseMetaData::GetTables ( const dtSTRING *  ,
const dtSTRING *  ,
const dtSTRING *  ,
const dtSTRING *   
)

Get a description of tables available in a catalog.

Only table descriptions matching the catalog, schema, table name and type criteria are returned. They are ordered by TABLE_TYPE, TABLE_SCHEM and TABLE_NAME.

Each table description has the following columns:

  1. TABLE_CAT dtSTRING* => table catalog (may be null)
  2. TABLE_SCHEM dtSTRING* => table schema (may be null)
  3. TABLE_NAME dtSTRING* => table name
  4. TABLE_TYPE dtSTRING* => table type. Typical types are "TABLE", "VIEW", "SYSTEM TABLE", "GLOBAL TEMPORARY", "LOCAL TEMPORARY", "ALIAS", "SYNONYM".
  5. REMARKS dtSTRING* => explanatory comment on the table

Note: Some databases may not return information for all tables.

Parameters
catalogNameA catalog name; "" retrieves those without a catalog; null means drop catalog name from the selection criteria
schemaPatternA schema name pattern; "" retrieves those without a schema
tableNamePatternA table name pattern
typesA list of table types to include; null returns all types
Returns
The ResultSet; each row is a table description.
Exceptions
DatabaseException(if exceptions are enabled) when a database error occurs.
Since
Version 1.0

◆ GetTableTypes()

ResultSet * dbSpaces::dbcli::DatabaseMetaData::GetTableTypes ( )

Get the table types available in this database. The results are ordered by table type.

The table type is:

  1. TABLE_TYPE dtSTRING* => table type. Typical types are "TABLE", "VIEW", "SYSTEM TABLE", "GLOBAL TEMPORARY", "LOCAL TEMPORARY", "ALIAS", "SYNONYM".
Returns
The ResultSetl each row has a single column that is a table type.
Exceptions
DatabaseException(if exceptions are enabled) when a database error occurs.
Since
Version 1.0

◆ GetTimeDateFunctions()

const dtSTRING * dbSpaces::dbcli::DatabaseMetaData::GetTimeDateFunctions ( )

Get a comma separated list of time and date functions.

Returns
the list.
Since
Version 1.0

◆ GetTypeInfo()

ResultSet * dbSpaces::dbcli::DatabaseMetaData::GetTypeInfo ( const  dtSMALL = 0)

Get a description of all the standard SQL types supported by this database. They are ordered by DATA_TYPE and then by how closely the data type maps to the corresponding JDBC SQL type.

Each type description has the following columns:

  1. TYPE_NAME dtSTRING* => Type name
  2. DATA_TYPE dtSMALL => SQL data type
  3. PRECISION int => maximum precision
  4. LITERAL_PREFIX dtSTRING* => prefix used to quote a literal (may be null)
  5. LITERAL_SUFFIX dtSTRING* => suffix used to quote a literal (may be null)
  6. CREATE_PARAMS dtSTRING* => parameters used in creating the type (may be null)
  7. NULLABLE dtSMALL => can you use NULL for this type?
    • typeNoNulls - does not allow NULL values
    • typeNullable - allows NULL values
    • typeNullableUnknown - nullability unknown
  8. CASE_SENSITIVE boolean=> is it case sensitive?
  9. SEARCHABLE dtSMALL => can you use "WHERE" based on this type:
    • typePredNone - No support
    • typePredChar - Only supported with WHERE .. LIKE
    • typePredBasic - Supported except for WHERE .. LIKE
    • typeSearchable - Supported for all WHERE ..
  10. UNSIGNED_ATTRIBUTE boolean => is it unsigned?
  11. FIXED_PREC_SCALE boolean => can it be a money value?
  12. AUTO_INCREMENT boolean => can it be used for an auto-increment value?
  13. LOCAL_TYPE_NAME dtSTRING* => localized version of type name (may be null)
  14. MINIMUM_SCALE dtSMALL => minimum scale supported
  15. MAXIMUM_SCALE dtSMALL => maximum scale supported
  16. SQL_DATA_TYPE int => unused
  17. SQL_DATETIME_SUB int => unused
  18. NUM_PREC_RADIX int => usually 2 or 10
Parameters
SQLTypeSQL Type to return result for (ZERO returns all types).
Returns
The ResultSet; each row is a SQL type description.
Exceptions
DatabaseException(if exceptions are enabled) when a database error occurs.
Since
Version 1.0

◆ GetVersionColumns()

ResultSet * dbSpaces::dbcli::DatabaseMetaData::GetVersionColumns ( const dtSTRING *  ,
const dtSTRING *  ,
const dtSTRING *   
)

Get a description of a table's columns that are automatically updated when any value in a row is updated. They are unordered.

Each column description has the following columns:

  1. SCOPE dtSMALL => is not used
  2. COLUMN_NAME dtSTRING* => column name
  3. DATA_TYPE dtSMALL => SQL data type
  4. TYPE_NAME dtSTRING* => Data source dependent type name
  5. COLUMN_SIZE int => precision
  6. BUFFER_LENGTH int => length of column value in bytes
  7. DECIMAL_DIGITS short => scale
  8. PSEUDO_COLUMN dtSMALL => is this a pseudo column like an Oracle ROWID
    • versionColumnUnknown - may or may not be pseudo column
    • versionColumnNotPseudo - is NOT a pseudo column
    • versionColumnPseudo - is a pseudo column
Parameters
catalogNameA catalog name; "" retrieves those without a catalog; null means drop catalog name from the selection criteria
schemaNameA schema name; "" retrieves those without a schema
tableNameA table name
Returns
The ResultSet; each row is a column description.
Exceptions
DatabaseException(if exceptions are enabled) when a database error occurs.
Since
Version 1.0

◆ InsertsAreDetected()

dtBOOLEAN dbSpaces::dbcli::DatabaseMetaData::InsertsAreDetected ( const  dtLARGE)

Determine whether or not a visible row insert can be detected by calling ResultSet.rowInserted().

Parameters
typeThe result set type, i.e. ResultSet.TYPE_XXX
Returns
TRUE if changes are detected by the resultset type; FALSE if otherwise.
Since
Version 1.0

◆ IsCatalogAtStart()

dtBOOLEAN dbSpaces::dbcli::DatabaseMetaData::IsCatalogAtStart ( )

Does a catalog appear at the start of a qualified table name? (Otherwise it appears at the end)

Returns
TRUE if it appears at the start; FALSE if otherwise.
Since
Version 1.0

◆ IsReadOnly()

dtBOOLEAN dbSpaces::dbcli::DatabaseMetaData::IsReadOnly ( )

Is the database in read-only mode?

Returns
TRUE if so; FALSE if otherwise.
Since
Version 1.0

◆ NullPlusNonNullIsNull()

dtBOOLEAN dbSpaces::dbcli::DatabaseMetaData::NullPlusNonNullIsNull ( )

Are concatenations between NULL and non-NULL values NULL?

Returns
TRUE if so; FALSE if otherwise.
Since
Version 1.0

◆ NullsAreSortedAtEnd()

dtBOOLEAN dbSpaces::dbcli::DatabaseMetaData::NullsAreSortedAtEnd ( )

Are NULL values sorted at the end regardless of sort order?

Returns
TRUE if so; FALSE if otherwise.
Since
Version 1.0

◆ NullsAreSortedAtStart()

dtBOOLEAN dbSpaces::dbcli::DatabaseMetaData::NullsAreSortedAtStart ( )

Are NULL values sorted at the start regardless of sort order?

Returns
TRUE if so; FALSE if otherwise.
Since
Version 1.0

◆ NullsAreSortedHigh()

dtBOOLEAN dbSpaces::dbcli::DatabaseMetaData::NullsAreSortedHigh ( )

Are NULL values sorted high?

Returns
TRUE if so; FALSE if otherwise.
Since
Version 1.0

◆ NullsAreSortedLow()

dtBOOLEAN dbSpaces::dbcli::DatabaseMetaData::NullsAreSortedLow ( )

Are NULL values sorted low?

Returns
TRUE if so; FALSE if otherwise.
Since
Version 1.0

◆ OthersDeletesAreVisible()

dtBOOLEAN dbSpaces::dbcli::DatabaseMetaData::OthersDeletesAreVisible ( const  dtLARGE)

Retrieves whether deletes made by others are visible.

Parameters
typeThe ResultSet type; one of ResultSet.TYPE_FORWARD_ONLY, ResultSet.TYPE_SCROLL_INSENSITIVE, or ResultSet.TYPE_SCROLL_SENSITIVE
Returns
TRUE if deletes made by others are visible for the given result set type; FALSE otherwise.
Since
Version 1.0

◆ OthersInsertsAreVisible()

dtBOOLEAN dbSpaces::dbcli::DatabaseMetaData::OthersInsertsAreVisible ( const  dtLARGE)

Retrieves whether inserts made by others are visible.

Parameters
typeThe ResultSet type; one of ResultSet.TYPE_FORWARD_ONLY, ResultSet.TYPE_SCROLL_INSENSITIVE, or ResultSet.TYPE_SCROLL_SENSITIVE
Returns
TRUE if inserts made by others are visible for the given result set type; FALSE if otherwise.
Since
Version 1.0

◆ OthersUpdatesAreVisible()

dtBOOLEAN dbSpaces::dbcli::DatabaseMetaData::OthersUpdatesAreVisible ( const  dtLARGE)

Determine whether changes made by others are visible.

Parameters
typeThe resultset type, i.e. ResultSet.TYPE_XXX
Returns
TRUE if changes are visible for the result set type.
Since
Version 1.0

◆ OwnDeletesAreVisible()

dtBOOLEAN dbSpaces::dbcli::DatabaseMetaData::OwnDeletesAreVisible ( const  dtLARGE)

Retrieves whether a result set's own deletes are visible.

Parameters
typeThe ResultSet type; one of ResultSet.TYPE_FORWARD_ONLY, ResultSet.TYPE_SCROLL_INSENSITIVE, or ResultSet.TYPE_SCROLL_SENSITIVE
Returns
TRUE if deletes are visible for the given result set type; false if otherwise.
Since
Version 1.0

◆ OwnInsertsAreVisible()

dtBOOLEAN dbSpaces::dbcli::DatabaseMetaData::OwnInsertsAreVisible ( const  dtLARGE)

Retrieves whether a result set's own inserts are visible.

Parameters
typeThe ResultSet type; one of ResultSet.TYPE_FORWARD_ONLY, ResultSet.TYPE_SCROLL_INSENSITIVE, or ResultSet.TYPE_SCROLL_SENSITIVE
Returns
TRUE if inserts are visible for the given result set type; false if otherwise.
Since
Version 1.0

◆ OwnUpdatesAreVisible()

dtBOOLEAN dbSpaces::dbcli::DatabaseMetaData::OwnUpdatesAreVisible ( const  dtLARGE)

Retrieves whether for the given type of ResultSet object, the result set's own updates are visible.

Parameters
typeThe ResultSet type; one of ResultSet.TYPE_FORWARD_ONLY, ResultSet.TYPE_SCROLL_INSENSITIVE, or ResultSet.TYPE_SCROLL_SENSITIVE
Returns
TRUE if updates are visible for the given result set type; FALSE if otherwise.
Since
Version 1.0

◆ StoresLowerCaseIdentifiers()

dtBOOLEAN dbSpaces::dbcli::DatabaseMetaData::StoresLowerCaseIdentifiers ( )

Does the database treat mixed case unquoted SQL identifiers as case insensitive and store them in lower case?

Returns
TRUE if so; FALSE if otherwise.
Since
Version 1.0

◆ StoresLowerCaseQuotedIdentifiers()

dtBOOLEAN dbSpaces::dbcli::DatabaseMetaData::StoresLowerCaseQuotedIdentifiers ( )

Does the database treat mixed case quoted SQL identifiers as case insensitive and store them in lower case?

Returns
TRUE if so; FALSE if otherwise.
Since
Version 1.0

◆ StoresMixedCaseIdentifiers()

dtBOOLEAN dbSpaces::dbcli::DatabaseMetaData::StoresMixedCaseIdentifiers ( )

Does the database treat mixed case unquoted SQL identifiers as case insensitive and store them in mixed case?

Returns
TRUE if so; FALSE if otherwise.
Since
Version 1.0

◆ StoresMixedCaseQuotedIdentifiers()

dtBOOLEAN dbSpaces::dbcli::DatabaseMetaData::StoresMixedCaseQuotedIdentifiers ( )

Does the database treat mixed case quoted SQL identifiers as case insensitive and store them in mixed case?

Returns
TRUE if so; FALSE if otherwise.
Since
Version 1.0

◆ StoresUpperCaseIdentifiers()

dtBOOLEAN dbSpaces::dbcli::DatabaseMetaData::StoresUpperCaseIdentifiers ( )

Does the database treat mixed case unquoted SQL identifiers as case insensitive and store them in upper case?

Returns
TRUE if so; FALSE if otherwise.
Since
Version 1.0

◆ StoresUpperCaseQuotedIdentifiers()

dtBOOLEAN dbSpaces::dbcli::DatabaseMetaData::StoresUpperCaseQuotedIdentifiers ( )

Does the database treat mixed case quoted SQL identifiers as case insensitive and store them in upper case?

Returns
TRUE if so; FALSE if otherwise.

◆ SupportsAlterTableWithAddColumn()

dtBOOLEAN dbSpaces::dbcli::DatabaseMetaData::SupportsAlterTableWithAddColumn ( )

Is "ALTER TABLE" with add column supported?

Returns
TRUE if so; FALSE if otherwise.
Since
Version 1.0

◆ SupportsAlterTableWithDropColumn()

dtBOOLEAN dbSpaces::dbcli::DatabaseMetaData::SupportsAlterTableWithDropColumn ( )

Is "ALTER TABLE" with drop column supported?

Returns
TRUE if so; FALSE if otherwise.
Since
Version 1.0

◆ SupportsANSI92EntryLevelSQL()

dtBOOLEAN dbSpaces::dbcli::DatabaseMetaData::SupportsANSI92EntryLevelSQL ( )

Is the ANSI92 entry level SQL grammar supported?

Returns
TRUE if so; FALSE if otherwise.
Since
Version 1.0

◆ SupportsANSI92FullSQL()

dtBOOLEAN dbSpaces::dbcli::DatabaseMetaData::SupportsANSI92FullSQL ( )

Is the ANSI92 full SQL grammar supported?

Returns
TRUE if so; FALSE if otherwise.
Since
Version 1.0

◆ SupportsANSI92IntermediateSQL()

dtBOOLEAN dbSpaces::dbcli::DatabaseMetaData::SupportsANSI92IntermediateSQL ( )

Is the ANSI92 intermediate SQL grammar supported?

Returns
TRUE if so; FALSE if otherwise.
Since
Version 1.0

◆ SupportsBatchUpdates()

dtBOOLEAN dbSpaces::dbcli::DatabaseMetaData::SupportsBatchUpdates ( )
Does the database support batch update?
@return <code>TRUE</code> if batch updates are supported; <code>FALSE</code> 

if otherwise.

Since
Version 1.0

◆ SupportsCatalogsInDataManipulation()

dtBOOLEAN dbSpaces::dbcli::DatabaseMetaData::SupportsCatalogsInDataManipulation ( )

Can a catalog name be used in a data manipulation statement?

Returns
TRUE if so; FALSE if otherwise.
Since
Version 1.0

◆ SupportsCatalogsInIndexDefinitions()

dtBOOLEAN dbSpaces::dbcli::DatabaseMetaData::SupportsCatalogsInIndexDefinitions ( )

Can a catalog name be used in an index definition statement?

Returns
TRUE if so; FALSE if otherwise.
Since
Version 1.0

◆ SupportsCatalogsInPrivilegeDefinitions()

dtBOOLEAN dbSpaces::dbcli::DatabaseMetaData::SupportsCatalogsInPrivilegeDefinitions ( )

Can a catalog name be used in a privilege definition statement?

Returns
TRUE if so; FALSE if otherwise.
Since
Version 1.0

◆ SupportsCatalogsInProcedureCalls()

dtBOOLEAN dbSpaces::dbcli::DatabaseMetaData::SupportsCatalogsInProcedureCalls ( )

Can a catalog name be used in a procedure call statement?

Returns
TRUE if so; FALSE if otherwise.
Since
Version 1.0

◆ SupportsCatalogsInTableDefinitions()

dtBOOLEAN dbSpaces::dbcli::DatabaseMetaData::SupportsCatalogsInTableDefinitions ( )

Can a catalog name be used in a table definition statement?

Returns
TRUE if so; FALSE if otherwise.

◆ SupportsColumnAliasing()

dtBOOLEAN dbSpaces::dbcli::DatabaseMetaData::SupportsColumnAliasing ( )

Is column aliasing supported?

If so, the SQL AS clause can be used to provide names for computed columns or to provide alias names for columns as required.

Returns
TRUE if so; FALSE if otherwise.
Since
Version 1.0

◆ SupportsConvert() [1/2]

dtBOOLEAN dbSpaces::dbcli::DatabaseMetaData::SupportsConvert ( )

Is the CONVERT function between SQL types supported?

Returns
TRUE if so; FALSE if otherwise.
Since
Version 1.0

◆ SupportsConvert() [2/2]

dtBOOLEAN dbSpaces::dbcli::DatabaseMetaData::SupportsConvert ( const  dtLARGE,
const  dtLARGE 
)

Is CONVERT between the given SQL types supported?

Parameters
fromTypeThe type to convert from.
toTypeThe type to convert to.
Returns
TRUE if so; FALSE if otherwise.
Since
Version 1.0

◆ SupportsCoreSQLGrammar()

dtBOOLEAN dbSpaces::dbcli::DatabaseMetaData::SupportsCoreSQLGrammar ( )

Is the Core SQL grammar supported?

Returns
TRUE if so; FALSE if otherwise.
Since
Version 1.0

◆ SupportsCorrelatedSubqueries()

dtBOOLEAN dbSpaces::dbcli::DatabaseMetaData::SupportsCorrelatedSubqueries ( )

Are correlated subqueries supported?

Returns
TRUE if so; FALSE if otherwise.
Since
Version 1.0

◆ SupportsDataDefinitionAndDataManipulationTransactions()

dtBOOLEAN dbSpaces::dbcli::DatabaseMetaData::SupportsDataDefinitionAndDataManipulationTransactions ( )

Are both data definition and data manipulation statements within a transaction supported?

Returns
TRUE if so; FALSE if otherwise.
Since
Version 1.0

◆ SupportsDataManipulationTransactionsOnly()

dtBOOLEAN dbSpaces::dbcli::DatabaseMetaData::SupportsDataManipulationTransactionsOnly ( )

Are only data manipulation statements within a transaction supported?

Returns
TRUE if so; FALSE if otherwise.
Since
Version 1.0

◆ SupportsDifferentTableCorrelationNames()

dtBOOLEAN dbSpaces::dbcli::DatabaseMetaData::SupportsDifferentTableCorrelationNames ( )

If table correlation names are supported, are they restricted to be different from the names of the tables?

Returns
TRUE if so; FALSE if otherwise.
Since
Version 1.0

◆ SupportsExpressionsInOrderBy()

dtBOOLEAN dbSpaces::dbcli::DatabaseMetaData::SupportsExpressionsInOrderBy ( )

Are expressions in "ORDER BY" lists supported?

Returns
TRUE if so; FALSE if otherwise.
Since
Version 1.0

◆ SupportsExtendedSQLGrammar()

dtBOOLEAN dbSpaces::dbcli::DatabaseMetaData::SupportsExtendedSQLGrammar ( )

Is Extended SQL grammar supported?

Returns
TRUE if so; FALSE if otherwise.

◆ SupportsFullOuterJoins()

dtBOOLEAN dbSpaces::dbcli::DatabaseMetaData::SupportsFullOuterJoins ( )

Are full nested outer joins supported?

Returns
TRUE if so; FALSE if otherwise.
Since
Version 1.0

◆ SupportsGetGeneratedKeys()

dtBOOLEAN dbSpaces::dbcli::DatabaseMetaData::SupportsGetGeneratedKeys ( )

Retrieves whether auto-generated keys can be retrieved after a statement has been executed.

Returns
TRUE if auto-generated keys can be retrieved after a statement has executed; false if otherwise.
Since
Version 1.0

◆ SupportsGroupBy()

dtBOOLEAN dbSpaces::dbcli::DatabaseMetaData::SupportsGroupBy ( )

Is some form of "GROUP BY" clause supported?

Returns
TRUE if so; FALSE if otherwise.
Since
Version 1.0

◆ SupportsGroupByBeyondSelect()

dtBOOLEAN dbSpaces::dbcli::DatabaseMetaData::SupportsGroupByBeyondSelect ( )

Can a "GROUP BY" clause add columns not in the SELECT provided it specifies all the columns in the SELECT?

Returns
TRUE if so; FALSE if otherwise.
Since
Version 1.0

◆ SupportsGroupByUnrelated()

dtBOOLEAN dbSpaces::dbcli::DatabaseMetaData::SupportsGroupByUnrelated ( )

Can a "GROUP BY" clause use columns not in the SELECT?

Returns
TRUE if so; FALSE if otherwise.
Since
Version 1.0

◆ SupportsIntegrityEnhancementFacility()

dtBOOLEAN dbSpaces::dbcli::DatabaseMetaData::SupportsIntegrityEnhancementFacility ( )

Is the SQL Integrity Enhancement Facility supported?

Returns
TRUE if so; FALSE if otherwise.
Since
Version 1.0

◆ SupportsLikeEscapeClause()

dtBOOLEAN dbSpaces::dbcli::DatabaseMetaData::SupportsLikeEscapeClause ( )

Is the escape character in "LIKE" clauses supported?

Returns
TRUE if so; FALSE if otherwise.

◆ SupportsLimitedOuterJoins()

dtBOOLEAN dbSpaces::dbcli::DatabaseMetaData::SupportsLimitedOuterJoins ( )

Is there limited support for outer joins? (This will be true if supportFullOuterJoins is true.)

Returns
TRUE if so; FALSE if otherwise.
Since
Version 1.0

◆ SupportsMinimumSQLGrammar()

dtBOOLEAN dbSpaces::dbcli::DatabaseMetaData::SupportsMinimumSQLGrammar ( )

Is the Minimum SQL grammar supported?

Returns
TRUE if so; FALSE if otherwise.
Since
Version 1.0

◆ SupportsMixedCaseIdentifiers()

dtBOOLEAN dbSpaces::dbcli::DatabaseMetaData::SupportsMixedCaseIdentifiers ( )

Does the database treat mixed case unquoted SQL identifiers as case sensitive and as a result store them in mixed case?

Returns
TRUE if so; FALSE if otherwise.
Since
Version 1.0

◆ SupportsMixedCaseQuotedIdentifiers()

dtBOOLEAN dbSpaces::dbcli::DatabaseMetaData::SupportsMixedCaseQuotedIdentifiers ( )

Does the database treat mixed case quoted SQL identifiers as case sensitive and as a result store them in mixed case?

Returns
TRUE if so; FALSE if otherwise.
Since
Version 1.0

◆ SupportsMultipleOpenResults()

dtBOOLEAN dbSpaces::dbcli::DatabaseMetaData::SupportsMultipleOpenResults ( )

Retrieves whether it is possible to have multiple ResultSet objects returned from a Statment object simultaneously.

Returns
TRUE if so; FALSE if otherwise.
Since
Version 1.0

◆ SupportsMultipleResultSets()

dtBOOLEAN dbSpaces::dbcli::DatabaseMetaData::SupportsMultipleResultSets ( )

Are multiple ResultSets from a single execute supported?

Returns
TRUE if so; FALSE if otherwise.
Since
Version 1.0

◆ SupportsMultipleTransactions()

dtBOOLEAN dbSpaces::dbcli::DatabaseMetaData::SupportsMultipleTransactions ( )

Can we have multiple transactions open at once (on different connections)?

Returns
TRUE if so; FALSE if otherwise.
Since
Version 1.0

◆ SupportsNamedParameters()

dtBOOLEAN dbSpaces::dbcli::DatabaseMetaData::SupportsNamedParameters ( )

Does dynamic SQL statements support named parameters?

Returns
TRUE if so; FALSE if otherwise.
Since
Version 1.0

◆ SupportsNonNullableColumns()

dtBOOLEAN dbSpaces::dbcli::DatabaseMetaData::SupportsNonNullableColumns ( )

Can columns be defined as non-nullable?

Returns
TRUE if so; FALSE if otherwise.
Since
Version 1.0

◆ SupportsOpenCursorsAcrossCommit()

dtBOOLEAN dbSpaces::dbcli::DatabaseMetaData::SupportsOpenCursorsAcrossCommit ( )

Can cursors remain open across commits?

Returns
TRUE if cursors always remain open; FALSE if otherwise.
Since
Version 1.0

◆ SupportsOpenCursorsAcrossRollback()

dtBOOLEAN dbSpaces::dbcli::DatabaseMetaData::SupportsOpenCursorsAcrossRollback ( )

Can cursors remain open across rollbacks?

Returns
TRUE if cursors always remain open; FALSE if otherwise.
Since
Version 1.0

◆ SupportsOpenStatementsAcrossCommit()

dtBOOLEAN dbSpaces::dbcli::DatabaseMetaData::SupportsOpenStatementsAcrossCommit ( )

Can statements remain open across commits?

Returns
TRUE if statements always remain open; FALSE if otherwise.
Since
Version 1.0

◆ SupportsOpenStatementsAcrossRollback()

dtBOOLEAN dbSpaces::dbcli::DatabaseMetaData::SupportsOpenStatementsAcrossRollback ( )

Can statements remain open across rollbacks?

Returns
TRUE if statements always remain open; FALSE if otherwise.
Since
Version 1.0

◆ SupportsOrderByUnrelated()

dtBOOLEAN dbSpaces::dbcli::DatabaseMetaData::SupportsOrderByUnrelated ( )

Can an "ORDER BY" clause use columns not in the SELECT?

Returns
TRUE if so; FALSE if otherwise.
Since
Version 1.0

◆ SupportsOuterJoins()

dtBOOLEAN dbSpaces::dbcli::DatabaseMetaData::SupportsOuterJoins ( )

Is some form of outer join supported?

Returns
TRUE if so; FALSE if otherwise.
Since
Version 1.0

◆ SupportsPositionedDelete()

dtBOOLEAN dbSpaces::dbcli::DatabaseMetaData::SupportsPositionedDelete ( )

Is positioned DELETE supported?

Returns
TRUE if so; FALSE if otherwise.

◆ SupportsPositionedUpdate()

dtBOOLEAN dbSpaces::dbcli::DatabaseMetaData::SupportsPositionedUpdate ( )

Is positioned UPDATE supported?

Returns
TRUE if so; FALSE if otherwise.
Since
Version 1.0

◆ SupportsResultSetConcurrency()

dtBOOLEAN dbSpaces::dbcli::DatabaseMetaData::SupportsResultSetConcurrency ( const  dtLARGE,
const  dtLARGE 
)

Does the database support the concurrency type in combination with the given result set type?

Parameters
typeDefined in ResultSet.
concurrencyType defined in ResultSet.
Returns
TRUE if so; FALSE if otherwise.
See also
Connection
Since
Version 1.0

◆ SupportsResultSetHoldability()

dtBOOLEAN dbSpaces::dbcli::DatabaseMetaData::SupportsResultSetHoldability ( const  dtLARGE)

Retrieves whether this database supports the given result set holdability.

Parameters
holdabilityOne of the following constants: ResultSet.HOLD_CURSORS_OVER_COMMIT or ResultSet.CLOSE_CURSORS_AT_COMMIT
Returns
TRUE if so; FALSE if otherwise.
Exceptions
DatabaseException(if exceptions are enabled) when a database error occurs
See also
Connection
Since
Version 1.0

◆ SupportsResultSetType()

dtBOOLEAN dbSpaces::dbcli::DatabaseMetaData::SupportsResultSetType ( const  dtLARGE)

Does the database support the given result set type?

Parameters
typeDefined in ResultSet
Returns
TRUE if so; FALSE if otherwise.
See also
Connection
Since
Version 1.0

◆ SupportsSavepoints()

dtBOOLEAN dbSpaces::dbcli::DatabaseMetaData::SupportsSavepoints ( )

Does transactions support savepoints?

Returns
TRUE if so; FALSE if otherwise.

◆ SupportsSchemasInDataManipulation()

dtBOOLEAN dbSpaces::dbcli::DatabaseMetaData::SupportsSchemasInDataManipulation ( )

Can a schema name be used in a data manipulation statement?

Returns
TRUE if so; FALSE if otherwise.
Since
Version 1.0

◆ SupportsSchemasInIndexDefinitions()

dtBOOLEAN dbSpaces::dbcli::DatabaseMetaData::SupportsSchemasInIndexDefinitions ( )

Can a schema name be used in an index definition statement?

Returns
TRUE if so; FALSE if otherwise.
Since
Version 1.0

◆ SupportsSchemasInPrivilegeDefinitions()

dtBOOLEAN dbSpaces::dbcli::DatabaseMetaData::SupportsSchemasInPrivilegeDefinitions ( )

Can a schema name be used in a privilege definition statement?

Returns
TRUE if so; FALSE if otherwise.
Since
Version 1.0

◆ SupportsSchemasInProcedureCalls()

dtBOOLEAN dbSpaces::dbcli::DatabaseMetaData::SupportsSchemasInProcedureCalls ( )

Can a schema name be used in a procedure call statement?

Returns
TRUE if so; FALSE if otherwise.

◆ SupportsSchemasInTableDefinitions()

dtBOOLEAN dbSpaces::dbcli::DatabaseMetaData::SupportsSchemasInTableDefinitions ( )

Can a schema name be used in a table definition statement?

Returns
TRUE if so; FALSE if otherwise.
Since
Version 1.0

◆ SupportsSelectForUpdate()

dtBOOLEAN dbSpaces::dbcli::DatabaseMetaData::SupportsSelectForUpdate ( )

Is SELECT for UPDATE supported?

Returns
TRUE if so; FALSE if otherwise.
Since
Version 1.0

◆ SupportsStatementPooling()

dtBOOLEAN dbSpaces::dbcli::DatabaseMetaData::SupportsStatementPooling ( )

Is statement pooling supported?

Returns
TRUE if so; FALSE if otherwise.
Since
Version 1.0

◆ SupportsStoredFunctionsUsingCallSyntax()

dtBOOLEAN dbSpaces::dbcli::DatabaseMetaData::SupportsStoredFunctionsUsingCallSyntax ( )

Retrieves whether this database supports invoking user-defined or system functions using the stored procedure escape syntax.

Returns
TRUE if so; FALSE if otherwise.
Since
Version 1.0

◆ SupportsStoredProcedures()

dtBOOLEAN dbSpaces::dbcli::DatabaseMetaData::SupportsStoredProcedures ( )

Are stored procedure calls using the stored procedure escape syntax supported?

Returns
TRUE if so; FALSE if otherwise.
Since
Version 1.0

◆ SupportsSubqueriesInComparisons()

dtBOOLEAN dbSpaces::dbcli::DatabaseMetaData::SupportsSubqueriesInComparisons ( )

Are sub-queries in comparison expressions supported?

Returns
TRUE if so; FALSE if otherwise.
Since
Version 1.0

◆ SupportsSubqueriesInExists()

dtBOOLEAN dbSpaces::dbcli::DatabaseMetaData::SupportsSubqueriesInExists ( )

Are sub-queries in 'exists' expressions supported?

Returns
TRUE if so; FALSE if otherwise.
Since
Version 1.0

◆ SupportsSubqueriesInIns()

dtBOOLEAN dbSpaces::dbcli::DatabaseMetaData::SupportsSubqueriesInIns ( )

Are sub-queries in 'in' statements supported?

Returns
TRUE if so; FALSE if otherwise.
Since
Version 1.0

◆ SupportsSubqueriesInQuantifieds()

dtBOOLEAN dbSpaces::dbcli::DatabaseMetaData::SupportsSubqueriesInQuantifieds ( )

Are sub-queries in quantified expressions supported?

Returns
TRUE if so; FALSE if otherwise.
Since
Version 1.0

◆ SupportsTableCorrelationNames()

dtBOOLEAN dbSpaces::dbcli::DatabaseMetaData::SupportsTableCorrelationNames ( )

Are table correlation names supported?

Returns
TRUE if so; FALSE if otherwise.
Since
Version 1.0

◆ SupportsTransactionIsolationLevel()

dtBOOLEAN dbSpaces::dbcli::DatabaseMetaData::SupportsTransactionIsolationLevel ( dtLARGE  )

Does the database support the given transaction isolation level?

Parameters
levelThe values are defined in Connection
Returns
TRUE if so; FALSE if otherwise.
See also
Connection
Since
Version 1.0

◆ SupportsTransactions()

dtBOOLEAN dbSpaces::dbcli::DatabaseMetaData::SupportsTransactions ( )

Are transactions supported? If not, commit is ignored and the isolation level is TRANSACTION_NONE.

Returns
TRUE if transactions are supported; FALSE if otherwise.
Since
Version 1.0

◆ SupportsUnion()

dtBOOLEAN dbSpaces::dbcli::DatabaseMetaData::SupportsUnion ( )

Is SQL UNION supported?

Returns
TRUE if so; FALSE if otherwise.
Since
Version 1.0

◆ SupportsUnionAll()

dtBOOLEAN dbSpaces::dbcli::DatabaseMetaData::SupportsUnionAll ( )

Is SQL UNION ALL supported?

Returns
TRUE if so; FALSE if otherwise.
Since
Version 1.0

◆ UpdatesAreDetected()

dtBOOLEAN dbSpaces::dbcli::DatabaseMetaData::UpdatesAreDetected ( const  dtLARGE)

Determine whether or not a visible row update can be detected by calling ResultSet.rowUpdated().

Parameters
typeThe result set type, i.e. ResultSet.TYPE_XXX
Returns
TRUE if changes are detected by the resultset type; FALSE if otherwise.
Since
Version 1.0

Member Data Documentation

◆ TRANSACTION_NONE

const int dbSpaces::dbcli::DatabaseMetaData::TRANSACTION_NONE = 0
static

Transactions are not supported.

◆ TRANSACTION_READ_COMMITTED

const int dbSpaces::dbcli::DatabaseMetaData::TRANSACTION_READ_COMMITTED = 2
static

Dirty reads are prevented; non-repeatable reads and phantom reads can occur. This level only prohibits a transaction from reading a row with uncommitted changes in it.

Since
Version 1.0

◆ TRANSACTION_READ_UNCOMMITTED

const int dbSpaces::dbcli::DatabaseMetaData::TRANSACTION_READ_UNCOMMITTED = 1
static

Dirty reads, non-repeatable reads and phantom reads can occur. This level allows a row changed by one transaction to be read by another transaction before any changes in that row have been committed (a "dirty read"). If any of the changes are rolled back, the second transaction will have retrieved an invalid row.

Since
Version 1.0

◆ TRANSACTION_REPEATABLE_READ

const int dbSpaces::dbcli::DatabaseMetaData::TRANSACTION_REPEATABLE_READ = 4
static

Dirty reads and non-repeatable reads are prevented; phantom reads can occur. This level prohibits a transaction from reading a row with uncommitted changes in it, and it also prohibits the situation where one transaction reads a row, a second transaction alters the row, and the first transaction rereads the row, getting different values the second time (a "non-repeatable read").

Since
Version 1.0

◆ TRANSACTION_SERIALIZABLE

const dtLARGE dbSpaces::dbcli::DatabaseMetaData::TRANSACTION_SERIALIZABLE = 8
static

Dirty reads, non-repeatable reads and phantom reads are prevented. This level includes the prohibitions in TRANSACTION_REPEATABLE_READ and further prohibits the situation where one transaction reads all rows that satisfy a WHERE condition, a second transaction inserts a row that satisfies that WHERE condition, and the first transaction rereads for the same condition, retrieving the additional "phantom" row in the second read.

Since
Version 1.0