MySQL 8.4.2
Source Code Documentation
|
A struct that contains execution time state used for partial update of JSON columns. More...
Public Member Functions | |
Partial_update_info (const TABLE *table, const MY_BITMAP *columns, bool logical_diffs) | |
~Partial_update_info () | |
bool | collect_logical_diffs () const |
Should logical JSON diffs be collected in addition to binary diffs? More... | |
Public Attributes | |
MY_BITMAP | m_enabled_binary_diff_columns |
The columns for which partial update using binary diffs is enabled in the current row. More... | |
MY_BITMAP | m_enabled_logical_diff_columns |
The columns for which partial update using logical JSON diffs is enabled in the current row. More... | |
Mem_root_array< Binary_diff_vector * > | m_binary_diff_vectors |
The binary diffs that have been collected for the current row. More... | |
Mem_root_array< Json_diff_vector * > | m_logical_diff_vectors |
The logical diffs that have been collected for JSON operations in the current row. More... | |
String | m_buffer |
A buffer that can be used to hold the partially updated column value while performing the update in memory. More... | |
A struct that contains execution time state used for partial update of JSON columns.
|
inline |
|
inline |
|
inline |
Should logical JSON diffs be collected in addition to binary diffs?
Mem_root_array<Binary_diff_vector *> Partial_update_info::m_binary_diff_vectors |
The binary diffs that have been collected for the current row.
The Binary_diff_vector objects live entirely in a MEM_ROOT, so there is no need to destroy them when this object is destroyed.
String Partial_update_info::m_buffer |
A buffer that can be used to hold the partially updated column value while performing the update in memory.
MY_BITMAP Partial_update_info::m_enabled_binary_diff_columns |
The columns for which partial update using binary diffs is enabled in the current row.
MY_BITMAP Partial_update_info::m_enabled_logical_diff_columns |
The columns for which partial update using logical JSON diffs is enabled in the current row.
Mem_root_array<Json_diff_vector *> Partial_update_info::m_logical_diff_vectors |
The logical diffs that have been collected for JSON operations in the current row.
Whereas the Json_diff_vector objects live in a MEM_ROOT and their memory will be reclaimed automatically, the Json_diff objects within them can own memory allocated on the heap, so they will have to be destroyed when this object is destroyed.