[Maypole] Maypole startup sequence

Dave Howorth dhoworth@mrc-lmb.cam.ac.uk
Fri, 10 Dec 2004 16:55:59 +0000


Peter Speltz wrote:
> That's awesome. Thanks. One question i have about in the
> "Class::DBI::Loader::mysql::_load_classes" part. Where it says " After that, it
> pushes Class::DBI::mysql on to the inheritance list of the class and calls
> set_db()  . .. " I notice it "pushes" it on ISA list.

Yeah, I think that's wrong.

> Later on in setup Maypole
> iterates and makes each class inherit from Maypole->model.  Somehow in this
> scheme,  Class::DBI ends up earlier in the ISA list than Class::DBI::mysql for
> me because Class::DBI methods are used before Class::DBI::mysql methods of same
> name.  Any ideas on why that is or if that is a bug?

I was just looking at this myself (that's what prompted me to post the 
doc :) because I'd just noticed the same thing. In my app, Class::DBI's 
deprecated column_type method is getting called in preference to 
Class::DBI::mysql's real one. But in my app, I've tweaked the model and 
replaced the loader so I have to dig a lot to be sure whether it's 
something I've done or not. (Actually, I have three versions of the app, 
one with a standard loader, one with a hacked version of the loader, and 
one using my auto-generated initialisation)

The behaviour I'm seeing is definitely a bug, but I don't know whether 
it's mine or in some other code yet :(  I need to rerun my test with 
version 0 of the app.

Cheers, Dave