summaryrefslogtreecommitdiff
path: root/src/backend/parser/parse_clause.c
diff options
context:
space:
mode:
authorNeil Conway <neilc@samurai.com>2004-01-23 02:13:12 +0000
committerNeil Conway <neilc@samurai.com>2004-01-23 02:13:12 +0000
commit0bd3606d72904dd8dccec7732c1d31bc8629095a (patch)
tree73e0f7f627098ece298617cc95236feae42cf545 /src/backend/parser/parse_clause.c
parentcd1702dc3a4dad0ef2b3b68b73a264998ac3eee2 (diff)
Fix a minor bug introduced by the recent CREATE TABLE AS / WITH OIDS
patch: a 3-value enum was mistakenly assigned directly to a 'bool' in transformCreateStmt(). Along the way, change makeObjectName() to be static, as it isn't used outside analyze.c
Diffstat (limited to 'src/backend/parser/parse_clause.c')
-rw-r--r--src/backend/parser/parse_clause.c30
1 files changed, 28 insertions, 2 deletions
diff --git a/src/backend/parser/parse_clause.c b/src/backend/parser/parse_clause.c
index 8b7be43af13..6f7a004a6ca 100644
--- a/src/backend/parser/parse_clause.c
+++ b/src/backend/parser/parse_clause.c
@@ -8,7 +8,7 @@
*
*
* IDENTIFICATION
- * $PostgreSQL: pgsql/src/backend/parser/parse_clause.c,v 1.126 2004/01/14 23:01:55 tgl Exp $
+ * $PostgreSQL: pgsql/src/backend/parser/parse_clause.c,v 1.127 2004/01/23 02:13:12 neilc Exp $
*
*-------------------------------------------------------------------------
*/
@@ -191,7 +191,33 @@ interpretInhOption(InhOption inhOpt)
case INH_DEFAULT:
return SQL_inheritance;
}
- elog(ERROR, "bogus InhOption value");
+ elog(ERROR, "bogus InhOption value: %d", inhOpt);
+ return false; /* keep compiler quiet */
+}
+
+/*
+ * Given an enum that indicates whether WITH / WITHOUT OIDS was
+ * specified by the user, return true iff the specified table/result
+ * set should be created with OIDs. This needs to be done after
+ * parsing the query string because the return value can depend upon
+ * the default_with_oids GUC var.
+ */
+bool
+interpretOidsOption(ContainsOids opt)
+{
+ switch (opt)
+ {
+ case MUST_HAVE_OIDS:
+ return true;
+
+ case MUST_NOT_HAVE_OIDS:
+ return false;
+
+ case DEFAULT_OIDS:
+ return default_with_oids;
+ }
+
+ elog(ERROR, "bogus ContainsOids value: %d", opt);
return false; /* keep compiler quiet */
}