[
https://issues.apache.org/jira/browse/IGNITE-28971?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Kirill Tkalenko updated IGNITE-28971:
-------------------------------------
Description:
FETCH, OFFSET, and LIMIT values may require different handling. For example:
{code:java}
SELECT * FROM person FETCH FIRST 1.5 ROWS ONLY;
-- Oracle: the fractional part is truncated, so 1 row is returned.
-- PostgreSQL: the value is rounded to the nearest integer, so 2 rows are
returned.
SELECT * FROM person FETCH FIRST NULL ROWS ONLY;
-- Oracle: no rows are returned.
-- PostgreSQL: no limit is applied.
SELECT * FROM person OFFSET NULL ROWS;
-- Oracle: no rows are returned.
-- PostgreSQL: no offset is applied.{code}
Introduce a common mechanism for applying these rules consistently during query
validation and execution.
was:
FETCH, OFFSET, and LIMIT values may require different handling. For example:
{{}}
{code:java}
SELECT * FROM person FETCH FIRST 1.5 ROWS ONLY;
-- Oracle: the fractional part is truncated, so 1 row is returned.
-- PostgreSQL: the value is rounded to the nearest integer, so 2 rows are
returned.
SELECT * FROM person FETCH FIRST NULL ROWS ONLY;
-- Oracle: no rows are returned.
-- PostgreSQL: no limit is applied.
SELECT * FROM person OFFSET NULL ROWS;
-- Oracle: no rows are returned.
-- PostgreSQL: no offset is applied.{code}
{{}}
Introduce a common mechanism for applying these rules consistently during query
validation and execution.
> SQL Calcite: Introduce value resolver for FETCH, OFFSET, and LIMIT
> ------------------------------------------------------------------
>
> Key: IGNITE-28971
> URL: https://issues.apache.org/jira/browse/IGNITE-28971
> Project: Ignite
> Issue Type: Improvement
> Reporter: Kirill Tkalenko
> Assignee: Kirill Tkalenko
> Priority: Major
> Labels: ignite-2
>
> FETCH, OFFSET, and LIMIT values may require different handling. For example:
> {code:java}
> SELECT * FROM person FETCH FIRST 1.5 ROWS ONLY;
> -- Oracle: the fractional part is truncated, so 1 row is returned.
> -- PostgreSQL: the value is rounded to the nearest integer, so 2 rows are
> returned.
> SELECT * FROM person FETCH FIRST NULL ROWS ONLY;
> -- Oracle: no rows are returned.
> -- PostgreSQL: no limit is applied.
> SELECT * FROM person OFFSET NULL ROWS;
> -- Oracle: no rows are returned.
> -- PostgreSQL: no offset is applied.{code}
> Introduce a common mechanism for applying these rules consistently during
> query validation and execution.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)