CC: | 506157 [...] bugs.debian.org |
Subject: | Re: Bug#506157: libdbd-sqlite3-perl: unsufficient error message while opening database for writing |
Date: | Wed, 19 Nov 2008 00:08:33 +0100 |
To: | "Eugene V. Lyubimkin" <jackyf.devel [...] gmail.com> |
From: | Ansgar Burchardt <ansgar [...] 2008.43-1.org> |
Hi,
I'm forwarding the bug report, the original report is available on the
Debian Bug Tracker[1]. Please CC: 506157@bugs.debian.org in replies.
"Eugene V. Lyubimkin" <jackyf.devel@gmail.com> writes:
Show quoted text
> I've spent several days in investigating strange problem and it would be
> good to deal somehow with it.
>
> SQLite database consists of one file. But, is is unsufficient to have
> write rights to this database file to perform 'INSERT' statements. At
> least, this perl package have requirement user should have write rights
> to directory containing this file too. Otherwise, my 'INSERT' statement
> ($sth->execute(...)) will fail with error:
>
> -8<-
> DBD::SQLite::st execute failed: unable to open database file(14) at
> dbdimp.c line 403 at /var/www/search-site/cgi-bin/register.cgi line 31,
> <STDIN> line 1.
> ->8-
>
> I was very confused to see this while having all necessary right on
> database file. Please document this or rather extend the error message.
This behavior is documented in the SQLite documentation[2]. The SQLite
library may create temporary for various reasons, even when only using
SELECT statements (see [2], 2.5).
I prepared a small patch adding a note about this in SQLite.pm.
Regards,
Ansgar
Footnotes:
[1] http://bugs.debian.org/506157
[2] http://www.sqlite.org/tempfiles.html
--
PGP: 1024D/595FAD19 739E 2D09 0969 BEA9 9797 B055 DDB0 2FF7 595F AD19
Message body is not shown because sender requested not to inline it.