Re: CREATE TABLE LIKE INCLUDING CONSTRAINTS

Поиск
Список
Период
Сортировка
От Greg Stark
Тема Re: CREATE TABLE LIKE INCLUDING CONSTRAINTS
Дата
Msg-id 87u06l6rvx.fsf@stark.xeocode.com
обсуждение исходный текст
Ответ на CREATE TABLE LIKE INCLUDING CONSTRAINTS  (Greg Stark <gsstark@mit.edu>)
Ответы Re: CREATE TABLE LIKE INCLUDING CONSTRAINTS  (Greg Stark <gsstark@mit.edu>)
Список pgsql-patches
Fixed the bug, added docs and tests.




The previous message explaining the patch:


Greg Stark <gsstark@MIT.EDU> writes:

> This patch implements an option to copy check constraints when using LIKE.
> Because the standard specifically excludes constraints (except NOT NULL) from
> being copied it defaults to off and has to be explicitly requested by the user
> using the nonstandard extension "INCLUDING CONSTRAINTS".
>
> This is especially useful in combination with ALTER TABLE INHERIT since
> without it there's no convenient way to create eligible tables for adding to
> the inheritance tree. The user would have to manually reenter every check
> constraint.
>
> Question:
>
> . Is nodeToString() the right thing here?
>
> Currently only check constraints are added because only check constraints are
> handled by inheritance. I intend to add foreign key constraints when I add
> them to the rest of inheritance which will necessitate a scan of pg_constraint
> instead of using the relcache :(
>
>
> postgres=# create table z (i integer check (i=0));
> CREATE TABLE
> postgres=# create table zz (like z including constraints);
> CREATE TABLE
> postgres=# \d zz
>       Table "public.zz"
>  Column |  Type   | Modifiers
> --------+---------+-----------
>  i      | integer |
> Check constraints:
>     "z_i_check" CHECK (i = 0)
--
greg

Вложения

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

Предыдущее
От: Greg Stark
Дата:
Сообщение: CREATE TABLE LIKE INCLUDING CONSTRAINTS
Следующее
От: Bruce Momjian
Дата:
Сообщение: Re: patch fixing the old RETURN NEXT bug