summaryrefslogtreecommitdiff
path: root/sql/sql_partition.cc
diff options
context:
space:
mode:
authorunknown <tulin@dl145c.mysql.com>2005-09-14 17:30:23 +0200
committerunknown <tulin@dl145c.mysql.com>2005-09-14 17:30:23 +0200
commit4ab6caf6fb174692623a9a0fc6255efac3d09585 (patch)
tree8d1b0171ea5bf690a5e29dd5571ee7cc2fb29487 /sql/sql_partition.cc
parentb165734aada71482990acb12583723961ad129bc (diff)
downloadmariadb-git-4ab6caf6fb174692623a9a0fc6255efac3d09585.tar.gz
Bug #13179 partition info in mysqldump makes it hard to use dump in different sized cluster
Diffstat (limited to 'sql/sql_partition.cc')
-rw-r--r--sql/sql_partition.cc9
1 files changed, 8 insertions, 1 deletions
diff --git a/sql/sql_partition.cc b/sql/sql_partition.cc
index 1f24806dc5e..b2efada1a49 100644
--- a/sql/sql_partition.cc
+++ b/sql/sql_partition.cc
@@ -1961,6 +1961,7 @@ static int add_partition_values(File fptr, partition_info *part_info,
buf_length A pointer to the returned buffer length
use_sql_alloc Allocate buffer from sql_alloc if true
otherwise use my_malloc
+ add_default_info Add info generated by default
RETURN VALUES
NULL error
buf, buf_length Buffer and its length
@@ -1986,7 +1987,8 @@ static int add_partition_values(File fptr, partition_info *part_info,
char *generate_partition_syntax(partition_info *part_info,
uint *buf_length,
- bool use_sql_alloc)
+ bool use_sql_alloc,
+ bool add_default_info)
{
uint i,j, no_parts, no_subparts;
partition_element *part_elem;
@@ -2013,9 +2015,11 @@ char *generate_partition_syntax(partition_info *part_info,
switch (part_info->part_type)
{
case RANGE_PARTITION:
+ add_default_info= TRUE;
err+= add_part_key_word(fptr, range_str);
break;
case LIST_PARTITION:
+ add_default_info= TRUE;
err+= add_part_key_word(fptr, list_str);
break;
case HASH_PARTITION:
@@ -2051,6 +2055,8 @@ char *generate_partition_syntax(partition_info *part_info,
err+= add_end_parenthesis(fptr);
err+= add_space(fptr);
}
+ if (add_default_info)
+ {
err+= add_begin_parenthesis(fptr);
List_iterator<partition_element> part_it(part_info->partitions);
no_parts= part_info->no_parts;
@@ -2095,6 +2101,7 @@ char *generate_partition_syntax(partition_info *part_info,
else
err+= add_end_parenthesis(fptr);
} while (++i < no_parts);
+ }
if (err)
goto close_file;
buffer_length= my_seek(fptr, 0L,MY_SEEK_END,MYF(0));