1#ifndef SQL_TMP_TABLE_INCLUDED
2#define SQL_TMP_TABLE_INCLUDED
56 bool distinct,
bool save_sum_fields,
58 const char *table_alias);
61 bool is_virtual =
true,
63 const char *alias =
nullptr);
65 bool insert_last_record,
bool ignore_last_dup,
72 bool force_disk_table =
false,
73 bool schema_table =
false);
77 Field **default_field,
bool group,
bool modify_item,
78 bool table_cant_handle_bit_fields,
79 bool make_copy_field);
89 uint *max_key_part_length,
Create_field is a description a field/column that may or may not exists in a table.
Definition: create_field.h:50
Base class that is used to represent any kind of expression in a relational query.
Definition: item.h:932
Type
Definition: item.h:967
Definition: sql_list.h:433
A typesafe replacement for DYNAMIC_ARRAY.
Definition: mem_root_array.h:425
Definition: sql_executor.h:103
For each client connection we create a separate thread with THD serving as a thread/connection descri...
Definition: sql_lexer_thd.h:35
Object containing parameters used when creating and using temporary tables.
Definition: temp_table_param.h:94
A (partial) implementation of std::deque allocating its blocks on a MEM_ROOT.
Definition: mem_root_deque.h:109
This file includes constants used by all storage engines.
my_off_t ha_rows
Definition: my_base.h:1139
Some integer typedefs for easier portability.
unsigned long long int ulonglong
Definition: my_inttypes.h:55
unsigned char uchar
Definition: my_inttypes.h:51
static PFS_engine_table_share_proxy table
Definition: pfs.cc:60
bool length(const dd::Spatial_reference_system *srs, const Geometry *g1, double *length, bool *null) noexcept
Computes the length of linestrings and multilinestrings.
Definition: length.cc:75
bool is_duplicate(Country_record *record, int skip_index)
Check for duplicate value of Primary/Unique Key column(s).
Definition: pfs_example_country.cc:50
required string type
Definition: replication_group_member_actions.proto:33
bool setup_tmp_table_handler(THD *thd, TABLE *table, ulonglong select_options, bool force_disk_table=false, bool schema_table=false)
Helper function to create_tmp_table_* family for setting up table's SE.
Definition: sql_tmp_table.cc:2104
Field * create_tmp_field(THD *thd, TABLE *table, Item *item, Item::Type type, Func_ptr_array *copy_func, Field **from_field, Field **default_field, bool group, bool modify_item, bool table_cant_handle_bit_fields, bool make_copy_field)
Create field for temporary table.
Definition: sql_tmp_table.cc:360
void free_tmp_table(TABLE *table)
Free temporary table.
Definition: sql_tmp_table.cc:2490
enum_internal_tmp_mem_storage_engine
Definition: sql_tmp_table.h:49
@ TMP_TABLE_TEMPTABLE
Definition: sql_tmp_table.h:51
@ TMP_TABLE_MEMORY
Definition: sql_tmp_table.h:50
Field * create_tmp_field_from_field(THD *thd, const Field *org_field, const char *name, TABLE *table, Item_field *item)
Lifecycle management of internal temporary tables.
Definition: sql_tmp_table.cc:188
TABLE * create_tmp_table(THD *thd, Temp_table_param *param, const mem_root_deque< Item * > &fields, ORDER *group, bool distinct, bool save_sum_fields, ulonglong select_options, ha_rows rows_limit, const char *table_alias)
Definition: sql_tmp_table.cc:879
void close_tmp_table(TABLE *table)
Close a temporary table at end of preparation or execution.
Definition: sql_tmp_table.cc:2441
TABLE * create_tmp_table_from_fields(THD *thd, List< Create_field > &field_list, bool is_virtual=true, ulonglong select_options=0, const char *alias=nullptr)
Create an, optionally reduced, TABLE object with properly set up Field list from a list of field defi...
Definition: sql_tmp_table.cc:1918
bool reposition_innodb_cursor(TABLE *table, ha_rows row_num)
Helper function for create_ondisk_from_heap().
Definition: sql_tmp_table.cc:2921
void encode_innodb_position(uchar *rowid_bytes, uint length, ha_rows row_num)
Encode an InnoDB PK in 6 bytes, high-byte first; like InnoDB's dict_sys_write_row_id() does.
Definition: sql_tmp_table.cc:2899
bool open_tmp_table(TABLE *table)
Definition: sql_tmp_table.cc:2229
void get_max_key_and_part_length(uint *max_key_length, uint *max_key_part_length, uint *max_key_parts)
Get the minimum of max_key_length and max_key_part_length between HEAP engine and internal_tmp_disk_s...
Definition: sql_tmp_table.cc:637
TABLE * create_duplicate_weedout_tmp_table(THD *thd, uint uniq_tuple_length_arg, SJ_TMP_TABLE *sjtbl)
Create a temporary table to weed out duplicate rowid combinations.
Definition: sql_tmp_table.cc:1698
bool create_ondisk_from_heap(THD *thd, TABLE *table, int error, bool insert_last_record, bool ignore_last_dup, bool *is_duplicate)
If a MEMORY table gets full, create a disk-based table and copy all rows to this.
Definition: sql_tmp_table.cc:2587
void init_cache_tmp_engine_properties()
Initialize the storage engine properties for the alternative temporary table storage engines.
Definition: sql_tmp_table.cc:619
bool instantiate_tmp_table(THD *thd, TABLE *table)
Instantiates temporary table.
Definition: sql_tmp_table.cc:2370
case opt name
Definition: sslopt-case.h:32