Modify tuptoaster's API so that it does not try to modify the passed
Tom Lane <tgl@sss.pgh.pa.us>
Modify tuptoaster's API so that it does not try to modify the passed tuple in-place, but instead passes back an all-new tuple structure if any changes are needed. This is a much cleaner and more robust solution for the bug discovered by Alexey Beschiokov; accordingly, revert the quick hack I installed yesterday. With this change, HeapTupleData.t_datamcxt is no longer needed; will remove it in a separate commit in HEAD only.
Files
| Path | Change | +/− |
|---|---|---|
| src/backend/access/heap/heapam.c | modified | +77 −30 |
| src/backend/access/heap/tuptoaster.c | modified | +34 −40 |
| src/backend/executor/execMain.c | modified | +1 −21 |
| src/include/access/tuptoaster.h | modified | +12 −10 |