Re: Getting rid of pre-assignment of index names in CREATE TABLE LIKE - Mailing list pgsql-hackers

From Robert Haas
Subject Re: Getting rid of pre-assignment of index names in CREATE TABLE LIKE
Date
Msg-id CA+TgmoZch6rAvu_t41sDu1_zi8z21+epPA48cpd0LMtbs4Egow@mail.gmail.com
Whole thread Raw
In response to Re: Getting rid of pre-assignment of index names in CREATE TABLE LIKE  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: Getting rid of pre-assignment of index names in CREATE TABLE LIKE
List pgsql-hackers
On Mon, Jul 16, 2012 at 12:43 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> Robert Haas <robertmhaas@gmail.com> writes:
>> On Sat, Jul 14, 2012 at 4:02 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
>>> I suggested that we could dodge the problem by allowing IndexStmt to
>>> carry a comment to be attached to the new index, and thereby avoid
>>> needing an explicit COMMENT command.  Attached is a patch that fixes it
>>> that way.
>
>> I agree with this approach.  I think it's pretty much always a bad
>> idea for DDL command A to fake up a parse node of the type used by DDL
>> command B.  It tends to make the code ugly and unmaintainable and
>> propagates nasty abstraction violations all over the place.
>
> Hmm, well, if that's the argument for doing this then we really need to
> throw away the entire implementation of CREATE TABLE LIKE, because it's
> doing that all over the place; I'm only proposing to remove one specific
> instance.

The problem isn't confined to CREATE TABLE LIKE; it's a widespread
design flaw that will likely take years of work to clean up
completely.  I don't think that's a reason not to commit your change
though; it fixes a bug and is an incremental improvement, even if a
small one.  That having been said, if you're feeling an urge to tackle
the problem more broadly, don't let me stand in your way...

-- 
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company


pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: [PERFORM] DELETE vs TRUNCATE explanation
Next
From: Tom Lane
Date:
Subject: Re: Getting rid of pre-assignment of index names in CREATE TABLE LIKE