borinquenkid commented on PR #16583:
URL: https://github.com/apache/grails-core/pull/16583#issuecomment-6514613282
Updated in `b31e3d1ce4` addressing the round 4 feedback:
1. **Neo4j relationship endpoints**:
- Guarded `Query.IsNull` and `Query.IsNotNull` criterion handlers in
`Neo4jQuery.groovy` with `!(entity instanceof RelationshipPersistentEntity)`
before delegating to `formatAssociationPatternFromExisting`.
- Relationship entity endpoints (`from`, `to`) now fall through to
`formatProperty` and render as Cypher property expressions (`from IS NULL`,
`from IS NOT NULL`), avoiding formatting the relationship variable as a node
pattern. Added coverage in `RelationshipMappingSpec`.
2. **Entirely-null key probes & datastore contract**:
- Updated the javadoc on `Datastore.isEntirelyNullKeyExempt()` noting
that the `true` default reflects the absence of a unique index for datastores
such as `MongoDatastore`, `Neo4jDatastore`, and `SimpleMapDatastore`.
- Updated `UniqueConstraintNullsSpec` to check
`manager.session.datastore.entirelyNullKeyExempt`: when set, the `(null, null)`
probe expects `skipConflicts` (validates), aligning with non-SQL datastore
defaults.
- Pinned `manager.session.datastore.entirelyNullKeyExempt == exempt`
across the five databases in `UniqueNullsHibernate7Spec`.
3. **Documentation**:
- Added the entirely-null key rule next to the table in `unique.adoc` and
in section 20 of `upgrading90x.adoc`: accepted under `database` on every `skip`
database, on Oracle and Db2 for LUW with Hibernate 7, and on MongoDB, Neo4j,
and in-memory datastores; rejected on SQL Server, Sybase, and Db2 under
Hibernate 5; and rejected everywhere under an explicit `value`.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]