-- Test Setup: OneMeasurementFourChunksWithDuplicatesParquetOnly -- SQL: explain select time, state, city, min_temp, max_temp, area from h2o order by time, state, city; +---------------+---------------------------------------------------------------------------------------------------------------------------------------------+ | plan_type | plan | +---------------+---------------------------------------------------------------------------------------------------------------------------------------------+ | logical_plan | Sort: h2o.time ASC NULLS LAST, h2o.state ASC NULLS LAST, h2o.city ASC NULLS LAST | | | Projection: h2o.time, h2o.state, h2o.city, h2o.min_temp, h2o.max_temp, h2o.area | | | TableScan: h2o projection=[area, city, max_temp, min_temp, state, time] | | physical_plan | SortExec: [time@0 ASC NULLS LAST,state@1 ASC NULLS LAST,city@2 ASC NULLS LAST] | | | CoalescePartitionsExec | | | ProjectionExec: expr=[time@5 as time, state@4 as state, city@1 as city, min_temp@3 as min_temp, max_temp@2 as max_temp, area@0 as area] | | | RepartitionExec: partitioning=RoundRobinBatch(4) | | | UnionExec | | | DeduplicateExec: [state@4 ASC,city@1 ASC,time@5 ASC] | | | SortPreservingMergeExec: [state@4 ASC,city@1 ASC,time@5 ASC] | | | UnionExec | | | IOxReadFilterNode: table_name=h2o, chunks=1 predicate=Predicate | | | IOxReadFilterNode: table_name=h2o, chunks=1 predicate=Predicate | | | IOxReadFilterNode: table_name=h2o, chunks=2 predicate=Predicate | | | | +---------------+---------------------------------------------------------------------------------------------------------------------------------------------+ -- SQL: EXPLAIN select time, state, city, min_temp, max_temp, area from h2o; +---------------+-----------------------------------------------------------------------------------------------------------------------------------------+ | plan_type | plan | +---------------+-----------------------------------------------------------------------------------------------------------------------------------------+ | logical_plan | Projection: h2o.time, h2o.state, h2o.city, h2o.min_temp, h2o.max_temp, h2o.area | | | TableScan: h2o projection=[area, city, max_temp, min_temp, state, time] | | physical_plan | ProjectionExec: expr=[time@5 as time, state@4 as state, city@1 as city, min_temp@3 as min_temp, max_temp@2 as max_temp, area@0 as area] | | | UnionExec | | | DeduplicateExec: [state@4 ASC,city@1 ASC,time@5 ASC] | | | SortPreservingMergeExec: [state@4 ASC,city@1 ASC,time@5 ASC] | | | UnionExec | | | IOxReadFilterNode: table_name=h2o, chunks=1 predicate=Predicate | | | IOxReadFilterNode: table_name=h2o, chunks=1 predicate=Predicate | | | IOxReadFilterNode: table_name=h2o, chunks=2 predicate=Predicate | | | | +---------------+-----------------------------------------------------------------------------------------------------------------------------------------+ -- SQL: EXPLAIN select state as name from h2o UNION ALL select city as name from h2o; +---------------+---------------------------------------------------------------------------------+ | plan_type | plan | +---------------+---------------------------------------------------------------------------------+ | logical_plan | Union | | | Projection: h2o.state AS name | | | TableScan: h2o projection=[state] | | | Projection: h2o.city AS name | | | TableScan: h2o projection=[city] | | physical_plan | UnionExec | | | ProjectionExec: expr=[state@0 as name] | | | UnionExec | | | ProjectionExec: expr=[state@1 as state] | | | RepartitionExec: partitioning=RoundRobinBatch(4) | | | DeduplicateExec: [state@1 ASC,city@0 ASC,time@2 ASC] | | | SortPreservingMergeExec: [state@1 ASC,city@0 ASC,time@2 ASC] | | | UnionExec | | | IOxReadFilterNode: table_name=h2o, chunks=1 predicate=Predicate | | | IOxReadFilterNode: table_name=h2o, chunks=1 predicate=Predicate | | | IOxReadFilterNode: table_name=h2o, chunks=2 predicate=Predicate | | | ProjectionExec: expr=[city@0 as name] | | | UnionExec | | | ProjectionExec: expr=[city@0 as city] | | | RepartitionExec: partitioning=RoundRobinBatch(4) | | | DeduplicateExec: [state@1 ASC,city@0 ASC,time@2 ASC] | | | SortPreservingMergeExec: [state@1 ASC,city@0 ASC,time@2 ASC] | | | UnionExec | | | IOxReadFilterNode: table_name=h2o, chunks=1 predicate=Predicate | | | IOxReadFilterNode: table_name=h2o, chunks=1 predicate=Predicate | | | IOxReadFilterNode: table_name=h2o, chunks=2 predicate=Predicate | | | | +---------------+---------------------------------------------------------------------------------+