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 2008/05/07 18:10:55 UTC

[jira] Commented: (DERBY-2085) Misleading error message for non-matching ORDER BY clause in queries with GROUP BY.

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

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

> select c1+1, count(*) from test group by c1+2
>
> Would we rather see:
>
> ERROR 42Y30: The SELECT list of a grouped query contains at least one invalid
> expression. If a SELECT list has a GROUP BY, the list may only contain valid
> grouping expressions and valid aggregate expressions.
>
> or
>
> ERROR 42Y36: Column reference 'C1' is invalid. For a SELECT list with a
> GROUP BY,the list may only contain grouping columns and valid aggregate expressions

I think the former message is better in this case, this it is the
expression "c1+1" that is invalid, the grouping expression being
"c1+2". The column c1 in itself is not the problem, which the message
indicates.

Tweaking the wording of 42Y36 may help, how about:

ERROR 42Y36: Column reference 'C1' is part of an expression that is
invalid. For a SELECT list with a GROUP BY, the list may only contain
grouping expressions and valid aggregate expressions.

> Misleading error message for non-matching ORDER BY clause in queries with GROUP BY.
> -----------------------------------------------------------------------------------
>
>                 Key: DERBY-2085
>                 URL: https://issues.apache.org/jira/browse/DERBY-2085
>             Project: Derby
>          Issue Type: Bug
>          Components: SQL
>    Affects Versions: 10.2.1.6
>         Environment: Any
>            Reporter: Øystein Grøvlen
>            Assignee: Bryan Pendleton
>            Priority: Trivial
>             Fix For: 10.5.0.0
>
>         Attachments: newMsgWithTest.diff
>
>
> In 10.2, this query gives the following error message:
> ij> SELECT i FROM t GROUP BY i ORDER BY j;
> ERROR 42Y30: The SELECT list of a grouped query contains at least one invalid expression. If a SELECT list has a GROUP BY, the list may only contain valid grouping expressions and valid aggregate expressions.  
> This is misleading since there is no invalid expression in the SELECT
> list.  It is the ORDER BY clause that is wrong.  
> I have marked this as an regression since the error message in 10.1 is
> more helpful (but still not correct):
> ij> SELECT i FROM t GROUP BY i ORDER BY j;
> ERROR 42Y36: Column reference 'J' is invalid.  For a SELECT list with a GROUP BY, the list may only contain grouping columns and valid aggregate expressions.

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