aboutsummaryrefslogtreecommitdiff
path: root/src/backend/parser/parse_utilcmd.c
diff options
context:
space:
mode:
authorSimon Riggs <simon@2ndQuadrant.com>2012-01-23 23:25:04 +0000
committerSimon Riggs <simon@2ndQuadrant.com>2012-01-23 23:25:04 +0000
commitb8a91d9d1c7ec75aaecf13df687ec7b5b0ed35a6 (patch)
treef49bd1ea95c2e141cb8fadd0495f682134053d38 /src/backend/parser/parse_utilcmd.c
parent4993a49b7cf1d23dfe1f9e1a85d9411b8ff57454 (diff)
downloadpostgresql-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.c10
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);