> > the standard distribution. It occurs when a trigger calling this
> > function recursively fires another trigger which calls the same
> > function. The calling check_foreign_key loses its plan informantion and
> > when it tries to use it the backend closes its channel. You can check it
> > with the sql script I am attaching below.
> > The solution to this is to do a find_plan again before executing it at
> > line 483 of refint.c.
> > Therefore two more lines should be added before line 483:
Anand Surelia
relname = args[0];
+ sprintf(ident, "%s$%u", trigger->tgname, rel->rd_id);
+ plan = find_plan(ident, &FPlans, &nFPlans);
ret = SPI_execp(plan->splan[r], kvals, NULL, tcount);
/* we have no NULLs - so we pass ^^^^ here */
<variablelist>
<varlistentry>
<term>
-rules and views
+rules
<listitem>
<para>
<application>pg_dump</application>
-does not understand user-defined rules and views and
+does not understand user-defined rules and
will fail to dump them properly. (This is due to the fact that
-rules are stored as plans in the catalogs and not textually).
+rules are stored as plans in the catalogs and not textually.)
<varlistentry>
<term>