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 2 kB image not shown  

Quelle  ps_in_func-stack3-ppf.result   Sprache: Lisp

 

#
# MDEV-39518 Allow prepared statements in stored functions in assignment right hand
#
# p1, p2(default), f3(immediate)
CREATE TABLE t1 (a INT);
CREATE FUNCTION f3_immediate() RETURNS INT
BEGIN
EXECUTE IMMEDIATE 'INSERT INTO t1 VALUES (10)';
RETURN ROW_COUNT();
END;
$$
CREATE PROCEDURE p2_default()
BEGIN
DECLARE nrows INT DEFAULT f3_immediate();
SELECT nrows;
END;
$$
CREATE PROCEDURE p1()
BEGIN
CALL p2_default;
END;
$$
CALL p1;
nrows
1
CALL p1;
nrows
1
SELECT * FROM t1 ORDER BY a;
a
10
10
DROP FUNCTION f3_immediate;
DROP PROCEDURE p2_default;
DROP PROCEDURE p1;
DROP TABLE t1;
# p1, p2(default), f3a(immediate) + f3b(immediate)
CREATE TABLE t1 (a INT);
CREATE FUNCTION f3a_immediate() RETURNS INT
BEGIN
EXECUTE IMMEDIATE 'INSERT INTO t1 VALUES (10)';
RETURN ROW_COUNT();
END;
$$
CREATE FUNCTION f3b_immediate() RETURNS INT
BEGIN
EXECUTE IMMEDIATE 'INSERT INTO t1 VALUES (11)';
RETURN ROW_COUNT();
END;
$$
CREATE PROCEDURE p2_default()
BEGIN
DECLARE nrows_a INT DEFAULT f3a_immediate();
DECLARE nrows_b INT DEFAULT f3b_immediate();
SELECT nrows_a, nrows_b;
END;
$$
CREATE PROCEDURE p1()
BEGIN
CALL p2_default;
END;
$$
CALL p1;
nrows_a nrows_b
1 1
SELECT * FROM t1 ORDER BY a;
a
10
11
CALL p1;
nrows_a nrows_b
1 1
SELECT * FROM t1 ORDER BY a;
a
10
10
11
11
DROP FUNCTION f3a_immediate;
DROP FUNCTION f3b_immediate;
DROP PROCEDURE p2_default;
DROP PROCEDURE p1;
DROP TABLE t1;
# p1, p2(set), f3(immediate)
CREATE TABLE t1 (a INT);
CREATE FUNCTION f3_immediate() RETURNS INT
BEGIN
EXECUTE IMMEDIATE 'INSERT INTO t1 VALUES (10)';
RETURN ROW_COUNT();
END;
$$
CREATE PROCEDURE p2_set()
BEGIN
DECLARE a INT;
SET a=f3_immediate();
SELECT * FROM t1;
END;
$$
CREATE PROCEDURE p1()
BEGIN
CALL p2_set();
END;
$$
CALL p1();
a
10
CALL p1();
a
10
10
DROP FUNCTION f3_immediate;
DROP PROCEDURE p2_set;
DROP PROCEDURE p1;
DROP TABLE t1;
# p1, p2(default), f3(direct_immediate+direct)
CREATE TABLE t1 (a INT);
CREATE FUNCTION f1_direct_immediate_direct() 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 p2_default()
BEGIN
DECLARE nrows INT DEFAULT f1_direct_immediate_direct();
SELECT nrows;
END;
$$
CREATE PROCEDURE p1()
BEGIN
CALL p2_default;
END;
$$
CALL p1;
nrows
3
SELECT * FROM t1 ORDER BY a;
a
10
20
30
CALL p1;
nrows
3
SELECT * FROM t1 ORDER BY a;
a
10
10
20
20
30
30
DROP FUNCTION f1_direct_immediate_direct;
DROP PROCEDURE p2_default;
DROP PROCEDURE p1;
DROP TABLE t1;
# End of 13.1 tests

Messung V0.5 in Prozent
C=54 H=100 G=80

¤ Dauer der Verarbeitung: 0.9 Sekunden  (vorverarbeitet am  2026-10-08) ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

PVS Prover

Isabelle Prover

NIST Cobol Testsuite

Cephes Mathematical Library

Vienna Development Method

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.