Its not a problem in SQLite. I need a feature enhancement.

Currently in SQLite i can allocate memory in a block.

Example:
2.5MB memory for memsys5 memory pool. Here 2MB i am using for Mem Db and
0.5MB for heap and other DB cache.

I want flexibility such that when i close mem db, the 2MB should be freed.
For this I need to configure SQLite with 2 Memory blocks. One with 2MB and
another 0.5MB.

For doing this I have sent the modifications that needs to be done.

Regards
Shankar




On Thu, Aug 27, 2009 at 4:40 PM, Pavel Ivanov <paiva...@gmail.com> wrote:

> OK. So you have allocated memsys5 memory pool and now are complaining
> that this memory is not returned to OS?
>
> Sorry, but it's not quite understandable what do you want to achieve,
> what's the problem with it and how did you find that there's a
> problem.
>
> Pavel
>
> On Thu, Aug 27, 2009 at 6:11 AM, shankar m<shankar.mah...@gmail.com>
> wrote:
> > 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
> >
> _______________________________________________
> 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