ALT Linux Team development discussions
 help / color / mirror / Atom feed
From: Alexey Tourbin <at@altlinux.ru>
To: devel@lists.altlinux.org
Subject: Re: [devel] E: incoming reject: perl-DBD-SQLite-1.11-alt1.src.rpm
Date: Sun, 16 Apr 2006 02:40:45 +0400
Message-ID: <20060415224045.GF11323@localhost> (raw)
In-Reply-To: <20060414153338.GA26627@mithraen.dimline.ru>

[-- Attachment #1: Type: text/plain, Size: 1997 bytes --]

On Fri, Apr 14, 2006 at 07:33:38PM +0400, Денис Смирнов wrote:
> On Fri, Apr 14, 2006 at 06:43:23PM +0400, Dmitry V. Levin wrote:
> 
> >> perl-DBD-SQLite не работает с sqlite3 из сизифа,
> DVL> А почему?
> 
> Очень хороший вопрос. Моя медитация над кодом ни к чему не привела. В
> редхате поступили так же как я.

А как в редхате поступили?

$ cvs update perl-DBD-SQLite
cvs update: nothing known about perl-DBD-SQLite
$ cat CVS/R*
devel
:pserver:anonymous@cvs.fedora.redhat.com:/cvs/dist
$

> Судя по всему у них слегка изменилось API, но внятного описания я в их
> changelog'е не нашел.

В общем я разобрался в чём дело.  После вот этого патча всё работает:

--- DBD-SQLite-1.09/dbdimp.c-	2005-06-20 17:53:01 +0400
+++ DBD-SQLite-1.09/dbdimp.c	2006-04-16 02:29:37 +0400
@@ -259,7 +259,7 @@
     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) {
@@ -319,7 +319,7 @@
         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) {

Здесь этот аргумент по смыслу означает strlen(statement); раньше он
просто не использовался, а теперь в sqlite3_prepare() появилась проверка
на >= 0 с некоторой неприятной спецификой (см. sqlite/src/prepare.c).

См. тж. http://www.initd.org/tracker/pysqlite/ticket/143
http://www.sqlite.org/cvstrac/tktview?tn=1554

В общем пока предлагаю до понедельника ничего не делать. :)

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

  reply	other threads:[~2006-04-15 22:40 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-04-14 12:32 ` Denis Smirnov
2006-04-14 12:33   ` Alexey Tourbin
2006-04-14 14:40     ` Денис Смирнов
2006-04-14 14:43       ` Dmitry V. Levin
2006-04-14 15:33         ` Денис Смирнов
2006-04-15 22:40           ` Alexey Tourbin [this message]
2006-04-15 23:25             ` Денис Смирнов
2006-04-15 23:32               ` Alexey Tourbin
2006-04-16  9:26                 ` Denis Smirnov
2006-04-15 23:39             ` Alexey Tourbin
2006-04-14 14:43       ` Alexey Tourbin
2006-04-14 15:35         ` Денис Смирнов
2006-04-14 15:48           ` Alexey Tourbin
2006-04-14 15:58             ` Alexey Tourbin
2006-04-14 17:28               ` Денис Смирнов
2006-04-14 17:43                 ` Alexey Tourbin
2006-04-14 18:09                   ` Денис Смирнов
2006-04-14 12:55   ` Dmitry V. Levin
2006-04-14 14:39     ` Денис Смирнов

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20060415224045.GF11323@localhost \
    --to=at@altlinux.ru \
    --cc=devel@lists.altlinux.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

ALT Linux Team development discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
		devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
	public-inbox-index devel

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.devel


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git