Introduce pg_sequence_read_tuple().
authorNathan Bossart <[email protected]>
Wed, 31 Jul 2024 15:12:42 +0000 (10:12 -0500)
committerNathan Bossart <[email protected]>
Wed, 31 Jul 2024 15:12:42 +0000 (10:12 -0500)
commitc8b06bb969bf26c01f10b835e59d0aff39b7f516
tree1042c5639ec85ca305eb414c6e77efe55487150f
parent68e9629985981ce8f8f04b5a9f8b3781eacaafd6
Introduce pg_sequence_read_tuple().

This new function returns the data for the given sequence, i.e.,
the values within the sequence tuple.  Since this function is a
substitute for SELECT from the sequence, the SELECT privilege is
required on the sequence in question.  It returns all NULLs for
sequences for which we lack privileges, other sessions' temporary
sequences, and unlogged sequences on standbys.

This function is primarily intended for use by pg_dump in a
follow-up commit that will use it to optimize dumpSequenceData().
Like pg_sequence_last_value(), which is a support function for the
pg_sequences system view, pg_sequence_read_tuple() is left
undocumented.

Bumps catversion.

Reviewed-by: Michael Paquier, Tom Lane
Discussion: https://postgr.es/m/20240503025140.GA1227404%40nathanxps13
src/backend/commands/sequence.c
src/include/catalog/catversion.h
src/include/catalog/pg_proc.dat
src/test/regress/expected/sequence.out
src/test/regress/sql/sequence.sql