I have allocated memory for SQLite heap and using memsys5 memory pool
algorithm to manage the heap. So if free is called it will be added to free
list of memsys5 memory pool.

Regards
Shankar

On Wed, Aug 26, 2009 at 7:51 PM, Pavel Ivanov <paiva...@gmail.com> wrote:

> And I mean that you're wrong in this vision. SQLite doesn't keep
> memory in pools if it doesn't belong to cache necessary to some open
> connection. At least SQLite calls free() which of course doesn't
> necessarily mean that memory will be returned to OS.
>
>
> Pavel
>
> On Wed, Aug 26, 2009 at 10:02 AM, shankar m<shankar.mah...@gmail.com>
> wrote:
> > I mean to say free to the OS so that it can use for other purpose.
> >
> > SQlite frees but maintains to the memory will be present in SQLite memory
> > pool or heap. Not to the OS.
> >
> > Regards
> > Shankar
> >
> > On Wed, Aug 26, 2009 at 7:15 PM, Pavel Ivanov <paiva...@gmail.com>
> wrote:
> >
> >> > SQLite currently does not support freeing of allocated memory
> >> > unless it is shutdown.
> >>
> >> It seams to me that you're wrong in this conclusion or elaborate
> >> please how did you come to it.
> >> In fact SQLite always frees all memory related to connection
> >> (including cache) when you close it. And you can clearly see it in
> >> sources...
> >>
> >>
> >> Pavel
> >>
> >> On Wed, Aug 26, 2009 at 12:57 AM, shankar m<shankar.mah...@gmail.com>
> >> wrote:
> >> > Hi,
> >> >
> >> > I am using SQLite in a embedded system which has the following
> databases
> >> >    1. 64MB Flash stored Database for persistent storage
> >> >    2. 2 MB In-Memory Database.
> >> >
> >> > When the Memory Database is closed the 2MB should be returned to the
> >> > operating system. The 2 MB will be reallocated when the system wants
> to
> >> use
> >> > the mem db. SQLite currently does not support freeing of allocated
> memory
> >> > unless it is shutdown.
> >> >
> >> >
> >> > To implement the above requirement I am planning to do as follows
> >> >
> >> > In SQLite Page cache module i.e pcahe1.c handles the datbase buffering
> of
> >> > both persistent storage and in-memory storage.
> >> > To identify whether the database is mem or file there is a flag
> >> bPurgeable
> >> > in struct PCache1.
> >> >
> >> > The pages for cache are allocated in functions
> >> >    1. pcache1AllocPage
> >> >    2. pcache1FreePage
> >> >
> >> > Add 2 new configuration variables
> >> >   1. SQLITE_CONFIG_MEMDB - Enables separate memory DB with the default
> >> > values
> >> >   2. SQLITE_CONFIG_MEMSIZE- Configures the mem db with user specified
> >> > memory block. Similar to the config variable
> >> >      SQLITE_CONFIG_PAGECACHE
> >> >
> >> > Using bPurgeable in pcache1AllocPage identify the mem db, If memdb
> then
> >> use
> >> > the mem block specified by the user.
> >> > The algorithm for the page allocation will be same as the list
> >> > implementation present for the SQLITE_CONFIG_PAGECACHE
> >> >
> >> > Please provide comments or suggestion.
> >> >
> >> > Thanks
> >> > Shankar
> >> > _______________________________________________
> >> > sqlite-users mailing list
> >> > sqlite-users@sqlite.org
> >> > http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
> >> >
> >> _______________________________________________
> >> sqlite-users mailing list
> >> sqlite-users@sqlite.org
> >> http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
> >>
> > _______________________________________________
> > sqlite-users mailing list
> > sqlite-users@sqlite.org
> > http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
> >
> _______________________________________________
> sqlite-users mailing list
> sqlite-users@sqlite.org
> http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
>
_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to