![]()  | 
  
    MySQL 8.4.7
    
   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.