Repair problems with the result of lookup_rowtype_tupdesc() possibly being
Tom Lane <tgl@sss.pgh.pa.us>
Repair problems with the result of lookup_rowtype_tupdesc() possibly being discarded by cache flush while still in use. This is a minimal patch that just copies the tupdesc anywhere it could be needed across a flush. Applied to back branches only; Neil Conway is working on a better long-term solution for HEAD.
Files
| Path | Change | +/− |
|---|---|---|
| src/backend/access/heap/tuptoaster.c | modified | +6 −1 |
| src/backend/parser/parse_coerce.c | modified | +4 −2 |
| src/backend/parser/parse_target.c | modified | +5 −3 |
| src/backend/utils/adt/rowtypes.c | modified | +9 −1 |
| src/backend/utils/adt/ruleutils.c | modified | +3 −2 |
| src/backend/utils/cache/typcache.c | modified | +3 −1 |
| src/backend/utils/fmgr/funcapi.c | modified | +3 −3 |
| src/pl/plperl/plperl.c | modified | +3 −1 |
| src/pl/plpgsql/src/pl_exec.c | modified | +7 −1 |
| src/pl/plpython/plpython.c | modified | +3 −1 |
| src/pl/tcl/pltcl.c | modified | +3 −1 |