mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
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). Docs/sp-imp-spec.txt: Removed "binary" from name and specific_name columns in mysql.proc definition. mysql-test/r/sp.result: Test case for BUG#3259; SP names were supposed to be case-insensitive. mysql-test/t/sp.test: Test case for BUG#3259; SP names were supposed to be case-insensitive. scripts/mysql_create_system_tables.sh: Removed "binary" from name and specific_name columns in mysql.proc definition. scripts/mysql_fix_privilege_tables.sql: Removed "binary" from name and specific_name columns in mysql.proc definition, and added a corresponding ALTER TABLE to fix existing tables. sql/sp.cc: Added missing init of variable.
This commit is contained in:
@ -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;
|
||||
|
Reference in New Issue
Block a user