Skip Menu |

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

Report information
The Basics
Id: 41047
Status: resolved
Priority: 0/
Queue: DBD-SQLite

People
Owner: Nobody in particular
Requestors: ansgar [...] 2008.43-1.org
Cc:
AdminCc:

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



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.

Confirming patch applied, marking as resolved.