db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Kim Haase (JIRA)" <j...@apache.org>
Subject [jira] Commented: (DERBY-4079) Add support for SQL:2008 <result offset clause> and <fetch first clause> to limit result set cardinality
Date Wed, 04 Mar 2009 22:21:56 GMT

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

Kim Haase commented on DERBY-4079:

Thanks, Dag, for the doc updates. The SELECT statement topic fixes look great. 

rrefsqljoffsetfetch.html looks great too, though it could use a couple of changes still:

I think I messed up on the first sentence after the syntax statement. It now appears to say
that the use of ROW or ROWS is equivalent to the use of FIRST or NEXT ... not true at all.
Perhaps the following (taking a tip from the sentence about FOR FETCH ONLY and FOR READ ONLY
in the SELECT statement topic):

  ROW is synonymous with ROWS, and FIRST is synonymous with NEXT. 

Also, the second sentence in the topic has an unitalicized "result offset clause" -- all other
occurrences are italicized. (You could also remove the italics from all but the first occurrence
of each clause -- your choice.)

The examples are helpful. Is there a reason why only the last one has a semicolon?

In the refderby.ditamap file, the topic title should be the same as the one in the topic.

Thanks for the explanation of FOR FETCH ONLY. I now see it is explained in the FOR UPDATE

> 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:
>         Attachments: derby-4079-1.diff, derby-4079-1.stat, derby-4079-docs-1.diff, derby-4079-docs-1.stat,
derby-4079-docs-1.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}
> 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.

View raw message