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 "Kim Haase (JIRA)" <ji...@apache.org> on 2009/03/20 16:26:51 UTC

[jira] Reopened: (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:all-tabpanel ]

Kim Haase reopened DERBY-4079:
------------------------------


I'm sorry, I should have caught this. I find that when I process one of the new files that are part of the doc patch, I get the following DITA syntax error:

 [pipeline] [Error] rrefsqljoffsetfetch.dita:81:10: The content of element type "refsyn" must match "(ph|codeph|synph|filepath|msgph|userinput|systemoutput|b|u|i|tt|sup|sub|uicontrol|menucascade|term|xref|cite|q|boolean|state|keyword|option|parmname|apiname|cmdname|msgnum|varname|wintitle|tm|p|lq|note|dl|parml|ul|ol|sl|pre|codeblock|msgblock|screen|lines|fig|syntaxdiagram|imagemap|image|object|table|simpletable|title|draft-comment|required-cleanup|fn|indextermref|indexterm)".
 
Processing the file gives a BUILD SUCCESSFUL message at the end,, and the generated output looks fine, so it's easy to miss this. The error shows up at the start of processing.
 
It turns out that the closing "</refsyn>" tag is placed after the example. It needs to come before it.

I'll attach a suggested patch.

> 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, derby-4079-fixRtStatsTest.diff, derby-4079-fixRtStatsTest.stat, 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.