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  path_embed_proc.test  Sprache: unbekannt

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

--echo #
--echo # MDEV-34391 Path resolution
--echo # Stored procedure tests with embedded PATH
--echo #

CREATE DATABASE test2;
DELIMITER $$;
CREATE FUNCTION test2.func2() RETURNS TEXT
BEGIN
  RETURN 'test2.func2';
END;
$$
DELIMITER ;$$

CREATE DATABASE test3;
DELIMITER $$;
CREATE FUNCTION test3.func2() RETURNS TEXT
BEGIN
  RETURN 'test3.func2';
END;
$$
DELIMITER ;$$

CREATE DATABASE test4;
DELIMITER $$;
CREATE FUNCTION test4.func4() RETURNS TEXT
BEGIN
  RETURN 'test4.func4';
END;
$$
DELIMITER ;$$

--echo #
--echo # Embed a path in a stored procedure
--echo #
SET PATH 'test2';
DELIMITER $$;
CREATE PROCEDURE proc()
BEGIN
  SELECT func2();
END;
$$

DELIMITER ;$$

SET PATH 'CURRENT_SCHEMA';
CALL proc;
SET PATH 'test3';
CALL test.proc;
SET PATH 'CURRENT_SCHEMA,test3';
CALL proc;

DROP PROCEDURE proc;

--echo #
--echo # Ensure that multiple references are resolved properly
--echo #
SET PATH 'test2';
DELIMITER $$;
CREATE PROCEDURE proc()
BEGIN
  SELECT CONCAT(func2(), '+', func2());
END;
$$
DELIMITER ;$$

SET PATH 'CURRENT_SCHEMA';
CALL proc();
SET PATH 'test3';
CALL test.proc;

DROP PROCEDURE proc;

--echo #
--echo # Use multiple schemas in embedded PATH
--echo #
SET PATH 'test2,test3,test4';
DELIMITER $$;
CREATE PROCEDURE proc()
BEGIN
  SELECT CONCAT(func2(), '+', func2(), '+', func4());
END;
$$

DELIMITER ;$$

SET PATH 'CURRENT_SCHEMA';
CALL proc();
SET PATH 'test3';
CALL test.proc;

DROP PROCEDURE proc;

--echo #
--echo # Use empty PATH in stored routine (resolution should fail)
--echo #
SET PATH '';
DELIMITER $$;
CREATE PROCEDURE proc()
BEGIN
  SELECT func2();
END;
$$
DELIMITER ;$$

SET PATH 'CURRENT_SCHEMA';
--error ER_SP_DOES_NOT_EXIST
CALL proc;

DROP PROCEDURE proc;
DROP DATABASE test2;
DROP DATABASE test3;
DROP DATABASE test4;

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