MSCEWI3057

Transformation for nested procedure or function is not supported yet.

Severity

Medium

Description

Translation for nested procedures or functions inside other functions or procedures is not supported yet. This is planned to be delivered in the future.

Example Code

Input Code:

CREATE OR REPLACE function FOO1 RETURN INTEGER AS
    FUNCTION FOO2 return integer;
    FUNCTION FOO2 RETURN INTEGER AS
    BEGIN
        RETURN 123;
    END;
BEGIN
    RETURN FOO2() + 456;
END;

Output Code:

CREATE OR REPLACE PROCEDURE PUBLIC.FOO1 ()
RETURNS FLOAT
LANGUAGE JAVASCRIPT
EXECUTE AS CALLER
AS
$$
   // Helper code
   /*** MSC-ERROR - MSCEWI3057 - TRANSFORMATION FOR NESTED PROCEDURE OR FUNCTION IS NOT SUPPORTED YET ***/
   /*    FUNCTION FOO2 return integer;*/
   ;
   /*** MSC-ERROR - MSCEWI3057 - TRANSFORMATION FOR NESTED PROCEDURE OR FUNCTION IS NOT SUPPORTED YET ***/
   /*    FUNCTION FOO2 RETURN INTEGER AS
       BEGIN
           RETURN 123;
       END;*/
   ;
   return EXEC(`SELECT /*** MSC-ERROR - MSCEWI1037 - TRANSLATION FOR FOO2 IS PLANNED TO BE DELIVERED IN THE FUTURE ***/
 FOO2()`)[0] + 456;
$$;

Recommendations