Code review for ON COMMIT patch. Make the actual on-commit action happen
before commit, not after :-( --- the original coding is not only unsafe if an error occurs while it's processing, but it generates an invalid sequence of WAL entries. Resurrect 7.2 logic for deleting items when no longer needed. Use an enum instead of random macros. Editorialize on names used for routines and constants. Teach backend/nodes routines about new field in CreateTable struct. Add a regression test.
Showing
- doc/src/sgml/ref/create_table.sgml 14 additions, 16 deletionsdoc/src/sgml/ref/create_table.sgml
- src/backend/access/transam/xact.c 9 additions, 3 deletionssrc/backend/access/transam/xact.c
- src/backend/bootstrap/bootparse.y 2 additions, 3 deletionssrc/backend/bootstrap/bootparse.y
- src/backend/catalog/heap.c 20 additions, 33 deletionssrc/backend/catalog/heap.c
- src/backend/catalog/namespace.c 1 addition, 3 deletionssrc/backend/catalog/namespace.c
- src/backend/commands/cluster.c 2 additions, 3 deletionssrc/backend/commands/cluster.c
- src/backend/commands/sequence.c 2 additions, 1 deletionsrc/backend/commands/sequence.c
- src/backend/commands/tablecmds.c 147 additions, 185 deletionssrc/backend/commands/tablecmds.c
- src/backend/commands/typecmds.c 2 additions, 1 deletionsrc/backend/commands/typecmds.c
- src/backend/commands/view.c 2 additions, 1 deletionsrc/backend/commands/view.c
- src/backend/executor/execMain.c 2 additions, 2 deletionssrc/backend/executor/execMain.c
- src/backend/nodes/copyfuncs.c 2 additions, 1 deletionsrc/backend/nodes/copyfuncs.c
- src/backend/nodes/equalfuncs.c 3 additions, 1 deletionsrc/backend/nodes/equalfuncs.c
- src/backend/nodes/outfuncs.c 4 additions, 3 deletionssrc/backend/nodes/outfuncs.c
- src/backend/parser/gram.y 14 additions, 15 deletionssrc/backend/parser/gram.y
- src/backend/parser/keywords.c 2 additions, 2 deletionssrc/backend/parser/keywords.c
- src/include/catalog/heap.h 2 additions, 2 deletionssrc/include/catalog/heap.h
- src/include/commands/tablecmds.h 5 additions, 25 deletionssrc/include/commands/tablecmds.h
- src/include/nodes/parsenodes.h 12 additions, 2 deletionssrc/include/nodes/parsenodes.h
- src/test/regress/expected/temp.out 55 additions, 8 deletionssrc/test/regress/expected/temp.out
Loading
Please register or sign in to comment