summaryrefslogtreecommitdiff
path: root/sql/partition_info.h
diff options
context:
space:
mode:
authorAleksey Midenkov <midenok@gmail.com>2022-10-07 00:45:21 +0300
committerAleksey Midenkov <midenok@gmail.com>2022-10-07 00:46:38 +0300
commitfa0cada95baeb9fad5a2d6dad687bb13c93da9b6 (patch)
treec1de46f46eac097370e86a1ed9169de2cd40d245 /sql/partition_info.h
parent74fe1c44aa118fe6a0a86be0f0d236af25853b27 (diff)
downloadmariadb-git-fa0cada95baeb9fad5a2d6dad687bb13c93da9b6.tar.gz
MDEV-28576 RENAME COLUMN with NOCOPY algorithm leads to corrupt partitioned table
10.5 part: test cases and comments. The code is in the merge commit 74fe1c44aa1 When f.ex. table is partitioned by HASH(a) and we rename column `a' to `b' partitioning filter stays unchanged: HASH(a). That's the wrong behavior. The patch updates partitioning filter in accordance to the new columns names. That includes partition/subpartition expression and partition/subpartition field list.
Diffstat (limited to 'sql/partition_info.h')
-rw-r--r--sql/partition_info.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/sql/partition_info.h b/sql/partition_info.h
index 55ea20cf681..aebb81ff9c5 100644
--- a/sql/partition_info.h
+++ b/sql/partition_info.h
@@ -79,6 +79,10 @@ struct Vers_part_info : public Sql_alloc
partition_element *hist_part;
};
+/*
+ See generate_partition_syntax() for details of how the data is used
+ in partition expression.
+*/
class partition_info : public Sql_alloc
{
public:
@@ -88,6 +92,10 @@ public:
List<partition_element> partitions;
List<partition_element> temp_partitions;
+ /*
+ These are mutually exclusive with part_expr/subpart_expr depending on
+ what is specified in partitioning filter: expression or column list.
+ */
List<const char> part_field_list;
List<const char> subpart_field_list;