Problem with rules engine dynamic expression on related objects

Description

There seems to be a problem when using dynamic rules engine expressions for related objects.

Theoretic case:
Object A has multiple Object B

Case 1:
Get all Object A which do NOT have Object B with property X = "xxx"

Case 2:
Get all Object A which do have Object B that do either not have a property X or property X != "xxx"

Case 1 and Case 2 should in theory have the same result.
The problem is that for Case 1, Preside only checks if the count = 0, but does not check if it's NULL (having no match at all)

See screenshots for specific example, including the comparison of the 2 generated SQL scripts.

The specific example is:
product has a one-to-many relationship to product_feature
You see 2 filters for products each using filters for product_features
the 2 product feature filters are z=1 and z!=1.

Let me know if you need further information.

Environment

None

Assignee

Unassigned

Reporter

Jan Jannek

Labels

None

Accepted

Yes

Fix versions

Affects versions

Priority

High
Configure