ALTER TABLE TODO items - Mailing list pgsql-hackers
From | Bruce Momjian |
---|---|
Subject | ALTER TABLE TODO items |
Date | |
Msg-id | 200405051436.i45Eaa521774@candle.pha.pa.us Whole thread Raw |
Responses |
Re: ALTER TABLE TODO items
Re: ALTER TABLE TODO items Re: ALTER TABLE TODO items |
List | pgsql-hackers |
TODO items completed: o -ALTER TABLE ADD COLUMN does not honor DEFAULT and non-CHECK CONSTRAINT o -ALTER TABLE ADD COLUMN column DEFAULTshould fill existing rows with DEFAULT value o -Allow ALTER TABLE to modify column lengths and changeto binary compatible types Seems we didn't have ALTER COLUMN TYPE on the TODO list. Do we still want this TODO? o Allow columns to be reordered using ALTER ... POSITION i col1 [,col2]; have SELECT * and INSERT honor suchordering I don't think so. As I remember it was part of doing logical attribute numbers as a way to add ALTER COLUMN TYPE, but because we now use table recreate to implement this, it is unlikely we will ever add logical attribute numbers (adds too much complexity to the code). --------------------------------------------------------------------------- Tom Lane wrote: > CVSROOT: /cvsroot > Module name: pgsql-server > Changes by: tgl@svr1.postgresql.org 04/05/05 01:48:48 > > Modified files: > doc/src/sgml/ref: alter_table.sgml > src/backend/bootstrap: bootparse.y > src/backend/catalog: dependency.c heap.c index.c > src/backend/commands: cluster.c indexcmds.c tablecmds.c > src/backend/nodes: copyfuncs.c equalfuncs.c > src/backend/parser: analyze.c gram.y > src/backend/tcop: utility.c > src/backend/utils/adt: ruleutils.c > src/include/catalog: dependency.h heap.h index.h > src/include/commands: cluster.h defrem.h tablecmds.h > src/include/nodes: nodes.h parsenodes.h > src/include/parser: analyze.h > src/include/utils: builtins.h > src/test/regress/expected: alter_table.out foreign_key.out > inherit.out > src/test/regress/sql: alter_table.sql foreign_key.sql > inherit.sql > > Log message: > 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. > > > ---------------------------(end of broadcast)--------------------------- > TIP 8: explain analyze is your friend > -- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610) 359-1001+ If your life is a hard drive, | 13 Roberts Road + Christ can be your backup. | Newtown Square, Pennsylvania19073
pgsql-hackers by date: