xapian-core  2.0.0
Namespaces | Functions
databaseinternal.cc File Reference

Virtual base class for Database internals. More...

#include <config.h>
#include "databaseinternal.h"
#include "api/termlist.h"
#include "heap.h"
#include "omassert.h"
#include "postlist.h"
#include "slowvaluelist.h"
#include "stringutils.h"
#include "xapian/error.h"
#include <algorithm>
#include <limits>
#include <memory>
#include <string>
#include <string_view>
+ Include dependency graph for databaseinternal.cc:

Go to the source code of this file.

Namespaces

 Xapian
 The Xapian namespace contains public interfaces for the Xapian library.
 

Functions

static void Xapian::invalid_operation (const char *msg)
 
static void Xapian::reconstruct_open_poslists (TermList *termlist, Xapian::termpos start_pos, Xapian::termpos end_pos, string_view end, vector< unique_ptr< Pos >> &heap, size_t prefix_size=0)
 

Detailed Description

Virtual base class for Database internals.

Definition in file databaseinternal.cc.

Variable Documentation

◆ p

PositionList* p
private

Definition at line 437 of file databaseinternal.cc.

Referenced by RemoteDatabase::accumulate_remote_stats(), HoneyTable::add(), GlassTable::add(), Xapian::QueryParser::Internal::add_boolean_prefix(), GlassTable::add_branch_item(), RemoteDatabase::add_document(), GlassTable::add_item_to_branch(), GlassTable::add_item_to_leaf(), GlassTable::add_kt(), GlassTable::add_leaf_item(), InMemoryPosting::add_position(), InMemoryTermEntry::add_position(), InMemoryDoc::add_posting(), InMemoryTerm::add_posting(), Xapian::Internal::Context::add_postlist(), Xapian::Internal::AndContext::add_postlist(), Xapian::QueryParser::Internal::add_prefix(), GlassSynonymTable::add_synonym(), HoneySynonymTable::add_synonym(), HoneySpellingTable::add_word(), GlassSpellingTable::add_word(), Xapian::append_escaping_xml(), GlassDatabase::apply(), Uuid::assign(), Xapian::Utf8Iterator::assign(), Glass::ValueChunkReader::assign(), Honey::ValueChunkReader::assign(), assign_to(), backend_name(), GlassTableCheck::block_check(), GlassTable::block_to_cursor(), GlassTableCheck::block_usage(), Xapian::build_termlist_tree(), edist_state< Char >::calc_index(), Xapian::Utf8Iterator::calculate_sequence_length(), GlassChanges::check(), check_db_table(), check_glass_table(), check_sparse_uid_terms(), Xapian::Internal::closefrom(), GlassFreeList::commit(), HoneyFreeList::commit(), GlassTable::compact(), Xapian::Database::compact_(), Xapian::Weight::create(), Xapian::BoolWeight::create_from_parameters(), Xapian::TfIdfWeight::create_from_parameters(), Xapian::BM25Weight::create_from_parameters(), Xapian::BM25PlusWeight::create_from_parameters(), Xapian::InL2Weight::create_from_parameters(), Xapian::IfB2Weight::create_from_parameters(), Xapian::IneB2Weight::create_from_parameters(), Xapian::BB2Weight::create_from_parameters(), Xapian::DLHWeight::create_from_parameters(), Xapian::PL2Weight::create_from_parameters(), Xapian::PL2PlusWeight::create_from_parameters(), Xapian::DPHWeight::create_from_parameters(), Xapian::LMJMWeight::create_from_parameters(), Xapian::LMDirichletWeight::create_from_parameters(), Xapian::LMAbsDiscountWeight::create_from_parameters(), Xapian::LM2StageWeight::create_from_parameters(), Xapian::CoordWeight::create_from_parameters(), Xapian::DiceWeight::create_from_parameters(), create_s(), dbcheck(), decode(), decode_delta_chunk_header(), decode_delta_chunk_header_no_wdf(), decode_initial_chunk_header(), decode_initial_chunk_header_freqs(), Xapian::decode_xxy(), CompressionStream::decompress_chunk(), DEFINE_TESTCASE(), GlassTable::delete_branch_item(), InMemoryDatabase::delete_document(), HoneyValueManager::delete_document(), GlassValueManager::delete_document(), GlassTable::delete_leaf_item(), HoneyCursor::do_find(), Xapian::SmallVector_::do_free(), do_read(), do_write(), Honey::docid_from_key(), Glass::docid_from_key(), Xapian::Weight::Internal::double_param(), Xapian::SnipPipe::drain(), edist_state< Char >::edist_calc_f_kp(), Xapian::Document::Internal::ensure_terms_fetched(), eq_v(), eq_v_b(), Xapian::Vec< T, COW, UNIQUEPTR, typename >::erase(), escape_xml(), GlassTable::find(), GlassTable::find_in_branch(), find_in_branch_(), GlassTable::find_in_leaf(), Xapian::format_int_fixed_width(), Xapian::format_yyyymmdd(), GlassValueManager::get_all_values(), HoneyValueManager::get_all_values(), get_b_utf8(), GlassFreeList::get_block(), HoneyFreeList::get_block(), HoneyCompact::PostlistCursor< const GlassTable & >::DoclenEncoder::get_chunk(), GlassValueManager::get_chunk_containing_did(), RemoteDatabase::get_doclength(), HoneyTable::get_exact_entry(), edist_state< Char >::get_f_kp(), HoneyPostListTable::get_freqs(), RemoteDatabase::get_freqs(), GlassPostListTable::get_freqs(), RemoteConnection::get_message(), RemoteConnection::get_message_chunked(), RemoteDatabase::get_mset(), Xapian::DatabaseReplica::Internal::get_replica_path(), test_driver::get_srcdir(), GlassSpellingWordsList::get_termfreq(), HoneySpellingWordsList::get_termfreq(), RemoteDatabase::get_unique_terms(), GlassPostListTable::get_used_docid_range(), get_utf8(), VectorTermList::get_wdf(), HoneyPostListTable::get_wdf_upper_bound(), RemoteDatabase::get_wdfdocmax(), GlassSpellingTable::get_word_frequency(), HoneySpellingTable::get_word_frequency(), GlassWritableDatabase::GlassWritableDatabase(), gnu_getopt_internal_(), HoneyPostList::HoneyPostList(), increase_size(), PerfTestLogger::indexing_begin(), insert_v(), io_pread(), io_pwrite(), io_read(), io_read_block(), io_write(), io_write_block(), is_ngram_enabled(), is_unbroken_script(), is_unbroken_wordchar(), keyword(), keyword2(), Xapian::Utf8Iterator::left(), len_utf8(), lose_s(), main(), make_ordecay_db(), make_sparse_db(), GlassFreeList::mark_block_unused(), HoneyFreeList::mark_block_unused(), HoneyCompact::merge_docid_keyed(), GlassCompact::merge_postlists(), HoneyCompact::merge_postlists(), Xapian::ValueCountMatchSpy::merge_results(), GlassCompact::merge_spellings(), HoneyCompact::merge_spellings(), GlassTable::mid_point(), GlassDatabase::modifications_failed(), RemoteServer::msg_addspelling(), RemoteServer::msg_addsynonym(), RemoteServer::msg_deletedocument(), RemoteServer::msg_doclength(), RemoteServer::msg_document(), RemoteServer::msg_positionlist(), RemoteServer::msg_positionlistcount(), RemoteServer::msg_query(), RemoteServer::msg_reconstructtext(), RemoteServer::msg_removespelling(), RemoteServer::msg_removesynonym(), RemoteServer::msg_replacedocument(), RemoteServer::msg_replacedocumentterm(), RemoteServer::msg_requestdocument(), RemoteServer::msg_setmetadata(), RemoteServer::msg_termlist(), RemoteServer::msg_uniqueterms(), RemoteServer::msg_valuestats(), RemoteServer::msg_wdfdocmax(), RemoteServer::msg_writeaccess(), VectorTermList::next(), GlassAllTermsList::next(), GlassCompact::PostlistCursor::next(), GlassSpellingTermList::next(), Glass::ValueChunkReader::next(), HoneyAllTermsList::next(), HoneyCompact::PostlistCursor< const GlassTable & >::next(), HoneyCompact::PostlistCursor< const HoneyTable & >::next(), HoneySpellingTermList::next(), Honey::ValueChunkReader::next(), RemoteAllTermsList::next(), RemoteKeyList::next(), RemoteTermList::next(), Pos::next(), GlassTable::next_default(), GlassTable::next_for_sequential(), HoneyCursor::next_from_index(), RemoteDatabase::open_document(), RemoteDatabase::open_position_list(), RemoteDatabase::open_post_list(), GlassDatabase::open_tables(), RemoteDatabase::open_term_list(), GlassSynonymTable::open_termlist(), HoneySynonymTable::open_termlist(), Xapian::Utf8Iterator::operator!=(), Xapian::Utf8Iterator::operator*(), Xapian::Utf8Iterator::operator++(), Xapian::Utf8Iterator::operator==(), packstring1_helper(), Xapian::Weight::Internal::param_name(), test_driver::parse_command_line(), Xapian::QueryParser::Internal::parse_query(), parse_signed(), Xapian::QueryParser::Internal::parse_term(), Xapian::parse_terms(), parse_unsigned(), Pos::Pos(), RemoteDatabase::positionlist_count(), postlist_to_string(), pretty_ip6(), GlassTable::prev_default(), GlassTable::prev_for_sequential(), GlassTableCheck::print_bytes(), GlassTableCheck::print_key(), print_stemmers(), GlassTableCheck::print_tag(), Xapian::Utf8Iterator::raw(), GlassVersion::read(), HoneyVersion::read(), BufferedFile::read(), Xapian::BitReader::read_bits(), GlassTable::read_block(), HoneyTable::read_key(), GlassTable::read_root(), GlassAllTermsList::read_termfreq(), HoneyAllTermsList::read_termfreq(), RemoteDatabase::read_value_stats(), GlassTable::readahead_key(), register_object(), RemoteDatabase::remove_spelling(), GlassSynonymTable::remove_synonym(), HoneySynonymTable::remove_synonym(), HoneySpellingTable::remove_word(), GlassSpellingTable::remove_word(), RemoteDatabase::replace_document(), InMemoryDatabase::replace_document(), GlassTableCheck::report_block(), GlassTableCheck::report_block_full(), resolve_relative_path(), test_driver::runtest(), RemoteConnection::send_or_write(), GlassDatabase::send_whole_database(), seqcmp_editdist(), edist_state< Char >::set_f_kp(), skip_b_utf8(), HoneyAllTermsList::skip_to(), RemoteAllTermsList::skip_to(), RemoteKeyList::skip_to(), RemoteTermList::skip_to(), GlassAllTermsList::skip_to(), Glass::ValueChunkReader::skip_to(), Honey::ValueChunkReader::skip_to(), skip_utf8(), slice_from_v(), slice_to(), GlassChanges::start(), Xapian::Utf8Iterator::strict_deref(), termlist_key_is_values_used(), test_chartype1(), test_packuint1(), test_refcnt1(), test_refcnt2(), test_sortableserialise1(), Xapian::Internal::QueryWildcard::test_wildcard_(), tostring(), tostring_unsigned(), GlassFLCursor::unpack(), HoneyFLCursor::unpack(), unpack_bool(), unpack_string(), unpack_string_append(), unpack_string_preserving_sort(), unpack_throw_serialisation_error(), unpack_uint(), unpack_uint_backwards(), unpack_uint_last(), unpack_uint_preserving_sort(), Glass::RootInfo::unserialise(), Honey::RootInfo::unserialise(), Xapian::Query::Internal::unserialise(), Xapian::MSet::Internal::unserialise(), Xapian::GreatCircleMetric::unserialise(), Xapian::ValueWeightPostingSource::unserialise(), Xapian::ValueMapPostingSource::unserialise(), Xapian::FixedWeightPostingSource::unserialise(), Xapian::MultiValueKeyMaker::unserialise(), Xapian::ValueCountMatchSpy::unserialise(), Xapian::Query::unserialise(), unserialise_document(), unserialise_double(), unserialise_error(), unserialise_rset(), GlassVersion::unserialise_stats(), HoneyVersion::unserialise_stats(), unserialise_stats(), Xapian::LatLongDistancePostingSource::unserialise_with_registry(), Honey::ValueUpdater::update(), RemoteDatabase::update_stats(), GlassFreeList::walk(), HoneyFreeList::walk(), BufferedFile::write(), write_all(), GlassChanges::write_block(), and GlassTable::write_block().

◆ pos

Xapian::termpos pos
private

Definition at line 435 of file databaseinternal.cc.

Referenced by InMemoryPosting::add_position(), InMemoryTermEntry::add_position(), TermGroup::as_group(), Term::as_partial_query(), Term::as_positional_unbroken(), Terms::as_synonym_phrase_query(), Term::as_unbroken_query(), NetworkPostList::at_end(), check_glass_table(), Xapian::Internal::closefrom(), Xapian::BitReader::decode(), DEFINE_TESTCASE(), Xapian::BitWriter::encode_interpolative(), GlassPostListTable::get_chunk(), HoneyCompact::PostlistCursor< const GlassTable & >::DoclenEncoder::get_chunk(), Xapian::Internal::QueryTerm::get_description(), Xapian::Enquire::Internal::get_matching_terms_begin(), Pos::get_pos(), Term::get_query(), Term::get_query_with_synonyms(), Term::get_termpos(), GlassValueManager::get_value_stats(), HoneyValueManager::get_value_stats(), HoneyCompact::PostlistCursor< const GlassTable & >::DoclenEncoder::in_progress(), FileIndexer::index_to(), HoneyCompact::PostlistCursor< const GlassTable & >::DoclenEncoder::initialise(), Xapian::Vec< T, COW, UNIQUEPTR, typename >::insert(), main(), GlassPostListTable::merge_changes(), HoneyCompact::merge_docid_keyed(), GlassCompact::merge_postlists(), HoneyCompact::merge_postlists(), RemoteServer::msg_positionlist(), Glass::PostlistChunkReader::next(), Pos::next(), OrPositionList::next(), NetworkPostList::next(), numfromstr(), SynonymIterator::operator*(), Xapian::PositionIterator::operator++(), Xapian::QueryParser::Internal::parse_query(), Pos::Pos(), GlassPositionListTable::positionlist_count(), HoneyPositionTable::positionlist_count(), Glass::PostlistChunkReader::PostlistChunkReader(), HoneyCursor::prev(), print_stemmers(), print_table(), Xapian::Query::Query(), Xapian::Database::Internal::reconstruct_text(), serialise_document(), HoneyBasePositionList::set_data(), GlassBasePositionList::set_data(), Inverter::set_positionlist(), HoneyInverter::set_positionlist(), NetworkPostList::skip_to(), Xapian::PositionIterator::skip_to(), OrPositionList::skip_to(), NearPostList::test_doc(), PhrasePostList::test_doc(), test_if_single_file_db(), test_if_single_file_db_(), throw_database_corrupt(), Xapian::Query::Internal::unserialise(), Xapian::DecreasingValueWeightPostingSource::unserialise(), and unserialise_document().

◆ term

string term
private

Definition at line 439 of file databaseinternal.cc.

Referenced by Xapian::Weight::Internal::accumulate_stats(), Xapian::Document::add_boolean_term(), GlassWritableDatabase::add_document_(), Terms::add_positional_term(), Xapian::Document::Internal::add_posting(), Xapian::Document::add_posting(), Inverter::add_posting(), HoneyInverter::add_posting(), GlassSynonymTable::add_synonym(), HoneySynonymTable::add_synonym(), HoneyDatabase::add_synonym(), MultiDatabase::add_synonym(), Xapian::WritableDatabase::add_synonym(), GlassWritableDatabase::add_synonym(), Xapian::Document::Internal::add_term(), Xapian::Document::add_term(), TermGroup::add_term(), add_to_query(), State::add_to_stoplist(), State::add_to_unstem(), Xapian::PointType::add_weight(), Terms::as_opwindow_query(), Terms::as_synonym_phrase_query(), check_glass_table(), Xapian::check_term(), GlassSynonymTable::clear_synonyms(), HoneySynonymTable::clear_synonyms(), HoneyDatabase::clear_synonyms(), MultiDatabase::clear_synonyms(), Xapian::WritableDatabase::clear_synonyms(), GlassWritableDatabase::clear_synonyms(), Xapian::Internal::ExpandWeight::collect_stats(), Xapian::PointType::contains(), DEFINE_TESTCASE(), MultiDatabase::delete_document(), Xapian::WritableDatabase::delete_document(), HoneyInverter::delete_positionlist(), Inverter::delete_positionlist(), Honey::docid_from_key(), Xapian::Document::Internal::ensure_terms_fetched(), Xapian::ESet::Internal::expand(), Xapian::Internal::Context::expand_edit_distance(), Xapian::Internal::Context::expand_wildcard(), Inverter::flush_pos_lists(), HoneyInverter::flush_pos_lists(), Inverter::flush_post_list(), HoneyInverter::flush_post_list(), Xapian::Database::get_collection_freq(), Inverter::get_deltas(), HoneyInverter::get_deltas(), Xapian::Internal::QueryTerm::get_description(), NetworkPostList::get_description(), Xapian::Internal::ExpandTerm::get_description(), GlassDatabase::get_freqs(), GlassWritableDatabase::get_freqs(), HoneyDatabase::get_freqs(), HoneyPostListTable::get_freqs(), InMemoryDatabase::get_freqs(), RemoteDatabase::get_freqs(), GlassPostListTable::get_freqs(), EmptyDatabase::get_freqs(), MultiDatabase::get_freqs(), Xapian::Enquire::Internal::get_matching_terms_begin(), HoneyInverter::get_positionlist(), Inverter::get_positionlist(), Term::get_query(), Term::get_query_with_synonyms(), Xapian::Database::get_spelling_suggestion(), Xapian::Weight::Internal::get_stats(), Pos::get_term(), Xapian::Enquire::Internal::get_termfreq(), Xapian::Database::get_termfreq(), Xapian::MSet::get_termfreq(), Xapian::MSet::get_termweight(), Xapian::Weight::Internal::get_termweight(), Xapian::Internal::QueryTerm::get_type(), EmptyDatabase::get_wdf_upper_bound(), GlassDatabase::get_wdf_upper_bound(), HoneyDatabase::get_wdf_upper_bound(), HoneyPostListTable::get_wdf_upper_bound(), InMemoryDatabase::get_wdf_upper_bound(), MultiDatabase::get_wdf_upper_bound(), Xapian::Database::get_wdf_upper_bound(), Xapian::PointType::get_weight(), Xapian::TermGenerator::Internal::index_text(), Xapian::Weight::init_(), State::is_stopword(), main(), GlassPostListTable::make_key(), GlassPositionListTable::make_key(), HoneyPositionTable::make_key(), Honey::make_postingchunk_key(), Term::make_term(), HoneyPostListTable::merge_changes(), GlassPostListTable::merge_changes(), GlassCompact::merge_postlists(), HoneyCompact::merge_postlists(), RemoteServer::msg_addsynonym(), RemoteServer::msg_allterms(), RemoteServer::msg_collfreq(), RemoteServer::msg_freqs(), RemoteServer::msg_metadatakeylist(), RemoteServer::msg_positionlist(), RemoteServer::msg_positionlistcount(), RemoteServer::msg_postlist(), RemoteServer::msg_removesynonym(), RemoteServer::msg_synonymkeylist(), RemoteServer::msg_synonymtermlist(), RemoteServer::msg_termexists(), RemoteServer::msg_termfreq(), RemoteServer::msg_termlist(), munge_term(), GlassCompact::PositionCursor::next(), HoneyCompact::PostlistCursor< const HoneyTable & >::next(), HoneyCompact::PositionCursor< const GlassTable & >::next(), HoneyCompact::PositionCursor< const HoneyTable & >::next(), Xapian::Internal::QueryOptimiser::open_lazy_post_list(), GlassDatabase::open_leaf_post_list(), GlassWritableDatabase::open_leaf_post_list(), HoneyDatabase::open_leaf_post_list(), InMemoryDatabase::open_leaf_post_list(), NetworkPostList::open_position_list(), GlassPositionListTable::open_position_list(), GlassDatabase::open_position_list(), GlassWritableDatabase::open_position_list(), HoneyDatabase::open_position_list(), HoneyPositionTable::open_position_list(), MultiDatabase::open_position_list(), RemoteDatabase::open_position_list(), HoneyPostListTable::open_post_list(), LocalSubMatch::open_post_list(), Xapian::Internal::QueryOptimiser::open_post_list(), GlassWritableDatabase::open_post_list(), HoneyDatabase::open_post_list(), MultiDatabase::open_post_list(), RemoteDatabase::open_post_list(), GlassDatabase::open_post_list(), InMemoryDatabase::open_post_list(), GlassDatabase::open_synonym_termlist(), HoneyDatabase::open_synonym_termlist(), MultiDatabase::open_synonym_termlist(), GlassSynonymTable::open_termlist(), HoneySynonymTable::open_termlist(), Xapian::ExpandDeciderAnd::operator()(), Xapian::ExpandDeciderFilterTerms::operator()(), Xapian::ExpandDeciderFilterPrefix::operator()(), Xapian::SimpleStopper::operator()(), Xapian::StemStopper::operator()(), Xapian::TermIterator::operator++(), pack_glass_postlist_key(), pack_honey_postlist_key(), Xapian::QueryParser::Internal::parse_query(), Xapian::QueryParser::Internal::parse_term(), Xapian::parse_terms(), Xapian::Database::positionlist_begin(), GlassDatabase::positionlist_count(), GlassWritableDatabase::positionlist_count(), GlassPositionListTable::positionlist_count(), HoneyPositionTable::positionlist_count(), RemoteDatabase::positionlist_count(), Xapian::Database::postlist_begin(), Xapian::Query::Query(), HoneyRePositionList::read_data(), GlassRePositionList::read_data(), GlassDatabase::read_position_list(), GlassWritableDatabase::read_position_list(), GlassDatabase::readahead_for_query(), Xapian::reconstruct_open_poslists(), Xapian::Document::Internal::remove_posting(), Xapian::Document::remove_posting(), Inverter::remove_posting(), HoneyInverter::remove_posting(), Xapian::Document::Internal::remove_postings(), Xapian::Document::remove_postings(), GlassSynonymTable::remove_synonym(), HoneySynonymTable::remove_synonym(), HoneyDatabase::remove_synonym(), MultiDatabase::remove_synonym(), Xapian::WritableDatabase::remove_synonym(), GlassWritableDatabase::remove_synonym(), Xapian::Document::Internal::remove_term(), Xapian::Document::remove_term(), MultiDatabase::replace_document(), Xapian::WritableDatabase::replace_document(), GlassWritableDatabase::replace_document(), serialise_document(), serialise_stats(), Xapian::Weight::Internal::set_max_part(), Inverter::set_positionlist(), HoneyInverter::set_positionlist(), GlassTermListTable::set_termlist(), HoneyTermListTable::set_termlist(), Xapian::PointType::set_weight(), Xapian::should_stem(), should_stem(), show_termlist(), DocumentTermList::skip_to(), GlassSpellingTermList::skip_to(), GlassTermList::skip_to(), HoneyAllTermsList::skip_to(), HoneySpellingTermList::skip_to(), HoneySpellingWordsList::skip_to(), HoneySynonymTermList::skip_to(), HoneyTermList::skip_to(), InMemoryTermList::skip_to(), MultiAllTermsList::skip_to(), MultiTermList::skip_to(), RemoteAllTermsList::skip_to(), RemoteKeyList::skip_to(), RemoteTermList::skip_to(), OrTermList::skip_to(), Xapian::TermIterator::skip_to(), GlassAllTermsList::skip_to(), ValueCountTermList::skip_to(), StringAndFreqTermList::skip_to(), Xapian::MSet::Internal::snippet(), State::stem_term(), HoneyInverter::store_positions(), Xapian::Database::synonyms_begin(), GlassDatabase::term_exists(), GlassWritableDatabase::term_exists(), GlassPostListTable::term_exists(), HoneyDatabase::term_exists(), HoneyPostListTable::term_exists(), InMemoryDatabase::term_exists(), MultiDatabase::term_exists(), RemoteDatabase::term_exists(), Xapian::Database::term_exists(), termstats_to_string(), Xapian::Unicode::tolower(), Xapian::Unicode::toupper(), Xapian::Query::Internal::unserialise(), unserialise_document(), unserialise_stats(), Xapian::QueryParser::unstem_begin(), Inverter::update_posting(), HoneyInverter::update_posting(), and HoneyPostList::update_reader().