forked frompostgres/postgres
- Notifications
You must be signed in to change notification settings - Fork6
Commit75d091a
committed
Fix brain fade in DefineIndex(): it was continuing to access the table's
relcache entry after having heap_close'd it. This could lead to misbehaviorif a relcache flush wiped out the cache entry meanwhile. In 8.2 there is avery real risk of CREATE INDEX CONCURRENTLY using the wrong relid for lockingand waiting purposes. I think the bug is only cosmetic in 8.0 and 8.1,because their transgression is limited to using RelationGetRelationName(rel)in an ereport message immediately after heap_close, and there's no way (exceptwith special debugging options) for a cache flush to occur in that interval.Not quite sure that it's cosmetic in 7.4, but seems best to patch anyway.Found by trying to run the regression tests with CLOBBER_CACHE_ALWAYS enabled.Maybe we should try to do that on a regular basis --- it's awfully slow,but perhaps some fast buildfarm machine could do it once in awhile.1 parent2116826 commit75d091a
1 file changed
+5
-4
lines changedLines changed: 5 additions & 4 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 |
| |
| |||
428 | 428 |
| |
429 | 429 |
| |
430 | 430 |
| |
431 |
| - | |
432 |
| - | |
433 | 431 |
| |
434 | 432 |
| |
435 | 433 |
| |
| |||
441 | 439 |
| |
442 | 440 |
| |
443 | 441 |
| |
| 442 | + | |
| 443 | + | |
| 444 | + | |
| 445 | + | |
444 | 446 |
| |
445 | 447 |
| |
446 | 448 |
| |
| |||
468 | 470 |
| |
469 | 471 |
| |
470 | 472 |
| |
471 |
| - | |
472 | 473 |
| |
473 | 474 |
| |
474 | 475 |
| |
|
0 commit comments
Comments
(0)