MySQL 9.1.0
Source Code Documentation
composite_iterators.cc File Reference
#include "sql/iterators/composite_iterators.h"
#include <limits.h>
#include <stdio.h>
#include <string.h>
#include <algorithm>
#include <atomic>
#include <bit>
#include <cmath>
#include <functional>
#include <limits>
#include <new>
#include <stdexcept>
#include <string_view>
#include <vector>
#include <ankerl/unordered_dense.h>
#include "field_types.h"
#include "mem_root_deque.h"
#include "my_config.h"
#include "my_dbug.h"
#include "my_inttypes.h"
#include "my_sys.h"
#include "my_xxhash.h"
#include "mysql_com.h"
#include "mysqld_error.h"
#include "prealloced_array.h"
#include "scope_guard.h"
#include "sql/debug_sync.h"
#include "sql/error_handler.h"
#include "sql/field.h"
#include "sql/handler.h"
#include "sql/immutable_string.h"
#include "sql/item.h"
#include "sql/item_func.h"
#include "sql/item_sum.h"
#include "sql/iterators/basic_row_iterators.h"
#include "sql/iterators/hash_join_buffer.h"
#include "sql/iterators/hash_join_chunk.h"
#include "sql/iterators/hash_join_iterator.h"
#include "sql/iterators/timing_iterator.h"
#include "sql/join_optimizer/access_path.h"
#include "sql/join_optimizer/materialize_path_parameters.h"
#include "sql/key.h"
#include "sql/opt_trace.h"
#include "sql/opt_trace_context.h"
#include "sql/pfs_batch_mode.h"
#include "sql/psi_memory_key.h"
#include "sql/sql_base.h"
#include "sql/sql_class.h"
#include "sql/sql_const.h"
#include "sql/sql_executor.h"
#include "sql/sql_lex.h"
#include "sql/sql_list.h"
#include "sql/sql_optimizer.h"
#include "sql/sql_show.h"
#include "sql/sql_tmp_table.h"
#include "sql/system_variables.h"
#include "sql/table.h"
#include "sql/table_function.h"
#include "sql/temp_table_param.h"
#include "sql/window.h"
#include "template_utils.h"

Classes

class  anonymous_namespace{composite_iterators.cc}::DummyIteratorProfiler
 This is a no-op class with a public interface identical to that of the IteratorProfilerImpl class. More...
 
struct  anonymous_namespace{composite_iterators.cc}::DummyIteratorProfiler::TimeStamp
 
class  anonymous_namespace{composite_iterators.cc}::ImmutableStringHasher
 Calculates a hash for an ImmutableStringWithLength so that it can be used as a key in a hash map. More...
 
class  anonymous_namespace{composite_iterators.cc}::SpillState
 Contains spill state for set operations' use of in-memory hash map. More...
 
struct  anonymous_namespace{composite_iterators.cc}::SpillState::CountPair
 For a given chunk file pair {HF, IF}, the count of rows in each chunk respectively. More...
 
class  anonymous_namespace{composite_iterators.cc}::MaterializeIterator< Profiler >
 Handles materialization; the first call to Init() will scan the given iterator to the end, store the results in a temporary table (optionally with deduplication), and then Read() will allow you to read that table repeatedly without the cost of executing the given subquery many times (unless you ask for rematerialization). More...
 
struct  anonymous_namespace{composite_iterators.cc}::MaterializeIterator< Profiler >::Invalidator
 
class  TemptableAggregateIterator< Profiler >
 Aggregates unsorted data into a temporary table, using update operations to keep running aggregates. More...
 

Namespaces

namespace  anonymous_namespace{composite_iterators.cc}
 

Typedefs

using anonymous_namespace{composite_iterators.cc}::Operands = Mem_root_array< Operand >
 
using anonymous_namespace{composite_iterators.cc}::hash_map_type = ankerl::unordered_dense::segmented_map< ImmutableStringWithLength, LinkedImmutableString, ImmutableStringHasher >
 

Functions

void anonymous_namespace{composite_iterators.cc}::reset_hash_map (hash_map_type *hash_map)
 
static bool reset_mem_root (MEM_ROOT *mem_root, bool initial=false)
 

Function Documentation

◆ reset_mem_root()

static bool reset_mem_root ( MEM_ROOT mem_root,
bool  initial = false 
)
static