pgsql: Fix Assert failure when a fastpath function call is attempted

From: tgl(at)postgresql(dot)org (Tom Lane)
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: Fix Assert failure when a fastpath function call is attempted
Date: 2006-06-11 15:49:46
Message-ID: 20060611154946.C09B89FA5E7@postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

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

Tags:
----
REL8_0_STABLE

Modified Files:
--------------
pgsql/src/backend/tcop:
fastpath.c (r1.77 -> r1.77.4.1)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/tcop/fastpath.c.diff?r1=1.77&r2=1.77.4.1)
postgres.c (r1.440.4.5 -> r1.440.4.6)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/tcop/postgres.c.diff?r1=1.440.4.5&r2=1.440.4.6)

Browse pgsql-committers by date

  From Date Subject
Next Message User Andrewd 2006-06-11 18:31:59 pgbuildfarm - client-code: make template config force_every 336 ( = 2
Previous Message Tom Lane 2006-06-11 15:49:36 pgsql: Fix Assert failure when a fastpath function call is attempted