On Fri, Aug 6, 2021 at 2:02 PM vignesh C <vignes...@gmail.com> wrote: > > On Wed, Aug 4, 2021 at 4:10 PM Amit Kapila <amit.kapil...@gmail.com> wrote: > > > > On Tue, Aug 3, 2021 at 8:38 PM vignesh C <vignes...@gmail.com> wrote: > > > 6. > > + {PublicationSchemaRelationId, /* PUBLICATIONSCHEMAMAP */ > > + PublicationSchemaPsnspcidPspubidIndexId, > > + 2, > > + { > > + Anum_pg_publication_schema_psnspcid, > > + Anum_pg_publication_schema_pspubid, > > + 0, > > + 0 > > + }, > > > > Why don't we keep pubid as the first column in this index? > > I wanted to keep it similar to PUBLICATIONRELMAP, should we keep it as > it is, thoughts? >
Okay, I see your point. I think for PUBLICATIONRELMAP, we need it because it is searched using the only relid in GetRelationPublications, so, similarly, in the patch, you are using schema_oid in GetSchemaPublications, so probably that will help. I was wondering why you haven't directly used the cache in GetSchemaPublications similar to GetRelationPublications? It seems there is a danger for concurrent object drop. Can you please check how the safety is ensured say when either one wants to drop the corresponding relation/schema or publication? Another point is why can't we use the other index (where the index is on relid or schema_oid (PublicationSchemaObjectIndexId))? -- With Regards, Amit Kapila.