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>

Reply via email to