summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarko Mäkelä <marko.makela@mariadb.com>2020-04-15 15:05:45 +0300
committerMarko Mäkelä <marko.makela@mariadb.com>2020-04-15 15:05:45 +0300
commit9e43ca8e8c82958f998ac017d7fd33442b72e225 (patch)
tree1d6e213bd8f109d03d913700be1e9f03abb80b36
parentccaec18b3934ee384296b4597bdf462fac66c5a4 (diff)
parentf8166a05af085aeb22be8bc1f41bac9affe4a96f (diff)
downloadmariadb-git-9e43ca8e8c82958f998ac017d7fd33442b72e225.tar.gz
Merge 10.1 into 10.2
-rwxr-xr-xmysql-test/mysql-test-run.pl7
-rw-r--r--storage/xtradb/row/row0import.cc23
2 files changed, 25 insertions, 5 deletions
diff --git a/mysql-test/mysql-test-run.pl b/mysql-test/mysql-test-run.pl
index 2026f0aefed..0257ed7f8cc 100755
--- a/mysql-test/mysql-test-run.pl
+++ b/mysql-test/mysql-test-run.pl
@@ -3581,8 +3581,11 @@ sub do_before_run_mysqltest($)
# to be able to distinguish them from manually created
# version-controlled results, and to ignore them in git.
my $dest = "$base_file$suites.result~";
- my @cmd = ($exe_patch, qw/--binary -r - -f -s -o/,
- $dest, $base_result, $resfile);
+ my @cmd = ($exe_patch);
+ if ($^O eq "MSWin32") {
+ push @cmd, '--binary';
+ }
+ push @cmd, (qw/-r - -f -s -o/, $dest, $base_result, $resfile);
if (-w $resdir) {
# don't rebuild a file if it's up to date
unless (-e $dest and -M $dest < -M $resfile
diff --git a/storage/xtradb/row/row0import.cc b/storage/xtradb/row/row0import.cc
index 5a3a86ae02c..bafea49fae9 100644
--- a/storage/xtradb/row/row0import.cc
+++ b/storage/xtradb/row/row0import.cc
@@ -1,7 +1,7 @@
/*****************************************************************************
Copyright (c) 2012, 2016, Oracle and/or its affiliates. All Rights Reserved.
-Copyright (c) 2015, 2018, MariaDB Corporation.
+Copyright (c) 2015, 2020, MariaDB Corporation.
This program is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free Software
@@ -1353,8 +1353,8 @@ uncompressed:
return(DB_ERROR);
} else if (m_table->n_cols != m_n_cols) {
ib_errf(thd, IB_LOG_LEVEL_ERROR, ER_TABLE_SCHEMA_MISMATCH,
- "Number of columns don't match, table has %u"
- " columns but the tablespace meta-data file has "
+ "Number of columns don't match, table has %u "
+ "columns but the tablespace meta-data file has "
ULINTPF " columns",
m_table->n_cols, m_n_cols);
@@ -1924,6 +1924,23 @@ PageConverter::update_index_page(
return(DB_SUCCESS);
}
+ if (m_index && block->page.offset == m_index->m_page_no) {
+ byte *b = FIL_PAGE_DATA + PAGE_BTR_SEG_LEAF + FSEG_HDR_SPACE
+ + page;
+ mach_write_to_4(b, block->page.space);
+
+ memcpy(FIL_PAGE_DATA + PAGE_BTR_SEG_TOP + FSEG_HDR_SPACE
+ + page, b, 4);
+ if (UNIV_LIKELY_NULL(block->page.zip.data)) {
+ memcpy(&block->page.zip.data[FIL_PAGE_DATA
+ + PAGE_BTR_SEG_TOP
+ + FSEG_HDR_SPACE], b, 4);
+ memcpy(&block->page.zip.data[FIL_PAGE_DATA
+ + PAGE_BTR_SEG_LEAF
+ + FSEG_HDR_SPACE], b, 4);
+ }
+ }
+
#ifdef UNIV_ZIP_DEBUG
ut_a(!is_compressed_table()
|| page_zip_validate(m_page_zip_ptr, page, m_index->m_srv_index));