Re: a...bug with pgsql and addPrefetch? (Cay 1.2B2)

From: Cris Daniluk (cris.danilu..mail.com)
Date: Sat May 13 2006 - 12:20:31 EDT

  • Next message: Tomi NA: "cayenne modeler 1.2B2 exception"

    > I'm sorry I didn't make it completely clear: I'm using cayenne 1.2B2
    > (see subject line).

    GMail cut off the subject... sorry bout that :)

    > Also, I'm very thankfull for the hint about prefetch semantics: I
    > didn't really think about what was going on under the hood, up untill
    > now.
    > I gave PrefetchTreeNode.JOINT_PREFETCH_SEMANTICS a try and got
    > *exactly* the join I wanted:
    >
    > QueryLogger:
    > SELECT (...t0.fieldlist, t1.fieldlist...)
    > FROM main.first_table t0, main.second_table t1
    > WHERE t0.id = t1.id AND (t0.attr ILIKE ?) LIMIT 50 [bind: '%a%'] -
    > prepared in 18 ms.
    >
    > Now, the problem is that not knowing about prefetch semantics, I
    > expected the prefetch to *just work* i.e. deduce which records in the
    > other table I really require, instead of fetching all of them.
    > I still think there's no use case to support the default prefetch
    > behaviour that gave me problems in the first place: if the query on
    > the primary table is limited to no more than a 100 records, why would
    > the prefetch go for all the records of the secondary table?
    >

    The reason is that if you were including certain expressions, you
    might find that the prefetch didn't include all results, meaning a
    getRelationshipArray call on your base object could deceivingly return
    less than the number of results that are actually present. This has
    been documented in a few bugs and on the list, and is definitely a
    priority, but quite difficult to actually fix :)

    http://issues.apache.org/cayenne/browse/CAY-319

    Maybe you could submit a bug report about this, though... the
    semantics should be detected correctly most of the times, and this
    might be a time where it could have been detected better. Would have
    to look in greater detail to be sure.

    Cris



    This archive was generated by hypermail 2.0.0 : Sat May 13 2006 - 12:20:56 EDT