mirror of
https://github.com/MariaDB/server.git
synced 2025-08-08 11:22:35 +03:00
item_func.cc:
set_var.cc: variables.result variables.test Bug #10904 Illegal mix of collations between a system variable and a constant Changing coercibility of system variables to SYSCONST, to be the same with USER(), DATABASE(), etc. sql/item_func.cc: Bug #10904 Illegal mix of collations between a system variable and a constant Changing coercibility of system variables to SYSCONST To be the same with USER(), DATABASE(), etc.
This commit is contained in:
@@ -210,6 +210,12 @@ query_prealloc_size 8192
|
|||||||
range_alloc_block_size 2048
|
range_alloc_block_size 2048
|
||||||
transaction_alloc_block_size 8192
|
transaction_alloc_block_size 8192
|
||||||
transaction_prealloc_size 4096
|
transaction_prealloc_size 4096
|
||||||
|
SELECT @@version LIKE 'non-existent';
|
||||||
|
@@version LIKE 'non-existent'
|
||||||
|
0
|
||||||
|
SELECT @@version_compile_os LIKE 'non-existent';
|
||||||
|
@@version_compile_os LIKE 'non-existent'
|
||||||
|
0
|
||||||
set big_tables=OFFF;
|
set big_tables=OFFF;
|
||||||
ERROR 42000: Variable 'big_tables' can't be set to the value of 'OFFF'
|
ERROR 42000: Variable 'big_tables' can't be set to the value of 'OFFF'
|
||||||
set big_tables="OFFF";
|
set big_tables="OFFF";
|
||||||
|
@@ -115,6 +115,13 @@ set @@query_alloc_block_size=default, @@query_prealloc_size=default;
|
|||||||
set transaction_alloc_block_size=default, @@transaction_prealloc_size=default;
|
set transaction_alloc_block_size=default, @@transaction_prealloc_size=default;
|
||||||
show variables like '%alloc%';
|
show variables like '%alloc%';
|
||||||
|
|
||||||
|
#
|
||||||
|
# Bug #10904 Illegal mix of collations between
|
||||||
|
# a system variable and a constant
|
||||||
|
#
|
||||||
|
SELECT @@version LIKE 'non-existent';
|
||||||
|
SELECT @@version_compile_os LIKE 'non-existent';
|
||||||
|
|
||||||
# The following should give errors
|
# The following should give errors
|
||||||
|
|
||||||
--error 1231
|
--error 1231
|
||||||
|
@@ -3369,7 +3369,7 @@ Item *get_system_var(THD *thd, enum_var_type var_type, LEX_STRING name,
|
|||||||
!my_strcasecmp(system_charset_info, name.str, "VERSION"))
|
!my_strcasecmp(system_charset_info, name.str, "VERSION"))
|
||||||
return new Item_string("@@VERSION", server_version,
|
return new Item_string("@@VERSION", server_version,
|
||||||
(uint) strlen(server_version),
|
(uint) strlen(server_version),
|
||||||
system_charset_info);
|
system_charset_info, DERIVATION_SYSCONST);
|
||||||
|
|
||||||
Item *item;
|
Item *item;
|
||||||
sys_var *var;
|
sys_var *var;
|
||||||
|
@@ -1606,7 +1606,8 @@ Item *sys_var::item(THD *thd, enum_var_type var_type, LEX_STRING *base)
|
|||||||
Item_string *tmp;
|
Item_string *tmp;
|
||||||
pthread_mutex_lock(&LOCK_global_system_variables);
|
pthread_mutex_lock(&LOCK_global_system_variables);
|
||||||
char *str= (char*) value_ptr(thd, var_type, base);
|
char *str= (char*) value_ptr(thd, var_type, base);
|
||||||
tmp= new Item_string(str, strlen(str), system_charset_info);
|
tmp= new Item_string(str, strlen(str),
|
||||||
|
system_charset_info, DERIVATION_SYSCONST);
|
||||||
pthread_mutex_unlock(&LOCK_global_system_variables);
|
pthread_mutex_unlock(&LOCK_global_system_variables);
|
||||||
return tmp;
|
return tmp;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user