Line data Source code
1 : /*-------------------------------------------------------------------------
2 : *
3 : * pg_class.c
4 : * routines to support manipulation of the pg_class relation
5 : *
6 : * Portions Copyright (c) 1996-2026, PostgreSQL Global Development Group
7 : * Portions Copyright (c) 1994, Regents of the University of California
8 : *
9 : *
10 : * IDENTIFICATION
11 : * src/backend/catalog/pg_class.c
12 : *
13 : *-------------------------------------------------------------------------
14 : */
15 : #include "postgres.h"
16 :
17 : #include "catalog/pg_class.h"
18 :
19 : /*
20 : * Issue an errdetail() informing that the relkind is not supported for this
21 : * operation.
22 : */
23 : int
24 145 : errdetail_relkind_not_supported(char relkind)
25 : {
26 145 : switch (relkind)
27 : {
28 21 : case RELKIND_RELATION:
29 21 : return errdetail("This operation is not supported for tables.");
30 18 : case RELKIND_INDEX:
31 18 : return errdetail("This operation is not supported for indexes.");
32 18 : case RELKIND_SEQUENCE:
33 18 : return errdetail("This operation is not supported for sequences.");
34 4 : case RELKIND_TOASTVALUE:
35 4 : return errdetail("This operation is not supported for TOAST tables.");
36 32 : case RELKIND_VIEW:
37 32 : return errdetail("This operation is not supported for views.");
38 3 : case RELKIND_MATVIEW:
39 3 : return errdetail("This operation is not supported for materialized views.");
40 3 : case RELKIND_COMPOSITE_TYPE:
41 3 : return errdetail("This operation is not supported for composite types.");
42 17 : case RELKIND_FOREIGN_TABLE:
43 17 : return errdetail("This operation is not supported for foreign tables.");
44 20 : case RELKIND_PARTITIONED_TABLE:
45 20 : return errdetail("This operation is not supported for partitioned tables.");
46 9 : case RELKIND_PARTITIONED_INDEX:
47 9 : return errdetail("This operation is not supported for partitioned indexes.");
48 0 : default:
49 0 : elog(ERROR, "unrecognized relkind: '%c'", relkind);
50 : return 0;
51 : }
52 : }
|