Hi,

Is it possible to have a set of tables backed by a shared enumerator, and let 
Calcite do its thing as usual?

I'm wanting to project a document with a mix of scalars and arrays into say 3 
tables, each with a different cardinality, and each allowing filters to be 
pushed down. Each table would have their "own" Calcite enumerator, due to the 
mismatched cardinalities, but these enumerators would be backed by a single 
shared iterator fetching documents. A fetch could only occur once each 
enumerator had exhausted the rows extracted from the current document, and thus 
all enumerators had signalled "next()".

This pattern would avoid having 3 tables created from different views of the 
underlying document, and this would avoid multiple network round trips. Can 
this be achieved with Calcite, or do the operations on each table need to be 
completely isolated?

Thanks,

Liam

Reply via email to