1
0
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:
pem@mysql.com
2005-07-08 16:33:15 +02:00
parent ce93689940
commit 5ce9198f20
5 changed files with 41 additions and 26 deletions

View File

@ -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