Re: [SQL] An easy question about creating a primary key
От | Tom Lane |
---|---|
Тема | Re: [SQL] An easy question about creating a primary key |
Дата | |
Msg-id | 21379.1007432989@sss.pgh.pa.us обсуждение исходный текст |
Ответ на | Re: [SQL] An easy question about creating a primary key ("Christopher Kings-Lynne" <chriskl@familyhealth.com.au>) |
Ответы |
Re: [SQL] An easy question about creating a primary key
|
Список | pgsql-hackers |
"Christopher Kings-Lynne" <chriskl@familyhealth.com.au> writes: >> I think you've forgotten your own work, Chris. >> >> regression=# create table foo (bar int not null); >> CREATE >> regression=# alter table foo add primary key (bar); >> NOTICE: ALTER TABLE / ADD PRIMARY KEY will create implicit index >> 'foo_pkey' for table 'foo' >> CREATE >> regression=# > Bizarre. That patch was never committed. If you check > src/backend/commands/command.c and search for 'CONSTR_' you'll notice that > the CONSTR_UNIQUE function I implemented is there, but CONSTR_PRIMARY is > definitely not being handled. (I'm looking at the 7.2b2 source code) Hmm ... actually, I wonder whether that code in command.c isn't entirely dead code. I believe that as things stand, parser/analyze.c converts UNIQUE and PRIMARY constraints into CREATE INDEX statements; the constraint nodes themselves never make it past the parser. It looks to me like command.c only needs to handle CHECK constraints and foreign-key constraints, cf transformAlterTableStmt(). regards, tom lane
В списке pgsql-hackers по дате отправления: