Even the smallest sql statement (like PRAGMA temp_store = 1) triggers
this behaviour when using sqlite 3.3.x. I forgot to mention that I
connect to a :memory: database and then attach 2 database to the
connection.

I am pretty sure it's something that changed in sqlite 3.3, I just
don't know where to dig.


On 7/13/06, Jens Miltner <[EMAIL PROTECTED]> wrote:

Am 13.07.2006 um 14:31 schrieb Robert Wallner:

> Hi all,
>
> I have a software packages managing system that uses an sqlite
> database. It's written in python using pysqlite2 as the wrapper. The
> installed version of sqlite is 3.2.7.
>
> After upgrading sqlite to the 3.3.x series, every operation against
> the database file eats all memory, untill being killed by the kernel
> (linux 2.6). I tried different combinations, with different version of
> pysqlite and sqlite, but the problem seems to be in sqlite. I tried
> vaccum on the database, still nothing. Is there any differences in the
> file format between 3.2 and 3.3 that may trigger such a behaviour ?

Maybe sqlite was compiled with temporary_tables defaulting to memory?
Try
        PRAGMA temp_store = FILE;
or
        PRAGMA temp_store = 1;
when opening the database connection. If it's really that the compile
time default is temp_store=MEMORY, then this should solve your
problem...

OTOH, if even the smallest database operations cause all memory to be
used, it's certainly some other problem...

Did you check your database (pragma integrity_check) ?
Did you try to vacuum your database?

HTH,
</jum>




--
Robert Wallner

Reply via email to