Subject Re: [firebird-support] Blob storage mechnism
Author Helen Borrie
At 06:14 PM 27/03/2012, b0bik2000 wrote:
>I've read this:
>and I'd like to ask:
>If I have large blob data in my BLOB field in DB - it is stored in "blob 2 level" manner. But what about changing data size (by updating this column) to something smaller - something that can fit "blob 0 level" - will FB change storage manner to "level 0" ?

FB does not "change the level of a blob", neither when the data to be stored increases nor when it decreases. Each "update" of a blob creates an entirely new blob, whose "level" will reflect the most economical way to store this new blob.

>When will it happen - immediately

As soon as the temporary new blob is written to disk.

> or after backup restore ? What will happen with old blob data pages ?

The same as happens with any type of page that contains data that the garbage collection routines detect to be "not interesting": that page (or those pages) are released as available pages of the same type[s]. However, after a backup and restore, the restored database does not retain of these "empty" pages.