- Notifications
You must be signed in to change notification settings - Fork28
Commit167075b
committed
Add strict_multi_assignment and too_many_rows plpgsql checks
Until now shadowed_variables was the only plpgsql check supported byplpgsql.extra_warnings and plpgsql.extra_errors. This patch introducestwo new checks - strict_multi_assignment and too_many_rows. Unlikeshadowed_variables, these new checks are enforced at run-time.strict_multi_assignment checks that commands allowing multi-assignment(for example SELECT INTO) have the same number of sources and targets.too_many_rows checks that queries with an INTO clause return one rowexactly.These checks are aimed at cases that are technically valid and allowed,but are often a sign of a bug. Therefore those checks are expected tobe enabled primarily in development and testing environments.Author: Pavel StehuleReviewed-by: Stephen Frost, Tomas VondraDiscussion:https://www.postgresql.org/message-id/flat/CAFj8pRA2kKRDKpUNwLY0GeG1OqOp+tLS2yQA1V41gzuSz-hCng@mail.gmail.com1 parent2d30675 commit167075b
File tree
6 files changed
+400
-33
lines changed- doc/src/sgml
- src
- pl/plpgsql/src
- test/regress
- expected
- sql
6 files changed
+400
-33
lines changedLines changed: 93 additions & 22 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
5034 | 5034 |
| |
5035 | 5035 |
| |
5036 | 5036 |
| |
5037 |
| - | |
| 5037 | + | |
5038 | 5038 |
| |
5039 | 5039 |
| |
5040 | 5040 |
| |
| |||
5046 | 5046 |
| |
5047 | 5047 |
| |
5048 | 5048 |
| |
5049 |
| - | |
5050 |
| - | |
5051 |
| - | |
5052 |
| - | |
5053 |
| - | |
5054 |
| - | |
5055 |
| - | |
5056 |
| - | |
5057 |
| - | |
5058 |
| - | |
5059 |
| - | |
5060 |
| - | |
5061 |
| - | |
5062 |
| - | |
5063 |
| - | |
5064 |
| - | |
5065 |
| - | |
| 5049 | + | |
| 5050 | + | |
| 5051 | + | |
| 5052 | + | |
| 5053 | + | |
| 5054 | + | |
| 5055 | + | |
| 5056 | + | |
| 5057 | + | |
| 5058 | + | |
| 5059 | + | |
| 5060 | + | |
| 5061 | + | |
| 5062 | + | |
| 5063 | + | |
| 5064 | + | |
| 5065 | + | |
| 5066 | + | |
| 5067 | + | |
| 5068 | + | |
| 5069 | + | |
| 5070 | + | |
5066 | 5071 |
| |
5067 |
| - | |
5068 |
| - | |
| 5072 | + | |
| 5073 | + | |
| 5074 | + | |
| 5075 | + | |
| 5076 | + | |
| 5077 | + | |
| 5078 | + | |
| 5079 | + | |
| 5080 | + | |
| 5081 | + | |
| 5082 | + | |
| 5083 | + | |
| 5084 | + | |
| 5085 | + | |
| 5086 | + | |
| 5087 | + | |
| 5088 | + | |
| 5089 | + | |
| 5090 | + | |
| 5091 | + | |
| 5092 | + | |
| 5093 | + | |
| 5094 | + | |
| 5095 | + | |
| 5096 | + | |
| 5097 | + | |
| 5098 | + | |
| 5099 | + | |
| 5100 | + | |
| 5101 | + | |
| 5102 | + | |
| 5103 | + | |
| 5104 | + | |
| 5105 | + | |
| 5106 | + | |
5069 | 5107 |
| |
5070 | 5108 |
| |
5071 | 5109 |
| |
| |||
5081 | 5119 |
| |
5082 | 5120 |
| |
5083 | 5121 |
| |
5084 |
| - | |
5085 |
| - | |
| 5122 | + | |
| 5123 | + | |
| 5124 | + | |
| 5125 | + | |
| 5126 | + | |
| 5127 | + | |
| 5128 | + | |
| 5129 | + | |
| 5130 | + | |
| 5131 | + | |
| 5132 | + | |
| 5133 | + | |
| 5134 | + | |
| 5135 | + | |
| 5136 | + | |
| 5137 | + | |
| 5138 | + | |
| 5139 | + | |
| 5140 | + | |
| 5141 | + | |
| 5142 | + | |
| 5143 | + | |
| 5144 | + | |
| 5145 | + | |
| 5146 | + | |
| 5147 | + | |
| 5148 | + | |
| 5149 | + | |
| 5150 | + | |
| 5151 | + | |
| 5152 | + | |
| 5153 | + | |
| 5154 | + | |
| 5155 | + | |
| 5156 | + | |
5086 | 5157 |
| |
5087 | 5158 |
| |
5088 | 5159 |
| |
|
Lines changed: 101 additions & 7 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
4020 | 4020 |
| |
4021 | 4021 |
| |
4022 | 4022 |
| |
| 4023 | + | |
| 4024 | + | |
| 4025 | + | |
| 4026 | + | |
| 4027 | + | |
| 4028 | + | |
4023 | 4029 |
| |
4024 | 4030 |
| |
4025 | 4031 |
| |
| |||
4059 | 4065 |
| |
4060 | 4066 |
| |
4061 | 4067 |
| |
4062 |
| - | |
4063 |
| - | |
4064 |
| - | |
| 4068 | + | |
| 4069 | + | |
| 4070 | + | |
| 4071 | + | |
4065 | 4072 |
| |
4066 | 4073 |
| |
4067 | 4074 |
| |
| |||
4070 | 4077 |
| |
4071 | 4078 |
| |
4072 | 4079 |
| |
4073 |
| - | |
| 4080 | + | |
4074 | 4081 |
| |
4075 | 4082 |
| |
4076 | 4083 |
| |
| |||
4187 | 4194 |
| |
4188 | 4195 |
| |
4189 | 4196 |
| |
4190 |
| - | |
| 4197 | + | |
4191 | 4198 |
| |
4192 | 4199 |
| |
| 4200 | + | |
4193 | 4201 |
| |
4194 | 4202 |
| |
4195 | 4203 |
| |
4196 | 4204 |
| |
4197 | 4205 |
| |
4198 | 4206 |
| |
4199 |
| - | |
| 4207 | + | |
| 4208 | + | |
| 4209 | + | |
4200 | 4210 |
| |
4201 | 4211 |
| |
4202 |
| - | |
| 4212 | + | |
| 4213 | + | |
4203 | 4214 |
| |
4204 | 4215 |
| |
4205 | 4216 |
| |
| |||
6835 | 6846 |
| |
6836 | 6847 |
| |
6837 | 6848 |
| |
| 6849 | + | |
| 6850 | + | |
| 6851 | + | |
| 6852 | + | |
| 6853 | + | |
| 6854 | + | |
| 6855 | + | |
| 6856 | + | |
| 6857 | + | |
| 6858 | + | |
| 6859 | + | |
| 6860 | + | |
| 6861 | + | |
6838 | 6862 |
| |
6839 | 6863 |
| |
6840 | 6864 |
| |
| |||
6913 | 6937 |
| |
6914 | 6938 |
| |
6915 | 6939 |
| |
| 6940 | + | |
6916 | 6941 |
| |
6917 | 6942 |
| |
6918 | 6943 |
| |
6919 | 6944 |
| |
| 6945 | + | |
| 6946 | + | |
| 6947 | + | |
| 6948 | + | |
| 6949 | + | |
| 6950 | + | |
| 6951 | + | |
| 6952 | + | |
| 6953 | + | |
| 6954 | + | |
| 6955 | + | |
| 6956 | + | |
6920 | 6957 |
| |
6921 | 6958 |
| |
6922 | 6959 |
| |
| |||
6930 | 6967 |
| |
6931 | 6968 |
| |
6932 | 6969 |
| |
| 6970 | + | |
| 6971 | + | |
| 6972 | + | |
| 6973 | + | |
| 6974 | + | |
| 6975 | + | |
| 6976 | + | |
| 6977 | + | |
| 6978 | + | |
| 6979 | + | |
| 6980 | + | |
| 6981 | + | |
| 6982 | + | |
| 6983 | + | |
| 6984 | + | |
| 6985 | + | |
| 6986 | + | |
| 6987 | + | |
| 6988 | + | |
| 6989 | + | |
| 6990 | + | |
| 6991 | + | |
| 6992 | + | |
6933 | 6993 |
| |
6934 | 6994 |
| |
6935 | 6995 |
| |
| |||
6986 | 7046 |
| |
6987 | 7047 |
| |
6988 | 7048 |
| |
| 7049 | + | |
6989 | 7050 |
| |
6990 | 7051 |
| |
6991 | 7052 |
| |
6992 | 7053 |
| |
| 7054 | + | |
| 7055 | + | |
| 7056 | + | |
| 7057 | + | |
| 7058 | + | |
| 7059 | + | |
| 7060 | + | |
| 7061 | + | |
| 7062 | + | |
| 7063 | + | |
| 7064 | + | |
6993 | 7065 |
| |
6994 | 7066 |
| |
6995 | 7067 |
| |
6996 | 7068 |
| |
6997 | 7069 |
| |
6998 | 7070 |
| |
| 7071 | + | |
| 7072 | + | |
| 7073 | + | |
| 7074 | + | |
| 7075 | + | |
| 7076 | + | |
| 7077 | + | |
| 7078 | + | |
| 7079 | + | |
| 7080 | + | |
| 7081 | + | |
| 7082 | + | |
| 7083 | + | |
| 7084 | + | |
| 7085 | + | |
| 7086 | + | |
| 7087 | + | |
| 7088 | + | |
| 7089 | + | |
| 7090 | + | |
| 7091 | + | |
| 7092 | + | |
6999 | 7093 |
| |
7000 | 7094 |
| |
7001 | 7095 |
| |
|
Lines changed: 4 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
92 | 92 |
| |
93 | 93 |
| |
94 | 94 |
| |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
95 | 99 |
| |
96 | 100 |
| |
97 | 101 |
| |
|
Lines changed: 6 additions & 4 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
1135 | 1135 |
| |
1136 | 1136 |
| |
1137 | 1137 |
| |
1138 |
| - | |
1139 |
| - | |
1140 |
| - | |
1141 |
| - | |
| 1138 | + | |
| 1139 | + | |
| 1140 | + | |
| 1141 | + | |
| 1142 | + | |
| 1143 | + | |
1142 | 1144 |
| |
1143 | 1145 |
| |
1144 | 1146 |
| |
|
0 commit comments
Comments
(0)