Blob Data Page - type 0x08
<< Index B-tree Page - type 0x07 | Firebird Internals | Generator Page - type 0x09 >>
TO DO
Blob Data Page - type 0x08
The C code representation of a blob data page is:
struct blob_page { pag blp_header; SLONG blp_lead_page; SLONG blp_sequence; USHORT blp_length; USHORT blp_pad; SLONG blp_page[1]; };
Blp_header
: The blob page starts off with a standard page header.
Blp_lead_page
: Four bytes, signed. Bytes 0x10
- 0x13
. This field holds the page number for the first page for this blob.
Blp_sequence
: Four bytes, signed. Bytes 0x14
- 0x17
. The sequence number of this page within the page range for this blob.
Blp_length
: Two bytes, unsigned. Bytes 0x18
and 0x19
. The length of the blob data on this page, in bytes.
Blp_pad
: Two bytes, unsigned. Bytes 0x1a
and 0x1b
. Not used for any data, used as padding.
Blp_page
: This location in the page is at byte 0x1c
. It has two purposes:
- An array of four byte, signed page numbers representing all the pages in this blob; or
- An array of bytes making up the blob data on this page.
If the flag byte in the standard page header (pag_flags
) is set to 1, this blob page contains no data but acts as a pointer page to all the other blob pages for this particular blob.
back to top of page
<< Index B-tree Page - type 0x07 | Firebird Internals | Generator Page - type 0x09 >>