forked frompostgres/postgres
- Notifications
You must be signed in to change notification settings - Fork6
Commit0cbc5b1
committed
Fix failure due to accessing an already-freed tuple descriptor in a plan
involving HashAggregate over SubqueryScan (this is the known case, theremay well be more). The bug is only latent in releases before 8.2 since theydidn't try to access tupletable slots' descriptors during ExecDropTupleTable.The least bogus fix seems to be to make subqueries share the parent query'smemory context, so that tupdescs they create will have the same lifespan asthose of the parent query. There are comments in the code envisioning goingeven further by not having a separate child EState at all, but that willrequire rethinking executor access to range tables, which I don't want totackle right now. Per bug report from Jean-Pierre Pelletier.1 parent6899646 commit0cbc5b1
File tree
6 files changed
+63
-50
lines changed- src
- backend/executor
- include
- executor
- nodes
6 files changed
+63
-50
lines changedLines changed: 5 additions & 1 deletion
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
26 | 26 |
| |
27 | 27 |
| |
28 | 28 |
| |
29 |
| - | |
| 29 | + | |
30 | 30 |
| |
31 | 31 |
| |
32 | 32 |
| |
| |||
2247 | 2247 |
| |
2248 | 2248 |
| |
2249 | 2249 |
| |
| 2250 | + | |
| 2251 | + | |
| 2252 | + | |
| 2253 | + | |
2250 | 2254 |
| |
2251 | 2255 |
| |
2252 | 2256 |
| |
|
Lines changed: 42 additions & 5 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 | 17 |
| |
| 18 | + | |
18 | 19 |
| |
19 | 20 |
| |
20 | 21 |
| |
| |||
65 | 66 |
| |
66 | 67 |
| |
67 | 68 |
| |
| 69 | + | |
| 70 | + | |
68 | 71 |
| |
69 | 72 |
| |
70 | 73 |
| |
| |||
149 | 152 |
| |
150 | 153 |
| |
151 | 154 |
| |
152 |
| - | |
153 | 155 |
| |
154 |
| - | |
155 | 156 |
| |
156 | 157 |
| |
157 | 158 |
| |
| |||
162 | 163 |
| |
163 | 164 |
| |
164 | 165 |
| |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
165 | 197 |
| |
166 | 198 |
| |
167 | 199 |
| |
| |||
200 | 232 |
| |
201 | 233 |
| |
202 | 234 |
| |
| 235 | + | |
| 236 | + | |
203 | 237 |
| |
204 | 238 |
| |
205 | 239 |
| |
| |||
258 | 292 |
| |
259 | 293 |
| |
260 | 294 |
| |
261 |
| - | |
| 295 | + | |
| 296 | + | |
| 297 | + | |
262 | 298 |
| |
263 |
| - | |
| 299 | + | |
| 300 | + | |
264 | 301 |
| |
265 | 302 |
| |
266 | 303 |
| |
|
Lines changed: 5 additions & 14 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 |
| |
| |||
635 | 635 |
| |
636 | 636 |
| |
637 | 637 |
| |
638 |
| - | |
639 | 638 |
| |
640 | 639 |
| |
641 | 640 |
| |
| |||
661 | 660 |
| |
662 | 661 |
| |
663 | 662 |
| |
664 |
| - | |
665 |
| - | |
666 |
| - | |
| 663 | + | |
| 664 | + | |
| 665 | + | |
667 | 666 |
| |
668 |
| - | |
| 667 | + | |
669 | 668 |
| |
670 | 669 |
| |
671 |
| - | |
672 |
| - | |
673 | 670 |
| |
674 | 671 |
| |
675 | 672 |
| |
| |||
694 | 691 |
| |
695 | 692 |
| |
696 | 693 |
| |
697 |
| - | |
698 |
| - | |
699 | 694 |
| |
700 | 695 |
| |
701 | 696 |
| |
| |||
1036 | 1031 |
| |
1037 | 1032 |
| |
1038 | 1033 |
| |
1039 |
| - | |
1040 |
| - | |
1041 |
| - | |
1042 | 1034 |
| |
1043 |
| - | |
1044 | 1035 |
| |
1045 | 1036 |
| |
1046 | 1037 |
| |
|
Lines changed: 6 additions & 28 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
12 | 12 |
| |
13 | 13 |
| |
14 | 14 |
| |
15 |
| - | |
| 15 | + | |
16 | 16 |
| |
17 | 17 |
| |
18 | 18 |
| |
| |||
49 | 49 |
| |
50 | 50 |
| |
51 | 51 |
| |
52 |
| - | |
53 | 52 |
| |
54 | 53 |
| |
55 | 54 |
| |
| |||
63 | 62 |
| |
64 | 63 |
| |
65 | 64 |
| |
66 |
| - | |
67 |
| - | |
| 65 | + | |
68 | 66 |
| |
69 | 67 |
| |
70 | 68 |
| |
71 |
| - | |
72 |
| - | |
73 | 69 |
| |
74 | 70 |
| |
75 |
| - | |
76 |
| - | |
77 | 71 |
| |
78 | 72 |
| |
79 | 73 |
| |
| |||
112 | 106 |
| |
113 | 107 |
| |
114 | 108 |
| |
115 |
| - | |
116 | 109 |
| |
117 | 110 |
| |
118 | 111 |
| |
| |||
170 | 163 |
| |
171 | 164 |
| |
172 | 165 |
| |
173 |
| - | |
174 |
| - | |
175 |
| - | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
176 | 169 |
| |
177 |
| - | |
| 170 | + | |
178 | 171 |
| |
179 | 172 |
| |
180 |
| - | |
181 |
| - | |
182 | 173 |
| |
183 | 174 |
| |
184 | 175 |
| |
| |||
193 | 184 |
| |
194 | 185 |
| |
195 | 186 |
| |
196 |
| - | |
197 |
| - | |
198 | 187 |
| |
199 | 188 |
| |
200 | 189 |
| |
| |||
235 | 224 |
| |
236 | 225 |
| |
237 | 226 |
| |
238 |
| - | |
239 |
| - | |
240 | 227 |
| |
241 | 228 |
| |
242 | 229 |
| |
| |||
251 | 238 |
| |
252 | 239 |
| |
253 | 240 |
| |
254 |
| - | |
255 |
| - | |
256 | 241 |
| |
257 | 242 |
| |
258 |
| - | |
259 |
| - | |
260 | 243 |
| |
261 | 244 |
| |
262 | 245 |
| |
| |||
270 | 253 |
| |
271 | 254 |
| |
272 | 255 |
| |
273 |
| - | |
274 | 256 |
| |
275 | 257 |
| |
276 | 258 |
| |
277 |
| - | |
278 |
| - | |
279 | 259 |
| |
280 | 260 |
| |
281 | 261 |
| |
| |||
291 | 271 |
| |
292 | 272 |
| |
293 | 273 |
| |
294 |
| - | |
295 |
| - | |
296 | 274 |
| |
297 | 275 |
| |
298 | 276 |
|
Lines changed: 2 additions & 1 deletion
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
7 | 7 |
| |
8 | 8 |
| |
9 | 9 |
| |
10 |
| - | |
| 10 | + | |
11 | 11 |
| |
12 | 12 |
| |
13 | 13 |
| |
| |||
225 | 225 |
| |
226 | 226 |
| |
227 | 227 |
| |
| 228 | + | |
228 | 229 |
| |
229 | 230 |
| |
230 | 231 |
| |
|
Lines changed: 3 additions & 1 deletion
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
7 | 7 |
| |
8 | 8 |
| |
9 | 9 |
| |
10 |
| - | |
| 10 | + | |
11 | 11 |
| |
12 | 12 |
| |
13 | 13 |
| |
| |||
328 | 328 |
| |
329 | 329 |
| |
330 | 330 |
| |
| 331 | + | |
| 332 | + | |
331 | 333 |
| |
332 | 334 |
| |
333 | 335 |
| |
|
0 commit comments
Comments
(0)