Hi,

currently I've problems using DBD::Proxy with AutoCommit set to off.
$dbh->commit is ignored completely, but $dbh->rollback works.

This little script reproduces the behaviour:

--snip--
#!/usr/local/bin/perl

use strict;
use DBI;
use Data::Dumper;

main: {
        my $source;
        $source = "dbi:Proxy:hostname=merlot;port=12121;dsn=dbi:Oracle:";
#       $source = "dbi:Oracle:";
        
        my $dbh = DBI->connect (
                $source, $ENV{TESTUSER}, $ENV{TESTPASSWD},
                { RaiseError => 1, AutoCommit => 0 }
        );

        $dbh->do ("drop table dbdproxy") if @ARGV;
        eval { $dbh->do ("create table dbdproxy ( id integer )") };

        $dbh->do ("insert into dbdproxy values ( ? )", undef, $$);
        print Dumper($dbh->selectall_arrayref ("select id from dbdproxy"));
        
        $dbh->commit;
        
        END { if ( $dbh ) { $dbh->rollback; $dbh->disconnect; } }
}
--snip--

If I run this script twice, to records should appear in the table. But I
see only the one inserted in the current transaction:

joern@merlot:~ > ./dbdproxy
$VAR1 = [
          [
            19149
          ]
        ];

joern@merlot:~ > ./dbdproxy
$VAR1 = [
          [
            19175
          ]
        ];

If I connect directly through DBD::Oracle, everything works as expected.

I'm using Linux, Perl 5.005_03 and DBI 1.15 with the shipped DBD::Proxy
version. A Linux Oracle 8.17 Enterprise Edition is connected, using
DBD::Oracle 1.06.


Is this a DBD::Proxy bug? Or do I miss something?

Thanks,

Joern

-- 
Joern Reder -- Software Development,  dimedis GmbH, 50672 Koeln
               http://www.dimedis.de/ http://spirit.dimedis.de/
supporting:    http://www.zyn.de/ http://www.netcologne.de/~nc-joernre/
CPAN:          http://www.perl.com/CPAN/modules/by-module/CIPP/JRED/

Reply via email to