53 lines
1.7 KiB
C
53 lines
1.7 KiB
C
/*-------------------------------------------------------------------------
|
|
*
|
|
* pg_class.c
|
|
* routines to support manipulation of the pg_class relation
|
|
*
|
|
* Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group
|
|
* Portions Copyright (c) 1994, Regents of the University of California
|
|
*
|
|
*
|
|
* IDENTIFICATION
|
|
* src/backend/catalog/pg_class.c
|
|
*
|
|
*-------------------------------------------------------------------------
|
|
*/
|
|
#include "postgres.h"
|
|
|
|
#include "catalog/pg_class.h"
|
|
|
|
/*
|
|
* Issue an errdetail() informing that the relkind is not supported for this
|
|
* operation.
|
|
*/
|
|
int
|
|
errdetail_relkind_not_supported(char relkind)
|
|
{
|
|
switch (relkind)
|
|
{
|
|
case RELKIND_RELATION:
|
|
return errdetail("This operation is not supported for tables.");
|
|
case RELKIND_INDEX:
|
|
return errdetail("This operation is not supported for indexes.");
|
|
case RELKIND_SEQUENCE:
|
|
return errdetail("This operation is not supported for sequences.");
|
|
case RELKIND_TOASTVALUE:
|
|
return errdetail("This operation is not supported for TOAST tables.");
|
|
case RELKIND_VIEW:
|
|
return errdetail("This operation is not supported for views.");
|
|
case RELKIND_MATVIEW:
|
|
return errdetail("This operation is not supported for materialized views.");
|
|
case RELKIND_COMPOSITE_TYPE:
|
|
return errdetail("This operation is not supported for composite types.");
|
|
case RELKIND_FOREIGN_TABLE:
|
|
return errdetail("This operation is not supported for foreign tables.");
|
|
case RELKIND_PARTITIONED_TABLE:
|
|
return errdetail("This operation is not supported for partitioned tables.");
|
|
case RELKIND_PARTITIONED_INDEX:
|
|
return errdetail("This operation is not supported for partitioned indexes.");
|
|
default:
|
|
elog(ERROR, "unrecognized relkind: '%c'", relkind);
|
|
return 0;
|
|
}
|
|
}
|