forked frompostgres/postgres
- Notifications
You must be signed in to change notification settings - Fork6
Commitecbdd00
committed
Fix system column accesses in ON CONFLICT ... RETURNING.
After277cb78 ON CONFLICT ... SET ... RETURNING failed withERROR: virtual tuple table slot does not have system attributeswhen taking the update path, as the slot used to insert into thetable (and then process RETURNING) was defined to be a virtual slot inthat commit. Virtual slots don't support system columns except fortableoid and ctid, as the other system columns are AM dependent.Fix that by using a slot of the table's type. Add tests for systemcolumn accesses in ON CONFLICT ... RETURNING.Reported-By: Roby, bisected to the relevant commit by Jeff JanesAuthor: Andres FreundDiscussion:https://postgr.es/m/73436355-6432-49B1-92ED-1FE4F7E7E100@finefun.com.auBackpatch: 12-, where the bug was introduced in277cb781 parentc8e177f commitecbdd00
File tree
3 files changed
+45
-2
lines changed- src
- backend/executor
- test/regress
- expected
- sql
3 files changed
+45
-2
lines changedLines changed: 7 additions & 2 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
2542 | 2542 |
| |
2543 | 2543 |
| |
2544 | 2544 |
| |
2545 |
| - | |
| 2545 | + | |
| 2546 | + | |
| 2547 | + | |
| 2548 | + | |
| 2549 | + | |
| 2550 | + | |
2546 | 2551 |
| |
2547 | 2552 |
| |
2548 | 2553 |
| |
2549 |
| - | |
| 2554 | + | |
2550 | 2555 |
| |
2551 | 2556 |
| |
2552 | 2557 |
| |
|
Lines changed: 23 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
227 | 227 |
| |
228 | 228 |
| |
229 | 229 |
| |
| 230 | + | |
| 231 | + | |
| 232 | + | |
| 233 | + | |
| 234 | + | |
| 235 | + | |
| 236 | + | |
| 237 | + | |
| 238 | + | |
| 239 | + | |
| 240 | + | |
| 241 | + | |
| 242 | + | |
| 243 | + | |
| 244 | + | |
| 245 | + | |
| 246 | + | |
| 247 | + | |
| 248 | + | |
| 249 | + | |
| 250 | + | |
| 251 | + | |
| 252 | + | |
230 | 253 |
| |
231 | 254 |
| |
232 | 255 |
| |
|
Lines changed: 15 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
114 | 114 |
| |
115 | 115 |
| |
116 | 116 |
| |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
117 | 132 |
| |
118 | 133 |
| |
119 | 134 |
| |
|
0 commit comments
Comments
(0)