Hi Alex,<br><br>Thanks for responding to my problem, this is exactly what Leslie Polzer has told me.<br><br>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.<br>
<span class="HcCDpe"><span class="EP8xU" style="color: rgb(121, 6, 25);"></span><br>> </span>no, as far I know, that's because Elephant sucks -- it doesn't have garbage<br>> collector.<br><br>Will garbage collector be added into elephant in the future?<br>
<br>I'll give drop-pobject or drop-instances a try tonight.<br><br>Aaron<br><br><div class="gmail_quote">On Tue, Apr 8, 2008 at 12:33 PM, Alex Mizrahi <<a href="mailto:killerstorm@newmail.ru">killerstorm@newmail.ru</a>> wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div class="Ih2E3d"> > If theory is correct, executing the loop more than once should cause the<br>
database size to stay relatively the same after the first run.<br>
> However, each time I re-execute the loop, the size always increase by a<br>
good factor.<br>
> I do not think it's the transaction log file because of the increment<br>
amount seemed large.<br>
> I also tried to insert and delete directly in the database, this method<br>
does seem to re-use already allocated pages.<br>
> Am I doing something wrong?<br>
<br>
</div>no, as far I know, that's because Elephant sucks -- it doesn't have garbage<br>
collector.<br>
you remove objects from btree, but Elephant doesn't know if there are no<br>
references elsewhere, so it just keeps this object.<br>
note that this happens for objects only because they are stored in special<br>
way (slots are stored separately) -- there would be no problems with<br>
strings, numbers or some aggregates of thereof.<br>
<br>
if you want this space to be reclaimed, use drop-pobject function -- it<br>
should erase object's slots. (if object is indexed, use drop-instances --<br>
then it will also delete it from index.<br>
(um, weird: can't it be one generic method?)<br>
<br>
alternative way is to use migration -- stuff that is not won't be copied.<br>
<br>
<br>
<br>
_______________________________________________<br>
elephant-devel site list<br>
<a href="mailto:elephant-devel@common-lisp.net">elephant-devel@common-lisp.net</a><br>
<a href="http://common-lisp.net/mailman/listinfo/elephant-devel" target="_blank">http://common-lisp.net/mailman/listinfo/elephant-devel</a><br>
</blockquote></div><br>