Jesse Yates created CALCITE-809:
-----------------------------------
Summary: TableScan does not support large/infinite scans
Key: CALCITE-809
URL: https://issues.apache.org/jira/browse/CALCITE-809
Project: Calcite
Issue Type: Bug
Components: core
Reporter: Jesse Yates
Assignee: Julian Hyde
Fix For: 1.4.0-incubating
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:
{quote}
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.
{quote}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)