[odb-users] SQLIte issue

Andrew Cunningham andrew at a-cunningham.com
Wed Apr 6 18:43:35 EDT 2016

After more investigation I found that SQLite is writing  to a PMA cache
file. I gather the PMA buffer should be the size of the main cache, but
there is what I think is a bug in SQLite as follows...

When you set the main cache using  the style
*PRAGMA **schema.**cache_size = -**kibibytes*
It appears the code that sets up the PMA cache is not understanding that
this value can be -ve and defaults to a small value.

In function sqlite3VdbeSorterInit
     mxCache = db->aDb[0].pSchema->cache_size;
      if( mxCache<(int)szPma ) mxCache = (int)szPma;
      pSorter->mxPmaSize = MIN((i64)mxCache*pgsz, SQLITE_MAX_PMASZ);

More information about the odb-users mailing list