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-2024, 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 278 : errdetail_relkind_not_supported(char relkind) 25 : { 26 278 : switch (relkind) 27 : { 28 42 : case RELKIND_RELATION: 29 42 : return errdetail("This operation is not supported for tables."); 30 36 : case RELKIND_INDEX: 31 36 : return errdetail("This operation is not supported for indexes."); 32 30 : case RELKIND_SEQUENCE: 33 30 : return errdetail("This operation is not supported for sequences."); 34 6 : case RELKIND_TOASTVALUE: 35 6 : return errdetail("This operation is not supported for TOAST tables."); 36 64 : case RELKIND_VIEW: 37 64 : return errdetail("This operation is not supported for views."); 38 6 : case RELKIND_MATVIEW: 39 6 : return errdetail("This operation is not supported for materialized views."); 40 6 : case RELKIND_COMPOSITE_TYPE: 41 6 : return errdetail("This operation is not supported for composite types."); 42 34 : case RELKIND_FOREIGN_TABLE: 43 34 : return errdetail("This operation is not supported for foreign tables."); 44 38 : case RELKIND_PARTITIONED_TABLE: 45 38 : return errdetail("This operation is not supported for partitioned tables."); 46 16 : case RELKIND_PARTITIONED_INDEX: 47 16 : 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 : }