mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
Fix value returned from SELECT of unsigned long system
variables. (Bug #10351)
This commit is contained in:
@ -525,3 +525,15 @@ set @@warning_count=1;
|
|||||||
ERROR HY000: Variable 'warning_count' is a read only variable
|
ERROR HY000: Variable 'warning_count' is a read only variable
|
||||||
set @@global.error_count=1;
|
set @@global.error_count=1;
|
||||||
ERROR HY000: Variable 'error_count' is a read only variable
|
ERROR HY000: Variable 'error_count' is a read only variable
|
||||||
|
set @@max_heap_table_size= 4294967296;
|
||||||
|
select @@max_heap_table_size;
|
||||||
|
@@max_heap_table_size
|
||||||
|
4294967296
|
||||||
|
set global max_heap_table_size= 4294967296;
|
||||||
|
select @@max_heap_table_size;
|
||||||
|
@@max_heap_table_size
|
||||||
|
4294967296
|
||||||
|
set @@max_heap_table_size= 4294967296;
|
||||||
|
select @@max_heap_table_size;
|
||||||
|
@@max_heap_table_size
|
||||||
|
4294967296
|
||||||
|
@ -406,3 +406,13 @@ drop table t1;
|
|||||||
set @@warning_count=1;
|
set @@warning_count=1;
|
||||||
--error 1238
|
--error 1238
|
||||||
set @@global.error_count=1;
|
set @@global.error_count=1;
|
||||||
|
|
||||||
|
#
|
||||||
|
# Bug #10351: Setting max_heap_table_size to 4G fails
|
||||||
|
#
|
||||||
|
set @@max_heap_table_size= 4294967296;
|
||||||
|
select @@max_heap_table_size;
|
||||||
|
set global max_heap_table_size= 4294967296;
|
||||||
|
select @@max_heap_table_size;
|
||||||
|
set @@max_heap_table_size= 4294967296;
|
||||||
|
select @@max_heap_table_size;
|
||||||
|
@ -1142,6 +1142,7 @@ class Item_uint :public Item_int
|
|||||||
public:
|
public:
|
||||||
Item_uint(const char *str_arg, uint length);
|
Item_uint(const char *str_arg, uint length);
|
||||||
Item_uint(uint32 i) :Item_int((ulonglong) i, 10) {}
|
Item_uint(uint32 i) :Item_int((ulonglong) i, 10) {}
|
||||||
|
Item_uint(ulong i) :Item_int((ulonglong) i, 10) {}
|
||||||
Item_uint(const char *str_arg, longlong i, uint length);
|
Item_uint(const char *str_arg, longlong i, uint length);
|
||||||
double val_real()
|
double val_real()
|
||||||
{ DBUG_ASSERT(fixed == 1); return ulonglong2double((ulonglong)value); }
|
{ DBUG_ASSERT(fixed == 1); return ulonglong2double((ulonglong)value); }
|
||||||
|
@ -5371,7 +5371,7 @@ The minimum value for this variable is 4096.",
|
|||||||
"Limit assumed max number of seeks when looking up rows based on a key",
|
"Limit assumed max number of seeks when looking up rows based on a key",
|
||||||
(gptr*) &global_system_variables.max_seeks_for_key,
|
(gptr*) &global_system_variables.max_seeks_for_key,
|
||||||
(gptr*) &max_system_variables.max_seeks_for_key, 0, GET_ULONG,
|
(gptr*) &max_system_variables.max_seeks_for_key, 0, GET_ULONG,
|
||||||
REQUIRED_ARG, ~0L, 1, ~0L, 0, 1, 0 },
|
REQUIRED_ARG, UINT_MAX32, 1, UINT_MAX32, 0, 1, 0 },
|
||||||
{"max_sort_length", OPT_MAX_SORT_LENGTH,
|
{"max_sort_length", OPT_MAX_SORT_LENGTH,
|
||||||
"The number of bytes to use when sorting BLOB or TEXT values (only the first max_sort_length bytes of each value are used; the rest are ignored).",
|
"The number of bytes to use when sorting BLOB or TEXT values (only the first max_sort_length bytes of each value are used; the rest are ignored).",
|
||||||
(gptr*) &global_system_variables.max_sort_length,
|
(gptr*) &global_system_variables.max_sort_length,
|
||||||
|
@ -1679,7 +1679,7 @@ Item *sys_var::item(THD *thd, enum_var_type var_type, LEX_STRING *base)
|
|||||||
pthread_mutex_lock(&LOCK_global_system_variables);
|
pthread_mutex_lock(&LOCK_global_system_variables);
|
||||||
value= *(uint*) value_ptr(thd, var_type, base);
|
value= *(uint*) value_ptr(thd, var_type, base);
|
||||||
pthread_mutex_unlock(&LOCK_global_system_variables);
|
pthread_mutex_unlock(&LOCK_global_system_variables);
|
||||||
return new Item_uint((int32) value);
|
return new Item_uint((uint32) value);
|
||||||
}
|
}
|
||||||
case SHOW_LONG:
|
case SHOW_LONG:
|
||||||
{
|
{
|
||||||
@ -1687,7 +1687,7 @@ Item *sys_var::item(THD *thd, enum_var_type var_type, LEX_STRING *base)
|
|||||||
pthread_mutex_lock(&LOCK_global_system_variables);
|
pthread_mutex_lock(&LOCK_global_system_variables);
|
||||||
value= *(ulong*) value_ptr(thd, var_type, base);
|
value= *(ulong*) value_ptr(thd, var_type, base);
|
||||||
pthread_mutex_unlock(&LOCK_global_system_variables);
|
pthread_mutex_unlock(&LOCK_global_system_variables);
|
||||||
return new Item_uint((int32) value);
|
return new Item_uint(value);
|
||||||
}
|
}
|
||||||
case SHOW_LONGLONG:
|
case SHOW_LONGLONG:
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user