Commit c571b6e0 authored by holyfoot/hf@hfmain.(none)'s avatar holyfoot/hf@hfmain.(none)

Merge bk@192.168.21.1:mysql-5.1-opt

into  mysql.com:/home/hf/work/28477/my51-28477
parents 0c0201c9 c17b48fb
...@@ -1249,6 +1249,7 @@ bool mysql_write_frm(ALTER_PARTITION_PARAM_TYPE *lpt, uint flags) ...@@ -1249,6 +1249,7 @@ bool mysql_write_frm(ALTER_PARTITION_PARAM_TYPE *lpt, uint flags)
if (part_info) if (part_info)
{ {
TABLE_SHARE *share= lpt->table->s;
if (!(part_syntax_buf= generate_partition_syntax(part_info, if (!(part_syntax_buf= generate_partition_syntax(part_info,
&syntax_len, &syntax_len,
TRUE, TRUE))) TRUE, TRUE)))
...@@ -1256,7 +1257,16 @@ bool mysql_write_frm(ALTER_PARTITION_PARAM_TYPE *lpt, uint flags) ...@@ -1256,7 +1257,16 @@ bool mysql_write_frm(ALTER_PARTITION_PARAM_TYPE *lpt, uint flags)
DBUG_RETURN(TRUE); DBUG_RETURN(TRUE);
} }
part_info->part_info_string= part_syntax_buf; part_info->part_info_string= part_syntax_buf;
part_info->part_info_len= syntax_len; share->partition_info_len= part_info->part_info_len= syntax_len;
if (share->partition_info_buffer_size < syntax_len + 1)
{
share->partition_info_buffer_size= syntax_len+1;
if (!(share->partition_info=
alloc_root(&share->mem_root, syntax_len+1)))
DBUG_RETURN(TRUE);
}
memcpy((char*) share->partition_info, part_syntax_buf, syntax_len + 1);
} }
} }
#endif #endif
......
...@@ -726,7 +726,8 @@ static int open_binary_frm(THD *thd, TABLE_SHARE *share, uchar *head, ...@@ -726,7 +726,8 @@ static int open_binary_frm(THD *thd, TABLE_SHARE *share, uchar *head,
{ {
uint32 partition_info_len = uint4korr(next_chunk); uint32 partition_info_len = uint4korr(next_chunk);
#ifdef WITH_PARTITION_STORAGE_ENGINE #ifdef WITH_PARTITION_STORAGE_ENGINE
if ((share->partition_info_len= partition_info_len)) if ((share->partition_info_buffer_size=
share->partition_info_len= partition_info_len))
{ {
if (!(share->partition_info= (char*) if (!(share->partition_info= (char*)
memdup_root(&share->mem_root, next_chunk + 4, memdup_root(&share->mem_root, next_chunk + 4,
......
...@@ -243,6 +243,7 @@ typedef struct st_table_share ...@@ -243,6 +243,7 @@ typedef struct st_table_share
bool auto_partitioned; bool auto_partitioned;
const char *partition_info; const char *partition_info;
uint partition_info_len; uint partition_info_len;
uint partition_info_buffer_size;
const char *part_state; const char *part_state;
uint part_state_len; uint part_state_len;
handlerton *default_part_db_type; handlerton *default_part_db_type;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment