pgsql: Make use of plancache module for SPI plans.

From: tgl(at)postgresql(dot)org (Tom Lane)
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: Make use of plancache module for SPI plans.
Date: 2007-03-15 23:12:07
Message-ID: 20070315231207.B0B869FBA86@postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Log Message:
-----------
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.)

Modified Files:
--------------
pgsql/contrib/spi:
refint.c (r1.31 -> r1.32)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/contrib/spi/refint.c.diff?r1=1.31&r2=1.32)
timetravel.c (r1.26 -> r1.27)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/contrib/spi/timetravel.c.diff?r1=1.26&r2=1.27)
pgsql/doc/src/sgml:
spi.sgml (r1.53 -> r1.54)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/spi.sgml.diff?r1=1.53&r2=1.54)
pgsql/src/backend/executor:
spi.c (r1.171 -> r1.172)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/executor/spi.c.diff?r1=1.171&r2=1.172)
pgsql/src/backend/utils/adt:
ri_triggers.c (r1.91 -> r1.92)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/adt/ri_triggers.c.diff?r1=1.91&r2=1.92)
ruleutils.c (r1.252 -> r1.253)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/adt/ruleutils.c.diff?r1=1.252&r2=1.253)
xml.c (r1.34 -> r1.35)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/adt/xml.c.diff?r1=1.34&r2=1.35)
pgsql/src/backend/utils/cache:
plancache.c (r1.1 -> r1.2)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/cache/plancache.c.diff?r1=1.1&r2=1.2)
pgsql/src/include/executor:
spi.h (r1.58 -> r1.59)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/executor/spi.h.diff?r1=1.58&r2=1.59)
spi_priv.h (r1.27 -> r1.28)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/executor/spi_priv.h.diff?r1=1.27&r2=1.28)
pgsql/src/include/utils:
plancache.h (r1.1 -> r1.2)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/utils/plancache.h.diff?r1=1.1&r2=1.2)
pgsql/src/pl/plpgsql/src:
pl_exec.c (r1.189 -> r1.190)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/pl/plpgsql/src/pl_exec.c.diff?r1=1.189&r2=1.190)
plpgsql.h (r1.85 -> r1.86)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/pl/plpgsql/src/plpgsql.h.diff?r1=1.85&r2=1.86)
pgsql/src/test/regress/expected:
plancache.out (r1.1 -> r1.2)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/test/regress/expected/plancache.out.diff?r1=1.1&r2=1.2)
pgsql/src/test/regress:
regress.c (r1.69 -> r1.70)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/test/regress/regress.c.diff?r1=1.69&r2=1.70)
pgsql/src/test/regress/sql:
plancache.sql (r1.1 -> r1.2)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/test/regress/sql/plancache.sql.diff?r1=1.1&r2=1.2)

Browse pgsql-committers by date

  From Date Subject
Next Message James William Pye 2007-03-16 05:12:07 python - lo: Add service and IRI options.
Previous Message User Mkz 2007-03-15 14:50:03 pgbouncer - pgbouncer: update relnotes