Re: Problems with Expression.match()

From: Andrus Adamchik (andru..bjectstyle.org)
Date: Thu Jun 11 2009 - 03:15:05 EDT

  • Next message: Jason Ward: "Cayenne logging"

    Here is one that I found:

    https://issues.apache.org/jira/browse/CAY-419

    The description in the Jira is a bit vague, but the idea seems to be
    the same.

    Andrus

    On Jun 10, 2009, at 6:40 PM, Andrey Razumovsky wrote:

    > #1. I can have a look. Please find JIRA or create a new one
    >
    > #2. You should create table ID as ObjAttrbute and attach
    > ExpressionFactory.noMatchExp("id", getId())
    >
    >
    > 2009/6/10 Øyvind Harboe <oyvind.harbo..ylin.com>
    >
    >> On Wed, Jun 10, 2009 at 5:26 PM, Andrus Adamchik<andru..bjectstyle.org
    >> >
    >> wrote:
    >>>
    >>> On Jun 5, 2009, at 11:43 AM, Øyvind Harboe wrote:
    >>>
    >>>> 1. I can't use expression.match() because it will fail when the
    >>>> expression contains
    >>>> an array in the path. I.e. matchExp(role.members.user, user) here
    >>>> "members"
    >>>> will return a list, and this causes an exception for .match(),
    >>>> whereas
    >> it
    >>>> works
    >>>> fine in a query.
    >>>
    >>> Yeah, this is a known limitation for in memory processing. We
    >>> probably
    >> even
    >>> have a Jira to fix it.
    >>
    >> If you find the JIRA # I'll see if we can't have a go at fixing it...
    >>
    >>>> 2. In the above statement I don't know how to add a andExp() to
    >>>> only
    >>>> return
    >>>> "this", so I get a bigger query result than I need + unecessary
    >>>> post
    >>>> processing.
    >>>> I've run into this problem previously as well, without finding an
    >>>> elegant solution.
    >>>
    >>> Not sure I understand this.
    >>
    >> Since I can't use .match() I want to run expression against the
    >> database to
    >> see if "this" matches the filter, but I don't want *lots* of returned
    >> results where I need to check that "this" is in the list of objects.
    >>
    >> If I could create an expression that filtered out all objects that
    >> was not
    >> "this", then I would know that the object matched the expression if
    >> a single record was returned.
    >>
    >> --
    >> Øyvind Harboe
    >> Embedded software and hardware consulting services
    >> http://consulting.zylin.com
    >>



    This archive was generated by hypermail 2.0.0 : Thu Jun 11 2009 - 03:15:55 EDT