[COMMITTERS] pgsql: Fix CREATE TABLE ... LIKE ... WITH OIDS. - Mailing list pgsql-committers

From Tom Lane
Subject [COMMITTERS] pgsql: Fix CREATE TABLE ... LIKE ... WITH OIDS.
Date
Msg-id E1cKAq8-0005Lu-NI@gemulon.postgresql.org
Whole thread Raw
List pgsql-committers
Fix CREATE TABLE ... LIKE ... WITH OIDS.

Having a WITH OIDS specification should result in the creation of an OID
column, but commit b943f502b broke that in the case that there were LIKE
tables without OIDS.  Commentary in that patch makes it look like this was
intentional, but if so it was based on a faulty reading of what inheritance
does: the parent tables can add an OID column, but they can't subtract one.
AFAICS, the behavior ought to be that you get an OID column if any of the
inherited tables, LIKE tables, or WITH clause ask for one.

Also, revert that patch's unnecessary split of transformCreateStmt's loop
over the tableElts list into two passes.  That seems to have been based on
a misunderstanding as well: we already have two-pass processing here,
we don't need three passes.

Per bug #14474 from Jeff Dafoe.  Back-patch to 9.6 where the misbehavior
was introduced.

Report: https://postgr.es/m/20161222145304.25620.47445@wrigleys.postgresql.org

Branch
------
REL9_6_STABLE

Details
-------
http://git.postgresql.org/pg/commitdiff/68330c8b42ade797995fb84f46af7549c041ad1e

Modified Files
--------------
src/backend/parser/parse_utilcmd.c              | 53 +++++++++----------------
src/test/regress/expected/create_table_like.out |  9 ++++-
src/test/regress/sql/create_table_like.sql      |  5 ++-
3 files changed, 31 insertions(+), 36 deletions(-)


pgsql-committers by date:

Previous
From: Peter Eisentraut
Date:
Subject: [COMMITTERS] pgsql: Update sequence_1.out for recent changes
Next
From: Stephen Frost
Date:
Subject: [COMMITTERS] pgsql: Use TSConfigRelationId in AlterTSConfiguration()