Thanks for your very helpful reply, Jonathan.  It answered my general
question but I'm left with a couple of more specific ones.

Pl. see in line.

> I do that with ~20 tables that hold data I consider 'constants'.  If
> this data is unchanging, there's no need to continually hit the db.
> ( note, i do this in a persistent environment , and i use that data
> nonstop.   i think its easier putting config/constant data in a db
> than an xml / hash )

Yes, that's it. It's for data that is constant, for the purposes of the
script in question.  But I am v. interested to know how you do this.  Do you
do a Rose call and then iterate through all the objects creating a hash?
I've now written something to do this.

> > 3. Get Rose to do 1 more elegantly in a way that I haven't
> yet found:
> > $oldsuppliers = $suppliers->(query => [obsolete => {eq =>
> 'Y'}])   or
> > something.
> > Q1: Is 3 or something like possible?
> Do you mean using the cached data, or just in general --

No I didn't mean the cached data (at least I don't think I mean that).  Here
is a real example that leaves me baffled.  Having already loaded all
products with Rose, I now want to see how many of a product are at a
particular location which comes from a one_to_many relationship with another
table locations.  With my old hash method of doing this it would be
trivially simple : $product{locations}{$location}{stockqty}.

I'm thought it would be trivially simple with Rose too but it doesn't seem
to be.

$products = MG::Product::Manager->get_products(require_objects =>
['locations'];

So now $products is an array of all product information, just like %product
was a hash of all product info.  But how do I get that stock quantity info
for a particular location out of the $products array?

$products->locations->$location->stockqty  won't work of course
$products->locations(locationcode => $location)->stockqty   won't work
either.

Is there a solution?  Or do I just have to do another call to the DB?



-------------------------------------------------------------------------
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