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

Dag H. Wanvik commented on DERBY-3002:
--------------------------------------

Playing with the latest patch, I notice something that puzzles me (totally 
contrived example :-) :

> describe t;
COLUMN_NAME         |TYPE_NAME|DEC&|NUM&|COLUM&|COLUMN_DEF|CHAR_OCTE&|IS_NULL&
------------------------------------------------------------------------------
C                   |VARCHAR  |NULL|NULL|2     |NULL      |4         |NO      
C2                  |VARCHAR  |NULL|NULL|2     |NULL      |4         |YES     
I                   |INTEGER  |0   |10  |10    |NULL      |NULL      |YES     

with a few columns:

> select * from t
C |C2  |I          
-------------------
aa|NULL|NULL       
bb|NULL|NULL

Then I try this:

> select c,c2,sum(i) from t group by rollup (c,c2)

and I see:

C   |C2  |3          
---------------------
aa  |NULL|NULL       
WARNING 01003: Null values were eliminated from the argument of a column 
function.
WARNING 01003: Null values were eliminated from the argument of a column 
function.
aa  |NULL|NULL       
NULL|NULL|NULL       
WARNING 01003: Null values were eliminated from the argument of a column 
function.
WARNING 01003: Null values were eliminated from the argument of a column 
function.
WARNING 01003: Null values were eliminated from the argument of a column 
function.
bb  |NULL|NULL       
bb  |NULL|NULL  

which is I think is as expected. But then I tried:

ij> select cast(c as varchar(2)),c2,sum(i) from t group by rollup (c,c2)

but now I see:

1   |C2  |3          
---------------------
aa  |NULL|NULL       
WARNING 01003: Null values were eliminated from the argument of a column 
function.
WARNING 01003: Null values were eliminated from the argument of a column 
function.
aa  |NULL|NULL       
bb  |NULL|NULL       
WARNING 01003: Null values were eliminated from the argument of a column 
function.
WARNING 01003: Null values were eliminated from the argument of a column 
function.
WARNING 01003: Null values were eliminated from the argument of a column 
function.
bb  |NULL|NULL       
bb  |NULL|NULL       

Notice that the third row is now different (equal to row four). Is this correct?

If I embed this group by into a subquery:

ij> select cast(x as varchar(2)),y,z from (select c,c2,sum(i) from t group by 
rollup (c,c2)) t(x,y,z)

I see again the row with null, null, null:

1 |Y   |Z          
-------------------
aa|NULL|NULL       
WARNING 01003: Null values were eliminated from the argument of a column 
function.
WARNING 01003: Null values were eliminated from the argument of a column 
function.
aa|NULL|NULL       
N&|NULL|NULL       
WARNING 01003: Null values were eliminated from the argument of a column 
function.
WARNING 01003: Null values were eliminated from the argument of a column 
function.
WARNING 01003: Null values were eliminated from the argument of a column 
function.
bb|NULL|NULL       
bb|NULL|NULL       

but this time, the nullability of column 1 seems wrong (notice the
"N&" - ij will use two columns here (VARCHAR(2)) if it thinks column can't 
contain
a NULL which, of course, needs 4 columns to print). This could be
related to the problem Knut is working on under DERBY-4284, though.


> Add support for GROUP BY ROLLUP
> -------------------------------
>
>                 Key: DERBY-3002
>                 URL: https://issues.apache.org/jira/browse/DERBY-3002
>             Project: Derby
>          Issue Type: Improvement
>          Components: SQL
>    Affects Versions: 10.4.1.3
>            Reporter: Bryan Pendleton
>            Assignee: Bryan Pendleton
>            Priority: Minor
>         Attachments: fixWhiteSpace.diff, IncludesASimpleTest.diff, 
> passesRegressionTests.diff, prototypeChangeNoTests.diff, 
> rewriteGroupByRS.diff, rollupNullability.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.

Reply via email to