@@ -571,46 +571,46 @@ EXPLAIN (COSTS OFF)
571
571
572
572
-- XXX: Do we stuck into an unstable behavior of an error value?
573
573
-- Live with this variant of the test for some time.
574
- SELECTto_char (error, '9.99EEEE')::text AS error, query_text
574
+ SELECTround (error::numeric, 3) AS error, query_text
575
575
FROM aqo_cardinality_error(true) cef, aqo_query_texts aqt
576
576
WHERE aqt.queryid = cef.id
577
577
ORDER BY (md5(query_text),error) DESC;
578
- error | query_text
579
- ----------- +------------------------------------------------------------------------------------------------
580
- 7.68e-01 | SELECT count(*) FROM (SELECT count(*) FROM t1 GROUP BY (x,y)) AS q1;
581
- 7.04e-02 | SELECT count(*) FROM (SELECT * FROM t GROUP BY (x) HAVING x > 3) AS q1;
582
- 1.42e+00 | SELECT count(*) FROM t WHERE x < 3 AND mod(x,3) = 1;
583
- 0.00e+00 | SELECT * FROM +
584
- | (SELECT * FROM t WHERE x < 0) AS t0 +
585
- | JOIN +
586
- | (SELECT * FROM t WHERE x > 20) AS t1 +
587
- | USING(x);
588
- 0.00e+00 | SELECT count(*) FROM t WHERE x = (SELECT avg(x) FROM t t0 WHERE t0.x = t.x);
589
- 0.00e+00 | EXPLAIN (ANALYZE, COSTS OFF, SUMMARY OFF, TIMING OFF) +
590
- | SELECT count(*) FROM t WHERE +
591
- | x = (SELECT avg(x) FROM t t0 WHERE t0.x = t.x + 21) OR +
592
- | x IN (SELECT avg(x) FROM t t0 WHERE t0.x = t.x + 21);
593
- 4.54e-01 | SELECT count(*) FROM (SELECT x, y FROM t1 GROUP BY GROUPING SETS ((x,y), (x), (y), ())) AS q1;
594
- 0.00e+00 | SELECT count(*) FROM ( +
595
- | SELECT count(*) AS x FROM ( +
596
- | SELECT count(*) FROM t1 GROUP BY (x,y) +
597
- | ) AS q1 +
598
- | ) AS q2 +
599
- | WHERE q2.x > 1;
600
- 7.68e-01 | SELECT count(*) FROM (SELECT count(*) FROM t1 GROUP BY (x,x*y)) AS q1;
601
- 0.00e+00 | SELECT count(*) FROM t WHERE x = (SELECT avg(x) FROM t WHERE x = 1);
602
- 0.00e+00 | EXPLAIN (ANALYZE, COSTS OFF, SUMMARY OFF, TIMING OFF) +
603
- | SELECT count(*) FROM t WHERE (SELECT avg(x) FROM t t0 WHERE t0.x = t.x) = +
604
- | (SELECT avg(x) FROM t t0 WHERE t0.x = t.x);
605
- 1.06e-01 | +
606
- | EXPLAIN (ANALYZE, COSTS OFF, SUMMARY OFF, TIMING OFF) +
607
- | SELECT * FROM t GROUP BY (x) HAVING x > 3; +
608
- |
609
- 0.00e+00 | SELECT count(*) FROM +
610
- | (SELECT * FROM t WHERE x % 3 < (SELECT avg(x) FROM t t0 WHERE t0.x = t.x)) AS q1 +
611
- | JOIN +
612
- | (SELECT * FROM t WHERE x % 3 < (SELECT avg(x) FROM t t0 WHERE t0.x <> t.x)) AS q2 +
613
- | ON q1.x = q2.x+1;
578
+ error | query_text
579
+ -------+------------------------------------------------------------------------------------------------
580
+ 0.768 | SELECT count(*) FROM (SELECT count(*) FROM t1 GROUP BY (x,y)) AS q1;
581
+ 0.070 | SELECT count(*) FROM (SELECT * FROM t GROUP BY (x) HAVING x > 3) AS q1;
582
+ 1.416 | SELECT count(*) FROM t WHERE x < 3 AND mod(x,3) = 1;
583
+ 0.000 | SELECT * FROM +
584
+ | (SELECT * FROM t WHERE x < 0) AS t0 +
585
+ | JOIN +
586
+ | (SELECT * FROM t WHERE x > 20) AS t1 +
587
+ | USING(x);
588
+ 0.000 | SELECT count(*) FROM t WHERE x = (SELECT avg(x) FROM t t0 WHERE t0.x = t.x);
589
+ 0.000 | EXPLAIN (ANALYZE, COSTS OFF, SUMMARY OFF, TIMING OFF) +
590
+ | SELECT count(*) FROM t WHERE +
591
+ | x = (SELECT avg(x) FROM t t0 WHERE t0.x = t.x + 21) OR +
592
+ | x IN (SELECT avg(x) FROM t t0 WHERE t0.x = t.x + 21);
593
+ 0.454 | SELECT count(*) FROM (SELECT x, y FROM t1 GROUP BY GROUPING SETS ((x,y), (x), (y), ())) AS q1;
594
+ 0.000 | SELECT count(*) FROM ( +
595
+ | SELECT count(*) AS x FROM ( +
596
+ | SELECT count(*) FROM t1 GROUP BY (x,y) +
597
+ | ) AS q1 +
598
+ | ) AS q2 +
599
+ | WHERE q2.x > 1;
600
+ 0.768 | SELECT count(*) FROM (SELECT count(*) FROM t1 GROUP BY (x,x*y)) AS q1;
601
+ 0.000 | SELECT count(*) FROM t WHERE x = (SELECT avg(x) FROM t WHERE x = 1);
602
+ 0.000 | EXPLAIN (ANALYZE, COSTS OFF, SUMMARY OFF, TIMING OFF) +
603
+ | SELECT count(*) FROM t WHERE (SELECT avg(x) FROM t t0 WHERE t0.x = t.x) = +
604
+ | (SELECT avg(x) FROM t t0 WHERE t0.x = t.x);
605
+ 0.106 | +
606
+ | EXPLAIN (ANALYZE, COSTS OFF, SUMMARY OFF, TIMING OFF) +
607
+ | SELECT * FROM t GROUP BY (x) HAVING x > 3; +
608
+ |
609
+ 0.000 | SELECT count(*) FROM +
610
+ | (SELECT * FROM t WHERE x % 3 < (SELECT avg(x) FROM t t0 WHERE t0.x = t.x)) AS q1 +
611
+ | JOIN +
612
+ | (SELECT * FROM t WHERE x % 3 < (SELECT avg(x) FROM t t0 WHERE t0.x <> t.x)) AS q2 +
613
+ | ON q1.x = q2.x+1;
614
614
(13 rows)
615
615
616
616
DROP TABLE t,t1 CASCADE; -- delete all tables used in the test