MySQL 8.0.40
Source Code Documentation
|
Checks for queries which have DISTINCT. More...
#include <aggregate_check.h>
Public Member Functions | |
Distinct_check (Query_block *select_arg) | |
Distinct_check (const Distinct_check &)=delete | |
Distinct_check & | operator= (const Distinct_check &)=delete |
bool | check_query (THD *thd) |
Rejects the query if it has a combination of DISTINCT and ORDER BY which could lead to randomly ordered results. More... | |
Private Attributes | |
Query_block *const | select |
Query block which we are validating. More... | |
Item_ident * | failed_ident |
Identifier which triggered an error. More... | |
Friends | |
bool | Item_sum::aggregate_check_distinct (uchar *arg) |
Just because we need to go through Item::walk() to reach all items to validate, some work must be delegated to "Item processors" (members of Item); this work conceptually belongs to Distinct_check, and needs privileged access to it. More... | |
bool | Item_func_grouping::aggregate_check_distinct (uchar *arg) |
bool | Item_ident::aggregate_check_distinct (uchar *arg) |
bool | Item_func_any_value::aggregate_check_distinct (uchar *arg) |
Additional Inherited Members | |
Protected Member Functions inherited from Item_tree_walker | |
Item_tree_walker () | |
~Item_tree_walker () | |
Item_tree_walker (const Item_tree_walker &)=delete | |
Item_tree_walker & | operator= (const Item_tree_walker &)=delete |
void | stop_at (const Item *i) |
Stops walking children of this item. More... | |
bool | is_stopped (const Item *i) |
Checks for queries which have DISTINCT.
|
inline |
|
delete |
|
delete |
|
friend |
|
friend |
|
friend |
|
friend |
Just because we need to go through Item::walk() to reach all items to validate, some work must be delegated to "Item processors" (members of Item); this work conceptually belongs to Distinct_check, and needs privileged access to it.
|
private |
Identifier which triggered an error.
|
private |
Query block which we are validating.