|
xapian-core
2.0.0
|
Database using honey backend. More...
#include <honey_database.h>
Inheritance diagram for HoneyDatabase:
Collaboration diagram for HoneyDatabase:Public Member Functions | |
| HoneyDatabase (std::string_view path_, int flags=Xapian::DB_READONLY_) | |
| HoneyDatabase (int fd, int flags=Xapian::DB_READONLY_) | |
| ~HoneyDatabase () | |
| void | readahead_for_query (const Xapian::Query &query) const |
| Xapian::doccount | get_doccount () const |
| 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 (Xapian::docid did) const |
| Xapian::termcount | get_unique_terms (Xapian::docid did) const |
| Get the number of unique terms in document. More... | |
| Xapian::termcount | get_wdfdocmax (Xapian::docid did) const |
| Get the max wdf in document. More... | |
| void | get_freqs (std::string_view 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... | |
| 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 (std::string_view term) const |
| Get an upper bound on the wdf of term term. More... | |
| Xapian::termcount | get_unique_terms_lower_bound () const |
| Get a lower bound on the unique terms size of a document in this DB. More... | |
| Xapian::termcount | get_unique_terms_upper_bound () const |
| Get an upper bound on the unique terms size of a document in this DB. More... | |
| bool | term_exists (std::string_view term) const |
| bool | has_positions () const |
| Check whether this database contains any positional information. More... | |
| PostList * | open_post_list (std::string_view term) const |
| Return a PostList suitable for use in a PostingIterator. More... | |
| LeafPostList * | open_leaf_post_list (std::string_view term, bool need_read_pos) const |
| Create a LeafPostList for use during a match. More... | |
| ValueList * | open_value_list (Xapian::valueno slot) const |
| Open a value stream. More... | |
| TermList * | open_term_list (Xapian::docid did) const |
| TermList * | open_term_list_direct (Xapian::docid did) const |
| Like open_term_list() but without MultiTermList wrapper. More... | |
| TermList * | open_allterms (std::string_view prefix) const |
| PositionList * | open_position_list (Xapian::docid did, std::string_view term) const |
| Xapian::Document::Internal * | open_document (Xapian::docid did, bool lazy) const |
| Open a handle on a document. More... | |
| TermList * | open_spelling_termlist (std::string_view word) const |
| Create a termlist tree from trigrams of word. More... | |
| TermList * | open_spelling_wordlist () const |
| Return a termlist which returns the words which are spelling correction targets. More... | |
| Xapian::doccount | get_spelling_frequency (std::string_view word) const |
| Return the number of times word was added as a spelling. More... | |
| void | add_spelling (std::string_view word, Xapian::termcount freqinc) const |
| Add a word to the spelling dictionary. More... | |
| Xapian::termcount | remove_spelling (std::string_view word, Xapian::termcount freqdec) const |
| Remove a word from the spelling dictionary. More... | |
| TermList * | open_synonym_termlist (std::string_view term) const |
| Open a termlist returning synonyms for a term. More... | |
| TermList * | open_synonym_keylist (std::string_view prefix) const |
| Open a termlist returning each term which has synonyms. More... | |
| void | add_synonym (std::string_view term, std::string_view synonym) const |
| Add a synonym for a term. More... | |
| void | remove_synonym (std::string_view term, std::string_view synonym) const |
| Remove a synonym for a term. More... | |
| void | clear_synonyms (std::string_view term) const |
| Clear all synonyms for a term. More... | |
| std::string | get_metadata (std::string_view key) const |
| Get the metadata associated with a given key. More... | |
| TermList * | open_metadata_keylist (std::string_view prefix) const |
| Open a termlist returning each metadata key. More... | |
| void | set_metadata (std::string_view key, std::string_view value) |
| Set the metadata associated with a given key. More... | |
| bool | reopen () |
| Reopen the database to the latest available revision. More... | |
| void | close () |
| Close the database. More... | |
| void | request_document (Xapian::docid did) const |
| Request a document. More... | |
| Xapian::rev | get_revision () const |
| Get the current revision of the database. More... | |
| std::string | get_uuid () const |
| Get a UUID for the database. More... | |
| int | get_backend_info (std::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 | has_uncommitted_changes () const |
| bool | single_file () const |
| HoneyCursor * | get_postlist_cursor () const |
| std::string | get_description () const |
| Return a string describing this object. More... | |
Public Member Functions inherited from Xapian::Database::Internal | |
| virtual | ~Internal () |
| We have virtual methods and want to be able to delete derived classes using a pointer to the base class, so we need a virtual destructor. More... | |
| virtual size_type | size () const |
| virtual void | keep_alive () |
| virtual void | commit () |
| Commit pending modifications to the database. More... | |
| virtual void | cancel () |
| Cancel pending modifications to the database. More... | |
| virtual void | begin_transaction (bool flushed) |
| Begin transaction. More... | |
| virtual void | end_transaction (bool do_commit) |
| End transaction. More... | |
| virtual docid | add_document (const Document &document) |
| virtual void | delete_document (docid did) |
| virtual void | delete_document (std::string_view unique_term) |
| Delete any documents indexed by a term from the database. More... | |
| virtual void | replace_document (docid did, const Document &document) |
| virtual docid | replace_document (std::string_view unique_term, const Document &document) |
| Replace any documents matching a term. More... | |
| virtual void | write_changesets_to_fd (int fd, std::string_view start_revision, bool need_whole_db, ReplicationInfo *info) |
| Write a set of changesets to a file descriptor. More... | |
| virtual void | invalidate_doc_object (Document::Internal *obj) const |
| Notify the database that document is no longer valid. More... | |
| virtual bool | locked () const |
| Return true if the database is open for writing. More... | |
| virtual Internal * | update_lock (int flags) |
| Lock a read-only database for writing or unlock a writable database. More... | |
| virtual std::string | reconstruct_text (Xapian::docid did, size_t length, std::string_view prefix, Xapian::termpos start_pos, Xapian::termpos end_pos) const |
Public Member Functions inherited from Xapian::Internal::intrusive_base | |
| intrusive_base () | |
| Construct with no references. More... | |
Static Public Member Functions | |
| static void | compact (Xapian::Compactor *compactor, const char *destdir, int fd, int source_backend, const std::vector< const Xapian::Database::Internal * > &sources, const std::vector< Xapian::docid > &offset, Xapian::Compactor::compaction_level compaction, unsigned flags, Xapian::docid last_docid) |
Private Member Functions | |
| HoneyDatabase & | operator= (const HoneyDatabase &)=delete |
| Don't allow assignment. More... | |
| HoneyDatabase (const HoneyDatabase &)=delete | |
| Don't allow copying. More... | |
| void | throw_termlist_table_close_exception () const |
Private Attributes | |
| std::string | path |
| Path of the directory. More... | |
| HoneyVersion | version_file |
| Version file ("iamhoney"). More... | |
| HoneyDocDataTable | docdata_table |
| HoneyPostListTable | postlist_table |
| HoneyPositionTable | position_table |
| HoneySpellingTable | spelling_table |
| HoneySynonymTable | synonym_table |
| HoneyTermListTable | termlist_table |
| HoneyValueManager | value_manager |
| Honey::DocLenChunkReader | doclen_chunk_reader |
| HoneyCursor * | doclen_cursor = NULL |
Friends | |
| class | HoneyAllTermsList |
| class | HoneyPosPostList |
| class | HoneyPostList |
| class | HoneySpellingWordsList |
| class | HoneySynonymTermList |
| class | HoneyTermList |
Additional Inherited Members | |
Public Types inherited from Xapian::Database::Internal | |
| typedef Xapian::doccount | size_type |
Public Attributes inherited from Xapian::Internal::intrusive_base | |
| unsigned | _refs |
| Reference count. More... | |
Protected Types inherited from Xapian::Database::Internal | |
| enum | transaction_state { TRANSACTION_READONLY = -2 , TRANSACTION_UNIMPLEMENTED = -1 , TRANSACTION_NONE = 0 , TRANSACTION_UNFLUSHED = 1 , TRANSACTION_FLUSHED = 2 } |
| Transaction state enum. More... | |
Protected Member Functions inherited from Xapian::Database::Internal | |
| Internal (transaction_state transaction_support) | |
| Only constructable as a base class for derived classes. More... | |
| bool | is_read_only () const |
| Test if this shard is read-only. More... | |
| bool | transaction_active () const |
| Test if a transaction is currently active. More... | |
| void | dtor_called () |
| Helper to process uncommitted changes when a writable db is destroyed. More... | |
Protected Attributes inherited from Xapian::Database::Internal | |
| transaction_state | state |
| Current transaction state. More... | |
Database using honey backend.
Definition at line 48 of file honey_database.h.
|
privatedelete |
Don't allow copying.
|
explicit |
Definition at line 55 of file honey_database.cc.
References Honey::DOCDATA, docdata_table, HoneyVersion::get_revision(), HoneyVersion::get_root(), HoneyTable::open(), Honey::POSITION, position_table, Honey::POSTLIST, postlist_table, HoneyVersion::read(), Honey::SPELLING, spelling_table, Honey::SYNONYM, synonym_table, Honey::TERMLIST, termlist_table, and version_file.
|
explicit |
Definition at line 79 of file honey_database.cc.
References Honey::DOCDATA, docdata_table, HoneyVersion::get_revision(), HoneyVersion::get_root(), HoneyTable::open(), Honey::POSITION, position_table, Honey::POSTLIST, postlist_table, HoneyVersion::read(), Honey::SPELLING, spelling_table, Honey::SYNONYM, synonym_table, Honey::TERMLIST, termlist_table, and version_file.
| HoneyDatabase::~HoneyDatabase | ( | ) |
Definition at line 103 of file honey_database.cc.
References doclen_cursor.
|
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 373 of file honey_database.cc.
|
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 407 of file honey_database.cc.
References term.
|
virtual |
Clear all synonyms for a term.
If term has no synonyms, no action is taken.
Reimplemented from Xapian::Database::Internal.
Definition at line 423 of file honey_database.cc.
References term.
|
virtual |
Close the database.
Implements Xapian::Database::Internal.
Definition at line 460 of file honey_database.cc.
References HoneyTable::close(), docdata_table, position_table, postlist_table, spelling_table, synonym_table, and termlist_table.
|
static |
Definition at line 2168 of file honey_compact.cc.
References add_overflows(), Assert, HoneyTable::commit(), HoneyTable::create_and_open(), Xapian::DB_BACKEND_GLASS, Xapian::DB_DANGEROUS, Xapian::DBCOMPACT_MULTIPASS, Xapian::DBCOMPACT_SINGLE_FILE, Honey::DOCDATA, file_size(), HoneyTable::flush_db(), Honey::RootInfo::get_free_list(), GlassTable::get_path(), HoneyTable::get_path(), GlassDatabase::has_uncommitted_changes(), has_uncommitted_changes(), HONEY_MIN_DB_SIZE, HONEY_TABLE_EXTENSION, HONEY_VERSION_MAX_SIZE, FlintLock::lock(), HoneyCompact::merge_docid_keyed(), HoneyCompact::merge_positions(), HoneyCompact::merge_postlists(), HoneyCompact::merge_spellings(), GlassVersion::merge_stats(), HoneyCompact::merge_synonyms(), HoneyCompact::multimerge_postlists(), O_BINARY, O_CLOEXEC, HoneyTable::open(), Xapian::Remote::open(), HoneyFreeList::pack(), Honey::POSITION, Honey::POSTLIST, FlintLock::release(), HoneyFreeList::set_first_unused_block(), Honey::RootInfo::set_free_list(), Honey::RootInfo::set_offset(), Xapian::Compactor::set_status(), single_file(), Honey::SPELLING, Xapian::Internal::str(), FlintLock::SUCCESS, HoneyTable::sync(), Honey::SYNONYM, Honey::TERMLIST, FlintLock::throw_databaselockerror(), and GlassDatabase::version_file.
Referenced by Xapian::Database::compact_().
|
virtual |
Get backend information about this database.
| path | If non-NULL, and set the pointed to string to the file path of this database (or to some string describing the database in a backend-specified format if "path" isn't a concept which makes sense). |
Implements Xapian::Database::Internal.
Definition at line 490 of file honey_database.cc.
References BACKEND_HONEY, and path.
|
virtual |
Return a string describing this object.
Implements Xapian::Database::Internal.
Definition at line 518 of file honey_database.cc.
References path.
|
virtual |
Implements Xapian::Database::Internal.
Definition at line 116 of file honey_database.cc.
References HoneyVersion::get_doccount(), and version_file.
Referenced by HoneyTermList::accumulate_stats(), open_leaf_post_list(), and term_exists().
|
virtual |
Implements Xapian::Database::Internal.
Definition at line 134 of file honey_database.cc.
References Assert, Honey::DocLenChunkReader::back(), doclen_chunk_reader, doclen_cursor, Honey::DocLenChunkReader::find_doclength(), HoneyCursor::find_entry_ge(), Honey::DocLenChunkReader::get_doclength(), HoneyVersion::get_last_docid(), get_postlist_cursor(), Honey::make_doclenchunk_key(), Xapian::Internal::str(), Honey::DocLenChunkReader::update(), usual, and version_file.
Referenced by open_document(), and open_term_list().
|
virtual |
Get a lower bound on the length of a document in this DB.
Implements Xapian::Database::Internal.
Definition at line 210 of file honey_database.cc.
References HoneyVersion::get_doclength_lower_bound(), and version_file.
|
virtual |
Get an upper bound on the length of a document in this DB.
Implements Xapian::Database::Internal.
Definition at line 216 of file honey_database.cc.
References HoneyVersion::get_doclength_upper_bound(), and version_file.
|
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) |
Implements Xapian::Database::Internal.
Definition at line 184 of file honey_database.cc.
References HoneyPostListTable::get_freqs(), postlist_table, and term.
Referenced by HoneyTermList::get_termfreq().
|
virtual |
Return the last used document id of this (sub) database.
Implements Xapian::Database::Internal.
Definition at line 122 of file honey_database.cc.
References HoneyVersion::get_last_docid(), and version_file.
Referenced by open_leaf_post_list().
|
virtual |
Get the metadata associated with a given key.
See Database::get_metadata() for more information.
Reimplemented from Xapian::Database::Internal.
Definition at line 430 of file honey_database.cc.
References HoneyPostListTable::get_metadata(), and postlist_table.
|
inline |
Definition at line 403 of file honey_database.h.
References HoneyTable::cursor_get(), and postlist_table.
Referenced by get_doclength().
|
virtual |
Get the current revision of the database.
Reimplemented from Xapian::Database::Internal.
Definition at line 478 of file honey_database.cc.
References HoneyVersion::get_revision(), and version_file.
|
virtual |
Return the number of times word was added as a spelling.
Reimplemented from Xapian::Database::Internal.
Definition at line 367 of file honey_database.cc.
References HoneySpellingTable::get_word_frequency(), and spelling_table.
|
virtual |
Return the total length of all documents in this database.
Implements Xapian::Database::Internal.
Definition at line 128 of file honey_database.cc.
References HoneyVersion::get_total_doclen(), and version_file.
|
virtual |
Get the number of unique terms in document.
| did | The document id of the document to return this value for. |
Implements Xapian::Database::Internal.
Definition at line 164 of file honey_database.cc.
References Assert, and HoneyTermList.
|
virtual |
Get a lower bound on the unique terms size of a document in this DB.
Reimplemented from Xapian::Database::Internal.
Definition at line 239 of file honey_database.cc.
References HoneyVersion::get_unique_terms_lower_bound(), and version_file.
|
virtual |
Get an upper bound on the unique terms size of a document in this DB.
Reimplemented from Xapian::Database::Internal.
Definition at line 245 of file honey_database.cc.
References HoneyVersion::get_unique_terms_upper_bound(), and version_file.
|
virtual |
Find lowest and highest docids actually in use.
Only used by compaction, so only needs to be implemented by backends which support compaction.
Reimplemented from Xapian::Database::Internal.
Definition at line 498 of file honey_database.cc.
References HoneyVersion::get_doccount(), HoneyVersion::get_last_docid(), HoneyPostListTable::get_used_docid_range(), postlist_table, and version_file.
|
virtual |
Get a UUID for the database.
The UUID will persist for the lifetime of the database.
Replicas (eg, made with the replication protocol, or by copying all the database files) will have the same UUID. However, copies (made with copydatabase, or xapian-compact) will have different UUIDs.
If the backend does not support UUIDs the empty string is returned.
Reimplemented from Xapian::Database::Internal.
Definition at line 484 of file honey_database.cc.
References HoneyVersion::get_uuid_string(), and version_file.
|
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. |
| UnimplementedError | The frequency of the value isn't available for this database type. |
Implements Xapian::Database::Internal.
Definition at line 192 of file honey_database.cc.
References HoneyValueManager::get_value_freq(), and value_manager.
|
virtual |
Get a lower bound on the values stored in the given value slot.
If the lower bound isn't available for the given database type, this will return the lowest possible bound - the empty string.
| slot | The value slot to examine. |
Implements Xapian::Database::Internal.
Definition at line 198 of file honey_database.cc.
References HoneyValueManager::get_value_lower_bound(), and value_manager.
|
virtual |
Get an upper bound on the values stored in the given value slot.
| slot | The value slot to examine. |
| UnimplementedError | The upper bound of the values isn't available for this database type. |
Implements Xapian::Database::Internal.
Definition at line 204 of file honey_database.cc.
References HoneyValueManager::get_value_upper_bound(), and value_manager.
|
virtual |
Get an upper bound on the wdf of term term.
Implements Xapian::Database::Internal.
Definition at line 222 of file honey_database.cc.
References HoneyVersion::get_wdf_upper_bound(), HoneyPostListTable::get_wdf_upper_bound(), postlist_table, term, usual, and version_file.
|
virtual |
Get the max wdf in document.
| did | The document id of the document to return this value for. |
Implements Xapian::Database::Internal.
Definition at line 171 of file honey_database.cc.
References Assert, HoneyTermList::get_wdf(), and HoneyTermList::next().
|
virtual |
Check whether this database contains any positional information.
Implements Xapian::Database::Internal.
Definition at line 259 of file honey_database.cc.
References HoneyTable::empty(), and position_table.
|
inline |
Definition at line 395 of file honey_database.h.
Referenced by compact().
|
virtual |
Implements Xapian::Database::Internal.
Definition at line 327 of file honey_database.cc.
References HoneyAllTermsList.
|
virtual |
Open a handle on a document.
The returned handle provides access to document data and document values.
| did | The document id to open. |
| lazy | If true, there's no need to check that this document actually exists (only a hint - the backend may still check). Used to avoid unnecessary work when we already know that the requested document exists. |
Implements Xapian::Database::Internal.
Definition at line 339 of file honey_database.cc.
References Assert, docdata_table, get_doclength(), and value_manager.
|
virtual |
Create a LeafPostList for use during a match.
| term | The term to open a postlist for, or the empty string to create an all-docs postlist. |
| need_read_pos | Does the postlist need to support read_position_list()? Note that open_position_list() may still be called even if need_read_pos is false. |
Implements Xapian::Database::Internal.
Definition at line 271 of file honey_database.cc.
References Assert, get_doccount(), get_lastdocid(), HoneyPostListTable::open_post_list(), postlist_table, rare, and term.
Referenced by open_post_list().
|
virtual |
Open a termlist returning each metadata key.
Only metadata keys which are associated with a non-empty value will be returned.
| prefix | If non-empty, only keys with this prefix are returned. |
Reimplemented from Xapian::Database::Internal.
Definition at line 436 of file honey_database.cc.
References Assert, HoneyTable::cursor_get(), and postlist_table.
|
virtual |
Implements Xapian::Database::Internal.
Definition at line 333 of file honey_database.cc.
References HoneyPositionTable::open_position_list(), position_table, and term.
Referenced by HoneyTermList::positionlist_begin().
|
virtual |
Return a PostList suitable for use in a PostingIterator.
Implements Xapian::Database::Internal.
Definition at line 265 of file honey_database.cc.
References open_leaf_post_list(), and term.
|
virtual |
Create a termlist tree from trigrams of word.
You can assume word.size() > 1.
If there are no trigrams, returns NULL.
Reimplemented from Xapian::Database::Internal.
Definition at line 350 of file honey_database.cc.
References HoneySpellingTable::open_termlist(), and spelling_table.
|
virtual |
Return a termlist which returns the words which are spelling correction targets.
If there are no spelling correction targets, returns NULL.
Reimplemented from Xapian::Database::Internal.
Definition at line 356 of file honey_database.cc.
References HoneyTable::cursor_get(), HoneySpellingWordsList, rare, and 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 Xapian::Database::Internal.
Definition at line 396 of file honey_database.cc.
References HoneyTable::cursor_get(), HoneySynonymTermList, rare, and synonym_table.
|
virtual |
Open a termlist returning synonyms for a term.
If term has no synonyms, returns NULL.
Reimplemented from Xapian::Database::Internal.
Definition at line 390 of file honey_database.cc.
References HoneySynonymTable::open_termlist(), synonym_table, and term.
|
virtual |
Implements Xapian::Database::Internal.
Definition at line 296 of file honey_database.cc.
References Assert, get_doclength(), HoneyTermList, HoneyTable::is_open(), HoneyTermList::size(), termlist_table, and throw_termlist_table_close_exception().
Referenced by open_term_list_direct().
|
virtual |
Like open_term_list() but without MultiTermList wrapper.
MultiDatabase::open_term_list() wraps the returns TermList in a MultiTermList, but we don't want that for query expansion.
Implements Xapian::Database::Internal.
Definition at line 320 of file honey_database.cc.
References open_term_list().
|
virtual |
Open a value stream.
This returns the value in a particular slot for each document.
| slot | The value slot. |
Reimplemented from Xapian::Database::Internal.
Definition at line 290 of file honey_database.cc.
|
privatedelete |
Don't allow assignment.
|
virtual |
Reimplemented from Xapian::Database::Internal.
Definition at line 109 of file honey_database.cc.
References query().
|
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 381 of file honey_database.cc.
|
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 415 of file honey_database.cc.
References term.
|
virtual |
Reopen the database to the latest available revision.
Database backends which don't support simultaneous update and reading probably don't need to do anything here.
Reimplemented from Xapian::Database::Internal.
Definition at line 452 of file honey_database.cc.
References HoneyTable::is_open(), postlist_table, and HoneyTable::throw_database_closed().
|
virtual |
Request a document.
This tells the database that we're going to want a particular document soon. It's just a hint which the backend may ignore, but for glass it issues a preread hint on the file with the document data in, and for the remote backend it might cause the document to be fetched asynchronously (this isn't currently implemented though).
It can be called for multiple documents in turn, and a common usage pattern would be to iterate over an MSet and request the documents, then iterate over it again to actually get and display them.
The default implementation is a no-op.
Reimplemented from Xapian::Database::Internal.
Definition at line 471 of file honey_database.cc.
References Assert.
|
virtual |
Set the metadata associated with a given key.
See WritableDatabase::set_metadata() for more information.
Reimplemented from Xapian::Database::Internal.
Definition at line 444 of file honey_database.cc.
|
inline |
Definition at line 399 of file honey_database.h.
Referenced by compact().
|
virtual |
Implements Xapian::Database::Internal.
Definition at line 251 of file honey_database.cc.
References get_doccount(), postlist_table, term, and HoneyPostListTable::term_exists().
|
private |
Definition at line 42 of file honey_database.cc.
References HoneyTable::throw_database_closed().
Referenced by open_term_list().
|
friend |
Definition at line 49 of file honey_database.h.
Referenced by open_allterms().
|
friend |
Definition at line 50 of file honey_database.h.
|
friend |
Definition at line 51 of file honey_database.h.
|
friend |
Definition at line 52 of file honey_database.h.
Referenced by open_spelling_wordlist().
|
friend |
Definition at line 53 of file honey_database.h.
Referenced by open_synonym_keylist().
|
friend |
Definition at line 54 of file honey_database.h.
Referenced by get_unique_terms(), and open_term_list().
|
private |
Definition at line 68 of file honey_database.h.
Referenced by close(), HoneyDatabase(), and open_document().
|
mutableprivate |
Definition at line 82 of file honey_database.h.
Referenced by get_doclength().
|
mutableprivate |
Definition at line 84 of file honey_database.h.
Referenced by get_doclength(), and ~HoneyDatabase().
|
private |
Path of the directory.
Definition at line 63 of file honey_database.h.
Referenced by get_backend_info(), GlassDatabase::get_backend_info(), and get_description().
|
private |
Definition at line 72 of file honey_database.h.
Referenced by close(), has_positions(), HoneyDatabase(), HoneyPostList::open_position_list(), open_position_list(), and HoneyTermList::positionlist_count().
|
private |
Definition at line 70 of file honey_database.h.
Referenced by close(), get_freqs(), get_metadata(), get_postlist_cursor(), get_used_docid_range(), get_wdf_upper_bound(), HoneyDatabase(), open_leaf_post_list(), open_metadata_keylist(), reopen(), and term_exists().
|
mutableprivate |
Definition at line 74 of file honey_database.h.
Referenced by close(), get_spelling_frequency(), HoneyDatabase(), open_spelling_termlist(), and open_spelling_wordlist().
|
private |
Definition at line 76 of file honey_database.h.
Referenced by close(), HoneyDatabase(), open_synonym_keylist(), and open_synonym_termlist().
|
private |
Definition at line 78 of file honey_database.h.
Referenced by close(), HoneyDatabase(), HoneyTermList::HoneyTermList(), and open_term_list().
|
private |
Definition at line 80 of file honey_database.h.
Referenced by get_value_freq(), get_value_lower_bound(), get_value_upper_bound(), and open_document().
|
private |
Version file ("iamhoney").
Definition at line 66 of file honey_database.h.
Referenced by get_doccount(), get_doclength(), get_doclength_lower_bound(), get_doclength_upper_bound(), get_lastdocid(), get_revision(), get_total_length(), get_unique_terms_lower_bound(), get_unique_terms_upper_bound(), get_used_docid_range(), get_uuid(), get_wdf_upper_bound(), and HoneyDatabase().