BrassValueManager Class Reference

#include <brass_values.h>

Collaboration diagram for BrassValueManager:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 BrassValueManager (BrassPostListTable *postlist_table_, BrassTermListTable *termlist_table_)
 Create a new BrassValueManager object.
void merge_changes ()
void add_document (Xapian::docid did, const Xapian::Document &doc, std::map< Xapian::valueno, ValueStats > &value_stats)
void delete_document (Xapian::docid did, std::map< Xapian::valueno, ValueStats > &value_stats)
void replace_document (Xapian::docid did, const Xapian::Document &doc, std::map< Xapian::valueno, ValueStats > &value_stats)
std::string get_value (Xapian::docid did, Xapian::valueno slot) const
void get_all_values (std::map< Xapian::valueno, std::string > &values, Xapian::docid did) const
Xapian::doccount get_value_freq (Xapian::valueno slot) const
std::string get_value_lower_bound (Xapian::valueno slot) const
std::string get_value_upper_bound (Xapian::valueno slot) const
void set_value_stats (std::map< Xapian::valueno, ValueStats > &value_stats)
 Write the updated statistics to the table.
void reset ()
bool is_modified () const
void cancel ()

Private Member Functions

void add_value (Xapian::docid did, Xapian::valueno slot, const std::string &val)
void remove_value (Xapian::docid did, Xapian::valueno slot)
Xapian::docid get_chunk_containing_did (Xapian::valueno slot, Xapian::docid did, std::string &chunk) const
void get_value_stats (Xapian::valueno slot) const
 Get the statistics for value slot slot.
void get_value_stats (Xapian::valueno slot, ValueStats &stats) const

Private Attributes

Xapian::valueno mru_slot
 The value number for the most recently used value statistics.
ValueStats mru_valstats
 The most recently used value statistics.
BrassPostListTablepostlist_table
BrassTermListTabletermlist_table
std::map< Xapian::docid,
std::string > 
slots
std::map< Xapian::valueno,
std::map< Xapian::docid,
std::string > > 
changes


Detailed Description

Definition at line 74 of file brass_values.h.


Constructor & Destructor Documentation

BrassValueManager::BrassValueManager ( BrassPostListTable postlist_table_,
BrassTermListTable termlist_table_ 
) [inline]

Create a new BrassValueManager object.

Definition at line 109 of file brass_values.h.


Member Function Documentation

void BrassValueManager::add_document ( Xapian::docid  did,
const Xapian::Document doc,
std::map< Xapian::valueno, ValueStats > &  value_stats 
)

void BrassValueManager::add_value ( Xapian::docid  did,
Xapian::valueno  slot,
const std::string &  val 
) [private]

Definition at line 133 of file brass_values.cc.

References changes.

Referenced by add_document().

void BrassValueManager::cancel (  )  [inline]

Definition at line 165 of file brass_values.h.

References changes, and slots.

Referenced by BrassDatabase::cancel().

void BrassValueManager::delete_document ( Xapian::docid  did,
std::map< Xapian::valueno, ValueStats > &  value_stats 
)

void BrassValueManager::get_all_values ( std::map< Xapian::valueno, std::string > &  values,
Xapian::docid  did 
) const

Xapian::docid BrassValueManager::get_chunk_containing_did ( Xapian::valueno  slot,
Xapian::docid  did,
std::string &  chunk 
) const [private]

string BrassValueManager::get_value ( Xapian::docid  did,
Xapian::valueno  slot 
) const

Definition at line 467 of file brass_values.cc.

References changes, and get_chunk_containing_did().

Referenced by BrassDocument::do_get_value(), and get_all_values().

Xapian::doccount BrassValueManager::get_value_freq ( Xapian::valueno  slot  )  const [inline]

Definition at line 132 of file brass_values.h.

References ValueStats::freq, get_value_stats(), mru_slot, and mru_valstats.

Referenced by BrassDatabase::get_value_freq().

std::string BrassValueManager::get_value_lower_bound ( Xapian::valueno  slot  )  const [inline]

void BrassValueManager::get_value_stats ( Xapian::valueno  slot,
ValueStats stats 
) const [private]

void BrassValueManager::get_value_stats ( Xapian::valueno  slot  )  const [private]

Get the statistics for value slot slot.

Definition at line 519 of file brass_values.cc.

References Xapian::BAD_VALUENO, LOGCALL_VOID, mru_slot, and mru_valstats.

Referenced by add_document(), delete_document(), get_value_freq(), get_value_lower_bound(), and get_value_upper_bound().

std::string BrassValueManager::get_value_upper_bound ( Xapian::valueno  slot  )  const [inline]

bool BrassValueManager::is_modified (  )  const [inline]

Definition at line 161 of file brass_values.h.

References changes.

Referenced by BrassDatabase::apply().

void BrassValueManager::merge_changes (  ) 

void BrassValueManager::remove_value ( Xapian::docid  did,
Xapian::valueno  slot 
) [private]

Definition at line 145 of file brass_values.cc.

References changes.

Referenced by delete_document().

void BrassValueManager::replace_document ( Xapian::docid  did,
const Xapian::Document doc,
std::map< Xapian::valueno, ValueStats > &  value_stats 
)

void BrassValueManager::reset (  )  [inline]

Ignore any old cached valuestats.

Definition at line 156 of file brass_values.h.

References Xapian::BAD_VALUENO, and mru_slot.

Referenced by BrassDatabase::open_tables(), and BrassDatabase::open_tables_consistent().

void BrassValueManager::set_value_stats ( std::map< Xapian::valueno, ValueStats > &  value_stats  ) 

Write the updated statistics to the table.

If the freq member of the statistics for a particular slot is 0, the statistics for that slot will be cleared.

Parameters:
value_stats The statistics to set.

Definition at line 562 of file brass_values.cc.

References BrassTable::add(), Xapian::BAD_VALUENO, BrassTable::del(), ValueStats::freq, LOGCALL_VOID, ValueStats::lower_bound, make_valuestats_key(), mru_slot, pack_string(), pack_uint(), postlist_table, and ValueStats::upper_bound.

Referenced by BrassWritableDatabase::apply().


Member Data Documentation

std::map<Xapian::valueno, std::map<Xapian::docid, std::string> > BrassValueManager::changes [private]

Definition at line 91 of file brass_values.h.

Referenced by add_value(), cancel(), get_value(), is_modified(), merge_changes(), and remove_value().

The value number for the most recently used value statistics.

Set to Xapian::BAD_VALUENO if no value statistics are currently cached.

Definition at line 80 of file brass_values.h.

Referenced by get_value_freq(), get_value_lower_bound(), get_value_stats(), get_value_upper_bound(), reset(), and set_value_stats().

The most recently used value statistics.

Definition at line 83 of file brass_values.h.

Referenced by get_value_freq(), get_value_lower_bound(), get_value_stats(), and get_value_upper_bound().

std::map<Xapian::docid, std::string> BrassValueManager::slots [private]

Definition at line 89 of file brass_values.h.

Referenced by add_document(), cancel(), delete_document(), get_all_values(), and merge_changes().

Definition at line 87 of file brass_values.h.

Referenced by add_document(), delete_document(), get_all_values(), and merge_changes().


The documentation for this class was generated from the following files:

Documentation for Xapian (version 1.2.9).
Generated on 10 May 2012 by Doxygen 1.5.9.