MySQL 8.4.0
Source Code Documentation
upd_node_t Struct Reference

#include <row0upd.h>

Public Attributes

que_common_t common
 node type: QUE_NODE_UPDATE More...
 
bool is_delete
 
bool searched_update
 
bool in_mysql_interface
 
dict_foreign_tforeign
 
upd_node_tcascade_node
 
mem_heap_tcascade_heap
 NULL or a mem heap where cascade_upd_nodes are created. More...
 
sel_node_tselect
 query graph subtree implementing a base table cursor: the rows returned will be updated More...
 
btr_pcur_tpcur
 persistent cursor placed on the clustered index record which should be updated or deleted; the cursor is stored in the graph of 'select' field above, except in the case of the MySQL interface More...
 
dict_table_ttable
 table where updated More...
 
upd_tupdate
 update vector for the row More...
 
ulint update_n_fields
 
sym_node_list_t columns
 
bool has_clust_rec_x_lock
 
ulint cmpl_info
 
ulint state
 node execution state More...
 
dict_index_tindex
 NULL, or the next index whose record should be updated. More...
 
dtuple_trow
 NULL, or a copy (also fields copied to heap) of the row to update; this must be reset to NULL after a successful update. More...
 
row_ext_text
 NULL, or prefixes of the externally stored columns in the old row. More...
 
dtuple_tupd_row
 
row_ext_tupd_ext
 
mem_heap_theap
 memory heap used as auxiliary storage; this must be emptied after a successful update More...
 
sym_node_ttable_sym
 
que_node_tcol_assign_list
 
uint32_t del_multi_val_pos
 When there is a lock wait error, this remembers current position of the multi-value field, before which the values have been deleted. More...
 
uint32_t upd_multi_val_pos
 When there is a lock wait error, this remembers current position of the multi-value field, before which the values have been updated. More...
 
ulint magic_n
 

Member Data Documentation

◆ cascade_heap

mem_heap_t* upd_node_t::cascade_heap

NULL or a mem heap where cascade_upd_nodes are created.

◆ cascade_node

upd_node_t* upd_node_t::cascade_node

◆ cmpl_info

ulint upd_node_t::cmpl_info

◆ col_assign_list

que_node_t* upd_node_t::col_assign_list

◆ columns

sym_node_list_t upd_node_t::columns

◆ common

que_common_t upd_node_t::common

node type: QUE_NODE_UPDATE

◆ del_multi_val_pos

uint32_t upd_node_t::del_multi_val_pos

When there is a lock wait error, this remembers current position of the multi-value field, before which the values have been deleted.

This will be used for both DELETE and the delete phase of UPDATE.

◆ ext

row_ext_t* upd_node_t::ext

NULL, or prefixes of the externally stored columns in the old row.

◆ foreign

dict_foreign_t* upd_node_t::foreign

◆ has_clust_rec_x_lock

bool upd_node_t::has_clust_rec_x_lock

◆ heap

mem_heap_t* upd_node_t::heap

memory heap used as auxiliary storage; this must be emptied after a successful update

◆ in_mysql_interface

bool upd_node_t::in_mysql_interface

◆ index

dict_index_t* upd_node_t::index

NULL, or the next index whose record should be updated.

◆ is_delete

bool upd_node_t::is_delete

◆ magic_n

ulint upd_node_t::magic_n

◆ pcur

btr_pcur_t* upd_node_t::pcur

persistent cursor placed on the clustered index record which should be updated or deleted; the cursor is stored in the graph of 'select' field above, except in the case of the MySQL interface

◆ row

dtuple_t* upd_node_t::row

NULL, or a copy (also fields copied to heap) of the row to update; this must be reset to NULL after a successful update.

◆ searched_update

bool upd_node_t::searched_update

◆ select

sel_node_t* upd_node_t::select

query graph subtree implementing a base table cursor: the rows returned will be updated

◆ state

ulint upd_node_t::state

node execution state

◆ table

dict_table_t* upd_node_t::table

table where updated

◆ table_sym

sym_node_t* upd_node_t::table_sym

◆ upd_ext

row_ext_t* upd_node_t::upd_ext

◆ upd_multi_val_pos

uint32_t upd_node_t::upd_multi_val_pos

When there is a lock wait error, this remembers current position of the multi-value field, before which the values have been updated.

◆ upd_row

dtuple_t* upd_node_t::upd_row

◆ update

upd_t* upd_node_t::update

update vector for the row

◆ update_n_fields

ulint upd_node_t::update_n_fields

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