1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-29 05:21:33 +03:00

MDEV-10411 Providing compatibility for basic PL/SQL constructs

Part 13: RETURN vs RETURNS in function definition:

  CREATE FUNCTION f1(a INT) RETURN INT ...

Part 12:  No parentheses if no arguments:

  CREATE FUNCTION f1 RETURN INT ...
This commit is contained in:
Alexander Barkov
2016-08-12 15:32:10 +04:00
parent bd76d44564
commit 0040b0f380
4 changed files with 61 additions and 17 deletions

View File

@ -1,6 +1,21 @@
SET sql_mode=ORACLE;
--echo # Testing routines with no parameters
DELIMITER /;
CREATE FUNCTION f1 RETURN INT
AS
BEGIN
RETURN 10;
END;
/
DELIMITER ;/
--vertical_results
SHOW CREATE FUNCTION f1;
--horizontal_results
SELECT f1();
DROP FUNCTION f1;
DELIMITER /;
CREATE PROCEDURE p1
AS
@ -19,7 +34,7 @@ DROP PROCEDURE p1;
--echo # Testing ":=" to set the default value of a variable
DELIMITER /;
CREATE FUNCTION f1 () RETURNS NUMBER(10) AS
CREATE FUNCTION f1 () RETURN NUMBER(10) AS
a NUMBER(10) := 10;
BEGIN
DECLARE
@ -36,7 +51,7 @@ DROP FUNCTION f1;
--echo # Testing labels
DELIMITER /;
CREATE FUNCTION f1 (a INT) RETURNS CLOB AS
CREATE FUNCTION f1 (a INT) RETURN CLOB AS
BEGIN
<<label1>>
BEGIN
@ -55,7 +70,7 @@ DROP FUNCTION f1;
DELIMITER /;
CREATE FUNCTION f1 (a INT) RETURNS INT IS
CREATE FUNCTION f1 (a INT) RETURN INT IS
BEGIN
<<label1>>
LOOP
@ -73,7 +88,7 @@ DROP FUNCTION f1;
DELIMITER /;
CREATE FUNCTION f1 (a INT) RETURNS INT AS
CREATE FUNCTION f1 (a INT) RETURN INT AS
BEGIN
<<label1>>
WHILE a>0 DO
@ -91,7 +106,7 @@ DROP FUNCTION f1;
DELIMITER /;
CREATE FUNCTION f1 (a INT) RETURNS INT AS
CREATE FUNCTION f1 (a INT) RETURN INT AS
BEGIN
<<label1>>
REPEAT
@ -345,7 +360,7 @@ SELECT @p1;
DROP PROCEDURE p1;
DELIMITER /;
CREATE FUNCTION f1 (p1 VARCHAR2(10)) RETURNS VARCHAR(20)
CREATE FUNCTION f1 (p1 VARCHAR2(10)) RETURN VARCHAR(20)
AS
p2 VARCHAR(10);
BEGIN
@ -384,7 +399,7 @@ SELECT @p1;
DROP PROCEDURE p1;
DELIMITER /;
CREATE FUNCTION f1 (p1 VARCHAR2(10)) RETURNS VARCHAR(20)
CREATE FUNCTION f1 (p1 VARCHAR2(10)) RETURN VARCHAR(20)
AS
BEGIN
DECLARE