Setting a pre-existing index as a primary key

Поиск
Список
Период
Сортировка
От Jonah H. Harris
Тема Setting a pre-existing index as a primary key
Дата
Msg-id 36e682920804081700n3ef85bafx54a1c9f431532a10@mail.gmail.com
обсуждение исходный текст
Ответы Re: Setting a pre-existing index as a primary key  (Tom Lane <tgl@sss.pgh.pa.us>)
Re: Setting a pre-existing index as a primary key  (Bruce Momjian <bruce@momjian.us>)
Список pgsql-hackers
Hey all,

I've run into a couple cases now where it would be helpful to easily
assign an already-existing unique index as a primary key.  Unless I
completely missed something, there's no way to do this now without a
bit of catalog hackery.

My implementation idea is as follows:

Proposed Syntax (based on Oracle's syntax)

ALTER TABLE foo ADD CONSTRAINT bar PRIMARY KEY USING INDEX schema.tablename;

Proposed Implementation

1. Verify that the index named is a unique index
2. Check index columns for NOT NULL constraints
3. If indexed columns are not already NOT NULL, apply NOT NULL
4. If NOT NULL succeeds, complete the operation (catalogs,
dependencies, ...), else bail out.

Any comments, ideas, suggestions?

-- 
Jonah H. Harris, Sr. Software Architect | phone: 732.331.1324
EnterpriseDB Corporation | fax: 732.331.1301
499 Thornall Street, 2nd Floor | jonah.harris@enterprisedb.com
Edison, NJ 08837 | http://www.enterprisedb.com/


В списке pgsql-hackers по дате отправления:

Предыдущее
От: Andrew Chernow
Дата:
Сообщение: Re: [PATCHES] libpq type system 0.9a
Следующее
От: Bruce Momjian
Дата:
Сообщение: Re: [PATCHES] libpq type system 0.9a