forked frompostgres/postgres
- Notifications
You must be signed in to change notification settings - Fork6
Commitb93c8ea
committed
Fix incorrect checking of deferred exclusion constraint after a HOT update.
If a row that potentially violates a deferred exclusion constraint isHOT-updated later in the same transaction, the exclusion constraint wouldbe reported as violated when the check finally occurs, even if the row(s)the new row originally conflicted with have since been removed. Thishappened because the wrong TID was passed to check_exclusion_constraint(),causing the live HOT-updated row to be seen as a conflicting row ratherthan recognized as the row-under-test.Per bug #13148 from Evan Martin. It's been broken since exclusionconstraints were invented, so back-patch to all supported branches.1 parentc981e59 commitb93c8ea
File tree
3 files changed
+35
-6
lines changed- src
- backend/commands
- test/regress
- input
- output
3 files changed
+35
-6
lines changedLines changed: 11 additions & 6 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
88 | 88 |
| |
89 | 89 |
| |
90 | 90 |
| |
91 |
| - | |
92 |
| - | |
93 |
| - | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
94 | 95 |
| |
95 | 96 |
| |
96 | 97 |
| |
| |||
158 | 159 |
| |
159 | 160 |
| |
160 | 161 |
| |
161 |
| - | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
162 | 165 |
| |
163 | 166 |
| |
164 | 167 |
| |
| |||
167 | 170 |
| |
168 | 171 |
| |
169 | 172 |
| |
170 |
| - | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
171 | 176 |
| |
172 | 177 |
| |
173 |
| - | |
| 178 | + | |
174 | 179 |
| |
175 | 180 |
| |
176 | 181 |
| |
|
Lines changed: 10 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
403 | 403 |
| |
404 | 404 |
| |
405 | 405 |
| |
| 406 | + | |
406 | 407 |
| |
407 | 408 |
| |
408 | 409 |
| |
| |||
417 | 418 |
| |
418 | 419 |
| |
419 | 420 |
| |
| 421 | + | |
| 422 | + | |
| 423 | + | |
| 424 | + | |
| 425 | + | |
| 426 | + | |
| 427 | + | |
| 428 | + | |
| 429 | + | |
420 | 430 |
| |
421 | 431 |
| |
422 | 432 |
| |
|
Lines changed: 14 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
547 | 547 |
| |
548 | 548 |
| |
549 | 549 |
| |
| 550 | + | |
550 | 551 |
| |
551 | 552 |
| |
552 | 553 |
| |
| |||
566 | 567 |
| |
567 | 568 |
| |
568 | 569 |
| |
| 570 | + | |
| 571 | + | |
| 572 | + | |
| 573 | + | |
| 574 | + | |
| 575 | + | |
| 576 | + | |
| 577 | + | |
| 578 | + | |
| 579 | + | |
| 580 | + | |
| 581 | + | |
| 582 | + | |
569 | 583 |
| |
570 | 584 |
| |
571 | 585 |
| |
|
0 commit comments
Comments
(0)