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
> >
>
>

Reply via email to