Skip Menu |

This queue is for tickets about the DBD-ODBC CPAN distribution.

Report information
The Basics
Id: 89364
Status: open
Priority: 0/
Queue: DBD-ODBC

People
Owner: Nobody in particular
Requestors: MICHIELB [...] cpan.org
Cc:
AdminCc:

Bug Information
Severity: (no value)
Broken in: 1.43
Fixed in: (no value)



Subject: t/rt81911.t failure on Debian w/mysql ODBC driver
Hi, I installed libmyodbc in debian from the repositories. The rt_81911.t test fails on DBD::ODBC, latest version from CPAN, and also when run on the git master branch. contents of /etc/odbcinst.ini [MySQL] Description = ODBC for MySQL Driver = /usr/lib/i386-linux-gnu/odbc/libmyodbc.so Setup = /usr/lib/i386-linux-gnu/odbc/libodbcmyS.so FileUsage = 1 # Perl 5.14.2 # osname=linux, osvers=2.6.32-5-686-bigmem, archname=i486-linux-gnu-thread-multi-64int # Using DBI 1.622 # Using DBD::ODBC 1.44_3 # Using DBMS_NAME 'MySQL' # Using DBMS_VER '5.5.31-0+wheezy1' # Using DRIVER_NAME 'libmyodbc5.so' # Using DRIVER_VER '05.01.0010' # odbc_has_unicode 0 DBI_DSN=dbi:ODBC:DRIVER={MySQL};Server=localhost;Port=3306;Database=test t/rt_81911.t ................. 1/? # Failed test 'affected from execute update 1' # at t/rt_81911.t line 75. # got: '0E0' # expected: '1' # Failed test 'affected from execute update 2' # at t/rt_81911.t line 83. # got: '1' # expected: '2' # Looks like you failed 2 tests of 12. t/rt_81911.t ................. Dubious, test returned 2 (wstat 512, 0x200)
On Wed Oct 09 08:08:41 2013, MICHIELB wrote: Show quoted text
> Hi, > > I installed libmyodbc in debian from the repositories. > The rt_81911.t test fails on DBD::ODBC, latest version from CPAN, and > also when run on the git master branch. > > contents of /etc/odbcinst.ini > > [MySQL] > Description = ODBC for MySQL > Driver = /usr/lib/i386-linux-gnu/odbc/libmyodbc.so > Setup = /usr/lib/i386-linux-gnu/odbc/libodbcmyS.so > FileUsage = 1 > > # Perl 5.14.2 > # osname=linux, osvers=2.6.32-5-686-bigmem, archname=i486-linux-gnu- > thread-multi-64int > # Using DBI 1.622 > # Using DBD::ODBC 1.44_3 > # Using DBMS_NAME 'MySQL' > # Using DBMS_VER '5.5.31-0+wheezy1' > # Using DRIVER_NAME 'libmyodbc5.so' > # Using DRIVER_VER '05.01.0010' > # odbc_has_unicode 0 > > DBI_DSN=dbi:ODBC:DRIVER={MySQL};Server=localhost;Port=3306;Database=test > > t/rt_81911.t ................. 1/? > # Failed test 'affected from execute update 1' > # at t/rt_81911.t line 75. > # got: '0E0' > # expected: '1' > > # Failed test 'affected from execute update 2' > # at t/rt_81911.t line 83. > # got: '1' > # expected: '2' > # Looks like you failed 2 tests of 12. > t/rt_81911.t ................. Dubious, test returned 2 (wstat 512, > 0x200)
This one is really interesting. The test does: create table PERL_DBD_RT_81911 (a int) insert into PERL_DBD_RT_81911 values(1) # 1 row affected insert into PERL_DBD_RT_81911 values(2) # 1 row affected update PERL_DBD_RT_81911 set a = 1 where a = 3 # no rows affected update PERL_DBD_RT_81911 set a = 1 where a = 1 # here it returned no rows affected but we expected 1 update PERL_DBD_RT_81911 set a = 1 where a > 0 # here we expected 2 rows to change and we got 1 I cannot easily get the mysql ODBC driver working here right now - may be later. Perhaps you could debug this test and step through it at the same time as monitoring the rows in mysql per insert/update to see what really happens. Whatever it is, it is quite strange. Martin -- Martin J. Evans Wetherby, UK