diff options
Diffstat (limited to 'src/leveldb/doc/table_format.txt')
-rw-r--r-- | src/leveldb/doc/table_format.txt | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/src/leveldb/doc/table_format.txt b/src/leveldb/doc/table_format.txt index d0f3065ed0..ca8f9b4460 100644 --- a/src/leveldb/doc/table_format.txt +++ b/src/leveldb/doc/table_format.txt @@ -18,6 +18,8 @@ The file contains internal pointers. Each such pointer is called a BlockHandle and contains the following information: offset: varint64 size: varint64 +See https://developers.google.com/protocol-buffers/docs/encoding#varints +for an explanation of varint64 format. (1) The sequence of key/value pairs in the file are stored in sorted order and partitioned into a sequence of data blocks. These blocks @@ -41,11 +43,11 @@ BlockHandle for the data block. (6) At the very end of the file is a fixed length footer that contains the BlockHandle of the metaindex and index blocks as well as a magic number. - metaindex_handle: char[p]; // Block handle for metaindex - index_handle: char[q]; // Block handle for index - padding: char[40-p-q]; // 0 bytes to make fixed length - // (40==2*BlockHandle::kMaxEncodedLength) - magic: fixed64; // == 0xdb4775248b80fb57 + metaindex_handle: char[p]; // Block handle for metaindex + index_handle: char[q]; // Block handle for index + padding: char[40-p-q]; // zeroed bytes to make fixed length + // (40==2*BlockHandle::kMaxEncodedLength) + magic: fixed64; // == 0xdb4775248b80fb57 (little-endian) "filter" Meta Block ------------------- |