forked frompostgres/postgres
- Notifications
You must be signed in to change notification settings - Fork6
Commita836abe
committed
Modify error context callback functions to not assume that they can fetch
catalog entries via SearchSysCache and related operations. Although, at thetime that these callbacks are called by elog.c, we have not officially abortedthe current transaction, it still seems rather risky to initiate any newcatalog fetches. In all these cases the needed information is readilyavailable in the caller and so it's just a matter of a bit of extra notationto pass it to the callback.Per crash report from Dennis Koegel. I've concluded that the real fix forhis problem is to clear the error context stack at entry to proc_exit, butit still seems like a good idea to make the callbacks a bit less fragilefor other cases.Backpatch to 8.4. We could go further back, but the patch doesn't applycleanly. In the absence of proof that this fixes something and isn't justparanoia, I'm not going to expend the effort.1 parent865b295 commita836abe
File tree
3 files changed
+94
-98
lines changed- src/backend
- catalog
- executor
- optimizer/util
3 files changed
+94
-98
lines changedLines changed: 15 additions & 16 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
8 | 8 |
| |
9 | 9 |
| |
10 | 10 |
| |
11 |
| - | |
| 11 | + | |
12 | 12 |
| |
13 | 13 |
| |
14 | 14 |
| |
| |||
41 | 41 |
| |
42 | 42 |
| |
43 | 43 |
| |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
44 | 50 |
| |
45 | 51 |
| |
46 | 52 |
| |
| |||
733 | 739 |
| |
734 | 740 |
| |
735 | 741 |
| |
| 742 | + | |
736 | 743 |
| |
737 | 744 |
| |
738 | 745 |
| |
| |||
782 | 789 |
| |
783 | 790 |
| |
784 | 791 |
| |
| 792 | + | |
| 793 | + | |
| 794 | + | |
785 | 795 |
| |
786 |
| - | |
| 796 | + | |
787 | 797 |
| |
788 | 798 |
| |
789 | 799 |
| |
| |||
822 | 832 |
| |
823 | 833 |
| |
824 | 834 |
| |
825 |
| - | |
826 |
| - | |
827 |
| - | |
828 |
| - | |
829 |
| - | |
| 835 | + | |
830 | 836 |
| |
831 | 837 |
| |
832 |
| - | |
833 |
| - | |
834 |
| - | |
835 |
| - | |
836 |
| - | |
837 |
| - | |
| 838 | + | |
838 | 839 |
| |
839 | 840 |
| |
840 |
| - | |
| 841 | + | |
841 | 842 |
| |
842 |
| - | |
843 |
| - | |
844 | 843 |
| |
845 | 844 |
| |
846 | 845 |
| |
|
Lines changed: 25 additions & 31 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
8 | 8 |
| |
9 | 9 |
| |
10 | 10 |
| |
11 |
| - | |
| 11 | + | |
12 | 12 |
| |
13 | 13 |
| |
14 | 14 |
| |
| |||
74 | 74 |
| |
75 | 75 |
| |
76 | 76 |
| |
| 77 | + | |
77 | 78 |
| |
78 | 79 |
| |
79 | 80 |
| |
| |||
228 | 229 |
| |
229 | 230 |
| |
230 | 231 |
| |
| 232 | + | |
231 | 233 |
| |
232 | 234 |
| |
233 | 235 |
| |
| |||
237 | 239 |
| |
238 | 240 |
| |
239 | 241 |
| |
| 242 | + | |
| 243 | + | |
| 244 | + | |
| 245 | + | |
| 246 | + | |
240 | 247 |
| |
241 | 248 |
| |
242 | 249 |
| |
| |||
361 | 368 |
| |
362 | 369 |
| |
363 | 370 |
| |
364 |
| - | |
365 |
| - | |
366 | 371 |
| |
367 | 372 |
| |
368 | 373 |
| |
| |||
877 | 882 |
| |
878 | 883 |
| |
879 | 884 |
| |
880 |
| - | |
881 |
| - | |
882 |
| - | |
883 | 885 |
| |
884 | 886 |
| |
885 |
| - | |
886 |
| - | |
887 |
| - | |
888 |
| - | |
889 |
| - | |
890 |
| - | |
| 887 | + | |
| 888 | + | |
| 889 | + | |
| 890 | + | |
| 891 | + | |
| 892 | + | |
891 | 893 |
| |
892 | 894 |
| |
893 | 895 |
| |
894 | 896 |
| |
895 | 897 |
| |
896 |
| - | |
| 898 | + | |
897 | 899 |
| |
898 |
| - | |
899 |
| - | |
900 |
| - | |
901 |
| - | |
902 |
| - | |
903 |
| - | |
904 |
| - | |
905 |
| - | |
906 |
| - | |
907 | 900 |
| |
908 | 901 |
| |
909 |
| - | |
910 |
| - | |
| 902 | + | |
911 | 903 |
| |
912 | 904 |
| |
913 | 905 |
| |
| |||
917 | 909 |
| |
918 | 910 |
| |
919 | 911 |
| |
920 |
| - | |
| 912 | + | |
921 | 913 |
| |
922 | 914 |
| |
923 | 915 |
| |
| |||
929 | 921 |
| |
930 | 922 |
| |
931 | 923 |
| |
932 |
| - | |
| 924 | + | |
933 | 925 |
| |
934 | 926 |
| |
935 | 927 |
| |
| |||
941 | 933 |
| |
942 | 934 |
| |
943 | 935 |
| |
944 |
| - | |
| 936 | + | |
945 | 937 |
| |
946 | 938 |
| |
947 | 939 |
| |
948 | 940 |
| |
949 |
| - | |
950 |
| - | |
| 941 | + | |
| 942 | + | |
| 943 | + | |
| 944 | + | |
| 945 | + | |
| 946 | + | |
951 | 947 |
| |
952 |
| - | |
953 |
| - | |
954 | 948 |
| |
955 | 949 |
| |
956 | 950 |
| |
|
Lines changed: 54 additions & 51 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
8 | 8 |
| |
9 | 9 |
| |
10 | 10 |
| |
11 |
| - | |
| 11 | + | |
12 | 12 |
| |
13 | 13 |
| |
14 | 14 |
| |
| |||
71 | 71 |
| |
72 | 72 |
| |
73 | 73 |
| |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
74 | 80 |
| |
75 | 81 |
| |
76 | 82 |
| |
| |||
3678 | 3684 |
| |
3679 | 3685 |
| |
3680 | 3686 |
| |
| 3687 | + | |
3681 | 3688 |
| |
3682 | 3689 |
| |
3683 | 3690 |
| |
| |||
3705 | 3712 |
| |
3706 | 3713 |
| |
3707 | 3714 |
| |
3708 |
| - | |
3709 |
| - | |
3710 |
| - | |
3711 |
| - | |
3712 |
| - | |
3713 |
| - | |
3714 |
| - | |
3715 |
| - | |
3716 |
| - | |
3717 | 3715 |
| |
3718 | 3716 |
| |
3719 | 3717 |
| |
| |||
3725 | 3723 |
| |
3726 | 3724 |
| |
3727 | 3725 |
| |
| 3726 | + | |
| 3727 | + | |
| 3728 | + | |
| 3729 | + | |
| 3730 | + | |
| 3731 | + | |
| 3732 | + | |
| 3733 | + | |
| 3734 | + | |
| 3735 | + | |
| 3736 | + | |
| 3737 | + | |
| 3738 | + | |
| 3739 | + | |
| 3740 | + | |
| 3741 | + | |
| 3742 | + | |
| 3743 | + | |
| 3744 | + | |
| 3745 | + | |
| 3746 | + | |
3728 | 3747 |
| |
3729 | 3748 |
| |
3730 | 3749 |
| |
| |||
3737 | 3756 |
| |
3738 | 3757 |
| |
3739 | 3758 |
| |
3740 |
| - | |
3741 |
| - | |
3742 |
| - | |
3743 |
| - | |
3744 |
| - | |
3745 |
| - | |
3746 |
| - | |
3747 |
| - | |
3748 |
| - | |
3749 | 3759 |
| |
3750 | 3760 |
| |
3751 | 3761 |
| |
| |||
3965 | 3975 |
| |
3966 | 3976 |
| |
3967 | 3977 |
| |
3968 |
| - | |
3969 |
| - | |
| 3978 | + | |
3970 | 3979 |
| |
3971 | 3980 |
| |
3972 | 3981 |
| |
3973 | 3982 |
| |
3974 | 3983 |
| |
3975 | 3984 |
| |
3976 |
| - | |
3977 |
| - | |
3978 |
| - | |
3979 |
| - | |
3980 |
| - | |
3981 |
| - | |
3982 |
| - | |
3983 |
| - | |
3984 |
| - | |
3985 | 3985 |
| |
3986 | 3986 |
| |
3987 |
| - | |
| 3987 | + | |
3988 | 3988 |
| |
3989 | 3989 |
| |
3990 |
| - | |
3991 |
| - | |
| 3990 | + | |
3992 | 3991 |
| |
3993 | 3992 |
| |
3994 | 3993 |
| |
| |||
4096 | 4095 |
| |
4097 | 4096 |
| |
4098 | 4097 |
| |
| 4098 | + | |
4099 | 4099 |
| |
4100 | 4100 |
| |
4101 | 4101 |
| |
| |||
4170 | 4170 |
| |
4171 | 4171 |
| |
4172 | 4172 |
| |
4173 |
| - | |
4174 |
| - | |
4175 |
| - | |
4176 |
| - | |
4177 |
| - | |
4178 |
| - | |
4179 |
| - | |
4180 |
| - | |
4181 |
| - | |
4182 | 4173 |
| |
4183 | 4174 |
| |
4184 | 4175 |
| |
| |||
4190 | 4181 |
| |
4191 | 4182 |
| |
4192 | 4183 |
| |
| 4184 | + | |
| 4185 | + | |
| 4186 | + | |
| 4187 | + | |
| 4188 | + | |
| 4189 | + | |
| 4190 | + | |
| 4191 | + | |
| 4192 | + | |
| 4193 | + | |
| 4194 | + | |
| 4195 | + | |
| 4196 | + | |
| 4197 | + | |
| 4198 | + | |
| 4199 | + | |
| 4200 | + | |
| 4201 | + | |
| 4202 | + | |
| 4203 | + | |
| 4204 | + | |
4193 | 4205 |
| |
4194 | 4206 |
| |
4195 | 4207 |
| |
| |||
4220 | 4232 |
| |
4221 | 4233 |
| |
4222 | 4234 |
| |
4223 |
| - | |
4224 |
| - | |
4225 |
| - | |
4226 |
| - | |
4227 |
| - | |
4228 |
| - | |
4229 |
| - | |
4230 |
| - | |
4231 |
| - | |
4232 | 4235 |
| |
4233 | 4236 |
| |
4234 | 4237 |
| |
|
0 commit comments
Comments
(0)