mirror of
https://github.com/MariaDB/server.git
synced 2025-01-18 21:12:26 +01:00
Merge sanja.is.com.ua:/home/bell/mysql/mysql-4.1
into sanja.is.com.ua:/home/bell/mysql/work-crash-4.1
This commit is contained in:
commit
3fac3a2578
5 changed files with 21 additions and 16 deletions
|
@ -3892,10 +3892,10 @@ static void set_options(void)
|
|||
/* Set default values for some variables */
|
||||
global_system_variables.table_type=DB_TYPE_MYISAM;
|
||||
global_system_variables.tx_isolation=ISO_READ_COMMITTED;
|
||||
global_system_variables.select_limit= (ulong) HA_POS_ERROR;
|
||||
global_system_variables.select_limit= (ulonglong) HA_POS_ERROR;
|
||||
max_system_variables.select_limit= (ulong) HA_POS_ERROR;
|
||||
global_system_variables.max_join_size= (ulong) HA_POS_ERROR;
|
||||
max_system_variables.max_join_size= (ulong) HA_POS_ERROR;
|
||||
global_system_variables.max_join_size= (ulonglong) HA_POS_ERROR;
|
||||
max_system_variables.max_join_size= (ulonglong) HA_POS_ERROR;
|
||||
|
||||
#ifdef __WIN__
|
||||
/* Allow Win32 users to move MySQL anywhere */
|
||||
|
|
|
@ -154,11 +154,11 @@ sys_var_thd_ulong sys_max_error_count("max_error_count",
|
|||
&SV::max_error_count);
|
||||
sys_var_thd_ulong sys_max_heap_table_size("max_heap_table_size",
|
||||
&SV::max_heap_table_size);
|
||||
sys_var_thd_ulong sys_max_join_size("max_join_size",
|
||||
sys_var_thd_ulonglong sys_max_join_size("max_join_size",
|
||||
&SV::max_join_size,
|
||||
fix_max_join_size);
|
||||
#ifndef TO_BE_DELETED /* Alias for max_join_size */
|
||||
sys_var_thd_ulong sys_sql_max_join_size("sql_max_join_size",
|
||||
sys_var_thd_ulonglong sys_sql_max_join_size("sql_max_join_size",
|
||||
&SV::max_join_size,
|
||||
fix_max_join_size);
|
||||
#endif
|
||||
|
@ -282,7 +282,7 @@ static sys_var_thd_bit sys_unique_checks("unique_checks",
|
|||
|
||||
/* Local state variables */
|
||||
|
||||
static sys_var_thd_ulong sys_select_limit("sql_select_limit",
|
||||
static sys_var_thd_ulonglong sys_select_limit("sql_select_limit",
|
||||
&SV::select_limit);
|
||||
static sys_var_timestamp sys_timestamp("timestamp");
|
||||
static sys_var_last_insert_id sys_last_insert_id("last_insert_id");
|
||||
|
@ -594,7 +594,7 @@ static void fix_max_join_size(THD *thd, enum_var_type type)
|
|||
{
|
||||
if (type != OPT_GLOBAL)
|
||||
{
|
||||
if (thd->variables.max_join_size == (ulong) HA_POS_ERROR)
|
||||
if (thd->variables.max_join_size == (ulonglong) HA_POS_ERROR)
|
||||
thd->options|= OPTION_BIG_SELECTS;
|
||||
else
|
||||
thd->options&= ~OPTION_BIG_SELECTS;
|
||||
|
@ -769,7 +769,7 @@ bool sys_var_thd_ulonglong::update(THD *thd, set_var *var)
|
|||
void sys_var_thd_ulonglong::set_default(THD *thd, enum_var_type type)
|
||||
{
|
||||
if (type == OPT_GLOBAL)
|
||||
global_system_variables.*offset= (ulong) option_limits->def_value;
|
||||
global_system_variables.*offset= (ulonglong) option_limits->def_value;
|
||||
else
|
||||
thd->variables.*offset= global_system_variables.*offset;
|
||||
}
|
||||
|
|
|
@ -203,6 +203,10 @@ public:
|
|||
sys_var_thd_ulonglong(const char *name_arg, ulonglong SV::*offset_arg)
|
||||
:sys_var_thd(name_arg), offset(offset_arg)
|
||||
{}
|
||||
sys_var_thd_ulonglong(const char *name_arg, ulonglong SV::*offset_arg,
|
||||
sys_after_update_func func)
|
||||
:sys_var_thd(name_arg,func), offset(offset_arg)
|
||||
{}
|
||||
bool update(THD *thd, set_var *var);
|
||||
void set_default(THD *thd, enum_var_type type);
|
||||
SHOW_TYPE type() { return SHOW_LONGLONG; }
|
||||
|
|
|
@ -341,13 +341,14 @@ struct system_variables
|
|||
{
|
||||
ulonglong myisam_max_extra_sort_file_size;
|
||||
ulonglong myisam_max_sort_file_size;
|
||||
ulonglong select_limit;
|
||||
ulonglong max_join_size;
|
||||
ulong bulk_insert_buff_size;
|
||||
ulong join_buff_size;
|
||||
ulong long_query_time;
|
||||
ulong max_allowed_packet;
|
||||
ulong max_error_count;
|
||||
ulong max_heap_table_size;
|
||||
ulong max_join_size;
|
||||
ulong max_prep_stmt_count;
|
||||
ulong max_sort_length;
|
||||
ulong max_tmp_tables;
|
||||
|
@ -361,7 +362,6 @@ struct system_variables
|
|||
ulong query_cache_type;
|
||||
ulong read_buff_size;
|
||||
ulong read_rnd_buff_size;
|
||||
ulong select_limit;
|
||||
ulong sortbuff_size;
|
||||
ulong table_type;
|
||||
ulong tmp_table_size;
|
||||
|
|
|
@ -660,7 +660,7 @@ pthread_handler_decl(handle_one_connection,arg)
|
|||
goto end_thread;
|
||||
}
|
||||
|
||||
if ((ulong) thd->variables.max_join_size == (ulong) HA_POS_ERROR)
|
||||
if ((ulong) thd->variables.max_join_size == (ulonglong) HA_POS_ERROR)
|
||||
thd->options |= OPTION_BIG_SELECTS;
|
||||
if (thd->client_capabilities & CLIENT_COMPRESS)
|
||||
net->compress=1; // Use compression
|
||||
|
@ -736,7 +736,7 @@ pthread_handler_decl(handle_bootstrap,arg)
|
|||
|
||||
#endif
|
||||
|
||||
if ((ulong) thd->variables.max_join_size == (ulong) HA_POS_ERROR)
|
||||
if ((ulong) thd->variables.max_join_size == (ulonglong) HA_POS_ERROR)
|
||||
thd->options |= OPTION_BIG_SELECTS;
|
||||
|
||||
thd->proc_info=0;
|
||||
|
@ -1373,10 +1373,11 @@ if (lex->derived_tables)
|
|||
break; // Error message is given
|
||||
}
|
||||
|
||||
unit->offset_limit_cnt= unit->global_parameters->offset_limit;
|
||||
unit->select_limit_cnt= unit->global_parameters->select_limit+
|
||||
unit->global_parameters->offset_limit;
|
||||
if (unit->select_limit_cnt < unit->global_parameters->select_limit)
|
||||
unit->offset_limit_cnt= (ha_rows) unit->global_parameters->offset_limit;
|
||||
unit->select_limit_cnt= (ha_rows) (unit->global_parameters->select_limit+
|
||||
unit->global_parameters->offset_limit);
|
||||
if (unit->select_limit_cnt <
|
||||
(ha_rows) unit->global_parameters->select_limit)
|
||||
unit->select_limit_cnt= HA_POS_ERROR; // no limit
|
||||
if (unit->select_limit_cnt == HA_POS_ERROR)
|
||||
select_lex->options&= ~OPTION_FOUND_ROWS;
|
||||
|
|
Loading…
Reference in a new issue