...
assign [$$17] <- [function-call: asterix:open-record-constructor, Args:[AString: {cust}, %0->$$0, AString: {orders}, %0->$$16]] -- |UNPARTITIONED|
group by ([$$30 := %0->$$18]) decor ([%0->$$0]) {
aggregate [$$16] <- [function-call: asterix:listify, Args:[%0->$$15]] -- |UNPARTITIONED|
assign [$$15] <- [function-call: asterix:open-record-constructor, Args:[AString: {order}, %0->$$1, AString: {items}, %0->$$14]] -- |UNPARTITIONED|
group by ([$$27 := %0->$$19]) decor ([%0->$$0; %0->$$1; %0->$$18; %0->$$22]) {
aggregate [$$14] <- [function-call: asterix:listify, Args:[%0->$$2]] -- |UNPARTITIONED|
select (function-call: algebricks:not, Args:[function-call: algebricks:is-null, Args:[%0->$$26]]) -- |UNPARTITIONED|
nested tuple source -- |UNPARTITIONED|
} -- |UNPARTITIONED|
select (function-call: algebricks:and, Args:[function-call: algebricks:not, Args:[function-call: algebricks:is-null, Args:[%0->$$28]], function-call: algebricks:not, Args:[function-call: algebricks:is-null, Args:[%0->$$29]]]) -- |UNPARTITIONED|
nested tuple source -- |UNPARTITIONED|
} -- |UNPARTITIONED|
left outer join (function-call: algebricks:eq, Args:[%0->$$20, %0->$$19]) -- |UNPARTITIONED|
left outer join (function-call: algebricks:eq, Args:[%0->$$22, %0->$$18]) -- |UNPARTITIONED|
data-scan []<-[$$18, $$0] <- tpch:Customers -- |UNPARTITIONED|
empty-tuple-source -- |UNPARTITIONED|
assign [$$28] <- [TRUE] -- |UNPARTITIONED|
assign [$$22] <- [function-call: asterix:field-access-by-index, Args:[%0->$$1, AInt32: {1}]] -- |UNPARTITIONED|
data-scan []<-[$$19, $$1] <- tpch:Orders -- |UNPARTITIONED|
empty-tuple-source -- |UNPARTITIONED|
assign [$$29] <- [TRUE] -- |UNPARTITIONED|
assign [$$26] <- [TRUE] -- |UNPARTITIONED|
data-scan []<-[$$20, $$21, $$2] <- tpch:LineItems -- |UNPARTITIONED|
empty-tuple-source -- |UNPARTITIONED|