Re: Misleading CREATE TABLE error
Thom Brown <thom@linux.com>
From: Thom Brown <thom@linux.com>
To: Peter Eisentraut <peter_e@gmx.net>
Cc: PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2011-12-28T02:00:38Z
Lists: pgsql-hackers
On 27 December 2011 20:16, Peter Eisentraut <peter_e@gmx.net> wrote: > It's not only the error message that's misleading, but the whole code, > because the entire code for CREATE TABLE ... (LIKE ...) claims to do > "inheritance" based on an ancient understanding of the SQL standard. I > know this has confused me many times already, so I decided to clean this > up and rename all the internal parser structures, split up the > regression tests for real inheritance and CREATE TABLE LIKE, and adjust > the error messages. Patch attached. Thanks for the patch. +1 for changing "parent" to "source" in the docs. The patch doesn't apply cleanly for me for some reason though. > Anyway, one question that's perhaps worth discussing > is whether we should allow and disallow the various INCLUDING options > depending on the relation type. For example, views don't have indexes, > so should we disallow INCLUDING INDEXES or just assume they don't have > any? I'd personally prefer the latter, primarily because it won't create another syntax variation with no discernable benefit. -- Thom