-
Notifications
You must be signed in to change notification settings - Fork 1.9k
Closed
Labels
enhancementNew feature or requestNew feature or requestgood first issueGood for newcomersGood for newcomersperformanceMake DataFusion fasterMake DataFusion faster
Description
Describe the bug
I am testing against Datafusion main (d68fca9).
With the query below I expect there to be no FilterExec because the condition is trivial x = x. But it is not eliminated.
To Reproduce
> explain with test AS (SELECT unnest(generate_series(1, 10)) as x)
select count(*) from test WHERE x = x;
+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| plan_type | plan |
+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| logical_plan | Projection: count(Int64(1)) AS count(*) |
| | Aggregate: groupBy=[[]], aggr=[[count(Int64(1))]] |
| | SubqueryAlias: test |
| | Projection: |
| | Filter: __unnest_placeholder(generate_series(Int64(1),Int64(10)),depth=1) = __unnest_placeholder(generate_series(Int64(1),Int64(10)),depth=1) |
| | Unnest: lists[__unnest_placeholder(generate_series(Int64(1),Int64(10)))|depth=1] structs[] |
| | Projection: List([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]) AS __unnest_placeholder(generate_series(Int64(1),Int64(10))) |
| | EmptyRelation |
| physical_plan | ProjectionExec: expr=[count(Int64(1))@0 as count(*)] |
| | AggregateExec: mode=Final, gby=[], aggr=[count(Int64(1))] |
| | CoalescePartitionsExec |
| | AggregateExec: mode=Partial, gby=[], aggr=[count(Int64(1))] |
| | ProjectionExec: expr=[] |
| | CoalesceBatchesExec: target_batch_size=8192 |
| | FilterExec: __unnest_placeholder(generate_series(Int64(1),Int64(10)),depth=1)@0 = __unnest_placeholder(generate_series(Int64(1),Int64(10)),depth=1)@0 |
| | RepartitionExec: partitioning=RoundRobinBatch(8), input_partitions=1 |
| | UnnestExec |
| | ProjectionExec: expr=[[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] as __unnest_placeholder(generate_series(Int64(1),Int64(10)))] |
| | PlaceholderRowExec |
| | |
+---------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
Expected behavior
No response
Additional context
No response
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or requestgood first issueGood for newcomersGood for newcomersperformanceMake DataFusion fasterMake DataFusion faster