On Aug 1, 2006, at 8:27 PM, John Siracusa wrote:
> Ah, gotcha.  But how would the functionality you describe be  
> implemented?
> You want a method call on an object that's part of a list being  
> iterated
> over to cause that object to delete itself from the list.  That's  
> pretty
> spooky behavior, and I'm not sure how many people would expect it  
> to work
> that way.

ok.  i have no idea.

maybe there's something a little different...
        delete() deletes in the db, and internally logs/marks the item
        purge() would operate on a result set, look for items marked  
deleted, and then splice the array

in practice it would be:

my $rose= Rose::DB::Object->get();
foreach my $item ( @$rose ) {
        foreach my $suborindate ( @$item{subordinates} ) {
                if ( $test ) {
                        $suborindate->delete();
                }
        }
        if ( $test ) {
                $item->delete();
        }
}
$rose->purge();

purge would then reflexively loop the result set, looking for items  
marked deleted first as items, then subordinates ( no need to work  
backwards, as a parent would clear a child ), and splice the list  
accordingly.

its a half brained / half assed idea-- i'm sure there are better  
ways- and this would need to be a future planning thing.

as-is though, rose is a bit odd -- you can't really loop the same  
object 2x in code if there's a delete

which also brings up another idea:

how about including a null hash/array for with_object relationships  
that don't match?  i find myself testing for these things a lot.  am  
i the only one who keep running into this?

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys -- and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Rose-db-object mailing list
Rose-db-object@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/rose-db-object

Reply via email to