diff --git a/src/backend/parser/parse_utilcmd.c b/src/backend/parser/parse_utilcmd.c index f66af41b1a35c293da414da96b4000b28f15f79a..1fc8c2cbe1eac77eb05094784867f1a4272a67a0 100644 --- a/src/backend/parser/parse_utilcmd.c +++ b/src/backend/parser/parse_utilcmd.c @@ -56,7 +56,6 @@ #include "rewrite/rewriteManip.h" #include "utils/acl.h" #include "utils/builtins.h" -#include "utils/guc.h" #include "utils/lsyscache.h" #include "utils/rel.h" #include "utils/syscache.h" @@ -223,7 +222,7 @@ transformCreateStmt(CreateStmt *stmt, const char *queryString) cxt.blist = NIL; cxt.alist = NIL; cxt.pkey = NULL; - cxt.hasoids = default_with_oids; + cxt.hasoids = interpretOidsOption(stmt->options, true); Assert(!stmt->ofTypename || !stmt->inhRelations); /* grammar enforces */ @@ -282,17 +281,6 @@ transformCreateStmt(CreateStmt *stmt, const char *queryString) * Output results. */ stmt->tableElts = cxt.columns; - /* - * Add WITH/WITHOUT OIDS, if necessary. A literal statement-specified - * WITH/WITHOUT OIDS will still take precedence because the first - * matching "oids" in "options" is used. - */ - if (cxt.hasoids && !interpretOidsOption(stmt->options, true)) - stmt->options = lappend(stmt->options, makeDefElem("oids", - (Node *)makeInteger(TRUE))); - else if (!cxt.hasoids && interpretOidsOption(stmt->options, true)) - stmt->options = lappend(stmt->options, makeDefElem("oids", - (Node *)makeInteger(FALSE))); stmt->constraints = cxt.ckconstraints; result = lappend(cxt.blist, stmt); @@ -861,8 +849,6 @@ transformTableLikeClause(CreateStmtContext *cxt, TableLikeClause *table_like_cla } } - cxt->hasoids = relation->rd_rel->relhasoids; - /* * Copy CHECK constraints if requested, being careful to adjust attribute * numbers so they match the child.