/*
* JBoss, Home of Professional Open Source.
*
* See the LEGAL.txt file distributed with this work for information regarding copyright ownership and licensing.
*
* See the AUTHORS.txt file distributed with this work for a full listing of individual contributors.
*/
package org.teiid.designer.jdbc.metadata.impl;
import java.sql.DatabaseMetaData;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import org.teiid.core.designer.util.CoreArgCheck;
import org.teiid.designer.jdbc.JdbcPlugin;
import org.teiid.designer.jdbc.metadata.Capabilities;
/**
* CapabilitiesImpl
*
* @since 8.0
*/
public class CapabilitiesImpl implements Capabilities {
private final DatabaseMetaData metadata;
private String[] tableTypes;
/**
* Construct an instance of CapabilitiesImpl.
*/
public CapabilitiesImpl( final DatabaseMetaData metadata ) {
super();
CoreArgCheck.isNotNull(metadata);
this.metadata = metadata;
}
protected DatabaseMetaData getMetadata() {
return this.metadata;
}
// =========================================================================
// Specialized (non-JDBC) methods
// =========================================================================
/**
* Retrieves whether this database supports catalogs. This method returns
* true if any of the following methods returns true:
* <ol>
* <li>{@link #supportsCatalogsInTableDefinitions()</li>
* <li>{@link #supportsCatalogsInDataManipulation()</li>
* <li>{@link #supportsCatalogsInProcedureCalls()</li>
* </ol>
* @return true if the database supports catalogs.
* @throws SQLException if there is an error obtaining the information
*/
@Override
public boolean supportsCatalogs() throws SQLException {
return supportsCatalogsInTableDefinitions() || supportsCatalogsInDataManipulation() || supportsCatalogsInProcedureCalls();
}
/**
* Retrieves whether this database supports schemas. This method returns
* true if any of the following methods returns true:
* <ol>
* <li>{@link #supportsSchemasInDataManipulation()</li>
* <li>{@link #supportsSchemasInTableDefinitions()</li>
* </ol>
* @return true if the database supports schemas.
* @throws SQLException if there is an error obtaining the information
*/
@Override
public boolean supportsSchemas() throws SQLException {
return supportsSchemasInDataManipulation() || supportsSchemasInTableDefinitions();
}
/* (non-Javadoc)
* @See org.teiid.designer.jdbc.metadata.Capabilities#getTableTypes()
*/
@Override
public String[] getTableTypes() throws SQLException {
if (tableTypes == null) {
final List results = new ArrayList();
final ResultSet resultSet = getMetadata().getTableTypes();
try {
while (resultSet.next()) {
final String tableType = resultSet.getString(1);
results.add(tableType);
}
} finally {
if (resultSet != null) {
try {
resultSet.close();
} catch (SQLException e) {
JdbcPlugin.Util.log(e);
}
}
}
// Convert the list to an array and return ...
tableTypes = (String[])results.toArray(new String[results.size()]);
}
return tableTypes;
}
// =========================================================================
// Standard JDBC DatabaseMetaData methods
// =========================================================================
/* (non-Javadoc)
* @See org.teiid.designer.jdbc.metadata.Capabilities#allProceduresAreCallable()
*/
@Override
public boolean allProceduresAreCallable() throws SQLException {
return getMetadata().allProceduresAreCallable();
}
/* (non-Javadoc)
* @See org.teiid.designer.jdbc.metadata.Capabilities#allTablesAreSelectable()
*/
@Override
public boolean allTablesAreSelectable() throws SQLException {
return getMetadata().allTablesAreSelectable();
}
/* (non-Javadoc)
* @See org.teiid.designer.jdbc.metadata.Capabilities#dataDefinitionCausesTransactionCommit()
*/
@Override
public boolean dataDefinitionCausesTransactionCommit() throws SQLException {
return getMetadata().dataDefinitionCausesTransactionCommit();
}
/* (non-Javadoc)
* @See org.teiid.designer.jdbc.metadata.Capabilities#dataDefinitionIgnoredInTransactions()
*/
@Override
public boolean dataDefinitionIgnoredInTransactions() throws SQLException {
return getMetadata().dataDefinitionIgnoredInTransactions();
}
/* (non-Javadoc)
* @See org.teiid.designer.jdbc.metadata.Capabilities#deletesAreDetected(int)
*/
@Override
public boolean deletesAreDetected( int type ) throws SQLException {
return getMetadata().deletesAreDetected(type);
}
/* (non-Javadoc)
* @See org.teiid.designer.jdbc.metadata.Capabilities#doesMaxRowSizeIncludeBlobs()
*/
@Override
public boolean doesMaxRowSizeIncludeBlobs() throws SQLException {
return getMetadata().doesMaxRowSizeIncludeBlobs();
}
/* (non-Javadoc)
* @See org.teiid.designer.jdbc.metadata.Capabilities#getCatalogSeparator()
*/
@Override
public String getCatalogSeparator() throws SQLException {
return getMetadata().getCatalogSeparator();
}
/* (non-Javadoc)
* @See org.teiid.designer.jdbc.metadata.Capabilities#getCatalogTerm()
*/
@Override
public String getCatalogTerm() throws SQLException {
return getMetadata().getCatalogTerm();
}
/* (non-Javadoc)
* @See org.teiid.designer.jdbc.metadata.Capabilities#getExtraNameCharacters()
*/
@Override
public String getExtraNameCharacters() throws SQLException {
return getMetadata().getExtraNameCharacters();
}
/* (non-Javadoc)
* @See org.teiid.designer.jdbc.metadata.Capabilities#getIdentifierQuoteString()
*/
@Override
public String getIdentifierQuoteString() throws SQLException {
return getMetadata().getIdentifierQuoteString();
}
/* (non-Javadoc)
* @See org.teiid.designer.jdbc.metadata.Capabilities#getMaxBinaryLiteralLength()
*/
@Override
public int getMaxBinaryLiteralLength() throws SQLException {
return getMetadata().getMaxBinaryLiteralLength();
}
/* (non-Javadoc)
* @See org.teiid.designer.jdbc.metadata.Capabilities#getMaxCatalogNameLength()
*/
@Override
public int getMaxCatalogNameLength() throws SQLException {
return getMetadata().getMaxCatalogNameLength();
}
/* (non-Javadoc)
* @See org.teiid.designer.jdbc.metadata.Capabilities#getMaxCharLiteralLength()
*/
@Override
public int getMaxCharLiteralLength() throws SQLException {
return getMetadata().getMaxCharLiteralLength();
}
/* (non-Javadoc)
* @See org.teiid.designer.jdbc.metadata.Capabilities#getMaxColumnNameLength()
*/
@Override
public int getMaxColumnNameLength() throws SQLException {
return getMetadata().getMaxColumnNameLength();
}
/* (non-Javadoc)
* @See org.teiid.designer.jdbc.metadata.Capabilities#getMaxColumnsInGroupBy()
*/
@Override
public int getMaxColumnsInGroupBy() throws SQLException {
return getMetadata().getMaxColumnsInGroupBy();
}
/* (non-Javadoc)
* @See org.teiid.designer.jdbc.metadata.Capabilities#getMaxColumnsInIndex()
*/
@Override
public int getMaxColumnsInIndex() throws SQLException {
return getMetadata().getMaxColumnsInIndex();
}
/* (non-Javadoc)
* @See org.teiid.designer.jdbc.metadata.Capabilities#getMaxColumnsInOrderBy()
*/
@Override
public int getMaxColumnsInOrderBy() throws SQLException {
return getMetadata().getMaxColumnsInOrderBy();
}
/* (non-Javadoc)
* @See org.teiid.designer.jdbc.metadata.Capabilities#getMaxColumnsInSelect()
*/
@Override
public int getMaxColumnsInSelect() throws SQLException {
return getMetadata().getMaxColumnsInSelect();
}
/* (non-Javadoc)
* @See org.teiid.designer.jdbc.metadata.Capabilities#getMaxColumnsInTable()
*/
@Override
public int getMaxColumnsInTable() throws SQLException {
return getMetadata().getMaxColumnsInTable();
}
/* (non-Javadoc)
* @See org.teiid.designer.jdbc.metadata.Capabilities#getMaxConnections()
*/
@Override
public int getMaxConnections() throws SQLException {
return getMetadata().getMaxConnections();
}
/* (non-Javadoc)
* @See org.teiid.designer.jdbc.metadata.Capabilities#getMaxCursorNameLength()
*/
@Override
public int getMaxCursorNameLength() throws SQLException {
return getMetadata().getMaxCursorNameLength();
}
/* (non-Javadoc)
* @See org.teiid.designer.jdbc.metadata.Capabilities#getMaxIndexLength()
*/
@Override
public int getMaxIndexLength() throws SQLException {
return getMetadata().getMaxIndexLength();
}
/* (non-Javadoc)
* @See org.teiid.designer.jdbc.metadata.Capabilities#getMaxProcedureNameLength()
*/
@Override
public int getMaxProcedureNameLength() throws SQLException {
return getMetadata().getMaxProcedureNameLength();
}
/* (non-Javadoc)
* @See org.teiid.designer.jdbc.metadata.Capabilities#getMaxRowSize()
*/
@Override
public int getMaxRowSize() throws SQLException {
return getMetadata().getMaxRowSize();
}
/* (non-Javadoc)
* @See org.teiid.designer.jdbc.metadata.Capabilities#getMaxSchemaNameLength()
*/
@Override
public int getMaxSchemaNameLength() throws SQLException {
return getMetadata().getMaxSchemaNameLength();
}
/* (non-Javadoc)
* @See org.teiid.designer.jdbc.metadata.Capabilities#getMaxStatementLength()
*/
@Override
public int getMaxStatementLength() throws SQLException {
return getMetadata().getMaxStatementLength();
}
/* (non-Javadoc)
* @See org.teiid.designer.jdbc.metadata.Capabilities#getMaxStatements()
*/
@Override
public int getMaxStatements() throws SQLException {
return getMetadata().getMaxStatements();
}
/* (non-Javadoc)
* @See org.teiid.designer.jdbc.metadata.Capabilities#getMaxTableNameLength()
*/
@Override
public int getMaxTableNameLength() throws SQLException {
return getMetadata().getMaxTableNameLength();
}
/* (non-Javadoc)
* @See org.teiid.designer.jdbc.metadata.Capabilities#getMaxTablesInSelect()
*/
@Override
public int getMaxTablesInSelect() throws SQLException {
return getMetadata().getMaxTablesInSelect();
}
/* (non-Javadoc)
* @See org.teiid.designer.jdbc.metadata.Capabilities#getMaxUserNameLength()
*/
@Override
public int getMaxUserNameLength() throws SQLException {
return getMetadata().getMaxUserNameLength();
}
/* (non-Javadoc)
* @See org.teiid.designer.jdbc.metadata.Capabilities#getNumericFunctions()
*/
@Override
public String getNumericFunctions() throws SQLException {
return getMetadata().getNumericFunctions();
}
/* (non-Javadoc)
* @See org.teiid.designer.jdbc.metadata.Capabilities#getProcedureTerm()
*/
@Override
public String getProcedureTerm() throws SQLException {
return getMetadata().getProcedureTerm();
}
/* (non-Javadoc)
* @See org.teiid.designer.jdbc.metadata.Capabilities#getSchemaTerm()
*/
@Override
public String getSchemaTerm() throws SQLException {
return getMetadata().getSchemaTerm();
}
/* (non-Javadoc)
* @See org.teiid.designer.jdbc.metadata.Capabilities#getSearchStringEscape()
*/
@Override
public String getSearchStringEscape() throws SQLException {
return getMetadata().getSearchStringEscape();
}
/* (non-Javadoc)
* @See org.teiid.designer.jdbc.metadata.Capabilities#getSQLKeywords()
*/
@Override
public String getSQLKeywords() throws SQLException {
return getMetadata().getSQLKeywords();
}
/* (non-Javadoc)
* @See org.teiid.designer.jdbc.metadata.Capabilities#getStringFunctions()
*/
@Override
public String getStringFunctions() throws SQLException {
return getMetadata().getStringFunctions();
}
/* (non-Javadoc)
* @See org.teiid.designer.jdbc.metadata.Capabilities#getSystemFunctions()
*/
@Override
public String getSystemFunctions() throws SQLException {
return getMetadata().getSystemFunctions();
}
/* (non-Javadoc)
* @See org.teiid.designer.jdbc.metadata.Capabilities#getTimeDateFunctions()
*/
@Override
public String getTimeDateFunctions() throws SQLException {
return getMetadata().getTimeDateFunctions();
}
/* (non-Javadoc)
* @See org.teiid.designer.jdbc.metadata.Capabilities#getTypeInfo()
*/
@Override
public ResultSet getTypeInfo() throws SQLException {
return getMetadata().getTypeInfo();
}
/* (non-Javadoc)
* @See org.teiid.designer.jdbc.metadata.Capabilities#insertsAreDetected(int)
*/
@Override
public boolean insertsAreDetected( int type ) throws SQLException {
return getMetadata().insertsAreDetected(type);
}
/* (non-Javadoc)
* @See org.teiid.designer.jdbc.metadata.Capabilities#isCatalogAtStart()
*/
@Override
public boolean isCatalogAtStart() throws SQLException {
return getMetadata().isCatalogAtStart();
}
/* (non-Javadoc)
* @See org.teiid.designer.jdbc.metadata.Capabilities#isReadOnly()
*/
@Override
public boolean isReadOnly() throws SQLException {
return getMetadata().isReadOnly();
}
/* (non-Javadoc)
* @See org.teiid.designer.jdbc.metadata.Capabilities#nullPlusNonNullIsNull()
*/
@Override
public boolean nullPlusNonNullIsNull() throws SQLException {
return getMetadata().nullPlusNonNullIsNull();
}
/* (non-Javadoc)
* @See org.teiid.designer.jdbc.metadata.Capabilities#nullsAreSortedAtEnd()
*/
@Override
public boolean nullsAreSortedAtEnd() throws SQLException {
return getMetadata().nullsAreSortedAtEnd();
}
/* (non-Javadoc)
* @See org.teiid.designer.jdbc.metadata.Capabilities#nullsAreSortedAtStart()
*/
@Override
public boolean nullsAreSortedAtStart() throws SQLException {
return getMetadata().nullsAreSortedAtStart();
}
/* (non-Javadoc)
* @See org.teiid.designer.jdbc.metadata.Capabilities#nullsAreSortedHigh()
*/
@Override
public boolean nullsAreSortedHigh() throws SQLException {
return getMetadata().nullsAreSortedHigh();
}
/* (non-Javadoc)
* @See org.teiid.designer.jdbc.metadata.Capabilities#nullsAreSortedLow()
*/
@Override
public boolean nullsAreSortedLow() throws SQLException {
return getMetadata().nullsAreSortedLow();
}
/* (non-Javadoc)
* @See org.teiid.designer.jdbc.metadata.Capabilities#othersDeletesAreVisible(int)
*/
@Override
public boolean othersDeletesAreVisible( int type ) throws SQLException {
return getMetadata().othersDeletesAreVisible(type);
}
/* (non-Javadoc)
* @See org.teiid.designer.jdbc.metadata.Capabilities#othersInsertsAreVisible(int)
*/
@Override
public boolean othersInsertsAreVisible( int type ) throws SQLException {
return getMetadata().othersInsertsAreVisible(type);
}
/* (non-Javadoc)
* @See org.teiid.designer.jdbc.metadata.Capabilities#othersUpdatesAreVisible(int)
*/
@Override
public boolean othersUpdatesAreVisible( int type ) throws SQLException {
return getMetadata().othersUpdatesAreVisible(type);
}
/* (non-Javadoc)
* @See org.teiid.designer.jdbc.metadata.Capabilities#ownDeletesAreVisible(int)
*/
@Override
public boolean ownDeletesAreVisible( int type ) throws SQLException {
return getMetadata().ownDeletesAreVisible(type);
}
/* (non-Javadoc)
* @See org.teiid.designer.jdbc.metadata.Capabilities#ownInsertsAreVisible(int)
*/
@Override
public boolean ownInsertsAreVisible( int type ) throws SQLException {
return getMetadata().ownInsertsAreVisible(type);
}
/* (non-Javadoc)
* @See org.teiid.designer.jdbc.metadata.Capabilities#ownUpdatesAreVisible(int)
*/
@Override
public boolean ownUpdatesAreVisible( int type ) throws SQLException {
return getMetadata().ownUpdatesAreVisible(type);
}
/* (non-Javadoc)
* @See org.teiid.designer.jdbc.metadata.Capabilities#storesLowerCaseIdentifiers()
*/
@Override
public boolean storesLowerCaseIdentifiers() throws SQLException {
return getMetadata().storesLowerCaseIdentifiers();
}
/* (non-Javadoc)
* @See org.teiid.designer.jdbc.metadata.Capabilities#storesLowerCaseQuotedIdentifiers()
*/
@Override
public boolean storesLowerCaseQuotedIdentifiers() throws SQLException {
return getMetadata().storesLowerCaseQuotedIdentifiers();
}
/* (non-Javadoc)
* @See org.teiid.designer.jdbc.metadata.Capabilities#storesMixedCaseIdentifiers()
*/
@Override
public boolean storesMixedCaseIdentifiers() throws SQLException {
return getMetadata().storesMixedCaseIdentifiers();
}
/* (non-Javadoc)
* @See org.teiid.designer.jdbc.metadata.Capabilities#storesMixedCaseQuotedIdentifiers()
*/
@Override
public boolean storesMixedCaseQuotedIdentifiers() throws SQLException {
return getMetadata().storesMixedCaseQuotedIdentifiers();
}
/* (non-Javadoc)
* @See org.teiid.designer.jdbc.metadata.Capabilities#storesUpperCaseIdentifiers()
*/
@Override
public boolean storesUpperCaseIdentifiers() throws SQLException {
return getMetadata().storesUpperCaseIdentifiers();
}
/* (non-Javadoc)
* @See org.teiid.designer.jdbc.metadata.Capabilities#storesUpperCaseQuotedIdentifiers()
*/
@Override
public boolean storesUpperCaseQuotedIdentifiers() throws SQLException {
return getMetadata().storesUpperCaseQuotedIdentifiers();
}
/* (non-Javadoc)
* @See org.teiid.designer.jdbc.metadata.Capabilities#supportsAlterTableWithAddColumn()
*/
@Override
public boolean supportsAlterTableWithAddColumn() throws SQLException {
return getMetadata().supportsAlterTableWithAddColumn();
}
/* (non-Javadoc)
* @See org.teiid.designer.jdbc.metadata.Capabilities#supportsAlterTableWithDropColumn()
*/
@Override
public boolean supportsAlterTableWithDropColumn() throws SQLException {
return getMetadata().supportsAlterTableWithDropColumn();
}
/* (non-Javadoc)
* @See org.teiid.designer.jdbc.metadata.Capabilities#supportsANSI92EntryLevelSQL()
*/
@Override
public boolean supportsANSI92EntryLevelSQL() throws SQLException {
return getMetadata().supportsANSI92EntryLevelSQL();
}
/* (non-Javadoc)
* @See org.teiid.designer.jdbc.metadata.Capabilities#supportsANSI92FullSQL()
*/
@Override
public boolean supportsANSI92FullSQL() throws SQLException {
return getMetadata().supportsANSI92FullSQL();
}
/* (non-Javadoc)
* @See org.teiid.designer.jdbc.metadata.Capabilities#supportsANSI92IntermediateSQL()
*/
@Override
public boolean supportsANSI92IntermediateSQL() throws SQLException {
return getMetadata().supportsANSI92IntermediateSQL();
}
/* (non-Javadoc)
* @See org.teiid.designer.jdbc.metadata.Capabilities#supportsBatchUpdates()
*/
@Override
public boolean supportsBatchUpdates() throws SQLException {
return getMetadata().supportsBatchUpdates();
}
/* (non-Javadoc)
* @See org.teiid.designer.jdbc.metadata.Capabilities#supportsCatalogsInDataManipulation()
*/
@Override
public boolean supportsCatalogsInDataManipulation() throws SQLException {
return getMetadata().supportsCatalogsInDataManipulation();
}
/* (non-Javadoc)
* @See org.teiid.designer.jdbc.metadata.Capabilities#supportsCatalogsInIndexDefinitions()
*/
@Override
public boolean supportsCatalogsInIndexDefinitions() throws SQLException {
return getMetadata().supportsCatalogsInIndexDefinitions();
}
/* (non-Javadoc)
* @See org.teiid.designer.jdbc.metadata.Capabilities#supportsCatalogsInPrivilegeDefinitions()
*/
@Override
public boolean supportsCatalogsInPrivilegeDefinitions() throws SQLException {
return getMetadata().supportsCatalogsInPrivilegeDefinitions();
}
/* (non-Javadoc)
* @See org.teiid.designer.jdbc.metadata.Capabilities#supportsCatalogsInProcedureCalls()
*/
@Override
public boolean supportsCatalogsInProcedureCalls() throws SQLException {
return getMetadata().supportsCatalogsInProcedureCalls();
}
/* (non-Javadoc)
* @See org.teiid.designer.jdbc.metadata.Capabilities#supportsCatalogsInTableDefinitions()
*/
@Override
public boolean supportsCatalogsInTableDefinitions() throws SQLException {
return getMetadata().supportsCatalogsInTableDefinitions();
}
/* (non-Javadoc)
* @See org.teiid.designer.jdbc.metadata.Capabilities#supportsColumnAliasing()
*/
@Override
public boolean supportsColumnAliasing() throws SQLException {
return getMetadata().supportsColumnAliasing();
}
/* (non-Javadoc)
* @See org.teiid.designer.jdbc.metadata.Capabilities#supportsConvert()
*/
@Override
public boolean supportsConvert() throws SQLException {
return getMetadata().supportsConvert();
}
/* (non-Javadoc)
* @See org.teiid.designer.jdbc.metadata.Capabilities#supportsConvert(int, int)
*/
@Override
public boolean supportsConvert( int fromType,
int toType ) throws SQLException {
return getMetadata().supportsConvert(fromType, toType);
}
/* (non-Javadoc)
* @See org.teiid.designer.jdbc.metadata.Capabilities#supportsCoreSQLGrammar()
*/
@Override
public boolean supportsCoreSQLGrammar() throws SQLException {
return getMetadata().supportsCoreSQLGrammar();
}
/* (non-Javadoc)
* @See org.teiid.designer.jdbc.metadata.Capabilities#supportsCorrelatedSubqueries()
*/
@Override
public boolean supportsCorrelatedSubqueries() throws SQLException {
return getMetadata().supportsCorrelatedSubqueries();
}
/* (non-Javadoc)
* @See org.teiid.designer.jdbc.metadata.Capabilities#supportsDataDefinitionAndDataManipulationTransactions()
*/
@Override
public boolean supportsDataDefinitionAndDataManipulationTransactions() throws SQLException {
return getMetadata().supportsDataDefinitionAndDataManipulationTransactions();
}
/* (non-Javadoc)
* @See org.teiid.designer.jdbc.metadata.Capabilities#supportsDataManipulationTransactionsOnly()
*/
@Override
public boolean supportsDataManipulationTransactionsOnly() throws SQLException {
return getMetadata().supportsDataManipulationTransactionsOnly();
}
/* (non-Javadoc)
* @See org.teiid.designer.jdbc.metadata.Capabilities#supportsDifferentTableCorrelationNames()
*/
@Override
public boolean supportsDifferentTableCorrelationNames() throws SQLException {
return getMetadata().supportsDifferentTableCorrelationNames();
}
/* (non-Javadoc)
* @See org.teiid.designer.jdbc.metadata.Capabilities#supportsExpressionsInOrderBy()
*/
@Override
public boolean supportsExpressionsInOrderBy() throws SQLException {
return getMetadata().supportsExpressionsInOrderBy();
}
/* (non-Javadoc)
* @See org.teiid.designer.jdbc.metadata.Capabilities#supportsExtendedSQLGrammar()
*/
@Override
public boolean supportsExtendedSQLGrammar() throws SQLException {
return getMetadata().supportsExtendedSQLGrammar();
}
/* (non-Javadoc)
* @See org.teiid.designer.jdbc.metadata.Capabilities#supportsFullOuterJoins()
*/
@Override
public boolean supportsFullOuterJoins() throws SQLException {
return getMetadata().supportsFullOuterJoins();
}
/* (non-Javadoc)
* @See org.teiid.designer.jdbc.metadata.Capabilities#supportsGroupBy()
*/
@Override
public boolean supportsGroupBy() throws SQLException {
return getMetadata().supportsGroupBy();
}
/* (non-Javadoc)
* @See org.teiid.designer.jdbc.metadata.Capabilities#supportsGroupByBeyondSelect()
*/
@Override
public boolean supportsGroupByBeyondSelect() throws SQLException {
return getMetadata().supportsGroupByBeyondSelect();
}
/* (non-Javadoc)
* @See org.teiid.designer.jdbc.metadata.Capabilities#supportsGroupByUnrelated()
*/
@Override
public boolean supportsGroupByUnrelated() throws SQLException {
return getMetadata().supportsGroupByUnrelated();
}
/* (non-Javadoc)
* @See org.teiid.designer.jdbc.metadata.Capabilities#supportsIntegrityEnhancementFacility()
*/
@Override
public boolean supportsIntegrityEnhancementFacility() throws SQLException {
return getMetadata().supportsIntegrityEnhancementFacility();
}
/* (non-Javadoc)
* @See org.teiid.designer.jdbc.metadata.Capabilities#supportsLikeEscapeClause()
*/
@Override
public boolean supportsLikeEscapeClause() throws SQLException {
return getMetadata().supportsLikeEscapeClause();
}
/* (non-Javadoc)
* @See org.teiid.designer.jdbc.metadata.Capabilities#supportsLimitedOuterJoins()
*/
@Override
public boolean supportsLimitedOuterJoins() throws SQLException {
return getMetadata().supportsLimitedOuterJoins();
}
/* (non-Javadoc)
* @See org.teiid.designer.jdbc.metadata.Capabilities#supportsMinimumSQLGrammar()
*/
@Override
public boolean supportsMinimumSQLGrammar() throws SQLException {
return getMetadata().supportsMinimumSQLGrammar();
}
/* (non-Javadoc)
* @See org.teiid.designer.jdbc.metadata.Capabilities#supportsMixedCaseIdentifiers()
*/
@Override
public boolean supportsMixedCaseIdentifiers() throws SQLException {
return getMetadata().supportsMixedCaseIdentifiers();
}
/* (non-Javadoc)
* @See org.teiid.designer.jdbc.metadata.Capabilities#supportsMixedCaseQuotedIdentifiers()
*/
@Override
public boolean supportsMixedCaseQuotedIdentifiers() throws SQLException {
return getMetadata().supportsMixedCaseQuotedIdentifiers();
}
/* (non-Javadoc)
* @See org.teiid.designer.jdbc.metadata.Capabilities#supportsMultipleResultSets()
*/
@Override
public boolean supportsMultipleResultSets() throws SQLException {
return getMetadata().supportsMultipleResultSets();
}
/* (non-Javadoc)
* @See org.teiid.designer.jdbc.metadata.Capabilities#supportsMultipleTransactions()
*/
@Override
public boolean supportsMultipleTransactions() throws SQLException {
return getMetadata().supportsMultipleTransactions();
}
/* (non-Javadoc)
* @See org.teiid.designer.jdbc.metadata.Capabilities#supportsNonNullableColumns()
*/
@Override
public boolean supportsNonNullableColumns() throws SQLException {
return getMetadata().supportsNonNullableColumns();
}
/* (non-Javadoc)
* @See org.teiid.designer.jdbc.metadata.Capabilities#supportsOpenCursorsAcrossCommit()
*/
@Override
public boolean supportsOpenCursorsAcrossCommit() throws SQLException {
return getMetadata().supportsOpenCursorsAcrossCommit();
}
/* (non-Javadoc)
* @See org.teiid.designer.jdbc.metadata.Capabilities#supportsOpenCursorsAcrossRollback()
*/
@Override
public boolean supportsOpenCursorsAcrossRollback() throws SQLException {
return getMetadata().supportsOpenCursorsAcrossRollback();
}
/* (non-Javadoc)
* @See org.teiid.designer.jdbc.metadata.Capabilities#supportsOpenStatementsAcrossCommit()
*/
@Override
public boolean supportsOpenStatementsAcrossCommit() throws SQLException {
return getMetadata().supportsOpenStatementsAcrossCommit();
}
/* (non-Javadoc)
* @See org.teiid.designer.jdbc.metadata.Capabilities#supportsOpenStatementsAcrossRollback()
*/
@Override
public boolean supportsOpenStatementsAcrossRollback() throws SQLException {
return getMetadata().supportsOpenStatementsAcrossRollback();
}
/* (non-Javadoc)
* @See org.teiid.designer.jdbc.metadata.Capabilities#supportsOrderByUnrelated()
*/
@Override
public boolean supportsOrderByUnrelated() throws SQLException {
return getMetadata().supportsOrderByUnrelated();
}
/* (non-Javadoc)
* @See org.teiid.designer.jdbc.metadata.Capabilities#supportsOuterJoins()
*/
@Override
public boolean supportsOuterJoins() throws SQLException {
return getMetadata().supportsOuterJoins();
}
/* (non-Javadoc)
* @See org.teiid.designer.jdbc.metadata.Capabilities#supportsPositionedDelete()
*/
@Override
public boolean supportsPositionedDelete() throws SQLException {
return getMetadata().supportsPositionedDelete();
}
/* (non-Javadoc)
* @See org.teiid.designer.jdbc.metadata.Capabilities#supportsPositionedUpdate()
*/
@Override
public boolean supportsPositionedUpdate() throws SQLException {
return getMetadata().supportsPositionedUpdate();
}
/* (non-Javadoc)
* @See org.teiid.designer.jdbc.metadata.Capabilities#supportsResultSetConcurrency(int, int)
*/
@Override
public boolean supportsResultSetConcurrency( int type,
int concurrency ) throws SQLException {
return getMetadata().supportsResultSetConcurrency(type, concurrency);
}
/* (non-Javadoc)
* @See org.teiid.designer.jdbc.metadata.Capabilities#supportsResultSetType(int)
*/
@Override
public boolean supportsResultSetType( int type ) throws SQLException {
return getMetadata().supportsResultSetType(type);
}
/* (non-Javadoc)
* @See org.teiid.designer.jdbc.metadata.Capabilities#supportsSchemasInDataManipulation()
*/
@Override
public boolean supportsSchemasInDataManipulation() throws SQLException {
return getMetadata().supportsSchemasInDataManipulation();
}
/* (non-Javadoc)
* @See org.teiid.designer.jdbc.metadata.Capabilities#supportsSchemasInIndexDefinitions()
*/
@Override
public boolean supportsSchemasInIndexDefinitions() throws SQLException {
return getMetadata().supportsSchemasInIndexDefinitions();
}
/* (non-Javadoc)
* @See org.teiid.designer.jdbc.metadata.Capabilities#supportsSchemasInPrivilegeDefinitions()
*/
@Override
public boolean supportsSchemasInPrivilegeDefinitions() throws SQLException {
return getMetadata().supportsSchemasInPrivilegeDefinitions();
}
/* (non-Javadoc)
* @See org.teiid.designer.jdbc.metadata.Capabilities#supportsSchemasInProcedureCalls()
*/
@Override
public boolean supportsSchemasInProcedureCalls() throws SQLException {
return getMetadata().supportsSchemasInProcedureCalls();
}
/* (non-Javadoc)
* @See org.teiid.designer.jdbc.metadata.Capabilities#supportsSchemasInTableDefinitions()
*/
@Override
public boolean supportsSchemasInTableDefinitions() throws SQLException {
return getMetadata().supportsSchemasInTableDefinitions();
}
/* (non-Javadoc)
* @See org.teiid.designer.jdbc.metadata.Capabilities#supportsSelectForUpdate()
*/
@Override
public boolean supportsSelectForUpdate() throws SQLException {
return getMetadata().supportsSelectForUpdate();
}
/* (non-Javadoc)
* @See org.teiid.designer.jdbc.metadata.Capabilities#supportsStoredProcedures()
*/
@Override
public boolean supportsStoredProcedures() throws SQLException {
return getMetadata().supportsStoredProcedures();
}
/* (non-Javadoc)
* @See org.teiid.designer.jdbc.metadata.Capabilities#supportsSubqueriesInComparisons()
*/
@Override
public boolean supportsSubqueriesInComparisons() throws SQLException {
return getMetadata().supportsSubqueriesInComparisons();
}
/* (non-Javadoc)
* @See org.teiid.designer.jdbc.metadata.Capabilities#supportsSubqueriesInExists()
*/
@Override
public boolean supportsSubqueriesInExists() throws SQLException {
return getMetadata().supportsSubqueriesInExists();
}
/* (non-Javadoc)
* @See org.teiid.designer.jdbc.metadata.Capabilities#supportsSubqueriesInIns()
*/
@Override
public boolean supportsSubqueriesInIns() throws SQLException {
return getMetadata().supportsSubqueriesInIns();
}
/* (non-Javadoc)
* @See org.teiid.designer.jdbc.metadata.Capabilities#supportsSubqueriesInQuantifieds()
*/
@Override
public boolean supportsSubqueriesInQuantifieds() throws SQLException {
return getMetadata().supportsSubqueriesInQuantifieds();
}
/* (non-Javadoc)
* @See org.teiid.designer.jdbc.metadata.Capabilities#supportsTableCorrelationNames()
*/
@Override
public boolean supportsTableCorrelationNames() throws SQLException {
return getMetadata().supportsTableCorrelationNames();
}
/* (non-Javadoc)
* @See org.teiid.designer.jdbc.metadata.Capabilities#supportsTransactionIsolationLevel(int)
*/
@Override
public boolean supportsTransactionIsolationLevel( int level ) throws SQLException {
return getMetadata().supportsTransactionIsolationLevel(level);
}
/* (non-Javadoc)
* @See org.teiid.designer.jdbc.metadata.Capabilities#supportsTransactions()
*/
@Override
public boolean supportsTransactions() throws SQLException {
return getMetadata().supportsTransactions();
}
/* (non-Javadoc)
* @See org.teiid.designer.jdbc.metadata.Capabilities#supportsUnion()
*/
@Override
public boolean supportsUnion() throws SQLException {
return getMetadata().supportsUnion();
}
/* (non-Javadoc)
* @See org.teiid.designer.jdbc.metadata.Capabilities#supportsUnionAll()
*/
@Override
public boolean supportsUnionAll() throws SQLException {
return getMetadata().supportsUnionAll();
}
/* (non-Javadoc)
* @See org.teiid.designer.jdbc.metadata.Capabilities#updatesAreDetected(int)
*/
@Override
public boolean updatesAreDetected( int type ) throws SQLException {
return getMetadata().updatesAreDetected(type);
}
/* (non-Javadoc)
* @See org.teiid.designer.jdbc.metadata.Capabilities#usesLocalFilePerTable()
*/
@Override
public boolean usesLocalFilePerTable() throws SQLException {
return getMetadata().usesLocalFilePerTable();
}
/* (non-Javadoc)
* @See org.teiid.designer.jdbc.metadata.Capabilities#usesLocalFiles()
*/
@Override
public boolean usesLocalFiles() throws SQLException {
return getMetadata().usesLocalFiles();
}
}