[
https://issues.apache.org/jira/browse/CALCITE-1227?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15305078#comment-15305078
]
Julian Hyde commented on CALCITE-1227:
--------------------------------------
Looks pretty good. Can you open a formal pull request?
I think there's a bit too much copy-pasted code. E.g.
CsvStreamScannableTable.getRowType does the same as the base method
CsvTable.getRowType. Can you make a pass and remove any code that can be
removed.
Please rename CSVStreamReader to CsvStreamReader, to match our naming
convention.
Regarding cancel. I wonder whether the reader could block waiting for data with
a timeout of say 1 second, check to see whether the query has been canceled,
then try to read again, in a loop.
> Add streaming CSV table
> -----------------------
>
> Key: CALCITE-1227
> URL: https://issues.apache.org/jira/browse/CALCITE-1227
> Project: Calcite
> Issue Type: Bug
> Reporter: Julian Hyde
> Assignee: Julian Hyde
>
> Add a variant of CsvTable that can be streamed. It would serve as an example
> of how to write stream adapters.
> It would be like the CSV adapter, but watches a file and reports records
> added to the end of the file (like the tail command).
> You’d have to change {{CsvTable}} to implement {{StreamableTable}}, and
> implement the {{Table stream()}} method to return a variant of the table that
> is in “follow” mode.
> It would probably be implemented by a variant of CsvEnumerator, but it is
> getting its input in bursts, as the file is appended to.
> You would still be able to use this adapter to read historical data from the
> CSV file. Appending records to the file would make a nice demo.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)