From abd09620db857c25805baca655442732a3ecfd08 Mon Sep 17 00:00:00 2001 From: Mattias Jonsson Date: Tue, 4 Nov 2008 08:43:21 +0100 Subject: Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output The partitioning clause is only a very long single line, which is very hard to interpret for a human. This patch breaks the partitioning syntax into one line for the partitioning type, and one line per partition/subpartition. --- sql/sql_partition.cc | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'sql/sql_partition.cc') diff --git a/sql/sql_partition.cc b/sql/sql_partition.cc index da80a2125e9..2f7ccaf5c31 100644 --- a/sql/sql_partition.cc +++ b/sql/sql_partition.cc @@ -2078,16 +2078,16 @@ char *generate_partition_syntax(partition_info *part_info, err+= add_string_len(fptr, part_info->part_func_string, part_info->part_func_len); err+= add_end_parenthesis(fptr); - err+= add_space(fptr); if ((!part_info->use_default_no_partitions) && part_info->use_default_partitions) { + err+= add_string(fptr, "\n"); err+= add_string(fptr, "PARTITIONS "); err+= add_int(fptr, part_info->no_parts); - err+= add_space(fptr); } if (part_info->is_sub_partitioned()) { + err+= add_string(fptr, "\n"); err+= add_subpartition_by(fptr); /* Must be hash partitioning for subpartitioning */ if (part_info->linear_hash_ind) @@ -2100,13 +2100,12 @@ char *generate_partition_syntax(partition_info *part_info, err+= add_string_len(fptr, part_info->subpart_func_string, part_info->subpart_func_len); err+= add_end_parenthesis(fptr); - err+= add_space(fptr); if ((!part_info->use_default_no_subpartitions) && part_info->use_default_subpartitions) { + err+= add_string(fptr, "\n"); err+= add_string(fptr, "SUBPARTITIONS "); err+= add_int(fptr, part_info->no_subparts); - err+= add_space(fptr); } } tot_no_parts= part_info->partitions.elements; @@ -2115,6 +2114,7 @@ char *generate_partition_syntax(partition_info *part_info, if (!part_info->use_default_partitions) { bool first= TRUE; + err+= add_string(fptr, "\n"); err+= add_begin_parenthesis(fptr); i= 0; do @@ -2126,6 +2126,7 @@ char *generate_partition_syntax(partition_info *part_info, if (!first) { err+= add_comma(fptr); + err+= add_string(fptr, "\n"); err+= add_space(fptr); } first= FALSE; @@ -2140,6 +2141,7 @@ char *generate_partition_syntax(partition_info *part_info, } else { + err+= add_string(fptr, "\n"); err+= add_space(fptr); err+= add_begin_parenthesis(fptr); List_iterator sub_it(part_elem->subpartitions); @@ -2154,6 +2156,8 @@ char *generate_partition_syntax(partition_info *part_info, if (j != (no_subparts-1)) { err+= add_comma(fptr); + err+= add_string(fptr, "\n"); + err+= add_space(fptr); err+= add_space(fptr); } else -- cgit v1.2.1