Re: Order of InvokeObjectPostAlterHook within ATExecSetNotNull
Álvaro Herrera <alvherre@kurilemu.de>
From: Álvaro Herrera <alvherre@kurilemu.de>
To: Artur Zakirov <zaartur@gmail.com>
Cc: Postgres hackers <pgsql-hackers@lists.postgresql.org>
Date: 2026-03-18T16:34:36Z
Lists: pgsql-hackers
On 2026-Mar-18, Artur Zakirov wrote: > Hello hackers! > > The commit 14e87ff added pg_constraint rows for not-null [1]. The > consequence of the patch is that it changed the order of > InvokeObjectPostAlterHook() call and update of "attnotnull" field in > the catalog. Before the update was before the call of the hook [2]. > And now "attnotnull" is updated after the call of > InvokeObjectPostAlterHook() [3]. > > This is a noticeable change to extensions which use > "object_access_hook" since they see a bit of stale information about > the attribute. > > Is this an intended behavior or rather a bug? This was not intentional. Want to submit a patch? -- Álvaro Herrera 48°01'N 7°57'E — https://www.EnterpriseDB.com/
Commits
-
SET NOT NULL: Call object-alter hook only after the catalog change
- e7975f1c06b5 19 (unreleased) landed
- 6958077ceb93 18.4 landed
-
Add pg_constraint rows for not-null constraints
- 14e87ffa5c54 18.0 cited