- Notifications
You must be signed in to change notification settings - Fork5
Commit46af71f
committed
Fix incorrect logic in plpgsql for cleanup after evaluation of non-simple
expressions. We need to deal with this when handling subscripts in an arrayassignment, and also when catching an exception. In an Assert-enabled buildthese omissions led to Assert failures, but I think in a normal build theonly consequence would be short-term memory leakage; which may explain whythis wasn't reported from the field long ago.Back-patch to all supported versions. 7.4 doesn't have exceptions, butotherwise these bugs go all the way back.Heikki Linnakangas and Tom Lane1 parent4773198 commit46af71f
File tree
3 files changed
+123
-3
lines changed- src
- pl/plpgsql/src
- test/regress
- expected
- sql
3 files changed
+123
-3
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
8 | 8 | | |
9 | 9 | | |
10 | 10 | | |
11 | | - | |
| 11 | + | |
12 | 12 | | |
13 | 13 | | |
14 | 14 | | |
| |||
1099 | 1099 | | |
1100 | 1100 | | |
1101 | 1101 | | |
| 1102 | + | |
| 1103 | + | |
| 1104 | + | |
1102 | 1105 | | |
1103 | 1106 | | |
1104 | 1107 | | |
| |||
2701 | 2704 | | |
2702 | 2705 | | |
2703 | 2706 | | |
| 2707 | + | |
| 2708 | + | |
| 2709 | + | |
2704 | 2710 | | |
2705 | 2711 | | |
2706 | 2712 | | |
| |||
3464 | 3470 | | |
3465 | 3471 | | |
3466 | 3472 | | |
| 3473 | + | |
| 3474 | + | |
| 3475 | + | |
| 3476 | + | |
3467 | 3477 | | |
3468 | 3478 | | |
3469 | 3479 | | |
| |||
3714 | 3724 | | |
3715 | 3725 | | |
3716 | 3726 | | |
| 3727 | + | |
| 3728 | + | |
| 3729 | + | |
3717 | 3730 | | |
3718 | 3731 | | |
3719 | 3732 | | |
| |||
3729 | 3742 | | |
3730 | 3743 | | |
3731 | 3744 | | |
| 3745 | + | |
| 3746 | + | |
| 3747 | + | |
| 3748 | + | |
| 3749 | + | |
| 3750 | + | |
| 3751 | + | |
| 3752 | + | |
| 3753 | + | |
| 3754 | + | |
| 3755 | + | |
3732 | 3756 | | |
3733 | 3757 | | |
3734 | | - | |
3735 | | - | |
3736 | 3758 | | |
3737 | 3759 | | |
3738 | 3760 | | |
| |||
3786 | 3808 | | |
3787 | 3809 | | |
3788 | 3810 | | |
| 3811 | + | |
| 3812 | + | |
| 3813 | + | |
| 3814 | + | |
| 3815 | + | |
| 3816 | + | |
| 3817 | + | |
| 3818 | + | |
| 3819 | + | |
| 3820 | + | |
| 3821 | + | |
3789 | 3822 | | |
3790 | 3823 | | |
| 3824 | + | |
| 3825 | + | |
| 3826 | + | |
| 3827 | + | |
3791 | 3828 | | |
3792 | 3829 | | |
3793 | 3830 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3945 | 3945 | | |
3946 | 3946 | | |
3947 | 3947 | | |
| 3948 | + | |
| 3949 | + | |
| 3950 | + | |
| 3951 | + | |
| 3952 | + | |
| 3953 | + | |
| 3954 | + | |
| 3955 | + | |
| 3956 | + | |
| 3957 | + | |
| 3958 | + | |
| 3959 | + | |
| 3960 | + | |
| 3961 | + | |
| 3962 | + | |
| 3963 | + | |
| 3964 | + | |
| 3965 | + | |
| 3966 | + | |
| 3967 | + | |
| 3968 | + | |
| 3969 | + | |
| 3970 | + | |
| 3971 | + | |
| 3972 | + | |
| 3973 | + | |
| 3974 | + | |
| 3975 | + | |
| 3976 | + | |
| 3977 | + | |
| 3978 | + | |
| 3979 | + | |
| 3980 | + | |
| 3981 | + | |
| 3982 | + | |
| 3983 | + | |
| 3984 | + | |
| 3985 | + | |
| 3986 | + | |
| 3987 | + | |
| 3988 | + | |
| 3989 | + | |
| 3990 | + | |
3948 | 3991 | | |
3949 | 3992 | | |
3950 | 3993 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3150 | 3150 | | |
3151 | 3151 | | |
3152 | 3152 | | |
| 3153 | + | |
| 3154 | + | |
| 3155 | + | |
| 3156 | + | |
| 3157 | + | |
| 3158 | + | |
| 3159 | + | |
| 3160 | + | |
| 3161 | + | |
| 3162 | + | |
| 3163 | + | |
| 3164 | + | |
| 3165 | + | |
| 3166 | + | |
| 3167 | + | |
| 3168 | + | |
| 3169 | + | |
| 3170 | + | |
| 3171 | + | |
| 3172 | + | |
| 3173 | + | |
| 3174 | + | |
| 3175 | + | |
| 3176 | + | |
| 3177 | + | |
| 3178 | + | |
| 3179 | + | |
| 3180 | + | |
| 3181 | + | |
| 3182 | + | |
| 3183 | + | |
| 3184 | + | |
| 3185 | + | |
| 3186 | + | |
| 3187 | + | |
| 3188 | + | |
| 3189 | + | |
| 3190 | + | |
| 3191 | + | |
| 3192 | + | |
3153 | 3193 | | |
3154 | 3194 | | |
3155 | 3195 | | |
| |||
0 commit comments
Comments
(0)