{
case RELKIND_RELATION:
case RELKIND_TOASTVALUE:
- case RELKIND_UNCATALOGED:
case RELKIND_SEQUENCE:
return pgstat_heap(rel, fcinfo);
case RELKIND_INDEX:
case RELKIND_RELATION:
case RELKIND_TOASTVALUE:
case RELKIND_VIEW:
- case RELKIND_UNCATALOGED:
options = heap_reloptions(classForm->relkind, datum, false);
break;
case RELKIND_INDEX:
appendStringInfo(buffer, _("sequence %s"),
relname);
break;
- case RELKIND_UNCATALOGED:
- appendStringInfo(buffer, _("uncataloged table %s"),
- relname);
- break;
case RELKIND_TOASTVALUE:
appendStringInfo(buffer, _("toast table %s"),
relname);
reltablespace,
shared_relation,
mapped_relation,
- relpersistence);
+ relpersistence,
+ relkind);
/*
* Have the storage manager create the relation's disk file, if needed.
new_rel_reltup->relowner = relowner;
new_rel_reltup->reltype = new_type_oid;
new_rel_reltup->reloftype = reloftype;
- new_rel_reltup->relkind = relkind;
new_rel_desc->rd_att->tdtypeid = new_type_oid;
*/
indexRelation->rd_rel->relowner = heapRelation->rd_rel->relowner;
indexRelation->rd_rel->relam = accessMethodObjectId;
- indexRelation->rd_rel->relkind = RELKIND_INDEX;
indexRelation->rd_rel->relhasoids = false;
/*
rel = heap_openrv(makeRangeVar(NULL, relName, -1), AccessExclusiveLock);
- /* Note: during bootstrap may see uncataloged relation */
- if (rel->rd_rel->relkind != RELKIND_RELATION &&
- rel->rd_rel->relkind != RELKIND_UNCATALOGED)
+ if (rel->rd_rel->relkind != RELKIND_RELATION)
ereport(ERROR,
(errcode(ERRCODE_WRONG_OBJECT_TYPE),
errmsg("\"%s\" is not a table",
relationId = RelationGetRelid(rel);
namespaceId = RelationGetNamespace(rel);
- /* Note: during bootstrap may see uncataloged relation */
- if (rel->rd_rel->relkind != RELKIND_RELATION &&
- rel->rd_rel->relkind != RELKIND_UNCATALOGED)
+ if (rel->rd_rel->relkind != RELKIND_RELATION)
{
if (rel->rd_rel->relkind == RELKIND_FOREIGN_TABLE)
Oid reltablespace,
bool shared_relation,
bool mapped_relation,
- char relpersistence)
+ char relpersistence,
+ char relkind)
{
Relation rel;
MemoryContext oldcxt;
namestrcpy(&rel->rd_rel->relname, relname);
rel->rd_rel->relnamespace = relnamespace;
- rel->rd_rel->relkind = RELKIND_UNCATALOGED;
+ rel->rd_rel->relkind = relkind;
rel->rd_rel->relhasoids = rel->rd_att->tdhasoid;
rel->rd_rel->relnatts = natts;
rel->rd_rel->reltype = InvalidOid;
#define RELKIND_VIEW 'v' /* view */
#define RELKIND_COMPOSITE_TYPE 'c' /* composite type */
#define RELKIND_FOREIGN_TABLE 'f' /* foreign table */
-#define RELKIND_UNCATALOGED 'u' /* not yet cataloged */
#define RELPERSISTENCE_PERMANENT 'p' /* regular table */
#define RELPERSISTENCE_UNLOGGED 'u' /* unlogged permanent table */
Oid reltablespace,
bool shared_relation,
bool mapped_relation,
- char relpersistence);
+ char relpersistence,
+ char relkind);
/*
* Routine to manage assignment of new relfilenode to a relation