summaryrefslogtreecommitdiff
path: root/storage/innobase
diff options
context:
space:
mode:
Diffstat (limited to 'storage/innobase')
-rw-r--r--storage/innobase/handler/ha_innodb.cc6
-rw-r--r--storage/innobase/row/row0merge.cc16
2 files changed, 4 insertions, 18 deletions
diff --git a/storage/innobase/handler/ha_innodb.cc b/storage/innobase/handler/ha_innodb.cc
index 402c2b5ed15..c8012d8c074 100644
--- a/storage/innobase/handler/ha_innodb.cc
+++ b/storage/innobase/handler/ha_innodb.cc
@@ -8369,7 +8369,7 @@ no_commit:
innobase_srv_conc_enter_innodb(m_prebuilt);
- vers_set_fields = (table->versioned() &&
+ vers_set_fields = (table->versioned_write() &&
(sql_command != SQLCOM_CREATE_TABLE || table->s->vtmd))
?
ROW_INS_VERSIONED :
@@ -9179,7 +9179,7 @@ ha_innobase::update_row(
innobase_srv_conc_enter_innodb(m_prebuilt);
- if (!table->versioned())
+ if (!table->versioned_write())
m_prebuilt->upd_node->versioned = false;
if (m_prebuilt->upd_node->versioned) {
@@ -9317,7 +9317,7 @@ ha_innobase::delete_row(
innobase_srv_conc_enter_innodb(m_prebuilt);
bool vers_set_fields =
- table->versioned() &&
+ table->versioned_write() &&
table->vers_end_field()->is_max();
error = row_update_for_mysql(m_prebuilt, vers_set_fields);
diff --git a/storage/innobase/row/row0merge.cc b/storage/innobase/row/row0merge.cc
index d1516c21b81..40dcc96416c 100644
--- a/storage/innobase/row/row0merge.cc
+++ b/storage/innobase/row/row0merge.cc
@@ -2304,21 +2304,7 @@ end_of_index:
}
if (old_table->versioned()) {
- if (new_table->versioned() && !drop_historical) {
- dfield_t *end = dtuple_get_nth_field(
- row, new_table->vers_end);
- byte *data = static_cast<byte *>(
- dfield_get_data(end));
- ut_ad(data);
- if (mach_read_from_8(data) == TRX_ID_MAX) {
- dfield_t *start = dtuple_get_nth_field(
- row, new_table->vers_start);
- void *data = dfield_get_data(start);
- ut_ad(data);
- mach_write_to_8(data, trx->id);
- trx->vers_update_trt= true;
- }
- } else {
+ if (!new_table->versioned() || drop_historical) {
const dict_col_t *col =
&old_table->cols
[old_table->vers_end];