diff options
author | Neil Conway <neilc@samurai.com> | 2004-01-23 02:13:12 +0000 |
---|---|---|
committer | Neil Conway <neilc@samurai.com> | 2004-01-23 02:13:12 +0000 |
commit | 0bd3606d72904dd8dccec7732c1d31bc8629095a (patch) | |
tree | 73e0f7f627098ece298617cc95236feae42cf545 /src/backend/parser/parse_clause.c | |
parent | cd1702dc3a4dad0ef2b3b68b73a264998ac3eee2 (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.c | 30 |
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 */ } |