hi alan,

when adding your if(chainingIterator==null), i get all my objects twice. the
problem is imo the implementation of the extentaware iterator. for each
criteria containing a path it adds an iterator (resulting in a query!).

in my testcase i have a query with two criteria containing path expressions,
so two queries are executed and two iterators are added to the chaining
iterator. the result is the above mentioned double number of objects.

jakob


----- Original Message -----
From: "Olmanson, Alan" <[EMAIL PROTECTED]>
To: "OJB Users List" <[EMAIL PROTECTED]>
Sent: Friday, December 20, 2002 1:03 AM
Subject: Bug / coding oversight?


> Hello,
>
> I think I've run across a bug (more likely a coding oversight).
>
> In the PersistenceBrokerImpl in the method
> getRsIteratorFromQueryExtentAware(Query, ClassDescriptor,
> RsIteratorFactory);
>
> Before the while(enum.hasMoreElements()) loop a chainingIterator is
defined
> and set to null.
>
> With in the loop the chainingIterator is created.
>
> The problem is it's recreated on each iteration of the loop.  Shouldn't it
> only be created if it is null?
>
> I had two criteriaElements added in my Criteria the first was a NotNull
the
> other an SQL. I was getting nothing returned until I added:
>
>     if (chainingIterator == null) {
>         chainingIterator = new ChainingIterator();
>     }
>
> Alan
>
> --
> To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>
>


--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to