125
128
The variables are linked into the list. A variable is added to
126
129
it in the constructor (see sys_var class for details).
128
static sys_var_chain vars = { NULL, NULL };
130
static sys_var_session_uint64_t
131
sys_auto_increment_increment(&vars, "auto_increment_increment",
132
&system_variables::auto_increment_increment);
133
static sys_var_session_uint64_t
134
sys_auto_increment_offset(&vars, "auto_increment_offset",
135
&system_variables::auto_increment_offset);
137
static sys_var_const_str sys_basedir(&vars, "basedir", drizzle_home);
138
static sys_var_session_uint64_t sys_bulk_insert_buff_size(&vars, "bulk_insert_buffer_size",
139
&system_variables::bulk_insert_buff_size);
140
static sys_var_session_uint32_t sys_completion_type(&vars, "completion_type",
141
&system_variables::completion_type,
131
static sys_var_session_uint64_t
132
sys_auto_increment_increment("auto_increment_increment",
133
&drizzle_system_variables::auto_increment_increment);
134
static sys_var_session_uint64_t
135
sys_auto_increment_offset("auto_increment_offset",
136
&drizzle_system_variables::auto_increment_offset);
138
static sys_var_fs_path sys_basedir("basedir", basedir);
139
static sys_var_fs_path sys_pid_file("pid_file", pid_file);
140
static sys_var_fs_path sys_plugin_dir("plugin_dir", plugin_dir);
142
static sys_var_size_t_ptr sys_thread_stack_size("thread_stack",
143
&my_thread_stack_size);
144
static sys_var_constrained_value<uint32_t> sys_back_log("back_log", back_log);
146
static sys_var_session_uint64_t sys_bulk_insert_buff_size("bulk_insert_buffer_size",
147
&drizzle_system_variables::bulk_insert_buff_size);
148
static sys_var_session_uint32_t sys_completion_type("completion_type",
149
&drizzle_system_variables::completion_type,
142
150
check_completion_type,
143
151
fix_completion_type);
144
152
static sys_var_collation_sv
145
sys_collation_server(&vars, "collation_server", &system_variables::collation_server, &default_charset_info);
146
static sys_var_const_str sys_datadir(&vars, "datadir", drizzle_real_data_home);
153
sys_collation_server("collation_server", &drizzle_system_variables::collation_server, &default_charset_info);
154
static sys_var_fs_path sys_datadir("datadir", getDataHome());
148
static sys_var_session_uint64_t sys_join_buffer_size(&vars, "join_buffer_size",
149
&system_variables::join_buff_size);
150
static sys_var_session_uint32_t sys_max_allowed_packet(&vars, "max_allowed_packet",
151
&system_variables::max_allowed_packet);
152
static sys_var_uint64_t_ptr sys_max_connect_errors(&vars, "max_connect_errors",
156
static sys_var_session_uint64_t sys_join_buffer_size("join_buffer_size",
157
&drizzle_system_variables::join_buff_size);
158
static sys_var_session_uint32_t sys_max_allowed_packet("max_allowed_packet",
159
&drizzle_system_variables::max_allowed_packet);
160
static sys_var_uint64_t_ptr sys_max_connect_errors("max_connect_errors",
153
161
&max_connect_errors);
154
static sys_var_session_uint64_t sys_max_error_count(&vars, "max_error_count",
155
&system_variables::max_error_count);
156
static sys_var_session_uint64_t sys_max_heap_table_size(&vars, "max_heap_table_size",
157
&system_variables::max_heap_table_size);
158
static sys_var_session_uint64_t sys_pseudo_thread_id(&vars, "pseudo_thread_id",
159
&system_variables::pseudo_thread_id,
162
static sys_var_session_uint64_t sys_max_error_count("max_error_count",
163
&drizzle_system_variables::max_error_count);
164
static sys_var_session_uint64_t sys_max_heap_table_size("max_heap_table_size",
165
&drizzle_system_variables::max_heap_table_size);
166
static sys_var_session_uint64_t sys_pseudo_thread_id("pseudo_thread_id",
167
&drizzle_system_variables::pseudo_thread_id,
160
168
0, check_pseudo_thread_id);
161
static sys_var_session_ha_rows sys_max_join_size(&vars, "max_join_size",
162
&system_variables::max_join_size,
169
static sys_var_session_ha_rows sys_max_join_size("max_join_size",
170
&drizzle_system_variables::max_join_size,
163
171
fix_max_join_size);
164
static sys_var_session_uint64_t sys_max_seeks_for_key(&vars, "max_seeks_for_key",
165
&system_variables::max_seeks_for_key);
166
static sys_var_session_uint64_t sys_max_length_for_sort_data(&vars, "max_length_for_sort_data",
167
&system_variables::max_length_for_sort_data);
168
static sys_var_session_size_t sys_max_sort_length(&vars, "max_sort_length",
169
&system_variables::max_sort_length);
170
static sys_var_uint64_t_ptr sys_max_write_lock_count(&vars, "max_write_lock_count",
172
static sys_var_session_uint64_t sys_max_seeks_for_key("max_seeks_for_key",
173
&drizzle_system_variables::max_seeks_for_key);
174
static sys_var_session_uint64_t sys_max_length_for_sort_data("max_length_for_sort_data",
175
&drizzle_system_variables::max_length_for_sort_data);
176
static sys_var_session_size_t sys_max_sort_length("max_sort_length",
177
&drizzle_system_variables::max_sort_length);
178
static sys_var_uint64_t_ptr sys_max_write_lock_count("max_write_lock_count",
171
179
&max_write_lock_count);
172
static sys_var_session_uint64_t sys_min_examined_row_limit(&vars, "min_examined_row_limit",
173
&system_variables::min_examined_row_limit);
180
static sys_var_session_uint64_t sys_min_examined_row_limit("min_examined_row_limit",
181
&drizzle_system_variables::min_examined_row_limit);
175
183
/* these two cannot be static */
176
static sys_var_session_bool sys_optimizer_prune_level(&vars, "optimizer_prune_level",
177
&system_variables::optimizer_prune_level);
178
static sys_var_session_uint32_t sys_optimizer_search_depth(&vars, "optimizer_search_depth",
179
&system_variables::optimizer_search_depth);
181
static sys_var_session_uint64_t sys_preload_buff_size(&vars, "preload_buffer_size",
182
&system_variables::preload_buff_size);
183
static sys_var_session_uint32_t sys_read_buff_size(&vars, "read_buffer_size",
184
&system_variables::read_buff_size);
185
static sys_var_session_uint32_t sys_read_rnd_buff_size(&vars, "read_rnd_buffer_size",
186
&system_variables::read_rnd_buff_size);
187
static sys_var_session_uint32_t sys_div_precincrement(&vars, "div_precision_increment",
188
&system_variables::div_precincrement);
190
static sys_var_session_size_t sys_range_alloc_block_size(&vars, "range_alloc_block_size",
191
&system_variables::range_alloc_block_size);
192
static sys_var_session_uint32_t sys_query_alloc_block_size(&vars, "query_alloc_block_size",
193
&system_variables::query_alloc_block_size,
194
false, fix_session_mem_root);
195
static sys_var_session_uint32_t sys_query_prealloc_size(&vars, "query_prealloc_size",
196
&system_variables::query_prealloc_size,
197
false, fix_session_mem_root);
198
static sys_var_readonly sys_tmpdir(&vars, "tmpdir", OPT_GLOBAL, SHOW_CHAR, get_tmpdir);
200
static sys_var_const_str_ptr sys_secure_file_priv(&vars, "secure_file_priv",
201
&opt_secure_file_priv);
202
static sys_var_uint32_t_ptr sys_server_id(&vars, "server_id", &server_id,
184
static sys_var_session_bool sys_optimizer_prune_level("optimizer_prune_level",
185
&drizzle_system_variables::optimizer_prune_level);
186
static sys_var_session_uint32_t sys_optimizer_search_depth("optimizer_search_depth",
187
&drizzle_system_variables::optimizer_search_depth);
189
static sys_var_session_uint64_t sys_preload_buff_size("preload_buffer_size",
190
&drizzle_system_variables::preload_buff_size);
191
static sys_var_session_uint32_t sys_read_buff_size("read_buffer_size",
192
&drizzle_system_variables::read_buff_size);
193
static sys_var_session_uint32_t sys_read_rnd_buff_size("read_rnd_buffer_size",
194
&drizzle_system_variables::read_rnd_buff_size);
195
static sys_var_session_uint32_t sys_div_precincrement("div_precision_increment",
196
&drizzle_system_variables::div_precincrement);
198
static sys_var_session_size_t sys_range_alloc_block_size("range_alloc_block_size",
199
&drizzle_system_variables::range_alloc_block_size);
200
static sys_var_session_uint32_t sys_query_alloc_block_size("query_alloc_block_size",
201
&drizzle_system_variables::query_alloc_block_size,
202
NULL, fix_session_mem_root);
203
static sys_var_session_uint32_t sys_query_prealloc_size("query_prealloc_size",
204
&drizzle_system_variables::query_prealloc_size,
205
NULL, fix_session_mem_root);
206
static sys_var_readonly sys_tmpdir("tmpdir", OPT_GLOBAL, SHOW_CHAR, get_tmpdir);
208
static sys_var_fs_path sys_secure_file_priv("secure_file_priv",
211
static sys_var_const_str_ptr sys_scheduler("scheduler",
212
(char**)&opt_scheduler);
214
static sys_var_uint32_t_ptr sys_server_id("server_id", &server_id,
205
static sys_var_session_size_t sys_sort_buffer(&vars, "sort_buffer_size",
206
&system_variables::sortbuff_size);
208
static sys_var_session_storage_engine sys_storage_engine(&vars, "storage_engine",
209
&system_variables::storage_engine);
210
static sys_var_const_str sys_system_time_zone(&vars, "system_time_zone",
217
static sys_var_session_size_t sys_sort_buffer("sort_buffer_size",
218
&drizzle_system_variables::sortbuff_size);
220
static sys_var_session_size_t sys_transaction_message_threshold("transaction_message_threshold",
221
&drizzle_system_variables::transaction_message_threshold);
223
static sys_var_session_storage_engine sys_storage_engine("storage_engine",
224
&drizzle_system_variables::storage_engine);
225
static sys_var_const_str sys_system_time_zone("system_time_zone",
211
226
system_time_zone);
212
static sys_var_size_t_ptr sys_table_def_size(&vars, "table_definition_cache",
227
static sys_var_size_t_ptr sys_table_def_size("table_definition_cache",
213
228
&table_def_size);
214
static sys_var_uint64_t_ptr sys_table_cache_size(&vars, "table_open_cache",
229
static sys_var_uint64_t_ptr sys_table_cache_size("table_open_cache",
215
230
&table_cache_size);
216
static sys_var_uint64_t_ptr sys_table_lock_wait_timeout(&vars, "table_lock_wait_timeout",
231
static sys_var_uint64_t_ptr sys_table_lock_wait_timeout("table_lock_wait_timeout",
217
232
&table_lock_wait_timeout);
218
static sys_var_session_enum sys_tx_isolation(&vars, "tx_isolation",
219
&system_variables::tx_isolation,
233
static sys_var_session_enum sys_tx_isolation("tx_isolation",
234
&drizzle_system_variables::tx_isolation,
220
235
&tx_isolation_typelib,
221
236
fix_tx_isolation,
222
237
check_tx_isolation);
223
static sys_var_session_uint64_t sys_tmp_table_size(&vars, "tmp_table_size",
224
&system_variables::tmp_table_size);
225
static sys_var_bool_ptr sys_timed_mutexes(&vars, "timed_mutexes", &internal::timed_mutexes);
226
static sys_var_const_str sys_version(&vars, "version", version().c_str());
238
static sys_var_session_uint64_t sys_tmp_table_size("tmp_table_size",
239
&drizzle_system_variables::tmp_table_size);
240
static sys_var_bool_ptr sys_timed_mutexes("timed_mutexes", &internal::timed_mutexes);
241
static sys_var_const_str sys_version("version", version().c_str());
228
static sys_var_const_str sys_version_comment(&vars, "version_comment",
243
static sys_var_const_str sys_version_comment("version_comment",
229
244
COMPILATION_COMMENT);
230
static sys_var_const_str sys_version_compile_machine(&vars, "version_compile_machine",
245
static sys_var_const_str sys_version_compile_machine("version_compile_machine",
232
static sys_var_const_str sys_version_compile_os(&vars, "version_compile_os",
247
static sys_var_const_str sys_version_compile_os("version_compile_os",
234
static sys_var_const_str sys_version_compile_vendor(&vars, "version_compile_vendor",
249
static sys_var_const_str sys_version_compile_vendor("version_compile_vendor",
237
252
/* Variables that are bits in Session */
239
sys_var_session_bit sys_autocommit(&vars, "autocommit", 0,
254
sys_var_session_bit sys_autocommit("autocommit", 0,
240
255
set_option_autocommit,
241
256
OPTION_NOT_AUTOCOMMIT,
243
static sys_var_session_bit sys_big_selects(&vars, "sql_big_selects", 0,
258
static sys_var_session_bit sys_big_selects("sql_big_selects", 0,
245
260
OPTION_BIG_SELECTS);
246
static sys_var_session_bit sys_sql_warnings(&vars, "sql_warnings", 0,
261
static sys_var_session_bit sys_sql_warnings("sql_warnings", 0,
248
263
OPTION_WARNINGS);
249
static sys_var_session_bit sys_sql_notes(&vars, "sql_notes", 0,
264
static sys_var_session_bit sys_sql_notes("sql_notes", 0,
251
266
OPTION_SQL_NOTES);
252
static sys_var_session_bit sys_buffer_results(&vars, "sql_buffer_result", 0,
267
static sys_var_session_bit sys_buffer_results("sql_buffer_result", 0,
254
269
OPTION_BUFFER_RESULT);
255
static sys_var_session_bit sys_foreign_key_checks(&vars, "foreign_key_checks", 0,
270
static sys_var_session_bit sys_foreign_key_checks("foreign_key_checks", 0,
257
272
OPTION_NO_FOREIGN_KEY_CHECKS, 1);
258
static sys_var_session_bit sys_unique_checks(&vars, "unique_checks", 0,
273
static sys_var_session_bit sys_unique_checks("unique_checks", 0,
260
275
OPTION_RELAXED_UNIQUE_CHECKS, 1);
261
276
/* Local state variables */
263
static sys_var_session_ha_rows sys_select_limit(&vars, "sql_select_limit",
264
&system_variables::select_limit);
265
static sys_var_timestamp sys_timestamp(&vars, "timestamp");
278
static sys_var_session_ha_rows sys_select_limit("sql_select_limit",
279
&drizzle_system_variables::select_limit);
280
static sys_var_timestamp sys_timestamp("timestamp");
266
281
static sys_var_last_insert_id
267
sys_last_insert_id(&vars, "last_insert_id");
282
sys_last_insert_id("last_insert_id");
269
284
identity is an alias for last_insert_id(), so that we are compatible
272
static sys_var_last_insert_id sys_identity(&vars, "identity");
287
static sys_var_last_insert_id sys_identity("identity");
274
static sys_var_session_lc_time_names sys_lc_time_names(&vars, "lc_time_names");
289
static sys_var_session_lc_time_names sys_lc_time_names("lc_time_names");
277
292
We want statements referring explicitly to @@session.insert_id to be
1518
void add_sys_var_to_list(sys_var *var)
1520
string lower_name(var->getName());
1521
transform(lower_name.begin(), lower_name.end(),
1522
lower_name.begin(), ::tolower);
1524
/* this fails if there is a conflicting variable name. */
1525
if (system_variable_map.find(lower_name) != system_variable_map.end())
1527
errmsg_printf(ERRMSG_LVL_ERROR, _("Variable named %s already exists!\n"),
1528
var->getName().c_str());
1532
pair<SystemVariableMap::iterator, bool> ret=
1533
system_variable_map.insert(make_pair(lower_name, var));
1534
if (ret.second == false)
1536
errmsg_printf(ERRMSG_LVL_ERROR, _("Could not add Variable: %s\n"),
1537
var->getName().c_str());
1542
void add_sys_var_to_list(sys_var *var, struct option *long_options)
1544
add_sys_var_to_list(var);
1545
var->setOptionLimits(find_option(long_options, var->getName().c_str()));
1599
1549
Initialize the system variables
1606
1556
otherwise FAILURE
1613
for (sys_var *var= vars.first; var; var= var->getNext(), count++) {};
1615
if (my_init_dynamic_array(&fixed_show_vars, sizeof(drizzle_show_var),
1616
FIXED_VARS_SIZE + 64, 64))
1619
fixed_show_vars.elements= FIXED_VARS_SIZE;
1620
memcpy(fixed_show_vars.buffer, fixed_vars, sizeof(fixed_vars));
1622
vars.last->setNext(NULL);
1623
if (mysql_add_sys_var_chain(vars.first, my_long_options))
1563
add_sys_var_to_list(&sys_auto_increment_increment, my_long_options);
1564
add_sys_var_to_list(&sys_auto_increment_offset, my_long_options);
1565
add_sys_var_to_list(&sys_autocommit, my_long_options);
1566
add_sys_var_to_list(&sys_back_log, my_long_options);
1567
add_sys_var_to_list(&sys_basedir, my_long_options);
1568
add_sys_var_to_list(&sys_big_selects, my_long_options);
1569
add_sys_var_to_list(&sys_buffer_results, my_long_options);
1570
add_sys_var_to_list(&sys_bulk_insert_buff_size, my_long_options);
1571
add_sys_var_to_list(&sys_collation_server, my_long_options);
1572
add_sys_var_to_list(&sys_completion_type, my_long_options);
1573
add_sys_var_to_list(&sys_datadir, my_long_options);
1574
add_sys_var_to_list(&sys_div_precincrement, my_long_options);
1575
add_sys_var_to_list(&sys_error_count, my_long_options);
1576
add_sys_var_to_list(&sys_foreign_key_checks, my_long_options);
1577
add_sys_var_to_list(&sys_group_concat_max_len, my_long_options);
1578
add_sys_var_to_list(&sys_hostname, my_long_options);
1579
add_sys_var_to_list(&sys_identity, my_long_options);
1580
add_sys_var_to_list(&sys_join_buffer_size, my_long_options);
1581
add_sys_var_to_list(&sys_last_insert_id, my_long_options);
1582
add_sys_var_to_list(&sys_lc_time_names, my_long_options);
1583
add_sys_var_to_list(&sys_max_allowed_packet, my_long_options);
1584
add_sys_var_to_list(&sys_max_connect_errors, my_long_options);
1585
add_sys_var_to_list(&sys_max_error_count, my_long_options);
1586
add_sys_var_to_list(&sys_max_heap_table_size, my_long_options);
1587
add_sys_var_to_list(&sys_max_join_size, my_long_options);
1588
add_sys_var_to_list(&sys_max_length_for_sort_data, my_long_options);
1589
add_sys_var_to_list(&sys_max_seeks_for_key, my_long_options);
1590
add_sys_var_to_list(&sys_max_sort_length, my_long_options);
1591
add_sys_var_to_list(&sys_max_write_lock_count, my_long_options);
1592
add_sys_var_to_list(&sys_min_examined_row_limit, my_long_options);
1593
add_sys_var_to_list(&sys_optimizer_prune_level, my_long_options);
1594
add_sys_var_to_list(&sys_optimizer_search_depth, my_long_options);
1595
add_sys_var_to_list(&sys_pid_file, my_long_options);
1596
add_sys_var_to_list(&sys_plugin_dir, my_long_options);
1597
add_sys_var_to_list(&sys_preload_buff_size, my_long_options);
1598
add_sys_var_to_list(&sys_pseudo_thread_id, my_long_options);
1599
add_sys_var_to_list(&sys_query_alloc_block_size, my_long_options);
1600
add_sys_var_to_list(&sys_query_prealloc_size, my_long_options);
1601
add_sys_var_to_list(&sys_range_alloc_block_size, my_long_options);
1602
add_sys_var_to_list(&sys_read_buff_size, my_long_options);
1603
add_sys_var_to_list(&sys_read_rnd_buff_size, my_long_options);
1604
add_sys_var_to_list(&sys_scheduler, my_long_options);
1605
add_sys_var_to_list(&sys_secure_file_priv, my_long_options);
1606
add_sys_var_to_list(&sys_select_limit, my_long_options);
1607
add_sys_var_to_list(&sys_server_id, my_long_options);
1608
add_sys_var_to_list(&sys_sort_buffer, my_long_options);
1609
add_sys_var_to_list(&sys_sql_notes, my_long_options);
1610
add_sys_var_to_list(&sys_sql_warnings, my_long_options);
1611
add_sys_var_to_list(&sys_storage_engine, my_long_options);
1612
add_sys_var_to_list(&sys_system_time_zone, my_long_options);
1613
add_sys_var_to_list(&sys_table_cache_size, my_long_options);
1614
add_sys_var_to_list(&sys_table_def_size, my_long_options);
1615
add_sys_var_to_list(&sys_table_lock_wait_timeout, my_long_options);
1616
add_sys_var_to_list(&sys_thread_stack_size, my_long_options);
1617
add_sys_var_to_list(&sys_time_zone, my_long_options);
1618
add_sys_var_to_list(&sys_timed_mutexes, my_long_options);
1619
add_sys_var_to_list(&sys_timestamp, my_long_options);
1620
add_sys_var_to_list(&sys_tmp_table_size, my_long_options);
1621
add_sys_var_to_list(&sys_tmpdir, my_long_options);
1622
add_sys_var_to_list(&sys_transaction_message_threshold, my_long_options);
1623
add_sys_var_to_list(&sys_tx_isolation, my_long_options);
1624
add_sys_var_to_list(&sys_unique_checks, my_long_options);
1625
add_sys_var_to_list(&sys_version, my_long_options);
1626
add_sys_var_to_list(&sys_version_comment, my_long_options);
1627
add_sys_var_to_list(&sys_version_compile_machine, my_long_options);
1628
add_sys_var_to_list(&sys_version_compile_os, my_long_options);
1629
add_sys_var_to_list(&sys_version_compile_vendor, my_long_options);
1630
add_sys_var_to_list(&sys_warning_count, my_long_options);
1634
errmsg_printf(ERRMSG_LVL_ERROR, _("Failed to initialize system variables"));
1629
fprintf(stderr, "failed to initialize system variables");
1636
delete_dynamic(&fixed_show_vars);
1690
Execute update of all variables.
1692
First run a check of all variables that all updates will go ok.
1693
If yes, then execute all updates, returning an error if any one failed.
1695
This should ensure that in all normal cases none all or variables are
1698
@param Session Thread id
1699
@param var_list List of variables to update
1704
1 ERROR, message sent (normally no variables was updated)
1706
-1 ERROR, message not sent
1709
int sql_set_variables(Session *session, List<set_var_base> *var_list)
1712
List_iterator_fast<set_var_base> it(*var_list);
1717
if ((error= var->check(session)))
1720
if (!(error= test(session->is_error())))
1724
error|= var->update(session); // Returns 0, -1 or 1
1728
free_underlaid_joins(session, &session->lex->select_lex);
1733
/*****************************************************************************
1734
Functions to handle SET mysql_internal_variable=const_expr
1735
*****************************************************************************/
1737
int set_var::check(Session *session)
1739
if (var->is_readonly())
1741
my_error(ER_INCORRECT_GLOBAL_LOCAL_VAR, MYF(0), var->getName().c_str(), "read only");
1744
if (var->check_type(type))
1746
int err= type == OPT_GLOBAL ? ER_LOCAL_VARIABLE : ER_GLOBAL_VARIABLE;
1747
my_error(err, MYF(0), var->getName().c_str());
1750
/* value is a NULL pointer if we are using SET ... = DEFAULT */
1753
if (var->check_default(type))
1755
my_error(ER_NO_DEFAULT, MYF(0), var->getName().c_str());
1761
if ((!value->fixed &&
1762
value->fix_fields(session, &value)) || value->check_cols(1))
1764
if (var->check_update_type(value->result_type()))
1766
my_error(ER_WRONG_TYPE_FOR_VAR, MYF(0), var->getName().c_str());
1769
return var->check(session, this) ? -1 : 0;
1775
@param session thread handler
1776
@returns 0|1 ok or ERROR
1778
@note ERROR can be only due to abnormal operations involving
1779
the server's execution evironment such as
1780
out of memory, hard disk failure or the computer blows up.
1781
Consider set_var::check() method if there is a need to return
1782
an error due to logics.
1784
int set_var::update(Session *session)
1787
var->set_default(session, type);
1788
else if (var->update(session, this))
1789
return -1; // should never happen
1790
if (var->getAfterUpdateTrigger())
1791
(*var->getAfterUpdateTrigger())(session, type);
1795
/*****************************************************************************
1796
Functions to handle SET @user_variable=const_expr
1797
*****************************************************************************/
1799
int set_var_user::check(Session *session)
1802
Item_func_set_user_var can't substitute something else on its place =>
1803
0 can be passed as last argument (reference on item)
1805
return (user_var_item->fix_fields(session, (Item**) 0) ||
1806
user_var_item->check(0)) ? -1 : 0;
1810
int set_var_user::update(Session *)
1812
if (user_var_item->update())
1814
/* Give an error if it's not given already */
1815
my_message(ER_SET_CONSTANTS_ONLY, ER(ER_SET_CONSTANTS_ONLY), MYF(0));
1821
1690
/****************************************************************************
1822
1691
Functions to handle table_type
1823
1692
****************************************************************************/