Exact Cayenne Version is 2.0.3
Here's the query builder...
public static List selectMulti(final DataContext context,final
ArrayList<UUID> userUuids, final Date fromDate, final Date toDate,
final int status) {
ArrayList<Expression> expList = new
ArrayList<Expression>();
//this is where the trouble is...
if (userUuids != null && userUuids.size() > 0)
expList.add(ExpressionFactory.inExp(TodOrders.USER_UUID_PROPERTY,
userUuids));
if (fromDate != null && toDate != null) {
expList
.add(ExpressionFactory.betweenExp(TodOrders.TRANS_DATE_PROPERTY,
fromDate, toDate));
} else if (fromDate != null && toDate == null) {
expList
.add
(ExpressionFactory.greaterOrEqualExp(TodOrders.TRANS_DATE_PROPERTY,
fromDate));
} else if (fromDate == null && toDate != null) {
expList
.add(ExpressionFactory.lessOrEqualExp(TodOrders.TRANS_DATE_PROPERTY,
toDate));
}
if (status == 1) {
expList
.add(ExpressionFactory.matchExp(TodOrders.FULFILLED_PROPERTY, null));
} else if (status == 2) {
expList
.add(ExpressionFactory.noMatchExp(TodOrders.FULFILLED_PROPERTY,
null));
}
SelectQuery orderQuery = new
SelectQuery(TodOrders.class,ExpressionFactory.joinExp(Expression.AND,
expList));
orderQuery.addOrdering(new
Ordering(TodOrders.TRANS_DATE_PROPERTY, true));
return context.performQuery(orderQuery);
}
On Nov 26, 2007 7:42 AM, Andrus Adamchik <[EMAIL PROTECTED]>
wrote:
Chris,
I vaguely remember this being a problem in the past and us fixing
it... I couldn't find any references via Google (having "IN" as a
keyword doesn't help). So could you post the code that builds the
query and the exact Cayenne version.
Thanks
Andrus
On Nov 23, 2007, at 3:39 AM, Chris Gamache wrote:
I'm using Cayenne2 and PostgreSQL.
For any single R-value in a where clause, my ExtendedType is
working
wonderfully. But! If I create an expression which uses the operator
IN, my ExtendedType doesn't seem to get called. In the query logger
everything looks okay, but pgjdbc complains in the same way that it
would if there were no exended type. That leads me to believe
either
that Cayenne is ignoring ExtendedTypes when it does the JDBC
binding
for the R-value list, or that I've left out a detail in my
ExtendedType class which is the culprit. I can post my ExtendedType
code and some code that misbehaves. Will that suffice, or would you
need more?
CG