//1/11/18 12:40APM. //FILE: rev.QUERYS.WORKING.txt //CONTAINS 2 rev QUERIES: //"12.31.17 NEW QUERY10 FOR SPLITTING" //"12/9/17 10:30PM. QUERY9/JUDY9" //2 NECESSARY OPERATORS AND SEVERAL NECESSARY TYPES. //rev SHOULD BE INSTALLED BEFORE EXECUTING SCRIPT. //"12.31.17 NEW QUERY10 FOR SPLITTING" IS THE QUERY THAT FORMALLY WAS //"QUERY10 IN Rev FOR SPLITTING STRINGS." THAT HAD PROBLEMS. //NOW IT SHOULD LOAD AND EXECUTE WITHOUT ANY PROBLEMS. BEGIN TRANSACTION; //USING THESE TYPES FOR ATTRIBUTE LEVEL IN RESULT.NEST.SPLIT.REL (AND ELSEWHERE). TYPE LVL POSSREP (LV INT); //LVL IS THE LEVEL PART. TYPE DEL POSSREP (DL CHAR); //DEL IS THE DELIMITER/SDEL PART. TYPE LEVEL POSSREP (L LVL,D DEL); //ATTRIBUTE LEVEL WILL NOW LOOK LIKE: LEVEL(LVL(2),DEL(".")) OPERATOR BRACKET.DELIMITER(DELIMITER CHAR,LENGTHDEL INT)RETURNS CHAR; VAR BRACKETED.DELIMITER CHAR; VAR M1 INT; VAR CHAR CHAR; //TO GET VARIOUS KINDS OF REGULAR EXPRESSIONS, IE. // "[A-Z]" , " [A-Z]+[0-9]" , "[^A-Z]+GF" , "[0-9]+[A-Z]+XY " ETC. IF ( (STARTS_WITH(TRIM(DELIMITER),"[")) AND ( (ENDS_WITH(TRIM(DELIMITER),"]")) OR ( (INDEX_OF(TRIM(DELIMITER),"]+")>-1) AND (ENDS_WITH(TRIM(DELIMITER),"]")=FALSE) ) ) ) THEN RETURN TRIM(DELIMITER); END; //THIS IS FOR GROUPS OF CHARACTERS, IE, "(?<=\\G...)" OR EXPR. THAT IS IN PARENTHESIS, IE. "(\\s*;\\s*)". //FOR "(\\s*;\\s*)" SEE: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/split IF ( (STARTS_WITH(TRIM(DELIMITER),"(?<=") OR STARTS_WITH(TRIM(DELIMITER),"(")) AND (ENDS_WITH(TRIM(DELIMITER),")")) ) THEN RETURN TRIM(DELIMITER); END; DO M1:=0 TO (LENGTHDEL-1); CHAR:=SUBSTRING(DELIMITER,M1,M1+1); BRACKETED.DELIMITER:=BRACKETED.DELIMITER || "[" || IF (NOT MATCHES(CHAR,"[\\\\\\[^]")) THEN "" ELSE "\\" END || CHAR || "]"; END; RETURN BRACKETED.DELIMITER; END; OPERATOR Rel.SPLIT(STR CHAR,SDEL CHAR,REVERSE.COUNTER BOOL) RETURNS SAME_TYPE_AS((REL{SPLIT("","")[0]} EXTEND{CTK:=0}){CTK,str}); RETURN IF (NOT (REVERSE.COUNTER)) THEN (SEQUENCE(0,COUNT(SPLIT(STR,SDEL))-1) EXTEND {CTK:=N+1,str:=str FROM SPLIT(STR,SDEL)[N]}){CTK,str} ELSE (SEQUENCE(0,COUNT(SPLIT(STR,SDEL))-1) EXTEND {CTK:=N+1,str:=str FROM SPLIT(STR,SDEL)[(COUNT(SPLIT(STR,SDEL))-(N+1))]}){CTK,str} END; END; //VAR sys.rev.Query REAL RELATION {Name CHARACTER, xpos INTEGER, ypos INTEGER, kind CHARACTER, connections RELATION {parameter INTEGER, Name CHARACTER}, model CHARACTER} KEY {Name}; sys.rev.Query := RELATION {Name CHARACTER, xpos INTEGER, ypos INTEGER, kind CHARACTER, connections RELATION {parameter INTEGER, Name CHARACTER}, model CHARACTER} { TUPLE {Name "EXTEND11295", xpos 175, ypos 198, kind "EXTEND", connections RELATION {parameter INTEGER, Name CHARACTER} { TUPLE {parameter 0, Name "Expression8836"} }, model "12.31.17 NEW QUERY10 FOR SP;LITTING"}, TUPLE {Name "EXTEND11304", xpos 180, ypos 350, kind "EXTEND", connections RELATION {parameter INTEGER, Name CHARACTER} { TUPLE {parameter 0, Name "EXTEND11295"} }, model "12.31.17 NEW QUERY10 FOR SP;LITTING"}, TUPLE {Name "EXTEND11614", xpos 183, ypos 585, kind "EXTEND", connections RELATION {parameter INTEGER, Name CHARACTER} { TUPLE {parameter 0, Name "UNGROUP11387"} }, model "12.31.17 NEW QUERY10 FOR SP;LITTING"}, TUPLE {Name "EXTEND12334", xpos 323, ypos 816, kind "EXTEND", connections RELATION {parameter INTEGER, Name CHARACTER} { TUPLE {parameter 0, Name "UNGROUP11772"} }, model "12.31.17 NEW QUERY10 FOR SP;LITTING"}, TUPLE {Name "EXTEND13431", xpos 327, ypos 1076, kind "EXTEND", connections RELATION {parameter INTEGER, Name CHARACTER} { TUPLE {parameter 0, Name "UNGROUP12335"} }, model "12.31.17 NEW QUERY10 FOR SP;LITTING"}, TUPLE {Name "EXTEND16151", xpos 353, ypos 1349, kind "EXTEND", connections RELATION {parameter INTEGER, Name CHARACTER} { TUPLE {parameter 0, Name "UNGROUP13432"} }, model "12.31.17 NEW QUERY10 FOR SP;LITTING"}, TUPLE {Name "EXTEND35656", xpos 381, ypos 2127, kind "EXTEND", connections RELATION {parameter INTEGER, Name CHARACTER} { TUPLE {parameter 0, Name "Restrict31315"} }, model "12.31.17 NEW QUERY10 FOR SP;LITTING"}, TUPLE {Name "EXTEND55183", xpos 419, ypos 2794, kind "EXTEND", connections RELATION {parameter INTEGER, Name CHARACTER} { TUPLE {parameter 0, Name "GROUP53012"} }, model "12.31.17 NEW QUERY10 FOR SP;LITTING"}, TUPLE {Name "EXTEND79851", xpos 490, ypos 105, kind "EXTEND", connections RELATION {parameter INTEGER, Name CHARACTER} { TUPLE {parameter 0, Name "Expression79846"} }, model "12/9/17 10:30PM. Query9/JUDY9"}, TUPLE {Name "EXTEND80351", xpos 3788, ypos 472, kind "EXTEND", connections RELATION {parameter INTEGER, Name CHARACTER} { TUPLE {parameter 0, Name "UNGROUP80268"} }, model "12/9/17 10:30PM. Query9/JUDY9"}, TUPLE {Name "EXTEND80601", xpos 3919, ypos 884, kind "EXTEND", connections RELATION {parameter INTEGER, Name CHARACTER} { TUPLE {parameter 0, Name "UNGROUP80518"} }, model "12/9/17 10:30PM. Query9/JUDY9"}, TUPLE {Name "EXTEND80851", xpos 4086, ypos 1283, kind "EXTEND", connections RELATION {parameter INTEGER, Name CHARACTER} { TUPLE {parameter 0, Name "UNGROUP80768"} }, model "12/9/17 10:30PM. Query9/JUDY9"}, TUPLE {Name "EXTEND81787", xpos 4251, ypos 1687, kind "EXTEND", connections RELATION {parameter INTEGER, Name CHARACTER} { TUPLE {parameter 0, Name "UNGROUP81704"} }, model "12/9/17 10:30PM. Query9/JUDY9"}, TUPLE {Name "EXTEND82857", xpos 4606, ypos 2096, kind "EXTEND", connections RELATION {parameter INTEGER, Name CHARACTER} { TUPLE {parameter 0, Name "GROUP82528"} }, model "12/9/17 10:30PM. Query9/JUDY9"}, TUPLE {Name "Expression79846", xpos 184, ypos 11, kind "Expression", connections RELATION {parameter INTEGER, Name CHARACTER} { }, model "12/9/17 10:30PM. Query9/JUDY9"}, TUPLE {Name "Expression8836", xpos 169, ypos 75, kind "Expression", connections RELATION {parameter INTEGER, Name CHARACTER} { }, model "12.31.17 NEW QUERY10 FOR SP;LITTING"}, TUPLE {Name "GROUP25894", xpos 380, ypos 1868, kind "GROUP", connections RELATION {parameter INTEGER, Name CHARACTER} { TUPLE {parameter 0, Name "Project21557"} }, model "12.31.17 NEW QUERY10 FOR SP;LITTING"}, TUPLE {Name "GROUP53012", xpos 411, ypos 2652, kind "GROUP", connections RELATION {parameter INTEGER, Name CHARACTER} { TUPLE {parameter 0, Name "Restrict44337"} }, model "12.31.17 NEW QUERY10 FOR SP;LITTING"}, TUPLE {Name "GROUP82528", xpos 4514, ypos 2001, kind "GROUP", connections RELATION {parameter INTEGER, Name CHARACTER} { TUPLE {parameter 0, Name "RENAME81871"} }, model "12/9/17 10:30PM. Query9/JUDY9"}, TUPLE {Name "ORDER84977", xpos 478, ypos 3181, kind "ORDER", connections RELATION {parameter INTEGER, Name CHARACTER} { TUPLE {parameter 0, Name "UNGROUP63956"} }, model "12.31.17 NEW QUERY10 FOR SP;LITTING"}, TUPLE {Name "Project16152", xpos 363, ypos 1471, kind "Project", connections RELATION {parameter INTEGER, Name CHARACTER} { TUPLE {parameter 0, Name "EXTEND16151"} }, model "12.31.17 NEW QUERY10 FOR SP;LITTING"}, TUPLE {Name "Project21557", xpos 374, ypos 1751, kind "Project", connections RELATION {parameter INTEGER, Name CHARACTER} { TUPLE {parameter 0, Name "UNGROUP19385"} }, model "12.31.17 NEW QUERY10 FOR SP;LITTING"}, TUPLE {Name "Project39999", xpos 394, ypos 2262, kind "Project", connections RELATION {parameter INTEGER, Name CHARACTER} { TUPLE {parameter 0, Name "EXTEND35656"} }, model "12.31.17 NEW QUERY10 FOR SP;LITTING"}, TUPLE {Name "Project61787", xpos 455, ypos 2943, kind "Project", connections RELATION {parameter INTEGER, Name CHARACTER} { TUPLE {parameter 0, Name "EXTEND55183"} }, model "12.31.17 NEW QUERY10 FOR SP;LITTING"}, TUPLE {Name "Project80020", xpos 3356, ypos 309, kind "Project", connections RELATION {parameter INTEGER, Name CHARACTER} { TUPLE {parameter 0, Name "UNGROUP79937"} }, model "12/9/17 10:30PM. Query9/JUDY9"}, TUPLE {Name "Project80352", xpos 3817, ypos 566, kind "Project", connections RELATION {parameter INTEGER, Name CHARACTER} { TUPLE {parameter 0, Name "EXTEND80351"} }, model "12/9/17 10:30PM. Query9/JUDY9"}, TUPLE {Name "Project80602", xpos 3940, ypos 988, kind "Project", connections RELATION {parameter INTEGER, Name CHARACTER} { TUPLE {parameter 0, Name "EXTEND80601"} }, model "12/9/17 10:30PM. Query9/JUDY9"}, TUPLE {Name "Project81538", xpos 4169, ypos 1382, kind "Project", connections RELATION {parameter INTEGER, Name CHARACTER} { TUPLE {parameter 0, Name "EXTEND80851"} }, model "12/9/17 10:30PM. Query9/JUDY9"}, TUPLE {Name "Project81788", xpos 4320, ypos 1795, kind "Project", connections RELATION {parameter INTEGER, Name CHARACTER} { TUPLE {parameter 0, Name "EXTEND81787"} }, model "12/9/17 10:30PM. Query9/JUDY9"}, TUPLE {Name "Project83205", xpos 4964, ypos 2186, kind "Project", connections RELATION {parameter INTEGER, Name CHARACTER} { TUPLE {parameter 0, Name "EXTEND82857"} }, model "12/9/17 10:30PM. Query9/JUDY9"}, TUPLE {Name "RENAME80103", xpos 3689, ypos 277, kind "RENAME", connections RELATION {parameter INTEGER, Name CHARACTER} { TUPLE {parameter 0, Name "Project80020"} }, model "12/9/17 10:30PM. Query9/JUDY9"}, TUPLE {Name "RENAME80435", xpos 3770, ypos 664, kind "RENAME", connections RELATION {parameter INTEGER, Name CHARACTER} { TUPLE {parameter 0, Name "Project80352"} }, model "12/9/17 10:30PM. Query9/JUDY9"}, TUPLE {Name "RENAME80685", xpos 4015, ypos 1085, kind "RENAME", connections RELATION {parameter INTEGER, Name CHARACTER} { TUPLE {parameter 0, Name "Project80602"} }, model "12/9/17 10:30PM. Query9/JUDY9"}, TUPLE {Name "RENAME81621", xpos 4218, ypos 1490, kind "RENAME", connections RELATION {parameter INTEGER, Name CHARACTER} { TUPLE {parameter 0, Name "Project81538"} }, model "12/9/17 10:30PM. Query9/JUDY9"}, TUPLE {Name "RENAME81871", xpos 4435, ypos 1900, kind "RENAME", connections RELATION {parameter INTEGER, Name CHARACTER} { TUPLE {parameter 0, Name "Project81788"} }, model "12/9/17 10:30PM. Query9/JUDY9"}, TUPLE {Name "Restrict31315", xpos 376, ypos 2018, kind "Restrict", connections RELATION {parameter INTEGER, Name CHARACTER} { TUPLE {parameter 0, Name "GROUP25894"} }, model "12.31.17 NEW QUERY10 FOR SP;LITTING"}, TUPLE {Name "Restrict44337", xpos 401, ypos 2516, kind "Restrict", connections RELATION {parameter INTEGER, Name CHARACTER} { TUPLE {parameter 0, Name "UNGROUP42167"} }, model "12.31.17 NEW QUERY10 FOR SP;LITTING"}, TUPLE {Name "UNGROUP11387", xpos 302, ypos 477, kind "UNGROUP", connections RELATION {parameter INTEGER, Name CHARACTER} { TUPLE {parameter 0, Name "EXTEND11304"} }, model "12.31.17 NEW QUERY10 FOR SP;LITTING"}, TUPLE {Name "UNGROUP11772", xpos 319, ypos 700, kind "UNGROUP", connections RELATION {parameter INTEGER, Name CHARACTER} { TUPLE {parameter 0, Name "EXTEND11614"} }, model "12.31.17 NEW QUERY10 FOR SP;LITTING"}, TUPLE {Name "UNGROUP12335", xpos 332, ypos 945, kind "UNGROUP", connections RELATION {parameter INTEGER, Name CHARACTER} { TUPLE {parameter 0, Name "EXTEND12334"} }, model "12.31.17 NEW QUERY10 FOR SP;LITTING"}, TUPLE {Name "UNGROUP13432", xpos 348, ypos 1214, kind "UNGROUP", connections RELATION {parameter INTEGER, Name CHARACTER} { TUPLE {parameter 0, Name "EXTEND13431"} }, model "12.31.17 NEW QUERY10 FOR SP;LITTING"}, TUPLE {Name "UNGROUP19385", xpos 368, ypos 1600, kind "UNGROUP", connections RELATION {parameter INTEGER, Name CHARACTER} { TUPLE {parameter 0, Name "Project16152"} }, model "12.31.17 NEW QUERY10 FOR SP;LITTING"}, TUPLE {Name "UNGROUP42167", xpos 401, ypos 2388, kind "UNGROUP", connections RELATION {parameter INTEGER, Name CHARACTER} { TUPLE {parameter 0, Name "Project39999"} }, model "12.31.17 NEW QUERY10 FOR SP;LITTING"}, TUPLE {Name "UNGROUP63956", xpos 459, ypos 3071, kind "UNGROUP", connections RELATION {parameter INTEGER, Name CHARACTER} { TUPLE {parameter 0, Name "Project61787"} }, model "12.31.17 NEW QUERY10 FOR SP;LITTING"}, TUPLE {Name "UNGROUP79937", xpos 3342, ypos 212, kind "UNGROUP", connections RELATION {parameter INTEGER, Name CHARACTER} { TUPLE {parameter 0, Name "EXTEND79851"} }, model "12/9/17 10:30PM. Query9/JUDY9"}, TUPLE {Name "UNGROUP80268", xpos 3862, ypos 380, kind "UNGROUP", connections RELATION {parameter INTEGER, Name CHARACTER} { TUPLE {parameter 0, Name "RENAME80103"} }, model "12/9/17 10:30PM. Query9/JUDY9"}, TUPLE {Name "UNGROUP80518", xpos 3942, ypos 770, kind "UNGROUP", connections RELATION {parameter INTEGER, Name CHARACTER} { TUPLE {parameter 0, Name "RENAME80435"} }, model "12/9/17 10:30PM. Query9/JUDY9"}, TUPLE {Name "UNGROUP80768", xpos 4079, ypos 1188, kind "UNGROUP", connections RELATION {parameter INTEGER, Name CHARACTER} { TUPLE {parameter 0, Name "RENAME80685"} }, model "12/9/17 10:30PM. Query9/JUDY9"}, TUPLE {Name "UNGROUP81704", xpos 4257, ypos 1585, kind "UNGROUP", connections RELATION {parameter INTEGER, Name CHARACTER} { TUPLE {parameter 0, Name "RENAME81621"} }, model "12/9/17 10:30PM. Query9/JUDY9"}, TUPLE {Name "UNGROUP83373", xpos 5040, ypos 2286, kind "UNGROUP", connections RELATION {parameter INTEGER, Name CHARACTER} { TUPLE {parameter 0, Name "Project83205"} }, model "12/9/17 10:30PM. Query9/JUDY9"} } ; //VAR sys.rev.Operator REAL RELATION {Name CHARACTER, Definition CHARACTER} KEY {Name}; sys.rev.Operator := RELATION {Name CHARACTER, Definition CHARACTER} { TUPLE {Name "Expression79846", Definition "REL{ TUP{ID 2,INPUT.STR \"A,A,C,C,D&10&10$20@30@40@30&A&C\"},TUP{ID 3,INPUT.STR \"R,S,R,T&50&60#70#80\"}}"}, TUPLE {Name "Expression8836", Definition "REL{ TUP{ID 2,INPUT.STR \"A,A,C,C,D*10*10$20@30@40@30*A*C\"},TUP{ID 3,INPUT.STR \"R,S,R,T*50*60#70#80\"}}"}, TUPLE {Name "GROUP25894", Definition "{SPLIT#, KEY.} AS GRP.STRINGS"}, TUPLE {Name "GROUP53012", Definition "{str, LEVEL, SPLIT#, KEY.} AS GRPS"}, TUPLE {Name "GROUP82528", Definition "{LEVEL5, str5, KEY5} AS GROUPattr"}, TUPLE {Name "ORDER84977", Definition "(ASC ID, ASC CTK)"}, TUPLE {Name "Project16152", Definition "{ALL BUT SPLIT1, SPLIT2, SPLIT3, SPLIT4, SPLIT5}"}, TUPLE {Name "Project21557", Definition "{ALL BUT CTK}"}, TUPLE {Name "Project39999", Definition "{ID, INPUT.STR, str, GRP.STRINGS, LEVEL}"}, TUPLE {Name "Project61787", Definition "{ID, INPUT.STR, RANKS}"}, TUPLE {Name "Project80020", Definition "{ID, str, N.SPLIT, KEY., SPLIT2, INPUT.STR}"}, TUPLE {Name "Project80352", Definition "{ID, str, KEY., SPLIT3, LEVEL.N, INPUT.STR}"}, TUPLE {Name "Project80602", Definition "{ID, str, KEY., SPLIT4, LEVEL.N, INPUT.STR}"}, TUPLE {Name "Project81538", Definition "{ID, str, KEY., SPLIT5, LEVEL.N, INPUT.STR}"}, TUPLE {Name "Project81788", Definition "{ID, str, KEY., LEVEL5, INPUT.STR}"}, TUPLE {Name "Project83205", Definition "{ID, RANKS, INPUT.STR}"}, TUPLE {Name "RENAME80103", Definition "str AS PREV.str, N.SPLIT AS PREV.LEVEL.N, KEY. AS PREV.KEY"}, TUPLE {Name "RENAME80435", Definition "str AS PREV.str, KEY. AS PREV.KEY, LEVEL.N AS PREV.LEVEL.N"}, TUPLE {Name "RENAME80685", Definition "str AS PREV.str, KEY. AS PREV.KEY, LEVEL.N AS PREV.LEVEL.N"}, TUPLE {Name "RENAME81621", Definition "str AS PREV.str, KEY. AS PREV.KEY, LEVEL.N AS PREV.LEVEL.N"}, TUPLE {Name "RENAME81871", Definition "str AS str5, KEY. AS KEY5"}, TUPLE {Name "Restrict31315", Definition "(NOT IS_EMPTY(GRP.STRINGS MATCHING REL{TUP{SPLIT# 5}}))"}, TUPLE {Name "Restrict44337", Definition "(NOT IS_EMPTY(REL{TUP{SPLIT# SPLIT#}} MATCHING REL{TUP{SPLIT# 5}} ))"}, TUPLE {Name "UNGROUP11387", Definition "R1"}, TUPLE {Name "UNGROUP11772", Definition "R2"}, TUPLE {Name "UNGROUP12335", Definition "R3"}, TUPLE {Name "UNGROUP13432", Definition "R4"} } ; //VAR sys.rev.Op_Extend REAL RELATION {Name CHARACTER, Definition RELATION {ID INTEGER, attribute CHARACTER, expression CHARACTER}} KEY {Name}; sys.rev.Op_Extend := RELATION {Name CHARACTER, Definition RELATION {ID INTEGER, attribute CHARACTER, expression CHARACTER}} { TUPLE {Name "EXTEND11295", Definition RELATION {ID INTEGER, attribute CHARACTER, expression CHARACTER} { TUPLE {ID 0, attribute "SDEL1", expression "\",\""}, TUPLE {ID 1, attribute "SPLIT1", expression "Rel.SPLIT(INPUT.STR,BRACKET.DELIMITER(SDEL1,LENGTH(SDEL1)),FALSE) RENAME {CTK AS CTK1,str AS str1} EXTEND {SPLIT#1:=1, NUMS#1:=GET_UNIQUE_NUMBER() }"} }}, TUPLE {Name "EXTEND11304", Definition RELATION {ID INTEGER, attribute CHARACTER, expression CHARACTER} { TUPLE {ID 0, attribute "SDEL2", expression "\"*\""}, TUPLE {ID 1, attribute "R1", expression "(SPLIT1 EXTEND {SPLIT2:=Rel.SPLIT(str1,BRACKET.DELIMITER(SDEL2,LENGTH(SDEL2)),FALSE) RENAME{CTK AS CTK2,str AS str2} EXTEND {SPLIT#2:=2, NUMS#2:=GET_UNIQUE_NUMBER() }}){SPLIT2}"} }}, TUPLE {Name "EXTEND11614", Definition RELATION {ID INTEGER, attribute CHARACTER, expression CHARACTER} { TUPLE {ID 0, attribute "SDEL3", expression "\"$\""}, TUPLE {ID 1, attribute "R2", expression "(SPLIT2 EXTEND {SPLIT3:=Rel.SPLIT(str2,BRACKET.DELIMITER(SDEL3,LENGTH(SDEL3)),FALSE) RENAME{CTK AS CTK3,str AS str3} EXTEND {SPLIT#3:=3, NUMS#3:=GET_UNIQUE_NUMBER() }}){SPLIT3}"} }}, TUPLE {Name "EXTEND12334", Definition RELATION {ID INTEGER, attribute CHARACTER, expression CHARACTER} { TUPLE {ID 0, attribute "SDEL4", expression "\"@\""}, TUPLE {ID 1, attribute "R3", expression "(SPLIT3 EXTEND {SPLIT4:=Rel.SPLIT(str3,BRACKET.DELIMITER(SDEL4,LENGTH(SDEL4)),FALSE) RENAME{CTK AS CTK4,str AS str4} EXTEND {SPLIT#4:=4, NUMS#4:=GET_UNIQUE_NUMBER() }}){SPLIT4}"} }}, TUPLE {Name "EXTEND13431", Definition RELATION {ID INTEGER, attribute CHARACTER, expression CHARACTER} { TUPLE {ID 0, attribute "SDEL5", expression "\"#\""}, TUPLE {ID 1, attribute "R4", expression "(SPLIT4 EXTEND {SPLIT5:=Rel.SPLIT(str4,BRACKET.DELIMITER(SDEL5,LENGTH(SDEL5)),FALSE) RENAME{CTK AS CTK5,str AS str5} EXTEND {SPLIT#5:=5, NUMS#5:=GET_UNIQUE_NUMBER() }}){SPLIT5}"} }}, TUPLE {Name "EXTEND16151", Definition RELATION {ID INTEGER, attribute CHARACTER, expression CHARACTER} { TUPLE {ID 0, attribute "UNION.GRPS", expression "UNION{SPLIT1 RENAME {SUFFIX \"1\" AS \"\" } RENAME {NUMS# AS KEY.},SPLIT2 RENAME {SUFFIX \"2\" AS \"\" } RENAME {NUMS# AS KEY.},SPLIT3 RENAME {SUFFIX \"3\" AS \"\" } RENAME {NUMS# AS KEY.},SPLIT4 RENAME {SUFFIX \"4\" AS \"\" } RENAME {NUMS# AS KEY.},SPLIT5 RENAME {SUFFIX \"5\" AS \"\" } RENAME {NUMS# AS KEY.}}"} }}, TUPLE {Name "EXTEND35656", Definition RELATION {ID INTEGER, attribute CHARACTER, expression CHARACTER} { TUPLE {ID 0, attribute "SPLIT.N", expression "MIN(GRP.STRINGS,SPLIT#)"}, TUPLE {ID 1, attribute "DELIMITER", expression "IF (SPLIT.N=1) THEN SDEL1 ELSE IF (SPLIT.N=2) THEN SDEL2 ELSE IF (SPLIT.N=3) THEN SDEL3 ELSE IF (SPLIT.N=4) THEN SDEL4 ELSE SDEL5 END END END END"}, TUPLE {ID 2, attribute "LEVEL", expression "LEVEL(LVL(SPLIT.N),DEL(DELIMITER))"} }}, TUPLE {Name "EXTEND55183", Definition RELATION {ID INTEGER, attribute CHARACTER, expression CHARACTER} { TUPLE {ID 0, attribute "RANKS", expression "(GRPS{str,LEVEL,KEY.} RANK (ASC KEY. AS CTK)){CTK,LEVEL,str}"} }}, TUPLE {Name "EXTEND79851", Definition RELATION {ID INTEGER, attribute CHARACTER, expression CHARACTER} { TUPLE {ID 0, attribute "SPLIT1", expression "Rel.SPLIT(INPUT.STR,BRACKET.DELIMITER(\",\",LENGTH(\",\")),FALSE) EXTEND {IDX:=ID,N.SPLIT:=1,KEY.:=GET_UNIQUE_NUMBER()"}, TUPLE {ID 1, attribute "SPLIT2", expression "Rel.SPLIT(str,BRACKET.DELIMITER(\"&\",LENGTH(\"&\")),FALSE) EXTEND {IDX:=ID,N.SPLIT:=2,KEY.:=GET_UNIQUE_NUMBER()"}, TUPLE {ID 2, attribute "SPLIT3", expression "Rel.SPLIT(str,BRACKET.DELIMITER(\"$\",LENGTH(\"$\")),FALSE) EXTEND {IDX:=ID,N.SPLIT:=3,KEY.:=GET_UNIQUE_NUMBER()"}, TUPLE {ID 3, attribute "SPLIT4", expression "Rel.SPLIT(str,BRACKET.DELIMITER(\"@\",LENGTH(\"@\")),FALSE) EXTEND {IDX:=ID,N.SPLIT:=4,KEY.:=GET_UNIQUE_NUMBER()"}, TUPLE {ID 4, attribute "SPLIT5", expression "Rel.SPLIT(str,BRACKET.DELIMITER(\"#\",LENGTH(\"#\")),FALSE) EXTEND {IDX:=ID,N.SPLIT:=5,KEY.:=GET_UNIQUE_NUMBER() } } } } }"} }}, TUPLE {Name "EXTEND80351", Definition RELATION {ID INTEGER, attribute CHARACTER, expression CHARACTER} { TUPLE {ID 0, attribute "LEVEL.N", expression "IF (LENGTH(str)