if (classForm->relhasrules != relHasRules)
{ /* Do the update */
classForm->relhasrules = relHasRules;
CatalogTupleUpdate(relationRelation, &tuple->t_self, tuple);
} else
{ /* no need to change tuple, but force relcache rebuild anyway */
CacheInvalidateRelcacheByTuple(tuple);
}
/* *Findruleoid. * *Ifmissing_okisfalse,throwanerrorifrulenamenotfound.If *true,justreturnInvalidOid.
*/
Oid
get_rewrite_oid(Oid relid, constchar *rulename, bool missing_ok)
{
HeapTuple tuple;
Form_pg_rewrite ruleform;
Oid ruleoid;
/* Find the rule's pg_rewrite tuple, get its OID */
tuple = SearchSysCache2(RULERELNAME,
ObjectIdGetDatum(relid),
PointerGetDatum(rulename)); if (!HeapTupleIsValid(tuple))
{ if (missing_ok) return InvalidOid;
ereport(ERROR,
(errcode(ERRCODE_UNDEFINED_OBJECT),
errmsg("rule \"%s\" for relation \"%s\" does not exist",
rulename, get_rel_name(relid))));
}
ruleform = (Form_pg_rewrite) GETSTRUCT(tuple);
Assert(relid == ruleform->ev_class);
ruleoid = ruleform->oid;
ReleaseSysCache(tuple); return ruleoid;
}
Messung V0.5 in Prozent
¤ Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.0.1Bemerkung:
(vorverarbeitet am 2026-09-28)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.