Hi, Aleksey! I presume that changes to the logging code is what Monty asked. So I'll only comment on a couple of minor issues: On Sep 10, Aleksey Midenkov wrote:
revision-id: 818407474d6 (mariadb-10.6.1-80-g818407474d6) parent(s): bb4b95975f7 author: Aleksey Midenkov committer: Aleksey Midenkov timestamp: 2021-09-10 18:47:31 +0300 message:
MDEV-22166 CONVERT PARTITION: move out partition into a table
diff --git a/sql/sql_partition.cc b/sql/sql_partition.cc index db371d23ba7..cbdb40472d8 100644 --- a/sql/sql_partition.cc +++ b/sql/sql_partition.cc @@ -5371,8 +5367,12 @@ that are reorganised. tab_part_info->is_auto_partitioned= FALSE; } } - else if (alter_info->partition_flags & ALTER_PARTITION_DROP) + else if ((alter_info->partition_flags & ALTER_PARTITION_DROP) | + (alter_info->partition_flags & ALTER_PARTITION_CONVERT_OUT)) { + const char * const cmd= + (alter_info->partition_flags & ALTER_PARTITION_CONVERT_OUT) ? + "EXTRACT" : "DROP";
"CONVERT"
/* Drop a partition from a range partition and list partitioning is always safe and can be made more or less immediate. It is necessary diff --git a/sql/sql_table.h b/sql/sql_table.h index aacb6c99f15..a580c7d348d 100644 --- a/sql/sql_table.h +++ b/sql/sql_table.h @@ -20,6 +20,17 @@ #include <my_sys.h> // pthread_mutex_t #include "m_string.h" // LEX_CUSTRING
+inline bool suicide() +{ + DBUG_SUICIDE(); + return false; +}
as I wrote earlier, this is wrong. DBUG_SUICIDE() must always be an expression.
+ +#define ERROR_INJECT_CRASH(code) \ + (DBUG_IF(code) && suicide()) +#define ERROR_INJECT_ERROR(code) \ + (DBUG_IF(code) && (my_error(ER_UNKNOWN_ERROR, MYF(0)), 1)) + class Alter_info; class Alter_table_ctx; class Column_definition;
Regards, Sergei VP of MariaDB Server Engineering and security@mariadb.org