Files
secondo/Algebras/Array/Array.examples
2026-01-23 17:03:45 +08:00

182 lines
5.9 KiB
Plaintext

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