Introduce sequence_*() access functions
Michael Paquier <michael@paquier.xyz>
Introduce sequence_*() access functions
Similarly to tables and indexes, these functions are able to open
relations with a sequence relkind, which is useful to make a distinction
with the other relation kinds. Previously, commands/sequence.c used a
mix of table_{close,open}() and relation_{close,open}() routines when
manipulating sequence relations, so this clarifies the code.
A direct effect of this change is to align the error messages produced
when attempting DDLs for sequences on relations with an unexpected
relkind, like a table or an index with ALTER SEQUENCE, providing an
extra error detail about the relkind of the relation used in the DDL
query.
Author: Michael Paquier
Reviewed-by: Tomas Vondra
Discussion: https://postgr.es/m/ZWlohtKAs0uVVpZ3@paquier.xyz
Files
| Path | Change | +/− |
|---|---|---|
| src/backend/access/Makefile | modified | +1 −1 |
| src/backend/access/meson.build | modified | +1 −0 |
| src/backend/access/sequence/Makefile | added | +17 −0 |
| src/backend/access/sequence/meson.build | added | +5 −0 |
| src/backend/access/sequence/sequence.c | added | +78 −0 |
| src/backend/commands/sequence.c | modified | +13 −18 |
| src/include/access/sequence.h | added | +23 −0 |
| src/test/regress/expected/sequence.out | modified | +2 −1 |
Discussion
- Sequence Access Methods, round two 72 messages · 2023-12-01 → 2026-05-19