Merge pull request #5955 from citusdata/fix-rename-sequence-schema-qualifying

Fix schemaname qualify for rename seq stmts
pull/5941/head
Ahmet Gedemenli 2022-05-18 19:43:25 +03:00 committed by GitHub
commit 4fe43c68bc
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 26 additions and 21 deletions

View File

@ -77,6 +77,32 @@ QualifyAlterSequenceSchemaStmt(Node *node)
} }
/*
* QualifyRenameSequenceStmt transforms a
* ALTER SEQUENCE .. RENAME TO ..
* statement in place and makes the sequence name fully qualified.
*/
void
QualifyRenameSequenceStmt(Node *node)
{
RenameStmt *stmt = castNode(RenameStmt, node);
Assert(stmt->renameType == OBJECT_SEQUENCE);
RangeVar *seq = stmt->relation;
if (seq->schemaname == NULL)
{
Oid seqOid = RangeVarGetRelid(seq, NoLock, stmt->missing_ok);
if (OidIsValid(seqOid))
{
Oid schemaOid = get_rel_namespace(seqOid);
seq->schemaname = get_namespace_name(schemaOid);
}
}
}
/* /*
* QualifyDropSequenceStmt transforms a DROP SEQUENCE * QualifyDropSequenceStmt transforms a DROP SEQUENCE
* statement in place and makes the sequence name fully qualified. * statement in place and makes the sequence name fully qualified.
@ -111,24 +137,3 @@ QualifyDropSequenceStmt(Node *node)
stmt->objects = objectNameListWithSchema; stmt->objects = objectNameListWithSchema;
} }
/*
* QualifyRenameSequenceStmt transforms a
* ALTER SEQUENCE .. RENAME TO ..
* statement in place and makes the sequence name fully qualified.
*/
void
QualifyRenameSequenceStmt(Node *node)
{
RenameStmt *stmt = castNode(RenameStmt, node);
Assert(stmt->renameType == OBJECT_SEQUENCE);
RangeVar *seq = stmt->relation;
if (seq->schemaname == NULL)
{
Oid schemaOid = RangeVarGetCreationNamespace(seq);
seq->schemaname = get_namespace_name(schemaOid);
}
}