Update Function PATH_PARAMS

This commit is contained in:
2026-02-25 23:05:55 +00:00
parent f8039a3a43
commit 1ecda3d676

View File

@@ -1 +1,54 @@
@\@^@
SET PATH *LIBL ;
CREATE OR REPLACE FUNCTION RESTAPI.PATH_PARAMS (
INAPPVER VARCHAR(10) ,
INAPPNAME VARCHAR(128) ,
INAPPFUNC VARCHAR(128) )
RETURNS TABLE (
RESTNAME VARCHAR(128) ,
ORD INTEGER )
LANGUAGE SQL
SPECIFIC RESTAPI.PATH_PARAMS
NOT DETERMINISTIC
READS SQL DATA
CALLED ON NULL INPUT
SET OPTION ALWBLK = *ALLREAD ,
ALWCPYDTA = *OPTIMIZE ,
COMMIT = *NONE ,
DECRESULT = (31, 31, 00) ,
DYNDFTCOL = *NO ,
DYNUSRPRF = *USER ,
SRTSEQ = *HEX
BEGIN
RETURN
WITH E AS (
SELECT PATH_TEMPLATE
FROM RESTAPI . ENDPOINTS
WHERE ( APPVER , APPNAME , APPFUNC ) = ( INAPPVER ,
INAPPNAME , INAPPFUNC )
) ,
X AS (
-- Extract each {...} occurrence; ORD is its position
SELECT ROW_NUMBER ( ) OVER (
) AS ORD ,
REGEXP_SUBSTR (
PATH_TEMPLATE , '\{([^}]+)\}' , 1 ,
ORDINAL_POSITION , '' , 1 ) AS RESTNAME
FROM E , TABLE (
SYSTOOLS . SPLIT ( PATH_TEMPLATE , '}' )
)
WHERE REGEXP_SUBSTR (
PATH_TEMPLATE , '\{([^}]+)\}' , 1 , ORDINAL_POSITION ,
'' , 1 ) IS NOT NULL
) SELECT RESTNAME , ORD
FROM X ;
END ;
GRANT ALTER , EXECUTE
ON SPECIFIC FUNCTION RESTAPI.PATH_PARAMS
TO AMAPICS WITH GRANT OPTION ;
GRANT EXECUTE
ON SPECIFIC FUNCTION RESTAPI.PATH_PARAMS
TO PUBLIC ;