Fixed the bug, added docs and tests.

Attachment: like.patch3
Description: Binary data

The previous message explaining the patch:

Greg Stark <[EMAIL PROTECTED]> 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));
> postgres=# create table zz (like z including constraints);
> postgres=# \d zz
>       Table "public.zz"
>  Column |  Type   | Modifiers 
> --------+---------+-----------
>  i      | integer | 
> Check constraints:
>     "z_i_check" CHECK (i = 0)
---------------------------(end of broadcast)---------------------------
TIP 5: don't forget to increase your free space map settings

Reply via email to