diff options
author | Paul McCullagh <paul.mccullagh@primebase.org> | 2009-11-25 16:40:51 +0100 |
---|---|---|
committer | Paul McCullagh <paul.mccullagh@primebase.org> | 2009-11-25 16:40:51 +0100 |
commit | 01af3ae553ed5ebe5be90045162aab90b7587e5a (patch) | |
tree | cd89f54bedeabdfd5bd7f2cce22789d2f5da3301 /storage/pbxt/src | |
parent | 01b784196df183bc554fc3077b0a34777e94db55 (diff) | |
download | mariadb-git-01af3ae553ed5ebe5be90045162aab90b7587e5a.tar.gz |
And don't forget sub-partitions!
Diffstat (limited to 'storage/pbxt/src')
-rw-r--r-- | storage/pbxt/src/table_xt.cc | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/storage/pbxt/src/table_xt.cc b/storage/pbxt/src/table_xt.cc index bd8e9b6ff3d..55cc695e7c2 100644 --- a/storage/pbxt/src/table_xt.cc +++ b/storage/pbxt/src/table_xt.cc @@ -5241,9 +5241,26 @@ static void tab_make_table_name(XTTableHPtr tab, char *table_name, size_t size) if (part_ptr) { /* Add the partition extension (which is relevant to the engine). */ + char *sub_part_ptr; + + part_ptr += 3; + if ((sub_part_ptr = strstr(part_ptr, "#SP#"))) + xt_strncpy(sizeof(name_buf), name_buf, part_ptr, sub_part_ptr - part_ptr); + else + xt_strcpy(sizeof(name_buf), name_buf, part_ptr); + xt_strcat(size, table_name, " ("); len = strlen(table_name); - myxt_static_convert_file_name(part_ptr+3, table_name + len, size - len); + myxt_static_convert_file_name(name_buf, table_name + len, size - len); + + if (sub_part_ptr) { + + sub_part_ptr += 4; + xt_strcat(size, table_name, " - "); + len = strlen(table_name); + myxt_static_convert_file_name(sub_part_ptr, table_name + len, size - len); + } + xt_strcat(size, table_name, ")"); } } |