[devel] E: incoming reject: perl-DBD-SQLite-1.11-alt1.src.rpm
Alexey Tourbin
=?iso-8859-1?q?at_=CE=C1_altlinux=2Eru?=
Вс Апр 16 02:40:45 MSD 2006
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
В общем пока предлагаю до понедельника ничего не делать. :)
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип : application/pgp-signature
Размер : 189 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url : <http://lists.altlinux.org/pipermail/devel/attachments/20060416/791cebd7/attachment-0001.bin>
Подробная информация о списке рассылки Devel