Subject | Re: [ib-support] Re: Database grows rapidly (3 to 770MB) when using BLOB views/UDFs |
---|---|
Author | Ivan Prenosil |
Post date | 2002-03-22T10:25:29Z |
> From: Claudio Valderrama C.What I had in mind was situation when you create temporary blob
> > Hmmm, how can the temporary blob (returned from UDF) be garbage collected
> > if it was not assigned to any row (and thus converted to permanent blob)
> ??
>
> Is the term "garbage collection" the problem or the process itself?
(e.g. by selecting from view that contains UDF with blob as return
parameter), and then you do not use(read) it at all.
- Because such blob is not assigned to any row in table,
it can't be garbage collected the usual way.
- You also do not call isc_cancel_blob (either because of client crash,
or because the driver you use does not allow such level of control,
as mentioned in previous messages (odbc)).
Will such blob be ever deleted ?
> That's said, if you look at BLB_close, it doesn't call delete_blob. ItI do not understand this sentence. I thought that "normal garbage
> defers the page cleaning to normal garbage collection.
collection" takes place when somebody "touches" the _record_ in _table_;
garbage collection thread then removes obsolete record version(s),
and obsolete index entries, _and_ obsolete blobs.
If you do not explicitly delete temporary blob by delete_blob,
how/when it will be removed from database ?
a) if I just call BLB_close;
b) if I do not call enything
Ivan
http://www.volny.cz/iprenosil/interbase