summaryrefslogtreecommitdiff
path: root/Docs/sp-imp-spec.txt
diff options
context:
space:
mode:
authorunknown <pem@mysql.comhem.se>2003-12-12 14:05:29 +0100
committerunknown <pem@mysql.comhem.se>2003-12-12 14:05:29 +0100
commitcabd28c68c68c2d673b778d43bd3fdbabb0a8968 (patch)
treef518c8cbe887552b0437489a710a7050031bc2f1 /Docs/sp-imp-spec.txt
parentb5627bb00c8c60caefd428e70bfddfc7f03a5667 (diff)
downloadmariadb-git-cabd28c68c68c2d673b778d43bd3fdbabb0a8968.tar.gz
In order to make ALTER PROCEDURE|FUNCTION work correctly, and in general to
make characteristics (and SHOW) work right, we had to separate the old definition blob in the mysql.proc table into separate fields for parameters, return type, and body, and handle the characteristics (like SQL SECURITY) separately... and then reassemble the CREATE string for parsing, of course. This is rather ugly, mostly the parser bit. (Hopefully that will be better with the new parser.) Docs/sp-imp-spec.txt: Separated the definitions string of the procedure into different columns in the mysql.proc schema. mysql-test/r/sp.result: New characteristics tests. mysql-test/t/sp.test: New characteristics tests. scripts/mysql_create_system_tables.sh: Separated the definitions string of the procedure into different columns in the mysql.proc schema. scripts/mysql_fix_privilege_tables.sql: Separated the definitions string of the procedure into different columns in the mysql.proc schema. sql/sp.cc: Separated the definitions string of the procedure into different columns. Rewrote much of the code related this (have a assemble the definition string from its different parts now) and the way characteristics are now handled, in order to make ALTER actually work. sql/sp.h: Changed prototypes. sql/sp_head.cc: Rewrote much of the code related to the new mysql.proc schema with separate definition fields (have to assemble the definition string from its different parts now) and the way characteristics are now handled, in order to make ALTER actually work. sql/sp_head.h: Separated the different parts of the definition strings: name, parameters, return type (for functions) and body. sql/sql_yacc.yy: Separated the different parts of the definition strings: name, parameters, return type (for functions) and body. This is ugly and messy; hopefully there's a more elegant way to do this when the new parser is installed.
Diffstat (limited to 'Docs/sp-imp-spec.txt')
-rw-r--r--Docs/sp-imp-spec.txt11
1 files changed, 7 insertions, 4 deletions
diff --git a/Docs/sp-imp-spec.txt b/Docs/sp-imp-spec.txt
index b93416df2f7..ee9bc7a0e4f 100644
--- a/Docs/sp-imp-spec.txt
+++ b/Docs/sp-imp-spec.txt
@@ -1063,8 +1063,10 @@
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,
- definition blob DEFAULT '' NOT NULL,
- security_type enum('INVOKER','DEFINER') DEFAULT 'INVOKER' NOT NULL,
+ security_type enum('INVOKER','DEFINER') DEFAULT 'DEFINER' NOT NULL,
+ param_list blob DEFAULT '' NOT NULL,
+ returns char(64) DEFAULT '' NOT NULL,
+ body blob DEFAULT '' NOT NULL,
definer char(77) binary DEFAULT '' NOT NULL,
created timestamp,
modified timestamp,
@@ -1093,5 +1095,6 @@
comment char(64) binary DEFAULT '' NOT NULL,
PRIMARY KEY (schema,name,type)
) comment='Stored Procedures';
-
---
+
+ --
+ \ No newline at end of file