mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
Fix for BUG#5242: Made SQL Syntax Prepared Statement names case-insensitive.
mysql-test/r/ps.result: Testcase for BUG#5242 mysql-test/t/ps.test: Testcase for BUG#5242
This commit is contained in:
@ -241,3 +241,21 @@ prepare stmt1 from "select * from t1 into outfile 'f1.txt'";
|
||||
execute stmt1;
|
||||
deallocate prepare stmt1;
|
||||
drop table t1;
|
||||
prepare stmt1 from 'select 1';
|
||||
prepare STMT1 from 'select 2';
|
||||
execute sTmT1;
|
||||
2
|
||||
2
|
||||
deallocate prepare StMt1;
|
||||
deallocate prepare Stmt1;
|
||||
ERROR HY000: Unknown prepared statement handler (Stmt1) given to DEALLOCATE PREPARE
|
||||
set names utf8;
|
||||
prepare `ü` from 'select 1234';
|
||||
execute `ü` ;
|
||||
1234
|
||||
1234
|
||||
set names latin1;
|
||||
execute `<60>`;
|
||||
1234
|
||||
1234
|
||||
set names default;
|
||||
|
@ -240,3 +240,24 @@ prepare stmt1 from "select * from t1 into outfile 'f1.txt'";
|
||||
execute stmt1;
|
||||
deallocate prepare stmt1;
|
||||
drop table t1;
|
||||
|
||||
#
|
||||
# BUG#5242 "Prepared statement names are case sensitive"
|
||||
#
|
||||
prepare stmt1 from 'select 1';
|
||||
prepare STMT1 from 'select 2';
|
||||
execute sTmT1;
|
||||
deallocate prepare StMt1;
|
||||
|
||||
--error 1243
|
||||
deallocate prepare Stmt1;
|
||||
|
||||
# also check that statement names are in right charset.
|
||||
set names utf8;
|
||||
prepare `ü` from 'select 1234';
|
||||
execute `ü` ;
|
||||
set names latin1;
|
||||
execute `<60>`;
|
||||
set names default;
|
||||
|
||||
|
||||
|
@ -1503,7 +1503,7 @@ Statement_map::Statement_map() :
|
||||
hash_init(&st_hash, default_charset_info, START_STMT_HASH_SIZE, 0, 0,
|
||||
get_statement_id_as_hash_key,
|
||||
delete_statement_as_hash_key, MYF(0));
|
||||
hash_init(&names_hash, &my_charset_bin, START_NAME_HASH_SIZE, 0, 0,
|
||||
hash_init(&names_hash, system_charset_info, START_NAME_HASH_SIZE, 0, 0,
|
||||
(hash_get_key) get_stmt_name_hash_key,
|
||||
NULL,MYF(0));
|
||||
}
|
||||
|
Reference in New Issue
Block a user