Rules Engine "Many-To-Many Match" Dynamic Filter Expression improvements

Description

Currently a Left join with a subquery in combination with a where clause filter is used for this filter.This is not optimal as via the extra join the query result set is manipulated and not just filtered, requiring a distinct to get rid of duplicates.
Proposal: use exists filter instead.

Example:
Current:
select distinct
testplatform.identifier,
testplatform.name,
testplatform.description,
testplatform.id as id
from
`pobj_testplatform` `testplatform`
left join
`pobj_testplatform_technology` `testplatform_technology` on (`testplatform_technology`.`testplatform` = `testplatform`.`id`)
left join
`pobj_technology` `technologies` on (`technologies`.`id` = `testplatform_technology`.`technology`)
where (
( technologies.id in ('D349FA58-D395-4D67-9790A0964969BC87') )
)

Proposed change:
select
testplatform.identifier,
testplatform.name,
testplatform.description,
testplatform.id as id
from
`pobj_testplatform` `testplatform`
where (
exists (
select 1 from pobj_testplatform_technology
where testplatform = testplatform.id
and technology in ('D349FA58-D395-4D67-9790A0964969BC87')
)
)

Your pinned fields
Click on the next to a field label to start pinning.

Assignee

Unassigned

Reporter

Jan Jannek