Re: Sequence Access Methods, round two

Michael Paquier <michael@paquier.xyz>

From: Michael Paquier <michael@paquier.xyz>
To: Chao Li <li.evan.chao@gmail.com>
Cc: Xuneng Zhou <xunengzhou@gmail.com>, Andrei Lepikhov <lepihov@gmail.com>, Peter Eisentraut <peter@eisentraut.org>, Kirill Reshke <reshkekirill@gmail.com>, Peter Smith <smithpb2250@gmail.com>, Postgres hackers <pgsql-hackers@lists.postgresql.org>
Date: 2025-12-23T08:42:54Z
Lists: pgsql-hackers

Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Refactor init_params() in sequence.c to not use FormData_pg_sequence_data

  2. Fix comment thinko in sequence.c

  3. Group more closely cache updates for backends in sequence.c

  4. Introduce sequence_*() access functions

On Tue, Dec 23, 2025 at 02:55:45PM +0800, Chao Li wrote:
> I just started to review this patch. While reviewing 0001, I got the
> point where you now add the 3 attributes into pg_attributes, so I
> tried to test this behavior, but a basic “create sequence” command
> failed for me: 
> ```
> evantest=# create sequence ts1 start with 1 increment by 1 cache 10 cycle;
> ERROR:  access method "seqlocal" does not exist
> ```
> 
> Did I do something wrong?

I guess so.  0001 taken independently has no link to seqlocal.
Applying the full set of patches works here:
=# create sequence ts1 start with 1 increment by 1 cache 10 cycle;
CREATE SEQUENCE

I doubt that the regression would pass at all with this class of
failures.  You may need to clean your tree and rebuild.
--
Michael