]> granicus.if.org Git - postgresql/commit
Fix an oversight in my patch of a couple weeks ago that ensured a snapshot
authorTom Lane <tgl@sss.pgh.pa.us>
Thu, 1 Jan 2009 17:12:16 +0000 (17:12 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Thu, 1 Jan 2009 17:12:16 +0000 (17:12 +0000)
commit87081b2d35057c4919a8a05a7c52fe87845874d5
treef231a0cdc069ac6a84a804983bd91bd290cbf11d
parentdf0ea5a1cdc9b5a8ed172124818d42a9d33bc971
Fix an oversight in my patch of a couple weeks ago that ensured a snapshot
is available during datatype input in Bind message processing.  I put the
PopActiveSnapshot() or equivalent just before PortalDefineQuery, which is
an unsafe spot for it (in 8.3 and later) because we are carrying a plancache
refcount that hasn't yet been assigned to the portal.  Any error thrown there
would result in leaking the refcount.  It's not exactly likely that
PopActiveSnapshot would throw an elog, perhaps, but it could happen.
Reorder the code and add another comment warning not to do that.
src/backend/tcop/postgres.c