65 elog(
ERROR,
"cache lookup failed for relation %u", relationId);
68 if (classForm->relhasrules != relHasRules)
71 classForm->relhasrules = relHasRules;
107 (
errcode(ERRCODE_UNDEFINED_OBJECT),
108 errmsg(
"rule \"%s\" for relation \"%s\" does not exist",
112 Assert(relid == ruleform->ev_class);
113 ruleoid = ruleform->oid;
#define Assert(condition)
int errcode(int sqlerrcode)
int errmsg(const char *fmt,...)
#define ereport(elevel,...)
void heap_freetuple(HeapTuple htup)
#define HeapTupleIsValid(tuple)
void CatalogTupleUpdate(Relation heapRel, ItemPointer otid, HeapTuple tup)
void CacheInvalidateRelcacheByTuple(HeapTuple classTuple)
char * get_rel_name(Oid relid)
FormData_pg_class * Form_pg_class
FormData_pg_rewrite * Form_pg_rewrite
static Datum PointerGetDatum(const void *X)
static Datum ObjectIdGetDatum(Oid X)
void SetRelationRuleStatus(Oid relationId, bool relHasRules)
bool IsDefinedRewriteRule(Oid owningRel, const char *ruleName)
Oid get_rewrite_oid(Oid relid, const char *rulename, bool missing_ok)
void ReleaseSysCache(HeapTuple tuple)
HeapTuple SearchSysCache2(int cacheId, Datum key1, Datum key2)
#define SearchSysCacheCopy1(cacheId, key1)
#define SearchSysCacheExists2(cacheId, key1, key2)
void table_close(Relation relation, LOCKMODE lockmode)
Relation table_open(Oid relationId, LOCKMODE lockmode)