You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-dev@db.apache.org by "Dag H. Wanvik (JIRA)" <ji...@apache.org> on 2009/03/06 02:03:56 UTC

[jira] Issue Comment Edited: (DERBY-4079) Add support for SQL:2008 and to limit result set cardinality

    [ https://issues.apache.org/jira/browse/DERBY-4079?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12679445#action_12679445 ] 

dagw edited comment on DERBY-4079 at 3/5/09 5:03 PM:
--------------------------------------------------------------

Thanks, Rick! Uploading a new version (#3) of the code patch, which
makes OFFSET be a non-reserved keyword (+ test for this).
It *can* be used as an identifier without exceptions, due to 
a new look-ahead disambiguation of the shift/reduce conflict which arose.
I also removed the debug code from GenericResultSetFactory; I am not sure it
is very valuable. Fixed some small items, including Javadoc bugs as well.



      was (Author: dagw):
    Thanks, Rick! Uploading a new version (#3) of the code patch, which
makes OFFSET be a non-reserved keyword (+ test for this).
I also removed the debug code from GenericResultSetFactory; I am not sure it
is very valuable. Fixed some small items, including Javadoc bugs as well.


  
> Add support for SQL:2008 <result offset clause> and <fetch first clause> to limit result set cardinality
> --------------------------------------------------------------------------------------------------------
>
>                 Key: DERBY-4079
>                 URL: https://issues.apache.org/jira/browse/DERBY-4079
>             Project: Derby
>          Issue Type: New Feature
>          Components: SQL
>            Reporter: Dag H. Wanvik
>            Assignee: Dag H. Wanvik
>             Fix For: 10.5.0.0
>
>         Attachments: derby-4079-1.diff, derby-4079-1.stat, derby-4079-2.diff, derby-4079-2.stat, derby-4079-3.diff, derby-4079-3.stat, derby-4079-docs-1.diff, derby-4079-docs-1.stat, derby-4079-docs-1.zip, derby-4079-docs-2.diff, derby-4079-docs-2.stat, derby-4079-docs-2.zip, ref.zip
>
>
> SQL 2008 has added new syntax to support a direct way to limit the
> returned set of rows in a result set.  This allows an application to
> retrieve only some rows of an otherwise larger result set, similar to
> the popular LIMIT clauses use in some databases.
> Up till now, in Derby (and SQL) we have had to use the ROW_NUMBER()
> function in a nested subquery to achieve the effect of the <fetch
> first clause>, cf. DERBY-2998, a method which is rather more indirect
> and still not efficient (DERBY-3505), and primarily intended for OLAP
> functionality, perhaps.
> There has been no direct way to achieve the effect of the <result
> offset clause> via SQL.
> Syntax (cf. SQL 2008, section 7.13):
>        <result offset clause> ::= OFFSET <n> {ROW | ROWS}
>        <fetch first clause> ::=      FETCH {FIRST | NEXT} [<n>] {ROW | ROWS} ONLY
> where <n> is an integer. The two clauses syntactically follow the ORDER BY
> clause in the grammar.
> Note that both ORDER BY and the new clauses above are allowed also in
> subqueries in the new version of the SQL standard (section 7.13). I
> only propose to include this at the top level in DERBY for now. (ORDER
> BY is presently also not allowed in subqueries in Derby since SQL
> didn't allow for this until SQL 2008 either).

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.