add "WITH OIDS" to CREATE TABLE AS - Mailing list pgsql-patches

From Neil Conway
Subject add "WITH OIDS" to CREATE TABLE AS
Date
Msg-id 877k04q3p6.fsf@mailbox.samurai.com
Whole thread Raw
Responses Re: add "WITH OIDS" to CREATE TABLE AS
Re: add "WITH OIDS" to CREATE TABLE AS
List pgsql-patches
This patch adds a "WITH / WITHOUT OIDS" clause to CREATE TABLE
AS. This allows the user to explicitly specify whether OIDs should be
included in the newly-created relation (if form of this clause is
specified, the default_with_oids configuration variable is used). This
is useful because it provides a way for application authors to ensure
their applications are compatible with future versions of PostgreSQL
(in which the relation created by CREATE TABLE AS won't include OIDs
by default).

No equivalent functionality has been added to SELECT INTO: there
isn't a convenient syntax for it that I could see, and in any case
CREATE TABLE AS has always offered a superset of the functionality of
SELECT INTO. Therefore, I don't view this as a problem.

The implementation is a tad messy (it would be nice if CREATE TABLE AS
were a distinct node, to avoid needing to clutter up SelectStmt
further). I also needed to add an additional production to avoid a
shift/reduce conflict in the parser (see the XXX note in the patch
itself).

The patch includes updates to the documentation and regression tests.

Unless anyone objects, I plan to apply this within 48 hours.

-Neil

Attachment

pgsql-patches by date:

Previous
From: Neil Conway
Date:
Subject: move 'Value' node into separate file
Next
From: Bruce Momjian
Date:
Subject: Re: add "WITH OIDS" to CREATE TABLE AS