db-jdo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From e...@jpox.org
Subject Re: JIRA-70 - jdoPreClear
Date Wed, 27 Jul 2005 23:40:34 GMT
Quoting Craig Russell <Craig.Russell@Sun.COM>:

> > - The instance is p-deleted
>
> The stack trace shows the instance is p-clean. So this is the
> secondaryObj. It was just navigated from the primaryObj and retrieve
> was called:
>          secondaryObj = primaryObj.nextObj;
>          if(secondaryObj == null) {
>              fail(ASSERTION_FAILED, "Failed to find secondaryObj
> created in previous transaction using reference from primaryObj.");
>              return;
>          }
>          pm.retrieve(secondaryObj);
>
>

You are right, it's p-clean

>
> > - The field is not in DFG
>
> So perhaps the problem is that retrieve() on line 117 didn't retrieve
> the children field. From the spec:
>
> These methods request the PersistenceManager to load all persistent
> fields into the parameter instances.
>

Sometime ago, in an earlier JDO 2, it was supposed to load the current fetch
plan only, and that's how jpox does today. The JDO API needs to be updated
before we go and change JPOX for the latest changes on the retrieve contract.

> > - The field access is not mediated (jdoPreClear)
>
> So the children field should be loaded. And sadly, it's null.
>

I agree now that it should fix the issue. thx



> One other thing to look at. Is the children field mapped correctly?
>
> Craig
> >
> > Regards,
> >
> > Erik Bengtson
> >


Mime
View raw message