@ISA = qw(DBI) no worky part II
Randal L. Schwartz
merlyn at stonehenge.com
Wed Feb 27 11:45:03 CST 2002
~sdpm~
>>>>> "Chuck" == Chuck Phillips <chuckphillips at mac.com> writes:
Chuck> I'm trying to write a package that inherits from DBI, but am missing
Chuck> something.
You missed reading how to subclass DBI in DBI::DBD -
SUBCLASSING DBI DRIVERS
This is definitely an open subject. It can be done, as
demonstrated by the DBD::File driver, but it is not as
simple as one might think.
(Note that this topic is different from subclassing the
DBI. For an example of that, see the t/subclass.t file
supplied with the DBI.)
And thus you should look at t/subclass.t for a working example.
The problem is that the object returned by Foo->connect
is not a Foo, but a Foo::db. And statement handles are Foo::st.
So you added your methods to the wrong classes. You need:
package Foo; use base qw(DBI); sub additional_constructor { ... }
package Foo::db; use base qw(DBI::db); sub additional_dbh_method { ... }
package Foo::st; use base qw(DBI::st); sub additional_sth_method { ... }
--
Randal L. Schwartz - Stonehenge Consulting Services, Inc. - +1 503 777 0095
<merlyn at stonehenge.com> <URL:http://www.stonehenge.com/merlyn/>
Perl/Unix/security consulting, Technical writing, Comedy, etc. etc.
See PerlTraining.Stonehenge.com for onsite and open-enrollment Perl training!
~sdpm~
The posting address is: san-diego-pm-list at hfb.pm.org
List requests should be sent to: majordomo at hfb.pm.org
If you ever want to remove yourself from this mailing list,
you can send mail to <majordomo at happyfunball.pm.org> with the following
command in the body of your email message:
unsubscribe san-diego-pm-list
If you ever need to get in contact with the owner of the list,
(if you have trouble unsubscribing, or have questions about the
list itself) send email to <owner-san-diego-pm-list at happyfunball.pm.org> .
This is the general rule for most mailing lists when you need
to contact a human.
More information about the San-Diego-pm
mailing list