CREATE LIKE INCLUDING COMMENTS and STORAGES - Mailing list pgsql-hackers

From Itagaki Takahiro
Subject CREATE LIKE INCLUDING COMMENTS and STORAGES
Date
Msg-id 20090907114058.C855.52131E4D@oss.ntt.co.jp
Whole thread Raw
Responses Re: CREATE LIKE INCLUDING COMMENTS and STORAGES
Re: CREATE LIKE INCLUDING COMMENTS and STORAGES
List pgsql-hackers
Here is a patch to implement the following items in our ToDo list:
  * Add CREATE TABLE LIKE ... INCLUDING COMMENTS
  * Have CREATE TABLE LIKE copy column storage parameters

The syntax is:
    CREATE TABLE clone_table (LIKE template_table INCLUDING COMMENTS)
        -- also copy comments on columns.
    CREATE TABLE clone_table (LIKE template_table INCLUDING STORAGES)
        -- also copy storage parameters on columns.

Also, storage parameters of inherited columns are inherited automatically.

There might be room for improvement:

  * Should INCLUDING COMMENTS also copy comments on indexes?
    It copies only comments on columns for now.

  * Should we have additonal syntax to define storage parameters inline
    of CREATE TABLE? For example,
        CREATE TABLE tbl (col text STORAGE MAIN);
    CREATE TABLE fails if there is a conflicted storage parameter for now.
        ERROR:  column "col" has a storage parameter conflict
        DETAIL:  MAIN versus EXTENDED
    but there is no way to resolve the confliction unless we modify the
    definitions of original tables. Meantime, we can overwrite DEFAULTs
    to resolve conflictions by INCLUDING DEFAULTS.

  * Should we have "INCLUDING ALL" as an abbreviated form?
    Many INCLUDING options in CREATE LIKE seems to be messy:
        CREATE TABLE clone_table (LIKE template_table
            INCLUDING DEFAULTS
            INCLUDING CONSTRAINTS
            INCLUDING INDEXES
            INCLUDING STORAGES
            INCLUDING COMMENTS);

Comments welcome.

Regards,
---
ITAGAKI Takahiro
NTT Open Source Software Center

Attachment

pgsql-hackers by date:

Previous
From: Itagaki Takahiro
Date:
Subject: Rename StrNCpy to avoid conflictions on win32
Next
From: Tom Lane
Date:
Subject: Patch: update Bonjour support to the newer non-deprecated API