Task #627 : user variables' names are now case-insensitive :
@test=@"tEsT"=@`teST` etc. Tests updated. Note that the patch to sql_class.cc does not use HASH_CASE_INSENSITIVE as did the one which I sent for review. This is because meanwhile HASH_CASE_INSENSITIVE has disappeared (since cset 1.1504.1.6). mysql-test/r/variables.result: updated test mysql-test/t/variables.test: updated test sql/sql_class.cc: Task #627 : user variables' names are now case-insensitive : @test=@"tEsT"=@`teST` etc.
This commit is contained in:
parent
fb5df27adf
commit
ab7b332835
@ -1,8 +1,30 @@
|
|||||||
drop table if exists t1,t2;
|
drop table if exists t1,t2;
|
||||||
set @`test`=1,@TEST=3,@select=2,@t5=1.23456;
|
set @`test`=1;
|
||||||
select @test,@`select`,@TEST,@not_used;
|
select @test, @`test`, @TEST, @`TEST`, @"teSt";
|
||||||
@test @`select` @TEST @not_used
|
@test @`test` @TEST @`TEST` @"teSt"
|
||||||
1 2 3 NULL
|
1 1 1 1 1
|
||||||
|
set @TEST=2;
|
||||||
|
select @test, @`test`, @TEST, @`TEST`, @"teSt";
|
||||||
|
@test @`test` @TEST @`TEST` @"teSt"
|
||||||
|
2 2 2 2 2
|
||||||
|
set @"tEST"=3;
|
||||||
|
select @test, @`test`, @TEST, @`TEST`, @"teSt";
|
||||||
|
@test @`test` @TEST @`TEST` @"teSt"
|
||||||
|
3 3 3 3 3
|
||||||
|
set @`TeST`=4;
|
||||||
|
select @test, @`test`, @TEST, @`TEST`, @"teSt";
|
||||||
|
@test @`test` @TEST @`TEST` @"teSt"
|
||||||
|
4 4 4 4 4
|
||||||
|
select @`teST`:=5;
|
||||||
|
@`teST`:=5
|
||||||
|
5
|
||||||
|
select @test, @`test`, @TEST, @`TEST`, @"teSt";
|
||||||
|
@test @`test` @TEST @`TEST` @"teSt"
|
||||||
|
5 5 5 5 5
|
||||||
|
set @select=2,@t5=1.23456;
|
||||||
|
select @`select`,@not_used;
|
||||||
|
@`select` @not_used
|
||||||
|
2 NULL
|
||||||
set @test_int=10,@test_double=1e-10,@test_string="abcdeghi",@test_string2="abcdefghij",@select=NULL;
|
set @test_int=10,@test_double=1e-10,@test_string="abcdeghi",@test_string2="abcdefghij",@select=NULL;
|
||||||
select @test_int,@test_double,@test_string,@test_string2,@select;
|
select @test_int,@test_double,@test_string,@test_string2,@select;
|
||||||
@test_int @test_double @test_string @test_string2 @select
|
@test_int @test_double @test_string @test_string2 @select
|
||||||
|
@ -5,8 +5,20 @@
|
|||||||
drop table if exists t1,t2;
|
drop table if exists t1,t2;
|
||||||
--enable_warnings
|
--enable_warnings
|
||||||
|
|
||||||
set @`test`=1,@TEST=3,@select=2,@t5=1.23456;
|
# case insensitivity tests (new in 5.0)
|
||||||
select @test,@`select`,@TEST,@not_used;
|
set @`test`=1;
|
||||||
|
select @test, @`test`, @TEST, @`TEST`, @"teSt";
|
||||||
|
set @TEST=2;
|
||||||
|
select @test, @`test`, @TEST, @`TEST`, @"teSt";
|
||||||
|
set @"tEST"=3;
|
||||||
|
select @test, @`test`, @TEST, @`TEST`, @"teSt";
|
||||||
|
set @`TeST`=4;
|
||||||
|
select @test, @`test`, @TEST, @`TEST`, @"teSt";
|
||||||
|
select @`teST`:=5;
|
||||||
|
select @test, @`test`, @TEST, @`TEST`, @"teSt";
|
||||||
|
|
||||||
|
set @select=2,@t5=1.23456;
|
||||||
|
select @`select`,@not_used;
|
||||||
set @test_int=10,@test_double=1e-10,@test_string="abcdeghi",@test_string2="abcdefghij",@select=NULL;
|
set @test_int=10,@test_double=1e-10,@test_string="abcdeghi",@test_string2="abcdefghij",@select=NULL;
|
||||||
select @test_int,@test_double,@test_string,@test_string2,@select;
|
select @test_int,@test_double,@test_string,@test_string2,@select;
|
||||||
set @test_int="hello",@test_double="hello",@test_string="hello",@test_string2="hello";
|
set @test_int="hello",@test_double="hello",@test_string="hello",@test_string2="hello";
|
||||||
|
@ -151,9 +151,9 @@ THD::THD():user_time(0), is_fatal_error(0),
|
|||||||
bzero((char*) &warn_root,sizeof(warn_root));
|
bzero((char*) &warn_root,sizeof(warn_root));
|
||||||
init_alloc_root(&warn_root, 1024, 0);
|
init_alloc_root(&warn_root, 1024, 0);
|
||||||
user_connect=(USER_CONN *)0;
|
user_connect=(USER_CONN *)0;
|
||||||
hash_init(&user_vars, &my_charset_bin, USER_VARS_HASH_SIZE, 0, 0,
|
hash_init(&user_vars, system_charset_info, USER_VARS_HASH_SIZE, 0, 0,
|
||||||
(hash_get_key) get_var_key,
|
(hash_get_key) get_var_key,
|
||||||
(hash_free_key) free_user_var,0);
|
(hash_free_key) free_user_var, 0);
|
||||||
|
|
||||||
/* For user vars replication*/
|
/* For user vars replication*/
|
||||||
if (opt_bin_log)
|
if (opt_bin_log)
|
||||||
@ -257,7 +257,7 @@ void THD::change_user(void)
|
|||||||
cleanup();
|
cleanup();
|
||||||
cleanup_done= 0;
|
cleanup_done= 0;
|
||||||
init();
|
init();
|
||||||
hash_init(&user_vars, &my_charset_bin, USER_VARS_HASH_SIZE, 0, 0,
|
hash_init(&user_vars, system_charset_info, USER_VARS_HASH_SIZE, 0, 0,
|
||||||
(hash_get_key) get_var_key,
|
(hash_get_key) get_var_key,
|
||||||
(hash_free_key) free_user_var, 0);
|
(hash_free_key) free_user_var, 0);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user