mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
Fixed BUG#11365: Stored Procedure: Crash on Procedure operation
Two separate problems. A key buffer was too small in sp.cc for multi-byte fields, and the creation and fixing of mysql.proc in the scripts hadn't been updated with the correct character sets and collations (like the other system tables had). Note: No special test case, as the use of utf8 for mysql.proc will make any existing crash (if the buffer overrrun wasn't fixed).
This commit is contained in:
@ -669,7 +669,7 @@ fi
|
||||
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 db char(64) collate utf8_bin 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) DEFAULT '' NOT NULL,"
|
||||
@ -684,7 +684,7 @@ then
|
||||
c_p="$c_p param_list blob DEFAULT '' NOT NULL,"
|
||||
c_p="$c_p returns char(64) DEFAULT '' NOT NULL,"
|
||||
c_p="$c_p body blob DEFAULT '' NOT NULL,"
|
||||
c_p="$c_p definer char(77) binary DEFAULT '' NOT NULL,"
|
||||
c_p="$c_p definer char(77) collate utf8_bin DEFAULT '' NOT NULL,"
|
||||
c_p="$c_p created timestamp,"
|
||||
c_p="$c_p modified timestamp,"
|
||||
c_p="$c_p sql_mode set("
|
||||
@ -718,10 +718,12 @@ then
|
||||
c_p="$c_p 'TRADITIONAL',"
|
||||
c_p="$c_p 'NO_AUTO_CREATE_USER',"
|
||||
c_p="$c_p 'HIGH_NOT_PRECEDENCE'"
|
||||
c_p="$c_p ) DEFAULT 0 NOT NULL,"
|
||||
c_p="$c_p comment char(64) binary DEFAULT '' NOT NULL,"
|
||||
c_p="$c_p ) DEFAULT '' NOT NULL,"
|
||||
c_p="$c_p comment char(64) collate utf8_bin DEFAULT '' NOT NULL,"
|
||||
c_p="$c_p PRIMARY KEY (db,name,type)"
|
||||
c_p="$c_p ) comment='Stored Procedures';"
|
||||
c_p="$c_p ) engine=MyISAM"
|
||||
c_p="$c_p character set utf8"
|
||||
c_p="$c_p comment='Stored Procedures';"
|
||||
fi
|
||||
|
||||
cat << END_OF_DATA
|
||||
|
Reference in New Issue
Block a user