xapian-core  2.0.0
Public Member Functions | Private Member Functions | Private Attributes | List of all members
GlassWritableDatabase Class Reference

A writable glass database. More...

#include <glass_database.h>

+ Inheritance diagram for GlassWritableDatabase:
+ Collaboration diagram for GlassWritableDatabase:

Public Member Functions

 GlassWritableDatabase (std::string_view dir, int flags, int block_size)
 Create and open a writable glass database. More...
 
 ~GlassWritableDatabase ()
 
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 terms 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...
 
bool term_exists (std::string_view term) const
 
bool has_positions () const
 Check whether this database contains any positional information. More...
 
PostListopen_post_list (std::string_view term) const
 Return a PostList suitable for use in a PostingIterator. More...
 
LeafPostListopen_leaf_post_list (std::string_view term, bool need_read_pos) const
 Create a LeafPostList for use during a match. More...
 
ValueListopen_value_list (Xapian::valueno slot) const
 Open a value stream. More...
 
void read_position_list (GlassRePositionList *pos_list, Xapian::docid did, std::string_view term) const
 
Xapian::termcount positionlist_count (Xapian::docid did, std::string_view term) const
 
PositionListopen_position_list (Xapian::docid did, std::string_view term) const
 
TermListopen_allterms (std::string_view prefix) const
 
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...
 
TermListopen_spelling_wordlist () const
 Return a termlist which returns the words which are spelling correction targets. More...
 
TermListopen_synonym_keylist (std::string_view prefix) const
 Open a termlist returning each term which has synonyms. More...
 
void add_synonym (std::string_view word, std::string_view synonym) const
 Add a synonym for a term. More...
 
void remove_synonym (std::string_view word, std::string_view synonym) const
 Remove a synonym for a term. More...
 
void clear_synonyms (std::string_view word) const
 Clear all synonyms for a term. More...
 
void set_metadata (std::string_view key, std::string_view 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...
 
Xapian::Database::Internalupdate_lock (int flags)
 Lock a read-only database for writing or unlock a writable database. More...
 
- Public Member Functions inherited from GlassDatabase
 GlassDatabase (std::string_view db_dir_, int flags=Xapian::DB_READONLY_, unsigned int block_size=0u)
 Create and open a glass database. More...
 
 GlassDatabase (int fd)
 
 ~GlassDatabase ()
 
GlassCursorget_postlist_cursor () const
 Get a postlist table cursor (used by GlassValueList). 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_wdfdocmax (Xapian::docid did) const
 Get the max wdf in document. 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...
 
TermListopen_term_list (Xapian::docid did) const
 
TermListopen_term_list_direct (Xapian::docid did) const
 Like open_term_list() but without MultiTermList wrapper. More...
 
TermListopen_spelling_termlist (std::string_view word) const
 Create a termlist tree from trigrams of word. More...
 
Xapian::doccount get_spelling_frequency (std::string_view word) const
 Return the number of times word was added as a spelling. More...
 
TermListopen_synonym_termlist (std::string_view term) const
 Open a termlist returning synonyms for a term. More...
 
string get_metadata (std::string_view key) const
 Get the metadata associated with a given key. More...
 
TermListopen_metadata_keylist (std::string_view prefix) const
 Open a termlist returning each metadata key. More...
 
void write_changesets_to_fd (int fd, std::string_view start_revision, bool need_whole_db, Xapian::ReplicationInfo *info)
 Write a set of changesets to a file descriptor. More...
 
Xapian::rev get_revision () const
 Get the revision number which the tables are opened at. More...
 
string get_uuid () const
 Get a UUID for the database. More...
 
void request_document (Xapian::docid) const
 Request a document. More...
 
void readahead_for_query (const Xapian::Query &query) const
 
void throw_termlist_table_close_exception () const
 
int get_backend_info (string *path) const
 Get backend information about this database. More...
 
bool single_file () const
 
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...
 
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 termcount get_unique_terms_upper_bound () const
 Get an upper bound on the unique terms size of a document in this DB. More...
 
virtual void begin_transaction (bool flushed)
 Begin transaction. More...
 
virtual void end_transaction (bool do_commit)
 End transaction. More...
 
virtual void delete_document (std::string_view unique_term)
 Delete any documents indexed by a term from the database. More...
 
virtual docid replace_document (std::string_view unique_term, const Document &document)
 Replace any documents matching a term. 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...
 

Private Member Functions

void check_flush_threshold ()
 Check if we should autoflush. More...
 
void flush_postlist_changes ()
 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 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)
 
Xapian::docid add_document_ (Xapian::docid did, const Xapian::Document &document)
 
void delete_document (Xapian::docid did)
 
void replace_document (Xapian::docid did, const Xapian::Document &document)
 
Xapian::Document::Internalopen_document (Xapian::docid did, bool lazy) const
 Open a handle on a document. More...
 

Private Attributes

Inverter inverter
 
std::map< Xapian::valueno, ValueStatsvalue_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::Internalmodify_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

- Public Types inherited from Xapian::Database::Internal
typedef Xapian::doccount size_type
 
- Static Public Member Functions inherited from GlassDatabase
static void compact (Xapian::Compactor *compactor, const char *destdir, int fd, const std::vector< const Xapian::Database::Internal * > &sources, const std::vector< Xapian::docid > &offset, unsigned 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_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...
 

Detailed Description

A writable glass database.

Definition at line 341 of file glass_database.h.

Constructor & Destructor Documentation

◆ GlassWritableDatabase()

GlassWritableDatabase::GlassWritableDatabase ( std::string_view  dir,
int  flags,
int  block_size 
)

Create and open a writable glass database.

Exceptions
Xapian::DatabaseOpeningErrorthrown if database can't be opened.
Xapian::DatabaseVersionErrorthrown if database is in an unsupported format. This implies that the database was created by an older or newer version of Xapian.
Parameters
dirdirectory holding glass tables

Definition at line 1068 of file glass_database.cc.

References flush_threshold, LOGCALL_CTOR, p, and parse_unsigned().

◆ ~GlassWritableDatabase()

GlassWritableDatabase::~GlassWritableDatabase ( )

Definition at line 1089 of file glass_database.cc.

References Xapian::Database::Internal::dtor_called(), and LOGCALL_DTOR.

Member Function Documentation

◆ add_document()

Xapian::docid GlassWritableDatabase::add_document ( const Xapian::Document document)
privatevirtual

◆ add_document_()

Xapian::docid GlassWritableDatabase::add_document_ ( Xapian::docid  did,
const Xapian::Document document 
)
private

◆ add_spelling()

void GlassWritableDatabase::add_spelling ( std::string_view  word,
Xapian::termcount  freqinc 
) const
virtual

Add a word to the spelling dictionary.

If the word is already present, its frequency is increased.

Parameters
wordThe word to add.
freqincHow much to increase its frequency by.

Reimplemented from Xapian::Database::Internal.

Definition at line 1666 of file glass_database.cc.

References GlassSpellingTable::add_word(), and GlassDatabase::spelling_table.

◆ add_synonym()

void GlassWritableDatabase::add_synonym ( std::string_view  term,
std::string_view  synonym 
) const
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 1694 of file glass_database.cc.

References GlassSynonymTable::add_synonym(), GlassDatabase::synonym_table, and term.

◆ apply()

void GlassWritableDatabase::apply ( )
private

◆ cancel()

void GlassWritableDatabase::cancel ( )
privatevirtual

Cancel pending modifications to the database.

Reimplemented from GlassDatabase.

Definition at line 1657 of file glass_database.cc.

References GlassDatabase::cancel(), change_count, Inverter::clear(), inverter, and value_stats.

Referenced by add_document_(), delete_document(), flush_postlist_changes(), and replace_document().

◆ check_flush_threshold()

void GlassWritableDatabase::check_flush_threshold ( )
private

Check if we should autoflush.

Called at the end of each document changing operation.

Definition at line 1105 of file glass_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().

◆ clear_synonyms()

void GlassWritableDatabase::clear_synonyms ( std::string_view  term) const
virtual

Clear all synonyms for a term.

If term has no synonyms, no action is taken.

Reimplemented from Xapian::Database::Internal.

Definition at line 1708 of file glass_database.cc.

References GlassSynonymTable::clear_synonyms(), GlassDatabase::synonym_table, and term.

◆ close()

void GlassWritableDatabase::close ( )
privatevirtual

Close all the tables permanently.

Reimplemented from GlassDatabase.

Definition at line 1135 of file glass_database.cc.

References GlassDatabase::close(), commit(), LOGCALL_VOID, and Xapian::Database::Internal::transaction_active().

Referenced by update_lock().

◆ commit()

void GlassWritableDatabase::commit ( )
privatevirtual

Implementation of virtual methods: see Database::Internal for details.

Reimplemented from Xapian::Database::Internal.

Definition at line 1096 of file glass_database.cc.

References apply(), change_count, flush_postlist_changes(), and Xapian::Database::Internal::transaction_active().

Referenced by close().

◆ delete_document()

void GlassWritableDatabase::delete_document ( Xapian::docid  did)
privatevirtual

◆ flush_postlist_changes()

void GlassWritableDatabase::flush_postlist_changes ( )
private

◆ get_doclength()

Xapian::termcount GlassWritableDatabase::get_doclength ( Xapian::docid  did) const
virtual

Virtual methods of Database::Internal.

Reimplemented from GlassDatabase.

Definition at line 1451 of file glass_database.cc.

References GlassDatabase::get_doclength(), Inverter::get_doclength(), inverter, LOGCALL, and RETURN.

Referenced by delete_document().

◆ get_freqs()

void GlassWritableDatabase::get_freqs ( std::string_view  term,
Xapian::doccount termfreq_ptr,
Xapian::termcount collfreq_ptr 
) const
virtual

Returns frequencies for a term.

Parameters
termThe term to get frequencies for
termfreq_ptrPoint to return number of docs indexed by term (or NULL not to return)
collfreq_ptrPoint to return number of occurrences of term in the database (or NULL not to return)

Reimplemented from GlassDatabase.

Definition at line 1480 of file glass_database.cc.

References Assert, Inverter::get_deltas(), GlassDatabase::get_freqs(), inverter, LOGCALL_VOID, term, and UNSIGNED_OVERFLOW_OK.

Referenced by term_exists().

◆ get_unique_terms()

Xapian::termcount GlassWritableDatabase::get_unique_terms ( Xapian::docid  did) const
virtual

Get the number of unique terms in document.

Parameters
didThe document id of the document to return this value for.

Reimplemented from GlassDatabase.

Definition at line 1461 of file glass_database.cc.

References Assert, GlassTermList::get_approx_size(), Inverter::get_doclength(), GlassDatabase::get_unique_terms(), inverter, LOGCALL, and RETURN.

◆ get_value_freq()

Xapian::doccount GlassWritableDatabase::get_value_freq ( Xapian::valueno  slot) const
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.

Parameters
slotThe value slot to examine.

Reimplemented from GlassDatabase.

Definition at line 1497 of file glass_database.cc.

References GlassDatabase::get_value_freq(), LOGCALL, RETURN, and value_stats.

◆ get_value_lower_bound()

std::string GlassWritableDatabase::get_value_lower_bound ( Xapian::valueno  slot) const
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.

Parameters
slotThe value slot to examine.

Reimplemented from GlassDatabase.

Definition at line 1507 of file glass_database.cc.

References GlassDatabase::get_value_lower_bound(), LOGCALL, RETURN, and value_stats.

◆ get_value_upper_bound()

std::string GlassWritableDatabase::get_value_upper_bound ( Xapian::valueno  slot) const
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.

Parameters
slotThe value slot to examine.

Reimplemented from GlassDatabase.

Definition at line 1517 of file glass_database.cc.

References GlassDatabase::get_value_upper_bound(), LOGCALL, RETURN, and value_stats.

◆ has_positions()

bool GlassWritableDatabase::has_positions ( ) const
virtual

Check whether this database contains any positional information.

Reimplemented from GlassDatabase.

Definition at line 1539 of file glass_database.cc.

References Inverter::has_positions(), inverter, and GlassDatabase::position_table.

◆ has_uncommitted_changes()

bool GlassWritableDatabase::has_uncommitted_changes ( ) const
virtual

◆ invalidate_doc_object()

void GlassWritableDatabase::invalidate_doc_object ( Xapian::Document::Internal obj) const
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 1727 of file glass_database.cc.

References modify_shortcut_docid, and modify_shortcut_document.

◆ open_allterms()

TermList * GlassWritableDatabase::open_allterms ( std::string_view  prefix) const
virtual

◆ open_document()

Xapian::Document::Internal * GlassWritableDatabase::open_document ( Xapian::docid  did,
bool  lazy 
) const
privatevirtual

Open a handle on a document.

The returned handle provides access to document data and document values.

Parameters
didThe document id to open.
lazyIf 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.
Returns
A new document object, owned by the caller.

Reimplemented from GlassDatabase.

Definition at line 1440 of file glass_database.cc.

References LOGCALL, modify_shortcut_docid, modify_shortcut_document, GlassDatabase::open_document(), and RETURN.

◆ open_leaf_post_list()

LeafPostList * GlassWritableDatabase::open_leaf_post_list ( std::string_view  term,
bool  need_read_pos 
) const
virtual

Create a LeafPostList for use during a match.

Parameters
termThe term to open a postlist for, or the empty string to create an all-docs postlist.
need_read_posDoes the postlist need to support read_position_list()? Note that open_position_list() may still be called even if need_read_pos is false.

Reimplemented from GlassDatabase.

Definition at line 1552 of file glass_database.cc.

References Assert, Inverter::flush_doclengths(), Inverter::flush_post_list(), GlassDatabase::get_doccount(), GlassVersion::get_last_docid(), GlassDatabase::GlassAllDocsPostList, GlassDatabase::GlassPostList, inverter, LOGCALL, GlassDatabase::postlist_table, rare, RETURN, term, and GlassDatabase::version_file.

Referenced by open_post_list().

◆ open_position_list()

PositionList * GlassWritableDatabase::open_position_list ( Xapian::docid  did,
std::string_view  term 
) const
virtual

Reimplemented from GlassDatabase.

Definition at line 1624 of file glass_database.cc.

References Assert, Inverter::get_positionlist(), inverter, GlassDatabase::open_position_list(), and term.

◆ open_post_list()

PostList * GlassWritableDatabase::open_post_list ( std::string_view  term) const
virtual

Return a PostList suitable for use in a PostingIterator.

Reimplemented from GlassDatabase.

Definition at line 1545 of file glass_database.cc.

References LOGCALL, open_leaf_post_list(), RETURN, and term.

◆ open_spelling_wordlist()

TermList * GlassWritableDatabase::open_spelling_wordlist ( ) const
virtual

Return a termlist which returns the words which are spelling correction targets.

If there are no spelling correction targets, returns NULL.

Reimplemented from GlassDatabase.

Definition at line 1680 of file glass_database.cc.

References GlassSpellingTable::merge_changes(), GlassDatabase::open_spelling_wordlist(), and GlassDatabase::spelling_table.

◆ open_synonym_keylist()

TermList * GlassWritableDatabase::open_synonym_keylist ( std::string_view  prefix) const
virtual

Open a termlist returning each term which has synonyms.

Parameters
prefixIf non-empty, only terms with this prefix are returned.

Reimplemented from GlassDatabase.

Definition at line 1687 of file glass_database.cc.

References GlassSynonymTable::merge_changes(), GlassDatabase::open_synonym_keylist(), and GlassDatabase::synonym_table.

◆ open_value_list()

ValueList * GlassWritableDatabase::open_value_list ( Xapian::valueno  slot) const
virtual

Open a value stream.

This returns the value in a particular slot for each document.

Parameters
slotThe value slot.
Returns
Pointer to a new ValueList object which should be deleted by the caller once it is no longer needed.

Reimplemented from GlassDatabase.

Definition at line 1585 of file glass_database.cc.

References change_count, LOGCALL, GlassValueManager::merge_changes(), GlassDatabase::open_value_list(), RETURN, and GlassDatabase::value_manager.

◆ positionlist_count()

Xapian::termcount GlassWritableDatabase::positionlist_count ( Xapian::docid  did,
std::string_view  term 
) const
virtual

◆ read_position_list()

void GlassWritableDatabase::read_position_list ( GlassRePositionList pos_list,
Xapian::docid  did,
std::string_view  term 
) const
virtual

◆ remove_spelling()

Xapian::termcount GlassWritableDatabase::remove_spelling ( std::string_view  word,
Xapian::termcount  freqdec 
) const
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.

Parameters
wordThe word to remove.
freqdecHow much to decrease its frequency by.
Returns
Any freqdec not "used up".

Reimplemented from Xapian::Database::Internal.

Definition at line 1673 of file glass_database.cc.

References GlassSpellingTable::remove_word(), and GlassDatabase::spelling_table.

◆ remove_synonym()

void GlassWritableDatabase::remove_synonym ( std::string_view  term,
std::string_view  synonym 
) const
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 1701 of file glass_database.cc.

References GlassSynonymTable::remove_synonym(), GlassDatabase::synonym_table, and term.

◆ replace_document()

void GlassWritableDatabase::replace_document ( Xapian::docid  did,
const Xapian::Document document 
)
privatevirtual

◆ set_metadata()

void GlassWritableDatabase::set_metadata ( std::string_view  key,
std::string_view  value 
)
virtual

Set the metadata associated with a given key.

See WritableDatabase::set_metadata() for more information.

Reimplemented from Xapian::Database::Internal.

Definition at line 1714 of file glass_database.cc.

References GlassTable::add(), GlassTable::del(), LOGCALL_VOID, and GlassDatabase::postlist_table.

◆ term_exists()

bool GlassWritableDatabase::term_exists ( std::string_view  term) const
virtual

Reimplemented from GlassDatabase.

Definition at line 1527 of file glass_database.cc.

References GlassDatabase::get_doccount(), get_freqs(), LOGCALL, RETURN, and term.

◆ update_lock()

Database::Internal * GlassWritableDatabase::update_lock ( int  flags)
virtual

Lock a read-only database for writing or unlock a writable database.

This is the internal method behind Database::lock() and Database::unlock().

In the unlocking case, the writable database is closed. In the locking case, the read-only database is left open.

Parameters
flagsXapian::DB_READONLY_ to unlock, otherwise the flags to use when opening from writing.
Returns
The new Database::Internal object (or the current object if no action is required - e.g. unlock on a read-only database).

Reimplemented from GlassDatabase.

Definition at line 1749 of file glass_database.cc.

References close(), GlassDatabase::db_dir, GlassDatabase::docdata_table, GlassDatabase::GlassDatabase(), GlassTable::is_open(), GlassDatabase::position_table, GlassDatabase::postlist_table, GlassTable::set_flags(), GlassDatabase::spelling_table, GlassDatabase::synonym_table, GlassDatabase::termlist_table, and GlassTable::throw_database_closed().

Member Data Documentation

◆ change_count

Xapian::doccount GlassWritableDatabase::change_count
mutableprivate

The number of documents added, deleted, or replaced since the last flush.

Definition at line 349 of file glass_database.h.

Referenced by cancel(), check_flush_threshold(), commit(), flush_postlist_changes(), has_uncommitted_changes(), open_allterms(), and open_value_list().

◆ flush_threshold

Xapian::doccount GlassWritableDatabase::flush_threshold
private

If change_count reaches this threshold we automatically flush.

Definition at line 352 of file glass_database.h.

Referenced by check_flush_threshold(), and GlassWritableDatabase().

◆ inverter

Inverter GlassWritableDatabase::inverter
mutableprivate

◆ modify_shortcut_docid

Xapian::docid GlassWritableDatabase::modify_shortcut_docid
mutableprivate

The document ID for the last document returned by open_document().

Definition at line 364 of file glass_database.h.

Referenced by delete_document(), invalidate_doc_object(), open_document(), and replace_document().

◆ modify_shortcut_document

Xapian::Document::Internal* GlassWritableDatabase::modify_shortcut_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 360 of file glass_database.h.

Referenced by delete_document(), invalidate_doc_object(), open_document(), and replace_document().

◆ value_stats

std::map<Xapian::valueno, ValueStats> GlassWritableDatabase::value_stats
mutableprivate

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