[hibernate-commits] [hibernate/hibernate-orm] dcc763: Move "type inference" of query nodes from creating...

Steve Ebersole noreply at github.com
Wed Apr 3 10:38:44 EDT 2019


  Branch: refs/heads/wip/6.0
  Home:   https://github.com/hibernate/hibernate-orm
  Commit: dcc7633232a5b3596e4883d151bf37553bdab168
      https://github.com/hibernate/hibernate-orm/commit/dcc7633232a5b3596e4883d151bf37553bdab168
  Author: Steve Ebersole <steve at hibernate.org>
  Date:   2019-04-03 (Wed, 03 Apr 2019)

  Changed paths:
    M hibernate-core/src/main/java/org/hibernate/sql/ast/produce/metamodel/spi/Fetchable.java
    A hibernate-core/src/main/java/org/hibernate/sql/ast/produce/sqm/spi/SqmExpressionInterpretation.java
    M hibernate-core/src/main/java/org/hibernate/sql/ast/produce/sqm/spi/SqmSelectToSqlAstConverter.java
    M hibernate-core/src/main/java/org/hibernate/sql/ast/produce/sqm/spi/SqmUpdateToSqlAstConverterMultiTable.java
    M hibernate-core/src/main/java/org/hibernate/sql/ast/tree/expression/Expression.java
    M hibernate-core/src/main/java/org/hibernate/sql/ast/tree/expression/domain/BasicValuedNavigableReference.java
    M hibernate-core/src/main/java/org/hibernate/sql/ast/tree/expression/domain/EmbeddableValuedNavigableReference.java
    M hibernate-core/src/main/java/org/hibernate/sql/ast/tree/expression/domain/NavigableContainerReference.java
    M hibernate-core/src/main/java/org/hibernate/sql/ast/tree/expression/domain/NavigableReference.java
    M hibernate-core/src/main/java/org/hibernate/sql/results/spi/DomainResultProducer.java
    M hibernate-core/src/main/java/org/hibernate/sql/results/spi/SqlSelectionProducer.java

  Log Message:
  -----------
  Move "type inference" of query nodes from creating SQM to processing it to create SQL AST

        - this is, I think, the final piece in allowing "SQM is-a JPA Criteria", though that process may spawn some changes in SQM tree structure for alignment with the JPA contracts

      - Cleaned up DomainResultProducer, SqlSelectionProducer, Expression, NavigableReference and the relation between them
      - next : start porting the type inference from SQM builder to SQM->SQL


  Commit: d7217847ae2ba6eb0a92bc030e942477eab6dbf6
      https://github.com/hibernate/hibernate-orm/commit/d7217847ae2ba6eb0a92bc030e942477eab6dbf6
  Author: Steve Ebersole <steve at hibernate.org>
  Date:   2019-04-03 (Wed, 03 Apr 2019)

  Changed paths:
    M hibernate-core/src/main/antlr/org/hibernate/query/hql/internal/HqlParser.g4
    M hibernate-core/src/main/java/org/hibernate/loader/internal/StandardSingleIdEntityLoader.java
    M hibernate-core/src/main/java/org/hibernate/metamodel/model/domain/internal/SingularPersistentAttributeEmbedded.java
    M hibernate-core/src/main/java/org/hibernate/metamodel/model/domain/internal/collection/CollectionElementEmbeddedImpl.java
    M hibernate-core/src/main/java/org/hibernate/metamodel/model/domain/internal/collection/CollectionIndexEmbeddedImpl.java
    M hibernate-core/src/main/java/org/hibernate/metamodel/model/domain/internal/composite/EmbeddedTypeDescriptorImpl.java
    M hibernate-core/src/main/java/org/hibernate/metamodel/model/domain/internal/entity/EntityIdentifierCompositeAggregatedImpl.java
    M hibernate-core/src/main/java/org/hibernate/metamodel/model/domain/internal/entity/EntityIdentifierCompositeNonAggregatedImpl.java
    M hibernate-core/src/main/java/org/hibernate/query/hql/internal/SemanticQueryBuilder.java
    M hibernate-core/src/main/java/org/hibernate/query/hql/internal/SqmProcessingIndex.java
    M hibernate-core/src/main/java/org/hibernate/query/sqm/consume/spi/BaseSqmToSqlAstConverter.java
    M hibernate-core/src/main/java/org/hibernate/query/sqm/mutation/spi/cte/CteDeleteHandlerImpl.java
    M hibernate-core/src/main/java/org/hibernate/query/sqm/mutation/spi/inline/InlineDeleteHandler.java
    M hibernate-core/src/main/java/org/hibernate/query/sqm/produce/SqmQuerySpecCreationProcessingState.java
    M hibernate-core/src/main/java/org/hibernate/query/sqm/produce/internal/SqmQuerySpecCreationProcessingStateStandardImpl.java
    M hibernate-core/src/main/java/org/hibernate/sql/ast/produce/metamodel/internal/MetamodelSelectBuilderProcess.java
    M hibernate-core/src/main/java/org/hibernate/sql/ast/produce/metamodel/spi/EmbeddedValueExpressableType.java
    M hibernate-core/src/main/java/org/hibernate/sql/ast/produce/metamodel/spi/ExpressableType.java
    M hibernate-core/src/main/java/org/hibernate/sql/ast/produce/sqm/spi/SqmExpressionInterpretation.java
    M hibernate-core/src/main/java/org/hibernate/sql/ast/tree/expression/SqlTuple.java
    M hibernate-core/src/main/java/org/hibernate/sql/ast/tree/expression/SubQuery.java
    M hibernate-core/src/main/java/org/hibernate/sql/ast/tree/expression/domain/NavigableReference.java
    A hibernate-core/src/test/java/org/hibernate/orm/test/query/sqm/execution/OrderingTests.java

  Log Message:
  -----------
  Move "type inference" of query nodes from creating SQM to processing it to create SQL AST

        - this is, I think, the final piece in allowing "SQM is-a JPA Criteria", though that process may spawn some changes in SQM tree structure for alignment with the JPA contracts

      - Cleaned up DomainResultProducer, SqlSelectionProducer, Expression, NavigableReference and the relation between them
      - initial porting of type inference from SQM builder to SQM->SQL

Plus :
    * Added test for HHH-1356 (order-by function)
    * Added test + impl for HHH-11688 (order-by select alias or position)


Compare: https://github.com/hibernate/hibernate-orm/compare/3ae5a44ddee8...d7217847ae2b


More information about the hibernate-commits mailing list