On Tue, Jul 28, 2026 at 4:14 PM Hayato Kuroda (Fujitsu) <[email protected]> wrote: > > One minor comment: > ``` > + /* > + * Lock the sequence so its identity (namespace and name) > cannot change > + * under us via a concurrent DROP, RENAME or SET SCHEMA. > Release it > + * right away rather than at transaction end, to avoid > accumulating a > + * lock per sequence. > + */ > + sequence_rel = try_table_open(subrel->srrelid, > AccessShareLock); > ``` > > I think this comment is not enough. We can describe why the releasing the lock > immediately is OK. IIUC, it's because the name and the namespace would be > checked > again in copy_sequences(), right? >
Yes, that is correct. How about a comment as follows: /* * Lock the sequence so its identity (namespace and name) cannot change * under us via a concurrent DROP, RENAME or SET SCHEMA while we read it. * The lock is released immediately rather than at transaction end. The * later synchronization does not depend on this captured identity * remaining valid, as it re-opens the sequence and tolerates concurrent * changes. Releasing early also avoids holding one lock per sequence, * which could exhaust the lock table. */ -- With Regards, Amit Kapila.
