Package it.unibz.inf.ontop.dbschema.impl
Class AbstractDBMetadataProvider
- java.lang.Object
-
- it.unibz.inf.ontop.dbschema.impl.AbstractDBMetadataProvider
-
- All Implemented Interfaces:
DBMetadataProvider,MetadataLookup,MetadataProvider
- Direct Known Subclasses:
DefaultDBMetadataProvider,DefaultSchemaCatalogDBMetadataProvider,DefaultSchemaDBMetadataProvider,DremioDBMetadataProvider,TeiidDBMetadataProvider
public abstract class AbstractDBMetadataProvider extends Object implements DBMetadataProvider
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static interfaceAbstractDBMetadataProvider.DefaultRelationIdComponentsFactoryprotected static interfaceAbstractDBMetadataProvider.QuotedIDFactoryFactory
-
Field Summary
Fields Modifier and Type Field Description protected Connectionconnectionprotected DBParametersdbParametersprotected Stringescapeprotected static org.slf4j.LoggerLOGGERprotected DatabaseMetaDatametadataprotected QuotedIDFactoryrawIdFactory
-
Constructor Summary
Constructors Modifier Constructor Description protectedAbstractDBMetadataProvider(Connection connection, AbstractDBMetadataProvider.QuotedIDFactoryFactory idFactoryProvider, CoreSingletons coreSingletons)
-
Method Summary
-
-
-
Field Detail
-
LOGGER
protected static final org.slf4j.Logger LOGGER
-
connection
protected final Connection connection
-
dbParameters
protected final DBParameters dbParameters
-
metadata
protected final DatabaseMetaData metadata
-
escape
protected final String escape
-
rawIdFactory
protected final QuotedIDFactory rawIdFactory
-
-
Constructor Detail
-
AbstractDBMetadataProvider
protected AbstractDBMetadataProvider(Connection connection, AbstractDBMetadataProvider.QuotedIDFactoryFactory idFactoryProvider, CoreSingletons coreSingletons) throws MetadataExtractionException
- Throws:
MetadataExtractionException
-
-
Method Detail
-
getQuotedIDFactory
public QuotedIDFactory getQuotedIDFactory()
- Specified by:
getQuotedIDFactoryin interfaceMetadataLookup
-
getDBParameters
public DBParameters getDBParameters()
- Specified by:
getDBParametersin interfaceMetadataProvider
-
normalizeAndOptimizeRelations
public void normalizeAndOptimizeRelations(List<NamedRelationDefinition> relationDefinitions)
- Specified by:
normalizeAndOptimizeRelationsin interfaceMetadataProvider
-
isRelationExcluded
protected boolean isRelationExcluded(RelationID id)
-
getRelationIDsResultSet
protected ResultSet getRelationIDsResultSet() throws SQLException
- Throws:
SQLException
-
getRelationIDs
public it.unibz.inf.ontop.com.google.common.collect.ImmutableList<RelationID> getRelationIDs() throws MetadataExtractionException
- Specified by:
getRelationIDsin interfaceMetadataProvider- Throws:
MetadataExtractionException
-
getRelationID
protected abstract RelationID getRelationID(ResultSet rs, String catalogNameColumn, String schemaNameColumn, String tableNameColum) throws SQLException
- Throws:
SQLException
-
checkSameRelationID
protected void checkSameRelationID(RelationID extractedId, RelationID givenId) throws MetadataExtractionException
- Throws:
MetadataExtractionException
-
escapeRelationIdComponentPattern
@Nullable protected String escapeRelationIdComponentPattern(@Nullable String s)
-
getRelation
public NamedRelationDefinition getRelation(RelationID id0) throws MetadataExtractionException
- Specified by:
getRelationin interfaceMetadataLookup- Throws:
MetadataExtractionException
-
extractSQLTypeName
protected String extractSQLTypeName(String typeName, int jdbcType, int columnSize, it.unibz.inf.ontop.dbschema.impl.AbstractDBMetadataProvider.PrecisionSupplier precisionSupplier) throws SQLException
- Throws:
SQLException
-
insertIntegrityConstraints
public void insertIntegrityConstraints(NamedRelationDefinition relation, MetadataLookup metadataLookup) throws MetadataExtractionException
- Specified by:
insertIntegrityConstraintsin interfaceMetadataProvider- Throws:
MetadataExtractionException
-
getBlackBoxView
public RelationDefinition getBlackBoxView(String query) throws MetadataExtractionException, InvalidQueryException
- Specified by:
getBlackBoxViewin interfaceMetadataLookup- Throws:
MetadataExtractionExceptionInvalidQueryException
-
extractBlackBoxViewByConnectingToDB
protected RelationDefinition extractBlackBoxViewByConnectingToDB(String query) throws MetadataExtractionException
- Throws:
MetadataExtractionException
-
makeQueryMinimizeResultSet
protected String makeQueryMinimizeResultSet(String query)
Can be overridden
-
extractBlackBoxViewWithoutConnectingToDB
protected RelationDefinition extractBlackBoxViewWithoutConnectingToDB(String query) throws InvalidQueryException
- Throws:
InvalidQueryException
-
getCanonicalRelationId
protected abstract RelationID getCanonicalRelationId(RelationID id)
-
getAllIDs
protected abstract it.unibz.inf.ontop.com.google.common.collect.ImmutableList<RelationID> getAllIDs(RelationID id)
-
getRelationCatalog
protected abstract String getRelationCatalog(RelationID id)
-
getRelationSchema
protected abstract String getRelationSchema(RelationID id)
-
getRelationName
protected abstract String getRelationName(RelationID id)
-
-