Commit 969f9d0
committed
Make EXPLAIN report maximum hashtable usage across multiple rescans.
Before discarding the old hash table in ExecReScanHashJoin, capture
its statistics, ensuring that we report the maximum hashtable size
across repeated rescans of the hash input relation. We can repurpose
the existing code for reporting hashtable size in parallel workers
to help with this, making the patch pretty small. This also ensures
that if rescans happen within parallel workers, we get the correct
maximums across all instances.
Konstantin Knizhnik and Tom Lane, per diagnosis by Thomas Munro
of a trouble report from Alvaro Herrera.
Discussion: https://postgr.es/m/20200323165059.GA24950@alvherre.pgsql1 parent 5c27bce commit 969f9d0
File tree
5 files changed
+87
-49
lines changed- src
- backend
- commands
- executor
- include
- executor
- nodes
5 files changed
+87
-49
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2964 | 2964 | | |
2965 | 2965 | | |
2966 | 2966 | | |
| 2967 | + | |
2967 | 2968 | | |
2968 | 2969 | | |
2969 | 2970 | | |
2970 | 2971 | | |
2971 | 2972 | | |
2972 | 2973 | | |
2973 | | - | |
2974 | | - | |
| 2974 | + | |
| 2975 | + | |
| 2976 | + | |
2975 | 2977 | | |
2976 | 2978 | | |
2977 | 2979 | | |
2978 | 2980 | | |
2979 | 2981 | | |
2980 | 2982 | | |
2981 | | - | |
2982 | | - | |
| 2983 | + | |
| 2984 | + | |
| 2985 | + | |
2983 | 2986 | | |
2984 | 2987 | | |
2985 | 2988 | | |
| |||
2990 | 2993 | | |
2991 | 2994 | | |
2992 | 2995 | | |
2993 | | - | |
2994 | | - | |
2995 | | - | |
2996 | | - | |
2997 | | - | |
2998 | | - | |
2999 | | - | |
3000 | | - | |
3001 | | - | |
3002 | | - | |
3003 | | - | |
3004 | | - | |
3005 | | - | |
3006 | | - | |
3007 | | - | |
3008 | | - | |
3009 | | - | |
3010 | | - | |
3011 | | - | |
3012 | | - | |
3013 | | - | |
3014 | | - | |
3015 | | - | |
3016 | | - | |
3017 | | - | |
| 2996 | + | |
| 2997 | + | |
| 2998 | + | |
| 2999 | + | |
| 3000 | + | |
| 3001 | + | |
| 3002 | + | |
| 3003 | + | |
| 3004 | + | |
| 3005 | + | |
3018 | 3006 | | |
3019 | 3007 | | |
3020 | 3008 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2597 | 2597 | | |
2598 | 2598 | | |
2599 | 2599 | | |
| 2600 | + | |
| 2601 | + | |
2600 | 2602 | | |
| 2603 | + | |
2601 | 2604 | | |
2602 | 2605 | | |
2603 | 2606 | | |
| |||
2616 | 2619 | | |
2617 | 2620 | | |
2618 | 2621 | | |
| 2622 | + | |
| 2623 | + | |
| 2624 | + | |
| 2625 | + | |
| 2626 | + | |
2619 | 2627 | | |
2620 | 2628 | | |
2621 | 2629 | | |
2622 | 2630 | | |
2623 | 2631 | | |
2624 | 2632 | | |
2625 | | - | |
2626 | | - | |
2627 | | - | |
2628 | | - | |
| 2633 | + | |
| 2634 | + | |
| 2635 | + | |
| 2636 | + | |
| 2637 | + | |
2629 | 2638 | | |
2630 | 2639 | | |
2631 | 2640 | | |
2632 | 2641 | | |
| 2642 | + | |
| 2643 | + | |
| 2644 | + | |
| 2645 | + | |
| 2646 | + | |
2633 | 2647 | | |
2634 | | - | |
| 2648 | + | |
2635 | 2649 | | |
2636 | 2650 | | |
2637 | 2651 | | |
| |||
2655 | 2669 | | |
2656 | 2670 | | |
2657 | 2671 | | |
2658 | | - | |
2659 | | - | |
| 2672 | + | |
| 2673 | + | |
| 2674 | + | |
| 2675 | + | |
| 2676 | + | |
| 2677 | + | |
| 2678 | + | |
| 2679 | + | |
| 2680 | + | |
| 2681 | + | |
| 2682 | + | |
| 2683 | + | |
| 2684 | + | |
2660 | 2685 | | |
2661 | 2686 | | |
2662 | | - | |
2663 | | - | |
| 2687 | + | |
| 2688 | + | |
2664 | 2689 | | |
2665 | | - | |
2666 | | - | |
2667 | | - | |
2668 | | - | |
2669 | | - | |
| 2690 | + | |
| 2691 | + | |
| 2692 | + | |
| 2693 | + | |
| 2694 | + | |
| 2695 | + | |
| 2696 | + | |
| 2697 | + | |
| 2698 | + | |
| 2699 | + | |
2670 | 2700 | | |
2671 | 2701 | | |
2672 | 2702 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1338 | 1338 | | |
1339 | 1339 | | |
1340 | 1340 | | |
1341 | | - | |
1342 | 1341 | | |
| 1342 | + | |
| 1343 | + | |
| 1344 | + | |
| 1345 | + | |
| 1346 | + | |
| 1347 | + | |
| 1348 | + | |
| 1349 | + | |
| 1350 | + | |
1343 | 1351 | | |
1344 | 1352 | | |
1345 | 1353 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
73 | 73 | | |
74 | 74 | | |
75 | 75 | | |
76 | | - | |
77 | | - | |
| 76 | + | |
| 77 | + | |
78 | 78 | | |
79 | 79 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2358 | 2358 | | |
2359 | 2359 | | |
2360 | 2360 | | |
2361 | | - | |
| 2361 | + | |
2362 | 2362 | | |
2363 | 2363 | | |
2364 | 2364 | | |
| |||
2381 | 2381 | | |
2382 | 2382 | | |
2383 | 2383 | | |
2384 | | - | |
2385 | | - | |
| 2384 | + | |
| 2385 | + | |
| 2386 | + | |
| 2387 | + | |
| 2388 | + | |
| 2389 | + | |
| 2390 | + | |
| 2391 | + | |
| 2392 | + | |
| 2393 | + | |
| 2394 | + | |
| 2395 | + | |
| 2396 | + | |
| 2397 | + | |
2386 | 2398 | | |
2387 | 2399 | | |
2388 | 2400 | | |
| |||
0 commit comments