Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
7.10.4
-
None
Description
Form 2 of the COMBINE() function - i.e., the form where the righrecset is GROUPed and passed to the transform as a ROWS(RIGHT) recordset to be nested under the leftrecset - seems to be failing on THOR during execution time with the following error message:
Error: System error: 10107: Graph graph1[20], combinegroup[29]: Unsupported activity kind: combinegroup (0, 0), 10107,
A sample code to reproduce the issue is provided below. This sample code works fine in hTHOR.
inrec := {UNSIGNED6 uid}; inrec := {UNSIGNED6 uid}; outrec := RECORD(inrec) STRING20 name; UNSIGNED score; END; nameRec := RECORD STRING20 name; END; resultRec := RECORD(inrec) DATASET(nameRec) names; END; ds := DATASET([1,2,3,4,5,6], inrec); dsg := GROUP(ds, ROW); i1 := DATASET([{1, 'Kevin' ,10}, {2, 'Richard', 5}, {5, 'Nigel' , 2}, {0, '' , 0} ], outrec); i2 := DATASET([{1, 'Kevin Hall', 12}, {2, 'Richard Chapman', 15}, {3, 'Jake Smith', 20}, {5, 'Nigel Hicks', 100}, {0, '' , 0} ], outrec); i3 := DATASET([ {1, 'Halligan', 8}, {2, 'Richard', 8}, {6, 'Pete', 4}, {6, 'Peter', 8}, {6, 'Petie', 1}, {0, '', 0} ], outrec); j1 := JOIN(dsg,i1, LEFT.uid = RIGHT.uid, TRANSFORM(outrec, SELF := LEFT; SELF := RIGHT), LEFT OUTER, MANY LOOKUP); j2 := JOIN(dsg,i2, LEFT.uid = RIGHT.uid, TRANSFORM(outrec, SELF := LEFT; SELF := RIGHT), LEFT OUTER, MANY LOOKUP); j3 := JOIN(dsg, i3, LEFT.uid = RIGHT.uid, TRANSFORM(outrec, SELF := LEFT; SELF := RIGHT), LEFT OUTER, MANY LOOKUP); combined := REGROUP(j1, j2, j3); resultRec t(inrec l,DATASET(RECORDOF(combined)) r) := TRANSFORM SELF.names := PROJECT(r, TRANSFORM(nameRec, SELF := LEFT)); SELF := l; END; res1 := COMBINE(dsg,combined,GROUP,t(LEFT, ROWS(RIGHT)(score != 0)),LOCAL); OUTPUT(res1);