Open Yuhta opened 1 month ago
CC: @mbasmanova @amitkdutta
CC: @yingsu00 @rschlussel @tdcmeehan @aditi-pandit
@Yuhta do you have a query to reproduce this issue?
@tdcmeehan Any query containing element_at(c0, -2)
where c0
is array type and only referenced in this function would repro
We are pushing down negative array subscript as subfield pruning (https://github.com/prestodb/presto/blob/master/presto-main/src/main/java/com/facebook/presto/sql/planner/optimizations/PushdownSubfields.java) and worker is not sanity checking against it (https://github.com/prestodb/presto/blob/master/presto-orc/src/main/java/com/facebook/presto/orc/reader/ListSelectiveStreamReader.java ). With -1 pushdown this happens to work because
ELEMENT_LENGTH_UNBOUNDED = -1
but -2 is resulting inGENERIC_INTERNAL_ERROR
:We should stop push down non-positive array subscripts.