org.axiondb.jdbc
Class AxionDatabaseMetaData

java.lang.Object
  extended by org.axiondb.jdbc.AxionDatabaseMetaData
All Implemented Interfaces:
java.sql.DatabaseMetaData, java.sql.Wrapper

public class AxionDatabaseMetaData
extends java.lang.Object
implements java.sql.DatabaseMetaData

A DatabaseMetaDataimplementation.

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

Field Summary
 
Fields inherited from interface java.sql.DatabaseMetaData
attributeNoNulls, attributeNullable, attributeNullableUnknown, bestRowNotPseudo, bestRowPseudo, bestRowSession, bestRowTemporary, bestRowTransaction, bestRowUnknown, columnNoNulls, columnNullable, columnNullableUnknown, functionColumnIn, functionColumnInOut, functionColumnOut, functionColumnResult, functionColumnUnknown, functionNoNulls, functionNoTable, functionNullable, functionNullableUnknown, functionResultUnknown, functionReturn, functionReturnsTable, importedKeyCascade, importedKeyInitiallyDeferred, importedKeyInitiallyImmediate, importedKeyNoAction, importedKeyNotDeferrable, importedKeyRestrict, importedKeySetDefault, importedKeySetNull, procedureColumnIn, procedureColumnInOut, procedureColumnOut, procedureColumnResult, procedureColumnReturn, procedureColumnUnknown, procedureNoNulls, procedureNoResult, procedureNullable, procedureNullableUnknown, procedureResultUnknown, procedureReturnsResult, sqlStateSQL, sqlStateSQL99, sqlStateXOpen, tableIndexClustered, tableIndexHashed, tableIndexOther, tableIndexStatistic, typeNoNulls, typeNullable, typeNullableUnknown, typePredBasic, typePredChar, typePredNone, typeSearchable, versionColumnNotPseudo, versionColumnPseudo, versionColumnUnknown
 
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 autoCommitFailureClosesAllResultSets()
           
 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).
 java.sql.ResultSet getAttributes(java.lang.String arg0, java.lang.String arg1, java.lang.String arg2, java.lang.String arg3)
          Currently unsupported.
 java.sql.ResultSet getBestRowIdentifier(java.lang.String catalog, java.lang.String schema, java.lang.String table, int scope, boolean nullable)
          Currently not supported.
 java.sql.ResultSet getCatalogs()
          Supported.
 java.lang.String getCatalogSeparator()
          Currently not supported.
 java.lang.String getCatalogTerm()
          Currently not supported.
 java.sql.ResultSet getClientInfoProperties()
           
 java.sql.ResultSet getColumnPrivileges(java.lang.String catalog, java.lang.String schema, java.lang.String table, java.lang.String columnNamePattern)
          Currently not supported.
 java.sql.ResultSet getColumns(java.lang.String catalog, java.lang.String schemaPattern, java.lang.String tableNamePattern, java.lang.String columnNamePattern)
          Supported,
 java.sql.Connection getConnection()
          Returns my Connection.
 java.sql.ResultSet getCrossReference(java.lang.String primaryCatalog, java.lang.String primarySchema, java.lang.String primaryTable, java.lang.String foreignCatalog, java.lang.String foreignSchema, java.lang.String foreignTable)
          Currently not supported.
 int getDatabaseMajorVersion()
           
 int getDatabaseMinorVersion()
           
 java.lang.String getDatabaseProductName()
          Currently returns "AxionDB".
 java.lang.String getDatabaseProductVersion()
          Currently returns "1.0M1".
 int getDefaultTransactionIsolation()
          Returns Connection.TRANSACTION_SERIALIZABLE.
 int getDriverMajorVersion()
          Currently returns 0.
 int getDriverMinorVersion()
          Currently returns 1.
 java.lang.String getDriverName()
          Currently returns "Axion JDBC Driver".
 java.lang.String getDriverVersion()
          Currently returns "1.0M1".
 java.sql.ResultSet getExportedKeys(java.lang.String catalog, java.lang.String schema, java.lang.String table)
          Currently not supported.
 java.lang.String getExtraNameCharacters()
          Currently not supported.
 java.sql.ResultSet getFunctionColumns(java.lang.String arg0, java.lang.String arg1, java.lang.String arg2, java.lang.String arg3)
           
 java.sql.ResultSet getFunctions(java.lang.String arg0, java.lang.String arg1, java.lang.String arg2)
           
 java.lang.String getIdentifierQuoteString()
          Returns " as Axion now supports quoted identifiers to allow for escaping of reserved words for use as table or column identifiers.
 java.sql.ResultSet getImportedKeys(java.lang.String catalog, java.lang.String schema, java.lang.String table)
          Currently not supported.
 java.sql.ResultSet getIndexInfo(java.lang.String catalog, java.lang.String schema, java.lang.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 Integer.MAX_VALUE, the maximum number of columns Axion can manage in a single ORDER BY clause.
 int getMaxColumnsInSelect()
          Returns Integer.MAX_VALUE, the maximum number of columns Axion can manage in a single SELECT clause.
 int getMaxColumnsInTable()
          Returns 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 Integer.MAX_VALUE, the maximum number of tables Axion can manage in a single SELECT statement.
 int getMaxUserNameLength()
          Returns 0.
 java.lang.String getNumericFunctions()
          Currently not supported.
 java.sql.ResultSet getPrimaryKeys(java.lang.String catalog, java.lang.String schema, java.lang.String table)
          Currently not supported.
 java.sql.ResultSet getProcedureColumns(java.lang.String catalog, java.lang.String schemaPattern, java.lang.String procedureNamePattern, java.lang.String columnNamePattern)
          Currently not supported.
 java.sql.ResultSet getProcedures(java.lang.String catalog, java.lang.String schemaPattern, java.lang.String procedureNamePattern)
          Currently not supported.
 java.lang.String getProcedureTerm()
          Currently not supported.
 int getResultSetHoldability()
           
 java.sql.RowIdLifetime getRowIdLifetime()
           
 java.sql.ResultSet getSchemas()
          Supported.
 java.sql.ResultSet getSchemas(java.lang.String arg0, java.lang.String arg1)
           
 java.lang.String getSchemaTerm()
          Currently not supported.
 java.lang.String getSearchStringEscape()
          Currently not supported.
 java.lang.String getSQLKeywords()
          Currently not supported.
 int getSQLStateType()
          Currently unsupported.
 java.lang.String getStringFunctions()
          Currently not supported.
 java.sql.ResultSet getSuperTables(java.lang.String arg0, java.lang.String arg1, java.lang.String arg2)
          Always empty, super tables are currently not supported.
 java.sql.ResultSet getSuperTypes(java.lang.String arg0, java.lang.String arg1, java.lang.String arg2)
          Always empty, super types are currently not supported.
 java.lang.String getSystemFunctions()
          Currently not supported.
 java.sql.ResultSet getTablePrivileges(java.lang.String catalog, java.lang.String schemaPattern, java.lang.String tableNamePattern)
          Currently not supported.
 java.sql.ResultSet getTables(java.lang.String catalog, java.lang.String schemaPattern, java.lang.String tableNamePattern, java.lang.String[] types)
          Supported.
 java.sql.ResultSet getTableTypes()
          Supported.
 java.lang.String getTimeDateFunctions()
          Currently not supported.
 java.sql.ResultSet getTypeInfo()
          Supported.
 java.sql.ResultSet getUDTs(java.lang.String catalog, java.lang.String schemaPattern, java.lang.String typeNamePattern, int[] types)
          Currently not supported.
 java.lang.String getURL()
          Returns the connect string used to establish my Connection.
 java.lang.String getUserName()
          Currently returns null.
 java.sql.ResultSet getVersionColumns(java.lang.String catalog, java.lang.String schema, java.lang.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 isWrapperFor(java.lang.Class<?> arg0)
           
 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? Returns true
 boolean supportsGroupByBeyondSelect()
          Can a "GROUP BY" clause add columns not in the SELECT provided it specifies all the columns in the SELECT? Returns true
 boolean supportsGroupByUnrelated()
          Can a "GROUP BY" clause use columns not in the SELECT? Returns true
 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 supportsStoredFunctionsUsingCallSyntax()
           
 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.
<T> T
unwrap(java.lang.Class<T> arg0)
           
 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
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AxionDatabaseMetaData

public AxionDatabaseMetaData(AxionConnection conn,
                             Database db)
Method Detail

getDatabaseProductName

public java.lang.String getDatabaseProductName()
                                        throws java.sql.SQLException
Currently returns "AxionDB".

Specified by:
getDatabaseProductName in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

getDatabaseProductVersion

public java.lang.String getDatabaseProductVersion()
                                           throws java.sql.SQLException
Currently returns "1.0M1".

Specified by:
getDatabaseProductVersion in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

getDriverName

public java.lang.String getDriverName()
                               throws java.sql.SQLException
Currently returns "Axion JDBC Driver".

Specified by:
getDriverName in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

getDriverVersion

public java.lang.String getDriverVersion()
                                  throws java.sql.SQLException
Currently returns "1.0M1".

Specified by:
getDriverVersion in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

getDriverMajorVersion

public int getDriverMajorVersion()
Currently returns 0.

Specified by:
getDriverMajorVersion in interface java.sql.DatabaseMetaData

getDriverMinorVersion

public int getDriverMinorVersion()
Currently returns 1.

Specified by:
getDriverMinorVersion in interface java.sql.DatabaseMetaData

getUserName

public java.lang.String getUserName()
                             throws java.sql.SQLException
Currently returns null.

Specified by:
getUserName in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

allProceduresAreCallable

public boolean allProceduresAreCallable()
                                 throws java.sql.SQLException
Currently returns false.

Specified by:
allProceduresAreCallable in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

allTablesAreSelectable

public boolean allTablesAreSelectable()
                               throws java.sql.SQLException
Returns true, since all tables are indeed selectable.

Specified by:
allTablesAreSelectable in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

isReadOnly

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

Specified by:
isReadOnly in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

supportsMixedCaseIdentifiers

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

Specified by:
supportsMixedCaseIdentifiers in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

supportsColumnAliasing

public boolean supportsColumnAliasing()
                               throws java.sql.SQLException
Returns true, since Axion supports column aliasing.

Specified by:
supportsColumnAliasing in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

supportsBatchUpdates

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

Specified by:
supportsBatchUpdates in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

getConnection

public java.sql.Connection getConnection()
                                  throws java.sql.SQLException
Returns my Connection.

Specified by:
getConnection in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

nullsAreSortedHigh

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

Specified by:
nullsAreSortedHigh in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

nullsAreSortedLow

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

Specified by:
nullsAreSortedLow in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException
See Also:
nullsAreSortedHigh()

nullsAreSortedAtStart

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

Specified by:
nullsAreSortedAtStart in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException
See Also:
nullsAreSortedHigh()

nullsAreSortedAtEnd

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

Specified by:
nullsAreSortedAtEnd in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException
See Also:
nullsAreSortedHigh()

storesLowerCaseIdentifiers

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

Specified by:
storesLowerCaseIdentifiers in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

supportsMixedCaseQuotedIdentifiers

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

Specified by:
supportsMixedCaseQuotedIdentifiers in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

storesMixedCaseQuotedIdentifiers

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

Specified by:
storesMixedCaseQuotedIdentifiers in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

storesUpperCaseIdentifiers

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

Specified by:
storesUpperCaseIdentifiers in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

storesLowerCaseQuotedIdentifiers

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

Specified by:
storesLowerCaseQuotedIdentifiers in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

storesMixedCaseIdentifiers

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

Specified by:
storesMixedCaseIdentifiers in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

getMaxRowSize

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

Specified by:
getMaxRowSize in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

getMaxStatementLength

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

Specified by:
getMaxStatementLength in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

getMaxConnections

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

Specified by:
getMaxConnections in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

getMaxColumnNameLength

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

Specified by:
getMaxColumnNameLength in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

getMaxColumnsInIndex

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

Specified by:
getMaxColumnsInIndex in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

getMaxTablesInSelect

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

Specified by:
getMaxTablesInSelect in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

getMaxColumnsInOrderBy

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

Specified by:
getMaxColumnsInOrderBy in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

getMaxColumnsInSelect

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

Specified by:
getMaxColumnsInSelect in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

getMaxColumnsInTable

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

Specified by:
getMaxColumnsInTable in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

getMaxColumnsInGroupBy

public int getMaxColumnsInGroupBy()
                           throws java.sql.SQLException
Returns 0.

Specified by:
getMaxColumnsInGroupBy in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

supportsUnion

public boolean supportsUnion()
                      throws java.sql.SQLException
Returns false since UNION queries are currently not supported..

Specified by:
supportsUnion in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

getMaxSchemaNameLength

public int getMaxSchemaNameLength()
                           throws java.sql.SQLException
Returns 0.

Specified by:
getMaxSchemaNameLength in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

getMaxStatements

public int getMaxStatements()
                     throws java.sql.SQLException
Returns 0.

Specified by:
getMaxStatements in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

getMaxTableNameLength

public int getMaxTableNameLength()
                          throws java.sql.SQLException
Returns Integer.MAX_VALUE.

Specified by:
getMaxTableNameLength in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

getMaxUserNameLength

public int getMaxUserNameLength()
                         throws java.sql.SQLException
Returns 0.

Specified by:
getMaxUserNameLength in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

getMaxBinaryLiteralLength

public int getMaxBinaryLiteralLength()
                              throws java.sql.SQLException
Returns 0.

Specified by:
getMaxBinaryLiteralLength in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

getMaxCharLiteralLength

public int getMaxCharLiteralLength()
                            throws java.sql.SQLException
Returns 0.

Specified by:
getMaxCharLiteralLength in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

getMaxIndexLength

public int getMaxIndexLength()
                      throws java.sql.SQLException
Returns 0.

Specified by:
getMaxIndexLength in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

getMaxProcedureNameLength

public int getMaxProcedureNameLength()
                              throws java.sql.SQLException
Returns 0.

Specified by:
getMaxProcedureNameLength in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

getMaxCatalogNameLength

public int getMaxCatalogNameLength()
                            throws java.sql.SQLException
Returns 0.

Specified by:
getMaxCatalogNameLength in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

getDefaultTransactionIsolation

public int getDefaultTransactionIsolation()
                                   throws java.sql.SQLException
Returns Connection.TRANSACTION_SERIALIZABLE.

Specified by:
getDefaultTransactionIsolation in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

getURL

public java.lang.String getURL()
                        throws java.sql.SQLException
Returns the connect string used to establish my Connection.

Specified by:
getURL in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

supportsSelectForUpdate

public boolean supportsSelectForUpdate()
                                throws java.sql.SQLException
Returns false as this feature is currently not supported.

Specified by:
supportsSelectForUpdate in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

supportsStoredProcedures

public boolean supportsStoredProcedures()
                                 throws java.sql.SQLException
Returns false as this feature is currently not supported.

Specified by:
supportsStoredProcedures in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

supportsSubqueriesInComparisons

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

Specified by:
supportsSubqueriesInComparisons in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

supportsSubqueriesInExists

public boolean supportsSubqueriesInExists()
                                   throws java.sql.SQLException
Returns true

Specified by:
supportsSubqueriesInExists in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

supportsSubqueriesInIns

public boolean supportsSubqueriesInIns()
                                throws java.sql.SQLException
Returns true

Specified by:
supportsSubqueriesInIns in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

supportsSubqueriesInQuantifieds

public boolean supportsSubqueriesInQuantifieds()
                                        throws java.sql.SQLException
Returns true as this feature is currently supported.

Specified by:
supportsSubqueriesInQuantifieds in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

supportsAlterTableWithDropColumn

public boolean supportsAlterTableWithDropColumn()
                                         throws java.sql.SQLException
Returns false as this feature is currently not supported.

Specified by:
supportsAlterTableWithDropColumn in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

supportsAlterTableWithAddColumn

public boolean supportsAlterTableWithAddColumn()
                                        throws java.sql.SQLException
Returns true as this feature is currently supported.

Specified by:
supportsAlterTableWithAddColumn in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

supportsSchemasInDataManipulation

public boolean supportsSchemasInDataManipulation()
                                          throws java.sql.SQLException
Returns false as this feature is currently not supported.

Specified by:
supportsSchemasInDataManipulation in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

supportsSchemasInProcedureCalls

public boolean supportsSchemasInProcedureCalls()
                                        throws java.sql.SQLException
Returns false as this feature is currently not supported.

Specified by:
supportsSchemasInProcedureCalls in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

supportsSchemasInIndexDefinitions

public boolean supportsSchemasInIndexDefinitions()
                                          throws java.sql.SQLException
Returns false as this feature is currently not supported.

Specified by:
supportsSchemasInIndexDefinitions in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

supportsCatalogsInDataManipulation

public boolean supportsCatalogsInDataManipulation()
                                           throws java.sql.SQLException
Returns false as this feature is currently not supported.

Specified by:
supportsCatalogsInDataManipulation in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

supportsCatalogsInProcedureCalls

public boolean supportsCatalogsInProcedureCalls()
                                         throws java.sql.SQLException
Returns false as this feature is currently not supported.

Specified by:
supportsCatalogsInProcedureCalls in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

supportsCatalogsInTableDefinitions

public boolean supportsCatalogsInTableDefinitions()
                                           throws java.sql.SQLException
Returns false as this feature is currently not supported.

Specified by:
supportsCatalogsInTableDefinitions in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

supportsCatalogsInIndexDefinitions

public boolean supportsCatalogsInIndexDefinitions()
                                           throws java.sql.SQLException
Returns false as this feature is currently not supported.

Specified by:
supportsCatalogsInIndexDefinitions in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

supportsCatalogsInPrivilegeDefinitions

public boolean supportsCatalogsInPrivilegeDefinitions()
                                               throws java.sql.SQLException
Returns false as this feature is currently not supported.

Specified by:
supportsCatalogsInPrivilegeDefinitions in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

supportsGroupBy

public boolean supportsGroupBy()
                        throws java.sql.SQLException
Is some form of "GROUP BY" clause supported? Returns true

Specified by:
supportsGroupBy in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

supportsGroupByUnrelated

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

Specified by:
supportsGroupByUnrelated in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

supportsGroupByBeyondSelect

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

Specified by:
supportsGroupByBeyondSelect in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

supportsOuterJoins

public boolean supportsOuterJoins()
                           throws java.sql.SQLException
Returns true.

Specified by:
supportsOuterJoins in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

supportsFullOuterJoins

public boolean supportsFullOuterJoins()
                               throws java.sql.SQLException
Returns false.

Specified by:
supportsFullOuterJoins in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

supportsLimitedOuterJoins

public boolean supportsLimitedOuterJoins()
                                  throws java.sql.SQLException
Returns true.

Specified by:
supportsLimitedOuterJoins in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

supportsOrderByUnrelated

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

Specified by:
supportsOrderByUnrelated in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

supportsTransactions

public boolean supportsTransactions()
                             throws java.sql.SQLException
Returns true, since Axion supports transactions.

Specified by:
supportsTransactions in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

supportsTransactionIsolationLevel

public boolean supportsTransactionIsolationLevel(int level)
                                          throws java.sql.SQLException
Returns true iff level is Connection.TRANSACTION_SERIALIZABLEsince Axion supports TRANSACTION_SERIALIZABLE transactions only.

Specified by:
supportsTransactionIsolationLevel in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

supportsConvert

public boolean supportsConvert()
                        throws java.sql.SQLException
Returns true; use CAST(col AS type)

Specified by:
supportsConvert in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

supportsConvert

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

Specified by:
supportsConvert in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

supportsUnionAll

public boolean supportsUnionAll()
                         throws java.sql.SQLException
Returns false as this feature is currently not supported.

Specified by:
supportsUnionAll in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

supportsTableCorrelationNames

public boolean supportsTableCorrelationNames()
                                      throws java.sql.SQLException
Returns true as Axion supports table aliasing.

Specified by:
supportsTableCorrelationNames in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

supportsDifferentTableCorrelationNames

public boolean supportsDifferentTableCorrelationNames()
                                               throws java.sql.SQLException
Returns true as Axion supports table aliasing.

Specified by:
supportsDifferentTableCorrelationNames in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

storesUpperCaseQuotedIdentifiers

public boolean storesUpperCaseQuotedIdentifiers()
                                         throws java.sql.SQLException
Returns true.

Specified by:
storesUpperCaseQuotedIdentifiers in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

supportsMinimumSQLGrammar

public boolean supportsMinimumSQLGrammar()
                                  throws java.sql.SQLException
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]
   
  
 

Specified by:
supportsMinimumSQLGrammar in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

nullPlusNonNullIsNull

public boolean nullPlusNonNullIsNull()
                              throws java.sql.SQLException
Returns true.

Specified by:
nullPlusNonNullIsNull in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

getColumns

public java.sql.ResultSet getColumns(java.lang.String catalog,
                                     java.lang.String schemaPattern,
                                     java.lang.String tableNamePattern,
                                     java.lang.String columnNamePattern)
                              throws java.sql.SQLException
Supported,

Specified by:
getColumns in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

getTables

public java.sql.ResultSet getTables(java.lang.String catalog,
                                    java.lang.String schemaPattern,
                                    java.lang.String tableNamePattern,
                                    java.lang.String[] types)
                             throws java.sql.SQLException
Supported.

Specified by:
getTables in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

getSchemas

public java.sql.ResultSet getSchemas()
                              throws java.sql.SQLException
Supported.

Specified by:
getSchemas in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

getCatalogs

public java.sql.ResultSet getCatalogs()
                               throws java.sql.SQLException
Supported.

Specified by:
getCatalogs in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

getTableTypes

public java.sql.ResultSet getTableTypes()
                                 throws java.sql.SQLException
Supported.

Specified by:
getTableTypes in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

getTypeInfo

public java.sql.ResultSet getTypeInfo()
                               throws java.sql.SQLException
Supported.

Specified by:
getTypeInfo in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

supportsMultipleResultSets

public boolean supportsMultipleResultSets()
                                   throws java.sql.SQLException
Returns false as this feature is currently unsupported.

Specified by:
supportsMultipleResultSets in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

supportsMultipleTransactions

public boolean supportsMultipleTransactions()
                                     throws java.sql.SQLException
Returns true, Axion supports multiple transactions.

Specified by:
supportsMultipleTransactions in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

supportsNonNullableColumns

public boolean supportsNonNullableColumns()
                                   throws java.sql.SQLException
Returns true, Axion supports NOT NULL constraints.

Specified by:
supportsNonNullableColumns in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

supportsDataManipulationTransactionsOnly

public boolean supportsDataManipulationTransactionsOnly()
                                                 throws java.sql.SQLException
Returns true.

Specified by:
supportsDataManipulationTransactionsOnly in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

supportsOpenCursorsAcrossCommit

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

Specified by:
supportsOpenCursorsAcrossCommit in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

supportsOpenCursorsAcrossRollback

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

Specified by:
supportsOpenCursorsAcrossRollback in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

supportsOpenStatementsAcrossCommit

public boolean supportsOpenStatementsAcrossCommit()
                                           throws java.sql.SQLException
Returns true. Statements remain valid accross a transaction boundary.

Specified by:
supportsOpenStatementsAcrossCommit in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

supportsOpenStatementsAcrossRollback

public boolean supportsOpenStatementsAcrossRollback()
                                             throws java.sql.SQLException
Returns true. Statements remain valid accross a transaction boundary.

Specified by:
supportsOpenStatementsAcrossRollback in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

supportsDataDefinitionAndDataManipulationTransactions

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

Specified by:
supportsDataDefinitionAndDataManipulationTransactions in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

dataDefinitionCausesTransactionCommit

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

Specified by:
dataDefinitionCausesTransactionCommit in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

dataDefinitionIgnoredInTransactions

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

Specified by:
dataDefinitionIgnoredInTransactions in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

doesMaxRowSizeIncludeBlobs

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

Specified by:
doesMaxRowSizeIncludeBlobs in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

usesLocalFiles

public boolean usesLocalFiles()
                       throws java.sql.SQLException
Returns false, since the driver does not require local files

Specified by:
usesLocalFiles in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

usesLocalFilePerTable

public boolean usesLocalFilePerTable()
                              throws java.sql.SQLException
Returns false, since the driver does not require local files

Specified by:
usesLocalFilePerTable in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

supportsExpressionsInOrderBy

public boolean supportsExpressionsInOrderBy()
                                     throws java.sql.SQLException
Returns true.

Specified by:
supportsExpressionsInOrderBy in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

supportsCorrelatedSubqueries

public boolean supportsCorrelatedSubqueries()
                                     throws java.sql.SQLException
Returns true.

Specified by:
supportsCorrelatedSubqueries in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

supportsPositionedDelete

public boolean supportsPositionedDelete()
                                 throws java.sql.SQLException
Returns true since this feature is currently supported.

Specified by:
supportsPositionedDelete in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

supportsPositionedUpdate

public boolean supportsPositionedUpdate()
                                 throws java.sql.SQLException
Returns true since this feature is currently supported.

Specified by:
supportsPositionedUpdate in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

getMaxCursorNameLength

public int getMaxCursorNameLength()
                           throws java.sql.SQLException
Returns 0 since named cursors are not supported.

Specified by:
getMaxCursorNameLength in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

getIdentifierQuoteString

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

Specified by:
getIdentifierQuoteString in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

supportsResultSetConcurrency

public boolean supportsResultSetConcurrency(int type,
                                            int concurrency)
                                     throws java.sql.SQLException
Returns true iff type is supported and concurrency is ResultSet.CONCUR_READ_ONLYor ResultSet.CONCUR_UPDATABLE.

Specified by:
supportsResultSetConcurrency in interface java.sql.DatabaseMetaData
Parameters:
type - ResultSet type to test
concurrency - ResultSet concurrency to test
Returns:
true if combination of type and concurrency is supported; false otherwise
Throws:
java.sql.SQLException

supportsResultSetType

public boolean supportsResultSetType(int type)
                              throws java.sql.SQLException
Returns true iff type is ResultSet.TYPE_FORWARD_ONLY or ResultSet.TYPE_SCROLL_SENSITIVE.

Specified by:
supportsResultSetType in interface java.sql.DatabaseMetaData
Parameters:
type - ResultSet type to test
Returns:
true if type is supported; false otherwise
Throws:
java.sql.SQLException

supportsANSI92EntryLevelSQL

public boolean supportsANSI92EntryLevelSQL()
                                    throws java.sql.SQLException
Supported.

Specified by:
supportsANSI92EntryLevelSQL in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

supportsLikeEscapeClause

public boolean supportsLikeEscapeClause()
                                 throws java.sql.SQLException
Supported.

Specified by:
supportsLikeEscapeClause in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

supportsCoreSQLGrammar

public boolean supportsCoreSQLGrammar()
                               throws java.sql.SQLException
Currently not supported.

Specified by:
supportsCoreSQLGrammar in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

getPrimaryKeys

public java.sql.ResultSet getPrimaryKeys(java.lang.String catalog,
                                         java.lang.String schema,
                                         java.lang.String table)
                                  throws java.sql.SQLException
Currently not supported.

Specified by:
getPrimaryKeys in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

getIndexInfo

public java.sql.ResultSet getIndexInfo(java.lang.String catalog,
                                       java.lang.String schema,
                                       java.lang.String table,
                                       boolean unique,
                                       boolean approximate)
                                throws java.sql.SQLException
Partially supported.

Specified by:
getIndexInfo in interface java.sql.DatabaseMetaData
Returns:
ResultSet containing index information as outlined in the JDBC API
Throws:
java.sql.SQLException

getNumericFunctions

public java.lang.String getNumericFunctions()
                                     throws java.sql.SQLException
Currently not supported.

Specified by:
getNumericFunctions in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

getSystemFunctions

public java.lang.String getSystemFunctions()
                                    throws java.sql.SQLException
Currently not supported.

Specified by:
getSystemFunctions in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

getSQLKeywords

public java.lang.String getSQLKeywords()
                                throws java.sql.SQLException
Currently not supported.

Specified by:
getSQLKeywords in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

getSearchStringEscape

public java.lang.String getSearchStringEscape()
                                       throws java.sql.SQLException
Currently not supported.

Specified by:
getSearchStringEscape in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

getStringFunctions

public java.lang.String getStringFunctions()
                                    throws java.sql.SQLException
Currently not supported.

Specified by:
getStringFunctions in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

getTimeDateFunctions

public java.lang.String getTimeDateFunctions()
                                      throws java.sql.SQLException
Currently not supported.

Specified by:
getTimeDateFunctions in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

getExtraNameCharacters

public java.lang.String getExtraNameCharacters()
                                        throws java.sql.SQLException
Currently not supported.

Specified by:
getExtraNameCharacters in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

supportsSchemasInTableDefinitions

public boolean supportsSchemasInTableDefinitions()
                                          throws java.sql.SQLException
Currently not supported.

Specified by:
supportsSchemasInTableDefinitions in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

supportsExtendedSQLGrammar

public boolean supportsExtendedSQLGrammar()
                                   throws java.sql.SQLException
Currently not supported.

Specified by:
supportsExtendedSQLGrammar in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

supportsSchemasInPrivilegeDefinitions

public boolean supportsSchemasInPrivilegeDefinitions()
                                              throws java.sql.SQLException
Currently not supported.

Specified by:
supportsSchemasInPrivilegeDefinitions in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

supportsANSI92IntermediateSQL

public boolean supportsANSI92IntermediateSQL()
                                      throws java.sql.SQLException
Currently not supported.

Specified by:
supportsANSI92IntermediateSQL in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

supportsANSI92FullSQL

public boolean supportsANSI92FullSQL()
                              throws java.sql.SQLException
Currently not supported.

Specified by:
supportsANSI92FullSQL in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

supportsIntegrityEnhancementFacility

public boolean supportsIntegrityEnhancementFacility()
                                             throws java.sql.SQLException
Currently not supported.

Specified by:
supportsIntegrityEnhancementFacility in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

getSchemaTerm

public java.lang.String getSchemaTerm()
                               throws java.sql.SQLException
Currently not supported.

Specified by:
getSchemaTerm in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

getProcedureTerm

public java.lang.String getProcedureTerm()
                                  throws java.sql.SQLException
Currently not supported.

Specified by:
getProcedureTerm in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

getCatalogTerm

public java.lang.String getCatalogTerm()
                                throws java.sql.SQLException
Currently not supported.

Specified by:
getCatalogTerm in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

isCatalogAtStart

public boolean isCatalogAtStart()
                         throws java.sql.SQLException
Currently not supported.

Specified by:
isCatalogAtStart in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

getCatalogSeparator

public java.lang.String getCatalogSeparator()
                                     throws java.sql.SQLException
Currently not supported.

Specified by:
getCatalogSeparator in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

getProcedures

public java.sql.ResultSet getProcedures(java.lang.String catalog,
                                        java.lang.String schemaPattern,
                                        java.lang.String procedureNamePattern)
                                 throws java.sql.SQLException
Currently not supported.

Specified by:
getProcedures in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

getProcedureColumns

public java.sql.ResultSet getProcedureColumns(java.lang.String catalog,
                                              java.lang.String schemaPattern,
                                              java.lang.String procedureNamePattern,
                                              java.lang.String columnNamePattern)
                                       throws java.sql.SQLException
Currently not supported.

Specified by:
getProcedureColumns in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

getColumnPrivileges

public java.sql.ResultSet getColumnPrivileges(java.lang.String catalog,
                                              java.lang.String schema,
                                              java.lang.String table,
                                              java.lang.String columnNamePattern)
                                       throws java.sql.SQLException
Currently not supported.

Specified by:
getColumnPrivileges in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

getTablePrivileges

public java.sql.ResultSet getTablePrivileges(java.lang.String catalog,
                                             java.lang.String schemaPattern,
                                             java.lang.String tableNamePattern)
                                      throws java.sql.SQLException
Currently not supported.

Specified by:
getTablePrivileges in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

getBestRowIdentifier

public java.sql.ResultSet getBestRowIdentifier(java.lang.String catalog,
                                               java.lang.String schema,
                                               java.lang.String table,
                                               int scope,
                                               boolean nullable)
                                        throws java.sql.SQLException
Currently not supported.

Specified by:
getBestRowIdentifier in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

getVersionColumns

public java.sql.ResultSet getVersionColumns(java.lang.String catalog,
                                            java.lang.String schema,
                                            java.lang.String table)
                                     throws java.sql.SQLException
Currently not supported.

Specified by:
getVersionColumns in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

getImportedKeys

public java.sql.ResultSet getImportedKeys(java.lang.String catalog,
                                          java.lang.String schema,
                                          java.lang.String table)
                                   throws java.sql.SQLException
Currently not supported.

Specified by:
getImportedKeys in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

getExportedKeys

public java.sql.ResultSet getExportedKeys(java.lang.String catalog,
                                          java.lang.String schema,
                                          java.lang.String table)
                                   throws java.sql.SQLException
Currently not supported.

Specified by:
getExportedKeys in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

getCrossReference

public java.sql.ResultSet getCrossReference(java.lang.String primaryCatalog,
                                            java.lang.String primarySchema,
                                            java.lang.String primaryTable,
                                            java.lang.String foreignCatalog,
                                            java.lang.String foreignSchema,
                                            java.lang.String foreignTable)
                                     throws java.sql.SQLException
Currently not supported.

Specified by:
getCrossReference in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

ownUpdatesAreVisible

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

Specified by:
ownUpdatesAreVisible in interface java.sql.DatabaseMetaData
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:
java.sql.SQLException - if a database access error occurs

ownDeletesAreVisible

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

Specified by:
ownDeletesAreVisible in interface java.sql.DatabaseMetaData
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:
java.sql.SQLException - if a database access error occurs

ownInsertsAreVisible

public boolean ownInsertsAreVisible(int type)
                             throws java.sql.SQLException
Currently supported.

Specified by:
ownInsertsAreVisible in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

othersUpdatesAreVisible

public boolean othersUpdatesAreVisible(int type)
                                throws java.sql.SQLException
Currently not supported.

Specified by:
othersUpdatesAreVisible in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

othersDeletesAreVisible

public boolean othersDeletesAreVisible(int type)
                                throws java.sql.SQLException
Currently not supported.

Specified by:
othersDeletesAreVisible in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

othersInsertsAreVisible

public boolean othersInsertsAreVisible(int type)
                                throws java.sql.SQLException
Currently not supported.

Specified by:
othersInsertsAreVisible in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

updatesAreDetected

public boolean updatesAreDetected(int type)
                           throws java.sql.SQLException
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.

Specified by:
updatesAreDetected in interface java.sql.DatabaseMetaData
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:
java.sql.SQLException - if a database access error occurs

deletesAreDetected

public boolean deletesAreDetected(int type)
                           throws java.sql.SQLException
Currently not supported.

Specified by:
deletesAreDetected in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

insertsAreDetected

public boolean insertsAreDetected(int type)
                           throws java.sql.SQLException
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.

Specified by:
insertsAreDetected in interface java.sql.DatabaseMetaData
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:
java.sql.SQLException - if a database access error occurs

getUDTs

public java.sql.ResultSet getUDTs(java.lang.String catalog,
                                  java.lang.String schemaPattern,
                                  java.lang.String typeNamePattern,
                                  int[] types)
                           throws java.sql.SQLException
Currently not supported.

Specified by:
getUDTs in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

getDatabaseMajorVersion

public int getDatabaseMajorVersion()
                            throws java.sql.SQLException
Specified by:
getDatabaseMajorVersion in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

getDatabaseMinorVersion

public int getDatabaseMinorVersion()
                            throws java.sql.SQLException
Specified by:
getDatabaseMinorVersion in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

getSuperTables

public java.sql.ResultSet getSuperTables(java.lang.String arg0,
                                         java.lang.String arg1,
                                         java.lang.String arg2)
                                  throws java.sql.SQLException
Always empty, super tables are currently not supported.

Specified by:
getSuperTables in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

getSuperTypes

public java.sql.ResultSet getSuperTypes(java.lang.String arg0,
                                        java.lang.String arg1,
                                        java.lang.String arg2)
                                 throws java.sql.SQLException
Always empty, super types are currently not supported.

Specified by:
getSuperTypes in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

supportsGetGeneratedKeys

public boolean supportsGetGeneratedKeys()
                                 throws java.sql.SQLException
Currently always false.

Specified by:
supportsGetGeneratedKeys in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

supportsMultipleOpenResults

public boolean supportsMultipleOpenResults()
                                    throws java.sql.SQLException
Currently always false.

Specified by:
supportsMultipleOpenResults in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

supportsNamedParameters

public boolean supportsNamedParameters()
                                throws java.sql.SQLException
Currently always false.

Specified by:
supportsNamedParameters in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

supportsSavepoints

public boolean supportsSavepoints()
                           throws java.sql.SQLException
Currently always false.

Specified by:
supportsSavepoints in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

supportsStatementPooling

public boolean supportsStatementPooling()
                                 throws java.sql.SQLException
Currently always false.

Specified by:
supportsStatementPooling in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

getResultSetHoldability

public int getResultSetHoldability()
                            throws java.sql.SQLException
Specified by:
getResultSetHoldability in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

supportsResultSetHoldability

public boolean supportsResultSetHoldability(int code)
                                     throws java.sql.SQLException
Specified by:
supportsResultSetHoldability in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

getAttributes

public java.sql.ResultSet getAttributes(java.lang.String arg0,
                                        java.lang.String arg1,
                                        java.lang.String arg2,
                                        java.lang.String arg3)
                                 throws java.sql.SQLException
Currently unsupported.

Specified by:
getAttributes in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

getJDBCMajorVersion

public int getJDBCMajorVersion()
                        throws java.sql.SQLException
Supported.

Specified by:
getJDBCMajorVersion in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

getJDBCMinorVersion

public int getJDBCMinorVersion()
                        throws java.sql.SQLException
Supported.

Specified by:
getJDBCMinorVersion in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

getSQLStateType

public int getSQLStateType()
                    throws java.sql.SQLException
Currently unsupported.

Specified by:
getSQLStateType in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

locatorsUpdateCopy

public boolean locatorsUpdateCopy()
                           throws java.sql.SQLException
Currently unsupported.

Specified by:
locatorsUpdateCopy in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

autoCommitFailureClosesAllResultSets

public boolean autoCommitFailureClosesAllResultSets()
                                             throws java.sql.SQLException
Specified by:
autoCommitFailureClosesAllResultSets in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

getClientInfoProperties

public java.sql.ResultSet getClientInfoProperties()
                                           throws java.sql.SQLException
Specified by:
getClientInfoProperties in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

getFunctionColumns

public java.sql.ResultSet getFunctionColumns(java.lang.String arg0,
                                             java.lang.String arg1,
                                             java.lang.String arg2,
                                             java.lang.String arg3)
                                      throws java.sql.SQLException
Specified by:
getFunctionColumns in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

getFunctions

public java.sql.ResultSet getFunctions(java.lang.String arg0,
                                       java.lang.String arg1,
                                       java.lang.String arg2)
                                throws java.sql.SQLException
Specified by:
getFunctions in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

getRowIdLifetime

public java.sql.RowIdLifetime getRowIdLifetime()
                                        throws java.sql.SQLException
Specified by:
getRowIdLifetime in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

getSchemas

public java.sql.ResultSet getSchemas(java.lang.String arg0,
                                     java.lang.String arg1)
                              throws java.sql.SQLException
Specified by:
getSchemas in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

supportsStoredFunctionsUsingCallSyntax

public boolean supportsStoredFunctionsUsingCallSyntax()
                                               throws java.sql.SQLException
Specified by:
supportsStoredFunctionsUsingCallSyntax in interface java.sql.DatabaseMetaData
Throws:
java.sql.SQLException

isWrapperFor

public boolean isWrapperFor(java.lang.Class<?> arg0)
                     throws java.sql.SQLException
Specified by:
isWrapperFor in interface java.sql.Wrapper
Throws:
java.sql.SQLException

unwrap

public <T> T unwrap(java.lang.Class<T> arg0)
         throws java.sql.SQLException
Specified by:
unwrap in interface java.sql.Wrapper
Throws:
java.sql.SQLException