mirror of
https://github.com/MariaDB/server.git
synced 2025-03-24 16:08:42 +01:00
MDEV-5281 Partitioning issue after upgrade from 10.0.3-1 to 10.0.5-1
merged from 5.6: Bug#14521864: MYSQL 5.1 TO 5.5 BUGS PARTITIONING Bug#16589511: MYSQL_UPGRADE FAILS TO WRITE OUT ENTIRE ALTER TABLE ... ALGORITHM= ... STATEMENT Bug#16274455: CAN NOT ACESS PARTITIONED TABLES WHEN DOWNGRADED FROM 5.6.11 TO 5.6.10 plus minor changes from 5.6, mainly comments
This commit is contained in:
parent
44db9c41b3
commit
1387e71531
29 changed files with 1753 additions and 748 deletions
client
include
mysql-test
r
suite/parts/r
partition_alter1_1_2_innodb.resultpartition_alter1_1_innodb.resultpartition_alter1_2_innodb.resultpartition_alter2_1_1_innodb.resultpartition_alter2_1_2_innodb.resultpartition_alter2_2_1_innodb.resultpartition_alter2_2_2_innodb.resultpartition_alter4_innodb.resultpartition_basic_innodb.resultpartition_engine_innodb.result
sql
ha_partition.ccha_partition.hhandler.cckey.cckey.hpartition_element.hpartition_info.ccpartition_info.h
share
sql_partition.ccsql_partition.hsql_show.ccsql_table.ccsql_yacc.yystorage/spider
|
@ -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);
|
||||
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -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;
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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
|
||||
else if (error == HA_ERR_ROW_IN_WRONG_PARTITION)
|
||||
{
|
||||
/* In case m_file has not been initialized, like in bug#42438 */
|
||||
if (m_file)
|
||||
/* 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 };
|
||||
|
||||
|
|
|
@ -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:
|
||||
|
||||
/*
|
||||
|
|
|
@ -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();
|
||||
|
|
32
sql/key.cc
32
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++)
|
||||
{
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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() {}
|
||||
};
|
||||
|
|
|
@ -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");
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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
|
||||
#
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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) ||
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue