234
234
static sys_var_session_ha_rows sys_max_join_size(&vars, "max_join_size",
235
235
&SV::max_join_size,
236
236
fix_max_join_size);
237
static sys_var_session_ulong sys_max_seeks_for_key(&vars, "max_seeks_for_key",
238
&SV::max_seeks_for_key);
239
static sys_var_session_ulong sys_max_length_for_sort_data(&vars, "max_length_for_sort_data",
240
&SV::max_length_for_sort_data);
237
static sys_var_session_uint32_t sys_max_seeks_for_key(&vars, "max_seeks_for_key",
238
&SV::max_seeks_for_key);
239
static sys_var_session_uint64_t sys_max_length_for_sort_data(&vars, "max_length_for_sort_data",
240
&SV::max_length_for_sort_data);
241
241
static sys_var_long_ptr sys_max_relay_log_size(&vars, "max_relay_log_size",
242
242
&max_relay_log_size,
243
243
fix_max_relay_log_size);
244
static sys_var_session_ulong sys_max_sort_length(&vars, "max_sort_length",
245
&SV::max_sort_length);
246
static sys_var_session_ulong sys_max_tmp_tables(&vars, "max_tmp_tables",
247
&SV::max_tmp_tables);
244
static sys_var_session_uint32_t sys_max_sort_length(&vars, "max_sort_length",
245
&SV::max_sort_length);
246
static sys_var_session_uint64_t sys_max_tmp_tables(&vars, "max_tmp_tables",
247
&SV::max_tmp_tables);
248
248
static sys_var_long_ptr sys_max_write_lock_count(&vars, "max_write_lock_count",
249
249
&max_write_lock_count);
250
250
static sys_var_session_ulong sys_min_examined_row_limit(&vars, "min_examined_row_limit",
300
300
static sys_var_session_ulong sys_div_precincrement(&vars, "div_precision_increment",
301
301
&SV::div_precincrement);
303
static sys_var_session_ulong sys_range_alloc_block_size(&vars, "range_alloc_block_size",
304
&SV::range_alloc_block_size);
305
static sys_var_session_ulong sys_query_alloc_block_size(&vars, "query_alloc_block_size",
306
&SV::query_alloc_block_size,
307
0, fix_session_mem_root);
308
static sys_var_session_ulong sys_query_prealloc_size(&vars, "query_prealloc_size",
309
&SV::query_prealloc_size,
310
0, fix_session_mem_root);
303
static sys_var_session_uint32_t sys_range_alloc_block_size(&vars, "range_alloc_block_size",
304
&SV::range_alloc_block_size);
305
static sys_var_session_uint32_t sys_query_alloc_block_size(&vars, "query_alloc_block_size",
306
&SV::query_alloc_block_size,
307
0, fix_session_mem_root);
308
static sys_var_session_uint32_t sys_query_prealloc_size(&vars, "query_prealloc_size",
309
&SV::query_prealloc_size,
310
0, fix_session_mem_root);
311
311
static sys_var_readonly sys_tmpdir(&vars, "tmpdir", OPT_GLOBAL, SHOW_CHAR, get_tmpdir);
312
static sys_var_session_ulong sys_trans_alloc_block_size(&vars, "transaction_alloc_block_size",
313
&SV::trans_alloc_block_size,
314
0, fix_trans_mem_root);
315
static sys_var_session_ulong sys_trans_prealloc_size(&vars, "transaction_prealloc_size",
316
&SV::trans_prealloc_size,
317
0, fix_trans_mem_root);
312
static sys_var_session_uint32_t sys_trans_alloc_block_size(&vars, "transaction_alloc_block_size",
313
&SV::trans_alloc_block_size,
314
0, fix_trans_mem_root);
315
static sys_var_session_uint32_t sys_trans_prealloc_size(&vars, "transaction_prealloc_size",
316
&SV::trans_prealloc_size,
317
0, fix_trans_mem_root);
319
319
static sys_var_const_str_ptr sys_secure_file_priv(&vars, "secure_file_priv",
320
320
&opt_secure_file_priv);
482
482
static sys_var_rand_seed2 sys_rand_seed2(&vars, "rand_seed2",
483
483
sys_var::SESSION_VARIABLE_IN_BINLOG);
485
static sys_var_session_ulong sys_default_week_format(&vars, "default_week_format",
486
&SV::default_week_format);
485
static sys_var_session_uint32_t sys_default_week_format(&vars, "default_week_format",
486
&SV::default_week_format);
488
sys_var_session_ulong sys_group_concat_max_len(&vars, "group_concat_max_len",
489
&SV::group_concat_max_len);
488
sys_var_session_uint32_t sys_group_concat_max_len(&vars, "group_concat_max_len",
489
&SV::group_concat_max_len);
491
491
sys_var_session_time_zone sys_time_zone(&vars, "time_zone",
492
492
sys_var::SESSION_VARIABLE_IN_BINLOG);
1068
1068
return (unsigned char*) &(session->variables.*offset);
1072
32 bit types for session variables
1074
bool sys_var_session_uint32_t::check(Session *session, set_var *var)
1076
return (get_unsigned(session, var) ||
1077
(check_func && (*check_func)(session, var)));
1080
bool sys_var_session_uint32_t::update(Session *session, set_var *var)
1082
uint64_t tmp= var->save_result.uint64_t_value;
1084
/* Don't use bigger value than given with --maximum-variable-name=.. */
1085
if ((uint32_t) tmp > max_system_variables.*offset)
1087
throw_bounds_warning(session, true, true, name, (int64_t) tmp);
1088
tmp= max_system_variables.*offset;
1092
tmp= (uint32_t) fix_unsigned(session, tmp, option_limits);
1093
else if (tmp > UINT32_MAX)
1096
throw_bounds_warning(session, true, true, name, (int64_t) var->save_result.uint64_t_value);
1099
if (var->type == OPT_GLOBAL)
1100
global_system_variables.*offset= (uint32_t) tmp;
1102
session->variables.*offset= (uint32_t) tmp;
1108
void sys_var_session_uint32_t::set_default(Session *session, enum_var_type type)
1110
if (type == OPT_GLOBAL)
1113
/* We will not come here if option_limits is not set */
1114
global_system_variables.*offset=
1115
(uint32_t) getopt_ull_limit_value((uint32_t) option_limits->def_value,
1116
option_limits, ¬_used);
1119
session->variables.*offset= global_system_variables.*offset;
1123
unsigned char *sys_var_session_uint32_t::value_ptr(Session *session,
1127
if (type == OPT_GLOBAL)
1128
return (unsigned char*) &(global_system_variables.*offset);
1129
return (unsigned char*) &(session->variables.*offset);
1072
1133
bool sys_var_session_ha_rows::update(Session *session, set_var *var)