Commit 44eda212 authored by unknown's avatar unknown

BUG#16068: Plugin related bugs

Fixed that --plugin_dir option doesn't work.
Fixed that parser name is not restored correctly from the table.


sql/mysqld.cc:
  Overwrite opt_plugin_dir_ptr _after_ loading the path.
sql/table.cc:
  Partition saves at least 5 bytes in .frm.
parent 38005eae
...@@ -7448,10 +7448,9 @@ static void fix_paths(void) ...@@ -7448,10 +7448,9 @@ static void fix_paths(void)
(void) my_load_path(mysql_home,mysql_home,""); // Resolve current dir (void) my_load_path(mysql_home,mysql_home,""); // Resolve current dir
(void) my_load_path(mysql_real_data_home,mysql_real_data_home,mysql_home); (void) my_load_path(mysql_real_data_home,mysql_real_data_home,mysql_home);
(void) my_load_path(pidfile_name,pidfile_name,mysql_real_data_home); (void) my_load_path(pidfile_name,pidfile_name,mysql_real_data_home);
strmake(opt_plugin_dir, get_relative_path(LIBDIR), (void) my_load_path(opt_plugin_dir, opt_plugin_dir_ptr ? opt_plugin_dir_ptr :
sizeof(opt_plugin_dir) - 1); get_relative_path(LIBDIR), mysql_home);
opt_plugin_dir_ptr= opt_plugin_dir; opt_plugin_dir_ptr= opt_plugin_dir;
(void) my_load_path(opt_plugin_dir, opt_plugin_dir_ptr, mysql_home);
char *sharedir=get_relative_path(SHAREDIR); char *sharedir=get_relative_path(SHAREDIR);
if (test_if_hard_path(sharedir)) if (test_if_hard_path(sharedir))
......
...@@ -538,7 +538,7 @@ static int open_binary_frm(THD *thd, TABLE_SHARE *share, uchar *head, ...@@ -538,7 +538,7 @@ static int open_binary_frm(THD *thd, TABLE_SHARE *share, uchar *head,
#endif #endif
next_chunk+= str_db_type_length + 2; next_chunk+= str_db_type_length + 2;
} }
if (next_chunk + 4 < buff_end) if (next_chunk + 5 < buff_end)
{ {
uint32 partition_info_len = uint4korr(next_chunk); uint32 partition_info_len = uint4korr(next_chunk);
#ifdef WITH_PARTITION_STORAGE_ENGINE #ifdef WITH_PARTITION_STORAGE_ENGINE
...@@ -561,7 +561,7 @@ static int open_binary_frm(THD *thd, TABLE_SHARE *share, uchar *head, ...@@ -561,7 +561,7 @@ static int open_binary_frm(THD *thd, TABLE_SHARE *share, uchar *head,
goto err; goto err;
} }
#endif #endif
next_chunk+= 4 + partition_info_len; next_chunk+= 5 + partition_info_len;
} }
keyinfo= share->key_info; keyinfo= share->key_info;
for (i= 0; i < keys; i++, keyinfo++) for (i= 0; i < keys; i++, keyinfo++)
......
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