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.


Reply via email to