MySQL 8.0.29
Source Code Documentation
interesting_orders.cc File Reference
#include "sql/join_optimizer/interesting_orders.h"
#include <algorithm>
#include <functional>
#include <type_traits>
#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/print_utils.h"
#include "sql/parse_tree_nodes.h"
#include "sql/sql_class.h"

Namespaces

namespace  anonymous_namespace{interesting_orders.cc}
 

Functions

template<class T >
Bounds_checked_array< T > anonymous_namespace{interesting_orders.cc}::DuplicateArray (THD *thd, Bounds_checked_array< T > array)
 
bool anonymous_namespace{interesting_orders.cc}::OrderingsAreEqual (Ordering a, Ordering b)
 
bool IsGrouping (Ordering ordering)
 
static bool Contains (Ordering prefix, ItemHandle item)
 Does the element already exist in given ordering? Unlike ImpliedByEarlierElements, only counts literal item duplicates, not items that are redundant due to functional dependencies. More...
 
static void DeduplicateOrdering (Ordering *ordering)
 Remove duplicate entries from an ordering, in-place. More...
 

Variables

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

Function Documentation

◆ Contains()

static bool Contains ( Ordering  prefix,
ItemHandle  item 
)
static

Does the element already exist in given ordering? Unlike ImpliedByEarlierElements, only counts literal item duplicates, not items that are redundant due to functional dependencies.

◆ DeduplicateOrdering()

static void DeduplicateOrdering ( Ordering ordering)
static

Remove duplicate entries from an ordering, in-place.

◆ IsGrouping()

bool IsGrouping ( Ordering  ordering)