On Thu, Jun 17, 2021 at 12:41 AM vignesh C <vignes...@gmail.com> wrote:
> Thanks for reporting it, the attached patch is a rebased version of > the patch with few review comment fixes, I will reply with the comment > fixes to the respective mails. > I've applied the patch, it applies cleand and ran "make check" and tests run fine. Some comments for patch 1: In the commit message, some grammar mistakes: "Changes was done in pg_dump to handle pubtype updation in pg_publication table while the database gets upgraded." -------------- change to -- Changes were done in pg_dump to handle pubtype updation in pg_publication table while the database gets upgraded. ============= Prototypes present in pg_publication.h was moved to publicationcmds.h so that minimal datastructures ... ----------------- change to -- Prototypes present in pg_publication.h were moved to publicationcmds.h so that minimal datastructures .. ======================== In patch 1: In getObjectDescription() + if (!nspname) + { + pfree(pubname); + pfree(nspname); + ReleaseSysCache(tup); Why free nspname if it is NULL? Same comment in getObjectIdentityParts() ============================ In GetAllTablesPublicationRelations() + ScanKeyData key[2]; TableScanDesc scan; HeapTuple tuple; List *result = NIL; + int keycount = 0; classRel = table_open(RelationRelationId, AccessShareLock); - ScanKeyInit(&key[0], + ScanKeyInit(&key[keycount++], Here you have init key[1], but the code below in the same function inits key[0]. I am not sure if this will affect that code below. if (pubviaroot) { ScanKeyInit(&key[0], Anum_pg_class_relkind, BTEqualStrategyNumber, F_CHAREQ, CharGetDatum(RELKIND_PARTITIONED_TABLE)); ================================= in UpdatePublicationTypeTupleValue(): + tup = heap_modify_tuple(tup, RelationGetDescr(rel), values, nulls, + replaces); + + /* Update the catalog. */ + CatalogTupleUpdate(rel, &tup->t_self, tup); Not sure if this tup needs to be freed or if the memory context will take care of it. ===================== regards, Ajin Cherian Fujitsu Australia