MySQL 8.0.40
Source Code Documentation
|
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 | |
OrderWithElementInserted & | SetContext (LogicalOrderings *context) |
OrderWithElementInserted & | SetStateIdx (int state_idx) |
OrderWithElementInserted & | SetFdIdx (int fd_idx) |
OrderWithElementInserted & | SetOldOrdering (Ordering old_ordering) |
OrderWithElementInserted & | SetStartPoint (size_t start_point) |
OrderWithElementInserted & | SetItemToAdd (ItemHandle item_to_add) |
OrderWithElementInserted & | SetDirection (enum_order direction) |
void | AddPotentiallyInterestingOrders (THD *thd) |
Add any potentially interesting orders. More... | |
Private Attributes | |
LogicalOrderings * | m_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... | |
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 (.
This operation is implemented as a class to avoid an excessively long parameter list.
void LogicalOrderings::OrderWithElementInserted::AddPotentiallyInterestingOrders | ( | THD * | thd | ) |
Add any potentially interesting orders.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
private |
The enclosing LogicalOrderings instance.
|
private |
The desired direction of the extended ordering.
|
private |
The functional dependency with which we will extend m_old_ordering.
|
private |
The item to add to the ordering.
|
private |
The ordering to be extended.
|
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.
|
private |
The originator state.