Re: restoring user id and SecContext before logging error in ri_PlanCheck

2022-12-04 Thread Noah Misch
On Wed, Nov 02, 2022 at 08:00:58AM -0700, Zhihong Yu wrote: > Looking down in ri_PerformCheck(), I see there may be case where error from > SPI_execute_snapshot() would skip restoring UID. > @@ -2405,13 +2405,19 @@ ri_PerformCheck(const RI_ConstraintInfo *riinfo, >

Re: restoring user id and SecContext before logging error in ri_PlanCheck

2022-11-02 Thread Zhihong Yu
Looking down in ri_PerformCheck(), I see there may be case where error from SPI_execute_snapshot() would skip restoring UID. Please look at patch v2 which tried to handle such case. Thanks v2-restore-uid-trigger.patch Description: Binary data

restoring user id and SecContext before logging error in ri_PlanCheck

2022-11-02 Thread Zhihong Yu
Hi, I was looking at the code in ri_PlanCheck of src/backend/utils/adt/ri_triggers.c starting at line 2289. When qplan is NULL, we log an error. This would skip calling SetUserIdAndSecContext(). I think the intention of the code should be restoring user id and SecContext regardless of the outcome