summaryrefslogtreecommitdiff
path: root/storage/innobase/row/row0merge.cc
diff options
context:
space:
mode:
Diffstat (limited to 'storage/innobase/row/row0merge.cc')
-rw-r--r--storage/innobase/row/row0merge.cc18
1 files changed, 10 insertions, 8 deletions
diff --git a/storage/innobase/row/row0merge.cc b/storage/innobase/row/row0merge.cc
index f75054c3a55..79e35a326ed 100644
--- a/storage/innobase/row/row0merge.cc
+++ b/storage/innobase/row/row0merge.cc
@@ -2139,8 +2139,6 @@ corrupted_metadata:
row_ext_t* ext;
page_cur_t* cur = btr_pcur_get_page_cur(&pcur);
- mem_heap_empty(row_heap);
-
stage->n_pk_recs_inc();
if (!page_cur_move_to_next(cur)) {
@@ -2174,6 +2172,8 @@ corrupted_rec:
goto func_exit;
}
+ mem_heap_empty(row_heap);
+
if (!mtr_started) {
goto scan_next;
}
@@ -2259,6 +2259,8 @@ end_of_index:
goto corrupted_rec;
}
}
+ } else {
+ mem_heap_empty(row_heap);
}
rec = page_cur_get_rec(cur);
@@ -3562,12 +3564,12 @@ row_merge_sort(
is used. MDEV-9356: innodb.innodb_bug53290 fails (crashes) on
sol10-64 in buildbot.
*/
-#ifndef UNIV_SOLARIS
+#ifndef __sun__
/* Progress report only for "normal" indexes. */
if (dup && !(dup->index->type & DICT_FTS)) {
thd_progress_init(trx->mysql_thd, 1);
}
-#endif /* UNIV_SOLARIS */
+#endif /* __sun__ */
if (global_system_variables.log_warnings > 2) {
sql_print_information("InnoDB: Online DDL : merge-sorting"
@@ -3580,11 +3582,11 @@ row_merge_sort(
/* Report progress of merge sort to MySQL for
show processlist progress field */
/* Progress report only for "normal" indexes. */
-#ifndef UNIV_SOLARIS
+#ifndef __sun__
if (dup && !(dup->index->type & DICT_FTS)) {
thd_progress_report(trx->mysql_thd, file->offset - num_runs, file->offset);
}
-#endif /* UNIV_SOLARIS */
+#endif /* __sun__ */
error = row_merge(trx, dup, file, block, tmpfd,
&num_runs, run_offset, stage,
@@ -3610,11 +3612,11 @@ row_merge_sort(
ut_free(run_offset);
/* Progress report only for "normal" indexes. */
-#ifndef UNIV_SOLARIS
+#ifndef __sun__
if (dup && !(dup->index->type & DICT_FTS)) {
thd_progress_end(trx->mysql_thd);
}
-#endif /* UNIV_SOLARIS */
+#endif /* __sun__ */
DBUG_RETURN(error);
}