Commit eaf0292
committed
Fix unsafe memory management in CloneRowTriggersToPartition().
It's not really supported to call systable_getnext() in a different
memory context than systable_beginscan() was called in, and it's
*definitely* not safe to do so and then reset that context between
calls. I'm not very clear on how this code survived
CLOBBER_CACHE_ALWAYS testing ... but Alexander Lakhin found a case
that would crash it pretty reliably.
Per bug #15828. Fix, and backpatch to v11 where this code came in.
Discussion: https://postgr.es/m/15828-f6ddd7df4852f473@postgresql.org1 parent 05d36b6 commit eaf0292
1 file changed
+7
-7
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
15772 | 15772 | | |
15773 | 15773 | | |
15774 | 15774 | | |
15775 | | - | |
15776 | | - | |
| 15775 | + | |
15777 | 15776 | | |
15778 | 15777 | | |
15779 | 15778 | | |
| |||
15783 | 15782 | | |
15784 | 15783 | | |
15785 | 15784 | | |
15786 | | - | |
15787 | 15785 | | |
15788 | 15786 | | |
15789 | 15787 | | |
15790 | | - | |
| 15788 | + | |
15791 | 15789 | | |
15792 | 15790 | | |
15793 | 15791 | | |
15794 | 15792 | | |
15795 | 15793 | | |
15796 | | - | |
15797 | | - | |
| 15794 | + | |
15798 | 15795 | | |
15799 | 15796 | | |
15800 | 15797 | | |
| |||
15813 | 15810 | | |
15814 | 15811 | | |
15815 | 15812 | | |
| 15813 | + | |
| 15814 | + | |
| 15815 | + | |
15816 | 15816 | | |
15817 | 15817 | | |
15818 | 15818 | | |
| |||
15876 | 15876 | | |
15877 | 15877 | | |
15878 | 15878 | | |
| 15879 | + | |
15879 | 15880 | | |
15880 | 15881 | | |
15881 | 15882 | | |
15882 | | - | |
15883 | 15883 | | |
15884 | 15884 | | |
15885 | 15885 | | |
| |||
0 commit comments