diff options
Diffstat (limited to 'src/backend/tcop/fastpath.c')
-rw-r--r-- | src/backend/tcop/fastpath.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/backend/tcop/fastpath.c b/src/backend/tcop/fastpath.c index 80cf04680a9..90848112580 100644 --- a/src/backend/tcop/fastpath.c +++ b/src/backend/tcop/fastpath.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/tcop/fastpath.c,v 1.99 2008/03/26 18:48:59 alvherre Exp $ + * $PostgreSQL: pgsql/src/backend/tcop/fastpath.c,v 1.100 2008/05/12 20:02:01 alvherre Exp $ * * NOTES * This cruft is the server side of PQfn. @@ -309,7 +309,7 @@ HandleFunctionRequest(StringInfo msgBuf) * Now that we know we are in a valid transaction, set snapshot in case * needed by function itself or one of the datatype I/O routines. */ - ActiveSnapshot = CopySnapshot(GetTransactionSnapshot()); + PushActiveSnapshot(GetTransactionSnapshot()); /* * Begin parsing the buffer contents. @@ -396,6 +396,9 @@ HandleFunctionRequest(StringInfo msgBuf) SendFunctionResult(retval, fcinfo.isnull, fip->rettype, rformat); + /* We no longer need the snapshot */ + PopActiveSnapshot(); + /* * Emit duration logging if appropriate. */ |