[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