MySQL 8.4.0
Source Code Documentation
upd_t Struct Reference

#include <row0upd.h>

Public Member Functions

void append (const upd_field_t &field)
 Append an update field to the end of array. More...
 
bool is_modified (const ulint field_no) const
 Determine if the given field_no is modified. More...
 
void reset ()
 Reset the update fields. More...
 
bool validate () const
 
bool is_partially_updated (ulint field_no) const
 Check if the given field number is partially updated. More...
 
upd_field_tget_field_by_field_no (ulint field_no, dict_index_t *index) const
 
const Binary_diff_vectorget_binary_diff_by_field_no (ulint field_no) const
 
void empty_per_stmt_heap ()
 Empty the per_stmt_heap. More...
 
void free_per_stmt_heap ()
 Free the per_stmt_heap. More...
 
std::ostream & print (std::ostream &out) const
 
std::ostream & print_puvect (std::ostream &out, upd_field_t *uf) const
 Print the partial update vector (puvect) of the given update field. More...
 

Static Public Member Functions

static size_t get_total_modified_bytes (const Binary_diff_vector &bdv)
 Calculate the total number of bytes modified in one BLOB. More...
 

Public Attributes

mem_heap_theap
 Heap from which memory allocated. More...
 
mem_heap_tper_stmt_heap
 Heap from which memory is allocated if required only for current statement. More...
 
ulint info_bits
 New value of info bits to record; default is 0. More...
 
dtuple_told_vrow
 Pointer to old row, used for virtual column update now. More...
 
dict_table_ttable
 The table object. More...
 
TABLEmysql_table
 The mysql table object. More...
 
ulint n_fields
 Number of update fields. More...
 
upd_field_tfields
 Array of update fields. More...
 

Member Function Documentation

◆ append()

void upd_t::append ( const upd_field_t field)
inline

Append an update field to the end of array.

Parameters
[in]fieldan update field

◆ empty_per_stmt_heap()

void upd_t::empty_per_stmt_heap ( )
inline

Empty the per_stmt_heap.

◆ free_per_stmt_heap()

void upd_t::free_per_stmt_heap ( )
inline

Free the per_stmt_heap.

◆ get_binary_diff_by_field_no()

const Binary_diff_vector * upd_t::get_binary_diff_by_field_no ( ulint  field_no) const

◆ get_field_by_field_no()

upd_field_t * upd_t::get_field_by_field_no ( ulint  field_no,
dict_index_t index 
) const

◆ get_total_modified_bytes()

static size_t upd_t::get_total_modified_bytes ( const Binary_diff_vector bdv)
inlinestatic

Calculate the total number of bytes modified in one BLOB.

Parameters
[in]bdvthe binary diff vector containing all the modifications to one BLOB.
Returns
the total modified bytes.

◆ is_modified()

bool upd_t::is_modified ( const ulint  field_no) const
inline

Determine if the given field_no is modified.

Returns
true if modified, false otherwise.

◆ is_partially_updated()

bool upd_t::is_partially_updated ( ulint  field_no) const

Check if the given field number is partially updated.

Parameters
[in]field_nothe field number.
Returns
true if partially updated, false otherwise.

◆ print()

std::ostream & upd_t::print ( std::ostream &  out) const

◆ print_puvect()

std::ostream & upd_t::print_puvect ( std::ostream &  out,
upd_field_t uf 
) const

Print the partial update vector (puvect) of the given update field.

Parameters
[in,out]outthe output stream
[in]ufthe updated field.
Returns
the output stream.

◆ reset()

void upd_t::reset ( void  )
inline

Reset the update fields.

◆ validate()

bool upd_t::validate ( ) const
inline

Member Data Documentation

◆ fields

upd_field_t* upd_t::fields

Array of update fields.

◆ heap

mem_heap_t* upd_t::heap

Heap from which memory allocated.

This is not a new heap, rather will point to other heap. Therefore memory allocated from this heap is released when the pointed heap is freed or emptied.

◆ info_bits

ulint upd_t::info_bits

New value of info bits to record; default is 0.

◆ mysql_table

TABLE* upd_t::mysql_table

The mysql table object.

◆ n_fields

ulint upd_t::n_fields

Number of update fields.

◆ old_vrow

dtuple_t* upd_t::old_vrow

Pointer to old row, used for virtual column update now.

◆ per_stmt_heap

mem_heap_t* upd_t::per_stmt_heap

Heap from which memory is allocated if required only for current statement.

This heap is emtied at the end of statement from inside ha_innobase::end_stmt().

◆ table

dict_table_t* upd_t::table

The table object.


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