mirror of
https://github.com/MariaDB/server.git
synced 2025-08-08 11:22:35 +03:00
MDEV-35078 Server crash or ASAN errors in mhnsw_insert
when adding a column or index that uses plugin-defined sysvar-based options with ALTER TABLE ... ADD, the server was using the default value of the sysvar, not the current one. CREATE TABLE was correctly using the current sysvar value. Fix it so that new columns/indexes added in ALTER TABLE ... ADD would use a current sysvar value. Existing columns/indexes in ALTER TABLE would keep using the default sysvar value (unless they had an explicit value in frm).
This commit is contained in:
@@ -114,14 +114,15 @@ bool parse_engine_part_options(THD *thd, TABLE *table);
|
||||
bool parse_option_list(THD* thd, st_plugin_int *plugin, void *option_struct,
|
||||
engine_option_value **option_list,
|
||||
ha_create_table_option *rules,
|
||||
bool suppress_warning, MEM_ROOT *root);
|
||||
bool suppress_warning, bool create, MEM_ROOT *root);
|
||||
|
||||
static inline bool parse_option_list(THD* thd, handlerton *hton,
|
||||
void *option_struct, engine_option_value **option_list,
|
||||
ha_create_table_option *rules, bool suppress_warning, MEM_ROOT *root)
|
||||
ha_create_table_option *rules, bool suppress_warning, bool create,
|
||||
MEM_ROOT *root)
|
||||
{
|
||||
return parse_option_list(thd, hton2plugin[hton->slot], option_struct,
|
||||
option_list, rules, suppress_warning, root);
|
||||
option_list, rules, suppress_warning, create, root);
|
||||
}
|
||||
|
||||
bool engine_table_options_frm_read(const uchar *buff, size_t length,
|
||||
|
Reference in New Issue
Block a user