On Jan 30, 2007, at 7:48 PM, John Siracusa wrote:

> Given that this method will always be called with arguments, and  
> that those
> arguments can change per-call, how can there be any expectation  
> that the
> results will be saved internally?  How would such a feature even work?

it wouldn't -- i can't imagine any circumstance in which it could.

> The whole point of the find method is to allow ad hoc queries.   
> Think of it
> as a Manager call with the query parameters that link one object to  
> another
> being implied, rather than explicitly visible in the args.

i'm in 100% agreement.  but the manager class is that  'special'  
place where all sorts of conditional stuff happens.

it just seems counter-intuitive to everything else in the base rose  
class to me.

> If someone wants to keep the results of a find method call around  
> for a
> while, they certainly have the means to do so by...keeping the results
> around for a while! :)
>     # Keep @prices around until it's no longer needed
>     @prices = $p->find_prices(...);
> If there exists a well-defined set of related objects that you want  
> to be
> able to keep inside the parent object, just create a relationship  
> with all
> the parameters that define this set, then use the usual  
> get_set_on_save
> method.

i have no qualms with that.

i just think that the nature of this new function requires that the  
user be made painfully aware of this departure from the standard  

the consensus is clearly otherwise, but let me expand my suggestions to:

      a- the name semantically notes that it doesn't alter the object  
like other rose functions
      b- the function require a flag that the user know whats going on
      c- this be placed not in rose::db::object, but in some other  
class which extends rose::db::object ( rose::db::objectalt )

i think my issue is that it functions so much like a manager call and  
not like a rose object , yet the point of it is to have the  
functionality of a manager call in the object itself.

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
Rose-db-object mailing list

Reply via email to