[elephant-devel] Re: sqite3 - always increase database size
Aaron Feng
aaron.feng at gmail.com
Tue Apr 8 17:49:09 UTC 2008
Hi Alex,
Thanks for responding to my problem, this is exactly what Leslie Polzer has
told me.
Just to clarify, when I remove an object from a btree, it only removes the
reference to the object from the btree. The actual slot value is kept
separately, in my case, it's the "name" slot.
> no, as far I know, that's because Elephant sucks -- it doesn't have
garbage
> collector.
Will garbage collector be added into elephant in the future?
I'll give drop-pobject or drop-instances a try tonight.
Aaron
On Tue, Apr 8, 2008 at 12:33 PM, Alex Mizrahi <killerstorm at newmail.ru>
wrote:
> > If theory is correct, executing the loop more than once should cause
> the
> database size to stay relatively the same after the first run.
> > However, each time I re-execute the loop, the size always increase by a
> good factor.
> > I do not think it's the transaction log file because of the increment
> amount seemed large.
> > I also tried to insert and delete directly in the database, this method
> does seem to re-use already allocated pages.
> > Am I doing something wrong?
>
> no, as far I know, that's because Elephant sucks -- it doesn't have
> garbage
> collector.
> you remove objects from btree, but Elephant doesn't know if there are no
> references elsewhere, so it just keeps this object.
> note that this happens for objects only because they are stored in special
> way (slots are stored separately) -- there would be no problems with
> strings, numbers or some aggregates of thereof.
>
> if you want this space to be reclaimed, use drop-pobject function -- it
> should erase object's slots. (if object is indexed, use drop-instances --
> then it will also delete it from index.
> (um, weird: can't it be one generic method?)
>
> alternative way is to use migration -- stuff that is not won't be copied.
>
>
>
> _______________________________________________
> elephant-devel site list
> elephant-devel at common-lisp.net
> http://common-lisp.net/mailman/listinfo/elephant-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/elephant-devel/attachments/20080408/a9beafd5/attachment.html>
More information about the elephant-devel
mailing list