Closed lordpretzel closed 1 year ago
When using scalar operations in the rule head, the rewritten rule does not match the inputs against the head.
Q(A+B) :- R(A,B). ANS: Q. RP(2). LINEAGE FOR r FOR RESULTS FROM RP.
over instance
A0 | A1 | ---------- 1 | 1 | 2 | 3 | 4 | 1 |
should return
A0 | A1 | ---------- 2 | 3 | 4 | 1 |
but does return
because the rewriting ignores head arguments that are scalar operations
RP(2). PROV_R(A,B) :- R(A,B), RP(V0).
but should be
RP(2). PROV_R(A,B) :- R(A,B), RP(V0), V0 = A + B.
This is currently not supported. We can either add support for more complex comparison or add another layer:
RP(2). PROV_R(A,B) :- , PROV_PRE_R(A,B,V0), RP(V0). PROV_PRE_R(A,B,A+B) :- R(A,B).
Affected TPC-H queries
When using scalar operations in the rule head, the rewritten rule does not match the inputs against the head.
over instance
should return
but does return
because the rewriting ignores head arguments that are scalar operations
but should be
This is currently not supported. We can either add support for more complex comparison or add another layer: