Branch: refs/heads/main
Home:
https://github.com/hibernate/hibernate-orm
Commit: 1e4b9e8ffb8aeee024faa2160f3e79019564e424
https://github.com/hibernate/hibernate-orm/commit/1e4b9e8ffb8aeee024faa21...
Author: Gavin King <gavin(a)hibernate.org>
Date: 2023-06-29 (Thu, 29 Jun 2023)
Changed paths:
M hibernate-core/src/main/java/org/hibernate/query/OutputableType.java
M
hibernate-core/src/main/java/org/hibernate/query/hql/internal/SemanticQueryBuilder.java
M hibernate-core/src/main/java/org/hibernate/query/sqm/internal/QuerySqmImpl.java
M
hibernate-core/src/main/java/org/hibernate/query/sqm/internal/SqmCriteriaNodeBuilder.java
M
hibernate-core/src/main/java/org/hibernate/query/sqm/produce/function/ArgumentTypesValidator.java
M
hibernate-core/src/main/java/org/hibernate/type/descriptor/java/CurrencyJavaType.java
M hibernate-core/src/main/java/org/hibernate/type/descriptor/java/EnumJavaType.java
M
hibernate-core/src/main/java/org/hibernate/type/descriptor/java/JdbcTimestampJavaType.java
M hibernate-core/src/main/java/org/hibernate/type/descriptor/jdbc/JdbcType.java
M
hibernate-core/src/test/java/org/hibernate/orm/test/jpa/CompositeIdFkUpdateTest.java
A
hibernate-core/src/test/java/org/hibernate/orm/test/query/hql/EnumComparisonTest.java
Log Message:
-----------
HHH-16858 improve typechecking for comparisons/assignments (#6910)
* HHH-16858 improve typechecking for comparisons/assignments
In particular, correctly typecheck comparisons between enums
and other enums, and literal integers / strings. Actually
I'm not a great fan of comparing enums with int/string literals
but since we used to support it in 5, and kinda mostly support
it in earlier releases of 6, on balance we might as well continue
to allow it.
* improve typechecking for arguments to min() & max()
- use the known JdbcType which previously we didn't have
proper access to
- and accidentally fix HHH-16859 by side-effect
(I didn't really want to fix that one, but it was easier
to fix it than to unfix it.)
* HHH-16858 handle MySQL enum types correctly in comparison typecheck