Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit886f554

Browse files
author
Oleg Ivanov
committed
Added regression test
1 parenta8ecf2e commit886f554

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+
CREATETABLEaqo_test0(aint, bint, cint, dint);
2+
INSERT INTO aqo_test0VALUES (0,0,0,0);
3+
INSERT INTO aqo_test0VALUES (1,1,1,1);
4+
INSERT INTO aqo_test0VALUES (3,3,3,3);
5+
INSERT INTO aqo_test0VALUES (5,5,5,5);
6+
INSERT INTO aqo_test0VALUES (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+
SETaqo.mode='manual';
22+
23+
EXPLAIN
24+
SELECT*FROM aqo_test0
25+
WHERE a<3AND b<3AND c<3AND d<3;
26+
27+
EXPLAIN
28+
SELECT*FROM aqo_test0
29+
WHERE a<5AND b<5AND c<5AND d<5;
30+
31+
SETaqo.mode='forced';
32+
33+
CREATETABLEtmp1ASSELECT*FROM aqo_test0
34+
WHERE a<3AND b<3AND c<3AND d<3;
35+
SELECTcount(*)FROM tmp1;
36+
DROPTABLE tmp1;
37+
38+
CREATETABLEtmp1ASSELECT*FROM aqo_test0
39+
WHERE a<5AND b<5AND c<5AND d<5;
40+
SELECTcount(*)FROM tmp1;
41+
DROPTABLE tmp1;
42+
43+
EXPLAIN
44+
SELECT*FROM aqo_test0
45+
WHERE a<3AND b<3AND c<3AND d<3;
46+
47+
EXPLAIN
48+
SELECT*FROM aqo_test0
49+
WHERE a<5AND b<5AND c<5AND d<5;
50+
51+
DROPTABLE aqo_test0;
52+
53+
DROP EXTENSION aqo;

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp