Fixed BUG#3259: Stored procedure names are case sensitive.
Procedure names were unintentionally case-sensitive when read from the database (but case-insensitive when fetched from the cache). Note that the DB-part of qualified names is still case-sensitive (for consistency with other usage in mysql).
This commit is contained in:
parent
5476eb0709
commit
5954e94fa7
@ -1057,9 +1057,9 @@
|
||||
|
||||
CREATE TABLE proc (
|
||||
db char(64) binary DEFAULT '' NOT NULL,
|
||||
name char(64) binary DEFAULT '' NOT NULL,
|
||||
name char(64) DEFAULT '' NOT NULL,
|
||||
type enum('FUNCTION','PROCEDURE') NOT NULL,
|
||||
specific_name char(64) binary DEFAULT '' NOT NULL,
|
||||
specific_name char(64) DEFAULT '' NOT NULL,
|
||||
language enum('SQL') DEFAULT 'SQL' NOT NULL,
|
||||
sql_data_access enum('CONTAINS_SQL') DEFAULT 'CONTAINS_SQL' NOT NULL,
|
||||
is_deterministic enum('YES','NO') DEFAULT 'NO' NOT NULL,
|
||||
|
@ -1000,6 +1000,18 @@ select bug2674()|
|
||||
bug2674()
|
||||
262136
|
||||
drop function bug2674|
|
||||
create procedure bug3259_1 () begin end|
|
||||
create procedure BUG3259_2 () begin end|
|
||||
create procedure Bug3259_3 () begin end|
|
||||
call BUG3259_1()|
|
||||
call BUG3259_1()|
|
||||
call bug3259_2()|
|
||||
call Bug3259_2()|
|
||||
call bug3259_3()|
|
||||
call bUG3259_3()|
|
||||
drop procedure bUg3259_1|
|
||||
drop procedure BuG3259_2|
|
||||
drop procedure BUG3259_3|
|
||||
drop table if exists fac|
|
||||
create table fac (n int unsigned not null primary key, f bigint unsigned)|
|
||||
create procedure ifac(n int unsigned)
|
||||
|
@ -1159,6 +1159,25 @@ create function bug2674 () returns int
|
||||
select bug2674()|
|
||||
drop function bug2674|
|
||||
|
||||
#
|
||||
# BUG#3259
|
||||
#
|
||||
|
||||
create procedure bug3259_1 () begin end|
|
||||
create procedure BUG3259_2 () begin end|
|
||||
create procedure Bug3259_3 () begin end|
|
||||
|
||||
call BUG3259_1()|
|
||||
call BUG3259_1()|
|
||||
call bug3259_2()|
|
||||
call Bug3259_2()|
|
||||
call bug3259_3()|
|
||||
call bUG3259_3()|
|
||||
|
||||
drop procedure bUg3259_1|
|
||||
drop procedure BuG3259_2|
|
||||
drop procedure BUG3259_3|
|
||||
|
||||
|
||||
#
|
||||
# Some "real" examples
|
||||
|
@ -290,9 +290,9 @@ if test ! -f $mdata/proc.frm
|
||||
then
|
||||
c_p="$c_p CREATE TABLE proc ("
|
||||
c_p="$c_p db char(64) binary DEFAULT '' NOT NULL,"
|
||||
c_p="$c_p name char(64) binary DEFAULT '' NOT NULL,"
|
||||
c_p="$c_p name char(64) DEFAULT '' NOT NULL,"
|
||||
c_p="$c_p type enum('FUNCTION','PROCEDURE') NOT NULL,"
|
||||
c_p="$c_p specific_name char(64) binary DEFAULT '' NOT NULL,"
|
||||
c_p="$c_p specific_name char(64) DEFAULT '' NOT NULL,"
|
||||
c_p="$c_p language enum('SQL') DEFAULT 'SQL' NOT NULL,"
|
||||
c_p="$c_p sql_data_access enum('CONTAINS_SQL') DEFAULT 'CONTAINS_SQL' NOT NULL,"
|
||||
c_p="$c_p is_deterministic enum('YES','NO') DEFAULT 'NO' NOT NULL,"
|
||||
|
@ -141,9 +141,9 @@ unique index (name)
|
||||
|
||||
CREATE TABLE IF NOT EXISTS proc (
|
||||
db char(64) binary DEFAULT '' NOT NULL,
|
||||
name char(64) binary DEFAULT '' NOT NULL,
|
||||
name char(64) DEFAULT '' NOT NULL,
|
||||
type enum('FUNCTION','PROCEDURE') NOT NULL,
|
||||
specific_name char(64) binary DEFAULT '' NOT NULL,
|
||||
specific_name char(64) DEFAULT '' NOT NULL,
|
||||
language enum('SQL') DEFAULT 'SQL' NOT NULL,
|
||||
sql_data_access enum('CONTAINS_SQL') DEFAULT 'CONTAINS_SQL' NOT NULL,
|
||||
is_deterministic enum('YES','NO') DEFAULT 'NO' NOT NULL,
|
||||
@ -179,3 +179,7 @@ CREATE TABLE IF NOT EXISTS proc (
|
||||
comment char(64) binary DEFAULT '' NOT NULL,
|
||||
PRIMARY KEY (db,name,type)
|
||||
) comment='Stored Procedures';
|
||||
|
||||
# Correct the name fields to not binary
|
||||
ALTER TABLE proc MODIFY name char(64) DEFAULT '' NOT NULL,
|
||||
MODIFY specific_name char(64) DEFAULT '' NOT NULL;
|
||||
|
Loading…
x
Reference in New Issue
Block a user