[ 
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)

Reply via email to