summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Docs/sp-imp-spec.txt2
-rw-r--r--Docs/sp-implemented.txt27
2 files changed, 14 insertions, 15 deletions
diff --git a/Docs/sp-imp-spec.txt b/Docs/sp-imp-spec.txt
index c1b91d2c2c5..24a47aa2c38 100644
--- a/Docs/sp-imp-spec.txt
+++ b/Docs/sp-imp-spec.txt
@@ -135,7 +135,7 @@
while x > 0 do
set x = x-1;
insert into db.tab values (x, s);
- end while
+ end while;
end
would generate the following structures:
diff --git a/Docs/sp-implemented.txt b/Docs/sp-implemented.txt
index ff5f11ed681..6f2cf49b3b0 100644
--- a/Docs/sp-implemented.txt
+++ b/Docs/sp-implemented.txt
@@ -12,7 +12,7 @@ Summary of what's implemented:
- Prepared SP caching
- CONDITIONs and HANDLERs
- Simple read-only CURSORs.
- - SHOW DECLARE PROCEDURE/FUNCTION and SHOW PROCEDURE/FUNCTION STATUS
+ - SHOW CREATE PROCEDURE/FUNCTION and SHOW PROCEDURE/FUNCTION STATUS
Summary of Not Yet Implemented:
@@ -48,13 +48,12 @@ List of what's implemented:
CASCADE/RESTRICT is not implemented.
- CALL name (args)
- OUT and INOUT parameters are only supported for local variables, and
- therefore only useful when calling such procedures from within another
- procedure.
- Note: For the time being, when a procedure with OUT/INOUT parameter is
- called, the out values are silently discarded. In the future, this
- will either generate an error message, or it might even work to
- call all procedures from the top-level.
+ OUT and INOUT parameters are also works for user variables ("global"
+ variables) - i.e., if a procedure is defined as:
+ CREATE PROCEDURE foo(OUT p INT) ...;
+ a call like:
+ CALL foo(@x);
+ will set @x to the output value.
- Function/Procedure body:
- BEGIN/END
@@ -79,11 +78,11 @@ List of what's implemented:
is implemented. (Note: This is not SQL-99 feature, but common in other
databases.)
- A FUNCTION can have flow control contructs, but must not contain
- an SQL query, like SELECT, INSERT, UPDATE, etc. The reason is that it's
- hard to allow this is that a FUNCTION is executed as part of another
- query (unlike a PROCEDURE, which is called as a statement). The table
- locking scheme used makes it difficult to allow "subqueries" during
- FUNCTION invokation.
+ an SQL query/statement, like SELECT, INSERT, UPDATE, etc. The reason
+ is that it's hard to allow this is that a FUNCTION is executed as part
+ of another query (unlike a PROCEDURE, which is called as a statement).
+ The table locking scheme used makes it difficult to allow "subqueries"
+ during FUNCTION invokation.
- SPs are cached, but with a separate cache for each thread (THD).
There are still quite a few non-reentrant constructs in the lexical
context which makes sharing prepared SPs impossible. And, even when
@@ -106,7 +105,7 @@ List of what's implemented:
the current one when it's finished.
- SHOW procedures and functions
- SHOW DECLARE PROCEDURE|FUNCTION <name>
+ SHOW CREATE PROCEDURE|FUNCTION <name>
returns the definition of a routine.
SHOW PROCEDURE|FUNCTION STATUS [LIKE <pattern>]
returns characteristics of routines, like the name, type, creator,