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

Commit9e0591f

Browse files
committed
resolve conflicts
2 parents9d9a855 +55e6dfd commit9e0591f

16 files changed

+977
-362
lines changed

‎META.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
{
22
"name":"pg_pathman",
33
"abstract":"Partitioning tool",
4-
"description":"pg_pathman provides optimized partitioning mechanism and functions to manage partitions.",
5-
"version":"1.4.5",
4+
"description":"pg_pathman provides optimized partitioning mechanism and functions to manage partitions",
5+
"version":"1.5.0",
66
"maintainer": [
77
"Ildar Musin <i.musin@postgrespro.ru>",
88
"Dmitry Ivanov <d.ivanov@postgrespro.ru>",
@@ -24,7 +24,7 @@
2424
"pg_pathman": {
2525
"file":"pg_pathman--1.4.sql",
2626
"docfile":"README.md",
27-
"version":"1.4.5",
27+
"version":"1.5.0",
2828
"abstract":"Effective partitioning tool for PostgreSQL 9.5 and higher"
2929
}
3030
},

‎Makefile

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,8 @@ REGRESS = pathman_array_qual \
5353
pathman_runtime_nodes\
5454
pathman_update_trigger\
5555
pathman_upd_del\
56-
pathman_utility_stmt
56+
pathman_utility_stmt\
57+
pathman_views
5758

5859
EXTRA_REGRESS_OPTS=--temp-config=$(top_srcdir)/$(subdir)/conf.add
5960

‎expected/pathman_rowmarks.out

Lines changed: 84 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ SELECT create_hash_partitions('rowmarks.first', 'id', 5);
1515
5
1616
(1 row)
1717

18+
VACUUM ANALYZE;
1819
/* Not partitioned */
1920
SELECT * FROM rowmarks.second ORDER BY id FOR UPDATE;
2021
id
@@ -173,34 +174,90 @@ FOR SHARE;
173174
6
174175
(1 row)
175176

177+
/* JOIN (plan) */
178+
EXPLAIN (COSTS OFF)
179+
SELECT * FROM rowmarks.first
180+
JOIN rowmarks.second USING(id)
181+
ORDER BY id
182+
FOR UPDATE;
183+
QUERY PLAN
184+
---------------------------------------------------
185+
LockRows
186+
-> Sort
187+
Sort Key: first_0.id
188+
-> Hash Join
189+
Hash Cond: (first_0.id = second.id)
190+
-> Append
191+
-> Seq Scan on first_0
192+
-> Seq Scan on first_1
193+
-> Seq Scan on first_2
194+
-> Seq Scan on first_3
195+
-> Seq Scan on first_4
196+
-> Hash
197+
-> Seq Scan on second
198+
(13 rows)
199+
200+
/* JOIN (execution) */
201+
SELECT * FROM rowmarks.first
202+
JOIN rowmarks.second USING(id)
203+
ORDER BY id
204+
FOR UPDATE;
205+
id
206+
----
207+
1
208+
2
209+
3
210+
4
211+
5
212+
6
213+
7
214+
8
215+
9
216+
10
217+
(10 rows)
218+
219+
/* ONLY (plan) */
220+
EXPLAIN (COSTS OFF)
221+
SELECT * FROM ONLY rowmarks.first FOR SHARE;
222+
QUERY PLAN
223+
-------------------------
224+
LockRows
225+
-> Seq Scan on first
226+
(2 rows)
227+
228+
/* ONLY (execution) */
229+
SELECT * FROM ONLY rowmarks.first FOR SHARE;
230+
id
231+
----
232+
(0 rows)
233+
176234
/* Check updates (plan) */
177235
SET enable_hashjoin = f;/* Hash Semi Join on 10 vs Hash Join on 9.6 */
178236
SET enable_mergejoin = f;/* Merge Semi Join on 10 vs Merge Join on 9.6 */
179237
EXPLAIN (COSTS OFF)
180238
UPDATE rowmarks.second SET id = 2
181239
WHERE rowmarks.second.id IN (SELECT id FROM rowmarks.first WHERE id = 1);
182-
QUERY PLAN
183-
---------------------------------------------
240+
QUERY PLAN
241+
---------------------------------------
184242
Update on second
185243
-> Nested Loop Semi Join
186244
-> Seq Scan on second
187245
Filter: (id = 1)
188-
-> Materialize
189-
-> Append
190-
-> Seq Scan on first_0
191-
Filter: (id = 1)
192-
(8 rows)
246+
-> Append
247+
-> Seq Scan on first_0
248+
Filter: (id = 1)
249+
(7 rows)
193250

194251
EXPLAIN (COSTS OFF)
195252
UPDATE rowmarks.second SET id = 2
196253
WHERE rowmarks.second.id IN (SELECT id FROM rowmarks.first WHERE id < 1);
197254
QUERY PLAN
198255
-----------------------------------------------
199256
Update on second
200-
-> Nested Loop
257+
-> Nested Loop Semi Join
201258
Join Filter: (second.id = first_0.id)
202-
->HashAggregate
203-
Group Key: first_0.id
259+
->Seq Scan on second
260+
-> Materialize
204261
-> Append
205262
-> Seq Scan on first_0
206263
Filter: (id < 1)
@@ -212,9 +269,7 @@ WHERE rowmarks.second.id IN (SELECT id FROM rowmarks.first WHERE id < 1);
212269
Filter: (id < 1)
213270
-> Seq Scan on first_4
214271
Filter: (id < 1)
215-
-> Materialize
216-
-> Seq Scan on second
217-
(18 rows)
272+
(16 rows)
218273

219274
EXPLAIN (COSTS OFF)
220275
UPDATE rowmarks.second SET id = 2
@@ -237,17 +292,16 @@ EXPLAIN (COSTS OFF)
237292
UPDATE rowmarks.second SET id = 2
238293
WHERE rowmarks.second.id IN (SELECT id FROM rowmarks.first WHERE id = 1)
239294
RETURNING *, tableoid::regclass;
240-
QUERY PLAN
241-
---------------------------------------------
295+
QUERY PLAN
296+
---------------------------------------
242297
Update on second
243298
-> Nested Loop Semi Join
244299
-> Seq Scan on second
245300
Filter: (id = 1)
246-
-> Materialize
247-
-> Append
248-
-> Seq Scan on first_0
249-
Filter: (id = 1)
250-
(8 rows)
301+
-> Append
302+
-> Seq Scan on first_0
303+
Filter: (id = 1)
304+
(7 rows)
251305

252306
SET enable_hashjoin = t;
253307
SET enable_mergejoin = t;
@@ -267,28 +321,27 @@ SET enable_mergejoin = f;/* Merge Semi Join on 10 vs Merge Join on 9.6 */
267321
EXPLAIN (COSTS OFF)
268322
DELETE FROM rowmarks.second
269323
WHERE rowmarks.second.id IN (SELECT id FROM rowmarks.first WHERE id = 1);
270-
QUERY PLAN
271-
---------------------------------------------
324+
QUERY PLAN
325+
---------------------------------------
272326
Delete on second
273327
-> Nested Loop Semi Join
274328
-> Seq Scan on second
275329
Filter: (id = 1)
276-
-> Materialize
277-
-> Append
278-
-> Seq Scan on first_0
279-
Filter: (id = 1)
280-
(8 rows)
330+
-> Append
331+
-> Seq Scan on first_0
332+
Filter: (id = 1)
333+
(7 rows)
281334

282335
EXPLAIN (COSTS OFF)
283336
DELETE FROM rowmarks.second
284337
WHERE rowmarks.second.id IN (SELECT id FROM rowmarks.first WHERE id < 1);
285338
QUERY PLAN
286339
-----------------------------------------------
287340
Delete on second
288-
-> Nested Loop
341+
-> Nested Loop Semi Join
289342
Join Filter: (second.id = first_0.id)
290-
->HashAggregate
291-
Group Key: first_0.id
343+
->Seq Scan on second
344+
-> Materialize
292345
-> Append
293346
-> Seq Scan on first_0
294347
Filter: (id < 1)
@@ -300,9 +353,7 @@ WHERE rowmarks.second.id IN (SELECT id FROM rowmarks.first WHERE id < 1);
300353
Filter: (id < 1)
301354
-> Seq Scan on first_4
302355
Filter: (id < 1)
303-
-> Materialize
304-
-> Seq Scan on second
305-
(18 rows)
356+
(16 rows)
306357

307358
EXPLAIN (COSTS OFF)
308359
DELETE FROM rowmarks.second

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp