The GitHub Actions job "CI" on grails-core.git/ci/hibernate-matrix-testing has 
failed.
Run started by GitHub user borinquenkid (triggered by borinquenkid).

Head commit for run:
a458c4a6116f6779152da8aebb628c28c2a63357 / Walter Duque de Estrada 
<[email protected]>
fix(h7): fix 3 H7 GORM bugs — NonUniqueResultException, aggregate return types, 
cross-property arithmetic

Bug 2: HibernateQueryExecutor.singleResult() now catches both
org.hibernate.NonUniqueResultException and 
jakarta.persistence.NonUniqueResultException
(H7 throws the JPA variant; the original catch missed it) and returns the
first result instead of propagating.

Bug 4: HqlQueryContext.aggregateTargetClass() now returns precise types per
function: count() → Long, avg() → Double, sum/min/max() → Number.
Previously all aggregates were bound to Long, causing QueryTypeMismatchException
in H7's strict SQM type checking.

Bug 5: Cross-property arithmetic in where-DSL (e.g. pageCount > price * 10)
was silently dropped — the RHS property reference was coerced to a literal.
Fixed via:
- PropertyReference: Groovy wrapper returned by propertyMissing for numeric
  properties; *, +, -, / operators produce a PropertyArithmetic value object
- PropertyArithmetic: value type carrying (propertyName, Operator, operand)
- HibernateDetachedCriteria: H7-only DetachedCriteria subclass that overrides
  propertyMissing to return PropertyReference for numeric properties, and
  newInstance() to preserve the subtype through cloning
- HibernateGormStaticApi: overrides where/whereLazy/whereAny to use
  HibernateDetachedCriteria as the closure delegate
- PredicateGenerator: resolveNumericExpression() detects PropertyArithmetic
  and builds cb.prod/sum/diff/quot(path, operand) instead of a literal

H5 and MongoDB are unaffected — all new types are confined to 
grails-data-hibernate7.

Co-authored-by: Copilot <[email protected]>

Report URL: https://github.com/apache/grails-core/actions/runs/24158043558

With regards,
GitHub Actions via GitBox

Reply via email to