db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Dag H. Wanvik (JIRA)" <j...@apache.org>
Subject [jira] Commented: (DERBY-4369) Give a more useful error message when join specification is missing
Date Tue, 08 Sep 2009 17:29:57 GMT

    [ https://issues.apache.org/jira/browse/DERBY-4369?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12752621#action_12752621

Dag H. Wanvik commented on DERBY-4369:

+1. I think it's better to have the parser detect if the different join type can/can not have
ON/USING clauses than delaying this
to bind time. By proper restructuring of the rules you would then solve the issue of the "late"
ON clause mention in DERBY-4355 as well.

> Give a more useful error message when join specification is missing
> -------------------------------------------------------------------
>                 Key: DERBY-4369
>                 URL: https://issues.apache.org/jira/browse/DERBY-4369
>             Project: Derby
>          Issue Type: Improvement
>          Components: SQL
>    Affects Versions:
>            Reporter: Knut Anders Hatlen
>            Assignee: Knut Anders Hatlen
>            Priority: Minor
>             Fix For:
>         Attachments: derby-4369-1a.diff, releaseNote.html
> Currently, if a join is missing a join specification, we see the following rather cryptic
> ij> select * from t1 join t2;
> ERROR 42X01: Syntax error: Encountered "<EOF>" at line 1, column 24.
> Issue the 'help' command for general information on IJ command syntax.
> Any unrecognized commands are treated as potential SQL commands and executed directly.
> Consult your DBMS server reference documentation for details of the SQL syntax supported
by your server.
> The parser already has code to check if the join specification is missing, but since
the join specification is required in the grammar, we'll never get to that point in the code
if it is missing. If we make the join specification optional in the grammar, the code path
with the more helpful message will be enabled, and we'll see this instead:
> ij> select * from t1 join t2;
> ERROR 42Y11: A join specification is required with the 'INNER JOIN' clause.
> This will make it clearer what the problem is.

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

View raw message