MySQL  8.0.18
Source Code Documentation
ORDER Struct Reference

Order clause list element. More...

#include <table.h>

Inheritance diagram for ORDER:
PT_order_expr

Public Attributes

ORDERnext
 
Item ** item
 Points at the item in the select fields. More...
 
Itemitem_ptr
 
enum_order direction
 
bool in_field_list
 
bool used_alias
 Tells whether this ORDER element was referenced with an alias or with an expression, in the query: SELECT a AS foo GROUP BY foo: true. More...
 
Fieldfield_in_tmp_table
 When GROUP BY is implemented with a temporary table (i.e. More...
 
char * buff
 
table_map used
 
table_map depend_map
 
bool is_position
 
bool is_explicit
 

Detailed Description

Order clause list element.

Member Data Documentation

◆ buff

char* ORDER::buff

◆ depend_map

table_map ORDER::depend_map

◆ direction

enum_order ORDER::direction

◆ field_in_tmp_table

Field* ORDER::field_in_tmp_table

When GROUP BY is implemented with a temporary table (i.e.

the table takes care to store only unique group rows, table->group != nullptr), each GROUP BY expression is stored in a column of the table, which is 'field_in_tmp_table'. Such field may point into table->record[0] (if we only use it to get its value from a tmp table's row), or into 'buff' (if we use it to do index lookup into the tmp table).

◆ in_field_list

bool ORDER::in_field_list

◆ is_explicit

bool ORDER::is_explicit

◆ is_position

bool ORDER::is_position

◆ item

Item** ORDER::item

Points at the item in the select fields.

Note that this means that after resolving, it points into a slice (see JOIN::ref_items), even though the item is not of type Item_ref!

◆ item_ptr

Item* ORDER::item_ptr

◆ next

ORDER* ORDER::next

◆ used

table_map ORDER::used

◆ used_alias

bool ORDER::used_alias

Tells whether this ORDER element was referenced with an alias or with an expression, in the query: SELECT a AS foo GROUP BY foo: true.

SELECT a AS foo GROUP BY a: false.


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