]> granicus.if.org Git - postgresql/blob - src/test/regress/expected/groupingsets.out
Support GROUPING SETS, CUBE and ROLLUP.
[postgresql] / src / test / regress / expected / groupingsets.out
1 --
2 -- grouping sets
3 --
4 -- test data sources
5 create temp view gstest1(a,b,v)
6   as values (1,1,10),(1,1,11),(1,2,12),(1,2,13),(1,3,14),
7             (2,3,15),
8             (3,3,16),(3,4,17),
9             (4,1,18),(4,1,19);
10 create temp table gstest2 (a integer, b integer, c integer, d integer,
11                            e integer, f integer, g integer, h integer);
12 copy gstest2 from stdin;
13 create temp table gstest3 (a integer, b integer, c integer, d integer);
14 copy gstest3 from stdin;
15 alter table gstest3 add primary key (a);
16 create temp table gstest_empty (a integer, b integer, v integer);
17 create function gstest_data(v integer, out a integer, out b integer)
18   returns setof record
19   as $f$
20     begin
21       return query select v, i from generate_series(1,3) i;
22     end;
23   $f$ language plpgsql;
24 -- basic functionality
25 -- simple rollup with multiple plain aggregates, with and without ordering
26 -- (and with ordering differing from grouping)
27 select a, b, grouping(a,b), sum(v), count(*), max(v)
28   from gstest1 group by rollup (a,b);
29  a | b | grouping | sum | count | max 
30 ---+---+----------+-----+-------+-----
31  1 | 1 |        0 |  21 |     2 |  11
32  1 | 2 |        0 |  25 |     2 |  13
33  1 | 3 |        0 |  14 |     1 |  14
34  1 |   |        1 |  60 |     5 |  14
35  2 | 3 |        0 |  15 |     1 |  15
36  2 |   |        1 |  15 |     1 |  15
37  3 | 3 |        0 |  16 |     1 |  16
38  3 | 4 |        0 |  17 |     1 |  17
39  3 |   |        1 |  33 |     2 |  17
40  4 | 1 |        0 |  37 |     2 |  19
41  4 |   |        1 |  37 |     2 |  19
42    |   |        3 | 145 |    10 |  19
43 (12 rows)
44
45 select a, b, grouping(a,b), sum(v), count(*), max(v)
46   from gstest1 group by rollup (a,b) order by a,b;
47  a | b | grouping | sum | count | max 
48 ---+---+----------+-----+-------+-----
49  1 | 1 |        0 |  21 |     2 |  11
50  1 | 2 |        0 |  25 |     2 |  13
51  1 | 3 |        0 |  14 |     1 |  14
52  1 |   |        1 |  60 |     5 |  14
53  2 | 3 |        0 |  15 |     1 |  15
54  2 |   |        1 |  15 |     1 |  15
55  3 | 3 |        0 |  16 |     1 |  16
56  3 | 4 |        0 |  17 |     1 |  17
57  3 |   |        1 |  33 |     2 |  17
58  4 | 1 |        0 |  37 |     2 |  19
59  4 |   |        1 |  37 |     2 |  19
60    |   |        3 | 145 |    10 |  19
61 (12 rows)
62
63 select a, b, grouping(a,b), sum(v), count(*), max(v)
64   from gstest1 group by rollup (a,b) order by b desc, a;
65  a | b | grouping | sum | count | max 
66 ---+---+----------+-----+-------+-----
67  1 |   |        1 |  60 |     5 |  14
68  2 |   |        1 |  15 |     1 |  15
69  3 |   |        1 |  33 |     2 |  17
70  4 |   |        1 |  37 |     2 |  19
71    |   |        3 | 145 |    10 |  19
72  3 | 4 |        0 |  17 |     1 |  17
73  1 | 3 |        0 |  14 |     1 |  14
74  2 | 3 |        0 |  15 |     1 |  15
75  3 | 3 |        0 |  16 |     1 |  16
76  1 | 2 |        0 |  25 |     2 |  13
77  1 | 1 |        0 |  21 |     2 |  11
78  4 | 1 |        0 |  37 |     2 |  19
79 (12 rows)
80
81 select a, b, grouping(a,b), sum(v), count(*), max(v)
82   from gstest1 group by rollup (a,b) order by coalesce(a,0)+coalesce(b,0);
83  a | b | grouping | sum | count | max 
84 ---+---+----------+-----+-------+-----
85    |   |        3 | 145 |    10 |  19
86  1 |   |        1 |  60 |     5 |  14
87  1 | 1 |        0 |  21 |     2 |  11
88  2 |   |        1 |  15 |     1 |  15
89  3 |   |        1 |  33 |     2 |  17
90  1 | 2 |        0 |  25 |     2 |  13
91  1 | 3 |        0 |  14 |     1 |  14
92  4 |   |        1 |  37 |     2 |  19
93  4 | 1 |        0 |  37 |     2 |  19
94  2 | 3 |        0 |  15 |     1 |  15
95  3 | 3 |        0 |  16 |     1 |  16
96  3 | 4 |        0 |  17 |     1 |  17
97 (12 rows)
98
99 -- various types of ordered aggs
100 select a, b, grouping(a,b),
101        array_agg(v order by v),
102        string_agg(v::text, ':' order by v desc),
103        percentile_disc(0.5) within group (order by v),
104        rank(1,2,12) within group (order by a,b,v)
105   from gstest1 group by rollup (a,b) order by a,b;
106  a | b | grouping |            array_agg            |          string_agg           | percentile_disc | rank 
107 ---+---+----------+---------------------------------+-------------------------------+-----------------+------
108  1 | 1 |        0 | {10,11}                         | 11:10                         |              10 |    3
109  1 | 2 |        0 | {12,13}                         | 13:12                         |              12 |    1
110  1 | 3 |        0 | {14}                            | 14                            |              14 |    1
111  1 |   |        1 | {10,11,12,13,14}                | 14:13:12:11:10                |              12 |    3
112  2 | 3 |        0 | {15}                            | 15                            |              15 |    1
113  2 |   |        1 | {15}                            | 15                            |              15 |    1
114  3 | 3 |        0 | {16}                            | 16                            |              16 |    1
115  3 | 4 |        0 | {17}                            | 17                            |              17 |    1
116  3 |   |        1 | {16,17}                         | 17:16                         |              16 |    1
117  4 | 1 |        0 | {18,19}                         | 19:18                         |              18 |    1
118  4 |   |        1 | {18,19}                         | 19:18                         |              18 |    1
119    |   |        3 | {10,11,12,13,14,15,16,17,18,19} | 19:18:17:16:15:14:13:12:11:10 |              14 |    3
120 (12 rows)
121
122 -- test usage of grouped columns in direct args of aggs
123 select grouping(a), a, array_agg(b),
124        rank(a) within group (order by b nulls first),
125        rank(a) within group (order by b nulls last)
126   from (values (1,1),(1,4),(1,5),(3,1),(3,2)) v(a,b)
127  group by rollup (a) order by a;
128  grouping | a |  array_agg  | rank | rank 
129 ----------+---+-------------+------+------
130         0 | 1 | {1,4,5}     |    1 |    1
131         0 | 3 | {1,2}       |    3 |    3
132         1 |   | {1,4,5,1,2} |    1 |    6
133 (3 rows)
134
135 -- nesting with window functions
136 select a, b, sum(c), sum(sum(c)) over (order by a,b) as rsum
137   from gstest2 group by rollup (a,b) order by rsum, a, b;
138  a | b | sum | rsum 
139 ---+---+-----+------
140  1 | 1 |   8 |    8
141  1 | 2 |   2 |   10
142  1 |   |  10 |   20
143  2 | 2 |   2 |   22
144  2 |   |   2 |   24
145    |   |  12 |   36
146 (6 rows)
147
148 -- empty input: first is 0 rows, second 1, third 3 etc.
149 select a, b, sum(v), count(*) from gstest_empty group by grouping sets ((a,b),a);
150  a | b | sum | count 
151 ---+---+-----+-------
152 (0 rows)
153
154 select a, b, sum(v), count(*) from gstest_empty group by grouping sets ((a,b),());
155  a | b | sum | count 
156 ---+---+-----+-------
157    |   |     |     0
158 (1 row)
159
160 select a, b, sum(v), count(*) from gstest_empty group by grouping sets ((a,b),(),(),());
161  a | b | sum | count 
162 ---+---+-----+-------
163    |   |     |     0
164    |   |     |     0
165    |   |     |     0
166 (3 rows)
167
168 select sum(v), count(*) from gstest_empty group by grouping sets ((),(),());
169  sum | count 
170 -----+-------
171      |     0
172      |     0
173      |     0
174 (3 rows)
175
176 -- empty input with joins tests some important code paths
177 select t1.a, t2.b, sum(t1.v), count(*) from gstest_empty t1, gstest_empty t2
178  group by grouping sets ((t1.a,t2.b),());
179  a | b | sum | count 
180 ---+---+-----+-------
181    |   |     |     0
182 (1 row)
183
184 -- simple joins, var resolution, GROUPING on join vars
185 select t1.a, t2.b, grouping(t1.a, t2.b), sum(t1.v), max(t2.a)
186   from gstest1 t1, gstest2 t2
187  group by grouping sets ((t1.a, t2.b), ());
188  a | b | grouping | sum  | max 
189 ---+---+----------+------+-----
190  1 | 1 |        0 |  420 |   1
191  1 | 2 |        0 |  120 |   2
192  2 | 1 |        0 |  105 |   1
193  2 | 2 |        0 |   30 |   2
194  3 | 1 |        0 |  231 |   1
195  3 | 2 |        0 |   66 |   2
196  4 | 1 |        0 |  259 |   1
197  4 | 2 |        0 |   74 |   2
198    |   |        3 | 1305 |   2
199 (9 rows)
200
201 select t1.a, t2.b, grouping(t1.a, t2.b), sum(t1.v), max(t2.a)
202   from gstest1 t1 join gstest2 t2 on (t1.a=t2.a)
203  group by grouping sets ((t1.a, t2.b), ());
204  a | b | grouping | sum | max 
205 ---+---+----------+-----+-----
206  1 | 1 |        0 | 420 |   1
207  1 | 2 |        0 |  60 |   1
208  2 | 2 |        0 |  15 |   2
209    |   |        3 | 495 |   2
210 (4 rows)
211
212 select a, b, grouping(a, b), sum(t1.v), max(t2.c)
213   from gstest1 t1 join gstest2 t2 using (a,b)
214  group by grouping sets ((a, b), ());
215  a | b | grouping | sum | max 
216 ---+---+----------+-----+-----
217  1 | 1 |        0 | 147 |   2
218  1 | 2 |        0 |  25 |   2
219    |   |        3 | 172 |   2
220 (3 rows)
221
222 -- check that functionally dependent cols are not nulled
223 select a, d, grouping(a,b,c)
224   from gstest3
225  group by grouping sets ((a,b), (a,c));
226  a | d | grouping 
227 ---+---+----------
228  1 | 1 |        1
229  2 | 2 |        1
230  1 | 1 |        2
231  2 | 2 |        2
232 (4 rows)
233
234 -- simple rescan tests
235 select a, b, sum(v.x)
236   from (values (1),(2)) v(x), gstest_data(v.x)
237  group by rollup (a,b);
238  a | b | sum 
239 ---+---+-----
240  1 | 1 |   1
241  1 | 2 |   1
242  1 | 3 |   1
243  1 |   |   3
244  2 | 1 |   2
245  2 | 2 |   2
246  2 | 3 |   2
247  2 |   |   6
248    |   |   9
249 (9 rows)
250
251 select *
252   from (values (1),(2)) v(x),
253        lateral (select a, b, sum(v.x) from gstest_data(v.x) group by rollup (a,b)) s;
254 ERROR:  aggregate functions are not allowed in FROM clause of their own query level
255 LINE 3:        lateral (select a, b, sum(v.x) from gstest_data(v.x) ...
256                                      ^
257 -- min max optimisation should still work with GROUP BY ()
258 explain (costs off)
259   select min(unique1) from tenk1 GROUP BY ();
260                          QUERY PLAN                         
261 ------------------------------------------------------------
262  Result
263    InitPlan 1 (returns $0)
264      ->  Limit
265            ->  Index Only Scan using tenk1_unique1 on tenk1
266                  Index Cond: (unique1 IS NOT NULL)
267 (5 rows)
268
269 -- Views with GROUPING SET queries
270 CREATE VIEW gstest_view AS select a, b, grouping(a,b), sum(c), count(*), max(c)
271   from gstest2 group by rollup ((a,b,c),(c,d));
272 NOTICE:  view "gstest_view" will be a temporary view
273 select pg_get_viewdef('gstest_view'::regclass, true);
274                                 pg_get_viewdef                                 
275 -------------------------------------------------------------------------------
276   SELECT gstest2.a,                                                           +
277      gstest2.b,                                                               +
278      GROUPING(gstest2.a, gstest2.b) AS "grouping",                            +
279      sum(gstest2.c) AS sum,                                                   +
280      count(*) AS count,                                                       +
281      max(gstest2.c) AS max                                                    +
282     FROM gstest2                                                              +
283    GROUP BY ROLLUP((gstest2.a, gstest2.b, gstest2.c), (gstest2.c, gstest2.d));
284 (1 row)
285
286 -- Nested queries with 3 or more levels of nesting
287 select(select (select grouping(a,b) from (values (1)) v2(c)) from (values (1,2)) v1(a,b) group by (a,b)) from (values(6,7)) v3(e,f) GROUP BY ROLLUP(e,f);
288  grouping 
289 ----------
290         0
291         0
292         0
293 (3 rows)
294
295 select(select (select grouping(e,f) from (values (1)) v2(c)) from (values (1,2)) v1(a,b) group by (a,b)) from (values(6,7)) v3(e,f) GROUP BY ROLLUP(e,f);
296  grouping 
297 ----------
298         0
299         1
300         3
301 (3 rows)
302
303 select(select (select grouping(c) from (values (1)) v2(c) GROUP BY c) from (values (1,2)) v1(a,b) group by (a,b)) from (values(6,7)) v3(e,f) GROUP BY ROLLUP(e,f);
304  grouping 
305 ----------
306         0
307         0
308         0
309 (3 rows)
310
311 -- Combinations of operations
312 select a, b, c, d from gstest2 group by rollup(a,b),grouping sets(c,d);
313  a | b | c | d 
314 ---+---+---+---
315  1 | 1 | 1 |  
316  1 |   | 1 |  
317    |   | 1 |  
318  1 | 1 | 2 |  
319  1 | 2 | 2 |  
320  1 |   | 2 |  
321  2 | 2 | 2 |  
322  2 |   | 2 |  
323    |   | 2 |  
324  1 | 1 |   | 1
325  1 |   |   | 1
326    |   |   | 1
327  1 | 1 |   | 2
328  1 | 2 |   | 2
329  1 |   |   | 2
330  2 | 2 |   | 2
331  2 |   |   | 2
332    |   |   | 2
333 (18 rows)
334
335 select a, b from (values (1,2),(2,3)) v(a,b) group by a,b, grouping sets(a);
336  a | b 
337 ---+---
338  1 | 2
339  2 | 3
340 (2 rows)
341
342 -- Tests for chained aggregates
343 select a, b, grouping(a,b), sum(v), count(*), max(v)
344   from gstest1 group by grouping sets ((a,b),(a+1,b+1),(a+2,b+2));
345  a | b | grouping | sum | count | max 
346 ---+---+----------+-----+-------+-----
347  1 | 1 |        0 |  21 |     2 |  11
348  1 | 2 |        0 |  25 |     2 |  13
349  1 | 3 |        0 |  14 |     1 |  14
350  2 | 3 |        0 |  15 |     1 |  15
351  3 | 3 |        0 |  16 |     1 |  16
352  3 | 4 |        0 |  17 |     1 |  17
353  4 | 1 |        0 |  37 |     2 |  19
354    |   |        3 |  21 |     2 |  11
355    |   |        3 |  25 |     2 |  13
356    |   |        3 |  14 |     1 |  14
357    |   |        3 |  15 |     1 |  15
358    |   |        3 |  16 |     1 |  16
359    |   |        3 |  17 |     1 |  17
360    |   |        3 |  37 |     2 |  19
361    |   |        3 |  21 |     2 |  11
362    |   |        3 |  25 |     2 |  13
363    |   |        3 |  14 |     1 |  14
364    |   |        3 |  15 |     1 |  15
365    |   |        3 |  16 |     1 |  16
366    |   |        3 |  17 |     1 |  17
367    |   |        3 |  37 |     2 |  19
368 (21 rows)
369
370 select(select (select grouping(a,b) from (values (1)) v2(c)) from (values (1,2)) v1(a,b) group by (a,b)) from (values(6,7)) v3(e,f) GROUP BY ROLLUP((e+1),(f+1));
371  grouping 
372 ----------
373         0
374         0
375         0
376 (3 rows)
377
378 select(select (select grouping(a,b) from (values (1)) v2(c)) from (values (1,2)) v1(a,b) group by (a,b)) from (values(6,7)) v3(e,f) GROUP BY CUBE((e+1),(f+1)) ORDER BY (e+1),(f+1);
379  grouping 
380 ----------
381         0
382         0
383         0
384         0
385 (4 rows)
386
387 select a, b, sum(c), sum(sum(c)) over (order by a,b) as rsum
388   from gstest2 group by cube (a,b) order by rsum, a, b;
389  a | b | sum | rsum 
390 ---+---+-----+------
391  1 | 1 |   8 |    8
392  1 | 2 |   2 |   10
393  1 |   |  10 |   20
394  2 | 2 |   2 |   22
395  2 |   |   2 |   24
396    | 1 |   8 |   32
397    | 2 |   4 |   36
398    |   |  12 |   48
399 (8 rows)
400
401 select a, b, sum(c) from (values (1,1,10),(1,1,11),(1,2,12),(1,2,13),(1,3,14),(2,3,15),(3,3,16),(3,4,17),(4,1,18),(4,1,19)) v(a,b,c) group by rollup (a,b);
402  a | b | sum 
403 ---+---+-----
404  1 | 1 |  21
405  1 | 2 |  25
406  1 | 3 |  14
407  1 |   |  60
408  2 | 3 |  15
409  2 |   |  15
410  3 | 3 |  16
411  3 | 4 |  17
412  3 |   |  33
413  4 | 1 |  37
414  4 |   |  37
415    |   | 145
416 (12 rows)
417
418 select a, b, sum(v.x)
419   from (values (1),(2)) v(x), gstest_data(v.x)
420  group by cube (a,b) order by a,b;
421  a | b | sum 
422 ---+---+-----
423  1 | 1 |   1
424  1 | 2 |   1
425  1 | 3 |   1
426  1 |   |   3
427  2 | 1 |   2
428  2 | 2 |   2
429  2 | 3 |   2
430  2 |   |   6
431    | 1 |   3
432    | 2 |   3
433    | 3 |   3
434    |   |   9
435 (12 rows)
436
437 -- Agg level check. This query should error out.
438 select (select grouping(a,b) from gstest2) from gstest2 group by a,b;
439 ERROR:  arguments to GROUPING must be grouping expressions of the associated query level
440 LINE 1: select (select grouping(a,b) from gstest2) from gstest2 grou...
441                                 ^
442 --Nested queries
443 select a, b, sum(c), count(*) from gstest2 group by grouping sets (rollup(a,b),a);
444  a | b | sum | count 
445 ---+---+-----+-------
446  1 | 1 |   8 |     7
447  1 | 2 |   2 |     1
448  1 |   |  10 |     8
449  1 |   |  10 |     8
450  2 | 2 |   2 |     1
451  2 |   |   2 |     1
452  2 |   |   2 |     1
453    |   |  12 |     9
454 (8 rows)
455
456 -- HAVING queries
457 select ten, sum(distinct four) from onek a
458 group by grouping sets((ten,four),(ten))
459 having exists (select 1 from onek b where sum(distinct a.four) = b.four);
460  ten | sum 
461 -----+-----
462    0 |   0
463    0 |   2
464    0 |   2
465    1 |   1
466    1 |   3
467    2 |   0
468    2 |   2
469    2 |   2
470    3 |   1
471    3 |   3
472    4 |   0
473    4 |   2
474    4 |   2
475    5 |   1
476    5 |   3
477    6 |   0
478    6 |   2
479    6 |   2
480    7 |   1
481    7 |   3
482    8 |   0
483    8 |   2
484    8 |   2
485    9 |   1
486    9 |   3
487 (25 rows)
488
489 -- FILTER queries
490 select ten, sum(distinct four) filter (where four::text ~ '123') from onek a
491 group by rollup(ten);
492  ten | sum 
493 -----+-----
494    0 |    
495    1 |    
496    2 |    
497    3 |    
498    4 |    
499    5 |    
500    6 |    
501    7 |    
502    8 |    
503    9 |    
504      |    
505 (11 rows)
506
507 -- More rescan tests
508 select * from (values (1),(2)) v(a) left join lateral (select v.a, four, ten, count(*) from onek group by cube(four,ten)) s on true order by v.a,four,ten;
509  a | a | four | ten | count 
510 ---+---+------+-----+-------
511  1 | 1 |    0 |   0 |    50
512  1 | 1 |    0 |   2 |    50
513  1 | 1 |    0 |   4 |    50
514  1 | 1 |    0 |   6 |    50
515  1 | 1 |    0 |   8 |    50
516  1 | 1 |    0 |     |   250
517  1 | 1 |    1 |   1 |    50
518  1 | 1 |    1 |   3 |    50
519  1 | 1 |    1 |   5 |    50
520  1 | 1 |    1 |   7 |    50
521  1 | 1 |    1 |   9 |    50
522  1 | 1 |    1 |     |   250
523  1 | 1 |    2 |   0 |    50
524  1 | 1 |    2 |   2 |    50
525  1 | 1 |    2 |   4 |    50
526  1 | 1 |    2 |   6 |    50
527  1 | 1 |    2 |   8 |    50
528  1 | 1 |    2 |     |   250
529  1 | 1 |    3 |   1 |    50
530  1 | 1 |    3 |   3 |    50
531  1 | 1 |    3 |   5 |    50
532  1 | 1 |    3 |   7 |    50
533  1 | 1 |    3 |   9 |    50
534  1 | 1 |    3 |     |   250
535  1 | 1 |      |   0 |   100
536  1 | 1 |      |   1 |   100
537  1 | 1 |      |   2 |   100
538  1 | 1 |      |   3 |   100
539  1 | 1 |      |   4 |   100
540  1 | 1 |      |   5 |   100
541  1 | 1 |      |   6 |   100
542  1 | 1 |      |   7 |   100
543  1 | 1 |      |   8 |   100
544  1 | 1 |      |   9 |   100
545  1 | 1 |      |     |  1000
546  2 | 2 |    0 |   0 |    50
547  2 | 2 |    0 |   2 |    50
548  2 | 2 |    0 |   4 |    50
549  2 | 2 |    0 |   6 |    50
550  2 | 2 |    0 |   8 |    50
551  2 | 2 |    0 |     |   250
552  2 | 2 |    1 |   1 |    50
553  2 | 2 |    1 |   3 |    50
554  2 | 2 |    1 |   5 |    50
555  2 | 2 |    1 |   7 |    50
556  2 | 2 |    1 |   9 |    50
557  2 | 2 |    1 |     |   250
558  2 | 2 |    2 |   0 |    50
559  2 | 2 |    2 |   2 |    50
560  2 | 2 |    2 |   4 |    50
561  2 | 2 |    2 |   6 |    50
562  2 | 2 |    2 |   8 |    50
563  2 | 2 |    2 |     |   250
564  2 | 2 |    3 |   1 |    50
565  2 | 2 |    3 |   3 |    50
566  2 | 2 |    3 |   5 |    50
567  2 | 2 |    3 |   7 |    50
568  2 | 2 |    3 |   9 |    50
569  2 | 2 |    3 |     |   250
570  2 | 2 |      |   0 |   100
571  2 | 2 |      |   1 |   100
572  2 | 2 |      |   2 |   100
573  2 | 2 |      |   3 |   100
574  2 | 2 |      |   4 |   100
575  2 | 2 |      |   5 |   100
576  2 | 2 |      |   6 |   100
577  2 | 2 |      |   7 |   100
578  2 | 2 |      |   8 |   100
579  2 | 2 |      |   9 |   100
580  2 | 2 |      |     |  1000
581 (70 rows)
582
583 select array(select row(v.a,s1.*) from (select two,four, count(*) from onek group by cube(two,four) order by two,four) s1) from (values (1),(2)) v(a);
584                                                                         array                                                                         
585 ------------------------------------------------------------------------------------------------------------------------------------------------------
586  {"(1,0,0,250)","(1,0,2,250)","(1,0,,500)","(1,1,1,250)","(1,1,3,250)","(1,1,,500)","(1,,0,250)","(1,,1,250)","(1,,2,250)","(1,,3,250)","(1,,,1000)"}
587  {"(2,0,0,250)","(2,0,2,250)","(2,0,,500)","(2,1,1,250)","(2,1,3,250)","(2,1,,500)","(2,,0,250)","(2,,1,250)","(2,,2,250)","(2,,3,250)","(2,,,1000)"}
588 (2 rows)
589
590 -- end