@@ -2477,6 +2477,85 @@ deallocate ab_q2;
2477
2477
deallocate ab_q3;
2478
2478
deallocate ab_q4;
2479
2479
deallocate ab_q5;
2480
+ -- UPDATE on a partition subtree has been seen to have problems.
2481
+ insert into ab values (1,2);
2482
+ explain (analyze, costs off, summary off, timing off)
2483
+ update ab_a1 set b = 3 from ab where ab.a = 1 and ab.a = ab_a1.a;
2484
+ QUERY PLAN
2485
+ -------------------------------------------------------------------------------------
2486
+ Update on ab_a1 (actual rows=0 loops=1)
2487
+ Update on ab_a1_b1
2488
+ Update on ab_a1_b2
2489
+ Update on ab_a1_b3
2490
+ -> Nested Loop (actual rows=0 loops=1)
2491
+ -> Append (actual rows=1 loops=1)
2492
+ -> Bitmap Heap Scan on ab_a1_b1 ab_a1_b1_1 (actual rows=0 loops=1)
2493
+ Recheck Cond: (a = 1)
2494
+ -> Bitmap Index Scan on ab_a1_b1_a_idx (actual rows=0 loops=1)
2495
+ Index Cond: (a = 1)
2496
+ -> Bitmap Heap Scan on ab_a1_b2 ab_a1_b2_1 (actual rows=1 loops=1)
2497
+ Recheck Cond: (a = 1)
2498
+ Heap Blocks: exact=1
2499
+ -> Bitmap Index Scan on ab_a1_b2_a_idx (actual rows=1 loops=1)
2500
+ Index Cond: (a = 1)
2501
+ -> Bitmap Heap Scan on ab_a1_b3 ab_a1_b3_1 (actual rows=0 loops=1)
2502
+ Recheck Cond: (a = 1)
2503
+ -> Bitmap Index Scan on ab_a1_b3_a_idx (actual rows=0 loops=1)
2504
+ Index Cond: (a = 1)
2505
+ -> Materialize (actual rows=0 loops=1)
2506
+ -> Bitmap Heap Scan on ab_a1_b1 (actual rows=0 loops=1)
2507
+ Recheck Cond: (a = 1)
2508
+ -> Bitmap Index Scan on ab_a1_b1_a_idx (actual rows=0 loops=1)
2509
+ Index Cond: (a = 1)
2510
+ -> Nested Loop (actual rows=1 loops=1)
2511
+ -> Append (actual rows=1 loops=1)
2512
+ -> Bitmap Heap Scan on ab_a1_b1 ab_a1_b1_1 (actual rows=0 loops=1)
2513
+ Recheck Cond: (a = 1)
2514
+ -> Bitmap Index Scan on ab_a1_b1_a_idx (actual rows=0 loops=1)
2515
+ Index Cond: (a = 1)
2516
+ -> Bitmap Heap Scan on ab_a1_b2 ab_a1_b2_1 (actual rows=1 loops=1)
2517
+ Recheck Cond: (a = 1)
2518
+ Heap Blocks: exact=1
2519
+ -> Bitmap Index Scan on ab_a1_b2_a_idx (actual rows=1 loops=1)
2520
+ Index Cond: (a = 1)
2521
+ -> Bitmap Heap Scan on ab_a1_b3 ab_a1_b3_1 (actual rows=0 loops=1)
2522
+ Recheck Cond: (a = 1)
2523
+ -> Bitmap Index Scan on ab_a1_b3_a_idx (actual rows=1 loops=1)
2524
+ Index Cond: (a = 1)
2525
+ -> Materialize (actual rows=1 loops=1)
2526
+ -> Bitmap Heap Scan on ab_a1_b2 (actual rows=1 loops=1)
2527
+ Recheck Cond: (a = 1)
2528
+ Heap Blocks: exact=1
2529
+ -> Bitmap Index Scan on ab_a1_b2_a_idx (actual rows=1 loops=1)
2530
+ Index Cond: (a = 1)
2531
+ -> Nested Loop (actual rows=0 loops=1)
2532
+ -> Append (actual rows=1 loops=1)
2533
+ -> Bitmap Heap Scan on ab_a1_b1 ab_a1_b1_1 (actual rows=0 loops=1)
2534
+ Recheck Cond: (a = 1)
2535
+ -> Bitmap Index Scan on ab_a1_b1_a_idx (actual rows=0 loops=1)
2536
+ Index Cond: (a = 1)
2537
+ -> Bitmap Heap Scan on ab_a1_b2 ab_a1_b2_1 (actual rows=1 loops=1)
2538
+ Recheck Cond: (a = 1)
2539
+ Heap Blocks: exact=1
2540
+ -> Bitmap Index Scan on ab_a1_b2_a_idx (actual rows=1 loops=1)
2541
+ Index Cond: (a = 1)
2542
+ -> Bitmap Heap Scan on ab_a1_b3 ab_a1_b3_1 (actual rows=0 loops=1)
2543
+ Recheck Cond: (a = 1)
2544
+ -> Bitmap Index Scan on ab_a1_b3_a_idx (actual rows=1 loops=1)
2545
+ Index Cond: (a = 1)
2546
+ -> Materialize (actual rows=0 loops=1)
2547
+ -> Bitmap Heap Scan on ab_a1_b3 (actual rows=0 loops=1)
2548
+ Recheck Cond: (a = 1)
2549
+ -> Bitmap Index Scan on ab_a1_b3_a_idx (actual rows=1 loops=1)
2550
+ Index Cond: (a = 1)
2551
+ (65 rows)
2552
+
2553
+ table ab;
2554
+ a | b
2555
+ ---+---
2556
+ 1 | 3
2557
+ (1 row)
2558
+
2480
2559
drop table ab, lprt_a;
2481
2560
-- Join
2482
2561
create table tbl1(col1 int);
0 commit comments