Description
When running a simple query (e.g. select stream * from orders) and the StreamableTable returning a Enumerable<Object[]> backed by an infinite stream, you end up quickly trying to store all the values of the stream in a ListSink in a TableScanNode.
From Julian:
You're hitting the interpreter "cheap and dirty"
implementation of TableScan. I made the interpreter the simplest thing
that could possibly work, so I made every operator build a list. (I
know, I know. Enumerable uses iterators, and other implementations do
even better. But I wanted to fit it into one page of code.)...
The solution will be either to fix the interpreter to use iterators
(or similar) rather than lists, or to recognize that a query is
infinite and not use the interpreter.
Attachments
Attachments
Issue Links
- is depended upon by
-
CALCITE-849 Streams/Slow iterators dont close on statement close
- Open