You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ofbiz.apache.org by do...@apache.org on 2009/12/18 06:40:11 UTC
svn commit: r892146 - /ofbiz/trunk/framework/sql/src/org/ofbiz/sql/Parser.jj
Author: doogie
Date: Fri Dec 18 05:40:11 2009
New Revision: 892146
URL: http://svn.apache.org/viewvc?rev=892146&view=rev
Log:
Detect duplicate alias all entries.
Modified:
ofbiz/trunk/framework/sql/src/org/ofbiz/sql/Parser.jj
Modified: ofbiz/trunk/framework/sql/src/org/ofbiz/sql/Parser.jj
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/sql/src/org/ofbiz/sql/Parser.jj?rev=892146&r1=892145&r2=892146&view=diff
==============================================================================
--- ofbiz/trunk/framework/sql/src/org/ofbiz/sql/Parser.jj (original)
+++ ofbiz/trunk/framework/sql/src/org/ofbiz/sql/Parser.jj Fri Dec 18 05:40:11 2009
@@ -279,6 +279,7 @@
List<String> groupBy = null;
Map<String, FieldDef> fieldDefs = FastMap.newInstance();
List<FieldAll> fieldAlls = FastList.newInstance();
+ Set<String> fieldAllAliases = FastSet.newInstance();
Table table;
Map<String, Relation> relations = FastMap.newInstance();
Condition whereCondition = null, havingCondition = null;
@@ -286,8 +287,8 @@
}
{
<SELECT> (
- FieldDef(fieldDefs, fieldAlls)
- ( <COMMA> FieldDef(fieldDefs, fieldAlls) )*
+ FieldDef(fieldDefs, fieldAlls, fieldAllAliases)
+ ( <COMMA> FieldDef(fieldDefs, fieldAlls, fieldAllAliases) )*
)
<FROM> table=Table()
( <RELATION> Relation(relations) )*
@@ -521,7 +522,7 @@
| <JOIN> { return Boolean.FALSE; }
}
-private void FieldDef(Map<String, FieldDef> fieldDefs, List<FieldAll> fieldAlls):
+private void FieldDef(Map<String, FieldDef> fieldDefs, List<FieldAll> fieldAlls, Set<String> fieldAllAliases):
{
StaticValue v;
String n, fieldAlias = null, fieldName, exc;
@@ -534,6 +535,7 @@
<PERIOD> (
<STAR>
(
+ { if (fieldAllAliases.contains(n)) throw new IllegalArgumentException("Duplicate aliasAll(" + n + ")"); }
<EXCLUDE> <OPEN_PAREN>
exc=NamePart() { excludeList.add(exc); }
( <COMMA> exc=NamePart() { excludeList.add(exc); } )*