-
Notifications
You must be signed in to change notification settings - Fork 1.9k
Open
Labels
enhancementNew feature or requestNew feature or request
Description
Is your feature request related to a problem or challenge?
While deprecatingExpr::GetIndexedField, I found there are many test cases that are not covered in sqllogictest, for example, test_inequalities_non_null_bounded. Since we hope to replace the field API with get_field. We could either move the test to datafusion/core/tests or sqllogictest. I prefer the latter, then, I found that guarantee rewrite is not applied to SQL workflow.
statement ok
create table t (c int) as values (1), (3), (5);
query TT
explain select struct(c) from t where c between 3 and 1;
----
logical_plan
01)Projection: struct(t.c)
02)--Filter: t.c >= Int32(3) AND t.c <= Int32(1)
03)----TableScan: t projection=[c]
physical_plan
01)ProjectionExec: expr=[struct(c@0) as struct(t.c)]
02)--RepartitionExec: partitioning=RoundRobinBatch(4), input_partitions=1
03)----CoalesceBatchesExec: target_batch_size=8192
04)------FilterExec: c@0 >= 3 AND c@0 <= 1
05)--------MemoryExec: partitions=1, partition_sizes=[1]
statement ok
drop table t;
I expect that FilterExec should be removed or converted to something like False, since the condition here is always false.
Describe the solution you'd like
Apply guarantee_rewriter to sql workflow.
If the simplification logic can be included in Simplifier is a plus.
Describe alternatives you've considered
No response
Additional context
PR that introduce guarantee rewrite #7467
No response
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request