Make use of plancache module for SPI plans. In particular, since plpgsql

Tom Lane <tgl@sss.pgh.pa.us>

Commit: 95f6d2d20921b7c2dbec29bf2706fd9448208aa6
Author: Tom Lane <tgl@sss.pgh.pa.us>
Date: 2007-03-15T23:12:07Z
Releases: 8.3.0
Make use of plancache module for SPI plans.  In particular, since plpgsql
uses SPI plans, this finally fixes the ancient gotcha that you can't
drop and recreate a temp table used by a plpgsql function.

Along the way, clean up SPI's API a little bit by declaring SPI plan
pointers as "SPIPlanPtr" instead of "void *".  This is cosmetic but
helps to forestall simple programming mistakes.  (I have changed some
but not all of the callers to match; there are still some "void *"'s
in contrib and the PL's.  This is intentional so that we can see if
anyone's compiler complains about it.)

Files