add "WITH OIDS" to CREATE TABLE AS

From: Neil Conway <neilc(at)samurai(dot)com>
To: PostgreSQL Patches <pgsql-patches(at)postgresql(dot)org>
Subject: add "WITH OIDS" to CREATE TABLE AS
Date: 2004-01-06 19:25:57
Message-ID: 877k04q3p6.fsf@mailbox.samurai.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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 Content-Type Size
create-table-as-with-oids-5.patch text/x-patch 15.7 KB

Responses

Browse pgsql-patches by date

  From Date Subject
Next Message Bruce Momjian 2004-01-06 19:44:21 Re: add "WITH OIDS" to CREATE TABLE AS
Previous Message Neil Conway 2004-01-06 19:03:12 move 'Value' node into separate file