MySQL 8.4.0
Source Code Documentation
LogicalOrderings::OrderWithElementInserted Class Referencefinal

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...

Public Member Functions

OrderWithElementInsertedSetContext (LogicalOrderings *context)
 
OrderWithElementInsertedSetStateIdx (int state_idx)
 
OrderWithElementInsertedSetFdIdx (int fd_idx)
 
OrderWithElementInsertedSetOldOrdering (Ordering old_ordering)
 
OrderWithElementInsertedSetStartPoint (size_t start_point)
 
OrderWithElementInsertedSetItemToAdd (ItemHandle item_to_add)
 
OrderWithElementInsertedSetDirection (enum_order direction)
 
void AddPotentiallyInterestingOrders (THD *thd)
 Add any potentially interesting orders. More...
 

Private Attributes

LogicalOrderingsm_context
 The enclosing LogicalOrderings instance. More...
 
int m_state_idx
 The originator state. More...
 
int m_fd_idx
 The functional dependency with which we will extend m_old_ordering. More...
 
Ordering m_old_ordering
 The ordering to be extended. More...
 
size_t m_start_point
 The first position at which m_item_to_add. More...
 
ItemHandle m_item_to_add
 The item to add to the ordering. More...
 
enum_order m_direction
 The desired direction of the extended ordering. More...
 

Detailed Description

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 (.

See also
LogicalOrderings::CouldBecomeInterestingOrdering(Ordering ordering)).

This operation is implemented as a class to avoid an excessively long parameter list.

Member Function Documentation

◆ AddPotentiallyInterestingOrders()

void LogicalOrderings::OrderWithElementInserted::AddPotentiallyInterestingOrders ( THD thd)

Add any potentially interesting orders.

◆ SetContext()

OrderWithElementInserted & LogicalOrderings::OrderWithElementInserted::SetContext ( LogicalOrderings context)
inline

◆ SetDirection()

OrderWithElementInserted & LogicalOrderings::OrderWithElementInserted::SetDirection ( enum_order  direction)
inline

◆ SetFdIdx()

OrderWithElementInserted & LogicalOrderings::OrderWithElementInserted::SetFdIdx ( int  fd_idx)
inline

◆ SetItemToAdd()

OrderWithElementInserted & LogicalOrderings::OrderWithElementInserted::SetItemToAdd ( ItemHandle  item_to_add)
inline

◆ SetOldOrdering()

OrderWithElementInserted & LogicalOrderings::OrderWithElementInserted::SetOldOrdering ( Ordering  old_ordering)
inline

◆ SetStartPoint()

OrderWithElementInserted & LogicalOrderings::OrderWithElementInserted::SetStartPoint ( size_t  start_point)
inline

◆ SetStateIdx()

OrderWithElementInserted & LogicalOrderings::OrderWithElementInserted::SetStateIdx ( int  state_idx)
inline

Member Data Documentation

◆ m_context

LogicalOrderings* LogicalOrderings::OrderWithElementInserted::m_context
private

The enclosing LogicalOrderings instance.

◆ m_direction

enum_order LogicalOrderings::OrderWithElementInserted::m_direction
private

The desired direction of the extended ordering.

◆ m_fd_idx

int LogicalOrderings::OrderWithElementInserted::m_fd_idx
private

The functional dependency with which we will extend m_old_ordering.

◆ m_item_to_add

ItemHandle LogicalOrderings::OrderWithElementInserted::m_item_to_add
private

The item to add to the ordering.

◆ m_old_ordering

Ordering LogicalOrderings::OrderWithElementInserted::m_old_ordering
private

The ordering to be extended.

◆ m_start_point

size_t LogicalOrderings::OrderWithElementInserted::m_start_point
private

The first position at which m_item_to_add.

If ordering is needed, this must be behind the last element of the FD head.

◆ m_state_idx

int LogicalOrderings::OrderWithElementInserted::m_state_idx
private

The originator state.


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