Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/MariaDB/mysql-test/main/   (MariaDB Server Version 8.1-8.4©)  Datei vom 1.9.2026 mit Größe 1 kB image not shown  

Quelle  ps_in_func-stack4-pppf.test  Sprache: unbekannt

 
Spracherkennung für: .test vermutete Sprache: SQL {SQL[88] Lisp[51] Masm[51]} [Methode: maximale Elemente, drei Dimensionen]

--echo #
--echo # MDEV-39518 Allow prepared statements in stored functions in assignment right hand
--echo #

--echo # p1, p2, p3, f1(immediate)

CREATE TABLE t1 (a INT);

DELIMITER $$;
CREATE FUNCTION f1() RETURNS INT
BEGIN
  EXECUTE IMMEDIATE 'INSERT INTO t1 VALUES (10)';
  RETURN ROW_COUNT();
END;
$$
CREATE PROCEDURE p3()
BEGIN
  DECLARE nrows INT DEFAULT f1();
  SELECT nrows;
END;
$$
CREATE PROCEDURE p2()
BEGIN
  CALL p3;
END;
$$
CREATE PROCEDURE p1()
BEGIN
  CALL p2;
END;
$$
DELIMITER ;$$
CALL p1;
CALL p1;
SELECT * FROM t1 ORDER BY a;

DROP PROCEDURE p3;
DROP PROCEDURE p2;
DROP PROCEDURE p1;
DROP FUNCTION f1;
DROP TABLE t1;


--echo # p1, p2, p3, f1(immediate+direct)

CREATE TABLE t1 (a INT);

DELIMITER $$;
CREATE FUNCTION f1() RETURNS INT
BEGIN
  -- A mixture of direct and prepared execution
  DECLARE nrows INT DEFAULT 0;
  INSERT INTO t1 VALUES(10);
  SET nrows= nrows + ROW_COUNT();
  EXECUTE IMMEDIATE 'INSERT INTO t1 VALUES (20)';
  SET nrows= nrows + ROW_COUNT();
  INSERT INTO t1 VALUES(30);
  SET nrows= nrows + ROW_COUNT();
  RETURN nrows;
END;
$$
CREATE PROCEDURE p3()
BEGIN
  DECLARE nrows INT DEFAULT f1();
  SELECT nrows;
END;
$$
CREATE PROCEDURE p2()
BEGIN
  CALL p3;
END;
$$
CREATE PROCEDURE p1()
BEGIN
  CALL p2;
END;
$$
DELIMITER ;$$
CALL p1;
CALL p1;
SELECT * FROM t1 ORDER BY a;

DROP PROCEDURE p3;
DROP PROCEDURE p2;
DROP PROCEDURE p1;
DROP FUNCTION f1;
DROP TABLE t1;

--echo # End of 13.1 tests

[Dauer der Verarbeitung: 0.15 Sekunden, vorverarbeitet 2026-10-08]