|
xapian-core
1.4.30
|
A writable chert database. More...
#include <chert_database.h>
Inheritance diagram for ChertWritableDatabase:
Collaboration diagram for ChertWritableDatabase:Public Member Functions | |
| ChertWritableDatabase (const string &dir, int action, int block_size) | |
| Create and open a writable chert database. More... | |
| ~ChertWritableDatabase () | |
| Xapian::termcount | get_doclength (Xapian::docid did) const |
| Virtual methods of Database::Internal. More... | |
| Xapian::termcount | get_unique_terms (Xapian::docid did) const |
| Get the number of unique term in document. More... | |
| void | get_freqs (const string &term, Xapian::doccount *termfreq_ptr, Xapian::termcount *collfreq_ptr) const |
| Returns frequencies for a term. More... | |
| Xapian::doccount | get_value_freq (Xapian::valueno slot) const |
| Return the frequency of a given value slot. More... | |
| std::string | get_value_lower_bound (Xapian::valueno slot) const |
| Get a lower bound on the values stored in the given value slot. More... | |
| std::string | get_value_upper_bound (Xapian::valueno slot) const |
| Get an upper bound on the values stored in the given value slot. More... | |
| bool | term_exists (const string &tname) const |
| Check whether a given term is in the database. More... | |
| LeafPostList * | open_post_list (const string &tname) const |
| Open a posting list. More... | |
| ValueList * | open_value_list (Xapian::valueno slot) const |
| Open a value stream. More... | |
| TermList * | open_allterms (const string &prefix) const |
| Open an allterms list. More... | |
| void | add_spelling (const string &word, Xapian::termcount freqinc) const |
| Add a word to the spelling dictionary. More... | |
| void | remove_spelling (const string &word, Xapian::termcount freqdec) const |
| Remove a word from the spelling dictionary. More... | |
| TermList * | open_spelling_wordlist () const |
| Return a termlist which returns the words which are spelling correction targets. More... | |
| TermList * | open_synonym_keylist (const string &prefix) const |
| Open a termlist returning each term which has synonyms. More... | |
| void | add_synonym (const string &word, const string &synonym) const |
| Add a synonym for a term. More... | |
| void | remove_synonym (const string &word, const string &synonym) const |
| Remove a synonym for a term. More... | |
| void | clear_synonyms (const string &word) const |
| Clear all synonyms for a term. More... | |
| void | set_metadata (const string &key, const string &value) |
| Set the metadata associated with a given key. More... | |
| void | invalidate_doc_object (Xapian::Document::Internal *obj) const |
| Notify the database that document is no longer valid. More... | |
| bool | has_uncommitted_changes () const |
| Return true if there are uncommitted changes. More... | |
Public Member Functions inherited from ChertDatabase | |
| ChertDatabase (const string &db_dir_, int action=Xapian::DB_READONLY_, unsigned int block_size=0u) | |
| Create and open a chert database. More... | |
| ~ChertDatabase () | |
| ChertCursor * | get_postlist_cursor () const |
| Get a postlist table cursor (used by ChertValueList). More... | |
| chert_revision_number_t | get_revision_number () const |
| Get an object holding the revision number which the tables are opened at. More... | |
| Xapian::doccount | get_doccount () const |
| Virtual methods of Database::Internal. More... | |
| Xapian::docid | get_lastdocid () const |
| Return the last used document id of this (sub) database. More... | |
| Xapian::totallength | get_total_length () const |
| Return the total length of all documents in this database. More... | |
| Xapian::termcount | get_doclength_lower_bound () const |
| Get a lower bound on the length of a document in this DB. More... | |
| Xapian::termcount | get_doclength_upper_bound () const |
| Get an upper bound on the length of a document in this DB. More... | |
| Xapian::termcount | get_wdf_upper_bound (const string &term) const |
| Get an upper bound on the wdf of term term. More... | |
| bool | has_positions () const |
| Check whether this database contains any positional information. More... | |
| PositionList * | open_position_list (Xapian::docid did, const string &term) const |
| Open a position list for the given term in the given document. More... | |
| TermList * | open_term_list (Xapian::docid did) const |
| Open a term list. More... | |
| TermList * | open_spelling_termlist (const string &word) const |
| Create a termlist tree from trigrams of word. More... | |
| Xapian::doccount | get_spelling_frequency (const string &word) const |
| Return the number of times word was added as a spelling. More... | |
| TermList * | open_synonym_termlist (const string &term) const |
| Open a termlist returning synonyms for a term. More... | |
| string | get_metadata (const string &key) const |
| Get the metadata associated with a given key. More... | |
| TermList * | open_metadata_keylist (const std::string &prefix) const |
| Open a termlist returning each metadata key. More... | |
| void | write_changesets_to_fd (int fd, const string &start_revision, bool need_whole_db, Xapian::ReplicationInfo *info) |
| Write a set of changesets to a file descriptor. More... | |
| string | get_revision_info () const |
| Get a string describing the current revision of the database. More... | |
| string | get_uuid () const |
| Get a UUID for the database. More... | |
| void | request_document (Xapian::docid) const |
| Request and later collect a document from the database. More... | |
| void | readahead_for_query (const Xapian::Query &query) |
| void | throw_termlist_table_close_exception () const |
| int | get_backend_info (string *path) const |
| Get backend information about this database. More... | |
| void | get_used_docid_range (Xapian::docid &first, Xapian::docid &last) const |
| Find lowest and highest docids actually in use. More... | |
| bool | locked () const |
| Return true if the database is open for writing. More... | |
Public Member Functions inherited from Xapian::Database::Internal | |
| virtual | ~Internal () |
| Destroy the database. More... | |
| virtual void | keep_alive () |
| Send a keep-alive signal to a remote database, to stop it from timing out. More... | |
| void | begin_transaction (bool flushed) |
| Begin a transaction. More... | |
| void | commit_transaction () |
| Commit a transaction. More... | |
| void | cancel_transaction () |
| Cancel a transaction. More... | |
| virtual void | delete_document (const string &unique_term) |
| Delete any documents indexed by a term from the database. More... | |
| virtual Xapian::docid | replace_document (const string &unique_term, const Xapian::Document &document) |
| Replace any documents matching a term. More... | |
| virtual Xapian::Document::Internal * | collect_document (Xapian::docid did) const |
Public Member Functions inherited from Xapian::Internal::intrusive_base | |
| intrusive_base () | |
| Construct with no references. More... | |
Private Member Functions | |
| void | check_flush_threshold () |
| Check if we should autoflush. More... | |
| void | flush_postlist_changes () const |
| Flush any unflushed postlist changes, but don't commit them. More... | |
| void | close () |
| Close all the tables permanently. More... | |
| void | apply () |
| Apply changes. More... | |
| void | add_freq_delta (const string &tname, Xapian::termcount_diff tf_delta, Xapian::termcount_diff cf_delta) |
| Add or modify an entry in freq_deltas. More... | |
| void | insert_mod_plist (Xapian::docid did, const string &tname, Xapian::termcount wdf) |
| Insert modifications for a new document to the postlists. More... | |
| void | update_mod_plist (Xapian::docid did, const string &tname, char type, Xapian::termcount wdf) |
| Update the stored modifications to the postlists. More... | |
| void | commit () |
| Implementation of virtual methods: see Database::Internal for details. More... | |
| void | cancel () |
| Cancel pending modifications to the database. More... | |
| Xapian::docid | add_document (const Xapian::Document &document) |
| Add a new document to the database. More... | |
| Xapian::docid | add_document_ (Xapian::docid did, const Xapian::Document &document) |
| void | delete_document (Xapian::docid did) |
| Delete a document in the database. More... | |
| void | replace_document (Xapian::docid did, const Xapian::Document &document) |
| Replace a given document in the database. More... | |
| Xapian::Document::Internal * | open_document (Xapian::docid did, bool lazy) const |
| Open a document. More... | |
Private Attributes | |
| map< string, pair< Xapian::termcount_diff, Xapian::termcount_diff > > | freq_deltas |
| Unflushed changes to term frequencies and collection frequencies. More... | |
| map< Xapian::docid, Xapian::termcount > | doclens |
| Document lengths of new and modified documents which haven't been flushed yet. More... | |
| map< string, map< Xapian::docid, pair< char, Xapian::termcount > > > | mod_plists |
| Modifications to posting lists. More... | |
| map< Xapian::valueno, ValueStats > | value_stats |
| Xapian::doccount | change_count |
| The number of documents added, deleted, or replaced since the last flush. More... | |
| Xapian::doccount | flush_threshold |
| If change_count reaches this threshold we automatically flush. More... | |
| Xapian::Document::Internal * | modify_shortcut_document |
| A pointer to the last document which was returned by open_document(), or NULL if there is no such valid document. More... | |
| Xapian::docid | modify_shortcut_docid |
| The document ID for the last document returned by open_document(). More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from ChertDatabase | |
| static void | compact (Xapian::Compactor *compactor, const char *destdir, const std::vector< Xapian::Database::Internal * > &sources, const std::vector< Xapian::docid > &offset, size_t block_size, Xapian::Compactor::compaction_level compaction, unsigned flags, Xapian::docid last_docid) |
Public Attributes inherited from Xapian::Internal::intrusive_base | |
| unsigned | _refs |
| Reference count. More... | |
Protected Types inherited from Xapian::Database::Internal | |
| enum | { TRANSACTION_UNIMPLEMENTED = -1 , TRANSACTION_NONE = 0 , TRANSACTION_UNFLUSHED = 1 , TRANSACTION_FLUSHED = 2 } |
| Transaction state. More... | |
Protected Member Functions inherited from Xapian::Database::Internal | |
| bool | transaction_active () const |
| Internal () | |
| Create a database - called only by derived classes. More... | |
| void | dtor_called () |
| Internal method to perform cleanup when a writable database is destroyed with uncommitted changes. More... | |
Protected Attributes inherited from Xapian::Database::Internal | |
| enum Xapian::Database::Internal:: { ... } | transaction_state |
| Transaction state. More... | |
A writable chert database.
Definition at line 336 of file chert_database.h.
| ChertWritableDatabase::ChertWritableDatabase | ( | const string & | dir, |
| int | action, | ||
| int | block_size | ||
| ) |
Create and open a writable chert database.
| Xapian::DatabaseOpeningError | thrown if database can't be opened. |
| Xapian::DatabaseVersionError | thrown if database is in an unsupported format. This implies that the database was created by an older or newer version of Xapian. |
| dir | directory holding chert tables |
Definition at line 1063 of file chert_database.cc.
References flush_threshold, and LOGCALL_CTOR.
| ChertWritableDatabase::~ChertWritableDatabase | ( | ) |
Definition at line 1083 of file chert_database.cc.
References Xapian::Database::Internal::dtor_called(), and LOGCALL_DTOR.
|
privatevirtual |
Add a new document to the database.
See WritableDatabase::add_document() for more information.
Reimplemented from Xapian::Database::Internal.
Definition at line 1206 of file chert_database.cc.
References add_document_(), CHERT_MAX_DOCID, ChertDatabaseStats::get_last_docid(), ChertDatabaseStats::get_next_docid(), LOGCALL, RETURN, and ChertDatabase::stats.
|
private |
Definition at line 1217 of file chert_database.cc.
References ChertValueManager::add_document(), ChertDatabaseStats::add_document(), add_freq_delta(), Assert, cancel(), check_flush_threshold(), ChertDatabaseStats::check_wdf(), doclens, Xapian::Document::get_data(), Xapian::TermIterator::get_wdf(), insert_mod_plist(), ChertTable::is_open(), LOGCALL, LOGLINE, MAX_SAFE_TERM_LENGTH, ChertDatabase::position_table, Xapian::TermIterator::positionlist_begin(), Xapian::TermIterator::positionlist_end(), ChertDatabase::record_table, ChertRecordTable::replace_record(), RETURN, ChertPositionListTable::set_positionlist(), ChertTermListTable::set_termlist(), ChertDatabase::stats, STRINGIZE, Xapian::Document::termlist_begin(), Xapian::Document::termlist_end(), ChertDatabase::termlist_table, ChertDatabase::value_manager, and value_stats.
Referenced by add_document(), and replace_document().
|
private |
Add or modify an entry in freq_deltas.
| tname | The term to modify the entry for. |
| tf_delta | The change in the term frequency delta. |
| cf_delta | The change in the collection frequency delta. |
Definition at line 1148 of file chert_database.cc.
References freq_deltas.
Referenced by add_document_(), delete_document(), and replace_document().
|
virtual |
Add a word to the spelling dictionary.
If the word is already present, its frequency is increased.
| word | The word to add. |
| freqinc | How much to increase its frequency by. |
Reimplemented from Xapian::Database::Internal.
Definition at line 1679 of file chert_database.cc.
References ChertSpellingTable::add_word(), and ChertDatabase::spelling_table.
|
virtual |
Add a synonym for a term.
If synonym is already a synonym for term, then no action is taken.
Reimplemented from Xapian::Database::Internal.
Definition at line 1707 of file chert_database.cc.
References ChertSynonymTable::add_synonym(), and ChertDatabase::synonym_table.
|
private |
Apply changes.
Definition at line 1141 of file chert_database.cc.
References ChertDatabase::apply(), ChertValueManager::set_value_stats(), ChertDatabase::value_manager, and value_stats.
Referenced by check_flush_threshold(), and commit().
|
privatevirtual |
Cancel pending modifications to the database.
Reimplemented from ChertDatabase.
Definition at line 1667 of file chert_database.cc.
References ChertDatabase::cancel(), change_count, doclens, freq_deltas, mod_plists, ChertDatabase::postlist_table, ChertDatabaseStats::read(), ChertDatabase::stats, and value_stats.
Referenced by add_document_(), delete_document(), and replace_document().
|
private |
Check if we should autoflush.
Called at the end of each document changing operation.
Definition at line 1099 of file chert_database.cc.
References apply(), change_count, flush_postlist_changes(), flush_threshold, and Xapian::Database::Internal::transaction_active().
Referenced by add_document_(), delete_document(), and replace_document().
|
virtual |
Clear all synonyms for a term.
If term has no synonyms, no action is taken.
Reimplemented from Xapian::Database::Internal.
Definition at line 1721 of file chert_database.cc.
References ChertSynonymTable::clear_synonyms(), and ChertDatabase::synonym_table.
|
privatevirtual |
Close all the tables permanently.
Reimplemented from ChertDatabase.
Definition at line 1130 of file chert_database.cc.
References ChertDatabase::close(), commit(), LOGCALL_VOID, and Xapian::Database::Internal::transaction_active().
|
privatevirtual |
Implementation of virtual methods: see Database::Internal for details.
Reimplemented from Xapian::Database::Internal.
Definition at line 1090 of file chert_database.cc.
References apply(), change_count, flush_postlist_changes(), and Xapian::Database::Internal::transaction_active().
Referenced by close().
|
privatevirtual |
Delete a document in the database.
See WritableDatabase::delete_document() for more information.
Reimplemented from Xapian::Database::Internal.
Definition at line 1277 of file chert_database.cc.
References add_freq_delta(), Assert, ChertTermList::at_end(), cancel(), check_flush_threshold(), ChertValueManager::delete_document(), ChertDatabaseStats::delete_document(), ChertPositionListTable::delete_positionlist(), ChertRecordTable::delete_record(), ChertTermListTable::delete_termlist(), doclens, ChertTermList::get_doclength(), ChertTermList::get_termname(), ChertTermList::get_wdf(), ChertTable::is_open(), LOGCALL_VOID, modify_shortcut_docid, modify_shortcut_document, ChertTermList::next(), ChertDatabase::position_table, rare, ChertDatabase::record_table, ChertDatabase::stats, ChertDatabase::termlist_table, ChertDatabase::throw_termlist_table_close_exception(), update_mod_plist(), ChertDatabase::value_manager, and value_stats.
|
private |
Flush any unflushed postlist changes, but don't commit them.
Definition at line 1118 of file chert_database.cc.
References change_count, doclens, freq_deltas, ChertPostListTable::merge_changes(), mod_plists, ChertDatabase::postlist_table, ChertDatabase::stats, and ChertDatabaseStats::write().
Referenced by check_flush_threshold(), commit(), and open_allterms().
|
virtual |
Virtual methods of Database::Internal.
Reimplemented from ChertDatabase.
Definition at line 1521 of file chert_database.cc.
References doclens, ChertDatabase::get_doclength(), LOGCALL, RETURN, and Xapian::Internal::str().
|
virtual |
Returns frequencies for a term.
| term | The term to get frequencies for |
| termfreq_ptr | Point to return number of docs indexed by term (or NULL not to return) |
| collfreq_ptr | Point to return number of occurrences of term in the database (or NULL not to return) |
Reimplemented from ChertDatabase.
Definition at line 1559 of file chert_database.cc.
References Assert, freq_deltas, ChertDatabase::get_freqs(), and LOGCALL_VOID.
Referenced by term_exists().
|
virtual |
Get the number of unique term in document.
| did | The document id of the document whose number of terms is being requested. |
Reimplemented from ChertDatabase.
Definition at line 1536 of file chert_database.cc.
References Assert, doclens, ChertTermList::get_approx_size(), ChertDatabase::get_unique_terms(), LOGCALL, RETURN, and Xapian::Internal::str().
|
virtual |
Return the frequency of a given value slot.
This is the number of documents which have a (non-empty) value stored in the slot.
| slot | The value slot to examine. |
Reimplemented from ChertDatabase.
Definition at line 1577 of file chert_database.cc.
References ChertDatabase::get_value_freq(), LOGCALL, RETURN, and value_stats.
|
virtual |
Get a lower bound on the values stored in the given value slot.
If there are no values stored in the given value slot, this will return an empty string.
| slot | The value slot to examine. |
Reimplemented from ChertDatabase.
Definition at line 1587 of file chert_database.cc.
References ChertDatabase::get_value_lower_bound(), LOGCALL, RETURN, and value_stats.
|
virtual |
Get an upper bound on the values stored in the given value slot.
If there are no values stored in the given value slot, this will return an empty string.
| slot | The value slot to examine. |
Reimplemented from ChertDatabase.
Definition at line 1597 of file chert_database.cc.
References ChertDatabase::get_value_upper_bound(), LOGCALL, RETURN, and value_stats.
|
virtual |
Return true if there are uncommitted changes.
Reimplemented from ChertDatabase.
Definition at line 1749 of file chert_database.cc.
References change_count, ChertSpellingTable::is_modified(), ChertSynonymTable::is_modified(), ChertTable::is_modified(), ChertValueManager::is_modified(), ChertDatabase::position_table, ChertDatabase::postlist_table, ChertDatabase::record_table, ChertDatabase::spelling_table, ChertDatabase::synonym_table, ChertDatabase::termlist_table, and ChertDatabase::value_manager.
|
private |
Insert modifications for a new document to the postlists.
| did | The document ID to insert the entry for. |
| tname | The term to insert the entry for. |
| wdf | The new wdf value to store. |
Definition at line 1163 of file chert_database.cc.
References mod_plists.
Referenced by add_document_().
|
virtual |
Notify the database that document is no longer valid.
This is used to invalidate references to a document kept by a database for doing lazy updates. If we moved to using a weak_ptr instead we wouldn't need a special method for this, but it would involve a fair bit of reorganising of other parts of the code.
Reimplemented from Xapian::Database::Internal.
Definition at line 1740 of file chert_database.cc.
References modify_shortcut_docid, and modify_shortcut_document.
|
virtual |
Open an allterms list.
This is a list of all the terms in the database
| prefix | The prefix to restrict the terms to. |
Reimplemented from ChertDatabase.
Definition at line 1656 of file chert_database.cc.
References change_count, flush_postlist_changes(), LOGCALL, ChertDatabase::open_allterms(), and RETURN.
|
privatevirtual |
Open a document.
This is used to access the values and data associated with a document. See class Xapian::Document::Internal for further details.
| did | The document id which is being requested. |
| lazy | No need to check that this document actually exists. Used when we already know that this document exists (only a hint - the backend may still check). |
Reimplemented from ChertDatabase.
Definition at line 1510 of file chert_database.cc.
References LOGCALL, modify_shortcut_docid, modify_shortcut_document, ChertDatabase::open_document(), and RETURN.
|
virtual |
Open a posting list.
Method defined by subclass to open a posting list. This is a list of all the documents which contain a given term.
| tname | The term whose posting list is being requested. |
Reimplemented from ChertDatabase.
Definition at line 1616 of file chert_database.cc.
References ChertDatabase::ChertAllDocsPostList, ChertDatabase::ChertPostList, doclens, ChertDatabase::get_doccount(), ChertDatabaseStats::get_last_docid(), ChertDatabaseStats::get_wdf_upper_bound(), LOGCALL, mod_plists, RETURN, and ChertDatabase::stats.
|
virtual |
Return a termlist which returns the words which are spelling correction targets.
If there are no spelling correction targets, returns NULL.
Reimplemented from ChertDatabase.
Definition at line 1693 of file chert_database.cc.
References ChertSpellingTable::merge_changes(), ChertDatabase::open_spelling_wordlist(), and ChertDatabase::spelling_table.
|
virtual |
Open a termlist returning each term which has synonyms.
| prefix | If non-empty, only terms with this prefix are returned. |
Reimplemented from ChertDatabase.
Definition at line 1700 of file chert_database.cc.
References ChertSynonymTable::merge_changes(), ChertDatabase::open_synonym_keylist(), and ChertDatabase::synonym_table.
|
virtual |
Open a value stream.
This returns the value in a particular slot for each document.
| slot | The value slot. |
Reimplemented from ChertDatabase.
Definition at line 1645 of file chert_database.cc.
References change_count, LOGCALL, ChertValueManager::merge_changes(), ChertDatabase::open_value_list(), RETURN, and ChertDatabase::value_manager.
|
virtual |
Remove a word from the spelling dictionary.
The word's frequency is decreased, and if would become zero or less then the word is removed completely.
| word | The word to remove. |
| freqdec | How much to decrease its frequency by. |
Reimplemented from Xapian::Database::Internal.
Definition at line 1686 of file chert_database.cc.
References ChertSpellingTable::remove_word(), and ChertDatabase::spelling_table.
|
virtual |
Remove a synonym for a term.
If synonym isn't a synonym for term, then no action is taken.
Reimplemented from Xapian::Database::Internal.
Definition at line 1714 of file chert_database.cc.
References ChertSynonymTable::remove_synonym(), and ChertDatabase::synonym_table.
|
privatevirtual |
Replace a given document in the database.
See WritableDatabase::replace_document() for more information.
Reimplemented from Xapian::Database::Internal.
Definition at line 1338 of file chert_database.cc.
References ChertDatabaseStats::add_document(), add_document_(), add_freq_delta(), Assert, ChertTermList::at_end(), cancel(), check_flush_threshold(), ChertDatabaseStats::check_wdf(), ChertDatabaseStats::delete_document(), ChertPositionListTable::delete_positionlist(), doclens, ChertPostListTable::document_exists(), Xapian::Document::get_data(), ChertTermList::get_doclength(), ChertDatabaseStats::get_last_docid(), ChertTermList::get_termname(), ChertTermList::get_wdf(), Xapian::TermIterator::get_wdf(), Xapian::Document::internal, ChertTable::is_open(), LOGCALL_VOID, LOGLINE, MAX_SAFE_TERM_LENGTH, modify_shortcut_docid, modify_shortcut_document, ChertTermList::next(), ChertDatabase::position_table, Xapian::TermIterator::positionlist_begin(), Xapian::TermIterator::positionlist_end(), ChertDatabase::postlist_table, ChertDatabase::record_table, ChertValueManager::replace_document(), ChertRecordTable::replace_record(), ChertDatabaseStats::set_last_docid(), ChertPositionListTable::set_positionlist(), ChertTermListTable::set_termlist(), ChertDatabase::stats, STRINGIZE, Xapian::Document::termlist_begin(), Xapian::Document::termlist_end(), ChertDatabase::termlist_table, ChertDatabase::throw_termlist_table_close_exception(), update_mod_plist(), ChertDatabase::value_manager, and value_stats.
|
virtual |
Set the metadata associated with a given key.
See WritableDatabase::set_metadata() for more information.
Reimplemented from Xapian::Database::Internal.
Definition at line 1727 of file chert_database.cc.
References ChertTable::add(), ChertTable::del(), LOGCALL_VOID, and ChertDatabase::postlist_table.
|
virtual |
Check whether a given term is in the database.
| tname | The term whose presence is being checked. |
Reimplemented from ChertDatabase.
Definition at line 1607 of file chert_database.cc.
References get_freqs(), LOGCALL, and RETURN.
|
private |
Update the stored modifications to the postlists.
| did | The document ID to modify the entry for. |
| tname | The term to modify the entry for. |
| type | The type of change to the postlist. |
| wdf | The new wdf value to store. |
If type is 'A', and an existing entry is in the stored modifications, the stored type will be set to 'M'. In all other cases, the stored type is simply the value supplied.
Definition at line 1178 of file chert_database.cc.
References Assert, and mod_plists.
Referenced by delete_document(), and replace_document().
|
mutableprivate |
The number of documents added, deleted, or replaced since the last flush.
Definition at line 353 of file chert_database.h.
Referenced by cancel(), check_flush_threshold(), commit(), flush_postlist_changes(), has_uncommitted_changes(), open_allterms(), and open_value_list().
|
mutableprivate |
Document lengths of new and modified documents which haven't been flushed yet.
Definition at line 342 of file chert_database.h.
Referenced by add_document_(), cancel(), delete_document(), flush_postlist_changes(), get_doclength(), get_unique_terms(), open_post_list(), and replace_document().
|
private |
If change_count reaches this threshold we automatically flush.
Definition at line 356 of file chert_database.h.
Referenced by check_flush_threshold(), and ChertWritableDatabase().
|
mutableprivate |
Unflushed changes to term frequencies and collection frequencies.
Definition at line 339 of file chert_database.h.
Referenced by add_freq_delta(), cancel(), flush_postlist_changes(), and get_freqs().
|
mutableprivate |
Modifications to posting lists.
Definition at line 346 of file chert_database.h.
Referenced by cancel(), flush_postlist_changes(), insert_mod_plist(), open_post_list(), and update_mod_plist().
|
mutableprivate |
The document ID for the last document returned by open_document().
Definition at line 368 of file chert_database.h.
Referenced by delete_document(), invalidate_doc_object(), open_document(), and replace_document().
|
mutableprivate |
A pointer to the last document which was returned by open_document(), or NULL if there is no such valid document.
This is used purely for comparing with a supplied document to help with optimising replace_document. When the document internals are deleted, this pointer gets set to NULL.
Definition at line 364 of file chert_database.h.
Referenced by delete_document(), invalidate_doc_object(), open_document(), and replace_document().
|
mutableprivate |
Definition at line 348 of file chert_database.h.
Referenced by add_document_(), apply(), cancel(), delete_document(), get_value_freq(), get_value_lower_bound(), get_value_upper_bound(), and replace_document().