Re: More details on compression wanted
Record are encoded in a dense self-describing structure where only significant bits are represented. Nulls, zero length strings, and numbers -10 to 31 are stored as a single byte. Other integers, based on magnitude, may require a type code and from one to 8 bytes. All integers with the value 47, for example, are encoded identically without regard to declaration as tiny, short, int, long, etc.
Index nodes have trailing nulls or blanks (as appropriate) removed and are prefixed compressed (the leading bytes common with the preceding node are omitted). The prefix offset and key length are stored either as one or two bytes, depending on size. Finally, the record number (index leaf) or page number (upper levels) is stored in variable length binary.