On Jan 21, 2010, at 11:58 AM, [email protected] wrote:

Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/ src/main/jjtree/org/apache/cayenne/ejbql/EJBQLParser.jjt
URL: 
http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/jjtree/org/apache/cayenne/ejbql/EJBQLParser.jjt?rev=901627&r1=901626&r2=901627&view=diff
= = = = = = = = ====================================================================== --- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/ jjtree/org/apache/cayenne/ejbql/EJBQLParser.jjt (original) +++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/ jjtree/org/apache/cayenne/ejbql/EJBQLParser.jjt Thu Jan 21 09:58:38 2010
@@ -1208,7 +1208,7 @@

void pattern_value() #PatternValue : { }
{
-       input_parameter() | string_literal()
+       string_expression()
        [(<ESCAPE> escape_character())]
}


-1.

This significantly expands the definition of "pattern value" beyond EJBQL spec. The spec on page 93 says:

"The pattern_value is a string literal or a string-valued input parameter".

I don't see a pressing need for us to deviate from the spec here. A simple workaround that Andreas seems to have been using already is to uppercase the pattern Java String. So it was correct before, and now it allows things like subqueries to be a "pattern_value". SO IMO CAY-1369 was not a bug.

Andrus


Reply via email to