FW: DBI/DBD won"t recognize transaction support
am 08.06.2006 17:51:53 von Michael.Muratet------_=_NextPart_001_01C68B13.764F9354
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
> Greetings
>=20
> I am trying to get the perl interface to work for InnoDB tables on =
mysql v 5.0.21, perl 5.8.5, dbi 1.51, dbd 3.0004_1 on a Dell PowerEdge =
with quad dual-core Xeons running Redhat Enterprise v4. I can create an =
InnoDB table from the mysql command line, insert a row, see it's there, =
rollback, see the row is gone. But the simple script below fails:
>=20
> use DBI;
> my $user =3D 'root';
> my $pw =3D ;
> my $dbh =3D DBI->connect("DBI:mysql:database=3Dtest;host=3D127.0.0.1", =
$user, $pw, { AutoCommit =3D> 0, RaiseError =3D> 0 });
> die DBI::errstr unless $dbh;
> $dbh->disconnect;
>=20
> The DBI/DBD interface is working OK for other (non-InnoDB) scripts.
>=20
> DBI passes all it's tests except for those that complain about =
DBI::PurePerl (see log below). DBD passes all of its tests except the =
one that deals with transactions. Can anyone offer a suggestion how to =
isolate the problem? SHOW ENGINES indicates that InnoDB is indeed =
enabled and actions with InnoDB from the mysql command line work OK. =
Should I make InnoDB the default table type when I start the server? Am =
I simply hosed because of multi-threading?
>=20
> Thanks
>=20
> Mike
>=20
> [root@HSV-PROBE DBI-1.51]# perl Makefile.PL
>=20
> *** You are using a perl configured with threading enabled.
> *** You should be aware that using multiple threads is
> *** not recommended for production environments.
>=20
> Your perl was compiled with gcc (version 3.4.3 20041125 (Red Hat =
3.4.3-6.EL4)), okay.
> Creating DBI::PurePerl test variant: t/zvpp_01basics.t
> Creating DBI::PurePerl test variant: t/zvpp_02dbidrv.t
> Creating DBI::PurePerl test variant: t/zvpp_03handle.t
> Creating DBI::PurePerl test variant: t/zvpp_04mods.t
> Creating DBI::PurePerl test variant: t/zvpp_05thrclone.t (use =
threads)
> Creating DBI::PurePerl test variant: t/zvpp_06attrs.t
> Creating DBI::PurePerl test variant: t/zvpp_07kids.t
> Creating DBI::PurePerl test variant: t/zvpp_08keeperr.t
> Creating DBI::PurePerl test variant: t/zvpp_09trace.t
> Creating DBI::PurePerl test variant: t/zvpp_10examp.t
> Creating DBI::PurePerl test variant: t/zvpp_11fetch.t
> Creating DBI::PurePerl test variant: t/zvpp_14utf8.t
> Creating DBI::PurePerl test variant: t/zvpp_15array.t
> Creating DBI::PurePerl test variant: t/zvpp_20meta.t
> Creating DBI::PurePerl test variant: t/zvpp_30subclass.t
> Creating DBI::PurePerl test variant: t/zvpp_40profile.t
> Creating DBI::PurePerl test variant: t/zvpp_41prof_dump.t
> Creating DBI::PurePerl test variant: t/zvpp_42prof_data.t
> Creating DBI::PurePerl test variant: t/zvpp_43profenv.t
> Creating DBI::PurePerl test variant: t/zvpp_50dbm.t
> Creating DBI::PurePerl test variant: t/zvpp_60preparse.t
> Creating DBI::PurePerl test variant: t/zvpp_70callbacks.t
> Creating DBI::PurePerl test variant: t/zvpp_72childhandles.t
> Creating DBI::PurePerl test variant: t/zvpp_80proxy.t
>=20
> I see you're using perl 5.008005 on x86_64-linux-thread-multi, =
okay.
> Remember to actually *read* the README file!
> Use 'make' to build the software (dmake or nmake on Windows).
> Then 'make test' to execute self tests.
> Then 'make install' to install the DBI and then delete this =
working
> directory before unpacking and building any DBD::* drivers.
>=20
> Writing Makefile for DBI
> [root@HSV-PROBE DBI-1.51]# make
> /usr/bin/perl "-MExtUtils::Command" -e mkpath blib/lib/DBI
> rm -f blib/lib/DBI/Changes.pm
> cp Changes blib/lib/DBI/Changes.pm
> /usr/bin/perl "-MExtUtils::Command" -e mkpath blib/lib/DBI
> rm -f blib/lib/DBI/Roadmap.pm
> cp Roadmap.pod blib/lib/DBI/Roadmap.pm
> cp dbd_xsh.h blib/arch/auto/DBI/dbd_xsh.h
> cp dbivport.h blib/arch/auto/DBI/dbivport.h
> cp lib/DBI/FAQ.pm blib/lib/DBI/FAQ.pm
> cp Driver_xst.h blib/arch/auto/DBI/Driver_xst.h
> cp lib/DBD/Proxy.pm blib/lib/DBD/Proxy.pm
> cp lib/DBI/SQL/Nano.pm blib/lib/DBI/SQL/Nano.pm
> cp lib/DBI/Const/GetInfo/ANSI.pm blib/lib/DBI/Const/GetInfo/ANSI.pm>=20
> cp lib/DBD/DBM.pm blib/lib/DBD/DBM.pm
> cp DBI.pm blib/lib/DBI.pm
> cp lib/DBI/Const/GetInfoReturn.pm blib/lib/DBI/Const/GetInfoReturn.pm
> cp DBIXS.h blib/arch/auto/DBI/DBIXS.h
> cp lib/DBD/Sponge.pm blib/lib/DBD/Sponge.pm
> cp Roadmap.pod blib/lib/Roadmap.pod
> cp lib/DBI/Const/GetInfoType.pm blib/lib/DBI/Const/GetInfoType.pm
> cp lib/DBI/W32ODBC.pm blib/lib/DBI/W32ODBC.pm
> cp lib/DBI/DBD/Metadata.pm blib/lib/DBI/DBD/Metadata.pm
> cp lib/DBI/Const/GetInfo/ODBC.pm blib/lib/DBI/Const/GetInfo/ODBC.pm
> cp lib/DBI/ProfileDumper/Apache.pm =
blib/lib/DBI/ProfileDumper/Apache.pm
> cp lib/Bundle/DBI.pm blib/lib/Bundle/DBI.pm
> cp lib/DBI/Profile.pm blib/lib/DBI/Profile.pm
> cp lib/DBI/ProfileDumper.pm blib/lib/DBI/ProfileDumper.pm
> cp lib/DBD/File.pm blib/lib/DBD/File.pm
> cp Driver.xst blib/arch/auto/DBI/Driver.xst
> cp lib/DBI/ProxyServer.pm blib/lib/DBI/ProxyServer.pm
> cp dbipport.h blib/arch/auto/DBI/dbipport.h
> cp lib/DBD/NullP.pm blib/lib/DBD/NullP.pm
> cp lib/DBI/DBD.pm blib/lib/DBI/DBD.pm
> cp lib/Win32/DBIODBC.pm blib/lib/Win32/DBIODBC.pm
> cp lib/DBI/PurePerl.pm blib/lib/DBI/PurePerl.pm
> cp lib/DBD/ExampleP.pm blib/lib/DBD/ExampleP.pm
> cp dbi_sql.h blib/arch/auto/DBI/dbi_sql.h
> cp lib/DBI/ProfileData.pm blib/lib/DBI/ProfileData.pm
> /usr/bin/perl -p -e "s/~DRIVER~/Perl/g" ./Driver.xst > Perl.xsi
> /usr/bin/perl /usr/lib/perl5/5.8.5/ExtUtils/xsubpp -typemap =
/usr/lib/perl5/5.8.5/ExtUtils/typemap -typemap typemap Perl.xs > =
Perl.xsc && mv Perl.xsc Perl.c
> gcc -c -D_REENTRANT -D_GNU_SOURCE -DDEBUGGING -fno-strict-aliasing =
-pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=3D64 =
-I/usr/include/gdbm -O2 -g -pipe -m64 -DVERSION=3D\"1.51\" =
-DXS_VERSION=3D\"1.51\" -fPIC =
"-I/usr/lib64/perl5/5.8.5/x86_64-linux-thread-multi/CORE" -W -Wall =
-Wpointer-arith -Wbad-function-cast -Wno-comment -Wno-sign-compare =
-Wno-cast-qual -Wmissing-noreturn -Wno-unused-parameter Perl.c
> /usr/bin/perl /usr/lib/perl5/5.8.5/ExtUtils/xsubpp -typemap =
/usr/lib/perl5/5.8.5/ExtUtils/typemap -typemap typemap DBI.xs > DBI.xsc =
&& mv DBI.xsc DBI.c
> gcc -c -D_REENTRANT -D_GNU_SOURCE -DDEBUGGING -fno-strict-aliasing =
-pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=3D64 =
-I/usr/include/gdbm -O2 -g -pipe -m64 -DVERSION=3D\"1.51\" =
-DXS_VERSION=3D\"1.51\" -fPIC =
"-I/usr/lib64/perl5/5.8.5/x86_64-linux-thread-multi/CORE" -W -Wall =
-Wpointer-arith -Wbad-function-cast -Wno-comment -Wno-sign-compare =
-Wno-cast-qual -Wmissing-noreturn -Wno-unused-parameter DBI.c
> Running Mkbootstrap for DBI ()
> chmod 644 DBI.bs
> rm -f blib/arch/auto/DBI/DBI.so
> gcc -shared DBI.o -o blib/arch/auto/DBI/DBI.so
> chmod 755 blib/arch/auto/DBI/DBI.so
> cp DBI.bs blib/arch/auto/DBI/DBI.bs
> chmod 644 blib/arch/auto/DBI/DBI.bs
> /usr/bin/perl "-Iblib/arch" "-Iblib/lib" dbiprof.PL dbiprof
> Extracted dbiprof from dbiprof.PL with variable substitutions.
> cp dbiprof blib/script/dbiprof
> /usr/bin/perl "-MExtUtils::MY" -e "MY->fixin(shift)" =
blib/script/dbiprof
> /usr/bin/perl "-Iblib/arch" "-Iblib/lib" dbiproxy.PL dbiproxy
> Extracted dbiproxy from dbiproxy.PL with variable substitutions.
> cp dbiproxy blib/script/dbiproxy
> /usr/bin/perl "-MExtUtils::MY" -e "MY->fixin(shift)" =
blib/script/dbiproxy
> Manifying blib/man1/dbiprof.1
> Manifying blib/man1/dbiproxy.1
> Manifying blib/man3/DBI::FAQ.3pm
> Manifying blib/man3/DBI::SQL::Nano.3pm
> Manifying blib/man3/DBD::Proxy.3pm
> Manifying blib/man3/DBI::Const::GetInfo::ANSI.3pm
> Manifying blib/man3/DBD::DBM.3pm
> Manifying blib/man3/DBI::Const::GetInfoReturn.3pm
> Manifying blib/man3/DBI.3pm
> Manifying blib/man3/DBD::Sponge.3pm
> Manifying blib/man3/DBI::Const::GetInfoType.3pm
> Manifying blib/man3/Roadmap.3pm
> Manifying blib/man3/DBI::DBD::Metadata.3pm
> Manifying blib/man3/DBI::W32ODBC.3pm
> Manifying blib/man3/DBI::Const::GetInfo::ODBC.3pm
> Manifying blib/man3/DBI::ProfileDumper::Apache.3pm
> Manifying blib/man3/Bundle::DBI.3pm>=20
> Manifying blib/man3/DBI::Profile.3pm
> Manifying blib/man3/DBD::File.3pm
> Manifying blib/man3/DBI::ProfileDumper.3pm
> Manifying blib/man3/DBI::ProxyServer.3pm
> Manifying blib/man3/DBI::DBD.3pm
> Manifying blib/man3/Win32::DBIODBC.3pm
> Manifying blib/man3/DBI::PurePerl.3pm
> Manifying blib/man3/DBI::ProfileData.3pm
> [root@HSV-PROBE DBI-1.51]# make test
> PERL_DL_NONLAZY=3D1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" =
"test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
> t/01basics...............ok
> 4/131 skipped: developer tests
> t/02dbidrv...............ok
> t/03handle...............ok
> t/04mods.................ok
> t/05thrclone.............ok
> t/06attrs................ok
> t/07kids.................ok
> t/08keeperr..............ok
> t/09trace................ok
> t/10examp................ok
> t/11fetch................ok
> t/14utf8.................ok
> t/15array................ok
> t/20meta.................ok
> t/30subclass.............ok
> t/40profile..............ok
> t/41prof_dump............ok
> t/42prof_data............ok
> t/43profenv..............ok
> t/50dbm..................ok
> t/60preparse.............ok
> t/70callbacks............ok
> t/72childhandles.........ok
> t/80proxy................ok
> t/pod....................skipped
> all skipped: Test::Pod 1.00 required for testing POD
> t/zvpp_01basics..........ok
> 4/131 skipped: developer tests
> t/zvpp_02dbidrv..........ok
> 10/51 skipped: various reasons
> t/zvpp_03handle..........ok
> 76/137 skipped: various reasons
> t/zvpp_04mods............ok
> t/zvpp_05thrclone........ok
> t/zvpp_06attrs...........ok
> 7/137 skipped: various reasons
> t/zvpp_07kids............skipped
> all skipped: $h->{Kids} attribute not supported for =
DBI::PurePerl
> t/zvpp_08keeperr.........ok
> t/zvpp_09trace...........ok
> t/zvpp_10examp...........ok
> 39/263 skipped: various reasons
> t/zvpp_11fetch...........ok
> t/zvpp_14utf8............ok
> t/zvpp_15array...........ok
> t/zvpp_20meta............ok
> t/zvpp_30subclass........ok
> t/zvpp_40profile.........skipped
> all skipped: profiling not supported for DBI::PurePerl
> t/zvpp_41prof_dump.......skipped
> all skipped: profiling not supported for DBI::PurePerl
> t/zvpp_42prof_data.......skipped
> all skipped: profiling not supported for DBI::PurePerl
> t/zvpp_43profenv.........skipped
> all skipped: profiling not supported for DBI::PurePerl
> t/zvpp_50dbm.............ok
> t/zvpp_60preparse........skipped
> all skipped: preparse not supported for DBI::PurePerl
> t/zvpp_70callbacks.......skipped
> all skipped: $h->{Callbacks} attribute not supported for =
DBI::PurePerl
> t/zvpp_72childhandles....ok
> t/zvpp_80proxy...........skipped
> all skipped: DBD::Proxy currently has a problem under =
DBI::PurePerl
> All tests successful, 9 tests and 140 subtests skipped.
> Files=3D49, Tests=3D2435, 20 wallclock secs (12.20 cusr + 5.66 csys =
=3D 17.86 CPU)
> PERL_DL_NONLAZY=3D1 /usr/bin/perl "-Iblib/lib" "-Iblib/arch" test.pl
> test.pl
> DBI test application $Revision: 11.7 $
> Switch: DBI 1.51 by Tim Bunce, 1.51
> Available Drivers: DBM, ExampleP, File, Proxy, Sponge, mysql
> dbi:ExampleP:: testing 5 sets of 20 connections:
> Connecting... 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
> Disconnecting...
> Connecting... 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
> Disconnecting...
> Connecting... 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
> Disconnecting...
> Connecting... 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
> Disconnecting...
> Connecting... 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
> Disconnecting...
> Made 100 connections in 0 wallclock secs ( 0.01 usr + 0.00 sys =3D =
0.01 CPU)
>=20
> Testing handle creation speed...
> 17857 NullP sth/s perl 5.008005 x86_64-linux-thread-multi (gcc 3.4.3 =
-O2 -g -pipe -m64)
>=20
> test.pl done
------_=_NextPart_001_01C68B13.764F9354--