Subject Re: [firebird-support] Re: Space used null values
Author Mark Rotteveel
On 21-5-2018 08:09, hugo.larson@... [firebird-support] wrote:
> I have a followup question.
> If I have a varchar(1000) column with 1000 characters in it and then i
> delete the value in only that column but keep the row. The row has other
> columns with values.
> Will the space be reclaimed and overwritten?

Yes and no. Firebird is a MVCC (Multi-Version Concurrency Control)
database, when you update a row, a new version of that row is created,
and the old one links to the new one. Only when there are no more
transactions interested in the old version, will it become eligible for
garbage collection. Similarly, when you delete a row, a new version is
inserted that is known as a deletion stub. When no transactions are
interested in old version, both the old version and the deletion stub
become eligible for garbage collection.

See also

Mark Rotteveel