Make toast-table creation and deletion work somewhat reliably.
Tom Lane <tgl@sss.pgh.pa.us>
Make toast-table creation and deletion work somewhat reliably. Don't go through pg_exec_query_dest(), but directly to the execution routines. Also, extend parameter lists so that there's no need to change the global setting of allowSystemTableMods, a hack that was certain to cause trouble in the event of any error.
Files
| Path | Change | +/− |
|---|---|---|
| src/backend/bootstrap/bootparse.y | modified | +6 −3 |
| src/backend/catalog/heap.c | modified | +14 −16 |
| src/backend/catalog/index.c | modified | +8 −7 |
| src/backend/commands/cluster.c | modified | +7 −4 |
| src/backend/commands/command.c | modified | +48 −33 |
| src/backend/commands/creatinh.c | modified | +6 −4 |
| src/backend/commands/indexcmds.c | modified | +5 −5 |
| src/backend/commands/remove.c | modified | +2 −2 |
| src/backend/commands/view.c | modified | +3 −2 |
| src/backend/executor/execMain.c | modified | +7 −3 |
| src/backend/libpq/be-pqexec.c | modified | +6 −2 |
| src/backend/storage/large_object/inv_api.c | modified | +5 −4 |
| src/backend/tcop/postgres.c | modified | +13 −3 |
| src/backend/utils/cache/temprel.c | modified | +3 −2 |
| src/include/access/tuptoaster.h | modified | +1 −5 |
| src/include/catalog/heap.h | modified | +9 −4 |
| src/include/catalog/index.h | modified | +3 −2 |
| src/include/catalog/pg_opclass.h | modified | +2 −1 |