#include <config.h>
#include "safeerrno.h"
#include "btree_base.h"
#include "quartz_utils.h"
#include "utils.h"
#include <xapian/error.h>
#include "omassert.h"
#include <limits.h>
#include <algorithm>
Include dependency graph for btree_base.cc:
Go to the source code of this file.
Defines | |
#define | CURR_FORMAT 5U |
This is the current description of the base file format:. | |
#define | DO_UNPACK_UINT_ERRCHECK(start, end, var) |
#define | REASONABLE_BASE_SIZE 1024 |
#define | BIT_MAP_INC 1000 |
#define CURR_FORMAT 5U |
This is the current description of the base file format:.
Numbers are (unless mentioned otherwise) stored in the variable length format used by pack_uint() - that is 7 bits at a time in a byte, starting with lower-order bits, and setting the high bit on all bytes before the last one.
The format consists of a sequence of numbers in this order:
REVISION FORMAT will be = CURR_FORMAT for the current format. If this value higher then it is a different format which we doesn't yet understand, so we bomb out. If it's lower, then it depends if we have backwards-compatibility code implemented (we don't for format versions < 5). BLOCK_SIZE ROOT LEVEL BIT_MAP_SIZE ITEM_COUNT LAST_BLOCK HAVE_FAKEROOT REVISION2 A second copy of the revision number, for consistency checks. BITMAP The bitmap. This will be BIT_MAP_SIZE raw bytes. REVISION3 A third copy of the revision number, for consistency checks.
Definition at line 66 of file btree_base.cc.
#define DO_UNPACK_UINT_ERRCHECK | ( | start, | |||
end, | |||||
var | ) |
Value:
do { \ if (!do_unpack_uint(start, end, &var, err_msg, basename, #var)) { \ return false; \ } \ } while(0)
Definition at line 169 of file btree_base.cc.
#define REASONABLE_BASE_SIZE 1024 |
Definition at line 182 of file btree_base.cc.
#define BIT_MAP_INC 1000 |
Definition at line 358 of file btree_base.cc.