Use a fresh copy of query_list when making a second plan in GetCachedPlan.
Tom Lane <tgl@sss.pgh.pa.us>
Use a fresh copy of query_list when making a second plan in GetCachedPlan. The code path that tried a generic plan, didn't like it, and then made a custom plan was mistakenly passing the same copy of the query_list to the planner both times. This doesn't work too well for nontrivial queries, since the planner tends to scribble on its input. Diagnosis and fix by Yamamoto Takashi.
Files
| Path | Change | +/− |
|---|---|---|
| src/backend/utils/cache/plancache.c | modified | +9 −1 |