[midPoint-git] [Evolveum/midpoint] 7f7a0e: Native repo: LEFT JOIN is used when ordering by re...
virgo47
noreply at github.com
Mon Jan 23 15:13:08 CET 2023
Branch: refs/heads/master
Home: https://github.com/Evolveum/midpoint
Commit: 7f7a0e9e40823fb20929afff9f1c75d329a6e4f8
https://github.com/Evolveum/midpoint/commit/7f7a0e9e40823fb20929afff9f1c75d329a6e4f8
Author: Richard Richter <richard.richter at evolveum.com>
Date: 2023-01-23 (Mon, 23 Jan 2023)
Changed paths:
M repo/repo-sqale/src/main/java/com/evolveum/midpoint/repo/sqale/SqaleQueryContext.java
M repo/repo-sqale/src/main/java/com/evolveum/midpoint/repo/sqale/filtering/RefItemFilterProcessor.java
M repo/repo-sqale/src/main/java/com/evolveum/midpoint/repo/sqale/mapping/RefTableTargetResolver.java
M repo/repo-sqale/src/test/java/com/evolveum/midpoint/repo/sqale/func/SqaleRepoSearchTest.java
M repo/repo-sqlbase/src/main/java/com/evolveum/midpoint/repo/sqlbase/SqlQueryContext.java
M repo/repo-sqlbase/src/main/java/com/evolveum/midpoint/repo/sqlbase/mapping/TableRelationResolver.java
Log Message:
-----------
Native repo: LEFT JOIN is used when ordering by ref target item
This allows ordering by the target item for reference search where
it makes sense even for multi-value refs, because each ref value has
its own result row.
Target conditions are still applied by EXISTS (semi-join), but that's
not a correctness problem; possible improvements mentioned in comments.
Also, unique aliases are now not checked against JOINs of the Querydsl
query, but tracked explicitly in a Set in the root query context.
More information about the midPoint-svn
mailing list