Package com.exasol.adapter.jdbc
Class AbstractRemoteMetadataReader
- java.lang.Object
-
- com.exasol.adapter.jdbc.AbstractMetadataReader
-
- com.exasol.adapter.jdbc.AbstractRemoteMetadataReader
-
- All Implemented Interfaces:
MetadataReader,RemoteMetadataReader
- Direct Known Subclasses:
BaseRemoteMetadataReader
public abstract class AbstractRemoteMetadataReader extends AbstractMetadataReader implements RemoteMetadataReader
Contains a common part of remote metadata readers.
-
-
Field Summary
Fields Modifier and Type Field Description protected ColumnMetadataReadercolumnMetadataReaderColumn metadata readerprotected IdentifierConverteridentifierConverterIdentifier converterprotected TableMetadataReadertableMetadataReaderTable metadata reader-
Fields inherited from class com.exasol.adapter.jdbc.AbstractMetadataReader
connection, exaMetadata, properties
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedAbstractRemoteMetadataReader(Connection connection, com.exasol.adapter.AdapterProperties properties, com.exasol.ExaMetadata exaMetadata)Create a new instance ofAbstractRemoteMetadataReader.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected abstract ColumnMetadataReadercreateColumnMetadataReader()Create a reader that handles column metadata.protected abstract IdentifierConvertercreateIdentifierConverter()Create a converter that translates identifiers from the remote data source to the Exasol representation.protected abstract TableMetadataReadercreateTableMetadataReader()Create a reader that handles table metadata.ColumnMetadataReadergetColumnMetadataReader()Get the remote column metadata reader.IdentifierConvertergetIdentifierConverter()Get the identifier converter.SchemaAdapterNotesgetSchemaAdapterNotes()Create the schema adapter notes from database metadata.Set<String>getSupportedTableTypes()Get the table types the remote metadata reader supports.TableMetadataReadergetTableMetadataReader()Get the table metadata reader.protected String[]getTableTypeFilter()Get the table type filter.protected voidlogTablesScan(String catalogName, String schemaName)Log the tables scanning.com.exasol.adapter.metadata.SchemaMetadatareadRemoteSchemaMetadata()Read schema metadata from the remote data source.com.exasol.adapter.metadata.SchemaMetadatareadRemoteSchemaMetadata(List<String> selectedTables)Read schema metadata for a selection of tables from the remote data source.-
Methods inherited from class com.exasol.adapter.jdbc.AbstractMetadataReader
getCatalogNameFilter, getSchemaNameFilter
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface com.exasol.adapter.jdbc.MetadataReader
getCatalogNameFilter, getSchemaNameFilter
-
-
-
-
Field Detail
-
columnMetadataReader
protected final ColumnMetadataReader columnMetadataReader
Column metadata reader
-
tableMetadataReader
protected final TableMetadataReader tableMetadataReader
Table metadata reader
-
identifierConverter
protected final IdentifierConverter identifierConverter
Identifier converter
-
-
Constructor Detail
-
AbstractRemoteMetadataReader
protected AbstractRemoteMetadataReader(Connection connection, com.exasol.adapter.AdapterProperties properties, com.exasol.ExaMetadata exaMetadata)
Create a new instance ofAbstractRemoteMetadataReader.- Parameters:
connection- SQl connectionproperties- adapter propertiesexaMetadata- metadata of the Exasol database
-
-
Method Detail
-
createColumnMetadataReader
protected abstract ColumnMetadataReader createColumnMetadataReader()
Create a reader that handles column metadata.Override this method in cases where a remote data source needs specific handling of column metadata
- Returns:
- column metadata reader
-
createTableMetadataReader
protected abstract TableMetadataReader createTableMetadataReader()
Create a reader that handles table metadata.Override this method in cases where a remote data source needs specific handling of table metadata
- Returns:
- table metadata reader
-
createIdentifierConverter
protected abstract IdentifierConverter createIdentifierConverter()
Create a converter that translates identifiers from the remote data source to the Exasol representation.- Returns:
- identifier converter
-
getColumnMetadataReader
public final ColumnMetadataReader getColumnMetadataReader()
Get the remote column metadata reader.- Specified by:
getColumnMetadataReaderin interfaceRemoteMetadataReader- Returns:
- column metadata reader
-
getTableMetadataReader
public final TableMetadataReader getTableMetadataReader()
Get the table metadata reader.- Specified by:
getTableMetadataReaderin interfaceRemoteMetadataReader- Returns:
- table metadata reader
-
getIdentifierConverter
public IdentifierConverter getIdentifierConverter()
Get the identifier converter.- Returns:
- identifier converter
-
readRemoteSchemaMetadata
public com.exasol.adapter.metadata.SchemaMetadata readRemoteSchemaMetadata()
Description copied from interface:RemoteMetadataReaderRead schema metadata from the remote data source.- Specified by:
readRemoteSchemaMetadatain interfaceRemoteMetadataReader- Returns:
- remote schema metadata
-
readRemoteSchemaMetadata
public com.exasol.adapter.metadata.SchemaMetadata readRemoteSchemaMetadata(List<String> selectedTables)
Description copied from interface:RemoteMetadataReaderRead schema metadata for a selection of tables from the remote data source.- Specified by:
readRemoteSchemaMetadatain interfaceRemoteMetadataReader- Parameters:
selectedTables- selected tables- Returns:
- remote schema metadata
-
getTableTypeFilter
protected String[] getTableTypeFilter()
Get the table type filter.- Returns:
- supported table types
-
getSupportedTableTypes
public Set<String> getSupportedTableTypes()
Description copied from interface:RemoteMetadataReaderGet the table types the remote metadata reader supports.- Specified by:
getSupportedTableTypesin interfaceRemoteMetadataReader- Returns:
- set of table type names
-
logTablesScan
protected void logTablesScan(String catalogName, String schemaName)
Log the tables scanning.- Parameters:
catalogName- catalog nameschemaName- schema name
-
getSchemaAdapterNotes
public SchemaAdapterNotes getSchemaAdapterNotes()
Description copied from interface:RemoteMetadataReaderCreate the schema adapter notes from database metadata.- Specified by:
getSchemaAdapterNotesin interfaceRemoteMetadataReader- Returns:
- schema adapter notes
-
-