aboutsummaryrefslogtreecommitdiff
path: root/src/backend/commands/sequence.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/commands/sequence.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/commands/sequence.c')
-rw-r--r--src/backend/commands/sequence.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/backend/commands/sequence.c b/src/backend/commands/sequence.c
index f7712a96556..d3739cb0952 100644
--- a/src/backend/commands/sequence.c
+++ b/src/backend/commands/sequence.c
@@ -425,7 +425,15 @@ AlterSequence(AlterSeqStmt *stmt)
List *owned_by;
/* Open and lock sequence. */
- relid = RangeVarGetRelid(stmt->sequence, AccessShareLock, false);
+ relid = RangeVarGetRelid(stmt->sequence, AccessShareLock, stmt->missing_ok);
+ if (relid == InvalidOid)
+ {
+ ereport(NOTICE,
+ (errmsg("relation \"%s\" does not exist, skipping",
+ stmt->sequence->relname)));
+ return;
+ }
+
init_sequence(relid, &elm, &seqrel);
/* allow ALTER to sequence owner only */