Database: berlintest Restore : No Operator : ELEMENT2 Number : 1 Signature: ((array t) (array u) ... ) -> u Example : query intset_a10 intset_a10 loopa[. + ..] Result : ((array int) (2 4 6 8 10 12 14 16 18 20)) Operator : ELEMENT Number : 1 Signature: ((array t) ... ) -> t Example : query intset_a10 realset_a10 loopa[. + (.. * 1.2)] Result : ((array real) (2.2 4.4 6.6 8.8 11.0 13.2 15.4 17.6 19.8 22.0)) Operator : cumulate Number : 1 Signature: ((array t) (map t t t)) -> (array t) Example : query intset_a10 cumulate[. + ..] Result : ((array int) (1 3 6 10 15 21 28 36 45 55)) Operator : distribute Number : 1 Signature: ((stream (tuple ((x1 t1) ... (xn tn)))) xi) -> (array (rel (tuple ((x1 t1) ... (xi-1 ti-1) (xi+1 ti+1) ... (xn tn))))) Example : query size( plz feed extend[Pkg: .PLZ mod 10] distribute[Pkg]) Result : 10 Operator : get Number : 1 Signature: ((array t) int) -> t Example : query get(intset_a10, 3) Result : 4 Operator : loop Number : 1 Signature: ((array t) (map t r)) -> (array r) Example : query plz_a20 loop[. count] tie [. + ..] Result : 41267 Operator : loopa Number : 1 Signature: ((array t) (array u) (map t u r)) -> (array r) Example : query plz_a20 staedte_a20 loopa[. count + .. count] tie[. + ..] Result : 41325 Operator : loopb Number : 1 Signature: ((array t) (array u) (map t u r)) -> (array r) Example : query size( intset_a10 intset_a10 loopb[. + ..] ) Result : 100 Operator : loopselect Number : 1 Signature: ((array t) ((name1 (map t r)) ... (namen (map t r))) int real) -> (array r) Example : query plz_a20 loopselect[ f1: . feed plz feed {ren1} hashjoin[PLZ, PLZ_ren1, 997] count, f2: . feed plz feed {ren1} sortmergejoin[PLZ, PLZ_ren1] count; 5, 0.2 ] tie[. + ..] Result : crashes Remark : Unknown reason Operator : loopselecta Number : 1 Signature: ((array t) (array u) ((name1 (map t u r)) ... (namen (map t u r))) int real) -> (array r) Example : query plz_a20_PLZ plz_a20 loopselecta[f: . .. exactmatch[58084] count; 5, 0.1] tie[. + ..] Result : crashes Remark : There must be a bug in the btree type since loopselecta and loopswitcha do not work with (array btree) whereas on other types they work. The first time when the query is executed it produces a correct result but afterwards the object plz_a20_PLZ is damaged. Operator : loopselectb Number : 1 Signature: ((array t) (array u) ((name1 (map t u r)) ... (namen (map t u r))) int real) -> (array r) Example : query plz_a20 plz_a20 loopselectb[ f1: . feed .. feed {ren1} hashjoin[PLZ, PLZ_ren1, 997] count, f2: . feed .. feed {ren1} sortmergejoin[PLZ, PLZ_ren1] count; 5, 0.2 ] tie[. + ..] Result : 248793 Operator : loopswitch Number : 1 Signature: ((array t) ((name1 (map t r)) ... (namen (map t r)))) -> (array r) Example : query plz_a20 loopswitch[ f1: . feed plz feed {ren1} hashjoin[PLZ, PLZ_ren1, 997] count, f2: . feed plz feed {ren1} sortmergejoin[PLZ, PLZ_ren1] count ] tie[. + ..] Result : crashes Remark : Unknown reason Operator : loopswitcha Number : 1 Signature: ((array t) (array u) ((name1 (map t u r)) ... (namen (map t u r)))) -> (array r) Example : query plz_a20 plz_a20 loopswitcha[f: . count + .. count] tie[. + ..] / 2 Result : 41267.0 Operator : loopswitcha Number : 2 Signature: ((array t) (array u) ((name1 (map t u r)) ... (namen (map t u r)))) -> (array r) Example : query plz_a20_PLZ plz_a20 loopswitcha[f: . count + .. count] tie[. + ..] / 2 Result : bug Remark : Object plz_a20_PLZ not present in database berlintest. But if so, it would crash. Operator : loopswitchb Number : 1 Signature: ((array t) (array u) ((name1 (map t u r)) ... (namen (map t u r)))) -> (array r) Example : query plz_a20 plz_a20 loopswitchb[ f1: . feed .. feed {ren1} hashjoin[PLZ, PLZ_ren1, 997] count, f2: . feed .. feed {ren1} sortmergejoin[PLZ, PLZ_ren1] count ] tie[. + ..] Result : crashes Remark : Unknown reason Operator : makearray Number : 1 Signature: (t t ... t) -> (array t) Example : query size( makearray( 0, 1, 2, 3 ) ) Result : 4 Operator : makearrayN Number : 1 Signature: (t int) -> (array t) Example : query size( makearrayN( 333, 4 ) ) Result : 4 Operator : partjoin Number : 1 Signature: ((array (rel t)) (array (rel u)) (map (rel t) (rel u) r)) -> (array r) Example : query plz_a20 plz_a20 partjoin[ . feed .. feed {ren1} hashjoin[PLZ, PLZ_ren1, 997] count] tie[. + ..] Result : 248793 Operator : partjoinselect Number : 1 Signature: ((array (rel t)) (array (rel u)) ((name1 (map (rel t) (rel u) r)) ... (namen (map (rel t) (rel u) r))) int real) -> (array r) Example : query plz_a20 plz_a20 partjoinselect[ f1: . feed .. feed {ren1} hashjoin[PLZ, PLZ_ren1, 997] count, f2: . feed .. feed {ren1} sortmergejoin[PLZ, PLZ_ren1] count; 5, 0.2 ] tie[. + ..] Result : 248793 Operator : partjoinswitch Number : 1 Signature: ((array (rel t)) (array (rel u)) ((name1 (map (rel t) (rel u) r)) ... (namen (map (rel t) (rel u) r)))) -> (array r) Example : query plz_a20 plz_a20 partjoinswitch[ f1: . feed .. feed {ren1} hashjoin[PLZ, PLZ_ren1, 997] count, f2: . feed .. feed {ren1} sortmergejoin[PLZ, PLZ_ren1] count ] tie[. + ..] Result : 248793 Operator : put Number : 1 Signature: ((array t) t int) -> (array t) Example : query put(stringset_a4, "array of strings!", 3) Result : ((array string) ("This" "is" "an" "array of strings!")) Operator : size Number : 1 Signature: ((array t)) -> int Example : query size(intset_a10) Result : 10 Operator : sortarray Number : 1 Signature: ((array t) (map t int)) -> (array t) Example : query intset_a10 sortarray[. - (. * .)] Result : ((array int) (10 9 8 7 6 5 4 3 2 1)) Operator : summarize Number : 1 Signature: ((array (rel t))) -> (stream t) Example : query plz_a20 summarize consume count Result : 41267 Operator : tie Number : 1 Signature: ((array t) (map t t t)) -> t Example : query intset_a10 tie[. + ..] = (10 * 11) / 2 Result : TRUE