mirror of
https://github.com/MariaDB/server.git
synced 2025-08-01 03:47:19 +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;
|
execute stmt1;
|
||||||
deallocate prepare stmt1;
|
deallocate prepare stmt1;
|
||||||
drop table t1;
|
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;
|
execute stmt1;
|
||||||
deallocate prepare stmt1;
|
deallocate prepare stmt1;
|
||||||
drop table t1;
|
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,
|
hash_init(&st_hash, default_charset_info, START_STMT_HASH_SIZE, 0, 0,
|
||||||
get_statement_id_as_hash_key,
|
get_statement_id_as_hash_key,
|
||||||
delete_statement_as_hash_key, MYF(0));
|
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,
|
(hash_get_key) get_stmt_name_hash_key,
|
||||||
NULL,MYF(0));
|
NULL,MYF(0));
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user