Skip to content

Commit 886f554

Browse files
author
Oleg Ivanov
committed
Added regression test
1 parent a8ecf2e commit 886f554

File tree

2 files changed

+129
-0
lines changed

2 files changed

+129
-0
lines changed

contrib/aqo/expected/aqo.out

Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
CREATE TABLE aqo_test0(a int, b int, c int, d int);
2+
INSERT INTO aqo_test0 VALUES (0, 0, 0, 0);
3+
INSERT INTO aqo_test0 VALUES (1, 1, 1, 1);
4+
INSERT INTO aqo_test0 VALUES (3, 3, 3, 3);
5+
INSERT INTO aqo_test0 VALUES (5, 5, 5, 5);
6+
INSERT INTO aqo_test0 VALUES (6, 6, 6, 6);
7+
INSERT INTO aqo_test0 (SELECT * FROM aqo_test0);
8+
INSERT INTO aqo_test0 (SELECT * FROM aqo_test0);
9+
INSERT INTO aqo_test0 (SELECT * FROM aqo_test0);
10+
INSERT INTO aqo_test0 (SELECT * FROM aqo_test0);
11+
INSERT INTO aqo_test0 (SELECT * FROM aqo_test0);
12+
INSERT INTO aqo_test0 (SELECT * FROM aqo_test0);
13+
INSERT INTO aqo_test0 (SELECT * FROM aqo_test0);
14+
INSERT INTO aqo_test0 (SELECT * FROM aqo_test0);
15+
INSERT INTO aqo_test0 (SELECT * FROM aqo_test0);
16+
INSERT INTO aqo_test0 (SELECT * FROM aqo_test0);
17+
ANALYZE aqo_test0;
18+
CREATE EXTENSION aqo;
19+
SET aqo.mode = 'manual';
20+
EXPLAIN
21+
SELECT * FROM aqo_test0
22+
WHERE a < 3 AND b < 3 AND c < 3 AND d < 3;
23+
QUERY PLAN
24+
--------------------------------------------------------------
25+
Seq Scan on aqo_test0 (cost=0.00..130.40 rows=131 width=16)
26+
Filter: ((a < 3) AND (b < 3) AND (c < 3) AND (d < 3))
27+
(2 rows)
28+
29+
EXPLAIN
30+
SELECT * FROM aqo_test0
31+
WHERE a < 5 AND b < 5 AND c < 5 AND d < 5;
32+
QUERY PLAN
33+
--------------------------------------------------------------
34+
Seq Scan on aqo_test0 (cost=0.00..130.40 rows=664 width=16)
35+
Filter: ((a < 5) AND (b < 5) AND (c < 5) AND (d < 5))
36+
(2 rows)
37+
38+
SET aqo.mode = 'forced';
39+
CREATE TABLE tmp1 AS SELECT * FROM aqo_test0
40+
WHERE a < 3 AND b < 3 AND c < 3 AND d < 3;
41+
SELECT count(*) FROM tmp1;
42+
count
43+
-------
44+
2048
45+
(1 row)
46+
47+
DROP TABLE tmp1;
48+
CREATE TABLE tmp1 AS SELECT * FROM aqo_test0
49+
WHERE a < 5 AND b < 5 AND c < 5 AND d < 5;
50+
SELECT count(*) FROM tmp1;
51+
count
52+
-------
53+
3072
54+
(1 row)
55+
56+
DROP TABLE tmp1;
57+
EXPLAIN
58+
SELECT * FROM aqo_test0
59+
WHERE a < 3 AND b < 3 AND c < 3 AND d < 3;
60+
QUERY PLAN
61+
---------------------------------------------------------------
62+
Seq Scan on aqo_test0 (cost=0.00..130.40 rows=2050 width=16)
63+
Filter: ((a < 3) AND (b < 3) AND (c < 3) AND (d < 3))
64+
(2 rows)
65+
66+
EXPLAIN
67+
SELECT * FROM aqo_test0
68+
WHERE a < 5 AND b < 5 AND c < 5 AND d < 5;
69+
QUERY PLAN
70+
---------------------------------------------------------------
71+
Seq Scan on aqo_test0 (cost=0.00..130.40 rows=3069 width=16)
72+
Filter: ((a < 5) AND (b < 5) AND (c < 5) AND (d < 5))
73+
(2 rows)
74+
75+
DROP TABLE aqo_test0;
76+
DROP EXTENSION aqo;

contrib/aqo/sql/aqo.sql

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
CREATE TABLE aqo_test0(a int, b int, c int, d int);
2+
INSERT INTO aqo_test0 VALUES (0, 0, 0, 0);
3+
INSERT INTO aqo_test0 VALUES (1, 1, 1, 1);
4+
INSERT INTO aqo_test0 VALUES (3, 3, 3, 3);
5+
INSERT INTO aqo_test0 VALUES (5, 5, 5, 5);
6+
INSERT INTO aqo_test0 VALUES (6, 6, 6, 6);
7+
INSERT INTO aqo_test0 (SELECT * FROM aqo_test0);
8+
INSERT INTO aqo_test0 (SELECT * FROM aqo_test0);
9+
INSERT INTO aqo_test0 (SELECT * FROM aqo_test0);
10+
INSERT INTO aqo_test0 (SELECT * FROM aqo_test0);
11+
INSERT INTO aqo_test0 (SELECT * FROM aqo_test0);
12+
INSERT INTO aqo_test0 (SELECT * FROM aqo_test0);
13+
INSERT INTO aqo_test0 (SELECT * FROM aqo_test0);
14+
INSERT INTO aqo_test0 (SELECT * FROM aqo_test0);
15+
INSERT INTO aqo_test0 (SELECT * FROM aqo_test0);
16+
INSERT INTO aqo_test0 (SELECT * FROM aqo_test0);
17+
ANALYZE aqo_test0;
18+
19+
CREATE EXTENSION aqo;
20+
21+
SET aqo.mode = 'manual';
22+
23+
EXPLAIN
24+
SELECT * FROM aqo_test0
25+
WHERE a < 3 AND b < 3 AND c < 3 AND d < 3;
26+
27+
EXPLAIN
28+
SELECT * FROM aqo_test0
29+
WHERE a < 5 AND b < 5 AND c < 5 AND d < 5;
30+
31+
SET aqo.mode = 'forced';
32+
33+
CREATE TABLE tmp1 AS SELECT * FROM aqo_test0
34+
WHERE a < 3 AND b < 3 AND c < 3 AND d < 3;
35+
SELECT count(*) FROM tmp1;
36+
DROP TABLE tmp1;
37+
38+
CREATE TABLE tmp1 AS SELECT * FROM aqo_test0
39+
WHERE a < 5 AND b < 5 AND c < 5 AND d < 5;
40+
SELECT count(*) FROM tmp1;
41+
DROP TABLE tmp1;
42+
43+
EXPLAIN
44+
SELECT * FROM aqo_test0
45+
WHERE a < 3 AND b < 3 AND c < 3 AND d < 3;
46+
47+
EXPLAIN
48+
SELECT * FROM aqo_test0
49+
WHERE a < 5 AND b < 5 AND c < 5 AND d < 5;
50+
51+
DROP TABLE aqo_test0;
52+
53+
DROP EXTENSION aqo;

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy