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 org.hibernate.tool.schema.extract.internal.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
org.hibernate.tool.schema.extract.internal.AbstractInformationExtractorImpl.ForeignKeyBuilder, org.hibernate.tool.schema.extract.internal.AbstractInformationExtractorImpl.ForeignKeyBuilderImpl -
Constructor Summary
ConstructorsConstructorDescriptionAbstractReactiveInformationSchemaBasedExtractorImpl(ExtractionContext extractionContext) -
Method Summary
Modifier and TypeMethodDescriptionprotected booleanappendClauseAndParameterIfNotNullOrEmpty(String clause, Object parameter, StringBuilder sb, List<Object> parameters) protected org.hibernate.tool.schema.extract.internal.ColumnInformationImplcolumnInformation(TableInformation tableInformation, ResultSet resultSet) protected intdataTypeCode(String typeName) Return a JDBC Type code for the given type nameprotected StringgetDatabaseCatalogColumnName(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 StringgetDatabaseSchemaColumnName(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 StringGets the name of column in information_schema.columns for the database-specific column type.protected Stringprotected Stringprotected Stringprotected Stringprotected Stringprotected Stringprotected Stringprotected Stringprotected Stringprotected Stringprotected Stringprotected Stringprotected Stringprotected Stringprotected Stringprotected Stringprotected Stringprotected Stringprotected Stringprotected Stringprotected Stringprotected Stringprotected StringparameterMarker(int pos) protected <T> TprocessCatalogsResultSet(ExtractionContext.ResultSetProcessor<T> processor) protected <T> TprocessColumnsResultSet(String catalog, String schemaPattern, String tableNamePattern, String columnNamePattern, ExtractionContext.ResultSetProcessor<T> processor) protected <T> TprocessCrossReferenceResultSet(String parentCatalog, String parentSchema, String parentTable, String foreignCatalog, String foreignSchema, String foreignTable, ExtractionContext.ResultSetProcessor<T> processor) protected <T> TprocessSchemaResultSet(String catalog, String schemaPattern, ExtractionContext.ResultSetProcessor<T> processor) protected <T> TprocessTableResultSet(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:
getResultSetCatalogLabelin classorg.hibernate.tool.schema.extract.internal.AbstractInformationExtractorImpl
-
getResultSetSchemaLabel
- Overrides:
getResultSetSchemaLabelin classorg.hibernate.tool.schema.extract.internal.AbstractInformationExtractorImpl
-
getResultSetTableNameLabel
- Overrides:
getResultSetTableNameLabelin classorg.hibernate.tool.schema.extract.internal.AbstractInformationExtractorImpl
-
getResultSetTableTypeLabel
- Overrides:
getResultSetTableTypeLabelin classorg.hibernate.tool.schema.extract.internal.AbstractInformationExtractorImpl
-
getResultSetRemarksLabel
- Overrides:
getResultSetRemarksLabelin classorg.hibernate.tool.schema.extract.internal.AbstractInformationExtractorImpl
-
getResultSetColumnNameLabel
- Overrides:
getResultSetColumnNameLabelin classorg.hibernate.tool.schema.extract.internal.AbstractInformationExtractorImpl
-
getResultSetSqlTypeCodeLabel
- Overrides:
getResultSetSqlTypeCodeLabelin classorg.hibernate.tool.schema.extract.internal.AbstractInformationExtractorImpl
-
getResultSetTypeNameLabel
- Overrides:
getResultSetTypeNameLabelin classorg.hibernate.tool.schema.extract.internal.AbstractInformationExtractorImpl
-
getResultSetColumnSizeLabel
- Overrides:
getResultSetColumnSizeLabelin classorg.hibernate.tool.schema.extract.internal.AbstractInformationExtractorImpl
-
getResultSetDecimalDigitsLabel
- Overrides:
getResultSetDecimalDigitsLabelin classorg.hibernate.tool.schema.extract.internal.AbstractInformationExtractorImpl
-
getResultSetIsNullableLabel
- Overrides:
getResultSetIsNullableLabelin classorg.hibernate.tool.schema.extract.internal.AbstractInformationExtractorImpl
-
getResultSetIndexTypeLabel
- Overrides:
getResultSetIndexTypeLabelin classorg.hibernate.tool.schema.extract.internal.AbstractInformationExtractorImpl
-
getResultSetIndexNameLabel
- Overrides:
getResultSetIndexNameLabelin classorg.hibernate.tool.schema.extract.internal.AbstractInformationExtractorImpl
-
getResultSetForeignKeyLabel
- Overrides:
getResultSetForeignKeyLabelin classorg.hibernate.tool.schema.extract.internal.AbstractInformationExtractorImpl
-
getResultSetPrimaryKeyNameLabel
- Overrides:
getResultSetPrimaryKeyNameLabelin classorg.hibernate.tool.schema.extract.internal.AbstractInformationExtractorImpl
-
getResultSetColumnPositionColumn
- Overrides:
getResultSetColumnPositionColumnin classorg.hibernate.tool.schema.extract.internal.AbstractInformationExtractorImpl
-
getResultSetPrimaryKeyColumnNameLabel
- Overrides:
getResultSetPrimaryKeyColumnNameLabelin classorg.hibernate.tool.schema.extract.internal.AbstractInformationExtractorImpl
-
getResultSetForeignKeyColumnNameLabel
- Overrides:
getResultSetForeignKeyColumnNameLabelin classorg.hibernate.tool.schema.extract.internal.AbstractInformationExtractorImpl
-
getResultSetPrimaryKeyCatalogLabel
- Overrides:
getResultSetPrimaryKeyCatalogLabelin classorg.hibernate.tool.schema.extract.internal.AbstractInformationExtractorImpl
-
getResultSetPrimaryKeySchemaLabel
- Overrides:
getResultSetPrimaryKeySchemaLabelin classorg.hibernate.tool.schema.extract.internal.AbstractInformationExtractorImpl
-
getResultSetPrimaryKeyTableLabel
- Overrides:
getResultSetPrimaryKeyTableLabelin classorg.hibernate.tool.schema.extract.internal.AbstractInformationExtractorImpl
-
getResultSetTableTypesPhysicalTableConstant
- Specified by:
getResultSetTableTypesPhysicalTableConstantin classorg.hibernate.tool.schema.extract.internal.AbstractInformationExtractorImpl
-
processCatalogsResultSet
protected <T> T processCatalogsResultSet(ExtractionContext.ResultSetProcessor<T> processor) throws SQLException - Specified by:
processCatalogsResultSetin classorg.hibernate.tool.schema.extract.internal.AbstractInformationExtractorImpl- 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:
processCrossReferenceResultSetin classorg.hibernate.tool.schema.extract.internal.AbstractInformationExtractorImpl
-
processSchemaResultSet
protected <T> T processSchemaResultSet(String catalog, String schemaPattern, ExtractionContext.ResultSetProcessor<T> processor) throws SQLException - Specified by:
processSchemaResultSetin classorg.hibernate.tool.schema.extract.internal.AbstractInformationExtractorImpl- 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:
processTableResultSetin classorg.hibernate.tool.schema.extract.internal.AbstractInformationExtractorImpl- Throws:
SQLException
-
processColumnsResultSet
protected <T> T processColumnsResultSet(String catalog, String schemaPattern, String tableNamePattern, String columnNamePattern, ExtractionContext.ResultSetProcessor<T> processor) throws SQLException - Specified by:
processColumnsResultSetin classorg.hibernate.tool.schema.extract.internal.AbstractInformationExtractorImpl- 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 org.hibernate.tool.schema.extract.internal.ColumnInformationImpl columnInformation(TableInformation tableInformation, ResultSet resultSet) throws SQLException - Overrides:
columnInformationin classorg.hibernate.tool.schema.extract.internal.AbstractInformationExtractorImpl- Throws:
SQLException
-
dataTypeCode
Return a JDBC Type code for the given type name
-