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 "Bryan Pendleton (JIRA)" <ji...@apache.org> on 2008/04/26 20:34:55 UTC

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

Bryan Pendleton updated DERBY-2085:
-----------------------------------

    Attachment: newMsgWithTest.diff

Attached is newMsgWithTest.diff, a patch proposal.

The patch changes VerifyAggregateExpressionsVisitor
to issue 42Y36 instead of 42Y30, in the case where
an invalid column reference is found in a grouped query.

The patch also adds some new error case tests to
GroupByTest, and changes some of the existing
error tests in GroupByTest and GroupByExpressionTest
to reflect that certain error cases now receive 42Y36
rather than 42Y30.

As I said in the previous comment on this issue, it is
not totally clear which message is superior in some of
these cases, so I'd like reviewers to examine the cases
where the message changed and provide some feedback
about which message they prefer.


> 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
>         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.