Eine aufbereitete Darstellung der Quelle

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

Benutzer

Quelle  path_embed_func.test  Sprache: unbekannt

 
Spracherkennung für: .test vermutete Sprache: Ada {ADA[48] Lisp[48] Masm[48]} [Methode: maximale Elemente, drei Dimensionen]

--echo #
--echo # MDEV-34391 Path resolution
--echo # Stored function 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 function
--echo #
SET PATH 'test2';
DELIMITER $$;
CREATE FUNCTION func() RETURNS TEXT
BEGIN
  RETURN func2();
END;
$$
DELIMITER ;$$

SELECT test.func();
SET PATH 'test3';
SELECT test.func();

DROP FUNCTION func;
SET PATH 'CURRENT_SCHEMA';

--echo #
--echo # Ensure that multiple references are resolved properly
--echo #
SET PATH 'test2';
DELIMITER $$;
CREATE FUNCTION func() RETURNS TEXT
BEGIN
  RETURN CONCAT(func2(), '+', func2());
END;
$$
DELIMITER ;$$

SELECT test.func();
SET PATH 'test3';
SELECT test.func();

DROP FUNCTION func;
SET PATH 'CURRENT_SCHEMA';

--echo #
--echo # Use multiple schemas in embedded PATH
--echo #
SET PATH 'test2,test3,test4';
DELIMITER $$;
CREATE FUNCTION func() RETURNS TEXT
BEGIN
  RETURN CONCAT(func2(), '+', func2(), '+', func4());
END;
$$
DELIMITER ;$$

SELECT test.func();
SET PATH 'test3';
SELECT test.func();

DROP FUNCTION func;
SET PATH 'CURRENT_SCHEMA';

--echo #
--echo # Use empty PATH in stored routine (resolution should fail)
--echo #
SET PATH '';
DELIMITER $$;
CREATE FUNCTION func() RETURNS TEXT
BEGIN
  RETURN func2();
END;
$$
DELIMITER ;$$

--error ER_SP_DOES_NOT_EXIST,ER_VIEW_INVALID
SELECT func();

DROP FUNCTION func;
DROP DATABASE test2;
DROP DATABASE test3;
DROP DATABASE test4;

[Dauer der Verarbeitung: 0.17 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