Yes, apparently. The :memory: DB doesn't show the storage being reclaimed by
the OS. In fact, after some more analysis, it's not reusing storage already
allocated. :( Could that be?

After checking the vacuum.c code. It's not doing anything for an in-memory
DB. Would that be handled elsewhere?

 /* Get the full pathname of the database file and create a
 ** temporary filename in the same directory as the original file.
 */
 pMain = db->aDb[0].pBt;
 zFilename = sqlite3BtreeGetFilename(pMain);
 assert( zFilename );
 if( zFilename[0]=='\0' ){
   /* The in-memory database. Do nothing. Return directly to avoid causing
   ** an error trying to DETACH the vacuum_db (which never got attached)
   ** in the exit-handler.
   */
   return SQLITE_OK;
 }


Thanks,
Rick Keiner


On 6/7/06, [EMAIL PROTECTED] < [EMAIL PROTECTED]> wrote:

"Rick Keiner" < [EMAIL PROTECTED]> wrote:
> Hello,
>
> Is there anything similar with a ":memory:" DB to auto-vacuum with a
disk
> DB. I would like to release storage that is no longer being used by
SQLite.
> Is this possible?
>

I think auto-vacuum work with :memory: databases just as
well as on-disk database.  Are you having problems with it?
--
D. Richard Hipp   < [EMAIL PROTECTED]>


Reply via email to