public inbox for [email protected]  
help / color / mirror / Atom feed
From: Michael Paquier <[email protected]>
To: [email protected]
Subject: pgsql: Introduce sequence_*() access functions
Date: Mon, 26 Feb 2024 07:10:00 +0000
Message-ID: <[email protected]> (raw)

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/[email protected]

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/449e798c77ed9a03f8bb04e5d324d4e3cfbbae8e

Modified Files
--------------
src/backend/access/Makefile             |  2 +-
src/backend/access/meson.build          |  1 +
src/backend/access/sequence/Makefile    | 17 +++++++
src/backend/access/sequence/meson.build |  5 +++
src/backend/access/sequence/sequence.c  | 78 +++++++++++++++++++++++++++++++++
src/backend/commands/sequence.c         | 31 ++++++-------
src/include/access/sequence.h           | 23 ++++++++++
src/test/regress/expected/sequence.out  |  3 +-
8 files changed, 140 insertions(+), 20 deletions(-)



reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: [email protected]
  Cc: [email protected], [email protected]
  Subject: Re: pgsql: Introduce sequence_*() access functions
  In-Reply-To: <[email protected]>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox