Hi there,

 

I have implemented a queue using SQLIte in WAL mode and it seems to be
working well......

 

Now that I am testing and send thousands of messages to the queue I am
watching the memory growth of the application grow and grow. 

 

I have make a "queue shared lib / dll" and have seen that it is the SQLIte
calls I am making that are causing memory to grow and grow as I have
commented out other stuff and all is fine. So basically I have commented out
the queue stuff and the application runs smooth....the moment I add in the
queue lib again the memory grows ;-(

 

I have the following set:

 

PRAGMA journal_mode=wal

PRAGMA wal_checkpoint

PRAGMA synchronous=normal

PRAGMA temp_store=memory

 

And when I open the queue I use:

 

rc = sqlite3_open_v2(queueName,&handle, SQLITE_OPEN_READWRITE |
SQLITE_OPEN_SHAREDCACHE | SQLITE_OPEN_CREATE, NULL);

 

So as an example I have a function "peekByID"....

 

So the steps I follow are:

 

sqlite3_prepare_v2(handle,peekText,-1,&stmt,0 );

..

rc = sqlite3_step(stmt);

...

sqlite3_finalize(stmt);

 

But memory just grows and grows with this call.

 

I have tried to open the queue and close the queue after each call and that
seems to help, but surely that is not the answer?

 

I have let the application run and it was still climbing at 500 MB
memory.....;-(

 

I have noticed that when I comment out 

 

rc = sqlite3_step(stmt);

 

it is much better....

 

Is their anything I can do to clean up the memory better? Or just get things
neater?

 

Thanks

 

Lynton

_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to