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.