Ok, here's what I did ...
On the desktop I created a SQLite database with one table and inserted
120,000 rows into it. I then copied it over to the CE emulator.
Then I ran the following code on the CE (Pocket PC 2003 SE) emulator:
#include <windows.h>
#include <tchar.h>
#include "sqlite3.h"
int WINAPI _tWinMain(HINSTANCE hInst, HINSTANCE hPrev, LPTSTR pszCmdLine,
int nCmdShow)
{
sqlite3 *pdb;
int rc;
for (int n = 0; n < 10000; n++)
{
rc = sqlite3_open("\\test.db3", &pdb);
if (rc) break;
rc = sqlite3_exec(pdb, "select * from testcase", 0, 0, 0);
if (rc) break;
rc = sqlite3_close(pdb);
if (rc) break;
}
return 0;
}
On the first call to sqlite3_exec(), available program memory dropped from
an initial 10.5mb to 8.45mb. However, once that was done, available memory
remained rock solid for the duration of the loop at a constant 8.45mb and no
non-zero error codes were ever returned.
Robert