Small code simplification

Apply the same code simplification to ATExecAddColumn as was done in
7ff9afbbd: apply GETSTRUCT() once instead of doing it repeatedly in
the same function.

Author: Tender Wang
Discussion: https://postgr.es/m/CAHewXNkO9+U437jvKT14s0MCu6Qpf6G-p2mZK5J9mAi4cHDgpQ@mail.gmail.com
This commit is contained in:
Richard Guo 2024-08-22 11:41:08 +09:00
parent 490f869d92
commit 9bb842f95e

View File

@ -7028,6 +7028,7 @@ ATExecAddColumn(List **wqueue, AlteredTableInfo *tab, Relation rel,
Relation pgclass, Relation pgclass,
attrdesc; attrdesc;
HeapTuple reltup; HeapTuple reltup;
Form_pg_class relform;
Form_pg_attribute attribute; Form_pg_attribute attribute;
int newattnum; int newattnum;
char relkind; char relkind;
@ -7161,10 +7162,11 @@ ATExecAddColumn(List **wqueue, AlteredTableInfo *tab, Relation rel,
reltup = SearchSysCacheCopy1(RELOID, ObjectIdGetDatum(myrelid)); reltup = SearchSysCacheCopy1(RELOID, ObjectIdGetDatum(myrelid));
if (!HeapTupleIsValid(reltup)) if (!HeapTupleIsValid(reltup))
elog(ERROR, "cache lookup failed for relation %u", myrelid); elog(ERROR, "cache lookup failed for relation %u", myrelid);
relkind = ((Form_pg_class) GETSTRUCT(reltup))->relkind; relform = (Form_pg_class) GETSTRUCT(reltup);
relkind = relform->relkind;
/* Determine the new attribute's number */ /* Determine the new attribute's number */
newattnum = ((Form_pg_class) GETSTRUCT(reltup))->relnatts + 1; newattnum = relform->relnatts + 1;
if (newattnum > MaxHeapAttributeNumber) if (newattnum > MaxHeapAttributeNumber)
ereport(ERROR, ereport(ERROR,
(errcode(ERRCODE_TOO_MANY_COLUMNS), (errcode(ERRCODE_TOO_MANY_COLUMNS),
@ -7193,7 +7195,7 @@ ATExecAddColumn(List **wqueue, AlteredTableInfo *tab, Relation rel,
/* /*
* Update pg_class tuple as appropriate * Update pg_class tuple as appropriate
*/ */
((Form_pg_class) GETSTRUCT(reltup))->relnatts = newattnum; relform->relnatts = newattnum;
CatalogTupleUpdate(pgclass, &reltup->t_self, reltup); CatalogTupleUpdate(pgclass, &reltup->t_self, reltup);