v66_changes_amit_1.patch
application/octet-stream
Filename: v66_changes_amit_1.patch
Type: application/octet-stream
Part: 0
Patch
Same data as JSON:
GET /api/v1/attachments/:id/patch
the parsed metadata as JSON — format, series position, per-file stats; never the diff bytes.
API reference →
Format: unified
Series: patch v66
| File | + | − |
|---|---|---|
| src/backend/utils/cache/relcache.c | 8 | 8 |
diff --git a/src/backend/utils/cache/relcache.c b/src/backend/utils/cache/relcache.c index 6e7dc86dfe..964c588e3c 100644 --- a/src/backend/utils/cache/relcache.c +++ b/src/backend/utils/cache/relcache.c @@ -268,6 +268,7 @@ typedef struct opclasscacheent static HTAB *OpClassCache = NULL; + /* non-export function prototypes */ static void RelationDestroyRelation(Relation relation, bool remember_tupdesc); @@ -5525,16 +5526,15 @@ RelationGetExclusionInfo(Relation indexRelation, * Get the publication information for the given relation. * * Traverse all the publications which the relation is in to get the - * publication actions. + * publication actions and validate the row filter expressions for such + * publications if any. We consider the row filter expression as invalid if it + * references any column which is not part of REPLICA IDENTITY. * - * If validate_rowfilter is true and the publication actions include UPDATE or - * DELETE, then validate that if all columns referenced in the row filter - * expression are part of REPLICA IDENTITY. If any invalid column found, return - * the invalid column number immediately. + * To avoid fetching the publication information, we cache the publication + * actions and row filter validation information. * - * If validate_rowfilter is false or all columns are valid, set the - * relation->rd_rfcol_valid to true, cache the collected publication actions in - * relation->rd_pubactions, and return InvalidAttrNumber. + * Returns the column number of an invalid column referenced in a row filter + * expression if any, InvalidAttrNumber otherwise. */ AttrNumber GetRelationPublicationInfo(Relation relation, bool validate_rowfilter)