I figured up, that in my main app, when I don't make nested queries no
memory leaks. In simple app no matter id I use nested or strait
queries memory does not leak.
For example:

sprintf( lpbuf, "SELECT tagList FROM overlay WHERE modalityID=%d "
                                        "AND userID=%d "
                                        "AND regionNR=%d",
                                        4, 1, 0 );
sqliteDB->readBlob( lpbuf, &data, &dataLength);


does not leak, but similar:

sprintf( lpbuf, "SELECT tagList FROM overlay WHERE modalityID=(SELECT
id FROM modality WHERE symbol='CR') "
                "AND userID=(SELECT id FROM user WHERE login='basiek') "
                "AND regionNR=0" );
sqliteDB->readBlob( lpbuf, &data, &dataLength);

leaks.

Isn't it strange?
I really cannot reproduce this error in simple console application.


On Tue, Nov 4, 2008 at 10:17 AM, Bartosz Wiklak <[EMAIL PROTECTED]> wrote:
> Hi,
>
> I have written simple app that does the same query on the same
> database and I have no memory leaks !?!
> I build two apps with similar options (f.e. multithreaded debug dll)
> but my main app is written in winapi and "simple" app as console app.
> I have really no idea what can make these two act so different. I
> cannot post my whole up here.
> Maybe someone can give me some hints what is left to check yet?
>
> Bartek Wiklak
>
> On Mon, Nov 3, 2008 at 4:07 PM, Sherief N. Farouk <[EMAIL PROTECTED]> wrote:
>>> As you can see I use sqlite3_prepare/sqlite3_finalize pairs. My memory
>>> leak checker ( Deleaker : www.deleaker.com ) reports memory leak at
>>> sqlite3_prepare :
>>>
>>> msvcrt.dll!malloc
>>> sqlite3.dll!sqlite3_malloc + 120 bytes
>>> sqlite3.dll!sqlite3_realloc + 27 bytes
>>> sqlite3.dll!sqlite3_release_memory + 200 bytes
>>> sqlite3.dll!sqlite3_release_memory + 242 bytes
>>> sqlite3.dll!sqlite3_set_authorizer + 1072 bytes
>>> sqlite3.dll!sqlite3_set_authorizer + 22149 bytes
>>> sqlite3.dll!sqlite3_declare_vtab + 11632 bytes
>>> sqlite3.dll!sqlite3_prepare16_v2 + 18070 bytes
>>> sqlite3.dll!sqlite3_declare_vtab + 27000 bytes
>>> sqlite3.dll!sqlite3_declare_vtab + 31896 bytes
>>> sqlite3.dll!sqlite3_declare_vtab + 36104 bytes
>>> sqlite3.dll!sqlite3_reset_auto_extension + 12492 bytes
>>> sqlite3.dll!sqlite3_reset_auto_extension + 13270 bytes
>>> sqlite3.dll!sqlite3_prepare + 31 bytes
>>> RSR2.exe!SQLite3pp::readBlob Line 164
>>> (c:\furtado\furtado\sqlite\sqlite3pp.cpp)
>>>
>>> I am closing database properly.
>>> Am I doing something wrong or is it some kind of bug?
>>
>> 99% of the time the leaks are due to API abuse. Post a small sample app
>> (that build and runs) exhibiting the behavior, if possible. What does
>> _CrtDumpMemoryLeaks() say?
>>
>> - Sherief
>>
>> _______________________________________________
>> sqlite-users mailing list
>> [email protected]
>> http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
>>
>
_______________________________________________
sqlite-users mailing list
[email protected]
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to