Nested AND/OR filters produce incorrect expression #2112
Labels
bug
Something isn't working
Conformance
Conformance Job affected
priority: high
Critical to the health of the project
Describe the bug
Considering a nested
OR
filter (in codeOrJoinedFilter
), for exampleOR(OR(A, B), OR(B, C))
, whereA
,B
,C
are arbitrary filters, result of expression:(OR(A, B) or OR(B, C))
currently yields
OR(B)
instead of the expected and correctOR(A, B, C)
.The same for a nested
AND
filter (AndJoinedFilter
), for exampleAND(AND(A, B), AND(B, C))
, result of expression(AND(A, B) and AND(B, C))
currently yields
AND(B)
instead of the expected and correctAND(A, B, C)
.To Reproduce (example test)
OR:
AND:
Expected behavior
Both tests should be passing.
Possible fix
Change:
to:
Similarly for
and
- that isAdditional context
This piece of code doesn't seem to be executed at any point by any of currently used systems in Enceladus, at least I couldn't find its usage. When nested filter is constructed via Menas, direct constructors of
OrJoinedFilter
andAndJoinedFilters
seem to be used instead ofor
/and
functions (and thus correct expressions).The text was updated successfully, but these errors were encountered: