Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,10 @@
import org.hibernate.sql.ast.spi.StandardSqlAstTranslatorFactory;
import org.hibernate.sql.ast.tree.Statement;
import org.hibernate.sql.exec.spi.JdbcOperation;
import org.hibernate.tool.schema.extract.internal.InformationExtractorPostgreSQLImpl;
import org.hibernate.tool.schema.extract.spi.ColumnTypeInformation;
import org.hibernate.tool.schema.extract.spi.ExtractionContext;
import org.hibernate.tool.schema.extract.spi.InformationExtractor;
import org.hibernate.type.JavaObjectType;
import org.hibernate.type.descriptor.jdbc.BlobJdbcType;
import org.hibernate.type.descriptor.jdbc.ClobJdbcType;
Expand Down Expand Up @@ -1218,4 +1221,8 @@ public boolean supportsRowValueConstructorSyntaxInQuantifiedPredicates() {
return false;
}

@Override
public InformationExtractor getInformationExtractor(ExtractionContext extractionContext) {
return new InformationExtractorPostgreSQLImpl( extractionContext );
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,10 @@
import org.hibernate.sql.model.MutationOperation;
import org.hibernate.sql.model.internal.OptionalTableUpdate;
import org.hibernate.sql.model.jdbc.OptionalTableUpdateOperation;
import org.hibernate.tool.schema.extract.internal.InformationExtractorPostgreSQLImpl;
import org.hibernate.tool.schema.extract.spi.ColumnTypeInformation;
import org.hibernate.tool.schema.extract.spi.ExtractionContext;
import org.hibernate.tool.schema.extract.spi.InformationExtractor;
import org.hibernate.tool.schema.internal.StandardTableExporter;
import org.hibernate.tool.schema.spi.Exporter;
import org.hibernate.type.JavaObjectType;
Expand Down Expand Up @@ -1377,4 +1380,9 @@ public boolean supportsFromClauseInUpdate() {
public boolean supportsBindingNullSqlTypeForSetNull() {
return true;
}

@Override
public InformationExtractor getInformationExtractor(ExtractionContext extractionContext) {
return new InformationExtractorPostgreSQLImpl( extractionContext );
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -101,8 +101,11 @@
import org.hibernate.sql.ast.spi.StandardSqlAstTranslatorFactory;
import org.hibernate.sql.ast.tree.Statement;
import org.hibernate.sql.exec.spi.JdbcOperation;
import org.hibernate.tool.schema.extract.internal.InformationExtractorOracleImpl;
import org.hibernate.tool.schema.extract.internal.SequenceInformationExtractorOracleDatabaseImpl;
import org.hibernate.tool.schema.extract.spi.ColumnTypeInformation;
import org.hibernate.tool.schema.extract.spi.ExtractionContext;
import org.hibernate.tool.schema.extract.spi.InformationExtractor;
import org.hibernate.tool.schema.extract.spi.SequenceInformationExtractor;
import org.hibernate.tool.schema.internal.StandardTableExporter;
import org.hibernate.tool.schema.spi.Exporter;
Expand Down Expand Up @@ -1770,4 +1773,8 @@ public boolean supportsRowValueConstructorSyntaxInInSubQuery() {
return getVersion().isSameOrAfter( 9 );
}

@Override
public InformationExtractor getInformationExtractor(ExtractionContext extractionContext) {
return new InformationExtractorOracleImpl( extractionContext );
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,10 @@
import org.hibernate.sql.ast.spi.StandardSqlAstTranslatorFactory;
import org.hibernate.sql.ast.tree.Statement;
import org.hibernate.sql.exec.spi.JdbcOperation;
import org.hibernate.tool.schema.extract.internal.InformationExtractorPostgreSQLImpl;
import org.hibernate.tool.schema.extract.spi.ColumnTypeInformation;
import org.hibernate.tool.schema.extract.spi.ExtractionContext;
import org.hibernate.tool.schema.extract.spi.InformationExtractor;
import org.hibernate.tool.schema.internal.StandardTableExporter;
import org.hibernate.tool.schema.spi.Exporter;
import org.hibernate.type.JavaObjectType;
Expand Down Expand Up @@ -1649,4 +1652,9 @@ public boolean supportsRecursiveSearchClause() {
return getVersion().isSameOrAfter( 14 );
}

@Override
public InformationExtractor getInformationExtractor(ExtractionContext extractionContext) {
return new InformationExtractorPostgreSQLImpl( extractionContext );
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,10 @@
import org.hibernate.sql.ast.spi.StandardSqlAstTranslatorFactory;
import org.hibernate.sql.ast.tree.Statement;
import org.hibernate.sql.exec.spi.JdbcOperation;
import org.hibernate.tool.schema.extract.internal.InformationExtractorPostgreSQLImpl;
import org.hibernate.tool.schema.extract.spi.ColumnTypeInformation;
import org.hibernate.tool.schema.extract.spi.ExtractionContext;
import org.hibernate.tool.schema.extract.spi.InformationExtractor;
import org.hibernate.type.JavaObjectType;
import org.hibernate.type.descriptor.jdbc.BlobJdbcType;
import org.hibernate.type.descriptor.jdbc.ClobJdbcType;
Expand Down Expand Up @@ -1189,4 +1192,9 @@ public String getReadLockString(int timeout) {
public String getReadLockString(String aliases, int timeout) {
return withTimeout( " for share of " + aliases, timeout );
}

@Override
public InformationExtractor getInformationExtractor(ExtractionContext extractionContext) {
return new InformationExtractorPostgreSQLImpl( extractionContext );
}
}
13 changes: 13 additions & 0 deletions hibernate-core/src/main/java/org/hibernate/dialect/Dialect.java
Original file line number Diff line number Diff line change
Expand Up @@ -129,9 +129,12 @@
import org.hibernate.sql.model.MutationOperation;
import org.hibernate.sql.model.internal.OptionalTableUpdate;
import org.hibernate.sql.model.jdbc.OptionalTableUpdateOperation;
import org.hibernate.tool.schema.extract.internal.InformationExtractorJdbcDatabaseMetaDataImpl;
import org.hibernate.tool.schema.extract.internal.SequenceInformationExtractorLegacyImpl;
import org.hibernate.tool.schema.extract.internal.SequenceInformationExtractorNoOpImpl;
import org.hibernate.tool.schema.extract.spi.ColumnTypeInformation;
import org.hibernate.tool.schema.extract.spi.ExtractionContext;
import org.hibernate.tool.schema.extract.spi.InformationExtractor;
import org.hibernate.tool.schema.extract.spi.SequenceInformationExtractor;
import org.hibernate.tool.schema.internal.HibernateSchemaManagementTool;
import org.hibernate.tool.schema.internal.StandardAuxiliaryDatabaseObjectExporter;
Expand Down Expand Up @@ -2173,6 +2176,16 @@ public SequenceInformationExtractor getSequenceInformationExtractor() {
: SequenceInformationExtractorLegacyImpl.INSTANCE;
}

/**
* A {@link InformationExtractor} which is able to extract
* table, primary key, foreign key, index information etc. via JDBC.
*
* @since 7.2
*/
public InformationExtractor getInformationExtractor(ExtractionContext extractionContext) {
return new InformationExtractorJdbcDatabaseMetaDataImpl( extractionContext );
}

// GUID support ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,9 @@
import org.hibernate.sql.exec.spi.JdbcOperation;
import org.hibernate.sql.model.MutationOperation;
import org.hibernate.sql.model.internal.OptionalTableUpdate;
import org.hibernate.tool.schema.extract.internal.InformationExtractorMySQLImpl;
import org.hibernate.tool.schema.extract.spi.ExtractionContext;
import org.hibernate.tool.schema.extract.spi.InformationExtractor;
import org.hibernate.type.BasicTypeRegistry;
import org.hibernate.type.NullType;
import org.hibernate.type.SqlTypes;
Expand Down Expand Up @@ -1666,4 +1669,8 @@ public MutationOperation createOptionalTableUpdateOperation(EntityMutationTarget
return super.createOptionalTableUpdateOperation( mutationTarget, optionalTableUpdate, factory );
}

@Override
public InformationExtractor getInformationExtractor(ExtractionContext extractionContext) {
return new InformationExtractorMySQLImpl( extractionContext );
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -87,8 +87,11 @@
import org.hibernate.sql.exec.spi.JdbcOperation;
import org.hibernate.sql.model.MutationOperation;
import org.hibernate.sql.model.internal.OptionalTableUpdate;
import org.hibernate.tool.schema.extract.internal.InformationExtractorOracleImpl;
import org.hibernate.tool.schema.extract.internal.SequenceInformationExtractorOracleDatabaseImpl;
import org.hibernate.tool.schema.extract.spi.ColumnTypeInformation;
import org.hibernate.tool.schema.extract.spi.ExtractionContext;
import org.hibernate.tool.schema.extract.spi.InformationExtractor;
import org.hibernate.tool.schema.extract.spi.SequenceInformationExtractor;
import org.hibernate.tool.schema.internal.StandardTableExporter;
import org.hibernate.tool.schema.spi.Exporter;
Expand Down Expand Up @@ -1874,4 +1877,9 @@ public boolean supportsRowValueConstructorSyntaxInQuantifiedPredicates() {
return false;
}

@Override
public InformationExtractor getInformationExtractor(ExtractionContext extractionContext) {
return new InformationExtractorOracleImpl( extractionContext );
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,10 @@
import org.hibernate.sql.exec.spi.JdbcOperation;
import org.hibernate.sql.model.MutationOperation;
import org.hibernate.sql.model.internal.OptionalTableUpdate;
import org.hibernate.tool.schema.extract.internal.InformationExtractorPostgreSQLImpl;
import org.hibernate.tool.schema.extract.spi.ColumnTypeInformation;
import org.hibernate.tool.schema.extract.spi.ExtractionContext;
import org.hibernate.tool.schema.extract.spi.InformationExtractor;
import org.hibernate.tool.schema.internal.StandardTableExporter;
import org.hibernate.tool.schema.spi.Exporter;
import org.hibernate.type.JavaObjectType;
Expand Down Expand Up @@ -1648,4 +1651,8 @@ public boolean supportsRecursiveSearchClause() {
return getVersion().isSameOrAfter( 14 );
}

@Override
public InformationExtractor getInformationExtractor(ExtractionContext extractionContext) {
return new InformationExtractorPostgreSQLImpl( extractionContext );
}
}
Loading