]> granicus.if.org Git - postgresql/commit
Fix Assert failure when a fastpath function call is attempted inside an
authorTom Lane <tgl@sss.pgh.pa.us>
Sun, 11 Jun 2006 15:49:28 +0000 (15:49 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Sun, 11 Jun 2006 15:49:28 +0000 (15:49 +0000)
commitbf64a37909cd25e2e14c47de922a51d205795d17
tree9c1f09b19f36033f6da8bc4ada1d6c6485ab3b94
parent807bfa581c1ed9bf44efcdf501e2c92e5d29ed40
Fix Assert failure when a fastpath function call is attempted inside an
already-aborted transaction block.  GetSnapshotData throws an Assert if
not in a valid transaction; hence we mustn't attempt to set a snapshot
for the function until after checking for aborted transaction.  This is
harmless AFAICT if Asserts aren't enabled (GetSnapshotData will compute
a bogus snapshot, but it doesn't matter since HandleFunctionRequest will
throw an error shortly anywy).  Hence, not a major bug.

Along the way, add some ability to log fastpath calls when statement
logging is turned on.  This could probably stand to be improved further,
but not logging anything is clearly undesirable.

Backpatched as far as 8.0; bug doesn't exist before that.
src/backend/tcop/fastpath.c
src/backend/tcop/postgres.c