Does anybody else use Castor JDO in it's current version for relational
mapping? Do you use 1-many relationships? If so, how have you fixed these
bugs?

Thanks
Rainer

> -----Original Message-----
> From: Bischof, Rainer 
> Sent: Donnerstag, 13. September 2001 12:54
> To: '[EMAIL PROTECTED]'
> Subject: RE: [castor-dev] Problem with example. Bug?
> Importance: High
> 
> 
> After having a closer look it appears to me as a bug:
> 
> Upon deletion of the first Computer Castor also marks the 
> dependent Prod_Details as deleted. 
> On results.hasMore() it populates the second Computer 
> instance. During this process it does not only add the 
> Prod_Detaisl of the second Computer as expected but also the 
> Prod_Details of the first computer. These are already marked 
> deleted. Therefore an exception is thrown and later 
> results.hasMore() returns false.
> 
> The Problem seems to be located in SqlEngine.SqlQuery.loadRow()
> 
> This method shut clear multi-field if it is in the first row:
> 
>         private int loadRow( Object[] fields, boolean isFirst 
> ) throws SQLException, PersistenceException
>         {
>             int count = _engine._ids.length + 1;
> 
>             // Load all the fields.
>             for ( int i = 0 ; i < _engine._fields.length ; ++i  ) {
>                 if ( !_engine._fields[i].load )
>                     continue;
> 
>                 if ( _engine._fields[i].multi ) {
> 
>                     //RB: inserted to clear the multi-field
>                     if ( isFirst ){
>                         if(fields[i] == null){
>                             fields[i] = new ArrayList();
>                         }else{
>                             ((ArrayList) fields[i]).clear();
>                         }
>                     }
>                     fields[i] = loadMultiField( i, count, fields[i] );
>                 }else if (isFirst ){
>                     fields[i] = loadSingleField( i, count );
>                 }
>                 count += _engine._fields[i].columns.length;
>                 //System.out.println( "loadRow: fields[" + i 
> + "] = '" + fields[i] + "' (count = '" + count + "')" );
>             }
>             return count;
>         }
> 
> This would also eliminate the null check in loadMultiField, 
> if this is not necessary in other contexts.
> 
> Is this a known Bug or did I get something wrong here?
> I am using the downloadable CVS Snapshot but it seems to be 
> in the distribution as well?
> 
> 
> Thanks 
> Rainer
> 
> 
> 
> 
> > -----Original Message-----
> > From: Bischof, Rainer 
> > Sent: Donnerstag, 13. September 2001 00:39
> > To: [EMAIL PROTECTED]
> > Subject: [castor-dev] Problem with example
> > Importance: High
> > 
> > 
> > Hi,
> >  
> > I am in trouble with the example examples.jdo.Test.java :
> > I modified the computer query section to return and delete 
> > all computers
> > that exist. The section that creates computers is modified to 
> > create two
> > computers instead of one.
> > Everything else including mapping.xml remains untouched. I 
> > use a local mySQL
> > DB and JBuilder 5 with JDK1.3, all running under Win2K. I 
> > tried both the
> > 0.9.3 as well as the CVS snapshot download.
> >  
> > Result:
> > Two computers are created in the tables on the first run, the 
> > computer query
> > returns nothing. 
> > On the second run the the program performs the compter query 
> > which should
> > return two computers. It deletes the first one and but the 
> > query does not
> > return the second one to delete, it just drops through and continues
> > execution outside the query section.
> > Funny thing: If I remove the delete statement the query does 
> > return the
> > second computer....
> >  
> > I experienced the same thing with my own test programs.
> > Any idea?
> >  
> > BTW: I also encountered in my own code an issue that was 
> > reported earlier by
> > Oliver Lieven in the Msg "Why does Castor remove dependent 
> > Objects after
> > query?"
> >  
> > Thanks
> > Rainer
> >  
> > 
> > ----------------------------------------------------------- 
> > If you wish to unsubscribe from this mailing, send mail to
> > [EMAIL PROTECTED] with a subject of:
> >     unsubscribe castor-dev
> > 
> 

----------------------------------------------------------- 
If you wish to unsubscribe from this mailing, send mail to
[EMAIL PROTECTED] with a subject of:
        unsubscribe castor-dev

Reply via email to