org.modeshape.jdbc
Class ModeShapeMetaData

java.lang.Object
  extended by org.modeshape.jdbc.JcrMetaData
      extended by org.modeshape.jdbc.ModeShapeMetaData
All Implemented Interfaces:
DatabaseMetaData, Wrapper

public class ModeShapeMetaData
extends JcrMetaData

Specialized implementation for ModeShape-specific features.


Nested Class Summary
 
Nested classes/interfaces inherited from class org.modeshape.jdbc.JcrMetaData
JcrMetaData.PseudoPropertyDefinition
 
Field Summary
 
Fields inherited from class org.modeshape.jdbc.JcrMetaData
DEFAULT_ZERO, NO_LIMIT, PSEUDO_COLUMN_DEFNS, WILDCARD
 
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
ModeShapeMetaData(JcrConnection connection)
           
 
Method Summary
 boolean nullPlusNonNullIsNull()
           ModeShape uses arithmetic operations in criteria, and in the current implementation if one operand is null then the operations returns the other.
 boolean nullsAreSortedAtEnd()
           Assumed to be false for JCR implementations (meaning that sort order IS used), though section 6.7.37 of JCR 2.0 specification says ordering of null values is implementation-determined.
 boolean nullsAreSortedAtStart()
           Assumed to be false for JCR implementations (meaning that sort order IS used), though section 6.7.37 of JCR 2.0 specification says ordering of null values is implementation-determined.
 boolean nullsAreSortedHigh()
           Assumed to be false for JCR implementations, though section 6.7.37 of JCR 2.0 specification says ordering of null values is implementation-determined.
 boolean nullsAreSortedLow()
           Assumed to be true for JCR implementations, though section 6.7.37 of JCR 2.0 specification says ordering of null values is implementation-determined.
 boolean supportsFullOuterJoins()
           ModeShape does support FULL OUTER JOIN, so this method returns true when this driver connects to a ModeShape JCR repository.
 boolean supportsUnion()
           ModeShape does support UNION, so this method returns true when this driver connects to a ModeShape JCR repository.
 boolean supportsUnionAll()
           ModeShape does support UNION ALL, so this method returns true when this driver connects to a ModeShape JCR repository.
 
Methods inherited from class org.modeshape.jdbc.JcrMetaData
allProceduresAreCallable, allTablesAreSelectable, autoCommitFailureClosesAllResultSets, dataDefinitionCausesTransactionCommit, dataDefinitionIgnoredInTransactions, deletesAreDetected, doesMaxRowSizeIncludeBlobs, getAttributes, getBestRowIdentifier, getCatalogs, getCatalogSeparator, getCatalogTerm, getClientInfoProperties, getColumnPrivileges, getColumns, getConnection, getCrossReference, getDatabaseMajorVersion, getDatabaseMinorVersion, getDatabaseProductName, getDatabaseProductUrl, getDatabaseProductVersion, getDefaultTransactionIsolation, getDriverMajorVersion, getDriverMinorVersion, getDriverName, getDriverVersion, getExportedKeys, getExtraNameCharacters, getFunctionColumns, getFunctions, getIdentifierQuoteString, getImportedKeys, getIndexInfo, getJDBCMajorVersion, getJDBCMinorVersion, getMaxBinaryLiteralLength, getMaxCatalogNameLength, getMaxCharLiteralLength, getMaxColumnNameLength, getMaxColumnsInGroupBy, getMaxColumnsInIndex, getMaxColumnsInOrderBy, getMaxColumnsInSelect, getMaxColumnsInTable, getMaxConnections, getMaxCursorNameLength, getMaxIndexLength, getMaxProcedureNameLength, getMaxRowSize, getMaxSchemaNameLength, getMaxStatementLength, getMaxStatements, getMaxTableNameLength, getMaxTablesInSelect, getMaxUserNameLength, getNumericFunctions, getPrimaryKeys, getProcedureColumns, getProcedures, getProcedureTerm, getResultSetHoldability, getRowIdLifetime, getSchemas, getSchemas, getSchemaTerm, getSearchStringEscape, getSQLKeywords, getSQLStateType, getStringFunctions, getSuperTables, getSuperTypes, getSystemFunctions, getTablePrivileges, getTables, getTableTypes, getTimeDateFunctions, getTypeInfo, getUDTs, getURL, getUserName, getVersionColumns, insertsAreDetected, isCatalogAtStart, isReadOnly, isWrapperFor, locatorsUpdateCopy, othersDeletesAreVisible, othersInsertsAreVisible, othersUpdatesAreVisible, ownDeletesAreVisible, ownInsertsAreVisible, ownUpdatesAreVisible, storesLowerCaseIdentifiers, storesLowerCaseQuotedIdentifiers, storesMixedCaseIdentifiers, storesMixedCaseQuotedIdentifiers, storesUpperCaseIdentifiers, storesUpperCaseQuotedIdentifiers, supportsAlterTableWithAddColumn, supportsAlterTableWithDropColumn, supportsANSI92EntryLevelSQL, supportsANSI92FullSQL, supportsANSI92IntermediateSQL, supportsBatchUpdates, supportsCatalogsInDataManipulation, supportsCatalogsInIndexDefinitions, supportsCatalogsInPrivilegeDefinitions, supportsCatalogsInProcedureCalls, supportsCatalogsInTableDefinitions, supportsColumnAliasing, supportsConvert, supportsConvert, supportsCoreSQLGrammar, supportsCorrelatedSubqueries, supportsDataDefinitionAndDataManipulationTransactions, supportsDataManipulationTransactionsOnly, supportsDifferentTableCorrelationNames, supportsExpressionsInOrderBy, supportsExtendedSQLGrammar, supportsGetGeneratedKeys, supportsGroupBy, supportsGroupByBeyondSelect, supportsGroupByUnrelated, supportsIntegrityEnhancementFacility, supportsLikeEscapeClause, supportsLimitedOuterJoins, supportsMinimumSQLGrammar, supportsMixedCaseIdentifiers, supportsMixedCaseQuotedIdentifiers, supportsMultipleOpenResults, supportsMultipleResultSets, supportsMultipleTransactions, supportsNamedParameters, supportsNonNullableColumns, supportsOpenCursorsAcrossCommit, supportsOpenCursorsAcrossRollback, supportsOpenStatementsAcrossCommit, supportsOpenStatementsAcrossRollback, supportsOrderByUnrelated, supportsOuterJoins, supportsPositionedDelete, supportsPositionedUpdate, supportsResultSetConcurrency, supportsResultSetHoldability, supportsResultSetType, supportsSavepoints, supportsSchemasInDataManipulation, supportsSchemasInIndexDefinitions, supportsSchemasInPrivilegeDefinitions, supportsSchemasInProcedureCalls, supportsSchemasInTableDefinitions, supportsSelectForUpdate, supportsStatementPooling, supportsStoredFunctionsUsingCallSyntax, supportsStoredProcedures, supportsSubqueriesInComparisons, supportsSubqueriesInExists, supportsSubqueriesInIns, supportsSubqueriesInQuantifieds, supportsTableCorrelationNames, supportsTransactionIsolationLevel, supportsTransactions, unwrap, updatesAreDetected, usesLocalFilePerTable, usesLocalFiles
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ModeShapeMetaData

public ModeShapeMetaData(JcrConnection connection)
Method Detail

supportsFullOuterJoins

public boolean supportsFullOuterJoins()

ModeShape does support FULL OUTER JOIN, so this method returns true when this driver connects to a ModeShape JCR repository.

Specified by:
supportsFullOuterJoins in interface DatabaseMetaData
Overrides:
supportsFullOuterJoins in class JcrMetaData
See Also:
DatabaseMetaData.supportsFullOuterJoins()

supportsUnion

public boolean supportsUnion()

ModeShape does support UNION, so this method returns true when this driver connects to a ModeShape JCR repository.

Specified by:
supportsUnion in interface DatabaseMetaData
Overrides:
supportsUnion in class JcrMetaData
See Also:
DatabaseMetaData.supportsUnion()

supportsUnionAll

public boolean supportsUnionAll()

ModeShape does support UNION ALL, so this method returns true when this driver connects to a ModeShape JCR repository.

Specified by:
supportsUnionAll in interface DatabaseMetaData
Overrides:
supportsUnionAll in class JcrMetaData
See Also:
DatabaseMetaData.supportsUnionAll()

nullPlusNonNullIsNull

public boolean nullPlusNonNullIsNull()

ModeShape uses arithmetic operations in criteria, and in the current implementation if one operand is null then the operations returns the other. Therefore, 'null + X = X', so this method returns false.

Specified by:
nullPlusNonNullIsNull in interface DatabaseMetaData
Overrides:
nullPlusNonNullIsNull in class JcrMetaData
See Also:
DatabaseMetaData.nullPlusNonNullIsNull()

nullsAreSortedAtEnd

public boolean nullsAreSortedAtEnd()

Assumed to be false for JCR implementations (meaning that sort order IS used), though section 6.7.37 of JCR 2.0 specification says ordering of null values is implementation-determined.

ModeShape definitely uses sort order. Therefore, this method always returns false.

Specified by:
nullsAreSortedAtEnd in interface DatabaseMetaData
Overrides:
nullsAreSortedAtEnd in class JcrMetaData
See Also:
DatabaseMetaData.nullsAreSortedAtEnd()

nullsAreSortedAtStart

public boolean nullsAreSortedAtStart()

Assumed to be false for JCR implementations (meaning that sort order IS used), though section 6.7.37 of JCR 2.0 specification says ordering of null values is implementation-determined.

ModeShape definitely uses sort order. Therefore, this method always returns false.

Specified by:
nullsAreSortedAtStart in interface DatabaseMetaData
Overrides:
nullsAreSortedAtStart in class JcrMetaData
See Also:
DatabaseMetaData.nullsAreSortedAtStart()

nullsAreSortedHigh

public boolean nullsAreSortedHigh()

Assumed to be false for JCR implementations, though section 6.7.37 of JCR 2.0 specification says ordering of null values is implementation-determined.

ModeShape sorts null values to be lower than non-null values. Therefore, this method returns false.

Specified by:
nullsAreSortedHigh in interface DatabaseMetaData
Overrides:
nullsAreSortedHigh in class JcrMetaData
See Also:
DatabaseMetaData.nullsAreSortedHigh()

nullsAreSortedLow

public boolean nullsAreSortedLow()

Assumed to be true for JCR implementations, though section 6.7.37 of JCR 2.0 specification says ordering of null values is implementation-determined.

ModeShape sorts null values to be lower than non-null values. Therefore, this method returns true.

Specified by:
nullsAreSortedLow in interface DatabaseMetaData
Overrides:
nullsAreSortedLow in class JcrMetaData
See Also:
DatabaseMetaData.nullsAreSortedLow()


Copyright © 2008-2010 JBoss, a division of Red Hat. All Rights Reserved.