23#ifndef TEMP_TABLE_PARAM_INCLUDED
24#define TEMP_TABLE_PARAM_INCLUDED
Helper class for copy_funcs(); represents an Item to copy from table to next tmp table.
Definition: temp_table_param.h:51
Item * m_func
Definition: temp_table_param.h:64
Field * m_result_field
Definition: temp_table_param.h:65
Func_ptr(Item *item, Field *result_field)
Definition: sql_tmp_table.cc:2897
int m_func_bits
Definition: temp_table_param.h:86
bool should_copy(Copy_func_type type) const
Definition: temp_table_param.h:59
Item_field * m_result_item
Definition: temp_table_param.h:79
Item_field * result_item() const
Definition: sql_tmp_table.cc:2907
Item * func() const
Definition: temp_table_param.h:55
Field * result_field() const
Definition: temp_table_param.h:57
void set_func(Item *func)
Definition: sql_tmp_table.cc:2902
Base class that is used to represent any kind of expression in a relational query.
Definition: item.h:802
Mem_root_allocator is a C++ STL memory allocator based on MEM_ROOT.
Definition: mem_root_allocator.h:67
A typesafe replacement for DYNAMIC_ARRAY.
Definition: mem_root_array.h:421
Object containing parameters used when creating and using temporary tables.
Definition: temp_table_param.h:98
bool force_copy_fields
Definition: temp_table_param.h:172
uint sum_func_count
Number of fields in the query that have aggregate functions.
Definition: temp_table_param.h:135
bool using_outer_summary_function
Enabled when we have at least one outer_sum_func.
Definition: temp_table_param.h:162
uint outer_sum_func_count
Number of outer_sum_funcs i.e the number of set functions that are aggregated in a query block outer ...
Definition: temp_table_param.h:155
Window * m_window
If this is the out table of a window: the said window.
Definition: temp_table_param.h:200
Func_ptr_array * items_to_copy
Definition: temp_table_param.h:103
bool allow_group_via_temp_table
Whether we allow running GROUP BY processing into a temporary table, i.e., keeping many different agg...
Definition: temp_table_param.h:148
bool force_hash_field_for_unique
Whether UNIQUE keys should always be implemented by way of a hidden hash field, never a unique index.
Definition: temp_table_param.h:194
bool m_window_frame_buffer
This tmp table is used for a window's frame buffer.
Definition: temp_table_param.h:197
KEY * keyinfo
After temporary table creation, points to an index on the table created depending on the purpose of t...
Definition: temp_table_param.h:110
CHARSET_INFO * table_charset
Definition: temp_table_param.h:163
uint group_null_parts
Definition: temp_table_param.h:137
uint func_count
Number of items in the query.
Definition: temp_table_param.h:126
uint group_length
Definition: temp_table_param.h:137
bool schema_table
Definition: temp_table_param.h:164
Temp_table_param(MEM_ROOT *mem_root= *THR_MALLOC)
Definition: temp_table_param.h:202
uint hidden_field_count
Definition: temp_table_param.h:136
bool skip_create_table
true <=> don't actually create table handler when creating the result table.
Definition: temp_table_param.h:179
bool can_use_pk_for_unique
Whether the UNIQUE index can be promoted to PK.
Definition: temp_table_param.h:188
uint group_parts
Definition: temp_table_param.h:137
Mem_root_vector< Copy_field > copy_fields
Definition: temp_table_param.h:100
void cleanup()
Definition: temp_table_param.h:224
bool precomputed_group_by
Definition: temp_table_param.h:171
uchar * group_buff
Definition: temp_table_param.h:102
bool bit_fields_as_long
Definition: temp_table_param.h:185
ha_rows end_write_records
LIMIT (maximum number of rows) for this temp table, or HA_POS_ERROR for no limit.
Definition: temp_table_param.h:116
Represents the (explicit) window of a SQL 2003 section 7.11 <window clause>, or the implicit (inlined...
Definition: window.h:104
static MEM_ROOT mem_root
Definition: client_plugin.cc:109
Fido Client Authentication nullptr
Definition: fido_client_plugin.cc:221
This file includes constants used by all storage engines.
my_off_t ha_rows
Definition: my_base.h:1139
#define HA_POS_ERROR
Definition: my_base.h:1141
Some integer typedefs for easier portability.
unsigned char uchar
Definition: my_inttypes.h:51
thread_local MEM_ROOT ** THR_MALLOC
Definition: mysqld.cc:1540
required string type
Definition: replication_group_member_actions.proto:33
Copy_func_type
Definition: sql_executor.h:169
Definition: m_ctype.h:354
The MEM_ROOT is a simple arena, where allocations are carved out of larger blocks.
Definition: my_alloc.h:82
std::vector< T, Mem_root_allocator< T > > Mem_root_vector
Definition: temp_table_param.h:43
Mem_root_array< Func_ptr > Func_ptr_array
Used by copy_funcs()
Definition: temp_table_param.h:90
unsigned int uint
Definition: uca-dump.cc:29