postgresql/src
Tom Lane 745e6edaae Fix SPI_cursor_open() and SPI_is_cursor_plan() to push the SPI stack before
doing anything interesting, such as calling RevalidateCachedPlan().  The
necessity of this is demonstrated by an example from Willem Buitendyk:
during a replan, the planner might try to evaluate SPI-using functions,
and so we'd better be in a clean SPI context.

A small downside of this fix is that these two functions will now fail
outright if called when not inside a SPI-using procedure (ie, a
SPI_connect/SPI_finish pair).  The documentation never promised or suggested
that that would work, though; and they are normally used in concert with
other functions, mainly SPI_prepare, that always have failed in such a case.
So the odds of breaking something seem pretty low.

In passing, make SPI_is_cursor_plan's error handling convention clearer,
and fix documentation's erroneous claim that SPI_cursor_open would
return NULL on error.

Before 8.3 these functions could not invoke replanning, so there is probably
no need for back-patching.
2008-02-12 04:09:44 +00:00
..
backend Fix SPI_cursor_open() and SPI_is_cursor_plan() to push the SPI stack before 2008-02-12 04:09:44 +00:00
bin Translation updates 2008-01-31 18:04:52 +00:00
include Fix CREATE TABLE ... LIKE ... INCLUDING INDEXES to not cause unwanted 2008-02-07 17:09:51 +00:00
interfaces - Fixed segfault in ecpg when using an array element. 2008-02-07 11:09:13 +00:00
makefiles Teach pgxs.mk and Install.pm how to install files from a contrib module 2007-10-16 16:00:00 +00:00
pl Document the fix for perl 5.10 with this comment: 2008-01-23 00:55:47 +00:00
port Update copyrights in source tree to 2008. 2008-01-01 19:46:01 +00:00
template Use SYSV semaphores rather than POSIX on Darwin >= 6.0 (i.e., OS X 10.2 2007-09-26 00:32:46 +00:00
test Make pg_regress clean out the testtablespace directory only on Windows. 2008-01-19 17:43:42 +00:00
timezone Update timezone mapping for Windows with new timezones added 2008-02-11 19:55:11 +00:00
tools Fix msvc install for cases where msgfmt (from gettext) is in a directory 2008-02-07 17:58:16 +00:00
tutorial Update copyrights in source tree to 2008. 2008-01-01 19:46:01 +00:00
bcc32.mak Remove old-style win32 client-only visual c++ build infrastructure for everything except 2007-03-05 14:18:38 +00:00
DEVELOPERS Testing commit stuff 2006-07-10 15:50:02 +00:00
Makefile Tsearch2 functionality migrates to core. The bulk of this work is by 2007-08-21 01:11:32 +00:00
Makefile.global.in I find that an out-of-the-box installation of OSSP uuid 1.6.0 installs 2007-11-13 00:13:19 +00:00
Makefile.shlib Change $(CC) to $(COMPILER) on Solaris gcc so -m64 is passed into the 2007-02-20 22:45:57 +00:00
nls-global.mk When merging PO files, take into consideration translations in other PO 2006-04-05 13:40:15 +00:00
win32.mak Update supported standalone VC++ version to 7.1+ only, and fix 2007-08-03 10:47:11 +00:00