MCPcopy Create free account
hub / github.com/MariaDB/server / set_system_variable

Method set_system_variable

sql/sql_lex.cc:178–201  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

176*/
177
178bool
179LEX::set_system_variable(enum enum_var_type var_type,
180 sys_var *sysvar, const Lex_ident_sys_st *base_name,
181 Item *val)
182{
183 set_var *setvar;
184
185 /* No AUTOCOMMIT from a stored function or trigger. */
186 if (spcont && sysvar == Sys_autocommit_ptr)
187 sphead->m_flags|= sp_head::HAS_SET_AUTOCOMMIT_STMT;
188
189 if (val && val->type() == Item::FIELD_ITEM &&
190 ((Item_field*)val)->table_name.str)
191 {
192 my_error(ER_WRONG_TYPE_FOR_VAR, MYF(0), sysvar->name.str);
193 return TRUE;
194 }
195
196 if (!(setvar= new (thd->mem_root) set_var(thd, var_type, sysvar,
197 base_name, val)))
198 return TRUE;
199
200 return var_list.push_back(setvar, thd->mem_root);
201}
202
203
204/**

Callers

nothing calls this directly

Calls 7

my_errorFunction · 0.85
find_sys_varFunction · 0.85
check_reserved_wordsFunction · 0.85
is_structMethod · 0.80
typeMethod · 0.45
push_backMethod · 0.45
is_errorMethod · 0.45

Tested by

no test coverage detected