xapian-core  2.0.0
Namespaces | Macros | Typedefs | Enumerations
honey_defs.h File Reference

Definitions, types, etc for use inside honey. More...

#include "internaltypes.h"
+ Include dependency graph for honey_defs.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 Honey
 

Macros

#define SST_SEARCH
 
#define HONEY_TABLE_EXTENSION   "honey"
 Honey table extension. More...
 
#define HONEY_MIN_DB_SIZE   2048
 Minimum size to pad a honey table to. More...
 
#define HONEY_MAX_KEY_LENGTH   255
 Maximum key length. More...
 
#define HONEY_POSTLIST_CHUNK_MAX   2000
 Maximum size of a postlist chunk in bytes. More...
 
#define HONEY_DOCLEN_CHUNK_MAX   2017
 
#define HONEY_MAX_DOCID   Xapian::docid(0xffffffffffffffff)
 The largest docid value supported by honey. More...
 
#define KEY_DOCLEN_PREFIX   "\0\xf7"
 

Typedefs

typedef uint4 honey_block_t
 A block number in a honey Btree file. More...
 
typedef uint4 honey_revision_number_t
 The revision number of a honey database. More...
 
typedef unsigned long long honey_tablesize_t
 How many entries there are in a table. More...
 

Enumerations

enum  Honey::table_type {
  Honey::POSTLIST , Honey::DOCDATA , Honey::TERMLIST , Honey::POSITION ,
  Honey::SPELLING , Honey::SYNONYM , Honey::MAX_
}
 
enum  {
  Honey::KEY_USER_METADATA = 0x00 , Honey::KEY_VALUE_STATS = 0x01 , Honey::KEY_VALUE_STATS_HI = 0x08 , Honey::KEY_VALUE_CHUNK = 0x09 ,
  Honey::KEY_VALUE_CHUNK_HI = 0xe1 , Honey::KEY_DOCLEN_CHUNK = 0xf7 , Honey::KEY_DOCLEN_CHUNK_HI = 0xfe , Honey::KEY_POSTING_CHUNK = 0xff
}
 Postlist key second bytes when first byte is zero. More...
 

Detailed Description

Definitions, types, etc for use inside honey.

Definition in file honey_defs.h.

Macro Definition Documentation

◆ HONEY_DOCLEN_CHUNK_MAX

#define HONEY_DOCLEN_CHUNK_MAX   2017

Definition at line 50 of file honey_defs.h.

◆ HONEY_MAX_DOCID

#define HONEY_MAX_DOCID   Xapian::docid(0xffffffffffffffff)

The largest docid value supported by honey.

The disk format supports 64-bit docids, but if Xapian::docid is narrower then it's the largest value supported by the type that matters here.

Definition at line 64 of file honey_defs.h.

◆ HONEY_MAX_KEY_LENGTH

#define HONEY_MAX_KEY_LENGTH   255

Maximum key length.

Definition at line 39 of file honey_defs.h.

◆ HONEY_MIN_DB_SIZE

#define HONEY_MIN_DB_SIZE   2048

Minimum size to pad a honey table to.

Having this minimum size means we can usually know from the size that a stub database file isn't a single file database.

Definition at line 36 of file honey_defs.h.

◆ HONEY_POSTLIST_CHUNK_MAX

#define HONEY_POSTLIST_CHUNK_MAX   2000

Maximum size of a postlist chunk in bytes.

This isn't a hard maximum, but we won't exceed it by much.

FIXME: 2000 is what glass uses, but we should probably tune this.

Definition at line 47 of file honey_defs.h.

◆ HONEY_TABLE_EXTENSION

#define HONEY_TABLE_EXTENSION   "honey"

Honey table extension.

Definition at line 29 of file honey_defs.h.

◆ KEY_DOCLEN_PREFIX

#define KEY_DOCLEN_PREFIX   "\0\xf7"

Definition at line 93 of file honey_defs.h.

◆ SST_SEARCH

#define SST_SEARCH

Definition at line 26 of file honey_defs.h.

Typedef Documentation

◆ honey_block_t

A block number in a honey Btree file.

Definition at line 101 of file honey_defs.h.

◆ honey_revision_number_t

The revision number of a honey database.

Definition at line 104 of file honey_defs.h.

◆ honey_tablesize_t

typedef unsigned long long honey_tablesize_t

How many entries there are in a table.

Definition at line 107 of file honey_defs.h.