Declined
Pinned fields
Click on the next to a field label to start pinning.
Details
Assignee
UnassignedUnassignedReporter
Michael Born @ OrtusMichael Born @ OrtusPriority
Major
Details
Details
Assignee
Unassigned
UnassignedReporter
Michael Born @ Ortus
Michael Born @ OrtusPriority
Sentry
Sentry
Sentry
Created June 13, 2022 at 6:23 PM
Updated June 14, 2022 at 5:44 PM
Resolved June 14, 2022 at 5:44 PM
Since CBORM 3.8.0, criteria queries using multiple DetachedCriteriaBuilders appear to reuse criteria in the generated SQL:
For example:
var documentSub = c.createSubcriteria( 'Document', 'document2' ); var documentSub2 = c.createSubcriteria( 'Document', 'document3' ); var documentSub3 = c.createSubcriteria( 'Document', 'document4' ); documentSub.createAlias( 'document2.editors', 'editors2' ) .withProjections( property='document2.id' ); documentSub2.createAlias( 'document3.reviewers', 'reviewers2' ) .withProjections( property='document3.id' ); documentSub3.createAlias( 'document4.finalReviewers', 'finalReviewers2' ) .withProjections( property='document4.id' ); documentSub.add( r.eq( 'editors2.id' , "user_id_123" ) ); documentSub2.add( r.eq( 'reviewers2.id' , "user_id_123" ) ); documentSub3.add( r.eq( 'finalReviewers2.id' , "user_id_123" ) ); c.add( r.or( documentSub.propertyIn( 'id' ), documentSub2.propertyIn( 'id' ), documentSub3.propertyIn( 'id' ) ) );
This generates SQL:
and ( this_.id in ( select document4_.id as y0_ from Documents document4_ ... where finalReviewers1_.id='user_id_123' ) or this_.id in ( select document4_.id as y0_ from Documents document4_ ... where finalReviewers1_.id='user_id_123' ) or this_.id in ( select document4_.id as y0_ from Documents document4_ ... where finalReviewers1_.id='user_id_123' ) )