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


Reply via email to