MySQL 9.0.0
Source Code Documentation
interesting_orders.cc File Reference
#include "sql/join_optimizer/interesting_orders.h"
#include <algorithm>
#include <bit>
#include <cstddef>
#include <functional>
#include <type_traits>
#include "map_helpers.h"
#include "my_hash_combine.h"
#include "my_pointer_arithmetic.h"
#include "sql/item.h"
#include "sql/item_func.h"
#include "sql/item_sum.h"
#include "sql/join_optimizer/bit_utils.h"
#include "sql/join_optimizer/optimizer_trace.h"
#include "sql/join_optimizer/print_utils.h"
#include "sql/mem_root_array.h"
#include "sql/parse_tree_nodes.h"
#include "sql/sql_array.h"
#include "sql/sql_class.h"
#include "sql/sql_executor.h"

Classes

class  OrderingElementsGuard
 A scope-guard class for allocating an Ordering::Elements instance which is automatically returned to the pool when we exit the scope of the OrderingElementsGuard instance. More...
 
struct  anonymous_namespace{interesting_orders.cc}::DFSMStateHash< DFSMState >
 
struct  anonymous_namespace{interesting_orders.cc}::DFSMStateEqual< DFSMState >
 
class  LogicalOrderings::OrderWithElementInserted
 Given an order O and a functional dependency FD: S → x where S is a subset of O, create new orderings by inserting x into O at different positions, and add those to the set of orderings if they could become interesting (. More...
 

Namespaces

namespace  anonymous_namespace{interesting_orders.cc}
 

Functions

bool anonymous_namespace{interesting_orders.cc}::Contains (Ordering::Elements elements, int item)
 Check if 'elements' contains 'item'. More...
 
static void FindAllReachable (Bounds_checked_array< bool * > reachable)
 

Variables

constexpr int anonymous_namespace{interesting_orders.cc}::kMaxNFSMStates = 200
 
constexpr int anonymous_namespace{interesting_orders.cc}::kMaxDFSMStates = 2000
 

Function Documentation

◆ FindAllReachable()

static void FindAllReachable ( Bounds_checked_array< bool * >  reachable)
static