From 1ecda3d6768fb91a8857a548ebc8235fefa71a25 Mon Sep 17 00:00:00 2001 From: Alex Zaw Date: Wed, 25 Feb 2026 23:05:55 +0000 Subject: [PATCH] Update Function PATH_PARAMS --- RESTAPI/Functions/PATH_PARAMS.sql | 55 ++++++++++++++++++++++++++++++- 1 file changed, 54 insertions(+), 1 deletion(-) diff --git a/RESTAPI/Functions/PATH_PARAMS.sql b/RESTAPI/Functions/PATH_PARAMS.sql index 620d42b..4ab1b72 100644 --- a/RESTAPI/Functions/PATH_PARAMS.sql +++ b/RESTAPI/Functions/PATH_PARAMS.sql @@ -1 +1,54 @@ -@@\@^@ % %@@@@Km@M@ %@M]@k@ %@M]@k@ %@M]@]@ %@@M@ %@M]@k@ %@@]@@@ %@@ %@Km@ %@@ %@@@ %@@@@ %@@@@~@\@k@ %@~@\@k@ %@~@\@k@ %@~@Mk@k@]@k@ %@~@\@k@ %@~@\@k@ %@~@\@@@ %@ %@ %@@@M@ %@m@ %@@K@@ %@M@@k@@k@@]@~@M@@k@ %@k@@]@ %]@k@ %@@M@ %``@ŧ@@KKK@^@@@@@ %@m@M@]@@M@ %]@@@k@ %m@M@ %m@k@}MлN]}@k@@k@ %m@k@}}@k@@]@@@ %@@k@@M@ %@K@@M@m@k@}}@]@ %]@ %@m@M@ %m@k@}MлN]}@k@@k@m@k@ %}}@k@@]@@@@ %]@@@k@@ %@@^@ %@@^@ % %@@k@@@@ %@@@Km@ %@@@@@^@ % %@@@@ %@@@Km@ %@@^@ % % \ No newline at end of file +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 ; +