Class AbstractReactiveInformationSchemaBasedExtractorImpl
java.lang.Object
org.hibernate.tool.schema.extract.internal.AbstractInformationExtractorImpl
org.hibernate.reactive.provider.service.AbstractReactiveInformationSchemaBasedExtractorImpl
- All Implemented Interfaces:
InformationExtractor
- Direct Known Subclasses:
MySqlReactiveInformationExtractorImpl
,OracleSqlReactiveInformationExtractorImpl
,PostgreSqlReactiveInformationExtractorImpl
,SqlServerReactiveInformationExtractorImpl
public abstract class AbstractReactiveInformationSchemaBasedExtractorImpl
extends AbstractInformationExtractorImpl
An implementation of
InformationExtractor
that obtains metadata
information from a database's information_schema.-
Nested Class Summary
Nested classes/interfaces inherited from class org.hibernate.tool.schema.extract.internal.AbstractInformationExtractorImpl
AbstractInformationExtractorImpl.ForeignKeyBuilder, AbstractInformationExtractorImpl.ForeignKeyBuilderImpl
-
Constructor Summary
ConstructorsConstructorDescriptionAbstractReactiveInformationSchemaBasedExtractorImpl
(ExtractionContext extractionContext) -
Method Summary
Modifier and TypeMethodDescriptionprotected boolean
appendClauseAndParameterIfNotNullOrEmpty
(String clause, Object parameter, StringBuilder sb, List<Object> parameters) protected ColumnInformationImpl
columnInformation
(TableInformation tableInformation, ResultSet resultSet) protected int
dataTypeCode
(String typeName) Return a JDBC Type code for the given type nameprotected String
getDatabaseCatalogColumnName
(String catalogColumnName, String schemaColumnName) Given a catalog column name and a schema column name in an information_schema table/view, this method returns the column used for storing the catalog name, or, if there is no valid column containing the catalog name.
protected String
getDatabaseSchemaColumnName
(String catalogColumnName, String schemaColumnName) Given a catalog column name and a schema column name in an information_schema table/view, this method returns the column used for storing the schema name, or, if there is no valid column containing the schema name.
protected String
Gets the name of column in information_schema.columns for the database-specific column type.protected String
protected String
protected String
protected String
protected String
protected String
protected String
protected String
protected String
protected String
protected String
protected String
protected String
protected String
protected String
protected String
protected String
protected String
protected String
protected String
protected String
protected String
protected String
parameterMarker
(int pos) protected <T> T
processCatalogsResultSet
(ExtractionContext.ResultSetProcessor<T> processor) protected <T> T
processColumnsResultSet
(String catalog, String schemaPattern, String tableNamePattern, String columnNamePattern, ExtractionContext.ResultSetProcessor<T> processor) protected <T> T
processCrossReferenceResultSet
(String parentCatalog, String parentSchema, String parentTable, String foreignCatalog, String foreignSchema, String foreignTable, ExtractionContext.ResultSetProcessor<T> processor) protected <T> T
processSchemaResultSet
(String catalog, String schemaPattern, ExtractionContext.ResultSetProcessor<T> processor) protected <T> T
processTableResultSet
(String catalog, String schemaPattern, String tableNamePattern, String[] types, ExtractionContext.ResultSetProcessor<T> processor) Methods inherited from class org.hibernate.tool.schema.extract.internal.AbstractInformationExtractorImpl
addColumns, catalogExists, convertSQLException, getExtractionContext, getForeignKeys, getIndexes, getJdbcEnvironment, getPrimaryKey, getTable, getTables, interpretTruthValue, isPhysicalTableType, processImportedKeysResultSet, processIndexInfoResultSet, processPrimaryKeysResultSet, schemaExists, toMetaDataObjectName
-
Constructor Details
-
AbstractReactiveInformationSchemaBasedExtractorImpl
-
-
Method Details
-
getResultSetCatalogLabel
- Overrides:
getResultSetCatalogLabel
in classAbstractInformationExtractorImpl
-
getResultSetSchemaLabel
- Overrides:
getResultSetSchemaLabel
in classAbstractInformationExtractorImpl
-
getResultSetTableNameLabel
- Overrides:
getResultSetTableNameLabel
in classAbstractInformationExtractorImpl
-
getResultSetTableTypeLabel
- Overrides:
getResultSetTableTypeLabel
in classAbstractInformationExtractorImpl
-
getResultSetRemarksLabel
- Overrides:
getResultSetRemarksLabel
in classAbstractInformationExtractorImpl
-
getResultSetColumnNameLabel
- Overrides:
getResultSetColumnNameLabel
in classAbstractInformationExtractorImpl
-
getResultSetSqlTypeCodeLabel
- Overrides:
getResultSetSqlTypeCodeLabel
in classAbstractInformationExtractorImpl
-
getResultSetTypeNameLabel
- Overrides:
getResultSetTypeNameLabel
in classAbstractInformationExtractorImpl
-
getResultSetColumnSizeLabel
- Overrides:
getResultSetColumnSizeLabel
in classAbstractInformationExtractorImpl
-
getResultSetDecimalDigitsLabel
- Overrides:
getResultSetDecimalDigitsLabel
in classAbstractInformationExtractorImpl
-
getResultSetIsNullableLabel
- Overrides:
getResultSetIsNullableLabel
in classAbstractInformationExtractorImpl
-
getResultSetIndexTypeLabel
- Overrides:
getResultSetIndexTypeLabel
in classAbstractInformationExtractorImpl
-
getResultSetIndexNameLabel
- Overrides:
getResultSetIndexNameLabel
in classAbstractInformationExtractorImpl
-
getResultSetForeignKeyLabel
- Overrides:
getResultSetForeignKeyLabel
in classAbstractInformationExtractorImpl
-
getResultSetPrimaryKeyNameLabel
- Overrides:
getResultSetPrimaryKeyNameLabel
in classAbstractInformationExtractorImpl
-
getResultSetColumnPositionColumn
- Overrides:
getResultSetColumnPositionColumn
in classAbstractInformationExtractorImpl
-
getResultSetPrimaryKeyColumnNameLabel
- Overrides:
getResultSetPrimaryKeyColumnNameLabel
in classAbstractInformationExtractorImpl
-
getResultSetForeignKeyColumnNameLabel
- Overrides:
getResultSetForeignKeyColumnNameLabel
in classAbstractInformationExtractorImpl
-
getResultSetPrimaryKeyCatalogLabel
- Overrides:
getResultSetPrimaryKeyCatalogLabel
in classAbstractInformationExtractorImpl
-
getResultSetPrimaryKeySchemaLabel
- Overrides:
getResultSetPrimaryKeySchemaLabel
in classAbstractInformationExtractorImpl
-
getResultSetPrimaryKeyTableLabel
- Overrides:
getResultSetPrimaryKeyTableLabel
in classAbstractInformationExtractorImpl
-
getResultSetTableTypesPhysicalTableConstant
- Specified by:
getResultSetTableTypesPhysicalTableConstant
in classAbstractInformationExtractorImpl
-
processCatalogsResultSet
protected <T> T processCatalogsResultSet(ExtractionContext.ResultSetProcessor<T> processor) throws SQLException - Specified by:
processCatalogsResultSet
in classAbstractInformationExtractorImpl
- Throws:
SQLException
-
processCrossReferenceResultSet
protected <T> T processCrossReferenceResultSet(String parentCatalog, String parentSchema, String parentTable, String foreignCatalog, String foreignSchema, String foreignTable, ExtractionContext.ResultSetProcessor<T> processor) - Specified by:
processCrossReferenceResultSet
in classAbstractInformationExtractorImpl
-
processSchemaResultSet
protected <T> T processSchemaResultSet(String catalog, String schemaPattern, ExtractionContext.ResultSetProcessor<T> processor) throws SQLException - Specified by:
processSchemaResultSet
in classAbstractInformationExtractorImpl
- Throws:
SQLException
-
appendClauseAndParameterIfNotNullOrEmpty
protected boolean appendClauseAndParameterIfNotNullOrEmpty(String clause, Object parameter, StringBuilder sb, List<Object> parameters) -
parameterMarker
-
processTableResultSet
protected <T> T processTableResultSet(String catalog, String schemaPattern, String tableNamePattern, String[] types, ExtractionContext.ResultSetProcessor<T> processor) throws SQLException - Specified by:
processTableResultSet
in classAbstractInformationExtractorImpl
- Throws:
SQLException
-
processColumnsResultSet
protected <T> T processColumnsResultSet(String catalog, String schemaPattern, String tableNamePattern, String columnNamePattern, ExtractionContext.ResultSetProcessor<T> processor) throws SQLException - Specified by:
processColumnsResultSet
in classAbstractInformationExtractorImpl
- Throws:
SQLException
-
getInformationSchemaColumnsDataTypeColumn
Gets the name of column in information_schema.columns for the database-specific column type.- Returns:
- the name of column in information_schema.columns for the database-specific column type
-
getDatabaseCatalogColumnName
Given a catalog column name and a schema column name in an information_schema table/view, this method returns the column used for storing the catalog name, or, if there is no valid column containing the catalog name. MySQL, for example, uses the schema name column in the information_schema to store the catalog name. (@see MySqlReactiveInformationExtractorImpl)
- Parameters:
catalogColumnName
- - the catalog column nameschemaColumnName
- - the schema column name- Returns:
- the column used for storing the catalog name,
or
if there is no valid column containing the catalog name.
-
getDatabaseSchemaColumnName
Given a catalog column name and a schema column name in an information_schema table/view, this method returns the column used for storing the schema name, or, if there is no valid column containing the schema name. MySQL, for example, does not have a valid column in the information_schema to store the schema name. (@see MySqlReactiveInformationExtractorImpl)
- Parameters:
catalogColumnName
- - the catalog column nameschemaColumnName
- - the schema column name- Returns:
- the column used for storing the schema name,
or
if there is no valid column containing the schema name.
-
columnInformation
protected ColumnInformationImpl columnInformation(TableInformation tableInformation, ResultSet resultSet) throws SQLException - Overrides:
columnInformation
in classAbstractInformationExtractorImpl
- Throws:
SQLException
-
dataTypeCode
Return a JDBC Type code for the given type name
-