Re: ExtendedType and IN operator

From: Chris Gamache (cgamach..mail.com)
Date: Thu Nov 29 2007 - 22:55:20 EST

  • Next message: Andrus Adamchik: "Re: ExtendedType and IN operator"

    Was this enough code to make a determination?

    On Nov 27, 2007 4:56 PM, Chris Gamache <cgamach..mail.com> wrote:
    > 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 <andru..bjectstyle.org> 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
    > > >
    > >
    > >
    >



    This archive was generated by hypermail 2.0.0 : Thu Nov 29 2007 - 22:55:52 EST