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
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
The patch includes updates to the documentation and regression tests.
Unless anyone objects, I plan to apply this within 48 hours.
pgsql-patches by date
|Next:||From: Bruce Momjian||Date: 2004-01-06 19:44:21|
|Subject: Re: add "WITH OIDS" to CREATE TABLE AS|
|Previous:||From: Neil Conway||Date: 2004-01-06 19:03:12|
|Subject: move 'Value' node into separate file|