db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Knut Anders Hatlen (JIRA)" <j...@apache.org>
Subject [jira] Commented: (DERBY-3002) Add support for GROUP BY ROLLUP
Date Mon, 25 May 2009 14:21:45 GMT

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

Knut Anders Hatlen commented on DERBY-3002:
-------------------------------------------

Hi Bryan,

fixWhiteSpace.diff looks like a fine first increment. I only have some minor comments:

a) There are still some whitespace issues (too much indentation) in some of the files. Looking
at the patch with "expand -t4 fixWhiteSpace.diff | less" should make them easy to spot.

b) I haven't checked what the standard says, so my expectation may be wrong, but I'd expect
a different result from a query like this (using the RU table from the test case in OLAPTest):

ij> select a, count(*) from ru where 1<>1 group by rollup(a);
A          |2          
-----------------------

0 rows selected

My expectation is that this query should return one row: {null, 0}.

c) I think the lookahead needs to check for getToken(1).kind == ROLLUP in addition to the
check for getToken(2). The current lookahead breaks some statements.

Without patch:

ij> select count(*) from ru group by mod(a,b);
1          
-----------
3          
2          

2 rows selected

With patch:

ij> select count(*) from ru group by mod(a,b);
ERROR 42X01: Syntax error: Encountered "mod" at line 1, column 34.

d) The result set meta-data gets the nullability for the GROUP BY columns wrong. For example,
in the query below, the meta-data says that all the columns are non-nullable, but the result
does contain nulls:

ij> select 1,2,3,count(d) from ru group by rollup(1,2,3);
1          |2          |3          |4          
-----------------------------------------------
1          |2          |3          |5          
1          |2          |NULL       |5          
1          |NULL       |NULL       |5          
NULL       |NULL       |NULL       |5          

4 rows selected

> Add support for GROUP BY ROLLUP
> -------------------------------
>
>                 Key: DERBY-3002
>                 URL: https://issues.apache.org/jira/browse/DERBY-3002
>             Project: Derby
>          Issue Type: New Feature
>          Components: SQL
>    Affects Versions: 10.4.1.3
>            Reporter: Bryan Pendleton
>            Assignee: Bryan Pendleton
>            Priority: Minor
>         Attachments: fixWhiteSpace.diff, IncludesASimpleTest.diff, prototypeChangeNoTests.diff,
useLookahead.diff
>
>
> Provide an implementation of the ROLLUP form of multi-dimensional grouping according
to the SQL standard.
> See http://wiki.apache.org/db-derby/OLAPRollupLists for some more detailed information
about this aspect of the SQL standard.

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


Mime
View raw message