Skip to content

Commit f5605c5

Browse files
committed
[PGPRO-9977] Added new expected results after vanilla commit
Tags: pg_pathman See b262ad440ede - Add better handling of redundant IS [NOT] NULL quals
1 parent a899f36 commit f5605c5

File tree

2 files changed

+155
-0
lines changed

2 files changed

+155
-0
lines changed

‎expected/pathman_hashjoin_6.out

+75
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
/*
2+
* pathman_hashjoin_1.out and pathman_hashjoin_2.out seem to deal with pgpro's
3+
* different behaviour. 8edd0e794 (>= 12) Append nodes with single subplan
4+
* are eliminated, hence pathman_hashjoin_3.out
5+
*
6+
* Since 55a1954da16 and 6ef77cf46e8 (>= 13) output of EXPLAIN was changed,
7+
* now it includes aliases for inherited tables.
8+
*/
9+
\set VERBOSITY terse
10+
SET search_path = 'public';
11+
CREATE SCHEMA pathman;
12+
CREATE EXTENSION pg_pathman SCHEMA pathman;
13+
CREATE SCHEMA test;
14+
CREATE TABLE test.range_rel (
15+
id SERIAL PRIMARY KEY,
16+
dt TIMESTAMP NOT NULL,
17+
txt TEXT);
18+
CREATE INDEX ON test.range_rel (dt);
19+
INSERT INTO test.range_rel (dt, txt)
20+
SELECT g, md5(g::TEXT) FROM generate_series('2015-01-01', '2015-04-30', '1 day'::interval) as g;
21+
SELECT pathman.create_range_partitions('test.range_rel', 'DT', '2015-01-01'::DATE, '1 month'::INTERVAL);
22+
create_range_partitions
23+
-------------------------
24+
4
25+
(1 row)
26+
27+
CREATE TABLE test.num_range_rel (
28+
id SERIAL PRIMARY KEY,
29+
txt TEXT);
30+
SELECT pathman.create_range_partitions('test.num_range_rel', 'id', 0, 1000, 4);
31+
create_range_partitions
32+
-------------------------
33+
4
34+
(1 row)
35+
36+
INSERT INTO test.num_range_rel
37+
SELECT g, md5(g::TEXT) FROM generate_series(1, 3000) as g;
38+
SET pg_pathman.enable_runtimeappend = OFF;
39+
SET pg_pathman.enable_runtimemergeappend = OFF;
40+
VACUUM;
41+
/*
42+
* Hash join
43+
*/
44+
SET enable_indexscan = ON;
45+
SET enable_seqscan = OFF;
46+
SET enable_nestloop = OFF;
47+
SET enable_hashjoin = ON;
48+
SET enable_mergejoin = OFF;
49+
EXPLAIN (COSTS OFF)
50+
SELECT * FROM test.range_rel j1
51+
JOIN test.range_rel j2 on j2.id = j1.id
52+
JOIN test.num_range_rel j3 on j3.id = j1.id
53+
WHERE j1.dt < '2015-03-01' AND j2.dt >= '2015-02-01' ORDER BY j2.dt;
54+
QUERY PLAN
55+
---------------------------------------------------------------------------------
56+
Sort
57+
Sort Key: j2.dt
58+
-> Hash Join
59+
Hash Cond: (j3.id = j2.id)
60+
-> Append
61+
-> Index Scan using num_range_rel_1_pkey on num_range_rel_1 j3_1
62+
-> Index Scan using num_range_rel_2_pkey on num_range_rel_2 j3_2
63+
-> Index Scan using num_range_rel_3_pkey on num_range_rel_3 j3_3
64+
-> Index Scan using num_range_rel_4_pkey on num_range_rel_4 j3_4
65+
-> Hash
66+
-> Index Scan using range_rel_2_dt_idx on range_rel_2 j2
67+
(11 rows)
68+
69+
DROP TABLE test.num_range_rel CASCADE;
70+
NOTICE: drop cascades to 5 other objects
71+
DROP TABLE test.range_rel CASCADE;
72+
NOTICE: drop cascades to 5 other objects
73+
DROP SCHEMA test;
74+
DROP EXTENSION pg_pathman CASCADE;
75+
DROP SCHEMA pathman;

‎expected/pathman_mergejoin_6.out

+80
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
/*
2+
* pathman_mergejoin_1.out and pathman_mergejoin_2.out seem to deal with pgpro's
3+
* different behaviour. 8edd0e794 (>= 12) Append nodes with single subplan
4+
* are eliminated, hence pathman_mergejoin_3.out
5+
*
6+
* Since 55a1954da16 and 6ef77cf46e8 (>= 13) output of EXPLAIN was changed,
7+
* now it includes aliases for inherited tables.
8+
*
9+
* ---------------------------------------------
10+
* NOTE: This test behaves differenly on PgPro
11+
* ---------------------------------------------
12+
*/
13+
\set VERBOSITY terse
14+
SET search_path = 'public';
15+
CREATE SCHEMA pathman;
16+
CREATE EXTENSION pg_pathman SCHEMA pathman;
17+
CREATE SCHEMA test;
18+
CREATE TABLE test.range_rel (
19+
id SERIAL PRIMARY KEY,
20+
dt TIMESTAMP NOT NULL,
21+
txt TEXT);
22+
CREATE INDEX ON test.range_rel (dt);
23+
INSERT INTO test.range_rel (dt, txt)
24+
SELECT g, md5(g::TEXT) FROM generate_series('2015-01-01', '2015-04-30', '1 day'::interval) as g;
25+
SELECT pathman.create_range_partitions('test.range_rel', 'DT', '2015-01-01'::DATE, '1 month'::INTERVAL);
26+
create_range_partitions
27+
-------------------------
28+
4
29+
(1 row)
30+
31+
CREATE TABLE test.num_range_rel (
32+
id SERIAL PRIMARY KEY,
33+
txt TEXT);
34+
INSERT INTO test.num_range_rel SELECT g, md5(g::TEXT) FROM generate_series(1, 3000) as g;
35+
SELECT pathman.create_range_partitions('test.num_range_rel', 'id', 0, 1000, 4);
36+
create_range_partitions
37+
-------------------------
38+
4
39+
(1 row)
40+
41+
/*
42+
* Merge join between 3 partitioned tables
43+
*
44+
* test case for the fix of sorting, merge append and index scan issues
45+
* details in commit 54dd0486fc55b2d25cf7d095f83dee6ff4adee06
46+
*/
47+
SET enable_hashjoin = OFF;
48+
SET enable_nestloop = OFF;
49+
SET enable_mergejoin = ON;
50+
SET enable_indexscan = ON;
51+
SET enable_seqscan = OFF;
52+
EXPLAIN (COSTS OFF)
53+
SELECT * FROM test.range_rel j1
54+
JOIN test.range_rel j2 on j2.id = j1.id
55+
JOIN test.num_range_rel j3 on j3.id = j1.id
56+
WHERE j1.dt < '2015-03-01' AND j2.dt >= '2015-02-01' ORDER BY j2.dt;
57+
QUERY PLAN
58+
---------------------------------------------------------------------------------
59+
Sort
60+
Sort Key: j2.dt
61+
-> Merge Join
62+
Merge Cond: (j2.id = j3.id)
63+
-> Index Scan using range_rel_2_pkey on range_rel_2 j2
64+
-> Append
65+
-> Index Scan using num_range_rel_1_pkey on num_range_rel_1 j3_1
66+
-> Index Scan using num_range_rel_2_pkey on num_range_rel_2 j3_2
67+
-> Index Scan using num_range_rel_3_pkey on num_range_rel_3 j3_3
68+
-> Index Scan using num_range_rel_4_pkey on num_range_rel_4 j3_4
69+
(10 rows)
70+
71+
SET enable_hashjoin = ON;
72+
SET enable_nestloop = ON;
73+
SET enable_seqscan = ON;
74+
DROP TABLE test.num_range_rel CASCADE;
75+
NOTICE: drop cascades to 5 other objects
76+
DROP TABLE test.range_rel CASCADE;
77+
NOTICE: drop cascades to 5 other objects
78+
DROP SCHEMA test;
79+
DROP EXTENSION pg_pathman;
80+
DROP SCHEMA pathman;

0 commit comments

Comments
 (0)