You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by aa...@apache.org on 2007/07/28 19:31:12 UTC
svn commit: r560577 - in /cayenne/main/branches/STABLE-1.2/cayenne:
cayenne-java/src/cayenne/java/org/objectstyle/cayenne/access/trans/
cayenne-java/src/cayenne/java/org/objectstyle/cayenne/exp/parser/
cayenne-other/release-notes/
Author: aadamchik
Date: Sat Jul 28 10:31:10 2007
New Revision: 560577
URL: http://svn.apache.org/viewvc?view=rev&rev=560577
Log:
CAY-832 enum-mapped columns improperly handled in in expressions - 1.2 BRANCH
Modified:
cayenne/main/branches/STABLE-1.2/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/access/trans/QueryAssemblerHelper.java
cayenne/main/branches/STABLE-1.2/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/exp/parser/ASTAdd.java
cayenne/main/branches/STABLE-1.2/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/exp/parser/ASTAnd.java
cayenne/main/branches/STABLE-1.2/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/exp/parser/ASTBetween.java
cayenne/main/branches/STABLE-1.2/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/exp/parser/ASTDivide.java
cayenne/main/branches/STABLE-1.2/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/exp/parser/ASTEqual.java
cayenne/main/branches/STABLE-1.2/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/exp/parser/ASTGreater.java
cayenne/main/branches/STABLE-1.2/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/exp/parser/ASTGreaterOrEqual.java
cayenne/main/branches/STABLE-1.2/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/exp/parser/ASTIn.java
cayenne/main/branches/STABLE-1.2/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/exp/parser/ASTLess.java
cayenne/main/branches/STABLE-1.2/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/exp/parser/ASTLessOrEqual.java
cayenne/main/branches/STABLE-1.2/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/exp/parser/ASTLike.java
cayenne/main/branches/STABLE-1.2/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/exp/parser/ASTLikeIgnoreCase.java
cayenne/main/branches/STABLE-1.2/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/exp/parser/ASTMultiply.java
cayenne/main/branches/STABLE-1.2/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/exp/parser/ASTNegate.java
cayenne/main/branches/STABLE-1.2/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/exp/parser/ASTNot.java
cayenne/main/branches/STABLE-1.2/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/exp/parser/ASTNotBetween.java
cayenne/main/branches/STABLE-1.2/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/exp/parser/ASTNotEqual.java
cayenne/main/branches/STABLE-1.2/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/exp/parser/ASTNotIn.java
cayenne/main/branches/STABLE-1.2/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/exp/parser/ASTNotLike.java
cayenne/main/branches/STABLE-1.2/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/exp/parser/ASTNotLikeIgnoreCase.java
cayenne/main/branches/STABLE-1.2/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/exp/parser/ASTOr.java
cayenne/main/branches/STABLE-1.2/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/exp/parser/ASTSubtract.java
cayenne/main/branches/STABLE-1.2/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/exp/parser/SimpleNode.java
cayenne/main/branches/STABLE-1.2/cayenne/cayenne-other/release-notes/RELEASE-NOTES-1.2.4.txt
Modified: cayenne/main/branches/STABLE-1.2/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/access/trans/QueryAssemblerHelper.java
URL: http://svn.apache.org/viewvc/cayenne/main/branches/STABLE-1.2/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/access/trans/QueryAssemblerHelper.java?view=diff&rev=560577&r1=560576&r2=560577
==============================================================================
--- cayenne/main/branches/STABLE-1.2/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/access/trans/QueryAssemblerHelper.java (original)
+++ cayenne/main/branches/STABLE-1.2/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/access/trans/QueryAssemblerHelper.java Sat Jul 28 10:31:10 2007
@@ -63,6 +63,7 @@
import org.objectstyle.cayenne.DataObject;
import org.objectstyle.cayenne.ObjectId;
import org.objectstyle.cayenne.exp.Expression;
+import org.objectstyle.cayenne.exp.parser.SimpleNode;
import org.objectstyle.cayenne.map.DbAttribute;
import org.objectstyle.cayenne.map.DbEntity;
import org.objectstyle.cayenne.map.DbJoin;
@@ -321,8 +322,18 @@
*/
protected DbAttribute paramsDbType(Expression e) {
int len = e.getOperandCount();
- // ignore unary expressions
+
+ // for unary expressions, find parent binary - this is a hack mainly to support
+ // ASTList
if (len < 2) {
+
+ if (e instanceof SimpleNode) {
+ Expression parent = (Expression) ((SimpleNode) e).jjtGetParent();
+ if (parent != null) {
+ return paramsDbType(parent);
+ }
+ }
+
return null;
}
Modified: cayenne/main/branches/STABLE-1.2/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/exp/parser/ASTAdd.java
URL: http://svn.apache.org/viewvc/cayenne/main/branches/STABLE-1.2/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/exp/parser/ASTAdd.java?view=diff&rev=560577&r1=560576&r2=560577
==============================================================================
--- cayenne/main/branches/STABLE-1.2/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/exp/parser/ASTAdd.java (original)
+++ cayenne/main/branches/STABLE-1.2/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/exp/parser/ASTAdd.java Sat Jul 28 10:31:10 2007
@@ -82,6 +82,8 @@
for (int i = 0; i < len; i++) {
jjtAddChild(wrapChild(nodes[i]), i);
}
+
+ connectChildren();
}
public ASTAdd(Collection nodes) {
@@ -91,6 +93,8 @@
for (int i = 0; i < len; i++) {
jjtAddChild(wrapChild(it.next()), i);
}
+
+ connectChildren();
}
protected Object evaluateNode(Object o) throws Exception {
Modified: cayenne/main/branches/STABLE-1.2/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/exp/parser/ASTAnd.java
URL: http://svn.apache.org/viewvc/cayenne/main/branches/STABLE-1.2/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/exp/parser/ASTAnd.java?view=diff&rev=560577&r1=560576&r2=560577
==============================================================================
--- cayenne/main/branches/STABLE-1.2/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/exp/parser/ASTAnd.java (original)
+++ cayenne/main/branches/STABLE-1.2/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/exp/parser/ASTAnd.java Sat Jul 28 10:31:10 2007
@@ -85,6 +85,8 @@
for (int i = 0; i < len; i++) {
jjtAddChild((Node) nodes[i], i);
}
+
+ connectChildren();
}
public ASTAnd(Collection nodes) {
@@ -94,6 +96,8 @@
for (int i = 0; i < len; i++) {
jjtAddChild((Node) it.next(), i);
}
+
+ connectChildren();
}
protected Object evaluateNode(Object o) throws Exception {
Modified: cayenne/main/branches/STABLE-1.2/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/exp/parser/ASTBetween.java
URL: http://svn.apache.org/viewvc/cayenne/main/branches/STABLE-1.2/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/exp/parser/ASTBetween.java?view=diff&rev=560577&r1=560576&r2=560577
==============================================================================
--- cayenne/main/branches/STABLE-1.2/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/exp/parser/ASTBetween.java (original)
+++ cayenne/main/branches/STABLE-1.2/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/exp/parser/ASTBetween.java Sat Jul 28 10:31:10 2007
@@ -79,6 +79,8 @@
jjtAddChild(path, 0);
jjtAddChild(new ASTScalar(value1), 1);
jjtAddChild(new ASTScalar(value2), 2);
+
+ connectChildren();
}
protected Object evaluateNode(Object o) throws Exception {
Modified: cayenne/main/branches/STABLE-1.2/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/exp/parser/ASTDivide.java
URL: http://svn.apache.org/viewvc/cayenne/main/branches/STABLE-1.2/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/exp/parser/ASTDivide.java?view=diff&rev=560577&r1=560576&r2=560577
==============================================================================
--- cayenne/main/branches/STABLE-1.2/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/exp/parser/ASTDivide.java (original)
+++ cayenne/main/branches/STABLE-1.2/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/exp/parser/ASTDivide.java Sat Jul 28 10:31:10 2007
@@ -83,6 +83,8 @@
for (int i = 0; i < len; i++) {
jjtAddChild(wrapChild(nodes[i]), i);
}
+
+ connectChildren();
}
public ASTDivide(Collection nodes) {
@@ -92,6 +94,8 @@
for (int i = 0; i < len; i++) {
jjtAddChild(wrapChild(it.next()), i);
}
+
+ connectChildren();
}
protected Object evaluateNode(Object o) throws Exception {
Modified: cayenne/main/branches/STABLE-1.2/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/exp/parser/ASTEqual.java
URL: http://svn.apache.org/viewvc/cayenne/main/branches/STABLE-1.2/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/exp/parser/ASTEqual.java?view=diff&rev=560577&r1=560576&r2=560577
==============================================================================
--- cayenne/main/branches/STABLE-1.2/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/exp/parser/ASTEqual.java (original)
+++ cayenne/main/branches/STABLE-1.2/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/exp/parser/ASTEqual.java Sat Jul 28 10:31:10 2007
@@ -84,6 +84,7 @@
super(ExpressionParserTreeConstants.JJTEQUAL);
jjtAddChild(path, 0);
jjtAddChild(new ASTScalar(value), 1);
+ connectChildren();
}
protected Object evaluateNode(Object o) throws Exception {
Modified: cayenne/main/branches/STABLE-1.2/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/exp/parser/ASTGreater.java
URL: http://svn.apache.org/viewvc/cayenne/main/branches/STABLE-1.2/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/exp/parser/ASTGreater.java?view=diff&rev=560577&r1=560576&r2=560577
==============================================================================
--- cayenne/main/branches/STABLE-1.2/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/exp/parser/ASTGreater.java (original)
+++ cayenne/main/branches/STABLE-1.2/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/exp/parser/ASTGreater.java Sat Jul 28 10:31:10 2007
@@ -80,6 +80,7 @@
super(ExpressionParserTreeConstants.JJTGREATER);
jjtAddChild(path, 0);
jjtAddChild(new ASTScalar(value), 1);
+ connectChildren();
}
protected Object evaluateNode(Object o) throws Exception {
Modified: cayenne/main/branches/STABLE-1.2/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/exp/parser/ASTGreaterOrEqual.java
URL: http://svn.apache.org/viewvc/cayenne/main/branches/STABLE-1.2/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/exp/parser/ASTGreaterOrEqual.java?view=diff&rev=560577&r1=560576&r2=560577
==============================================================================
--- cayenne/main/branches/STABLE-1.2/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/exp/parser/ASTGreaterOrEqual.java (original)
+++ cayenne/main/branches/STABLE-1.2/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/exp/parser/ASTGreaterOrEqual.java Sat Jul 28 10:31:10 2007
@@ -81,6 +81,7 @@
super(ExpressionParserTreeConstants.JJTGREATEROREQUAL);
jjtAddChild(path, 0);
jjtAddChild(new ASTScalar(value), 1);
+ connectChildren();
}
protected Object evaluateNode(Object o) throws Exception {
Modified: cayenne/main/branches/STABLE-1.2/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/exp/parser/ASTIn.java
URL: http://svn.apache.org/viewvc/cayenne/main/branches/STABLE-1.2/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/exp/parser/ASTIn.java?view=diff&rev=560577&r1=560576&r2=560577
==============================================================================
--- cayenne/main/branches/STABLE-1.2/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/exp/parser/ASTIn.java (original)
+++ cayenne/main/branches/STABLE-1.2/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/exp/parser/ASTIn.java Sat Jul 28 10:31:10 2007
@@ -79,6 +79,7 @@
super(ExpressionParserTreeConstants.JJTIN);
jjtAddChild(path, 0);
jjtAddChild(list, 1);
+ connectChildren();
}
protected Object evaluateNode(Object o) throws Exception {
Modified: cayenne/main/branches/STABLE-1.2/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/exp/parser/ASTLess.java
URL: http://svn.apache.org/viewvc/cayenne/main/branches/STABLE-1.2/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/exp/parser/ASTLess.java?view=diff&rev=560577&r1=560576&r2=560577
==============================================================================
--- cayenne/main/branches/STABLE-1.2/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/exp/parser/ASTLess.java (original)
+++ cayenne/main/branches/STABLE-1.2/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/exp/parser/ASTLess.java Sat Jul 28 10:31:10 2007
@@ -80,6 +80,7 @@
super(ExpressionParserTreeConstants.JJTLESS);
jjtAddChild(path, 0);
jjtAddChild(new ASTScalar(value), 1);
+ connectChildren();
}
protected Object evaluateNode(Object o) throws Exception {
Modified: cayenne/main/branches/STABLE-1.2/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/exp/parser/ASTLessOrEqual.java
URL: http://svn.apache.org/viewvc/cayenne/main/branches/STABLE-1.2/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/exp/parser/ASTLessOrEqual.java?view=diff&rev=560577&r1=560576&r2=560577
==============================================================================
--- cayenne/main/branches/STABLE-1.2/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/exp/parser/ASTLessOrEqual.java (original)
+++ cayenne/main/branches/STABLE-1.2/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/exp/parser/ASTLessOrEqual.java Sat Jul 28 10:31:10 2007
@@ -81,6 +81,7 @@
super(ExpressionParserTreeConstants.JJTLESSOREQUAL);
jjtAddChild(path, 0);
jjtAddChild(new ASTScalar(value), 1);
+ connectChildren();
}
protected Object evaluateNode(Object o) throws Exception {
Modified: cayenne/main/branches/STABLE-1.2/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/exp/parser/ASTLike.java
URL: http://svn.apache.org/viewvc/cayenne/main/branches/STABLE-1.2/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/exp/parser/ASTLike.java?view=diff&rev=560577&r1=560576&r2=560577
==============================================================================
--- cayenne/main/branches/STABLE-1.2/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/exp/parser/ASTLike.java (original)
+++ cayenne/main/branches/STABLE-1.2/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/exp/parser/ASTLike.java Sat Jul 28 10:31:10 2007
@@ -76,6 +76,7 @@
super(ExpressionParserTreeConstants.JJTLIKE, false);
jjtAddChild(path, 0);
jjtAddChild(wrapChild(pattern), 1);
+ connectChildren();
}
protected Object evaluateNode(Object o) throws Exception {
Modified: cayenne/main/branches/STABLE-1.2/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/exp/parser/ASTLikeIgnoreCase.java
URL: http://svn.apache.org/viewvc/cayenne/main/branches/STABLE-1.2/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/exp/parser/ASTLikeIgnoreCase.java?view=diff&rev=560577&r1=560576&r2=560577
==============================================================================
--- cayenne/main/branches/STABLE-1.2/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/exp/parser/ASTLikeIgnoreCase.java (original)
+++ cayenne/main/branches/STABLE-1.2/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/exp/parser/ASTLikeIgnoreCase.java Sat Jul 28 10:31:10 2007
@@ -76,6 +76,7 @@
super(ExpressionParserTreeConstants.JJTLIKEIGNORECASE, true);
jjtAddChild(path, 0);
jjtAddChild(wrapChild(pattern), 1);
+ connectChildren();
}
protected Object evaluateNode(Object o) throws Exception {
Modified: cayenne/main/branches/STABLE-1.2/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/exp/parser/ASTMultiply.java
URL: http://svn.apache.org/viewvc/cayenne/main/branches/STABLE-1.2/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/exp/parser/ASTMultiply.java?view=diff&rev=560577&r1=560576&r2=560577
==============================================================================
--- cayenne/main/branches/STABLE-1.2/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/exp/parser/ASTMultiply.java (original)
+++ cayenne/main/branches/STABLE-1.2/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/exp/parser/ASTMultiply.java Sat Jul 28 10:31:10 2007
@@ -84,6 +84,8 @@
for (int i = 0; i < len; i++) {
jjtAddChild(wrapChild(nodes[i]), i);
}
+
+ connectChildren();
}
public ASTMultiply(Collection nodes) {
Modified: cayenne/main/branches/STABLE-1.2/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/exp/parser/ASTNegate.java
URL: http://svn.apache.org/viewvc/cayenne/main/branches/STABLE-1.2/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/exp/parser/ASTNegate.java?view=diff&rev=560577&r1=560576&r2=560577
==============================================================================
--- cayenne/main/branches/STABLE-1.2/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/exp/parser/ASTNegate.java (original)
+++ cayenne/main/branches/STABLE-1.2/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/exp/parser/ASTNegate.java Sat Jul 28 10:31:10 2007
@@ -80,6 +80,7 @@
public ASTNegate(Object node) {
super(ExpressionParserTreeConstants.JJTNEGATE);
jjtAddChild(wrapChild(node), 0);
+ connectChildren();
}
/**
Modified: cayenne/main/branches/STABLE-1.2/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/exp/parser/ASTNot.java
URL: http://svn.apache.org/viewvc/cayenne/main/branches/STABLE-1.2/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/exp/parser/ASTNot.java?view=diff&rev=560577&r1=560576&r2=560577
==============================================================================
--- cayenne/main/branches/STABLE-1.2/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/exp/parser/ASTNot.java (original)
+++ cayenne/main/branches/STABLE-1.2/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/exp/parser/ASTNot.java Sat Jul 28 10:31:10 2007
@@ -79,6 +79,7 @@
public ASTNot(Node expression) {
super(ExpressionParserTreeConstants.JJTNOT);
jjtAddChild(expression, 0);
+ connectChildren();
}
protected Object evaluateNode(Object o) throws Exception {
Modified: cayenne/main/branches/STABLE-1.2/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/exp/parser/ASTNotBetween.java
URL: http://svn.apache.org/viewvc/cayenne/main/branches/STABLE-1.2/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/exp/parser/ASTNotBetween.java?view=diff&rev=560577&r1=560576&r2=560577
==============================================================================
--- cayenne/main/branches/STABLE-1.2/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/exp/parser/ASTNotBetween.java (original)
+++ cayenne/main/branches/STABLE-1.2/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/exp/parser/ASTNotBetween.java Sat Jul 28 10:31:10 2007
@@ -78,6 +78,7 @@
jjtAddChild(path, 0);
jjtAddChild(new ASTScalar(value1), 1);
jjtAddChild(new ASTScalar(value2), 2);
+ connectChildren();
}
protected Object evaluateNode(Object o) throws Exception {
Modified: cayenne/main/branches/STABLE-1.2/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/exp/parser/ASTNotEqual.java
URL: http://svn.apache.org/viewvc/cayenne/main/branches/STABLE-1.2/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/exp/parser/ASTNotEqual.java?view=diff&rev=560577&r1=560576&r2=560577
==============================================================================
--- cayenne/main/branches/STABLE-1.2/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/exp/parser/ASTNotEqual.java (original)
+++ cayenne/main/branches/STABLE-1.2/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/exp/parser/ASTNotEqual.java Sat Jul 28 10:31:10 2007
@@ -80,6 +80,7 @@
super(ExpressionParserTreeConstants.JJTNOTEQUAL);
jjtAddChild(path, 0);
jjtAddChild(new ASTScalar(value), 1);
+ connectChildren();
}
protected Object evaluateNode(Object o) throws Exception {
Modified: cayenne/main/branches/STABLE-1.2/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/exp/parser/ASTNotIn.java
URL: http://svn.apache.org/viewvc/cayenne/main/branches/STABLE-1.2/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/exp/parser/ASTNotIn.java?view=diff&rev=560577&r1=560576&r2=560577
==============================================================================
--- cayenne/main/branches/STABLE-1.2/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/exp/parser/ASTNotIn.java (original)
+++ cayenne/main/branches/STABLE-1.2/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/exp/parser/ASTNotIn.java Sat Jul 28 10:31:10 2007
@@ -76,6 +76,7 @@
super(ExpressionParserTreeConstants.JJTNOTIN);
jjtAddChild(path, 0);
jjtAddChild(list, 1);
+ connectChildren();
}
protected Object evaluateNode(Object o) throws Exception {
Modified: cayenne/main/branches/STABLE-1.2/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/exp/parser/ASTNotLike.java
URL: http://svn.apache.org/viewvc/cayenne/main/branches/STABLE-1.2/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/exp/parser/ASTNotLike.java?view=diff&rev=560577&r1=560576&r2=560577
==============================================================================
--- cayenne/main/branches/STABLE-1.2/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/exp/parser/ASTNotLike.java (original)
+++ cayenne/main/branches/STABLE-1.2/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/exp/parser/ASTNotLike.java Sat Jul 28 10:31:10 2007
@@ -78,6 +78,7 @@
super(ExpressionParserTreeConstants.JJTNOTLIKE, false);
jjtAddChild(path, 0);
jjtAddChild(new ASTScalar(value), 1);
+ connectChildren();
}
protected Object evaluateNode(Object o) throws Exception {
Modified: cayenne/main/branches/STABLE-1.2/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/exp/parser/ASTNotLikeIgnoreCase.java
URL: http://svn.apache.org/viewvc/cayenne/main/branches/STABLE-1.2/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/exp/parser/ASTNotLikeIgnoreCase.java?view=diff&rev=560577&r1=560576&r2=560577
==============================================================================
--- cayenne/main/branches/STABLE-1.2/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/exp/parser/ASTNotLikeIgnoreCase.java (original)
+++ cayenne/main/branches/STABLE-1.2/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/exp/parser/ASTNotLikeIgnoreCase.java Sat Jul 28 10:31:10 2007
@@ -77,6 +77,7 @@
super(ExpressionParserTreeConstants.JJTNOTLIKEIGNORECASE, true);
jjtAddChild(path, 0);
jjtAddChild(new ASTScalar(value), 1);
+ connectChildren();
}
protected Object evaluateNode(Object o) throws Exception {
Modified: cayenne/main/branches/STABLE-1.2/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/exp/parser/ASTOr.java
URL: http://svn.apache.org/viewvc/cayenne/main/branches/STABLE-1.2/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/exp/parser/ASTOr.java?view=diff&rev=560577&r1=560576&r2=560577
==============================================================================
--- cayenne/main/branches/STABLE-1.2/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/exp/parser/ASTOr.java (original)
+++ cayenne/main/branches/STABLE-1.2/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/exp/parser/ASTOr.java Sat Jul 28 10:31:10 2007
@@ -82,6 +82,7 @@
for (int i = 0; i < len; i++) {
jjtAddChild((Node) nodes[i], i);
}
+ connectChildren();
}
public ASTOr(Collection nodes) {
@@ -91,6 +92,7 @@
for (int i = 0; i < len; i++) {
jjtAddChild((Node) it.next(), i);
}
+ connectChildren();
}
protected Object evaluateNode(Object o) throws Exception {
Modified: cayenne/main/branches/STABLE-1.2/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/exp/parser/ASTSubtract.java
URL: http://svn.apache.org/viewvc/cayenne/main/branches/STABLE-1.2/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/exp/parser/ASTSubtract.java?view=diff&rev=560577&r1=560576&r2=560577
==============================================================================
--- cayenne/main/branches/STABLE-1.2/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/exp/parser/ASTSubtract.java (original)
+++ cayenne/main/branches/STABLE-1.2/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/exp/parser/ASTSubtract.java Sat Jul 28 10:31:10 2007
@@ -84,6 +84,7 @@
for (int i = 0; i < len; i++) {
jjtAddChild(wrapChild(nodes[i]), i);
}
+ connectChildren();
}
public ASTSubtract(Collection nodes) {
@@ -93,6 +94,7 @@
for (int i = 0; i < len; i++) {
jjtAddChild(wrapChild(it.next()), i);
}
+ connectChildren();
}
protected Object evaluateNode(Object o) throws Exception {
Modified: cayenne/main/branches/STABLE-1.2/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/exp/parser/SimpleNode.java
URL: http://svn.apache.org/viewvc/cayenne/main/branches/STABLE-1.2/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/exp/parser/SimpleNode.java?view=diff&rev=560577&r1=560576&r2=560577
==============================================================================
--- cayenne/main/branches/STABLE-1.2/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/exp/parser/SimpleNode.java (original)
+++ cayenne/main/branches/STABLE-1.2/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/exp/parser/SimpleNode.java Sat Jul 28 10:31:10 2007
@@ -232,6 +232,19 @@
* Evaluates itself with object, pushing result on the stack.
*/
protected abstract Object evaluateNode(Object o) throws Exception;
+
+ /**
+ * Sets the parent to this for all children.
+ *
+ * @since 3.0
+ */
+ protected void connectChildren() {
+ if (children != null) {
+ for (int i = 0; i < children.length; i++) {
+ children[i].jjtSetParent(this);
+ }
+ }
+ }
protected Object evaluateChild(int index, Object o) throws Exception {
return ((SimpleNode) jjtGetChild(index)).evaluate(o);
Modified: cayenne/main/branches/STABLE-1.2/cayenne/cayenne-other/release-notes/RELEASE-NOTES-1.2.4.txt
URL: http://svn.apache.org/viewvc/cayenne/main/branches/STABLE-1.2/cayenne/cayenne-other/release-notes/RELEASE-NOTES-1.2.4.txt?view=diff&rev=560577&r1=560576&r2=560577
==============================================================================
--- cayenne/main/branches/STABLE-1.2/cayenne/cayenne-other/release-notes/RELEASE-NOTES-1.2.4.txt (original)
+++ cayenne/main/branches/STABLE-1.2/cayenne/cayenne-other/release-notes/RELEASE-NOTES-1.2.4.txt Sat Jul 28 10:31:10 2007
@@ -11,3 +11,4 @@
Bug Fixes:
CAY-818 Frontbase NUMBERIC type mapping typo
+CAY-832 enum-mapped columns improperly handled in in expressions