[
https://issues.apache.org/jira/browse/CALCITE-7664?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Kirill Tkalenko updated CALCITE-7664:
-------------------------------------
Description:
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}
was:
[https://www.mail-archive.com/[email protected]/msg26089.html]
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}
> 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
>
> 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)