Dean Arnold wrote:

Dean Arnold wrote:

(FYI: AS perl 5.8.3, DBI 1.48, WinXP)

Does DBI subclassing permit/play nice with multiple
inheritance ?


Nevermind. I forgot that the subclassing root starts
at DBI::dr w/ the connect(), not DBI...which creates
its own set of issues for me, but hopefully will let
DBI base methods behave properly.

- Dean


Since I've forgotten about this only a few dozen times now,
I'll offer this bit of text for future inclusion in the
DBI POD (where to put it, and the exact text, I'll leave
to the keepers):

B<Note> that DBI subclasses are not strictly inherited
subclasses in the classic OO sense. Your subclassed driver,
connection, and statement objects B<must> be derived
through the DBI at some point in order to acquire some
neccesary "magic" needed for any methods not explicitly
overridden in your subclass, or for any methods invoked on
the SUPER class. If you see errors like the following:

        SV = PVMG(0x39ca0a4) at 0x1d1d8f0
          REFCNT = 1
          FLAGS = (ROK)
          IV = 0
          NV = 0
          RV = 0x24b24b8
          PV = 0x24b24b8 ""
          CUR = 0
          LEN = 0
        dbih_getcom handle MyDBI::db=HASH(0x24b24b8) is not a DBI handle
        (has no magic) at ....

your object probably hasn't been derived through the appropriate
base class.


- Dean


Reply via email to