-
- Downloads
ALTER TABLE rewrite. New cool stuff:
* ALTER ... ADD COLUMN with defaults and NOT NULL constraints works per SQL spec. A default is implemented by rewriting the table with the new value stored in each row. * ALTER COLUMN TYPE. You can change a column's datatype to anything you want, so long as you can specify how to convert the old value. Rewrites the table. (Possible future improvement: optimize no-op conversions such as varchar(N) to varchar(N+1).) * Multiple ALTER actions in a single ALTER TABLE command. You can perform any number of column additions, type changes, and constraint additions with only one pass over the table contents. Basic documentation provided in ALTER TABLE ref page, but some more docs work is needed. Original patch from Rod Taylor, additional work from Tom Lane.
Showing
- doc/src/sgml/ref/alter_table.sgml 106 additions, 69 deletionsdoc/src/sgml/ref/alter_table.sgml
- src/backend/bootstrap/bootparse.y 7 additions, 3 deletionssrc/backend/bootstrap/bootparse.y
- src/backend/catalog/dependency.c 36 additions, 59 deletionssrc/backend/catalog/dependency.c
- src/backend/catalog/heap.c 25 additions, 4 deletionssrc/backend/catalog/heap.c
- src/backend/catalog/index.c 19 additions, 8 deletionssrc/backend/catalog/index.c
- src/backend/commands/cluster.c 45 additions, 36 deletionssrc/backend/commands/cluster.c
- src/backend/commands/indexcmds.c 211 additions, 35 deletionssrc/backend/commands/indexcmds.c
- src/backend/commands/tablecmds.c 2309 additions, 1234 deletionssrc/backend/commands/tablecmds.c
- src/backend/nodes/copyfuncs.c 16 additions, 2 deletionssrc/backend/nodes/copyfuncs.c
- src/backend/nodes/equalfuncs.c 14 additions, 2 deletionssrc/backend/nodes/equalfuncs.c
- src/backend/parser/analyze.c 181 additions, 248 deletionssrc/backend/parser/analyze.c
- src/backend/parser/gram.y 105 additions, 84 deletionssrc/backend/parser/gram.y
- src/backend/tcop/utility.c 8 additions, 123 deletionssrc/backend/tcop/utility.c
- src/backend/utils/adt/ruleutils.c 100 additions, 112 deletionssrc/backend/utils/adt/ruleutils.c
- src/include/catalog/dependency.h 29 additions, 2 deletionssrc/include/catalog/dependency.h
- src/include/catalog/heap.h 12 additions, 2 deletionssrc/include/catalog/heap.h
- src/include/catalog/index.h 3 additions, 2 deletionssrc/include/catalog/index.h
- src/include/commands/cluster.h 5 additions, 1 deletionsrc/include/commands/cluster.h
- src/include/commands/defrem.h 7 additions, 3 deletionssrc/include/commands/defrem.h
- src/include/commands/tablecmds.h 5 additions, 34 deletionssrc/include/commands/tablecmds.h
Loading
Please register or sign in to comment