[Marseille-pm] Fichier de test pour Class::DBI

Robert silve robert at mtice.fr
Wed Sep 3 01:10:07 CDT 2003


On Tue, Sep 02, 2003 at 06:28:46PM +0200, Mr Arhuman wrote:
> On Tue, Sep 02, 2003 at 05:31:07PM +0200, Robert silve wrote:
> > Question annexe : comment ferais tu pour utiliser Essential 
> > judicieusement et pouvoir forcer "proprement" le fetch des colonnes
> > au cas par cas ?
> 
> Si tu veux pouvoir le déclencher au cas par cas tu peux faire un truc comme
> 
> MyDBI->columns(Primary   => qw/id/);
> MyDBI->columns(Essential => qw/lib1/);
> MyDBI->columns(Others    => qw/lib2 lib3/);
> 
> Par défaut charge id et lib2 (les clés et essential)
> 
> si tu veux charger lib2 ET lib3 tu as juste à faire un accès en lecture sur
> l'objet
> 
> my (undef) = $mydbiobject->lib2; # C'est dailleurs ce que tu faisait avec ton
> map ;-)
> 

Je sui d'accord mais ca m'embete de mettre du code inutile. Mon
map mettait un message de debug doc quand je reprend mon code je vois ce qu'il
fait la alors que 
my (undef) = $mydbiobject->lib2;
je vais a chaque fois me demander ce que ca fait la !!
Je pense donc que je vais me faire une methode perso 
$mydbiobject->fetch_all 
ou un truc comme ca qui soit plus parlant.


> L'idée est de réduire essential au minimum pour les perf, et de regrouper
> les colonnes auquelles tu accède généralement en même temps dans un même
> groupe...
> 

En fait je sais pourquoi je n'avais jamais eu ce probleme avant :
j'utilisait toujours 'All' qui est pris comme essential par defaut.
Or finalement je prefere actuellement proceder autrement donc pas de essential 
a part le "id".

Tout est clair !!


> J'ai pas testé mais tu devrais aussi pouvoir (re)définir Essential a
> différents endroits de ton code pour choisir la "finesse" de ta "lazy
> population" c'est un compromis intermédiare entre la solution "fine" (ci
> dessus) et toutes les colonnes dans essential.
> 

Je vais regarder un peu dans cette direction

Thanks


Robert




More information about the Marseille-pm mailing list