PostgreSQL Source Code  git master
pg_class.c
Go to the documentation of this file.
1 /*-------------------------------------------------------------------------
2  *
3  * pg_class.c
4  * routines to support manipulation of the pg_class relation
5  *
6  * Portions Copyright (c) 1996-2021, 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
25 {
26  switch (relkind)
27  {
28  case RELKIND_RELATION:
29  return errdetail("This operation is not supported for tables.");
30  case RELKIND_INDEX:
31  return errdetail("This operation is not supported for indexes.");
32  case RELKIND_SEQUENCE:
33  return errdetail("This operation is not supported for sequences.");
34  case RELKIND_TOASTVALUE:
35  return errdetail("This operation is not supported for TOAST tables.");
36  case RELKIND_VIEW:
37  return errdetail("This operation is not supported for views.");
38  case RELKIND_MATVIEW:
39  return errdetail("This operation is not supported for materialized views.");
40  case RELKIND_COMPOSITE_TYPE:
41  return errdetail("This operation is not supported for composite types.");
42  case RELKIND_FOREIGN_TABLE:
43  return errdetail("This operation is not supported for foreign tables.");
44  case RELKIND_PARTITIONED_TABLE:
45  return errdetail("This operation is not supported for partitioned tables.");
46  case RELKIND_PARTITIONED_INDEX:
47  return errdetail("This operation is not supported for partitioned indexes.");
48  default:
49  elog(ERROR, "unrecognized relkind: '%c'", relkind);
50  return 0;
51  }
52 }
int errdetail_relkind_not_supported(char relkind)
Definition: pg_class.c:24
#define ERROR
Definition: elog.h:46
int errdetail(const char *fmt,...)
Definition: elog.c:1042
#define elog(elevel,...)
Definition: elog.h:232