16.13.8 DatabaseMetaData class

Table 16-30 lists limitations to the returned contents of methods in the DatabaseMetaData class that are defined in the JDBC1.0 standard, while Table 16-31 lists limitations to the returned contents of the methods added by the JDBC2.0 basic standard. Note that the value returned by each method is information related to the HiRDB server, whose version has to be the same as the JDBC driver being used.

Table 16-30 Limitations to the methods in the DatabaseMetaData class that are defined in the JDBC1.0 standard

Method defined in JDBC1.0 standardLimitation or return value
allProceduresAreCallableReturns false.
allTablesAreSelectableReturns false.
getURLReturns the JDBC URL of the connected database.
getUserNameReturns the authorization identifier used when connecting to the database.
isReadOnlyUnconditionally returns false because the access mode cannot be changed.
nullsAreSortedHighReturns true.
nullsAreSortedLowReturns false.
nullsAreSortedAtStartReturns false.
nullsAreSortedAtEndUnconditionally returns false.
getDatabaseProductNameReturns HiRDB.
getDatabaseProductVersionReturns null.
getDriverNameReturns HiRDB_for_JDBC.
getDriverVersionReturns 08.00.0000.
getDriverMajorVersion8
getDriverMinorVersion0
usesLocalFilesUnconditionally returns false.
usesLocalFilePerTableUnconditionally returns false.
supportsMixedCaseIdentifiersUnconditionally returns false.
storesUpperCaseIdentifiersReturns true.
storesLowerCaseIdentifiersUnconditionally returns false.
storesMixedCaseIdentifiersReturns false.
supportsMixedCaseQuotedIdentifiersReturns true.
storesUpperCaseQuotedIdentifiersReturns false.
storesLowerCaseQuotedIdentifiersUnconditionally returns false.
storesMixedCaseQuotedIdentifiersReturns true.
getIdentifierQuoteStringUnconditionally returns a quotation mark.
getSQLKeywordsReturns a HiRDB-specific SQL keyword.
getNumericFunctionsReturns a list of mathematical functions.
getStringFunctionsReturns a list of character string functions.
getSystemFunctionsReturns a list of system functions.
getTimeDateFunctionsReturns a list of time and date functions.
getSearchStringEscapeReturns \.
getExtraNameCharactersReturns a special character that can be used as an SQL identification name.
supportsAlterTableWithAddColumnReturns true.
supportsAlterTableWithDropColumn
supportsColumnAliasing
nullPlusNonNullIsNull
supportsConvert (no argument)Returns true.
supportsConvert (with arguments)Returns either true or false depending on the combination of data types specified in arguments.
supportsTableCorrelationNamesReturns true.
supportsDifferentTableCorrelationNames
supportsExpressionsInOrderByReturns false.
supportsOrderByUnrelatedReturns true.
supportsGroupBy
supportsGroupByUnrelated
supportsGroupByBeyondSelect
supportsLikeEscapeClause
supportsMultipleResultSetsUnconditionally returns true.
supportsMultipleTransactions
supportsNonNullableColumnsReturns true.
supportsMinimumSQLGrammarUnconditionally returns true.
supportsCoreSQLGrammar
supportsExtendedSQLGrammarReturns false.
supportsANSI92EntryLevelSQLUnconditionally returns true.
supportsANSI92IntermediateSQLUnconditionally returns false.
supportsANSI92FullSQL
supportsIntegrityEnhancementFacilityReturns false.
supportsOuterJoinsReturns true.
supportsFullOuterJoinsReturns false.
supportsLimitedOuterJoinsReturns true.
getSchemaTermReturns schema.
getProcedureTermReturns procedure.
getCatalogTermReturns null.
isCatalogAtStartReturns false.
getCatalogSeparatorReturns null.
supportsSchemasInDataManipulationUnconditionally returns true.
supportsSchemasInProcedureCallsReturns true.
supportsSchemasInTableDefinitions
supportsSchemasInIndexDefinitions
supportsSchemasInPrivilegeDefinitions
supportsCatalogsInDataManipulationReturns false.
supportsCatalogsInProcedureCalls
supportsCatalogsInTableDefinitions
supportsCatalogsInIndexDefinitionsUnconditionally returns false.
supportsCatalogsInPrivilegeDefinitions
supportsPositionedDelete
supportsPositionedUpdate
supportsSelectForUpdate
supportsStoredProceduresReturns true.
supportsSubqueriesInComparisons
supportsSubqueriesInExists
supportsSubqueriesInIns
supportsSubqueriesInQuantifieds
supportsCorrelatedSubqueries
supportsUnion
supportsUnionAll
supportsOpenCursorsAcrossCommitReturns true if any of the following values is PRESERVE:
  • Setting of COMMIT_BEHAVIOR in URL
  • Setting of COMMIT_BEHAVIOR in Properties info
  • Argument when the setCommit_Behavior method is executed
supportsOpenCursorsAcrossRollbackUnconditionally returns false.
supportsOpenStatementsAcrossCommitReturns true if any of the following values is PRESERVE or CLOSE:
  • Setting of COMMIT_BEHAVIOR in URL
  • Setting of COMMIT_BEHAVIOR in Properties info
  • Argument when the setCommit_Behavior method is executed
supportsOpenStatementsAcrossRollbackUnconditionally returns false.
getMaxBinaryLiteralLengthReturns a value of 64000.
getMaxCharLiteralLengthReturns a value of 32000.
getMaxColumnNameLengthReturns a value of 30.
getMaxColumnsInGroupByReturns a value of 255.
getMaxColumnsInIndexReturns a value of 16.
getMaxColumnsInOrderByReturns a value of 255.
getMaxColumnsInSelectReturns a value of 30000.
getMaxColumnsInTable
getMaxConnectionsReturns a value of 0.
getMaxCursorNameLengthReturns a value of 30.
getMaxIndexLengthReturns a value of 4036.
getMaxSchemaNameLengthReturns a value of 8.
getMaxProcedureNameLengthReturns a value of 30.
getMaxCatalogNameLengthReturns a value of 0.
getMaxRowSize
doesMaxRowSizeIncludeBlobsReturns false.
getMaxStatementLengthReturns a value of 2000000​.
getMaxStatementsReturns a value of 64.
getMaxTableNameLengthReturns a value of 30.
getMaxTablesInSelectReturns a value of 64.
getMaxUserNameLengthReturns a value of 8.
getDefaultTransactionIsolationUnconditionally returns TRANSACTION_REPEATABLE_READ.
supportsTransactionsUnconditionally returns true.
supportsTransactionIsolationLevelReturns true when the given transaction isolation level is any of the following:
  • TRANSACTION_READ_COMMITTED
  • TRANSACTION_READ_UNCOMMITTED
  • TRANSACTION_REPEATABLE_READ
SupportsDataDefinitionAndDataManipulation
Transactions
Returns false.
supportsDataManipulationTransactionsOnlyReturns false.
dataDefinitionCausesTransactionCommitReturns true.
dataDefinitionIgnoredInTransactionsUnconditionally returns false.
getProceduresReturns information about the Java stored routines.
getProcedureColumnsReturns information about the parameters of the Java stored routines.
getTablesReturns information about tables. Only the table types returned by getTableTypes can be specified in the list of table types to be obtained (types).
getSchemasReturns information about schemas.
getCatalogsAlways returns a 0 result.
getTableTypesReturns information about table types. The following values are returned:
"SYSTEM TABLE": System table
"BASE TABLE": Base table
"VIEW": View table
"READ ONLY VIEW": Read-only view table
"ALIAS": Another table
getColumnsReturns information about columns.
getColumnPrivilegesReturns information about column privileges.
getTablePrivilegesReturns information about table privileges.
getBestRowIdentifierAlways returns a 0 result.
getVersionColumns
getPrimaryKeysReturns information about primary key columns (always returns a 0 result).
getImportedKeysAlways returns a 0 result.
getExportedKeysReturns information about external key columns that reference the primary key columns (always returns a 0 result).
getCrossReferenceReturns information about the external key columns in the table with external keys that reference the primary key columns in the table with the primary key (always returns a 0 result).
getTypeInfoReturns information about the standard SQL types supported for the database.
getIndexInfoReturns information about indexes.

Table 16-31 Limitations to the methods in the DatabaseMetaData class that are added in the JDBC2.0 basic standard

Method added in JDBC2.0 basic standardLimitation or return value
supportsResultSetTypeReturns true if the result set type is TYPE_FORWARD_ONLY or TYPE_SCROLL_INSENSITIVE.
SupportsResultSet
Concurrency
Returns true if the result set type is TYPE_FORWARD_ONLY or TYPE_SCROLL_INSENSITIVE and the parallel processing type is CONCUR_READ_ONLY.
ownUpdatesAreVisibleUnconditionally returns false.
ownDeletesAreVisible
ownInsertsAreVisible
othersUpdatesAreVisible
othersDeletesAreVisible
othersInsertsAreVisible
updatesAreDetected
deletesAreDetected
insertsAreDetected
supportsBatchUpdatesUnconditionally returns true.
getUDTsAlways returns a 0 result.
getConnectionReturns the Connection instance that is the DatabaseMetaData instance generation source.