[
https://issues.apache.org/jira/browse/CALCITE-7664?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
ASF GitHub Bot updated CALCITE-7664:
------------------------------------
Labels: pull-request-available (was: )
> Support CURSOR for table functions
> ----------------------------------
>
> Key: CALCITE-7664
> URL: https://issues.apache.org/jira/browse/CALCITE-7664
> Project: Calcite
> Issue Type: Improvement
> Reporter: Kirill Tkalenko
> Assignee: Kirill Tkalenko
> Priority: Major
> Labels: pull-request-available
>
> It is proposed to support CURSOR for table functions; I did not encounter any
> objections or comments in the [Support CURSOR for
> UDF|https://www.mail-archive.com/[email protected]/msg26084.html] on dev
> list. Currently, parsing such queries works, but execution does not.
> Example query:
> {code:java}
> SELECT *
> FROM TABLE(cursor_and_number(
> CURSOR(SELECT empno AS n FROM emp),
> (SELECT MAX(deptno) FROM dept)
> ));{code}
> Proposed structure for the function argument:
> {code:java}
> package org.apache.calcite.sql.util;
> import org.apache.calcite.linq4j.Enumerable;
> import org.apache.calcite.rel.type.RelDataType;
> /** Input passed to a table function for a {@code CURSOR} argument. */
> public interface CursorInput {
> /** Returns the row type of the cursor query. */
> RelDataType getRowType();
> /** Returns the rows produced by the cursor query. */
> Enumerable<Object[]> rows();
> }{code}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)