Jackie-Jiang opened a new issue, #16036:
URL: https://github.com/apache/pinot/issues/16036
Segment level explain node might not be mergable, especially for filtering
because it might be optimized to nodes with different titles such as
`FilterAnd`, `FilterFullScan`, `FilterEmpty` etc. based on the stats of the
segment. Currently `ExplainNodeSimplifier.visitExplained()` is not able to
handle it properly
After removing the `assert`, I got the following result for this query:
`SELECT SUM(1) FILTER (WHERE AirlineID = 19393 AND DATE_TRUNC('SECOND', ts) >
1398816000000) FROM mytable LIMIT 100`
```
Execution Plan
LogicalSort(fetch=[100])
PinotLogicalSortExchange(distribution=[hash], collation=[[]],
isSortOnSender=[false], isSortOnReceiver=[false])
LogicalProject(EXPR$0=[CASE(=($1, 0), null:BIGINT, $0)])
PinotLogicalAggregate(group=[{}], agg#0=[$SUM0($0)],
agg#1=[COUNT($1)], aggType=[FINAL])
PinotLogicalExchange(distribution=[hash])
LeafStageCombineOperator(table=[mytable])
StreamingInstanceResponse
CombineAggregate
AggregateFiltered(aggregations=[[sum('1'), count(*)]])
Transform(expressions=[['1']])
Project(columns=[[]])
DocIdSet(maxDocs=[10000])
FilterAnd
FilterSortedIndex(predicate=[$ts$SECOND >
'1398816000000'], indexLookUp=[sorted_index], operator=[RANGE])
FilterFullScan(predicate=[AirlineID = '19393'],
operator=[EQ])
AggregateFiltered(aggregations=[[sum('1'), count(*)]])
Transform(expressions=[['1']])
Project(columns=[[]])
DocIdSet(maxDocs=[20000])
FilterFullScan(predicate=[AirlineID = '19393'],
operator=[EQ])
AggregateFiltered(aggregations=[[sum('1'), count(*)]])
Transform(expressions=[['1']])
Project(columns=[[]])
DocIdSet(maxDocs=[10000])
FilterFullScan(predicate=[AirlineID = '19393'],
operator=[EQ])
AggregateFiltered(aggregations=[[sum('1'), count(*)]])
Transform(expressions=[['1']])
Project(columns=[[]])
DocIdSet(maxDocs=[20000])
FilterEmpty
AggregateFiltered(aggregations=[[sum('1'), count(*)]])
Transform(expressions=[['1']])
Project(columns=[[]])
DocIdSet(maxDocs=[10000])
FilterEmpty
AggregateFiltered(aggregations=[[sum('1'), count(*)]])
Transform(expressions=[['1']])
Project(columns=[[]])
DocIdSet(maxDocs=[10000])
FilterFullScan(predicate=[AirlineID = '19393'],
operator=[EQ])
```
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]