forked frompostgres/postgres
- Notifications
You must be signed in to change notification settings - Fork6
Commit778a21c
committed
Tweak portal (cursor) code so that it will not call the executor again
when user does another FETCH after reaching end of data, or anotherFETCH backwards after reaching start. This is needed because some plannodes are not very robust about being called again after they've alreadyreturned NULL; for example, MergeJoin will crash in some states but notothers. While the ideal approach would be for them all to handle thiscorrectly, it seems foolish to assume that no such bugs would creep inagain once cleaned up. Therefore, the most robust answer is to preventthe situation from arising at all.1 parentf5ea88a commit778a21c
File tree
4 files changed
+77
-108
lines changed- src
- backend
- commands
- tcop
- utils/mmgr
- include/utils
4 files changed
+77
-108
lines changedLines changed: 41 additions & 19 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 |
| |
| |||
107 | 107 |
| |
108 | 108 |
| |
109 | 109 |
| |
110 |
| - | |
111 | 110 |
| |
| 111 | + | |
112 | 112 |
| |
113 | 113 |
| |
114 | 114 |
| |
| |||
140 | 140 |
| |
141 | 141 |
| |
142 | 142 |
| |
143 |
| - | |
144 |
| - | |
145 |
| - | |
146 |
| - | |
147 |
| - | |
148 |
| - | |
149 |
| - | |
150 |
| - | |
151 |
| - | |
152 |
| - | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
153 | 147 |
| |
154 | 148 |
| |
155 | 149 |
| |
| 150 | + | |
156 | 151 |
| |
157 | 152 |
| |
158 | 153 |
| |
| |||
165 | 160 |
| |
166 | 161 |
| |
167 | 162 |
| |
168 |
| - | |
| 163 | + | |
169 | 164 |
| |
170 | 165 |
| |
171 | 166 |
| |
| |||
174 | 169 |
| |
175 | 170 |
| |
176 | 171 |
| |
177 |
| - | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
178 | 179 |
| |
179 | 180 |
| |
180 |
| - | |
181 |
| - | |
182 |
| - | |
183 |
| - | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
| 200 | + | |
| 201 | + | |
| 202 | + | |
184 | 203 |
| |
185 | 204 |
| |
186 |
| - | |
| 205 | + | |
187 | 206 |
| |
188 | 207 |
| |
| 208 | + | |
| 209 | + | |
| 210 | + | |
189 | 211 |
| |
190 | 212 |
| |
191 | 213 |
| |
|
Lines changed: 2 additions & 2 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 |
| |
| |||
248 | 248 |
| |
249 | 249 |
| |
250 | 250 |
| |
251 |
| - | |
| 251 | + | |
252 | 252 |
| |
253 | 253 |
| |
254 | 254 |
| |
|
Lines changed: 11 additions & 68 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 |
| |
15 | 15 |
| |
16 | 16 |
| |
17 |
| - | |
18 |
| - | |
19 |
| - | |
20 |
| - | |
| 17 | + | |
21 | 18 |
| |
22 |
| - | |
23 |
| - | |
24 |
| - | |
25 |
| - | |
26 |
| - | |
27 |
| - | |
| 19 | + | |
| 20 | + | |
28 | 21 |
| |
29 | 22 |
| |
30 |
| - | |
31 |
| - | |
| 23 | + | |
32 | 24 |
| |
33 | 25 |
| |
34 | 26 |
| |
35 | 27 |
| |
36 |
| - | |
| 28 | + | |
37 | 29 |
| |
38 | 30 |
| |
39 |
| - | |
40 |
| - | |
41 |
| - | |
42 |
| - | |
43 |
| - | |
44 |
| - | |
45 |
| - | |
46 |
| - | |
47 |
| - | |
48 |
| - | |
49 | 31 |
| |
50 | 32 |
| |
51 | 33 |
| |
| |||
188 | 170 |
| |
189 | 171 |
| |
190 | 172 |
| |
191 |
| - | |
192 | 173 |
| |
| 174 | + | |
| 175 | + | |
| 176 | + | |
193 | 177 |
| |
194 | 178 |
| |
195 | 179 |
| |
196 |
| - | |
197 |
| - | |
198 |
| - | |
199 |
| - | |
200 |
| - | |
201 |
| - | |
202 |
| - | |
203 |
| - | |
204 |
| - | |
205 |
| - | |
206 |
| - | |
207 |
| - | |
208 |
| - | |
209 |
| - | |
210 |
| - | |
211 |
| - | |
212 |
| - | |
213 |
| - | |
214 |
| - | |
215 |
| - | |
216 |
| - | |
217 |
| - | |
218 |
| - | |
219 |
| - | |
220 |
| - | |
221 |
| - | |
222 |
| - | |
223 |
| - | |
224 |
| - | |
225 |
| - | |
226 |
| - | |
227 |
| - | |
228 | 180 |
| |
229 | 181 |
| |
230 | 182 |
| |
| |||
265 | 217 |
| |
266 | 218 |
| |
267 | 219 |
| |
268 |
| - | |
| 220 | + | |
| 221 | + | |
269 | 222 |
| |
270 | 223 |
| |
271 | 224 |
| |
| |||
315 | 268 |
| |
316 | 269 |
| |
317 | 270 |
| |
318 |
| - | |
319 |
| - | |
320 |
| - | |
321 |
| - | |
322 |
| - | |
323 |
| - | |
324 |
| - | |
325 |
| - | |
326 |
| - | |
327 |
| - |
Lines changed: 23 additions & 19 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
7 | 7 |
| |
8 | 8 |
| |
9 | 9 |
| |
10 |
| - | |
| 10 | + | |
11 | 11 |
| |
12 | 12 |
| |
13 | 13 |
| |
14 | 14 |
| |
15 | 15 |
| |
16 | 16 |
| |
17 |
| - | |
18 |
| - | |
19 |
| - | |
20 |
| - | |
21 |
| - | |
22 |
| - | |
| 17 | + | |
23 | 18 |
| |
24 | 19 |
| |
25 | 20 |
| |
| |||
28 | 23 |
| |
29 | 24 |
| |
30 | 25 |
| |
31 |
| - | |
| 26 | + | |
32 | 27 |
| |
33 |
| - | |
| 28 | + | |
34 | 29 |
| |
35 | 30 |
| |
36 | 31 |
| |
37 | 32 |
| |
38 | 33 |
| |
39 |
| - | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
40 | 37 |
| |
41 |
| - | |
| 38 | + | |
42 | 39 |
| |
43 | 40 |
| |
44 | 41 |
| |
45 | 42 |
| |
46 | 43 |
| |
47 | 44 |
| |
48 | 45 |
| |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
49 | 61 |
| |
50 | 62 |
| |
51 | 63 |
| |
| |||
54 | 66 |
| |
55 | 67 |
| |
56 | 68 |
| |
57 |
| - | |
58 |
| - | |
59 |
| - | |
60 |
| - | |
61 |
| - | |
62 |
| - | |
63 |
| - | |
64 |
| - | |
65 | 69 |
| |
66 | 70 |
| |
67 | 71 |
|
0 commit comments
Comments
(0)