Commit ebf1f94c authored by lenz@mysql.com's avatar lenz@mysql.com

Merge lgrimmer@build.mysql.com:/home/bk/mysql-5.0

into mysql.com:/space/my/mysql-5.0
parents 250daf98 ad960d8c
...@@ -135,7 +135,7 @@ ...@@ -135,7 +135,7 @@
while x > 0 do while x > 0 do
set x = x-1; set x = x-1;
insert into db.tab values (x, s); insert into db.tab values (x, s);
end while end while;
end end
would generate the following structures: would generate the following structures:
......
...@@ -12,7 +12,7 @@ Summary of what's implemented: ...@@ -12,7 +12,7 @@ Summary of what's implemented:
- Prepared SP caching - Prepared SP caching
- CONDITIONs and HANDLERs - CONDITIONs and HANDLERs
- Simple read-only CURSORs. - 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: Summary of Not Yet Implemented:
...@@ -48,13 +48,12 @@ List of what's implemented: ...@@ -48,13 +48,12 @@ List of what's implemented:
CASCADE/RESTRICT is not implemented. CASCADE/RESTRICT is not implemented.
- CALL name (args) - CALL name (args)
OUT and INOUT parameters are only supported for local variables, and OUT and INOUT parameters are also works for user variables ("global"
therefore only useful when calling such procedures from within another variables) - i.e., if a procedure is defined as:
procedure. CREATE PROCEDURE foo(OUT p INT) ...;
Note: For the time being, when a procedure with OUT/INOUT parameter is a call like:
called, the out values are silently discarded. In the future, this CALL foo(@x);
will either generate an error message, or it might even work to will set @x to the output value.
call all procedures from the top-level.
- Function/Procedure body: - Function/Procedure body:
- BEGIN/END - BEGIN/END
...@@ -79,11 +78,11 @@ List of what's implemented: ...@@ -79,11 +78,11 @@ List of what's implemented:
is implemented. (Note: This is not SQL-99 feature, but common in other is implemented. (Note: This is not SQL-99 feature, but common in other
databases.) databases.)
- A FUNCTION can have flow control contructs, but must not contain - 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 an SQL query/statement, like SELECT, INSERT, UPDATE, etc. The reason
hard to allow this is that a FUNCTION is executed as part of another is that it's hard to allow this is that a FUNCTION is executed as part
query (unlike a PROCEDURE, which is called as a statement). The table of another query (unlike a PROCEDURE, which is called as a statement).
locking scheme used makes it difficult to allow "subqueries" during The table locking scheme used makes it difficult to allow "subqueries"
FUNCTION invokation. during FUNCTION invokation.
- SPs are cached, but with a separate cache for each thread (THD). - SPs are cached, but with a separate cache for each thread (THD).
There are still quite a few non-reentrant constructs in the lexical There are still quite a few non-reentrant constructs in the lexical
context which makes sharing prepared SPs impossible. And, even when context which makes sharing prepared SPs impossible. And, even when
...@@ -106,7 +105,7 @@ List of what's implemented: ...@@ -106,7 +105,7 @@ List of what's implemented:
the current one when it's finished. the current one when it's finished.
- SHOW procedures and functions - SHOW procedures and functions
SHOW DECLARE PROCEDURE|FUNCTION <name> SHOW CREATE PROCEDURE|FUNCTION <name>
returns the definition of a routine. returns the definition of a routine.
SHOW PROCEDURE|FUNCTION STATUS [LIKE <pattern>] SHOW PROCEDURE|FUNCTION STATUS [LIKE <pattern>]
returns characteristics of routines, like the name, type, creator, returns characteristics of routines, like the name, type, creator,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment