org.axiondb.jdbc

Class AxionDatabaseMetaData

public class AxionDatabaseMetaData extends Object implements DatabaseMetaData

A DatabaseMetaDataimplementation.

Version: $Revision: 1.36 $ $Date: 2007/11/13 19:04:01 $

Author: Rodney Waldhoff

Constructor Summary
AxionDatabaseMetaData(AxionConnection conn, Database db)
Method Summary
booleanallProceduresAreCallable()
Currently returns false.
booleanallTablesAreSelectable()
Returns true, since all tables are indeed selectable.
booleandataDefinitionCausesTransactionCommit()
Returns false, since Axion currently doesn't treat Data Definition Language (DDL) statements like CREATE or DROP transactionally.
booleandataDefinitionIgnoredInTransactions()
Returns false, since Axion currently doesn't treat Data Definition Language (DDL) statements like CREATE or DROP transactionally.
booleandeletesAreDetected(int type)
Currently not supported.
booleandoesMaxRowSizeIncludeBlobs()
Returns false since LOB sizes are not counted in the maximum row size(which is unbounded anyway).
ResultSetgetAttributes(String arg0, String arg1, String arg2, String arg3)
Currently unsupported.
ResultSetgetBestRowIdentifier(String catalog, String schema, String table, int scope, boolean nullable)
Currently not supported.
ResultSetgetCatalogs()
Supported.
StringgetCatalogSeparator()
Currently not supported.
StringgetCatalogTerm()
Currently not supported.
ResultSetgetColumnPrivileges(String catalog, String schema, String table, String columnNamePattern)
Currently not supported.
ResultSetgetColumns(String catalog, String schemaPattern, String tableNamePattern, String columnNamePattern)
Supported,
ConnectiongetConnection()
Returns my Connection.
ResultSetgetCrossReference(String primaryCatalog, String primarySchema, String primaryTable, String foreignCatalog, String foreignSchema, String foreignTable)
Currently not supported.
intgetDatabaseMajorVersion()
intgetDatabaseMinorVersion()
StringgetDatabaseProductName()
Currently returns "AxionDB".
StringgetDatabaseProductVersion()
Currently returns "1.0M1".
intgetDefaultTransactionIsolation()
Returns Connection#TRANSACTION_SERIALIZABLE.
intgetDriverMajorVersion()
Currently returns 0.
intgetDriverMinorVersion()
Currently returns 1.
StringgetDriverName()
Currently returns "Axion JDBC Driver".
StringgetDriverVersion()
Currently returns "1.0M1".
ResultSetgetExportedKeys(String catalog, String schema, String table)
Currently not supported.
StringgetExtraNameCharacters()
Currently not supported.
StringgetIdentifierQuoteString()
Returns " as Axion now supports quoted identifiers to allow for escaping of reserved words for use as table or column identifiers.
ResultSetgetImportedKeys(String catalog, String schema, String table)
Currently not supported.
ResultSetgetIndexInfo(String catalog, String schema, String table, boolean unique, boolean approximate)
Partially supported.
intgetJDBCMajorVersion()
Supported.
intgetJDBCMinorVersion()
Supported.
intgetMaxBinaryLiteralLength()
Returns 0.
intgetMaxCatalogNameLength()
Returns 0.
intgetMaxCharLiteralLength()
Returns 0.
intgetMaxColumnNameLength()
Returns Integer.MAX_VALUE, since Axion has no hard limit on the length of a column name.
intgetMaxColumnsInGroupBy()
Returns 0.
intgetMaxColumnsInIndex()
Returns 1, since Axion currently doesn't support multi-column indices.
intgetMaxColumnsInOrderBy()
Returns java.lang.Integer#MAX_VALUE, the maximum number of columns Axion can manage in a single ORDER BY clause.
intgetMaxColumnsInSelect()
Returns java.lang.Integer#MAX_VALUE, the maximum number of columns Axion can manage in a single SELECT clause.
intgetMaxColumnsInTable()
Returns java.lang.Integer#MAX_VALUE, the maximum number of columns Axion can manage in a single table.
intgetMaxConnections()
Returns 0, since Axion has no hard limit on the number of connections.
intgetMaxCursorNameLength()
Returns 0 since named cursors are not supported.
intgetMaxIndexLength()
Returns 0.
intgetMaxProcedureNameLength()
Returns 0.
intgetMaxRowSize()
Returns 0, since Axion has no hard limit on the size of a row.
intgetMaxSchemaNameLength()
Returns 0.
intgetMaxStatementLength()
Returns 0, since Axion has no hard limit on the size of a statement.
intgetMaxStatements()
Returns 0.
intgetMaxTableNameLength()
Returns Integer.MAX_VALUE.
intgetMaxTablesInSelect()
Returns java.lang.Integer#MAX_VALUE, the maximum number of tables Axion can manage in a single SELECT statement.
intgetMaxUserNameLength()
Returns 0.
StringgetNumericFunctions()
Currently not supported.
ResultSetgetPrimaryKeys(String catalog, String schema, String table)
Currently not supported.
ResultSetgetProcedureColumns(String catalog, String schemaPattern, String procedureNamePattern, String columnNamePattern)
Currently not supported.
ResultSetgetProcedures(String catalog, String schemaPattern, String procedureNamePattern)
Currently not supported.
StringgetProcedureTerm()
Currently not supported.
intgetResultSetHoldability()
ResultSetgetSchemas()
Supported.
StringgetSchemaTerm()
Currently not supported.
StringgetSearchStringEscape()
Currently not supported.
StringgetSQLKeywords()
Currently not supported.
intgetSQLStateType()
Currently unsupported.
StringgetStringFunctions()
Currently not supported.
ResultSetgetSuperTables(String arg0, String arg1, String arg2)
Always empty, super tables are currently not supported.
ResultSetgetSuperTypes(String arg0, String arg1, String arg2)
Always empty, super types are currently not supported.
StringgetSystemFunctions()
Currently not supported.
ResultSetgetTablePrivileges(String catalog, String schemaPattern, String tableNamePattern)
Currently not supported.
ResultSetgetTables(String catalog, String schemaPattern, String tableNamePattern, String[] types)
Supported.
ResultSetgetTableTypes()
Supported.
StringgetTimeDateFunctions()
Currently not supported.
ResultSetgetTypeInfo()
Supported.
ResultSetgetUDTs(String catalog, String schemaPattern, String typeNamePattern, int[] types)
Currently not supported.
StringgetURL()
Returns the connect string used to establish my Connection.
StringgetUserName()
Currently returns null.
ResultSetgetVersionColumns(String catalog, String schema, String table)
Currently not supported.
booleaninsertsAreDetected(int type)
Retrieves whether or not a visible row insert can be detected by calling the method ResultSet.rowInserted.
booleanisCatalogAtStart()
Currently not supported.
booleanisReadOnly()
Returns true when this database is known to be read only, false otherwise.
booleanlocatorsUpdateCopy()
Currently unsupported.
booleannullPlusNonNullIsNull()
Returns true.
booleannullsAreSortedAtEnd()
Returns false, since null s are considered greater than any non- null value.
booleannullsAreSortedAtStart()
Returns false, since null s are considered greater than any non- null value.
booleannullsAreSortedHigh()
Returns true, since null s are considered greater than any non- null value.
booleannullsAreSortedLow()
Returns false, since null s are considered greater than any non- null value.
booleanothersDeletesAreVisible(int type)
Currently not supported.
booleanothersInsertsAreVisible(int type)
Currently not supported.
booleanothersUpdatesAreVisible(int type)
Currently not supported.
booleanownDeletesAreVisible(int type)
Retrieves whether for the given type of ResultSet object, the result set's own deletes are visible.
booleanownInsertsAreVisible(int type)
Currently supported.
booleanownUpdatesAreVisible(int type)
Retrieves whether for the given type of ResultSet object, the result set's own updates are visible.
booleanstoresLowerCaseIdentifiers()
Returns false, since Axion currently ignores case in identifiers, and stores them internally as upper case values.
booleanstoresLowerCaseQuotedIdentifiers()
Returns false, since Axion currently ignores case in identifiers, and stores them internally as upper case values.
booleanstoresMixedCaseIdentifiers()
Returns false, since Axion currently ignores case in identifiers, and stores them internally as upper case values.
booleanstoresMixedCaseQuotedIdentifiers()
Returns false, since Axion currently ignores case in identifiers, and stores them internally as upper case values.
booleanstoresUpperCaseIdentifiers()
Returns true, since Axion currently ignores case in identifiers, and stores them internally as upper case values.
booleanstoresUpperCaseQuotedIdentifiers()
Returns true.
booleansupportsAlterTableWithAddColumn()
Returns true as this feature is currently supported.
booleansupportsAlterTableWithDropColumn()
Returns false as this feature is currently not supported.
booleansupportsANSI92EntryLevelSQL()
Supported.
booleansupportsANSI92FullSQL()
Currently not supported.
booleansupportsANSI92IntermediateSQL()
Currently not supported.
booleansupportsBatchUpdates()
Returns true, since Axion supports addBatch,clearBatch and executeBatch.
booleansupportsCatalogsInDataManipulation()
Returns false as this feature is currently not supported.
booleansupportsCatalogsInIndexDefinitions()
Returns false as this feature is currently not supported.
booleansupportsCatalogsInPrivilegeDefinitions()
Returns false as this feature is currently not supported.
booleansupportsCatalogsInProcedureCalls()
Returns false as this feature is currently not supported.
booleansupportsCatalogsInTableDefinitions()
Returns false as this feature is currently not supported.
booleansupportsColumnAliasing()
Returns true, since Axion supports column aliasing.
booleansupportsConvert()
Returns true; use CAST(col AS type)
booleansupportsConvert(int fromType, int toType)
Returns false as this feature is currently not supported.
booleansupportsCoreSQLGrammar()
Currently not supported.
booleansupportsCorrelatedSubqueries()
Returns true.
booleansupportsDataDefinitionAndDataManipulationTransactions()
Returns false, since Axion currently doesn't treat Data Definition Language (DDL) statements like CREATE or DROP transactionally.
booleansupportsDataManipulationTransactionsOnly()
Returns true.
booleansupportsDifferentTableCorrelationNames()
Returns true as Axion supports table aliasing.
booleansupportsExpressionsInOrderBy()
Returns true.
booleansupportsExtendedSQLGrammar()
Currently not supported.
booleansupportsFullOuterJoins()
Returns false.
booleansupportsGetGeneratedKeys()
Currently always false.
booleansupportsGroupBy()
Is some form of "GROUP BY" clause supported?
booleansupportsGroupByBeyondSelect()
Can a "GROUP BY" clause add columns not in the SELECT provided it specifies all the columns in the SELECT?
booleansupportsGroupByUnrelated()
Can a "GROUP BY" clause use columns not in the SELECT?
booleansupportsIntegrityEnhancementFacility()
Currently not supported.
booleansupportsLikeEscapeClause()
Supported.
booleansupportsLimitedOuterJoins()
Returns true.
booleansupportsMinimumSQLGrammar()
Returns true as Axion supports the "ODBC Minimum SQL Grammar" .
booleansupportsMixedCaseIdentifiers()
Returns false, since Axion currently ignores case in identifiers.
booleansupportsMixedCaseQuotedIdentifiers()
Returns false, since Axion currently ignores case in identifiers.
booleansupportsMultipleOpenResults()
Currently always false.
booleansupportsMultipleResultSets()
Returns false as this feature is currently unsupported.
booleansupportsMultipleTransactions()
Returns true, Axion supports multiple transactions.
booleansupportsNamedParameters()
Currently always false.
booleansupportsNonNullableColumns()
Returns true, Axion supports NOT NULL constraints.
booleansupportsOpenCursorsAcrossCommit()
Returns false.
booleansupportsOpenCursorsAcrossRollback()
Returns false.
booleansupportsOpenStatementsAcrossCommit()
Returns true.
booleansupportsOpenStatementsAcrossRollback()
Returns true.
booleansupportsOrderByUnrelated()
Returns true, since Axion allows arbitrary columns in an ORDER BY.
booleansupportsOuterJoins()
Returns true.
booleansupportsPositionedDelete()
Returns true since this feature is currently supported.
booleansupportsPositionedUpdate()
Returns true since this feature is currently supported.
booleansupportsResultSetConcurrency(int type, int concurrency)
Returns true iff type is supported and concurrency is ResultSet#CONCUR_READ_ONLYor ResultSet#CONCUR_UPDATABLE.
booleansupportsResultSetHoldability(int code)
booleansupportsResultSetType(int type)
Returns true iff type is ResultSet#TYPE_FORWARD_ONLY or ResultSet#TYPE_SCROLL_SENSITIVE.
booleansupportsSavepoints()
Currently always false.
booleansupportsSchemasInDataManipulation()
Returns false as this feature is currently not supported.
booleansupportsSchemasInIndexDefinitions()
Returns false as this feature is currently not supported.
booleansupportsSchemasInPrivilegeDefinitions()
Currently not supported.
booleansupportsSchemasInProcedureCalls()
Returns false as this feature is currently not supported.
booleansupportsSchemasInTableDefinitions()
Currently not supported.
booleansupportsSelectForUpdate()
Returns false as this feature is currently not supported.
booleansupportsStatementPooling()
Currently always false.
booleansupportsStoredProcedures()
Returns false as this feature is currently not supported.
booleansupportsSubqueriesInComparisons()
Returns true since you could use id = {sub-select}.
booleansupportsSubqueriesInExists()
Returns true
booleansupportsSubqueriesInIns()
Returns true
booleansupportsSubqueriesInQuantifieds()
Returns true as this feature is currently supported.
booleansupportsTableCorrelationNames()
Returns true as Axion supports table aliasing.
booleansupportsTransactionIsolationLevel(int level)
Returns true iff level is Connection#TRANSACTION_SERIALIZABLEsince Axion supports TRANSACTION_SERIALIZABLE transactions only.
booleansupportsTransactions()
Returns true, since Axion supports transactions.
booleansupportsUnion()
Returns false since UNION queries are currently not supported..
booleansupportsUnionAll()
Returns false as this feature is currently not supported.
booleanupdatesAreDetected(int type)
Retrieves whether or not a visible row update can be detected by calling the method ResultSet.rowUpdated.
booleanusesLocalFilePerTable()
Returns false, since the driver does not require local files
booleanusesLocalFiles()
Returns false, since the driver does not require local files

Constructor Detail

AxionDatabaseMetaData

public AxionDatabaseMetaData(AxionConnection conn, Database db)

Method Detail

allProceduresAreCallable

public boolean allProceduresAreCallable()
Currently returns false.

allTablesAreSelectable

public boolean allTablesAreSelectable()
Returns true, since all tables are indeed selectable.

dataDefinitionCausesTransactionCommit

public boolean dataDefinitionCausesTransactionCommit()
Returns false, since Axion currently doesn't treat Data Definition Language (DDL) statements like CREATE or DROP transactionally.

dataDefinitionIgnoredInTransactions

public boolean dataDefinitionIgnoredInTransactions()
Returns false, since Axion currently doesn't treat Data Definition Language (DDL) statements like CREATE or DROP transactionally.

deletesAreDetected

public boolean deletesAreDetected(int type)
Currently not supported.

doesMaxRowSizeIncludeBlobs

public boolean doesMaxRowSizeIncludeBlobs()
Returns false since LOB sizes are not counted in the maximum row size(which is unbounded anyway).

getAttributes

public ResultSet getAttributes(String arg0, String arg1, String arg2, String arg3)
Currently unsupported.

getBestRowIdentifier

public ResultSet getBestRowIdentifier(String catalog, String schema, String table, int scope, boolean nullable)
Currently not supported.

getCatalogs

public ResultSet getCatalogs()
Supported.

getCatalogSeparator

public String getCatalogSeparator()
Currently not supported.

getCatalogTerm

public String getCatalogTerm()
Currently not supported.

getColumnPrivileges

public ResultSet getColumnPrivileges(String catalog, String schema, String table, String columnNamePattern)
Currently not supported.

getColumns

public ResultSet getColumns(String catalog, String schemaPattern, String tableNamePattern, String columnNamePattern)
Supported,

getConnection

public Connection getConnection()
Returns my Connection.

getCrossReference

public ResultSet getCrossReference(String primaryCatalog, String primarySchema, String primaryTable, String foreignCatalog, String foreignSchema, String foreignTable)
Currently not supported.

getDatabaseMajorVersion

public int getDatabaseMajorVersion()

getDatabaseMinorVersion

public int getDatabaseMinorVersion()

getDatabaseProductName

public String getDatabaseProductName()
Currently returns "AxionDB".

getDatabaseProductVersion

public String getDatabaseProductVersion()
Currently returns "1.0M1".

getDefaultTransactionIsolation

public int getDefaultTransactionIsolation()
Returns Connection#TRANSACTION_SERIALIZABLE.

getDriverMajorVersion

public int getDriverMajorVersion()
Currently returns 0.

getDriverMinorVersion

public int getDriverMinorVersion()
Currently returns 1.

getDriverName

public String getDriverName()
Currently returns "Axion JDBC Driver".

getDriverVersion

public String getDriverVersion()
Currently returns "1.0M1".

getExportedKeys

public ResultSet getExportedKeys(String catalog, String schema, String table)
Currently not supported.

getExtraNameCharacters

public String getExtraNameCharacters()
Currently not supported.

getIdentifierQuoteString

public String getIdentifierQuoteString()
Returns " as Axion now supports quoted identifiers to allow for escaping of reserved words for use as table or column identifiers.

getImportedKeys

public ResultSet getImportedKeys(String catalog, String schema, String table)
Currently not supported.

getIndexInfo

public ResultSet getIndexInfo(String catalog, String schema, String table, boolean unique, boolean approximate)
Partially supported.

Returns: ResultSet containing index information as outlined in the JDBC API

getJDBCMajorVersion

public int getJDBCMajorVersion()
Supported.

getJDBCMinorVersion

public int getJDBCMinorVersion()
Supported.

getMaxBinaryLiteralLength

public int getMaxBinaryLiteralLength()
Returns 0.

getMaxCatalogNameLength

public int getMaxCatalogNameLength()
Returns 0.

getMaxCharLiteralLength

public int getMaxCharLiteralLength()
Returns 0.

getMaxColumnNameLength

public int getMaxColumnNameLength()
Returns Integer.MAX_VALUE, since Axion has no hard limit on the length of a column name.

getMaxColumnsInGroupBy

public int getMaxColumnsInGroupBy()
Returns 0.

getMaxColumnsInIndex

public int getMaxColumnsInIndex()
Returns 1, since Axion currently doesn't support multi-column indices.

getMaxColumnsInOrderBy

public int getMaxColumnsInOrderBy()
Returns java.lang.Integer#MAX_VALUE, the maximum number of columns Axion can manage in a single ORDER BY clause.

getMaxColumnsInSelect

public int getMaxColumnsInSelect()
Returns java.lang.Integer#MAX_VALUE, the maximum number of columns Axion can manage in a single SELECT clause.

getMaxColumnsInTable

public int getMaxColumnsInTable()
Returns java.lang.Integer#MAX_VALUE, the maximum number of columns Axion can manage in a single table.

getMaxConnections

public int getMaxConnections()
Returns 0, since Axion has no hard limit on the number of connections.

getMaxCursorNameLength

public int getMaxCursorNameLength()
Returns 0 since named cursors are not supported.

getMaxIndexLength

public int getMaxIndexLength()
Returns 0.

getMaxProcedureNameLength

public int getMaxProcedureNameLength()
Returns 0.

getMaxRowSize

public int getMaxRowSize()
Returns 0, since Axion has no hard limit on the size of a row.

getMaxSchemaNameLength

public int getMaxSchemaNameLength()
Returns 0.

getMaxStatementLength

public int getMaxStatementLength()
Returns 0, since Axion has no hard limit on the size of a statement.

getMaxStatements

public int getMaxStatements()
Returns 0.

getMaxTableNameLength

public int getMaxTableNameLength()
Returns Integer.MAX_VALUE.

getMaxTablesInSelect

public int getMaxTablesInSelect()
Returns java.lang.Integer#MAX_VALUE, the maximum number of tables Axion can manage in a single SELECT statement.

getMaxUserNameLength

public int getMaxUserNameLength()
Returns 0.

getNumericFunctions

public String getNumericFunctions()
Currently not supported.

getPrimaryKeys

public ResultSet getPrimaryKeys(String catalog, String schema, String table)
Currently not supported.

getProcedureColumns

public ResultSet getProcedureColumns(String catalog, String schemaPattern, String procedureNamePattern, String columnNamePattern)
Currently not supported.

getProcedures

public ResultSet getProcedures(String catalog, String schemaPattern, String procedureNamePattern)
Currently not supported.

getProcedureTerm

public String getProcedureTerm()
Currently not supported.

getResultSetHoldability

public int getResultSetHoldability()

getSchemas

public ResultSet getSchemas()
Supported.

getSchemaTerm

public String getSchemaTerm()
Currently not supported.

getSearchStringEscape

public String getSearchStringEscape()
Currently not supported.

getSQLKeywords

public String getSQLKeywords()
Currently not supported.

getSQLStateType

public int getSQLStateType()
Currently unsupported.

getStringFunctions

public String getStringFunctions()
Currently not supported.

getSuperTables

public ResultSet getSuperTables(String arg0, String arg1, String arg2)
Always empty, super tables are currently not supported.

getSuperTypes

public ResultSet getSuperTypes(String arg0, String arg1, String arg2)
Always empty, super types are currently not supported.

getSystemFunctions

public String getSystemFunctions()
Currently not supported.

getTablePrivileges

public ResultSet getTablePrivileges(String catalog, String schemaPattern, String tableNamePattern)
Currently not supported.

getTables

public ResultSet getTables(String catalog, String schemaPattern, String tableNamePattern, String[] types)
Supported.

getTableTypes

public ResultSet getTableTypes()
Supported.

getTimeDateFunctions

public String getTimeDateFunctions()
Currently not supported.

getTypeInfo

public ResultSet getTypeInfo()
Supported.

getUDTs

public ResultSet getUDTs(String catalog, String schemaPattern, String typeNamePattern, int[] types)
Currently not supported.

getURL

public String getURL()
Returns the connect string used to establish my Connection.

getUserName

public String getUserName()
Currently returns null.

getVersionColumns

public ResultSet getVersionColumns(String catalog, String schema, String table)
Currently not supported.

insertsAreDetected

public boolean insertsAreDetected(int type)
Retrieves whether or not a visible row insert can be detected by calling the method ResultSet.rowInserted. As ResultSet.rowInserted is not supported, this method should return false.

Parameters: type the ResultSet type; one of ResultSet.TYPE_FORWARD_ONLY, ResultSet.TYPE_SCROLL_INSENSITIVE, or ResultSet.TYPE_SCROLL_SENSITIVE

Returns: false as Axion does not (yet) support rowInserted()

Throws: SQLException if a database access error occurs

isCatalogAtStart

public boolean isCatalogAtStart()
Currently not supported.

isReadOnly

public boolean isReadOnly()
Returns true when this database is known to be read only, false otherwise.

locatorsUpdateCopy

public boolean locatorsUpdateCopy()
Currently unsupported.

nullPlusNonNullIsNull

public boolean nullPlusNonNullIsNull()
Returns true.

nullsAreSortedAtEnd

public boolean nullsAreSortedAtEnd()
Returns false, since null s are considered greater than any non- null value.

See Also: AxionDatabaseMetaData

nullsAreSortedAtStart

public boolean nullsAreSortedAtStart()
Returns false, since null s are considered greater than any non- null value.

See Also: AxionDatabaseMetaData

nullsAreSortedHigh

public boolean nullsAreSortedHigh()
Returns true, since null s are considered greater than any non- null value.

nullsAreSortedLow

public boolean nullsAreSortedLow()
Returns false, since null s are considered greater than any non- null value.

See Also: AxionDatabaseMetaData

othersDeletesAreVisible

public boolean othersDeletesAreVisible(int type)
Currently not supported.

othersInsertsAreVisible

public boolean othersInsertsAreVisible(int type)
Currently not supported.

othersUpdatesAreVisible

public boolean othersUpdatesAreVisible(int type)
Currently not supported.

ownDeletesAreVisible

public boolean ownDeletesAreVisible(int type)
Retrieves whether for the given type of ResultSet object, the result set's own deletes are visible.

Parameters: type the ResultSet type; one of ResultSet.TYPE_FORWARD_ONLY, ResultSet.TYPE_SCROLL_INSENSITIVE, or ResultSet.TYPE_SCROLL_SENSITIVE

Returns: true for TYPE_SCROLL_SENSITIVE or TYPE_FORWARD_ONLY, false for TYPE_SCROLL_INSENSITIVE

Throws: SQLException if a database access error occurs

ownInsertsAreVisible

public boolean ownInsertsAreVisible(int type)
Currently supported.

ownUpdatesAreVisible

public boolean ownUpdatesAreVisible(int type)
Retrieves whether for the given type of ResultSet object, the result set's own updates are visible.

Parameters: type the ResultSet type; one of ResultSet.TYPE_FORWARD_ONLY, ResultSet.TYPE_SCROLL_INSENSITIVE, or ResultSet.TYPE_SCROLL_SENSITIVE

Returns: true for TYPE_SCROLL_SENSITIVE or TYPE_FORWARD_ONLY, false for TYPE_SCROLL_INSENSITIVE

Throws: SQLException if a database access error occurs

storesLowerCaseIdentifiers

public boolean storesLowerCaseIdentifiers()
Returns false, since Axion currently ignores case in identifiers, and stores them internally as upper case values.

storesLowerCaseQuotedIdentifiers

public boolean storesLowerCaseQuotedIdentifiers()
Returns false, since Axion currently ignores case in identifiers, and stores them internally as upper case values. Quoted identifiers are also currently unsupported.

storesMixedCaseIdentifiers

public boolean storesMixedCaseIdentifiers()
Returns false, since Axion currently ignores case in identifiers, and stores them internally as upper case values.

storesMixedCaseQuotedIdentifiers

public boolean storesMixedCaseQuotedIdentifiers()
Returns false, since Axion currently ignores case in identifiers, and stores them internally as upper case values.

storesUpperCaseIdentifiers

public boolean storesUpperCaseIdentifiers()
Returns true, since Axion currently ignores case in identifiers, and stores them internally as upper case values.

storesUpperCaseQuotedIdentifiers

public boolean storesUpperCaseQuotedIdentifiers()
Returns true.

supportsAlterTableWithAddColumn

public boolean supportsAlterTableWithAddColumn()
Returns true as this feature is currently supported.

supportsAlterTableWithDropColumn

public boolean supportsAlterTableWithDropColumn()
Returns false as this feature is currently not supported.

supportsANSI92EntryLevelSQL

public boolean supportsANSI92EntryLevelSQL()
Supported.

supportsANSI92FullSQL

public boolean supportsANSI92FullSQL()
Currently not supported.

supportsANSI92IntermediateSQL

public boolean supportsANSI92IntermediateSQL()
Currently not supported.

supportsBatchUpdates

public boolean supportsBatchUpdates()
Returns true, since Axion supports addBatch,clearBatch and executeBatch.

supportsCatalogsInDataManipulation

public boolean supportsCatalogsInDataManipulation()
Returns false as this feature is currently not supported.

supportsCatalogsInIndexDefinitions

public boolean supportsCatalogsInIndexDefinitions()
Returns false as this feature is currently not supported.

supportsCatalogsInPrivilegeDefinitions

public boolean supportsCatalogsInPrivilegeDefinitions()
Returns false as this feature is currently not supported.

supportsCatalogsInProcedureCalls

public boolean supportsCatalogsInProcedureCalls()
Returns false as this feature is currently not supported.

supportsCatalogsInTableDefinitions

public boolean supportsCatalogsInTableDefinitions()
Returns false as this feature is currently not supported.

supportsColumnAliasing

public boolean supportsColumnAliasing()
Returns true, since Axion supports column aliasing.

supportsConvert

public boolean supportsConvert()
Returns true; use CAST(col AS type)

supportsConvert

public boolean supportsConvert(int fromType, int toType)
Returns false as this feature is currently not supported.

supportsCoreSQLGrammar

public boolean supportsCoreSQLGrammar()
Currently not supported.

supportsCorrelatedSubqueries

public boolean supportsCorrelatedSubqueries()
Returns true.

supportsDataDefinitionAndDataManipulationTransactions

public boolean supportsDataDefinitionAndDataManipulationTransactions()
Returns false, since Axion currently doesn't treat Data Definition Language (DDL) statements like CREATE or DROP transactionally.

supportsDataManipulationTransactionsOnly

public boolean supportsDataManipulationTransactionsOnly()
Returns true.

supportsDifferentTableCorrelationNames

public boolean supportsDifferentTableCorrelationNames()
Returns true as Axion supports table aliasing.

supportsExpressionsInOrderBy

public boolean supportsExpressionsInOrderBy()
Returns true.

supportsExtendedSQLGrammar

public boolean supportsExtendedSQLGrammar()
Currently not supported.

supportsFullOuterJoins

public boolean supportsFullOuterJoins()
Returns false.

supportsGetGeneratedKeys

public boolean supportsGetGeneratedKeys()
Currently always false.

supportsGroupBy

public boolean supportsGroupBy()
Is some form of "GROUP BY" clause supported? Returns true

supportsGroupByBeyondSelect

public boolean supportsGroupByBeyondSelect()
Can a "GROUP BY" clause add columns not in the SELECT provided it specifies all the columns in the SELECT? Returns true

supportsGroupByUnrelated

public boolean supportsGroupByUnrelated()
Can a "GROUP BY" clause use columns not in the SELECT? Returns true

supportsIntegrityEnhancementFacility

public boolean supportsIntegrityEnhancementFacility()
Currently not supported.

supportsLikeEscapeClause

public boolean supportsLikeEscapeClause()
Supported.

supportsLimitedOuterJoins

public boolean supportsLimitedOuterJoins()
Returns true.

supportsMinimumSQLGrammar

public boolean supportsMinimumSQLGrammar()
Returns 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]
   
  
 

supportsMixedCaseIdentifiers

public boolean supportsMixedCaseIdentifiers()
Returns false, since Axion currently ignores case in identifiers.

supportsMixedCaseQuotedIdentifiers

public boolean supportsMixedCaseQuotedIdentifiers()
Returns false, since Axion currently ignores case in identifiers.

supportsMultipleOpenResults

public boolean supportsMultipleOpenResults()
Currently always false.

supportsMultipleResultSets

public boolean supportsMultipleResultSets()
Returns false as this feature is currently unsupported.

supportsMultipleTransactions

public boolean supportsMultipleTransactions()
Returns true, Axion supports multiple transactions.

supportsNamedParameters

public boolean supportsNamedParameters()
Currently always false.

supportsNonNullableColumns

public boolean supportsNonNullableColumns()
Returns true, Axion supports NOT NULL constraints.

supportsOpenCursorsAcrossCommit

public boolean supportsOpenCursorsAcrossCommit()
Returns false. Closing a transaction will close any open ResultSets.

supportsOpenCursorsAcrossRollback

public boolean supportsOpenCursorsAcrossRollback()
Returns false. Closing a transaction will close any open ResultSets.

supportsOpenStatementsAcrossCommit

public boolean supportsOpenStatementsAcrossCommit()
Returns true. Statements remain valid accross a transaction boundary.

supportsOpenStatementsAcrossRollback

public boolean supportsOpenStatementsAcrossRollback()
Returns true. Statements remain valid accross a transaction boundary.

supportsOrderByUnrelated

public boolean supportsOrderByUnrelated()
Returns true, since Axion allows arbitrary columns in an ORDER BY.

supportsOuterJoins

public boolean supportsOuterJoins()
Returns true.

supportsPositionedDelete

public boolean supportsPositionedDelete()
Returns true since this feature is currently supported.

supportsPositionedUpdate

public boolean supportsPositionedUpdate()
Returns true since this feature is currently supported.

supportsResultSetConcurrency

public boolean supportsResultSetConcurrency(int type, int concurrency)
Returns 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

supportsResultSetHoldability

public boolean supportsResultSetHoldability(int code)

supportsResultSetType

public boolean supportsResultSetType(int type)
Returns 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

supportsSavepoints

public boolean supportsSavepoints()
Currently always false.

supportsSchemasInDataManipulation

public boolean supportsSchemasInDataManipulation()
Returns false as this feature is currently not supported.

supportsSchemasInIndexDefinitions

public boolean supportsSchemasInIndexDefinitions()
Returns false as this feature is currently not supported.

supportsSchemasInPrivilegeDefinitions

public boolean supportsSchemasInPrivilegeDefinitions()
Currently not supported.

supportsSchemasInProcedureCalls

public boolean supportsSchemasInProcedureCalls()
Returns false as this feature is currently not supported.

supportsSchemasInTableDefinitions

public boolean supportsSchemasInTableDefinitions()
Currently not supported.

supportsSelectForUpdate

public boolean supportsSelectForUpdate()
Returns false as this feature is currently not supported.

supportsStatementPooling

public boolean supportsStatementPooling()
Currently always false.

supportsStoredProcedures

public boolean supportsStoredProcedures()
Returns false as this feature is currently not supported.

supportsSubqueriesInComparisons

public boolean supportsSubqueriesInComparisons()
Returns true since you could use id = {sub-select}.

supportsSubqueriesInExists

public boolean supportsSubqueriesInExists()
Returns true

supportsSubqueriesInIns

public boolean supportsSubqueriesInIns()
Returns true

supportsSubqueriesInQuantifieds

public boolean supportsSubqueriesInQuantifieds()
Returns true as this feature is currently supported.

supportsTableCorrelationNames

public boolean supportsTableCorrelationNames()
Returns true as Axion supports table aliasing.

supportsTransactionIsolationLevel

public boolean supportsTransactionIsolationLevel(int level)
Returns true iff level is Connection#TRANSACTION_SERIALIZABLEsince Axion supports TRANSACTION_SERIALIZABLE transactions only.

supportsTransactions

public boolean supportsTransactions()
Returns true, since Axion supports transactions.

supportsUnion

public boolean supportsUnion()
Returns false since UNION queries are currently not supported..

supportsUnionAll

public boolean supportsUnionAll()
Returns false as this feature is currently not supported.

updatesAreDetected

public boolean updatesAreDetected(int type)
Retrieves whether or not a visible row update can be detected by calling the method ResultSet.rowUpdated. As ResultSet.rowUpdated is not supported, this method should return false.

Parameters: type the ResultSet type; one of ResultSet.TYPE_FORWARD_ONLY, ResultSet.TYPE_SCROLL_INSENSITIVE, or ResultSet.TYPE_SCROLL_SENSITIVE

Returns: false as Axion does not (yet) support rowUpdated()

Throws: SQLException if a database access error occurs

usesLocalFilePerTable

public boolean usesLocalFilePerTable()
Returns false, since the driver does not require local files

usesLocalFiles

public boolean usesLocalFiles()
Returns false, since the driver does not require local files