org.axiondb.jdbc
public class AxionDatabaseMetaData extends Object implements DatabaseMetaData
Version: $Revision: 1.36 $ $Date: 2007/11/13 19:04:01 $
Constructor Summary | |
---|---|
AxionDatabaseMetaData(AxionConnection conn, Database db) |
Method Summary | |
---|---|
boolean | allProceduresAreCallable() Currently returns false . |
boolean | allTablesAreSelectable() Returns true , since all tables are indeed selectable. |
boolean | dataDefinitionCausesTransactionCommit()
Returns false , since Axion currently doesn't treat Data Definition
Language (DDL) statements like CREATE or DROP transactionally. |
boolean | dataDefinitionIgnoredInTransactions()
Returns false , since Axion currently doesn't treat Data Definition
Language (DDL) statements like CREATE or DROP transactionally. |
boolean | deletesAreDetected(int type) Currently not supported. |
boolean | doesMaxRowSizeIncludeBlobs()
Returns false since LOB sizes are not counted in the
maximum row size (which is unbounded anyway). |
ResultSet | getAttributes(String arg0, String arg1, String arg2, String arg3) Currently unsupported. |
ResultSet | getBestRowIdentifier(String catalog, String schema, String table, int scope, boolean nullable) Currently not supported. |
ResultSet | getCatalogs() Supported. |
String | getCatalogSeparator() Currently not supported. |
String | getCatalogTerm() Currently not supported. |
ResultSet | getColumnPrivileges(String catalog, String schema, String table, String columnNamePattern) Currently not supported. |
ResultSet | getColumns(String catalog, String schemaPattern, String tableNamePattern, String columnNamePattern)
Supported, |
Connection | getConnection() Returns my Connection. |
ResultSet | getCrossReference(String primaryCatalog, String primarySchema, String primaryTable, String foreignCatalog, String foreignSchema, String foreignTable) Currently not supported. |
int | getDatabaseMajorVersion() |
int | getDatabaseMinorVersion() |
String | getDatabaseProductName() Currently returns " AxionDB ". |
String | getDatabaseProductVersion() Currently returns " 1.0M1 ". |
int | getDefaultTransactionIsolation() Returns Connection#TRANSACTION_SERIALIZABLE. |
int | getDriverMajorVersion() Currently returns 0 . |
int | getDriverMinorVersion() Currently returns 1 . |
String | getDriverName() Currently returns " Axion JDBC Driver". |
String | getDriverVersion() Currently returns " 1.0M1 ". |
ResultSet | getExportedKeys(String catalog, String schema, String table) Currently not supported. |
String | getExtraNameCharacters() Currently not supported. |
String | getIdentifierQuoteString()
Returns " as Axion now supports quoted identifiers to allow for
escaping of reserved words for use as table or column identifiers. |
ResultSet | getImportedKeys(String catalog, String schema, String table) Currently not supported. |
ResultSet | getIndexInfo(String catalog, String schema, String table, boolean unique, boolean approximate)
Partially supported.
|
int | getJDBCMajorVersion() Supported. |
int | getJDBCMinorVersion() Supported. |
int | getMaxBinaryLiteralLength() Returns 0 . |
int | getMaxCatalogNameLength() Returns 0 . |
int | getMaxCharLiteralLength() Returns 0 . |
int | getMaxColumnNameLength()
Returns Integer.MAX_VALUE , since Axion has no hard limit on the
length of a column name. |
int | getMaxColumnsInGroupBy()
Returns 0. |
int | getMaxColumnsInIndex()
Returns 1 , since Axion currently doesn't support multi-column
indices. |
int | getMaxColumnsInOrderBy()
Returns java.lang.Integer#MAX_VALUE, the maximum number of columns Axion
can manage in a single ORDER BY clause. |
int | getMaxColumnsInSelect()
Returns java.lang.Integer#MAX_VALUE, the maximum number of columns Axion
can manage in a single SELECT clause. |
int | getMaxColumnsInTable()
Returns java.lang.Integer#MAX_VALUE, the maximum number of columns Axion
can manage in a single table. |
int | getMaxConnections()
Returns 0 , since Axion has no hard limit on the number of
connections. |
int | getMaxCursorNameLength() Returns 0 since named cursors are not supported. |
int | getMaxIndexLength() Returns 0 . |
int | getMaxProcedureNameLength() Returns 0 . |
int | getMaxRowSize()
Returns 0 , since Axion has no hard limit on the size of a row. |
int | getMaxSchemaNameLength() Returns 0 . |
int | getMaxStatementLength()
Returns 0 , since Axion has no hard limit on the size of a
statement. |
int | getMaxStatements() Returns 0 . |
int | getMaxTableNameLength() Returns Integer.MAX_VALUE . |
int | getMaxTablesInSelect()
Returns java.lang.Integer#MAX_VALUE, the maximum number of tables Axion
can manage in a single SELECT statement. |
int | getMaxUserNameLength() Returns 0 . |
String | getNumericFunctions() Currently not supported. |
ResultSet | getPrimaryKeys(String catalog, String schema, String table) Currently not supported. |
ResultSet | getProcedureColumns(String catalog, String schemaPattern, String procedureNamePattern, String columnNamePattern) Currently not supported. |
ResultSet | getProcedures(String catalog, String schemaPattern, String procedureNamePattern) Currently not supported. |
String | getProcedureTerm() Currently not supported. |
int | getResultSetHoldability() |
ResultSet | getSchemas() Supported. |
String | getSchemaTerm() Currently not supported. |
String | getSearchStringEscape() Currently not supported. |
String | getSQLKeywords() Currently not supported. |
int | getSQLStateType() Currently unsupported. |
String | getStringFunctions() Currently not supported. |
ResultSet | getSuperTables(String arg0, String arg1, String arg2) Always empty, super tables are currently not supported. |
ResultSet | getSuperTypes(String arg0, String arg1, String arg2) Always empty, super types are currently not supported. |
String | getSystemFunctions() Currently not supported. |
ResultSet | getTablePrivileges(String catalog, String schemaPattern, String tableNamePattern) Currently not supported. |
ResultSet | getTables(String catalog, String schemaPattern, String tableNamePattern, String[] types)
Supported. |
ResultSet | getTableTypes() Supported. |
String | getTimeDateFunctions() Currently not supported. |
ResultSet | getTypeInfo() Supported. |
ResultSet | getUDTs(String catalog, String schemaPattern, String typeNamePattern, int[] types) Currently not supported. |
String | getURL() Returns the connect string used to establish my Connection. |
String | getUserName() Currently returns null . |
ResultSet | getVersionColumns(String catalog, String schema, String table) Currently not supported. |
boolean | insertsAreDetected(int type)
Retrieves whether or not a visible row insert can be detected by calling the method
ResultSet.rowInserted. |
boolean | isCatalogAtStart() Currently not supported. |
boolean | isReadOnly()
Returns true when this database is known to be read only, false
otherwise. |
boolean | locatorsUpdateCopy() Currently unsupported. |
boolean | nullPlusNonNullIsNull() Returns true . |
boolean | nullsAreSortedAtEnd()
Returns false , since null s are considered greater
than any non- null value.
|
boolean | nullsAreSortedAtStart()
Returns false , since null s are considered greater
than any non- null value.
|
boolean | nullsAreSortedHigh()
Returns true , since null s are considered greater
than any non- null value. |
boolean | nullsAreSortedLow()
Returns false , since null s are considered greater
than any non- null value.
|
boolean | othersDeletesAreVisible(int type) Currently not supported. |
boolean | othersInsertsAreVisible(int type) Currently not supported. |
boolean | othersUpdatesAreVisible(int type) Currently not supported. |
boolean | ownDeletesAreVisible(int type)
Retrieves whether for the given type of ResultSet object, the result set's own deletes
are visible.
|
boolean | ownInsertsAreVisible(int type) Currently supported. |
boolean | ownUpdatesAreVisible(int type)
Retrieves whether for the given type of ResultSet object, the result set's own updates
are visible.
|
boolean | storesLowerCaseIdentifiers()
Returns false , since Axion currently ignores case in identifiers,
and stores them internally as upper case values. |
boolean | storesLowerCaseQuotedIdentifiers()
Returns false , since Axion currently ignores case in identifiers,
and stores them internally as upper case values. |
boolean | storesMixedCaseIdentifiers()
Returns false , since Axion currently ignores case in identifiers,
and stores them internally as upper case values. |
boolean | storesMixedCaseQuotedIdentifiers()
Returns false , since Axion currently ignores case in identifiers,
and stores them internally as upper case values. |
boolean | storesUpperCaseIdentifiers()
Returns true , since Axion currently ignores case in identifiers,
and stores them internally as upper case values. |
boolean | storesUpperCaseQuotedIdentifiers() Returns true . |
boolean | supportsAlterTableWithAddColumn() Returns true as this feature is currently supported. |
boolean | supportsAlterTableWithDropColumn() Returns false as this feature is currently not supported. |
boolean | supportsANSI92EntryLevelSQL() Supported. |
boolean | supportsANSI92FullSQL() Currently not supported. |
boolean | supportsANSI92IntermediateSQL() Currently not supported. |
boolean | supportsBatchUpdates()
Returns true , since Axion supports addBatch,clearBatch and
executeBatch. |
boolean | supportsCatalogsInDataManipulation() Returns false as this feature is currently not supported. |
boolean | supportsCatalogsInIndexDefinitions() Returns false as this feature is currently not supported. |
boolean | supportsCatalogsInPrivilegeDefinitions() Returns false as this feature is currently not supported. |
boolean | supportsCatalogsInProcedureCalls() Returns false as this feature is currently not supported. |
boolean | supportsCatalogsInTableDefinitions() Returns false as this feature is currently not supported. |
boolean | supportsColumnAliasing() Returns true , since Axion supports column aliasing. |
boolean | supportsConvert() Returns true ; use CAST(col AS type) |
boolean | supportsConvert(int fromType, int toType) Returns false as this feature is currently not supported. |
boolean | supportsCoreSQLGrammar() Currently not supported. |
boolean | supportsCorrelatedSubqueries() Returns true . |
boolean | supportsDataDefinitionAndDataManipulationTransactions()
Returns false , since Axion currently doesn't treat Data Definition
Language (DDL) statements like CREATE or DROP transactionally. |
boolean | supportsDataManipulationTransactionsOnly()
Returns true . |
boolean | supportsDifferentTableCorrelationNames() Returns true as Axion supports table aliasing. |
boolean | supportsExpressionsInOrderBy() Returns true . |
boolean | supportsExtendedSQLGrammar() Currently not supported. |
boolean | supportsFullOuterJoins() Returns false . |
boolean | supportsGetGeneratedKeys() Currently always false. |
boolean | supportsGroupBy() Is some form of "GROUP BY" clause supported? |
boolean | supportsGroupByBeyondSelect()
Can a "GROUP BY" clause add columns not in the SELECT provided it specifies all the
columns in the SELECT? |
boolean | supportsGroupByUnrelated() Can a "GROUP BY" clause use columns not in the SELECT? |
boolean | supportsIntegrityEnhancementFacility() Currently not supported. |
boolean | supportsLikeEscapeClause() Supported. |
boolean | supportsLimitedOuterJoins() Returns true . |
boolean | supportsMinimumSQLGrammar()
Returns true as Axion supports the "ODBC
Minimum SQL Grammar" . |
boolean | supportsMixedCaseIdentifiers() Returns false , since Axion currently ignores case in identifiers. |
boolean | supportsMixedCaseQuotedIdentifiers()
Returns false , since Axion currently ignores case in identifiers. |
boolean | supportsMultipleOpenResults() Currently always false. |
boolean | supportsMultipleResultSets() Returns false as this feature is currently unsupported. |
boolean | supportsMultipleTransactions() Returns true , Axion supports multiple transactions. |
boolean | supportsNamedParameters() Currently always false. |
boolean | supportsNonNullableColumns() Returns true , Axion supports NOT NULL constraints. |
boolean | supportsOpenCursorsAcrossCommit()
Returns false . |
boolean | supportsOpenCursorsAcrossRollback()
Returns false . |
boolean | supportsOpenStatementsAcrossCommit()
Returns true . |
boolean | supportsOpenStatementsAcrossRollback()
Returns true . |
boolean | supportsOrderByUnrelated() Returns true , since Axion allows arbitrary columns in an ORDER BY. |
boolean | supportsOuterJoins() Returns true . |
boolean | supportsPositionedDelete() Returns true since this feature is currently supported. |
boolean | supportsPositionedUpdate() Returns true since this feature is currently supported. |
boolean | supportsResultSetConcurrency(int type, int concurrency)
Returns true iff type is supported and concurrency
is ResultSet#CONCUR_READ_ONLYor ResultSet#CONCUR_UPDATABLE.
|
boolean | supportsResultSetHoldability(int code) |
boolean | supportsResultSetType(int type)
Returns true iff type is ResultSet#TYPE_FORWARD_ONLY
or ResultSet#TYPE_SCROLL_SENSITIVE.
|
boolean | supportsSavepoints() Currently always false. |
boolean | supportsSchemasInDataManipulation() Returns false as this feature is currently not supported. |
boolean | supportsSchemasInIndexDefinitions() Returns false as this feature is currently not supported. |
boolean | supportsSchemasInPrivilegeDefinitions() Currently not supported. |
boolean | supportsSchemasInProcedureCalls() Returns false as this feature is currently not supported. |
boolean | supportsSchemasInTableDefinitions() Currently not supported. |
boolean | supportsSelectForUpdate() Returns false as this feature is currently not supported. |
boolean | supportsStatementPooling() Currently always false. |
boolean | supportsStoredProcedures() Returns false as this feature is currently not supported. |
boolean | supportsSubqueriesInComparisons() Returns true since you could use id = {sub-select}. |
boolean | supportsSubqueriesInExists() Returns true |
boolean | supportsSubqueriesInIns() Returns true |
boolean | supportsSubqueriesInQuantifieds() Returns true as this feature is currently supported. |
boolean | supportsTableCorrelationNames() Returns true as Axion supports table aliasing. |
boolean | supportsTransactionIsolationLevel(int level)
Returns true iff level is
Connection#TRANSACTION_SERIALIZABLEsince Axion supports
TRANSACTION_SERIALIZABLE transactions only. |
boolean | supportsTransactions() Returns true , since Axion supports transactions. |
boolean | supportsUnion()
Returns false since UNION queries are currently not supported.. |
boolean | supportsUnionAll() Returns false as this feature is currently not supported. |
boolean | updatesAreDetected(int type)
Retrieves whether or not a visible row update can be detected by calling the method
ResultSet.rowUpdated. |
boolean | usesLocalFilePerTable()
Returns false , since the driver does not require local files |
boolean | usesLocalFiles()
Returns false , since the driver does not require local files |
false
.true
, since all tables are indeed selectable.false
, since Axion currently doesn't treat Data Definition
Language (DDL) statements like CREATE or DROP transactionally.false
, since Axion currently doesn't treat Data Definition
Language (DDL) statements like CREATE or DROP transactionally.false
since LOB sizes are not counted in the
maximum row size
(which is unbounded anyway).AxionDB
".1.0M1
".0
.1
.Axion JDBC Driver".
1.0M1
"."
as Axion now supports quoted identifiers to allow for
escaping of reserved words for use as table or column identifiers.Returns: ResultSet containing index information as outlined in the JDBC API
0
.0
.0
.Integer.MAX_VALUE
, since Axion has no hard limit on the
length of a column name.1
, since Axion currently doesn't support multi-column
indices.0
, since Axion has no hard limit on the number of
connections.0
since named cursors are not supported.0
.0
.0
, since Axion has no hard limit on the size of a row.0
.0
, since Axion has no hard limit on the size of a
statement.0
.Integer.MAX_VALUE
.0
.null
.Parameters: type the ResultSet type; one of ResultSet.TYPE_FORWARD_ONLY
,
ResultSet.TYPE_SCROLL_INSENSITIVE
, or
Returns: false as Axion does not (yet) support rowInserted()
Throws: SQLException if a database access error occurs
true
when this database is known to be read only, false
otherwise.true
.false
, since null
s are considered greater
than any non- null
value.
See Also: AxionDatabaseMetaData
false
, since null
s are considered greater
than any non- null
value.
See Also: AxionDatabaseMetaData
true
, since null
s are considered greater
than any non- null
value.false
, since null
s are considered greater
than any non- null
value.
See Also: AxionDatabaseMetaData
Parameters: type the ResultSet type; one of ResultSet.TYPE_FORWARD_ONLY
,
ResultSet.TYPE_SCROLL_INSENSITIVE
, or
Returns: true for TYPE_SCROLL_SENSITIVE or TYPE_FORWARD_ONLY, false for TYPE_SCROLL_INSENSITIVE
Throws: SQLException if a database access error occurs
Parameters: type the ResultSet type; one of ResultSet.TYPE_FORWARD_ONLY
,
ResultSet.TYPE_SCROLL_INSENSITIVE
, or
Returns: true for TYPE_SCROLL_SENSITIVE or TYPE_FORWARD_ONLY, false for TYPE_SCROLL_INSENSITIVE
Throws: SQLException if a database access error occurs
false
, since Axion currently ignores case in identifiers,
and stores them internally as upper case values.false
, since Axion currently ignores case in identifiers,
and stores them internally as upper case values. Quoted identifiers are also
currently unsupported.false
, since Axion currently ignores case in identifiers,
and stores them internally as upper case values.false
, since Axion currently ignores case in identifiers,
and stores them internally as upper case values.true
, since Axion currently ignores case in identifiers,
and stores them internally as upper case values.true
.true
as this feature is currently supported.false
as this feature is currently not supported.true
, since Axion supports addBatch,clearBatch and
executeBatch.false
as this feature is currently not supported.false
as this feature is currently not supported.false
as this feature is currently not supported.false
as this feature is currently not supported.false
as this feature is currently not supported.true
, since Axion supports column aliasing.true
; use CAST(col AS type)false
as this feature is currently not supported.true
.false
, since Axion currently doesn't treat Data Definition
Language (DDL) statements like CREATE or DROP transactionally.true
.true
as Axion supports table aliasing.true
.false
.true
true
true
true
.true
as Axion supports the "ODBC
Minimum SQL Grammar" . Namely:
CREATE TABLE base-table-name (column-identifier data-type [,column-identifier data-type]*) DELETE FROM table-name [WHERE search-condition] DROP TABLE base-table-name INSERT INTO table-name [( column-identifier [, column-identifier]...)] VALUES (insert-value[, insert-value]... ) SELECT [ALL | DISTINCT] select-list FROM table-reference-list [WHERE search-condition] [order-by-clause] UPDATE table-name SET column-identifier = {expression | NULL } [, column-identifier = {expression | NULL}]* [WHERE search-condition]
false
, since Axion currently ignores case in identifiers.false
, since Axion currently ignores case in identifiers.false
as this feature is currently unsupported.true
, Axion supports multiple transactions.true
, Axion supports NOT NULL constraints.false
. Closing a transaction will close any open
ResultSets.false
. Closing a transaction will close any open
ResultSets.true
. Statements remain valid accross a transaction
boundary.true
. Statements remain valid accross a transaction
boundary.true
, since Axion allows arbitrary columns in an ORDER BY.true
.true
since this feature is currently supported.true
since this feature is currently supported.true
iff type is supported and concurrency
is ResultSet#CONCUR_READ_ONLYor ResultSet#CONCUR_UPDATABLE.
Parameters: type ResultSet type to test concurrency ResultSet concurrency to test
Returns: true if combination of type and concurrency is supported; false otherwise
true
iff type is ResultSet#TYPE_FORWARD_ONLY
or ResultSet#TYPE_SCROLL_SENSITIVE.
Parameters: type ResultSet type to test
Returns: true if type is supported; false otherwise
false
as this feature is currently not supported.false
as this feature is currently not supported.false
as this feature is currently not supported.false
as this feature is currently not supported.false
as this feature is currently not supported.true
since you could use id = {sub-select}.true
true
true
as this feature is currently supported.true
as Axion supports table aliasing.true
iff level is
Connection#TRANSACTION_SERIALIZABLEsince Axion supports
TRANSACTION_SERIALIZABLE transactions only.true
, since Axion supports transactions.false
since UNION queries are currently not supported..false
as this feature is currently not supported.Parameters: type the ResultSet type; one of ResultSet.TYPE_FORWARD_ONLY
,
ResultSet.TYPE_SCROLL_INSENSITIVE
, or
Returns: false as Axion does not (yet) support rowUpdated()
Throws: SQLException if a database access error occurs
false
, since the driver does not require local filesfalse
, since the driver does not require local files