mirror of
https://github.com/postgres/postgres.git
synced 2025-10-24 01:29:19 +03:00
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
This commit is contained in:
23
src/include/access/sequence.h
Normal file
23
src/include/access/sequence.h
Normal file
@@ -0,0 +1,23 @@
|
||||
/*-------------------------------------------------------------------------
|
||||
*
|
||||
* sequence.h
|
||||
* Generic routines for sequence-related code.
|
||||
*
|
||||
*
|
||||
* Portions Copyright (c) 1996-2024, PostgreSQL Global Development Group
|
||||
* Portions Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* src/include/access/sequence.h
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
#ifndef ACCESS_SEQUENCE_H
|
||||
#define ACCESS_SEQUENCE_H
|
||||
|
||||
#include "storage/lockdefs.h"
|
||||
#include "utils/relcache.h"
|
||||
|
||||
extern Relation sequence_open(Oid relationId, LOCKMODE lockmode);
|
||||
extern void sequence_close(Relation relation, LOCKMODE lockmode);
|
||||
|
||||
#endif /* ACCESS_SEQUENCE_H */
|
||||
Reference in New Issue
Block a user