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> ::=
<concatenation>
| <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:

ValueNode
characterValueExpression() throws StandardException:
{
    ValueNode expr;
}
{
    LOOKAHEAD(2)
    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.


Mime
View raw message