Eine aufbereitete Darstellung der Quelle

 
     
 
 
Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 

Benutzer

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.10 Sekunden, vorverarbeitet 2026-10-08]

                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Open Source Software

     Quellcodebibliothek
     Eigene Quellcodes
     Fremde Quellcodes
     Suchen

Jenseits des Üblichen ....
    

Besucherstatistik

Besucherstatistik

Statistik
#Sources=1126864
#Domains=1897691