Fix pg_plan_queries() to restore the previous setting of ActiveSnapshot
authorTom Lane <tgl@sss.pgh.pa.us>
Wed, 12 Mar 2008 23:58:27 +0000 (23:58 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Wed, 12 Mar 2008 23:58:27 +0000 (23:58 +0000)
commitda6a707c296550b28baa1e5b29a1052de0d40d7f
treef91c871b19b2c74f3d6c5b534aa5e26029bb3ed1
parent0d540b097c042900b806b10698b1c49223599a49
Fix pg_plan_queries() to restore the previous setting of ActiveSnapshot
(probably NULL) before exiting.  Up to now it's just left the variable as it
set it, which means that after we're done processing the current client
message, ActiveSnapshot is probably pointing at garbage (because this function
is typically run in MessageContext which will get reset).  There doesn't seem
to have been any code path in which that mattered before 8.3, but now the
plancache module might try to use the stale value if the next client message
is a Bind for a prepared statement that is in need of replanning.  Per report
from Alex Hunsaker.
src/backend/tcop/postgres.c