[hibernate-commits] Hibernate SVN: r16404 - core/branches/antlr3/src/main/antlr3/org/hibernate/sql/ast/phase/hql/parse.
hibernate-commits at lists.jboss.org
hibernate-commits at lists.jboss.org
Wed Apr 22 14:40:40 EDT 2009
Author: porcelli
Date: 2009-04-22 14:40:40 -0400 (Wed, 22 Apr 2009)
New Revision: 16404
Modified:
core/branches/antlr3/src/main/antlr3/org/hibernate/sql/ast/phase/hql/parse/HQL.g
Log:
improvements on parsing using semantic predicates (avoid Java heap space message)
Modified: core/branches/antlr3/src/main/antlr3/org/hibernate/sql/ast/phase/hql/parse/HQL.g
===================================================================
--- core/branches/antlr3/src/main/antlr3/org/hibernate/sql/ast/phase/hql/parse/HQL.g 2009-04-22 17:46:26 UTC (rev 16403)
+++ core/branches/antlr3/src/main/antlr3/org/hibernate/sql/ast/phase/hql/parse/HQL.g 2009-04-22 18:40:40 UTC (rev 16404)
@@ -814,8 +814,8 @@
inList
: collectionExpression
-> ^(IN_LIST collectionExpression)
- | LEFT_PAREN ( expression (COMMA expression)* | subQuery ) RIGHT_PAREN
- -> ^(IN_LIST expression* subQuery?)
+ | LEFT_PAREN ( {((validateIdentifierKey("select")|validateIdentifierKey("from")))}?=> subQuery | concatenation (COMMA concatenation)* ) RIGHT_PAREN
+ -> ^(IN_LIST concatenation* subQuery?)
;
betweenList
@@ -1090,7 +1090,7 @@
| constant
| parameterSpecification { if (enableParameterUsage.peek().equals(Boolean.FALSE)) throw new RecognitionException( ); }
//validate using Scopes if it is enabled or not to use parameterSpecification.. if not generate an exception
- | LEFT_PAREN! (expressionOrVector | subQuery) RIGHT_PAREN!
+ | LEFT_PAREN! ({((validateIdentifierKey("select")|validateIdentifierKey("from")))}?=> subQuery|expressionOrVector) RIGHT_PAREN!
;
parameterSpecification
More information about the hibernate-commits
mailing list