db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andrew McIntyre (JIRA)" <j...@apache.org>
Subject [jira] Commented: (DERBY-1623) Add ANSI TRIM implementation
Date Sat, 14 Apr 2007 22:14:15 GMT

    [ https://issues.apache.org/jira/browse/DERBY-1623?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12488898

Andrew McIntyre commented on DERBY-1623:

Hi Manish,

You are of course correct, any expression that returns a character data type is allowed. I
just couldn't find it in the few minutes that I took last night to look in the spec. Found
it today, the relevant portion is:

<character value expression> ::=
| <character factor>

<character factor> ::=
<character primary> [ <collate clause> ]

<character primary> ::=
<value expression primary>
| <string value function>

and valueExpressionPrimary() in the parser covers everything necessary here. I expected to
be able to replace characterValueExpression() with:

characterValueExpression() throws StandardException:
    ValueNode expr;
    expr = valueExpressionPrimary(false)
        return expr;
    expr = characterValueFunction() 
        return expr;

JavaCC does not complain about this, but generates an invalid grammar: you get a compile error
because JavaCC split the parse tree for the subquery choice of valueExpressionPrimary but
failed to push the inSelectClause boolean that was a part of the valueExpressionPrimary declaration
into the new node. JavaCC bug? Not sure, i'll investigate later.

> Add ANSI TRIM implementation
> ----------------------------
>                 Key: DERBY-1623
>                 URL: https://issues.apache.org/jira/browse/DERBY-1623
>             Project: Derby
>          Issue Type: Improvement
>          Components: SQL
>            Reporter: Emmanuel Bernard
>         Assigned To: Manish Khettry
>         Attachments: 1623-parser-guess.diff, AnsiTrimTest.java
> JPA is requiring databases to support this ANSI feature esp the ability to chose the
trimmed character
> TRIM([ [ LEADING | TRAILING | BOTH ] [ chars ] FROM ] str)

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

View raw message