xapian-core  2.0.0
Classes | Namespaces | Functions
honey_compact.cc File Reference

Compact a honey database, or merge and compact several. More...

#include <config.h>
#include "xapian/compactor.h"
#include "xapian/constants.h"
#include "xapian/error.h"
#include "xapian/types.h"
#include <algorithm>
#include <memory>
#include <queue>
#include <type_traits>
#include <cerrno>
#include "backends/flint_lock.h"
#include "compression_stream.h"
#include "honey_cursor.h"
#include "honey_database.h"
#include "honey_defs.h"
#include "honey_postlist_encodings.h"
#include "honey_table.h"
#include "honey_values.h"
#include "honey_version.h"
#include "filetests.h"
#include "internaltypes.h"
#include "overflow.h"
#include "pack.h"
#include "stringutils.h"
#include "backends/valuestats.h"
#include "wordaccess.h"
#include "../byte_length_strings.h"
#include "../prefix_compressed_strings.h"
#include "../glass/glass_database.h"
#include "../glass/glass_table.h"
#include "../glass/glass_values.h"
+ Include dependency graph for honey_compact.cc:

Go to the source code of this file.

Classes

class  HoneyCompact::PostlistCursor< const GlassTable & >
 
class  HoneyCompact::PostlistCursor< const GlassTable & >::DoclenEncoder
 
class  HoneyCompact::PostlistCursor< const HoneyTable & >
 
class  HoneyCompact::PostlistCursor< HoneyTable & >
 
class  HoneyCompact::PostlistCursorGt< T >
 
struct  HoneyCompact::MergeCursor< const GlassTable & >
 
struct  HoneyCompact::MergeCursor< const HoneyTable & >
 
struct  HoneyCompact::CursorGt< T >
 
class  HoneyCompact::PositionCursor< const GlassTable & >
 
class  HoneyCompact::PositionCursor< const HoneyTable & >
 
class  HoneyCompact::PositionCursorGt< T >
 

Namespaces

 GlassCompact
 
 HoneyCompact
 

Functions

static void throw_database_corrupt (const char *item, const char *pos)
 
static bool GlassCompact::is_user_metadata_key (const string &key)
 
static bool GlassCompact::is_valuestats_key (const string &key)
 
static bool GlassCompact::is_valuechunk_key (const string &key)
 
static bool GlassCompact::is_doclenchunk_key (const string &key)
 
static bool termlist_key_is_values_used (const string &key)
 
static int HoneyCompact::key_type (const string &key)
 Return a Honey::KEY_* constant, or a different value for an invalid key. More...
 
template<typename T , typename U >
void HoneyCompact::merge_postlists (Xapian::Compactor *compactor, T *out, vector< Xapian::docid >::const_iterator offset, U b, U e)
 
static void HoneyCompact::merge_spellings (HoneyTable *out, vector< const GlassTable * >::const_iterator b, vector< const GlassTable * >::const_iterator e)
 
static void HoneyCompact::merge_spellings (HoneyTable *out, vector< const HoneyTable * >::const_iterator b, vector< const HoneyTable * >::const_iterator e)
 
template<typename T , typename U >
void HoneyCompact::merge_synonyms (T *out, U b, U e)
 
template<typename T , typename U >
void HoneyCompact::multimerge_postlists (Xapian::Compactor *compactor, T *out, const char *tmpdir, const vector< U * > &in, vector< Xapian::docid > off)
 
template<typename T , typename U >
void HoneyCompact::merge_positions (T *out, const vector< U * > &inputs, const vector< Xapian::docid > &offset)
 
template<typename T , typename U >
void HoneyCompact::merge_docid_keyed (T *out, const vector< U * > &inputs, const vector< Xapian::docid > &offset, int=0)
 
template<typename T >
void HoneyCompact::merge_docid_keyed (T *out, const vector< const GlassTable * > &inputs, const vector< Xapian::docid > &offset, Xapian::termcount &ut_lb, Xapian::termcount &ut_ub, int table_type=0)
 

Detailed Description

Compact a honey database, or merge and compact several.

Definition in file honey_compact.cc.

Function Documentation

◆ termlist_key_is_values_used()

static bool termlist_key_is_values_used ( const string &  key)
inlinestatic

Definition at line 108 of file honey_compact.cc.

References p, and unpack_uint_preserving_sort().

Referenced by HoneyCompact::merge_docid_keyed().

◆ throw_database_corrupt()

static void throw_database_corrupt ( const char *  item,
const char *  pos 
)
static