summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--client/mysqlcheck.c41
-rw-r--r--include/my_base.h18
-rw-r--r--include/my_handler_errors.h4
-rw-r--r--mysql-test/r/partition.result4
-rw-r--r--mysql-test/suite/parts/r/partition_alter1_1_2_innodb.result112
-rw-r--r--mysql-test/suite/parts/r/partition_alter1_1_innodb.result64
-rw-r--r--mysql-test/suite/parts/r/partition_alter1_2_innodb.result160
-rw-r--r--mysql-test/suite/parts/r/partition_alter2_1_1_innodb.result80
-rw-r--r--mysql-test/suite/parts/r/partition_alter2_1_2_innodb.result80
-rw-r--r--mysql-test/suite/parts/r/partition_alter2_2_1_innodb.result80
-rw-r--r--mysql-test/suite/parts/r/partition_alter2_2_2_innodb.result80
-rw-r--r--mysql-test/suite/parts/r/partition_alter4_innodb.result416
-rw-r--r--mysql-test/suite/parts/r/partition_basic_innodb.result128
-rw-r--r--mysql-test/suite/parts/r/partition_engine_innodb.result22
-rw-r--r--sql/ha_partition.cc652
-rw-r--r--sql/ha_partition.h12
-rw-r--r--sql/handler.cc6
-rw-r--r--sql/key.cc32
-rw-r--r--sql/key.h4
-rw-r--r--sql/partition_element.h8
-rw-r--r--sql/partition_info.cc305
-rw-r--r--sql/partition_info.h44
-rw-r--r--sql/share/errmsg-utf8.txt8
-rw-r--r--sql/sql_partition.cc98
-rw-r--r--sql/sql_partition.h3
-rw-r--r--sql/sql_show.cc12
-rw-r--r--sql/sql_table.cc9
-rw-r--r--sql/sql_yacc.yy23
-rw-r--r--storage/spider/spd_table.cc2
29 files changed, 1756 insertions, 751 deletions
diff --git a/client/mysqlcheck.c b/client/mysqlcheck.c
index 8651a8686d4..ab9cbfb14c9 100644
--- a/client/mysqlcheck.c
+++ b/client/mysqlcheck.c
@@ -1,6 +1,6 @@
/*
- Copyright (c) 2001, 2012, Oracle and/or its affiliates.
- Copyright (c) 2010, 2011, Monty Program Ab.
+ Copyright (c) 2001, 2013, Oracle and/or its affiliates.
+ Copyright (c) 2010, 2013, Monty Program Ab.
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
@@ -18,7 +18,7 @@
/* By Jani Tolonen, 2001-04-20, MySQL Development Team */
-#define CHECK_VERSION "2.7.2"
+#define CHECK_VERSION "2.7.2-MariaDB"
#include "client_priv.h"
#include <m_ctype.h>
@@ -32,6 +32,10 @@
#define EX_USAGE 1
#define EX_MYSQLERR 2
+/* ALTER instead of repair. */
+#define MAX_ALTER_STR_SIZE 128 * 1024
+#define KEY_PARTITIONING_CHANGED_STR "KEY () partitioning changed"
+
static MYSQL mysql_connection, *sock = 0;
static my_bool opt_alldbs = 0, opt_check_only_changed = 0, opt_extended = 0,
opt_compress = 0, opt_databases = 0, opt_fast = 0,
@@ -47,7 +51,7 @@ static char *opt_password = 0, *current_user = 0,
*default_charset= 0, *current_host= 0;
static char *opt_plugin_dir= 0, *opt_default_auth= 0;
static int first_error = 0;
-DYNAMIC_ARRAY tables4repair, tables4rebuild;
+DYNAMIC_ARRAY tables4repair, tables4rebuild, alter_table_cmds;
static char *shared_memory_base_name=0;
static uint opt_protocol=0;
@@ -816,6 +820,7 @@ static void print_result()
MYSQL_RES *res;
MYSQL_ROW row;
char prev[(NAME_LEN+9)*2+2];
+ char prev_alter[MAX_ALTER_STR_SIZE];
uint i;
my_bool found_error=0, table_rebuild=0;
DBUG_ENTER("print_result");
@@ -823,6 +828,7 @@ static void print_result()
res = mysql_use_result(sock);
prev[0] = '\0';
+ prev_alter[0]= 0;
for (i = 0; (row = mysql_fetch_row(res)); i++)
{
int changed = strcmp(prev, row[0]);
@@ -839,12 +845,18 @@ static void print_result()
strcmp(row[3],"OK"))
{
if (table_rebuild)
- insert_dynamic(&tables4rebuild, (uchar*) prev);
+ {
+ if (prev_alter[0])
+ insert_dynamic(&alter_table_cmds, (uchar*) prev_alter);
+ else
+ insert_dynamic(&tables4rebuild, (uchar*) prev);
+ }
else
- insert_dynamic(&tables4repair, (uchar*) prev);
+ insert_dynamic(&tables4repair, prev);
}
found_error=0;
table_rebuild=0;
+ prev_alter[0]= 0;
if (opt_silent)
continue;
}
@@ -861,7 +873,7 @@ static void print_result()
printf("%-50s %s", row[0], "Needs upgrade");
else
printf("%s\n%-9s: %s", row[0], row[2], row[3]);
- if (strcmp(row[2],"note"))
+ if (opt_auto_repair && strcmp(row[2],"note"))
{
found_error=1;
if (opt_auto_repair && strstr(row[3], "ALTER TABLE") != NULL)
@@ -877,9 +889,14 @@ static void print_result()
if (found_error && opt_auto_repair && what_to_do != DO_REPAIR)
{
if (table_rebuild)
- insert_dynamic(&tables4rebuild, (uchar*) prev);
+ {
+ if (prev_alter[0])
+ insert_dynamic(&alter_table_cmds, prev_alter);
+ else
+ insert_dynamic(&tables4rebuild, prev);
+ }
else
- insert_dynamic(&tables4repair, (uchar*) prev);
+ insert_dynamic(&tables4repair, prev);
}
mysql_free_result(res);
DBUG_VOID_RETURN;
@@ -999,7 +1016,9 @@ int main(int argc, char **argv)
(my_init_dynamic_array(&tables4repair, sizeof(char)*(NAME_LEN*2+2),16,
64, MYF(0)) ||
my_init_dynamic_array(&tables4rebuild, sizeof(char)*(NAME_LEN*2+2),16,
- 64, MYF(0))))
+ 64, MYF(0)) ||
+ my_init_dynamic_array(&alter_table_cmds, MAX_ALTER_STR_SIZE, 0, 1,
+ MYF(0))))
goto end;
if (opt_alldbs)
@@ -1024,6 +1043,8 @@ int main(int argc, char **argv)
}
for (i = 0; i < tables4rebuild.elements ; i++)
rebuild_table((char*) dynamic_array_ptr(&tables4rebuild, i));
+ for (i = 0; i < alter_table_cmds.elements ; i++)
+ run_query((char*) dynamic_array_ptr(&alter_table_cmds, i));
}
ret= test(first_error);
diff --git a/include/my_base.h b/include/my_base.h
index ed27ef7e843..c9f9a8a4ed3 100644
--- a/include/my_base.h
+++ b/include/my_base.h
@@ -483,14 +483,13 @@ enum ha_base_keytype {
#define HA_ERR_GENERIC 168 /* Generic error */
/* row not actually updated: new values same as the old values */
#define HA_ERR_RECORD_IS_THE_SAME 169
-/* It is not possible to log this statement */
-#define HA_ERR_LOGGING_IMPOSSIBLE 170
-/* The event was corrupt, leading to illegal data being read */
+#define HA_ERR_LOGGING_IMPOSSIBLE 170 /* It is not possible to log this
+ statement */
#define HA_ERR_CORRUPT_EVENT 171 /* The event was corrupt, leading to
illegal data being read */
#define HA_ERR_NEW_FILE 172 /* New file format */
-/* The event could not be processed no other handler error happened */
-#define HA_ERR_ROWS_EVENT_APPLY 173
+#define HA_ERR_ROWS_EVENT_APPLY 173 /* The event could not be processed
+ no other hanlder error happened */
#define HA_ERR_INITIALIZATION 174 /* Error during initialization */
#define HA_ERR_FILE_TOO_SHORT 175 /* File too short */
#define HA_ERR_WRONG_CRC 176 /* Wrong CRC on page */
@@ -504,10 +503,11 @@ enum ha_base_keytype {
#define HA_ERR_TABLE_IN_FK_CHECK 183 /* Table being used in foreign key check */
#define HA_ERR_TABLESPACE_EXISTS 184 /* The tablespace existed in storage engine */
#define HA_ERR_TOO_MANY_FIELDS 185 /* Table has too many columns */
-#define HA_ERR_ROW_NOT_VISIBLE 186
-#define HA_ERR_ABORTED_BY_USER 187
-#define HA_ERR_DISK_FULL 188
-#define HA_ERR_LAST 188 /* Copy of last error nr */
+#define HA_ERR_ROW_IN_WRONG_PARTITION 186 /* Row in wrong partition */
+#define HA_ERR_ROW_NOT_VISIBLE 187
+#define HA_ERR_ABORTED_BY_USER 188
+#define HA_ERR_DISK_FULL 189
+#define HA_ERR_LAST 189 /* Copy of last error nr */
/* Number of different errors */
#define HA_ERR_ERRORS (HA_ERR_LAST - HA_ERR_FIRST + 1)
diff --git a/include/my_handler_errors.h b/include/my_handler_errors.h
index 24b977c38ce..17b4a73ff93 100644
--- a/include/my_handler_errors.h
+++ b/include/my_handler_errors.h
@@ -1,7 +1,8 @@
#ifndef MYSYS_MY_HANDLER_ERRORS_INCLUDED
#define MYSYS_MY_HANDLER_ERRORS_INCLUDED
-/* Copyright (c) 2008, 2012, Oracle and/or its affiliates.
+/* Copyright (c) 2008, 2013, Oracle and/or its affiliates.
+ Copyright (c) 2011, 2013, SkySQL Ab.
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
@@ -88,6 +89,7 @@ static const char *handler_error_messages[]=
"Table is being used in foreign key check",
"Tablespace already exists",
"Too many columns",
+ "Row in wrong partition",
"Row is not visible by the current transaction",
"Operation was interrupted by end user (probably kill command?)",
"Disk full"
diff --git a/mysql-test/r/partition.result b/mysql-test/r/partition.result
index 24567f5cd72..e57715d1eb6 100644
--- a/mysql-test/r/partition.result
+++ b/mysql-test/r/partition.result
@@ -1806,13 +1806,13 @@ engine=MEMORY
partition by key (a);
REPAIR TABLE t1;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
OPTIMIZE TABLE t1;
Table Op Msg_type Msg_text
test.t1 optimize note The storage engine for the table doesn't support optimize
CHECK TABLE t1;
Table Op Msg_type Msg_text
-test.t1 check note The storage engine for the table doesn't support check
+test.t1 check status OK
ANALYZE TABLE t1;
Table Op Msg_type Msg_text
test.t1 analyze note The storage engine for the table doesn't support analyze
diff --git a/mysql-test/suite/parts/r/partition_alter1_1_2_innodb.result b/mysql-test/suite/parts/r/partition_alter1_1_2_innodb.result
index e36ca4432b1..00ef7527059 100644
--- a/mysql-test/suite/parts/r/partition_alter1_1_2_innodb.result
+++ b/mysql-test/suite/parts/r/partition_alter1_1_2_innodb.result
@@ -531,7 +531,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -1023,7 +1023,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -1530,7 +1530,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -2031,7 +2031,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -2530,7 +2530,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -3040,7 +3040,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -3552,7 +3552,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -4052,7 +4052,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -4545,7 +4545,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -5037,7 +5037,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -5544,7 +5544,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -6045,7 +6045,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -6544,7 +6544,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -7054,7 +7054,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -7566,7 +7566,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -8066,7 +8066,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -8576,7 +8576,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -9084,7 +9084,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -9607,7 +9607,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -10124,7 +10124,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -10639,7 +10639,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -11165,7 +11165,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -11693,7 +11693,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -12209,7 +12209,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -12718,7 +12718,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -13226,7 +13226,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -13749,7 +13749,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -14266,7 +14266,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -14781,7 +14781,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -15307,7 +15307,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -15835,7 +15835,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -16351,7 +16351,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -16846,7 +16846,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -17339,7 +17339,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -17847,7 +17847,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -18349,7 +18349,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -18849,7 +18849,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -19360,7 +19360,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -19873,7 +19873,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -20374,7 +20374,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -20868,7 +20868,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -21361,7 +21361,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -21869,7 +21869,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -22371,7 +22371,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -22871,7 +22871,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -23382,7 +23382,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -23895,7 +23895,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -24396,7 +24396,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -24890,7 +24890,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -25383,7 +25383,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -25891,7 +25891,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -26393,7 +26393,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -26893,7 +26893,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -27404,7 +27404,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -27917,7 +27917,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -28418,7 +28418,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
diff --git a/mysql-test/suite/parts/r/partition_alter1_1_innodb.result b/mysql-test/suite/parts/r/partition_alter1_1_innodb.result
index 1ed1a3b3bf1..0a7b284a15c 100644
--- a/mysql-test/suite/parts/r/partition_alter1_1_innodb.result
+++ b/mysql-test/suite/parts/r/partition_alter1_1_innodb.result
@@ -849,7 +849,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -1341,7 +1341,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -1848,7 +1848,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -2349,7 +2349,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -2850,7 +2850,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -3360,7 +3360,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -3872,7 +3872,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -4372,7 +4372,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -4865,7 +4865,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -5357,7 +5357,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -5864,7 +5864,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -6365,7 +6365,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -6866,7 +6866,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -7376,7 +7376,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -7888,7 +7888,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -8388,7 +8388,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -8898,7 +8898,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -9406,7 +9406,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -9929,7 +9929,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -10446,7 +10446,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -10963,7 +10963,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -11489,7 +11489,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -12017,7 +12017,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -12533,7 +12533,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -13042,7 +13042,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -13550,7 +13550,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -14073,7 +14073,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -14590,7 +14590,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -15107,7 +15107,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -15633,7 +15633,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -16161,7 +16161,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -16677,7 +16677,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
diff --git a/mysql-test/suite/parts/r/partition_alter1_2_innodb.result b/mysql-test/suite/parts/r/partition_alter1_2_innodb.result
index abe99ba571f..22d24bd50fe 100644
--- a/mysql-test/suite/parts/r/partition_alter1_2_innodb.result
+++ b/mysql-test/suite/parts/r/partition_alter1_2_innodb.result
@@ -478,7 +478,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -918,7 +918,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -1373,7 +1373,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -1822,7 +1822,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -2271,7 +2271,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -2729,7 +2729,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -3189,7 +3189,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -3637,7 +3637,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -4078,7 +4078,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -4518,7 +4518,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -4973,7 +4973,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -5422,7 +5422,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -5871,7 +5871,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -6329,7 +6329,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -6789,7 +6789,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -7237,7 +7237,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -7694,7 +7694,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -8150,7 +8150,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -8621,7 +8621,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -9086,7 +9086,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -9551,7 +9551,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -10025,7 +10025,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -10501,7 +10501,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -10965,7 +10965,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -11410,7 +11410,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -11850,7 +11850,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -12305,7 +12305,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -12754,7 +12754,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -13201,7 +13201,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -13659,7 +13659,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -14119,7 +14119,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -14567,7 +14567,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -15008,7 +15008,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -15448,7 +15448,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -15903,7 +15903,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -16352,7 +16352,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -16799,7 +16799,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -17257,7 +17257,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -17717,7 +17717,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -18165,7 +18165,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -18623,7 +18623,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -19079,7 +19079,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -19550,7 +19550,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -20015,7 +20015,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -20478,7 +20478,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -20952,7 +20952,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -21428,7 +21428,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -21892,7 +21892,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -22349,7 +22349,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -22805,7 +22805,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -23276,7 +23276,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -23741,7 +23741,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -24204,7 +24204,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -24678,7 +24678,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -25154,7 +25154,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -25618,7 +25618,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -26060,7 +26060,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -26500,7 +26500,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -26955,7 +26955,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -27404,7 +27404,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -27851,7 +27851,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -28309,7 +28309,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -28769,7 +28769,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -29217,7 +29217,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -29658,7 +29658,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -30098,7 +30098,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -30553,7 +30553,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -31002,7 +31002,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -31449,7 +31449,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -31907,7 +31907,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -32367,7 +32367,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -32815,7 +32815,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -33272,7 +33272,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -33728,7 +33728,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -34199,7 +34199,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -34664,7 +34664,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -35127,7 +35127,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -35601,7 +35601,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -36077,7 +36077,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -36541,7 +36541,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
diff --git a/mysql-test/suite/parts/r/partition_alter2_1_1_innodb.result b/mysql-test/suite/parts/r/partition_alter2_1_1_innodb.result
index 86dee438a27..f3d5314643b 100644
--- a/mysql-test/suite/parts/r/partition_alter2_1_1_innodb.result
+++ b/mysql-test/suite/parts/r/partition_alter2_1_1_innodb.result
@@ -495,7 +495,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -951,7 +951,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -1422,7 +1422,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -1887,7 +1887,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -2352,7 +2352,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -2826,7 +2826,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -3302,7 +3302,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -3766,7 +3766,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -4260,7 +4260,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -4752,7 +4752,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -5259,7 +5259,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -5760,7 +5760,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -6261,7 +6261,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -6771,7 +6771,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -7283,7 +7283,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -7783,7 +7783,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -8276,7 +8276,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -8768,7 +8768,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -9275,7 +9275,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -9776,7 +9776,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -10277,7 +10277,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -10787,7 +10787,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -11299,7 +11299,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -11799,7 +11799,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -12309,7 +12309,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -12817,7 +12817,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -13340,7 +13340,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -13857,7 +13857,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -14374,7 +14374,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -14900,7 +14900,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -15428,7 +15428,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -15944,7 +15944,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -16453,7 +16453,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -16961,7 +16961,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -17484,7 +17484,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -18001,7 +18001,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -18518,7 +18518,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -19044,7 +19044,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -19572,7 +19572,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -20088,7 +20088,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
diff --git a/mysql-test/suite/parts/r/partition_alter2_1_2_innodb.result b/mysql-test/suite/parts/r/partition_alter2_1_2_innodb.result
index 87e0c613a39..eb662109cea 100644
--- a/mysql-test/suite/parts/r/partition_alter2_1_2_innodb.result
+++ b/mysql-test/suite/parts/r/partition_alter2_1_2_innodb.result
@@ -491,7 +491,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -947,7 +947,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -1418,7 +1418,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -1883,7 +1883,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -2346,7 +2346,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -2820,7 +2820,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -3296,7 +3296,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -3760,7 +3760,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -4254,7 +4254,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -4746,7 +4746,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -5253,7 +5253,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -5754,7 +5754,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -6253,7 +6253,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -6763,7 +6763,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -7275,7 +7275,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -7775,7 +7775,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -8268,7 +8268,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -8760,7 +8760,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -9267,7 +9267,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -9768,7 +9768,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -10267,7 +10267,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -10777,7 +10777,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -11289,7 +11289,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -11789,7 +11789,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -12299,7 +12299,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -12807,7 +12807,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -13330,7 +13330,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -13847,7 +13847,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -14362,7 +14362,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -14888,7 +14888,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -15416,7 +15416,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -15932,7 +15932,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -16441,7 +16441,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -16949,7 +16949,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -17472,7 +17472,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -17989,7 +17989,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -18504,7 +18504,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -19030,7 +19030,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -19558,7 +19558,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -20074,7 +20074,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
diff --git a/mysql-test/suite/parts/r/partition_alter2_2_1_innodb.result b/mysql-test/suite/parts/r/partition_alter2_2_1_innodb.result
index 7dbe1245e0f..1f4642f63ec 100644
--- a/mysql-test/suite/parts/r/partition_alter2_2_1_innodb.result
+++ b/mysql-test/suite/parts/r/partition_alter2_2_1_innodb.result
@@ -497,7 +497,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -955,7 +955,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -1428,7 +1428,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -1893,7 +1893,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -2360,7 +2360,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -2834,7 +2834,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -3312,7 +3312,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -3778,7 +3778,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -4273,7 +4273,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -4767,7 +4767,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -5276,7 +5276,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -5777,7 +5777,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -6280,7 +6280,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -6790,7 +6790,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -7304,7 +7304,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -7806,7 +7806,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -8301,7 +8301,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -8795,7 +8795,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -9304,7 +9304,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -9805,7 +9805,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -10308,7 +10308,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -10818,7 +10818,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -11332,7 +11332,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -11834,7 +11834,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -12346,7 +12346,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -12856,7 +12856,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -13381,7 +13381,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -13898,7 +13898,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -14417,7 +14417,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -14943,7 +14943,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -15473,7 +15473,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -15991,7 +15991,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -16502,7 +16502,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -17012,7 +17012,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -17537,7 +17537,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -18054,7 +18054,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -18573,7 +18573,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -19099,7 +19099,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -19629,7 +19629,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -20147,7 +20147,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
diff --git a/mysql-test/suite/parts/r/partition_alter2_2_2_innodb.result b/mysql-test/suite/parts/r/partition_alter2_2_2_innodb.result
index 0e9490b760c..0db5bf79c4d 100644
--- a/mysql-test/suite/parts/r/partition_alter2_2_2_innodb.result
+++ b/mysql-test/suite/parts/r/partition_alter2_2_2_innodb.result
@@ -493,7 +493,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -952,7 +952,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -1426,7 +1426,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -1896,7 +1896,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -2364,7 +2364,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -2843,7 +2843,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -3322,7 +3322,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -3789,7 +3789,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -4286,7 +4286,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -4781,7 +4781,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -5291,7 +5291,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -5797,7 +5797,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -6301,7 +6301,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -6816,7 +6816,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -7331,7 +7331,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -7834,7 +7834,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -8330,7 +8330,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -8825,7 +8825,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -9335,7 +9335,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -9841,7 +9841,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -10345,7 +10345,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -10860,7 +10860,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -11375,7 +11375,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -11878,7 +11878,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -12391,7 +12391,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -12902,7 +12902,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -13428,7 +13428,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -13950,7 +13950,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -14470,7 +14470,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -15001,7 +15001,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -15532,7 +15532,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -16051,7 +16051,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -16563,7 +16563,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -17074,7 +17074,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -17600,7 +17600,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -18122,7 +18122,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -18642,7 +18642,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -19173,7 +19173,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -19704,7 +19704,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -20223,7 +20223,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
diff --git a/mysql-test/suite/parts/r/partition_alter4_innodb.result b/mysql-test/suite/parts/r/partition_alter4_innodb.result
index 34f9cd9eb48..e4dacbc663c 100644
--- a/mysql-test/suite/parts/r/partition_alter4_innodb.result
+++ b/mysql-test/suite/parts/r/partition_alter4_innodb.result
@@ -497,7 +497,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -959,7 +959,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -1432,7 +1432,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -1899,7 +1899,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -2366,7 +2366,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -2842,7 +2842,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -3320,7 +3320,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -3786,7 +3786,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -4247,7 +4247,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -4709,7 +4709,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -5182,7 +5182,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -5649,7 +5649,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -6116,7 +6116,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -6592,7 +6592,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -7070,7 +7070,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -7536,7 +7536,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -7997,7 +7997,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -8459,7 +8459,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -8932,7 +8932,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -9399,7 +9399,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -9866,7 +9866,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -10342,7 +10342,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -10820,7 +10820,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -11286,7 +11286,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -11747,7 +11747,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -12209,7 +12209,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -12682,7 +12682,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -13149,7 +13149,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -13616,7 +13616,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -14092,7 +14092,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -14570,7 +14570,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -15036,7 +15036,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -15497,7 +15497,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -15959,7 +15959,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -16432,7 +16432,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -16899,7 +16899,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -17366,7 +17366,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -17842,7 +17842,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -18320,7 +18320,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -18786,7 +18786,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -19250,7 +19250,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -19712,7 +19712,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -20185,7 +20185,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -20652,7 +20652,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -21119,7 +21119,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -21595,7 +21595,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -22073,7 +22073,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -22539,7 +22539,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -23000,7 +23000,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -23462,7 +23462,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -23935,7 +23935,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -24402,7 +24402,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -24869,7 +24869,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -25345,7 +25345,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -25823,7 +25823,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -26289,7 +26289,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -26750,7 +26750,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -27212,7 +27212,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -27685,7 +27685,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -28152,7 +28152,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -28619,7 +28619,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -29095,7 +29095,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -29573,7 +29573,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -30039,7 +30039,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -30500,7 +30500,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -30962,7 +30962,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -31435,7 +31435,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -31902,7 +31902,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -32369,7 +32369,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -32845,7 +32845,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -33323,7 +33323,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -33789,7 +33789,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -34250,7 +34250,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -34712,7 +34712,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -35185,7 +35185,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -35652,7 +35652,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -36119,7 +36119,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -36595,7 +36595,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -37073,7 +37073,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -37539,7 +37539,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -38004,7 +38004,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -38467,7 +38467,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -38941,7 +38941,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -39409,7 +39409,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -39877,7 +39877,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -40354,7 +40354,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -40833,7 +40833,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -41300,7 +41300,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -41762,7 +41762,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -42225,7 +42225,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -42699,7 +42699,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -43167,7 +43167,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -43635,7 +43635,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -44112,7 +44112,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -44591,7 +44591,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -45058,7 +45058,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -45519,7 +45519,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -45981,7 +45981,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -46454,7 +46454,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -46921,7 +46921,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -47388,7 +47388,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -47864,7 +47864,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -48342,7 +48342,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -48808,7 +48808,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -49269,7 +49269,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -49731,7 +49731,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -50204,7 +50204,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -50671,7 +50671,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -51138,7 +51138,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -51614,7 +51614,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -52092,7 +52092,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -52558,7 +52558,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -53020,7 +53020,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -53483,7 +53483,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -53957,7 +53957,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -54425,7 +54425,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -54893,7 +54893,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -55370,7 +55370,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -55849,7 +55849,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -56316,7 +56316,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -56778,7 +56778,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -57238,7 +57238,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -57709,7 +57709,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -58174,7 +58174,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -58639,7 +58639,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -59113,7 +59113,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -59589,7 +59589,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -60053,7 +60053,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -60512,7 +60512,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -60972,7 +60972,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -61443,7 +61443,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -61908,7 +61908,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -62373,7 +62373,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -62847,7 +62847,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -63323,7 +63323,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -63787,7 +63787,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -64566,7 +64566,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -65026,7 +65026,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -65497,7 +65497,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -65962,7 +65962,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -66427,7 +66427,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -66901,7 +66901,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -67377,7 +67377,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -67841,7 +67841,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -67868,7 +67868,7 @@ SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
ALTER TABLE t1 REPAIR PARTITION part_1;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
@@ -68305,7 +68305,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -68327,7 +68327,7 @@ SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
ALTER TABLE t1 REPAIR PARTITION part_1;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
@@ -68767,7 +68767,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -68797,7 +68797,7 @@ SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
ALTER TABLE t1 REPAIR PARTITION part_1;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
@@ -69240,7 +69240,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -69268,7 +69268,7 @@ SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
ALTER TABLE t1 REPAIR PARTITION part_1;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
@@ -69707,7 +69707,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -69733,7 +69733,7 @@ SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
ALTER TABLE t1 REPAIR PARTITION part_1;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
@@ -70174,7 +70174,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -70204,7 +70204,7 @@ SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
ALTER TABLE t1 REPAIR PARTITION part_1;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
@@ -70650,7 +70650,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -70680,7 +70680,7 @@ SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
ALTER TABLE t1 REPAIR PARTITION part_1;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
@@ -71128,7 +71128,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -71154,7 +71154,7 @@ SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
ALTER TABLE t1 REPAIR PARTITION part_1;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
@@ -71594,7 +71594,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -71618,7 +71618,7 @@ SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
ALTER TABLE t1 REPAIR PARTITION part_1,part_2;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
@@ -72055,7 +72055,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -72077,7 +72077,7 @@ SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
ALTER TABLE t1 REPAIR PARTITION part_1,part_2;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
@@ -72517,7 +72517,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -72547,7 +72547,7 @@ SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
ALTER TABLE t1 REPAIR PARTITION part_1,part_2;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
@@ -72990,7 +72990,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -73018,7 +73018,7 @@ SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
ALTER TABLE t1 REPAIR PARTITION part_1,part_2;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
@@ -73457,7 +73457,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -73483,7 +73483,7 @@ SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
ALTER TABLE t1 REPAIR PARTITION part_1,part_2;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
@@ -73924,7 +73924,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -73954,7 +73954,7 @@ SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
ALTER TABLE t1 REPAIR PARTITION part_1,part_2;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
@@ -74400,7 +74400,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -74430,7 +74430,7 @@ SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
ALTER TABLE t1 REPAIR PARTITION part_1,part_2;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
@@ -74878,7 +74878,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -74904,7 +74904,7 @@ SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
ALTER TABLE t1 REPAIR PARTITION part_1,part_2;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
@@ -75344,7 +75344,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -75805,7 +75805,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -76267,7 +76267,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -76740,7 +76740,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -77207,7 +77207,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -77674,7 +77674,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -78150,7 +78150,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -78628,7 +78628,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -79094,7 +79094,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -79555,7 +79555,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -80017,7 +80017,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -80490,7 +80490,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -80957,7 +80957,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -81424,7 +81424,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -81900,7 +81900,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -82378,7 +82378,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -82844,7 +82844,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -82868,7 +82868,7 @@ SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
ALTER TABLE t1 REPAIR PARTITION ALL;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
@@ -83305,7 +83305,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -83327,7 +83327,7 @@ SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
ALTER TABLE t1 REPAIR PARTITION ALL;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
@@ -83767,7 +83767,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -83797,7 +83797,7 @@ SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
ALTER TABLE t1 REPAIR PARTITION ALL;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
@@ -84240,7 +84240,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -84268,7 +84268,7 @@ SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
ALTER TABLE t1 REPAIR PARTITION ALL;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
@@ -84707,7 +84707,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -84733,7 +84733,7 @@ SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
ALTER TABLE t1 REPAIR PARTITION ALL;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
@@ -85174,7 +85174,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -85204,7 +85204,7 @@ SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
ALTER TABLE t1 REPAIR PARTITION ALL;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
@@ -85650,7 +85650,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -85680,7 +85680,7 @@ SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
ALTER TABLE t1 REPAIR PARTITION ALL;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
@@ -86128,7 +86128,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -86154,7 +86154,7 @@ SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
WHERE f_int1 BETWEEN 1 AND @max_row_div2 - 1;
ALTER TABLE t1 REPAIR PARTITION ALL;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
INSERT INTO t1(f_int1,f_int2,f_char1,f_char2,f_charbig)
SELECT f_int1,f_int2,f_char1,f_char2,f_charbig FROM t0_template
WHERE f_int1 BETWEEN @max_row_div2 AND @max_row;
@@ -86594,7 +86594,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
diff --git a/mysql-test/suite/parts/r/partition_basic_innodb.result b/mysql-test/suite/parts/r/partition_basic_innodb.result
index c74380d3591..0bf2b8e8eaa 100644
--- a/mysql-test/suite/parts/r/partition_basic_innodb.result
+++ b/mysql-test/suite/parts/r/partition_basic_innodb.result
@@ -500,7 +500,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -960,7 +960,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -1438,7 +1438,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -1908,7 +1908,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -2380,7 +2380,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -2861,7 +2861,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -3348,7 +3348,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -3820,7 +3820,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -4279,7 +4279,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -4739,7 +4739,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -5217,7 +5217,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -5687,7 +5687,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -6157,7 +6157,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -6638,7 +6638,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -7121,7 +7121,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -7593,7 +7593,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -8093,7 +8093,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -8590,7 +8590,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -9105,7 +9105,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -9612,7 +9612,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -10121,7 +10121,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -10639,7 +10639,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -11163,7 +11163,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -11672,7 +11672,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -12167,7 +12167,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -12664,7 +12664,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -13179,7 +13179,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -13686,7 +13686,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -14195,7 +14195,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -14713,7 +14713,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -15237,7 +15237,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -15746,7 +15746,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -16257,7 +16257,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -16770,7 +16770,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -17301,7 +17301,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -17824,7 +17824,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -18349,7 +18349,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -18883,7 +18883,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -19423,7 +19423,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -19948,7 +19948,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -20448,7 +20448,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -20945,7 +20945,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -21460,7 +21460,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -21967,7 +21967,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -22474,7 +22474,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -22992,7 +22992,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -23512,7 +23512,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -24021,7 +24021,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -24516,7 +24516,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -25013,7 +25013,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -25528,7 +25528,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -26035,7 +26035,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -26542,7 +26542,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -27060,7 +27060,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -27580,7 +27580,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -28089,7 +28089,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -28600,7 +28600,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -29113,7 +29113,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -29644,7 +29644,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -30167,7 +30167,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -30690,7 +30690,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -31224,7 +31224,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -31760,7 +31760,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -32285,7 +32285,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
diff --git a/mysql-test/suite/parts/r/partition_engine_innodb.result b/mysql-test/suite/parts/r/partition_engine_innodb.result
index 6a136a6b393..8e5f7c43dd9 100644
--- a/mysql-test/suite/parts/r/partition_engine_innodb.result
+++ b/mysql-test/suite/parts/r/partition_engine_innodb.result
@@ -489,7 +489,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -947,7 +947,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -1409,7 +1409,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -1934,7 +1934,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -2435,7 +2435,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -2897,7 +2897,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -3356,7 +3356,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -3818,7 +3818,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -4283,7 +4283,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -4737,7 +4737,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
@@ -5192,7 +5192,7 @@ test.t1 optimize status OK
# check layout success: 1
REPAIR TABLE t1 EXTENDED;
Table Op Msg_type Msg_text
-test.t1 repair note The storage engine for the table doesn't support repair
+test.t1 repair status OK
# check layout success: 1
TRUNCATE t1;
diff --git a/sql/ha_partition.cc b/sql/ha_partition.cc
index 3512d1cee87..fd6d89dd7ff 100644
--- a/sql/ha_partition.cc
+++ b/sql/ha_partition.cc
@@ -55,6 +55,8 @@
#include "sql_table.h" // tablename_to_filename
#include "key.h"
#include "sql_plugin.h"
+#include "sql_show.h" // append_identifier
+#include "sql_admin.h" // SQL_ADMIN_MSG_TEXT_SIZE
#include "debug_sync.h"
@@ -66,12 +68,15 @@
#define PAR_NUM_PARTS_OFFSET 8
/* offset to the engines array */
#define PAR_ENGINES_OFFSET 12
-#define PARTITION_ENABLED_TABLE_FLAGS (HA_FILE_BASED | HA_REC_NOT_IN_SEQ)
+#define PARTITION_ENABLED_TABLE_FLAGS (HA_FILE_BASED | \
+ HA_REC_NOT_IN_SEQ | \
+ HA_CAN_REPAIR)
#define PARTITION_DISABLED_TABLE_FLAGS (HA_CAN_GEOMETRY | \
HA_CAN_FULLTEXT | \
HA_DUPLICATE_POS | \
HA_CAN_SQL_HANDLER | \
- HA_CAN_INSERT_DELAYED)
+ HA_CAN_INSERT_DELAYED | \
+ HA_READ_BEFORE_WRITE_REMOVAL)
static const char *ha_par_ext= ".par";
/****************************************************************************
@@ -348,6 +353,7 @@ void ha_partition::init_handler_variables()
m_rec_length= 0;
m_last_part= 0;
m_rec0= 0;
+ m_err_rec= NULL;
m_curr_key_info[0]= NULL;
m_curr_key_info[1]= NULL;
m_part_func_monotonicity_info= NON_MONOTONIC;
@@ -1181,10 +1187,11 @@ int ha_partition::preload_keys(THD *thd, HA_CHECK_OPT *check_opt)
0 Success
*/
-static int handle_opt_part(THD *thd, HA_CHECK_OPT *check_opt,
- handler *file, uint flag)
+int ha_partition::handle_opt_part(THD *thd, HA_CHECK_OPT *check_opt,
+ uint part_id, uint flag)
{
int error;
+ handler *file= m_file[part_id];
DBUG_ENTER("handle_opt_part");
DBUG_PRINT("enter", ("flag = %u", flag));
@@ -1193,9 +1200,27 @@ static int handle_opt_part(THD *thd, HA_CHECK_OPT *check_opt,
else if (flag == ANALYZE_PARTS)
error= file->ha_analyze(thd, check_opt);
else if (flag == CHECK_PARTS)
+ {
error= file->ha_check(thd, check_opt);
+ if (!error ||
+ error == HA_ADMIN_ALREADY_DONE ||
+ error == HA_ADMIN_NOT_IMPLEMENTED)
+ {
+ if (check_opt->flags & (T_MEDIUM | T_EXTEND))
+ error= check_misplaced_rows(part_id, false);
+ }
+ }
else if (flag == REPAIR_PARTS)
+ {
error= file->ha_repair(thd, check_opt);
+ if (!error ||
+ error == HA_ADMIN_ALREADY_DONE ||
+ error == HA_ADMIN_NOT_IMPLEMENTED)
+ {
+ if (check_opt->flags & (T_MEDIUM | T_EXTEND))
+ error= check_misplaced_rows(part_id, true);
+ }
+ }
else if (flag == ASSIGN_KEYCACHE_PARTS)
error= file->assign_to_keycache(thd, check_opt);
else if (flag == PRELOAD_KEYS_PARTS)
@@ -1216,30 +1241,38 @@ static int handle_opt_part(THD *thd, HA_CHECK_OPT *check_opt,
(modelled after mi_check_print_msg)
TODO: move this into the handler, or rewrite mysql_admin_table.
*/
-static bool print_admin_msg(THD* thd, const char* msg_type,
+static bool print_admin_msg(THD* thd, uint len,
+ const char* msg_type,
const char* db_name, String &table_name,
const char* op_name, const char *fmt, ...)
- ATTRIBUTE_FORMAT(printf, 6, 7);
-static bool print_admin_msg(THD* thd, const char* msg_type,
+ ATTRIBUTE_FORMAT(printf, 7, 8);
+static bool print_admin_msg(THD* thd, uint len,
+ const char* msg_type,
const char* db_name, String &table_name,
const char* op_name, const char *fmt, ...)
{
va_list args;
Protocol *protocol= thd->protocol;
- uint length, msg_length;
- char msgbuf[MYSQL_ERRMSG_SIZE];
- char name[SAFE_NAME_LEN*2+2];
-
+ uint length;
+ uint msg_length;
+ char name[NAME_LEN*2+2];
+ char *msgbuf;
+ bool error= true;
+
+ if (!(msgbuf= (char*) my_malloc(len, MYF(0))))
+ return true;
va_start(args, fmt);
- msg_length= my_vsnprintf(msgbuf, sizeof(msgbuf), fmt, args);
+ msg_length= my_vsnprintf(msgbuf, len, fmt, args);
va_end(args);
- msgbuf[sizeof(msgbuf) - 1] = 0; // healthy paranoia
+ if (msg_length >= (len - 1))
+ goto err;
+ msgbuf[len - 1] = 0; // healthy paranoia
if (!thd->vio_ok())
{
- sql_print_error(fmt, args);
- return TRUE;
+ sql_print_error("%s", msgbuf);
+ goto err;
}
length=(uint) (strxmov(name, db_name, ".", table_name.c_ptr_safe(), NullS) - name);
@@ -1262,9 +1295,12 @@ static bool print_admin_msg(THD* thd, const char* msg_type,
{
sql_print_error("Failed on my_net_write, writing to stderr instead: %s\n",
msgbuf);
- return TRUE;
+ goto err;
}
- return FALSE;
+ error= false;
+err:
+ my_free(msgbuf);
+ return error;
}
@@ -1314,14 +1350,15 @@ int ha_partition::handle_opt_partitions(THD *thd, HA_CHECK_OPT *check_opt,
part= i * num_subparts + j;
DBUG_PRINT("info", ("Optimize subpartition %u (%s)",
part, sub_elem->partition_name));
- if ((error= handle_opt_part(thd, check_opt, m_file[part], flag)))
+ if ((error= handle_opt_part(thd, check_opt, part, flag)))
{
/* print a line which partition the error belongs to */
if (error != HA_ADMIN_NOT_IMPLEMENTED &&
error != HA_ADMIN_ALREADY_DONE &&
error != HA_ADMIN_TRY_ALTER)
{
- print_admin_msg(thd, "error", table_share->db.str, table->alias,
+ print_admin_msg(thd, MYSQL_ERRMSG_SIZE, "error",
+ table_share->db.str, table->alias,
opt_op_name[flag],
"Subpartition %s returned error",
sub_elem->partition_name);
@@ -1340,14 +1377,15 @@ int ha_partition::handle_opt_partitions(THD *thd, HA_CHECK_OPT *check_opt,
{
DBUG_PRINT("info", ("Optimize partition %u (%s)", i,
part_elem->partition_name));
- if ((error= handle_opt_part(thd, check_opt, m_file[i], flag)))
+ if ((error= handle_opt_part(thd, check_opt, i, flag)))
{
/* print a line which partition the error belongs to */
if (error != HA_ADMIN_NOT_IMPLEMENTED &&
error != HA_ADMIN_ALREADY_DONE &&
error != HA_ADMIN_TRY_ALTER)
{
- print_admin_msg(thd, "error", table_share->db.str, table->alias,
+ print_admin_msg(thd, MYSQL_ERRMSG_SIZE, "error",
+ table_share->db.str, table->alias,
opt_op_name[flag], "Partition %s returned error",
part_elem->partition_name);
}
@@ -2025,8 +2063,7 @@ void ha_partition::update_create_info(HA_CREATE_INFO *create_info)
my_bool from_alter = (create_info->data_file_name == (const char*) -1);
create_info->data_file_name= create_info->index_file_name = NULL;
- create_info->connect_string.str= NULL;
- create_info->connect_string.length= 0;
+ create_info->connect_string= null_lex_str;
/*
We do not need to update the individual partition DATA DIRECTORY settings
@@ -2984,7 +3021,7 @@ bool ha_partition::setup_engine_array(MEM_ROOT *mem_root)
}
}
- my_afree((void*) engine_array);
+ my_afree(engine_array);
if (create_handlers(mem_root))
{
@@ -2995,7 +3032,7 @@ bool ha_partition::setup_engine_array(MEM_ROOT *mem_root)
DBUG_RETURN(false);
err:
- my_afree((void*) engine_array);
+ my_afree(engine_array);
DBUG_RETURN(true);
}
@@ -4137,7 +4174,7 @@ exit:
Called from sql_select.cc, sql_acl.cc, sql_update.cc, and sql_insert.cc.
new_data is always record[0]
- old_data is normally record[1] but may be anything
+ old_data is always record[1]
*/
int ha_partition::update_row(const uchar *old_data, uchar *new_data)
@@ -4147,6 +4184,7 @@ int ha_partition::update_row(const uchar *old_data, uchar *new_data)
int error= 0;
longlong func_value;
DBUG_ENTER("ha_partition::update_row");
+ m_err_rec= NULL;
// Need to read partition-related columns, to locate the row's partition:
DBUG_ASSERT(bitmap_is_subset(&m_part_info->full_part_field_set,
@@ -4164,6 +4202,30 @@ int ha_partition::update_row(const uchar *old_data, uchar *new_data)
error= HA_ERR_NOT_IN_LOCK_PARTITIONS;
goto exit;
}
+
+ /*
+ The protocol for updating a row is:
+ 1) position the handler (cursor) on the row to be updated,
+ either through the last read row (rnd or index) or by rnd_pos.
+ 2) call update_row with both old and new full records as arguments.
+
+ This means that m_last_part should already be set to actual partition
+ where the row was read from. And if that is not the same as the
+ calculated part_id we found a misplaced row, we return an error to
+ notify the user that something is broken in the row distribution
+ between partitions! Since we don't check all rows on read, we return an
+ error instead of correcting m_last_part, to make the user aware of the
+ problem!
+
+ Notice that HA_READ_BEFORE_WRITE_REMOVAL does not require this protocol,
+ so this is not supported for this engine.
+ */
+ if (old_part_id != m_last_part)
+ {
+ m_err_rec= old_data;
+ DBUG_RETURN(HA_ERR_ROW_IN_WRONG_PARTITION);
+ }
+
m_last_part= new_part_id;
start_part_bulk_insert(thd, new_part_id);
if (new_part_id == old_part_id)
@@ -4267,6 +4329,7 @@ int ha_partition::delete_row(const uchar *buf)
int error;
THD *thd= ha_thd();
DBUG_ENTER("ha_partition::delete_row");
+ m_err_rec= NULL;
DBUG_ASSERT(bitmap_is_subset(&m_part_info->full_part_field_set,
table->read_set));
@@ -4274,12 +4337,39 @@ int ha_partition::delete_row(const uchar *buf)
{
DBUG_RETURN(error);
}
- m_last_part= part_id;
/* Should never call delete_row on a partition which is not read */
DBUG_ASSERT(bitmap_is_set(&(m_part_info->read_partitions), part_id));
DBUG_ASSERT(bitmap_is_set(&(m_part_info->lock_partitions), part_id));
if (!bitmap_is_set(&(m_part_info->lock_partitions), part_id))
DBUG_RETURN(HA_ERR_NOT_IN_LOCK_PARTITIONS);
+
+ /*
+ The protocol for deleting a row is:
+ 1) position the handler (cursor) on the row to be deleted,
+ either through the last read row (rnd or index) or by rnd_pos.
+ 2) call delete_row with the full record as argument.
+
+ This means that m_last_part should already be set to actual partition
+ where the row was read from. And if that is not the same as the
+ calculated part_id we found a misplaced row, we return an error to
+ notify the user that something is broken in the row distribution
+ between partitions! Since we don't check all rows on read, we return an
+ error instead of forwarding the delete to the correct (m_last_part)
+ partition!
+
+ Notice that HA_READ_BEFORE_WRITE_REMOVAL does not require this protocol,
+ so this is not supported for this engine.
+
+ TODO: change the assert in InnoDB into an error instead and make this one
+ an assert instead and remove the get_part_for_delete()!
+ */
+ if (part_id != m_last_part)
+ {
+ m_err_rec= buf;
+ DBUG_RETURN(HA_ERR_ROW_IN_WRONG_PARTITION);
+ }
+
+ m_last_part= part_id;
tmp_disable_binlog(thd);
error= m_file[part_id]->ha_delete_row(buf);
reenable_binlog(thd);
@@ -4402,7 +4492,7 @@ int ha_partition::truncate_partition(Alter_info *alter_info, bool *binlog_stmt)
{
List_iterator<partition_element>
subpart_it(part_elem->subpartitions);
- partition_element *sub_elem __attribute__((unused));
+ partition_element *sub_elem;
uint j= 0, part;
do
{
@@ -7498,7 +7588,6 @@ double ha_partition::read_time(uint index, uint ranges, ha_rows rows)
/**
Number of rows in table. see handler.h
-
@return Number of records in the table (after pruning!)
*/
@@ -7582,10 +7671,89 @@ uint32 ha_partition::calculate_key_hash_value(Field **field_array)
{
ulong nr1= 1;
ulong nr2= 4;
+ bool use_51_hash;
+ use_51_hash= test((*field_array)->table->part_info->key_algorithm ==
+ partition_info::KEY_ALGORITHM_51);
do
{
Field *field= *field_array;
+ if (use_51_hash)
+ {
+ switch (field->real_type()) {
+ case MYSQL_TYPE_TINY:
+ case MYSQL_TYPE_SHORT:
+ case MYSQL_TYPE_LONG:
+ case MYSQL_TYPE_FLOAT:
+ case MYSQL_TYPE_DOUBLE:
+ case MYSQL_TYPE_NEWDECIMAL:
+ case MYSQL_TYPE_TIMESTAMP:
+ case MYSQL_TYPE_LONGLONG:
+ case MYSQL_TYPE_INT24:
+ case MYSQL_TYPE_TIME:
+ case MYSQL_TYPE_DATETIME:
+ case MYSQL_TYPE_YEAR:
+ case MYSQL_TYPE_NEWDATE:
+ {
+ if (field->is_null())
+ {
+ nr1^= (nr1 << 1) | 1;
+ continue;
+ }
+ /* Force this to my_hash_sort_bin, which was used in 5.1! */
+ uint len= field->pack_length();
+ my_charset_bin.coll->hash_sort(&my_charset_bin, field->ptr, len,
+ &nr1, &nr2);
+ /* Done with this field, continue with next one. */
+ continue;
+ }
+ case MYSQL_TYPE_STRING:
+ case MYSQL_TYPE_VARCHAR:
+ case MYSQL_TYPE_BIT:
+ /* Not affected, same in 5.1 and 5.5 */
+ break;
+ /*
+ ENUM/SET uses my_hash_sort_simple in 5.1 (i.e. my_charset_latin1)
+ and my_hash_sort_bin in 5.5!
+ */
+ case MYSQL_TYPE_ENUM:
+ case MYSQL_TYPE_SET:
+ {
+ if (field->is_null())
+ {
+ nr1^= (nr1 << 1) | 1;
+ continue;
+ }
+ /* Force this to my_hash_sort_bin, which was used in 5.1! */
+ uint len= field->pack_length();
+ my_charset_latin1.coll->hash_sort(&my_charset_latin1, field->ptr,
+ len, &nr1, &nr2);
+ continue;
+ }
+ /* New types in mysql-5.6. */
+ case MYSQL_TYPE_DATETIME2:
+ case MYSQL_TYPE_TIME2:
+ case MYSQL_TYPE_TIMESTAMP2:
+ /* Not affected, 5.6+ only! */
+ break;
+
+ /* These types should not be allowed for partitioning! */
+ case MYSQL_TYPE_NULL:
+ case MYSQL_TYPE_DECIMAL:
+ case MYSQL_TYPE_DATE:
+ case MYSQL_TYPE_TINY_BLOB:
+ case MYSQL_TYPE_MEDIUM_BLOB:
+ case MYSQL_TYPE_LONG_BLOB:
+ case MYSQL_TYPE_BLOB:
+ case MYSQL_TYPE_VAR_STRING:
+ case MYSQL_TYPE_GEOMETRY:
+ /* fall through. */
+ default:
+ DBUG_ASSERT(0); // New type?
+ /* Fall through for default hashing (5.5). */
+ }
+ /* fall through, use collation based hashing. */
+ }
field->hash(&nr1, &nr2);
} while (*(++field_array));
return (uint32) nr1;
@@ -7641,6 +7809,57 @@ enum row_type ha_partition::get_row_type() const
}
+void ha_partition::append_row_to_str(String &str)
+{
+ const uchar *rec;
+ bool is_rec0= !m_err_rec || m_err_rec == table->record[0];
+ if (is_rec0)
+ rec= table->record[0];
+ else
+ rec= m_err_rec;
+ // If PK, use full PK instead of full part field array!
+ if (table->s->primary_key != MAX_KEY)
+ {
+ KEY *key= table->key_info + table->s->primary_key;
+ KEY_PART_INFO *key_part= key->key_part;
+ KEY_PART_INFO *key_part_end= key_part + key->user_defined_key_parts;
+ if (!is_rec0)
+ set_key_field_ptr(key, rec, table->record[0]);
+ for (; key_part != key_part_end; key_part++)
+ {
+ Field *field= key_part->field;
+ str.append(" ");
+ str.append(field->field_name);
+ str.append(":");
+ field_unpack(&str, field, rec, 0, false);
+ }
+ if (!is_rec0)
+ set_key_field_ptr(key, table->record[0], rec);
+ }
+ else
+ {
+ Field **field_ptr;
+ if (!is_rec0)
+ set_field_ptr(m_part_info->full_part_field_array, rec,
+ table->record[0]);
+ /* No primary key, use full partition field array. */
+ for (field_ptr= m_part_info->full_part_field_array;
+ *field_ptr;
+ field_ptr++)
+ {
+ Field *field= *field_ptr;
+ str.append(" ");
+ str.append(field->field_name);
+ str.append(":");
+ field_unpack(&str, field, rec, 0, false);
+ }
+ if (!is_rec0)
+ set_field_ptr(m_part_info->full_part_field_array, table->record[0],
+ rec);
+ }
+}
+
+
void ha_partition::print_error(int error, myf errflag)
{
THD *thd= ha_thd();
@@ -7652,21 +7871,62 @@ void ha_partition::print_error(int error, myf errflag)
if ((error == HA_ERR_NO_PARTITION_FOUND) &&
! (thd->lex->alter_info.flags & Alter_info::ALTER_TRUNCATE_PARTITION))
m_part_info->print_no_partition_found(table);
- else
- {
- /* In case m_file has not been initialized, like in bug#42438 */
- if (m_file)
+ else if (error == HA_ERR_ROW_IN_WRONG_PARTITION)
+ {
+ /* Should only happen on DELETE or UPDATE! */
+ DBUG_ASSERT(thd_sql_command(thd) == SQLCOM_DELETE ||
+ thd_sql_command(thd) == SQLCOM_DELETE_MULTI ||
+ thd_sql_command(thd) == SQLCOM_UPDATE ||
+ thd_sql_command(thd) == SQLCOM_UPDATE_MULTI);
+ DBUG_ASSERT(m_err_rec);
+ if (m_err_rec)
{
- if (m_last_part >= m_tot_parts)
+ uint max_length;
+ char buf[MAX_KEY_LENGTH];
+ String str(buf,sizeof(buf),system_charset_info);
+ uint32 part_id;
+ str.length(0);
+ str.append("(");
+ str.append_ulonglong(m_last_part);
+ str.append(" != ");
+ if (get_part_for_delete(m_err_rec, m_rec0, m_part_info, &part_id))
+ str.append("?");
+ else
+ str.append_ulonglong(part_id);
+ str.append(")");
+ append_row_to_str(str);
+
+ /* Log this error, so the DBA can notice it and fix it! */
+ sql_print_error("Table '%-192s' corrupted: row in wrong partition: %s\n"
+ "Please REPAIR the table!",
+ table->s->table_name.str,
+ str.c_ptr_safe());
+
+ max_length= (MYSQL_ERRMSG_SIZE - (uint) strlen(ER(ER_ROW_IN_WRONG_PARTITION)));
+ if (str.length() >= max_length)
{
- DBUG_ASSERT(0);
- m_last_part= 0;
+ str.length(max_length-4);
+ str.append(STRING_WITH_LEN("..."));
}
- m_file[m_last_part]->print_error(error, errflag);
+ my_error(ER_ROW_IN_WRONG_PARTITION, MYF(0), str.c_ptr_safe());
+ m_err_rec= NULL;
+ DBUG_VOID_RETURN;
}
- else
- handler::print_error(error, errflag);
+ /* fall through to generic error handling. */
+ }
+
+ /* In case m_file has not been initialized, like in bug#42438 */
+ if (m_file)
+ {
+ if (m_last_part >= m_tot_parts)
+ {
+ DBUG_ASSERT(0);
+ m_last_part= 0;
+ }
+ m_file[m_last_part]->print_error(error, errflag);
}
+ else
+ handler::print_error(error, errflag);
DBUG_VOID_RETURN;
}
@@ -7804,6 +8064,13 @@ ha_partition::check_if_supported_inplace_alter(TABLE *altered_table,
#endif
DBUG_ENTER("ha_partition::check_if_supported_inplace_alter");
+ /*
+ Support inplace change of KEY () -> KEY ALGORITHM = N ().
+ Any other change would set partition_changed in
+ prep_alter_part_table() in mysql_alter_table().
+ */
+ if (ha_alter_info->alter_info->flags == Alter_info::ALTER_PARTITION)
+ DBUG_RETURN(HA_ALTER_INPLACE_NO_LOCK);
#ifndef PARTITION_SUPPORTS_INPLACE_ALTER
/*
@@ -7861,6 +8128,13 @@ bool ha_partition::prepare_inplace_alter_table(TABLE *altered_table,
DBUG_ENTER("ha_partition::prepare_inplace_alter_table");
+ /*
+ Changing to similar partitioning, only update metadata.
+ Non allowed changes would be catched in prep_alter_part_table().
+ */
+ if (ha_alter_info->alter_info->flags == Alter_info::ALTER_PARTITION)
+ DBUG_RETURN(false);
+
part_inplace_ctx=
static_cast<class ha_partition_inplace_ctx*>(ha_alter_info->handler_ctx);
@@ -7887,6 +8161,13 @@ bool ha_partition::inplace_alter_table(TABLE *altered_table,
DBUG_ENTER("ha_partition::inplace_alter_table");
+ /*
+ Changing to similar partitioning, only update metadata.
+ Non allowed changes would be catched in prep_alter_part_table().
+ */
+ if (ha_alter_info->alter_info->flags == Alter_info::ALTER_PARTITION)
+ DBUG_RETURN(false);
+
part_inplace_ctx=
static_cast<class ha_partition_inplace_ctx*>(ha_alter_info->handler_ctx);
@@ -7920,6 +8201,13 @@ bool ha_partition::commit_inplace_alter_table(TABLE *altered_table,
DBUG_ENTER("ha_partition::commit_inplace_alter_table");
+ /*
+ Changing to similar partitioning, only update metadata.
+ Non allowed changes would be catched in prep_alter_part_table().
+ */
+ if (ha_alter_info->alter_info->flags == Alter_info::ALTER_PARTITION)
+ DBUG_RETURN(false);
+
part_inplace_ctx=
static_cast<class ha_partition_inplace_ctx*>(ha_alter_info->handler_ctx);
@@ -8236,7 +8524,7 @@ void ha_partition::get_auto_increment(ulonglong offset, ulonglong increment,
/* Only nb_desired_values = 1 makes sense */
(*file)->get_auto_increment(offset, increment, 1,
&first_value_part, &nb_reserved_values_part);
- if (first_value_part == ~(ulonglong)(0)) // error in one partition
+ if (first_value_part == ULONGLONG_MAX) // error in one partition
{
*first_value= first_value_part;
/* log that the error was between table/partition handler */
@@ -8456,6 +8744,290 @@ int ha_partition::indexes_are_disabled(void)
}
+/**
+ Check/fix misplaced rows.
+
+ @param read_part_id Partition to check/fix.
+ @param repair If true, move misplaced rows to correct partition.
+
+ @return Operation status.
+ @retval 0 Success
+ @retval != 0 Error
+*/
+
+int ha_partition::check_misplaced_rows(uint read_part_id, bool repair)
+{
+ int result= 0;
+ uint32 correct_part_id;
+ longlong func_value;
+ longlong num_misplaced_rows= 0;
+
+ DBUG_ENTER("ha_partition::check_misplaced_rows");
+
+ DBUG_ASSERT(m_file);
+
+ if (repair)
+ {
+ /* We must read the full row, if we need to move it! */
+ bitmap_set_all(table->read_set);
+ bitmap_set_all(table->write_set);
+ }
+ else
+ {
+ /* Only need to read the partitioning fields. */
+ bitmap_union(table->read_set, &m_part_info->full_part_field_set);
+ }
+
+ if ((result= m_file[read_part_id]->ha_rnd_init(1)))
+ DBUG_RETURN(result);
+
+ while (true)
+ {
+ if ((result= m_file[read_part_id]->ha_rnd_next(m_rec0)))
+ {
+ if (result == HA_ERR_RECORD_DELETED)
+ continue;
+ if (result != HA_ERR_END_OF_FILE)
+ break;
+
+ if (num_misplaced_rows > 0)
+ {
+ print_admin_msg(ha_thd(), MYSQL_ERRMSG_SIZE, "warning",
+ table_share->db.str, table->alias,
+ opt_op_name[REPAIR_PARTS],
+ "Moved %lld misplaced rows",
+ num_misplaced_rows);
+ }
+ /* End-of-file reached, all rows are now OK, reset result and break. */
+ result= 0;
+ break;
+ }
+
+ result= m_part_info->get_partition_id(m_part_info, &correct_part_id,
+ &func_value);
+ if (result)
+ break;
+
+ if (correct_part_id != read_part_id)
+ {
+ num_misplaced_rows++;
+ if (!repair)
+ {
+ /* Check. */
+ print_admin_msg(ha_thd(), MYSQL_ERRMSG_SIZE, "error",
+ table_share->db.str, table->alias,
+ opt_op_name[CHECK_PARTS],
+ "Found a misplaced row");
+ /* Break on first misplaced row! */
+ result= HA_ADMIN_NEEDS_UPGRADE;
+ break;
+ }
+ else
+ {
+ DBUG_PRINT("info", ("Moving row from partition %d to %d",
+ read_part_id, correct_part_id));
+
+ /*
+ Insert row into correct partition. Notice that there are no commit
+ for every N row, so the repair will be one large transaction!
+ */
+ if ((result= m_file[correct_part_id]->ha_write_row(m_rec0)))
+ {
+ /*
+ We have failed to insert a row, it might have been a duplicate!
+ */
+ char buf[MAX_KEY_LENGTH];
+ String str(buf,sizeof(buf),system_charset_info);
+ str.length(0);
+ if (result == HA_ERR_FOUND_DUPP_KEY)
+ {
+ str.append("Duplicate key found, "
+ "please update or delete the record:\n");
+ result= HA_ADMIN_CORRUPT;
+ }
+ m_err_rec= NULL;
+ append_row_to_str(str);
+
+ /*
+ If the engine supports transactions, the failure will be
+ rollbacked.
+ */
+ if (!m_file[correct_part_id]->has_transactions())
+ {
+ /* Log this error, so the DBA can notice it and fix it! */
+ sql_print_error("Table '%-192s' failed to move/insert a row"
+ " from part %d into part %d:\n%s",
+ table->s->table_name.str,
+ read_part_id,
+ correct_part_id,
+ str.c_ptr_safe());
+ }
+ print_admin_msg(ha_thd(), MYSQL_ERRMSG_SIZE, "error",
+ table_share->db.str, table->alias,
+ opt_op_name[REPAIR_PARTS],
+ "Failed to move/insert a row"
+ " from part %d into part %d:\n%s",
+ read_part_id,
+ correct_part_id,
+ str.c_ptr_safe());
+ break;
+ }
+
+ /* Delete row from wrong partition. */
+ if ((result= m_file[read_part_id]->ha_delete_row(m_rec0)))
+ {
+ if (m_file[correct_part_id]->has_transactions())
+ break;
+ /*
+ We have introduced a duplicate, since we failed to remove it
+ from the wrong partition.
+ */
+ char buf[MAX_KEY_LENGTH];
+ String str(buf,sizeof(buf),system_charset_info);
+ str.length(0);
+ m_err_rec= NULL;
+ append_row_to_str(str);
+
+ /* Log this error, so the DBA can notice it and fix it! */
+ sql_print_error("Table '%-192s': Delete from part %d failed with"
+ " error %d. But it was already inserted into"
+ " part %d, when moving the misplaced row!"
+ "\nPlease manually fix the duplicate row:\n%s",
+ table->s->table_name.str,
+ read_part_id,
+ result,
+ correct_part_id,
+ str.c_ptr_safe());
+ break;
+ }
+ }
+ }
+ }
+
+ int tmp_result= m_file[read_part_id]->ha_rnd_end();
+ DBUG_RETURN(result ? result : tmp_result);
+}
+
+
+#define KEY_PARTITIONING_CHANGED_STR \
+ "KEY () partitioning changed, please run:\n" \
+ "ALTER TABLE %s.%s ALGORITHM = INPLACE %s"
+
+int ha_partition::check_for_upgrade(HA_CHECK_OPT *check_opt)
+{
+ int error= HA_ADMIN_NEEDS_CHECK;
+ DBUG_ENTER("ha_partition::check_for_upgrade");
+
+ /*
+ This is called even without FOR UPGRADE,
+ if the .frm version is lower than the current version.
+ In that case return that it needs checking!
+ */
+ if (!(check_opt->sql_flags & TT_FOR_UPGRADE))
+ DBUG_RETURN(error);
+
+ /*
+ Partitions will be checked for during their ha_check!
+
+ Check if KEY (sub)partitioning was used and any field's hash calculation
+ differs from 5.1, see bug#14521864.
+ */
+ if (table->s->mysql_version < 50503 && // 5.1 table (<5.5.3)
+ ((m_part_info->part_type == HASH_PARTITION && // KEY partitioned
+ m_part_info->list_of_part_fields) ||
+ (m_is_sub_partitioned && // KEY subpartitioned
+ m_part_info->list_of_subpart_fields)))
+ {
+ Field **field;
+ if (m_is_sub_partitioned)
+ {
+ field= m_part_info->subpart_field_array;
+ }
+ else
+ {
+ field= m_part_info->part_field_array;
+ }
+ for (; *field; field++)
+ {
+ switch ((*field)->real_type()) {
+ case MYSQL_TYPE_TINY:
+ case MYSQL_TYPE_SHORT:
+ case MYSQL_TYPE_LONG:
+ case MYSQL_TYPE_FLOAT:
+ case MYSQL_TYPE_DOUBLE:
+ case MYSQL_TYPE_NEWDECIMAL:
+ case MYSQL_TYPE_TIMESTAMP:
+ case MYSQL_TYPE_LONGLONG:
+ case MYSQL_TYPE_INT24:
+ case MYSQL_TYPE_TIME:
+ case MYSQL_TYPE_DATETIME:
+ case MYSQL_TYPE_YEAR:
+ case MYSQL_TYPE_NEWDATE:
+ case MYSQL_TYPE_ENUM:
+ case MYSQL_TYPE_SET:
+ {
+ THD *thd= ha_thd();
+ char *part_buf;
+ String db_name, table_name;
+ uint part_buf_len;
+ bool skip_generation= false;
+ partition_info::enum_key_algorithm old_algorithm;
+ old_algorithm= m_part_info->key_algorithm;
+ error= HA_ADMIN_FAILED;
+ append_identifier(ha_thd(), &db_name, table_share->db.str,
+ table_share->db.length);
+ append_identifier(ha_thd(), &table_name, table_share->table_name.str,
+ table_share->table_name.length);
+ if (m_part_info->key_algorithm != partition_info::KEY_ALGORITHM_NONE)
+ {
+ /*
+ Only possible when someone tampered with .frm files,
+ like during tests :)
+ */
+ skip_generation= true;
+ }
+ m_part_info->key_algorithm= partition_info::KEY_ALGORITHM_51;
+ if (skip_generation ||
+ !(part_buf= generate_partition_syntax(m_part_info,
+ &part_buf_len,
+ true,
+ true,
+ NULL,
+ NULL,
+ NULL)) ||
+ print_admin_msg(thd, SQL_ADMIN_MSG_TEXT_SIZE + 1, "error",
+ table_share->db.str,
+ table->alias,
+ opt_op_name[CHECK_PARTS],
+ KEY_PARTITIONING_CHANGED_STR,
+ db_name.c_ptr_safe(),
+ table_name.c_ptr_safe(),
+ part_buf))
+ {
+ /* Error creating admin message (too long string?). */
+ print_admin_msg(thd, MYSQL_ERRMSG_SIZE, "error",
+ table_share->db.str, table->alias,
+ opt_op_name[CHECK_PARTS],
+ KEY_PARTITIONING_CHANGED_STR,
+ db_name.c_ptr_safe(), table_name.c_ptr_safe(),
+ "<old partition clause>, but add ALGORITHM = 1"
+ " between 'KEY' and '(' to change the metadata"
+ " without the need of a full table rebuild.");
+ }
+ m_part_info->key_algorithm= old_algorithm;
+ DBUG_RETURN(error);
+ }
+ default:
+ /* Not affected! */
+ ;
+ }
+ }
+ }
+
+ DBUG_RETURN(error);
+}
+
+
struct st_mysql_storage_engine partition_storage_engine=
{ MYSQL_HANDLERTON_INTERFACE_VERSION };
diff --git a/sql/ha_partition.h b/sql/ha_partition.h
index 5881ee8b41a..71a82b5af6d 100644
--- a/sql/ha_partition.h
+++ b/sql/ha_partition.h
@@ -24,7 +24,7 @@
enum partition_keywords
{
PKW_HASH= 0, PKW_RANGE, PKW_LIST, PKW_KEY, PKW_MAXVALUE, PKW_LINEAR,
- PKW_COLUMNS
+ PKW_COLUMNS, PKW_ALGORITHM
};
@@ -155,6 +155,7 @@ private:
*/
KEY *m_curr_key_info[3]; // Current index
uchar *m_rec0; // table->record[0]
+ const uchar *m_err_rec; // record which gave error
QUEUE m_queue; // Prio queue used by sorted read
/*
Since the partition handler is a handler on top of other handlers, it
@@ -1188,9 +1189,18 @@ public:
virtual bool check_and_repair(THD *thd);
virtual bool auto_repair(int error) const;
virtual bool is_crashed() const;
+ virtual int check_for_upgrade(HA_CHECK_OPT *check_opt);
private:
int handle_opt_partitions(THD *thd, HA_CHECK_OPT *check_opt, uint flags);
+ int handle_opt_part(THD *thd, HA_CHECK_OPT *check_opt, uint part_id,
+ uint flag);
+ /**
+ Check if the rows are placed in the correct partition. If the given
+ argument is true, then move the rows to the correct partition.
+ */
+ int check_misplaced_rows(uint read_part_id, bool repair);
+ void append_row_to_str(String &str);
public:
/*
diff --git a/sql/handler.cc b/sql/handler.cc
index 2c7d15d9631..075855bde16 100644
--- a/sql/handler.cc
+++ b/sql/handler.cc
@@ -5883,6 +5883,7 @@ int handler::ha_update_row(const uchar *old_data, uchar *new_data)
(and the old record is in record[1]).
*/
DBUG_ASSERT(new_data == table->record[0]);
+ DBUG_ASSERT(old_data == table->record[1]);
MYSQL_UPDATE_ROW_START(table_share->db.str, table_share->table_name.str);
mark_trx_read_write();
@@ -5906,6 +5907,11 @@ int handler::ha_delete_row(const uchar *buf)
Log_func *log_func= Delete_rows_log_event::binlog_row_logging_function;
DBUG_ASSERT(table_share->tmp_table != NO_TMP_TABLE ||
m_lock_type == F_WRLCK);
+ /*
+ Normally table->record[0] is used, but sometimes table->record[1] is used.
+ */
+ DBUG_ASSERT(buf == table->record[0] ||
+ buf == table->record[1]);
MYSQL_DELETE_ROW_START(table_share->db.str, table_share->table_name.str);
mark_trx_read_write();
diff --git a/sql/key.cc b/sql/key.cc
index edc3e6c0057..8ba3d48e8dc 100644
--- a/sql/key.cc
+++ b/sql/key.cc
@@ -21,6 +21,9 @@
#include "key.h" // key_rec_cmp
#include "field.h" // Field
+using std::min;
+using std::max;
+
/*
Search after a key that starts with 'field'
@@ -132,7 +135,7 @@ void key_copy(uchar *to_key, uchar *from_record, KEY *key_info,
Don't copy data for null values
The -1 below is to subtract the null byte which is already handled
*/
- length= MY_MIN(key_length, (uint) key_part->store_length-1);
+ length= min<uint>(key_length, key_part->store_length-1);
if (with_zerofill)
bzero((char*) to_key, length);
continue;
@@ -142,7 +145,7 @@ void key_copy(uchar *to_key, uchar *from_record, KEY *key_info,
key_part->key_part_flag & HA_VAR_LENGTH_PART)
{
key_length-= HA_KEY_BLOB_LENGTH;
- length= MY_MIN(key_length, key_part->length);
+ length= min<uint>(key_length, key_part->length);
uint bytes= key_part->field->get_key_image(to_key, length, Field::itRAW);
if (with_zerofill && bytes < length)
bzero((char*) to_key + bytes, length - bytes);
@@ -150,7 +153,7 @@ void key_copy(uchar *to_key, uchar *from_record, KEY *key_info,
}
else
{
- length= MY_MIN(key_length, key_part->length);
+ length= min<uint>(key_length, key_part->length);
Field *field= key_part->field;
CHARSET_INFO *cs= field->charset();
uint bytes= field->get_key_image(to_key, length, Field::itRAW);
@@ -202,7 +205,7 @@ void key_restore(uchar *to_record, uchar *from_key, KEY *key_info,
Don't copy data for null bytes
The -1 below is to subtract the null byte which is already handled
*/
- length= MY_MIN(key_length, (uint) key_part->store_length-1);
+ length= min<uint>(key_length, key_part->store_length-1);
continue;
}
}
@@ -244,7 +247,7 @@ void key_restore(uchar *to_record, uchar *from_key, KEY *key_info,
my_ptrdiff_t ptrdiff= to_record - field->table->record[0];
field->move_field_offset(ptrdiff);
key_length-= HA_KEY_BLOB_LENGTH;
- length= MY_MIN(key_length, key_part->length);
+ length= min<uint>(key_length, key_part->length);
old_map= dbug_tmp_use_all_columns(field->table, field->table->write_set);
field->set_key_image(from_key, length);
dbug_tmp_restore_column_map(field->table->write_set, old_map);
@@ -253,7 +256,7 @@ void key_restore(uchar *to_record, uchar *from_key, KEY *key_info,
}
else
{
- length= MY_MIN(key_length, key_part->length);
+ length= min<uint>(key_length, key_part->length);
/* skip the byte with 'uneven' bits, if used */
memcpy(to_record + key_part->offset, from_key + used_uneven_bits
, (size_t) length - used_uneven_bits);
@@ -311,7 +314,7 @@ bool key_cmp_if_same(TABLE *table,const uchar *key,uint idx,uint key_length)
return 1;
continue;
}
- length= MY_MIN((uint) (key_end-key), store_length);
+ length= min((uint) (key_end-key), store_length);
if (!(key_part->key_type & (FIELDFLAG_NUMBER+FIELDFLAG_BINARY+
FIELDFLAG_PACK)))
{
@@ -347,8 +350,8 @@ bool key_cmp_if_same(TABLE *table,const uchar *key,uint idx,uint key_length)
@param prefix_key The field is used as a prefix key.
*/
-static void field_unpack(String *to, Field *field, const uchar *rec,
- uint max_length, bool prefix_key)
+void field_unpack(String *to, Field *field, const uchar *rec, uint max_length,
+ bool prefix_key)
{
String tmp;
DBUG_ENTER("field_unpack");
@@ -389,7 +392,7 @@ static void field_unpack(String *to, Field *field, const uchar *rec,
tmp.length(charpos);
}
if (max_length < field->pack_length())
- tmp.length(MY_MIN(tmp.length(),max_length));
+ tmp.length(min(tmp.length(),max_length));
ErrConvString err(&tmp);
to->append(err.ptr());
}
@@ -410,18 +413,17 @@ static void field_unpack(String *to, Field *field, const uchar *rec,
@param
table Table to use
@param
- idx Key number
+ key Key
*/
-void key_unpack(String *to,TABLE *table, KEY *key)
+void key_unpack(String *to, TABLE *table, KEY *key)
{
- KEY_PART_INFO *key_part,*key_part_end;
my_bitmap_map *old_map= dbug_tmp_use_all_columns(table, table->read_set);
DBUG_ENTER("key_unpack");
to->length(0);
- for (key_part=key->key_part,key_part_end=key_part+
- key->user_defined_key_parts ;
+ KEY_PART_INFO *key_part_end= key->key_part + key->user_defined_key_parts;
+ for (KEY_PART_INFO *key_part= key->key_part;
key_part < key_part_end;
key_part++)
{
diff --git a/sql/key.h b/sql/key.h
index c8b3ad997fb..ba3102947b3 100644
--- a/sql/key.h
+++ b/sql/key.h
@@ -32,7 +32,9 @@ void key_copy(uchar *to_key, uchar *from_record, KEY *key_info, uint key_length,
void key_restore(uchar *to_record, uchar *from_key, KEY *key_info,
uint key_length);
bool key_cmp_if_same(TABLE *form,const uchar *key,uint index,uint key_length);
-void key_unpack(String *to, TABLE *form, KEY *key);
+void key_unpack(String *to, TABLE *table, KEY *key);
+void field_unpack(String *to, Field *field, const uchar *rec, uint max_length,
+ bool prefix_key);
bool is_key_used(TABLE *table, uint idx, const MY_BITMAP *fields);
int key_cmp(KEY_PART_INFO *key_part, const uchar *key, uint key_length);
ulong key_hashnr(KEY *key_info, uint used_key_parts, const uchar *key);
diff --git a/sql/partition_element.h b/sql/partition_element.h
index 4f03d91035a..d0a67c6af3e 100644
--- a/sql/partition_element.h
+++ b/sql/partition_element.h
@@ -115,12 +115,10 @@ public:
partition_name(NULL), tablespace_name(NULL),
log_entry(NULL), part_comment(NULL),
data_file_name(NULL), index_file_name(NULL),
- engine_type(NULL), part_state(PART_NORMAL),
+ engine_type(NULL), connect_string(null_lex_str), part_state(PART_NORMAL),
nodegroup_id(UNDEF_NODEGROUP), has_null_value(FALSE),
signed_flag(FALSE), max_value(FALSE)
{
- connect_string.str= 0;
- connect_string.length= 0;
}
partition_element(partition_element *part_elem)
: part_max_rows(part_elem->part_max_rows),
@@ -131,13 +129,11 @@ public:
data_file_name(part_elem->data_file_name),
index_file_name(part_elem->index_file_name),
engine_type(part_elem->engine_type),
- connect_string(part_elem->connect_string),
+ connect_string(null_lex_str),
part_state(part_elem->part_state),
nodegroup_id(part_elem->nodegroup_id),
has_null_value(FALSE)
{
- connect_string.str= 0;
- connect_string.length= 0;
}
~partition_element() {}
};
diff --git a/sql/partition_info.cc b/sql/partition_info.cc
index cbd7dedec32..c5f1d68dda1 100644
--- a/sql/partition_info.cc
+++ b/sql/partition_info.cc
@@ -2705,9 +2705,11 @@ end:
DBUG_RETURN(result);
}
-/*
- The parser generates generic data structures, we need to set them up
- as the rest of the code expects to find them. This is in reality part
+/**
+ Fix partition data from parser.
+
+ @details The parser generates generic data structures, we need to set them
+ up as the rest of the code expects to find them. This is in reality part
of the syntax check of the parser code.
It is necessary to call this function in the case of a CREATE TABLE
@@ -2739,16 +2741,14 @@ end:
and number of elements are in synch with each other. So only partitioning
using functions need to be set-up to their data structures.
- SYNOPSIS
- fix_parser_data()
- thd Thread object
+ @param thd Thread object
- RETURN VALUES
- TRUE Failure
- FALSE Success
+ @return Operation status
+ @retval TRUE Failure
+ @retval FALSE Success
*/
-int partition_info::fix_parser_data(THD *thd)
+bool partition_info::fix_parser_data(THD *thd)
{
List_iterator<partition_element> it(partitions);
partition_element *part_elem;
@@ -2759,9 +2759,36 @@ int partition_info::fix_parser_data(THD *thd)
if (!(part_type == RANGE_PARTITION ||
part_type == LIST_PARTITION))
{
- /* Nothing to do for HASH/KEY partitioning */
+ if (part_type == HASH_PARTITION && list_of_part_fields)
+ {
+ /* KEY partitioning, check ALGORITHM = N. Should not pass the parser! */
+ if (key_algorithm > KEY_ALGORITHM_55)
+ {
+ my_error(ER_PARTITION_FUNCTION_IS_NOT_ALLOWED, MYF(0));
+ DBUG_RETURN(true);
+ }
+ /* If not set, use DEFAULT = 2 for CREATE and ALTER! */
+ if ((thd_sql_command(thd) == SQLCOM_CREATE_TABLE ||
+ thd_sql_command(thd) == SQLCOM_ALTER_TABLE) &&
+ key_algorithm == KEY_ALGORITHM_NONE)
+ key_algorithm= KEY_ALGORITHM_55;
+ }
DBUG_RETURN(FALSE);
}
+ if (is_sub_partitioned() && list_of_subpart_fields)
+ {
+ /* KEY subpartitioning, check ALGORITHM = N. Should not pass the parser! */
+ if (key_algorithm > KEY_ALGORITHM_55)
+ {
+ my_error(ER_PARTITION_FUNCTION_IS_NOT_ALLOWED, MYF(0));
+ DBUG_RETURN(true);
+ }
+ /* If not set, use DEFAULT = 2 for CREATE and ALTER! */
+ if ((thd_sql_command(thd) == SQLCOM_CREATE_TABLE ||
+ thd_sql_command(thd) == SQLCOM_ALTER_TABLE) &&
+ key_algorithm == KEY_ALGORITHM_NONE)
+ key_algorithm= KEY_ALGORITHM_55;
+ }
do
{
part_elem= it++;
@@ -2811,6 +2838,262 @@ int partition_info::fix_parser_data(THD *thd)
}
+/**
+ helper function to compare strings that can also be
+ a NULL pointer.
+
+ @param a char pointer (can be NULL).
+ @param b char pointer (can be NULL).
+
+ @return false if equal
+ @retval true strings differs
+ @retval false strings is equal
+*/
+
+static bool strcmp_null(const char *a, const char *b)
+{
+ if (!a && !b)
+ return false;
+ if (a && b && !strcmp(a, b))
+ return false;
+ return true;
+}
+
+
+/**
+ Check if the new part_info has the same partitioning.
+
+ @param new_part_info New partition definition to compare with.
+
+ @return True if not considered to have changed the partitioning.
+ @retval true Allowed change (only .frm change, compatible distribution).
+ @retval false Different partitioning, will need redistribution of rows.
+
+ @note Currently only used to allow changing from non-set key_algorithm
+ to a specified key_algorithm, to avoid rebuild when upgrading from 5.1 of
+ such partitioned tables using numeric colums in the partitioning expression.
+ For more info see bug#14521864.
+ Does not check if columns etc has changed, i.e. only for
+ alter_info->flags == ALTER_PARTITION.
+*/
+
+bool partition_info::has_same_partitioning(partition_info *new_part_info)
+{
+ DBUG_ENTER("partition_info::has_same_partitioning");
+
+ DBUG_ASSERT(part_field_array && part_field_array[0]);
+
+ /*
+ Only consider pre 5.5.3 .frm's to have same partitioning as
+ a new one with KEY ALGORITHM = 1 ().
+ */
+
+ if (part_field_array[0]->table->s->mysql_version >= 50503)
+ DBUG_RETURN(false);
+
+ if (!new_part_info ||
+ part_type != new_part_info->part_type ||
+ num_parts != new_part_info->num_parts ||
+ use_default_partitions != new_part_info->use_default_partitions ||
+ new_part_info->is_sub_partitioned() != is_sub_partitioned())
+ DBUG_RETURN(false);
+
+ if (part_type != HASH_PARTITION)
+ {
+ /*
+ RANGE or LIST partitioning, check if KEY subpartitioned.
+ Also COLUMNS partitioning was added in 5.5, so treat that as different.
+ */
+ if (!is_sub_partitioned() ||
+ !new_part_info->is_sub_partitioned() ||
+ column_list ||
+ new_part_info->column_list ||
+ !list_of_subpart_fields ||
+ !new_part_info->list_of_subpart_fields ||
+ new_part_info->num_subparts != num_subparts ||
+ new_part_info->subpart_field_list.elements !=
+ subpart_field_list.elements ||
+ new_part_info->use_default_subpartitions !=
+ use_default_subpartitions)
+ DBUG_RETURN(false);
+ }
+ else
+ {
+ /* Check if KEY partitioned. */
+ if (!new_part_info->list_of_part_fields ||
+ !list_of_part_fields ||
+ new_part_info->part_field_list.elements != part_field_list.elements)
+ DBUG_RETURN(false);
+ }
+
+ /* Check that it will use the same fields in KEY (fields) list. */
+ List_iterator<char> old_field_name_it(part_field_list);
+ List_iterator<char> new_field_name_it(new_part_info->part_field_list);
+ char *old_name, *new_name;
+ while ((old_name= old_field_name_it++))
+ {
+ new_name= new_field_name_it++;
+ if (!new_name || my_strcasecmp(system_charset_info,
+ new_name,
+ old_name))
+ DBUG_RETURN(false);
+ }
+
+ if (is_sub_partitioned())
+ {
+ /* Check that it will use the same fields in KEY subpart fields list. */
+ List_iterator<char> old_field_name_it(subpart_field_list);
+ List_iterator<char> new_field_name_it(new_part_info->subpart_field_list);
+ char *old_name, *new_name;
+ while ((old_name= old_field_name_it++))
+ {
+ new_name= new_field_name_it++;
+ if (!new_name || my_strcasecmp(system_charset_info,
+ new_name,
+ old_name))
+ DBUG_RETURN(false);
+ }
+ }
+
+ if (!use_default_partitions)
+ {
+ /*
+ Loop over partitions/subpartition to verify that they are
+ the same, including state and name.
+ */
+ List_iterator<partition_element> part_it(partitions);
+ List_iterator<partition_element> new_part_it(new_part_info->partitions);
+ uint i= 0;
+ do
+ {
+ partition_element *part_elem= part_it++;
+ partition_element *new_part_elem= new_part_it++;
+ /*
+ The following must match:
+ partition_name, tablespace_name, data_file_name, index_file_name,
+ engine_type, part_max_rows, part_min_rows, nodegroup_id.
+ (max_value, signed_flag, has_null_value only on partition level,
+ RANGE/LIST)
+ The following can differ:
+ - part_comment
+ part_state must be PART_NORMAL!
+ */
+ if (!part_elem || !new_part_elem ||
+ strcmp(part_elem->partition_name,
+ new_part_elem->partition_name) ||
+ part_elem->part_state != PART_NORMAL ||
+ new_part_elem->part_state != PART_NORMAL ||
+ part_elem->max_value != new_part_elem->max_value ||
+ part_elem->signed_flag != new_part_elem->signed_flag ||
+ part_elem->has_null_value != new_part_elem->has_null_value)
+ DBUG_RETURN(false);
+
+ /* new_part_elem may not have engine_type set! */
+ if (new_part_elem->engine_type &&
+ part_elem->engine_type != new_part_elem->engine_type)
+ DBUG_RETURN(false);
+
+ if (is_sub_partitioned())
+ {
+ /*
+ Check that both old and new partition has the same definition
+ (VALUES IN/VALUES LESS THAN) (No COLUMNS partitioning, see above)
+ */
+ if (part_type == LIST_PARTITION)
+ {
+ List_iterator<part_elem_value> list_vals(part_elem->list_val_list);
+ List_iterator<part_elem_value>
+ new_list_vals(new_part_elem->list_val_list);
+ part_elem_value *val;
+ part_elem_value *new_val;
+ while ((val= list_vals++))
+ {
+ new_val= new_list_vals++;
+ if (!new_val)
+ DBUG_RETURN(false);
+ if ((!val->null_value && !new_val->null_value) &&
+ val->value != new_val->value)
+ DBUG_RETURN(false);
+ }
+ if (new_list_vals++)
+ DBUG_RETURN(false);
+ }
+ else
+ {
+ DBUG_ASSERT(part_type == RANGE_PARTITION);
+ if (new_part_elem->range_value != part_elem->range_value)
+ DBUG_RETURN(false);
+ }
+
+ if (!use_default_subpartitions)
+ {
+ List_iterator<partition_element>
+ sub_part_it(part_elem->subpartitions);
+ List_iterator<partition_element>
+ new_sub_part_it(new_part_elem->subpartitions);
+ uint j= 0;
+ do
+ {
+ partition_element *sub_part_elem= sub_part_it++;
+ partition_element *new_sub_part_elem= new_sub_part_it++;
+ /* new_part_elem may not have engine_type set! */
+ if (new_sub_part_elem->engine_type &&
+ sub_part_elem->engine_type != new_sub_part_elem->engine_type)
+ DBUG_RETURN(false);
+
+ if (strcmp(sub_part_elem->partition_name,
+ new_sub_part_elem->partition_name) ||
+ sub_part_elem->part_state != PART_NORMAL ||
+ new_sub_part_elem->part_state != PART_NORMAL ||
+ sub_part_elem->part_min_rows !=
+ new_sub_part_elem->part_min_rows ||
+ sub_part_elem->part_max_rows !=
+ new_sub_part_elem->part_max_rows ||
+ sub_part_elem->nodegroup_id !=
+ new_sub_part_elem->nodegroup_id)
+ DBUG_RETURN(false);
+
+ if (strcmp_null(sub_part_elem->data_file_name,
+ new_sub_part_elem->data_file_name) ||
+ strcmp_null(sub_part_elem->index_file_name,
+ new_sub_part_elem->index_file_name) ||
+ strcmp_null(sub_part_elem->tablespace_name,
+ new_sub_part_elem->tablespace_name))
+ DBUG_RETURN(false);
+
+ } while (++j < num_subparts);
+ }
+ }
+ else
+ {
+ if (part_elem->part_min_rows != new_part_elem->part_min_rows ||
+ part_elem->part_max_rows != new_part_elem->part_max_rows ||
+ part_elem->nodegroup_id != new_part_elem->nodegroup_id)
+ DBUG_RETURN(false);
+
+ if (strcmp_null(part_elem->data_file_name,
+ new_part_elem->data_file_name) ||
+ strcmp_null(part_elem->index_file_name,
+ new_part_elem->index_file_name) ||
+ strcmp_null(part_elem->tablespace_name,
+ new_part_elem->tablespace_name))
+ DBUG_RETURN(false);
+ }
+ } while (++i < num_parts);
+ }
+
+ /*
+ Only if key_algorithm was not specified before and it is now set,
+ consider this as nothing was changed, and allow change without rebuild!
+ */
+ if (key_algorithm != partition_info::KEY_ALGORITHM_NONE ||
+ new_part_info->key_algorithm == partition_info::KEY_ALGORITHM_NONE)
+ DBUG_RETURN(false);
+
+ DBUG_RETURN(true);
+}
+
+
void partition_info::print_debug(const char *str, uint *value)
{
DBUG_ENTER("print_debug");
diff --git a/sql/partition_info.h b/sql/partition_info.h
index 59b40d7ce88..777cd6065eb 100644
--- a/sql/partition_info.h
+++ b/sql/partition_info.h
@@ -168,8 +168,8 @@ public:
char *part_func_string;
char *subpart_func_string;
- partition_element *curr_part_elem;
- partition_element *current_partition;
+ partition_element *curr_part_elem; // part or sub part
+ partition_element *current_partition; // partition
part_elem_value *curr_list_val;
uint curr_list_object;
uint num_columns;
@@ -193,9 +193,7 @@ public:
uint num_parts;
uint num_subparts;
- uint count_curr_subparts;
-
- uint part_error_code;
+ uint count_curr_subparts; // used during parsing
uint num_list_values;
@@ -210,21 +208,35 @@ public:
but mainly of use to handlers supporting partitioning.
*/
uint16 linear_hash_mask;
-
+ /*
+ PARTITION BY KEY ALGORITHM=N
+ Which algorithm to use for hashing the fields.
+ N = 1 - Use 5.1 hashing (numeric fields are hashed as binary)
+ N = 2 - Use 5.5 hashing (numeric fields are hashed like latin1 bytes)
+ */
+ enum enum_key_algorithm
+ {
+ KEY_ALGORITHM_NONE= 0,
+ KEY_ALGORITHM_51= 1,
+ KEY_ALGORITHM_55= 2
+ };
+ enum_key_algorithm key_algorithm;
+
+ /* Only the number of partitions defined (uses default names and options). */
bool use_default_partitions;
bool use_default_num_partitions;
+ /* Only the number of subpartitions defined (uses default names etc.). */
bool use_default_subpartitions;
bool use_default_num_subpartitions;
bool default_partitions_setup;
bool defined_max_value;
- bool list_of_part_fields;
- bool list_of_subpart_fields;
- bool linear_hash_ind;
+ bool list_of_part_fields; // KEY or COLUMNS PARTITIONING
+ bool list_of_subpart_fields; // KEY SUBPARTITIONING
+ bool linear_hash_ind; // LINEAR HASH/KEY
bool fixed;
bool is_auto_partitioned;
- bool from_openfrm;
bool has_null_value;
- bool column_list;
+ bool column_list; // COLUMNS PARTITIONING, 5.5+
/**
True if pruning has been completed and can not be pruned any further,
even if there are subqueries or stored programs in the condition.
@@ -251,21 +263,22 @@ public:
part_info_string(NULL),
part_func_string(NULL), subpart_func_string(NULL),
curr_part_elem(NULL), current_partition(NULL),
- curr_list_object(0), num_columns(0),
+ curr_list_object(0), num_columns(0), table(NULL),
default_engine_type(NULL),
part_type(NOT_A_PARTITION), subpart_type(NOT_A_PARTITION),
part_info_len(0),
part_func_len(0), subpart_func_len(0),
num_parts(0), num_subparts(0),
- count_curr_subparts(0), part_error_code(0),
+ count_curr_subparts(0),
num_list_values(0), num_part_fields(0), num_subpart_fields(0),
num_full_part_fields(0), has_null_part_id(0), linear_hash_mask(0),
+ key_algorithm(KEY_ALGORITHM_NONE),
use_default_partitions(TRUE), use_default_num_partitions(TRUE),
use_default_subpartitions(TRUE), use_default_num_subpartitions(TRUE),
default_partitions_setup(FALSE), defined_max_value(FALSE),
list_of_part_fields(FALSE), list_of_subpart_fields(FALSE),
linear_hash_ind(FALSE), fixed(FALSE),
- is_auto_partitioned(FALSE), from_openfrm(FALSE),
+ is_auto_partitioned(FALSE),
has_null_value(FALSE), column_list(FALSE), is_pruning_completed(false)
{
all_fields_in_PF.clear_all();
@@ -314,7 +327,7 @@ public:
bool fix_column_value_functions(THD *thd,
part_elem_value *val,
uint part_id);
- int fix_parser_data(THD *thd);
+ bool fix_parser_data(THD *thd);
int add_max_value();
void init_col_val(part_column_list_val *col_val, Item *item);
int reorganize_into_single_field_col_val();
@@ -355,6 +368,7 @@ public:
enum_can_prune *can_prune_partitions,
bool *prune_needs_default_values,
MY_BITMAP *used_partitions);
+ bool has_same_partitioning(partition_info *new_part_info);
private:
static int list_part_cmp(const void* a, const void* b);
bool set_up_default_partitions(handler *file, HA_CREATE_INFO *info,
diff --git a/sql/share/errmsg-utf8.txt b/sql/share/errmsg-utf8.txt
index 3ddeb7d82bb..6a01ffe4ffb 100644
--- a/sql/share/errmsg-utf8.txt
+++ b/sql/share/errmsg-utf8.txt
@@ -6924,6 +6924,14 @@ ER_IDENT_CAUSES_TOO_LONG_PATH
ER_ALTER_OPERATION_NOT_SUPPORTED_REASON_NOT_NULL
eng "cannot silently convert NULL values, as required in this SQL_MODE"
+ER_MUST_CHANGE_PASSWORD_LOGIN
+ eng "Your password has expired. To log in you must change it using a client that supports expired passwords."
+ bgn "Паролата ви е изтекла. За да влезете трябва да я смените използвайки клиент който поддрържа такива пароли."
+
+ER_ROW_IN_WRONG_PARTITION
+ eng "Found a row in wrong partition %s"
+ swe "Hittade en rad i fel partition %s"
+
#
# MariaDB error messages section starts here
#
diff --git a/sql/sql_partition.cc b/sql/sql_partition.cc
index 87bfcfcdfc2..3e19a33ee32 100644
--- a/sql/sql_partition.cc
+++ b/sql/sql_partition.cc
@@ -93,7 +93,9 @@ const LEX_STRING partition_keywords[]=
{ C_STRING_WITH_LEN("KEY") },
{ C_STRING_WITH_LEN("MAXVALUE") },
{ C_STRING_WITH_LEN("LINEAR ") },
- { C_STRING_WITH_LEN(" COLUMNS") }
+ { C_STRING_WITH_LEN(" COLUMNS") },
+ { C_STRING_WITH_LEN("ALGORITHM") }
+
};
static const char *part_str= "PARTITION";
static const char *sub_str= "SUB";
@@ -284,7 +286,7 @@ bool partition_default_handling(TABLE *table, partition_info *part_info,
}
}
part_info->set_up_defaults_for_partitioning(table->file,
- (ulonglong)0, (uint)0);
+ NULL, 0U);
DBUG_RETURN(FALSE);
}
@@ -317,7 +319,7 @@ int get_parts_for_update(const uchar *old_data, uchar *new_data,
longlong old_func_value;
DBUG_ENTER("get_parts_for_update");
- DBUG_ASSERT(new_data == rec0);
+ DBUG_ASSERT(new_data == rec0); // table->record[0]
set_field_ptr(part_field_array, old_data, rec0);
error= part_info->get_partition_id(part_info, old_part_id,
&old_func_value);
@@ -475,12 +477,12 @@ static bool set_up_field_array(TABLE *table,
}
if (num_fields > MAX_REF_PARTS)
{
- char *ptr;
+ char *err_str;
if (is_sub_part)
- ptr= (char*)"subpartition function";
+ err_str= (char*)"subpartition function";
else
- ptr= (char*)"partition function";
- my_error(ER_TOO_MANY_PARTITION_FUNC_FIELDS_ERROR, MYF(0), ptr);
+ err_str= (char*)"partition function";
+ my_error(ER_TOO_MANY_PARTITION_FUNC_FIELDS_ERROR, MYF(0), err_str);
DBUG_RETURN(TRUE);
}
if (num_fields == 0)
@@ -2378,6 +2380,58 @@ end:
return err;
}
+
+/**
+ Add 'KEY' word, with optional 'ALGORTIHM = N'.
+
+ @param fptr File to write to.
+ @param part_info partition_info holding the used key_algorithm
+ @param current_comment_start NULL, or comment string encapsulating the
+ PARTITION BY clause.
+
+ @return Operation status.
+ @retval 0 Success
+ @retval != 0 Failure
+*/
+
+static int add_key_with_algorithm(File fptr, partition_info *part_info,
+ const char *current_comment_start)
+{
+ int err= 0;
+ err+= add_part_key_word(fptr, partition_keywords[PKW_KEY].str);
+
+ /*
+ current_comment_start is given when called from SHOW CREATE TABLE,
+ Then only add ALGORITHM = 1, not the default 2 or non-set 0!
+ For .frm current_comment_start is NULL, then add ALGORITHM if != 0.
+ */
+ if (part_info->key_algorithm == partition_info::KEY_ALGORITHM_51 || // SHOW
+ (!current_comment_start && // .frm
+ (part_info->key_algorithm != partition_info::KEY_ALGORITHM_NONE)))
+ {
+ /* If we already are within a comment, end that comment first. */
+ if (current_comment_start)
+ err+= add_string(fptr, "*/ ");
+ err+= add_string(fptr, "/*!50611 ");
+ err+= add_part_key_word(fptr, partition_keywords[PKW_ALGORITHM].str);
+ err+= add_equal(fptr);
+ err+= add_space(fptr);
+ err+= add_int(fptr, part_info->key_algorithm);
+ err+= add_space(fptr);
+ err+= add_string(fptr, "*/ ");
+ if (current_comment_start)
+ {
+ /* Skip new line. */
+ if (current_comment_start[0] == '\n')
+ current_comment_start++;
+ err+= add_string(fptr, current_comment_start);
+ err+= add_space(fptr);
+ }
+ }
+ return err;
+}
+
+
/*
Generate the partition syntax from the partition data structure.
Useful for support of generating defaults, SHOW CREATE TABLES
@@ -2422,7 +2476,8 @@ char *generate_partition_syntax(partition_info *part_info,
bool use_sql_alloc,
bool show_partition_options,
HA_CREATE_INFO *create_info,
- Alter_info *alter_info)
+ Alter_info *alter_info,
+ const char *current_comment_start)
{
uint i,j, tot_num_parts, num_subparts;
partition_element *part_elem;
@@ -2456,7 +2511,8 @@ char *generate_partition_syntax(partition_info *part_info,
err+= add_string(fptr, partition_keywords[PKW_LINEAR].str);
if (part_info->list_of_part_fields)
{
- err+= add_part_key_word(fptr, partition_keywords[PKW_KEY].str);
+ err+= add_key_with_algorithm(fptr, part_info,
+ current_comment_start);
err+= add_part_field_list(fptr, part_info->part_field_list);
}
else
@@ -2496,8 +2552,9 @@ char *generate_partition_syntax(partition_info *part_info,
err+= add_string(fptr, partition_keywords[PKW_LINEAR].str);
if (part_info->list_of_subpart_fields)
{
- add_part_key_word(fptr, partition_keywords[PKW_KEY].str);
- add_part_field_list(fptr, part_info->subpart_field_list);
+ err+= add_key_with_algorithm(fptr, part_info,
+ current_comment_start);
+ err+= add_part_field_list(fptr, part_info->subpart_field_list);
}
else
err+= add_part_key_word(fptr, partition_keywords[PKW_HASH].str);
@@ -5619,12 +5676,25 @@ the generated partition syntax in a correct manner.
*/
if (part_info != tab_part_info)
{
- DBUG_PRINT("info", ("partition changed"));
- *partition_changed= TRUE;
- if (thd->work_part_info->fix_parser_data(thd))
+ if (part_info->fix_parser_data(thd))
{
goto err;
}
+ /*
+ Compare the old and new part_info. If only key_algorithm
+ change is done, don't consider it as changed partitioning (to avoid
+ rebuild). This is to handle KEY (numeric_cols) partitioned tables
+ created in 5.1. For more info, see bug#14521864.
+ */
+ if (alter_info->flags != Alter_info::ALTER_PARTITION ||
+ !table->part_info ||
+ alter_info->requested_algorithm !=
+ Alter_info::ALTER_TABLE_ALGORITHM_INPLACE ||
+ !table->part_info->has_same_partitioning(part_info))
+ {
+ DBUG_PRINT("info", ("partition changed"));
+ *partition_changed= true;
+ }
}
/*
Set up partition default_engine_type either from the create_info
diff --git a/sql/sql_partition.h b/sql/sql_partition.h
index 7f39ddd7a3f..5da132661c9 100644
--- a/sql/sql_partition.h
+++ b/sql/sql_partition.h
@@ -263,7 +263,8 @@ char *generate_partition_syntax(partition_info *part_info,
uint *buf_length, bool use_sql_alloc,
bool show_partition_options,
HA_CREATE_INFO *create_info,
- Alter_info *alter_info);
+ Alter_info *alter_info,
+ const char *current_comment_start);
bool verify_data_with_partition(TABLE *table, TABLE *part_table,
uint32 part_id);
bool compare_partition_options(HA_CREATE_INFO *table_create_info,
diff --git a/sql/sql_show.cc b/sql/sql_show.cc
index fc86722a1bf..82fbf3b124a 100644
--- a/sql/sql_show.cc
+++ b/sql/sql_show.cc
@@ -1754,13 +1754,8 @@ int store_create_info(THD *thd, TABLE_LIST *table_list, String *packet,
table->field[key_part->fieldnr-1]->key_length() &&
!(key_info->flags & (HA_FULLTEXT | HA_SPATIAL))))
{
- char *end;
- buff[0] = '(';
- end= int10_to_str((long) key_part->length /
- key_part->field->charset()->mbmaxlen,
- buff + 1,10);
- *end++ = ')';
- packet->append(buff,(uint) (end-buff));
+ packet->append_parenthesized((long) key_part->length /
+ key_part->field->charset()->mbmaxlen);
}
}
packet->append(')');
@@ -1958,7 +1953,8 @@ int store_create_info(THD *thd, TABLE_LIST *table_list, String *packet,
&part_syntax_len,
FALSE,
show_table_options,
- NULL, NULL)))
+ NULL, NULL,
+ comment_start.c_ptr())))
{
packet->append(comment_start);
if (packet->append(part_syntax, part_syntax_len) ||
diff --git a/sql/sql_table.cc b/sql/sql_table.cc
index a6bfcc2bbd0..98a6eee7b16 100644
--- a/sql/sql_table.cc
+++ b/sql/sql_table.cc
@@ -1818,7 +1818,8 @@ bool mysql_write_frm(ALTER_PARTITION_PARAM_TYPE *lpt, uint flags)
&syntax_len,
TRUE, TRUE,
lpt->create_info,
- lpt->alter_info)))
+ lpt->alter_info,
+ NULL)))
{
DBUG_RETURN(TRUE);
}
@@ -1921,7 +1922,8 @@ bool mysql_write_frm(ALTER_PARTITION_PARAM_TYPE *lpt, uint flags)
&syntax_len,
TRUE, TRUE,
lpt->create_info,
- lpt->alter_info)))
+ lpt->alter_info,
+ NULL)))
{
error= 1;
goto err;
@@ -4367,7 +4369,8 @@ handler *mysql_create_frm_image(THD *thd,
&syntax_len,
TRUE, TRUE,
create_info,
- alter_info)))
+ alter_info,
+ NULL)))
goto err;
part_info->part_info_string= part_syntax_buf;
part_info->part_info_len= syntax_len;
diff --git a/sql/sql_yacc.yy b/sql/sql_yacc.yy
index 5078216d701..22fa1e53c21 100644
--- a/sql/sql_yacc.yy
+++ b/sql/sql_yacc.yy
@@ -4836,7 +4836,7 @@ partition:
;
part_type_def:
- opt_linear KEY_SYM '(' part_field_list ')'
+ opt_linear KEY_SYM opt_key_algo '(' part_field_list ')'
{
partition_info *part_info= Lex->part_info;
part_info->list_of_part_fields= TRUE;
@@ -4862,6 +4862,25 @@ opt_linear:
{ Lex->part_info->linear_hash_ind= TRUE;}
;
+opt_key_algo:
+ /* empty */
+ { Lex->part_info->key_algorithm= partition_info::KEY_ALGORITHM_NONE;}
+ | ALGORITHM_SYM EQ real_ulong_num
+ {
+ switch ($3) {
+ case 1:
+ Lex->part_info->key_algorithm= partition_info::KEY_ALGORITHM_51;
+ break;
+ case 2:
+ Lex->part_info->key_algorithm= partition_info::KEY_ALGORITHM_55;
+ break;
+ default:
+ my_parse_error(ER(ER_SYNTAX_ERROR));
+ MYSQL_YYABORT;
+ }
+ }
+ ;
+
part_field_list:
/* empty */ {}
| part_field_item_list {}
@@ -4943,7 +4962,7 @@ opt_sub_part:
| SUBPARTITION_SYM BY opt_linear HASH_SYM sub_part_func
{ Lex->part_info->subpart_type= HASH_PARTITION; }
opt_num_subparts {}
- | SUBPARTITION_SYM BY opt_linear KEY_SYM
+ | SUBPARTITION_SYM BY opt_linear KEY_SYM opt_key_algo
'(' sub_part_field_list ')'
{
partition_info *part_info= Lex->part_info;
diff --git a/storage/spider/spd_table.cc b/storage/spider/spd_table.cc
index 3f313982ad6..7e47b486f59 100644
--- a/storage/spider/spd_table.cc
+++ b/storage/spider/spd_table.cc
@@ -7990,7 +7990,7 @@ int spider_discover_table_structure(
DBUG_RETURN(ER_SPIDER_UNKNOWN_NUM);
}
if (!(part_syntax = generate_partition_syntax(part_info, &part_syntax_len,
- FALSE, TRUE, info, NULL)))
+ FALSE, TRUE, info, NULL, NULL)))
{
DBUG_RETURN(HA_ERR_OUT_OF_MEM);
}