summaryrefslogtreecommitdiff
path: root/storage/innobase/include/row0upd.h
diff options
context:
space:
mode:
authorAleksey Midenkov <midenok@gmail.com>2019-07-23 13:37:18 +0300
committerAleksey Midenkov <midenok@gmail.com>2019-07-25 21:11:06 +0300
commit1a73444d577ee54ac3ecf752e8436091e932d212 (patch)
tree9a0a7008606c9af4af925e8de2dc0466770b59a0 /storage/innobase/include/row0upd.h
parentf3eb82f048d342c11fc3869eca2e6faed9a4835d (diff)
downloadmariadb-git-1a73444d577ee54ac3ecf752e8436091e932d212.tar.gz
Cleanups: DELETE HISTORY [MDEV-19814]
* Made make_versioned_*() proxies inline; * Renamed truncate_history to delete_history Part of: MDEV-19814 Server crash in row_upd_del_mark_clust_rec or Assertion `update->n_fields < ulint(table->n_cols + table->n_v_cols)' failed in upd_node_t::make_versioned_helper
Diffstat (limited to 'storage/innobase/include/row0upd.h')
-rw-r--r--storage/innobase/include/row0upd.h26
1 files changed, 18 insertions, 8 deletions
diff --git a/storage/innobase/include/row0upd.h b/storage/innobase/include/row0upd.h
index e00ffda082d..7d716f960c5 100644
--- a/storage/innobase/include/row0upd.h
+++ b/storage/innobase/include/row0upd.h
@@ -589,14 +589,6 @@ struct upd_node_t{
/* column assignment list */
ulint magic_n;
- /** Also set row_start = CURRENT_TIMESTAMP/trx->id
- @param[in] trx transaction */
- void make_versioned_update(const trx_t* trx);
- /** Only set row_end = CURRENT_TIMESTAMP/trx->id.
- Do not touch other fields at all.
- @param[in] trx transaction */
- void make_versioned_delete(const trx_t* trx);
-
private:
/** Appends row_start or row_end field to update vector and sets a
CURRENT_TIMESTAMP/trx->id value to it.
@@ -605,6 +597,24 @@ private:
@param[in] trx transaction
@param[in] vers_sys_idx table->row_start or table->row_end */
void make_versioned_helper(const trx_t* trx, ulint idx);
+
+public:
+ /** Also set row_start = CURRENT_TIMESTAMP/trx->id
+ @param[in] trx transaction */
+ void make_versioned_update(const trx_t* trx)
+ {
+ make_versioned_helper(trx, table->vers_start);
+ }
+
+ /** Only set row_end = CURRENT_TIMESTAMP/trx->id.
+ Do not touch other fields at all.
+ @param[in] trx transaction */
+ void make_versioned_delete(const trx_t* trx)
+ {
+ update->n_fields = 0;
+ is_delete = VERSIONED_DELETE;
+ make_versioned_helper(trx, table->vers_end);
+ }
};
#define UPD_NODE_MAGIC_N 1579975