diff options
author | Simon Riggs <simon@2ndQuadrant.com> | 2012-01-23 23:25:04 +0000 |
---|---|---|
committer | Simon Riggs <simon@2ndQuadrant.com> | 2012-01-23 23:25:04 +0000 |
commit | b8a91d9d1c7ec75aaecf13df687ec7b5b0ed35a6 (patch) | |
tree | f49bd1ea95c2e141cb8fadd0495f682134053d38 /src/backend/parser/parse_utilcmd.c | |
parent | 4993a49b7cf1d23dfe1f9e1a85d9411b8ff57454 (diff) | |
download | postgresql-b8a91d9d1c7ec75aaecf13df687ec7b5b0ed35a6.tar.gz postgresql-b8a91d9d1c7ec75aaecf13df687ec7b5b0ed35a6.zip |
ALTER <thing> [IF EXISTS] ... allows silent DDL if required,
e.g. ALTER FOREIGN TABLE IF EXISTS foo RENAME TO bar
Pavel Stehule
Diffstat (limited to 'src/backend/parser/parse_utilcmd.c')
-rw-r--r-- | src/backend/parser/parse_utilcmd.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/backend/parser/parse_utilcmd.c b/src/backend/parser/parse_utilcmd.c index 99157c53493..f1a108a9828 100644 --- a/src/backend/parser/parse_utilcmd.c +++ b/src/backend/parser/parse_utilcmd.c @@ -2283,7 +2283,15 @@ transformAlterTableStmt(AlterTableStmt *stmt, const char *queryString) * new commands we add after this must not upgrade the lock level * requested here. */ - rel = relation_openrv(stmt->relation, lockmode); + rel = relation_openrv_extended(stmt->relation, lockmode, stmt->missing_ok); + if (rel == NULL) + { + /* this message is consistent with relation_openrv */ + ereport(NOTICE, + (errmsg("relation \"%s\" does not exist, skipping", + stmt->relation->relname))); + return NIL; + } /* Set up pstate and CreateStmtContext */ pstate = make_parsestate(NULL); |