Bug#361437: libdbd-sqlite3-perl: unuseable due to incorrect use of
sqlite3_prepare()
Eugeniy Meshcheryakov
eugen at univ.kiev.ua
Sat Apr 8 16:25:24 UTC 2006
Package: libdbd-sqlite3-perl
Version: 1.11-1
Severity: grave
Tags: patch
This package is unuseable due to incorrect use of function
sqlite3_prepare(). Any programs that uses methods like do() or prepare()
fail with error messages like this:
DBD::SQLite::db do failed: not an error(21) at dbdimp.c line 398
Also this backage cannot be build from source anymore due to failed
tests.
Attached patch fixes described problems.
-- System Information:
Debian Release: testing/unstable
APT prefers unstable
APT policy: (500, 'unstable')
Architecture: i386 (i686)
Shell: /bin/sh linked to /bin/bash
Kernel: Linux 2.6.17-rc1-me
Locale: LANG=uk_UA.UTF-8, LC_CTYPE=uk_UA.UTF-8 (charmap=UTF-8)
Versions of packages libdbd-sqlite3-perl depends on:
ii libc6 2.3.6-5 GNU C Library: Shared libraries an
ii libdbi-perl 1.50-2 Perl5 database interface by Tim Bu
ii libsqlite3-0 3.3.5-0.1 SQLite 3 shared library
ii perl 5.8.8-4 Larry Wall's Practical Extraction
ii perl-base [perlapi-5.8.8] 5.8.8-4 The Pathologically Eclectic Rubbis
libdbd-sqlite3-perl recommends no packages.
-- no debconf information
-------------- next part --------------
diff -urpN libdbd-sqlite3-perl-1.11/dbdimp.c libdbd-sqlite3-perl-1.11.mod/dbdimp.c
--- libdbd-sqlite3-perl-1.11/dbdimp.c 2005-12-02 19:28:53.000000000 +0200
+++ libdbd-sqlite3-perl-1.11.mod/dbdimp.c 2006-04-08 19:16:09.000000000 +0300
@@ -260,7 +260,7 @@ sqlite_st_prepare (SV *sth, imp_sth_t *i
imp_sth->retval = SQLITE_OK;
imp_sth->params = newAV();
- if ((retval = sqlite3_prepare(imp_dbh->db, statement, 0, &(imp_sth->stmt), &extra))
+ if ((retval = sqlite3_prepare(imp_dbh->db, statement, -1, &(imp_sth->stmt), &extra))
!= SQLITE_OK)
{
if (imp_sth->stmt) {
@@ -320,7 +320,7 @@ sqlite_st_execute (SV *sth, imp_sth_t *i
psv = hv_fetch((HV*)SvRV(sth), "Statement", 9, 0);
statement = (psv && SvOK(*psv)) ? SvPV_nolen(*psv) : "";
sqlite_trace(3, "re-prepare statement %s", statement);
- if ((retval = sqlite3_prepare(imp_dbh->db, statement, 0, &(imp_sth->stmt), &extra))
+ if ((retval = sqlite3_prepare(imp_dbh->db, statement, -1, &(imp_sth->stmt), &extra))
!= SQLITE_OK)
{
if (imp_sth->stmt) {
More information about the pkg-perl-maintainers
mailing list