Bug in MERGE's test for tables with rules
Dean Rasheed <dean.a.rasheed@gmail.com>
From: Dean Rasheed <dean.a.rasheed@gmail.com>
To: PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2022-11-23T12:49:44Z
Lists: pgsql-hackers
Attachments
- fix-merge-rule-detection.patch (text/x-patch) patch
While playing around with rules and MERGE, I noticed that there is a bug in the way that it detects whether the target table has rules --- it uses rd_rel->relhasrules, which can be incorrect, since it might be set for a table that doesn't currently have rules, but did in the recent past. So it actually needs to examine rd_rules. Technically, I think that it would be sufficient to just test whether rd_rules is non-NULL, but I think it's more robust and readable to check rd_rules->numLocks, as in the attached patch. Regards, Dean
Commits
-
Fix rule-detection code for MERGE.
- 7b2ccc5e03bf 16.0 landed
- 04d61bfe64c9 15.2 landed