From 64610a82f2f352e98595f88e247879ba6bab6b9e Mon Sep 17 00:00:00 2001
From: Peter Eisentraut <peter_e@gmx.net>
Date: Wed, 27 Sep 2000 10:41:55 +0000
Subject: [PATCH] Reset current user id to session user id during transaction
 abort

---
 src/backend/access/transam/xact.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/src/backend/access/transam/xact.c b/src/backend/access/transam/xact.c
index 812e137071c..9a52b2ff09c 100644
--- a/src/backend/access/transam/xact.c
+++ b/src/backend/access/transam/xact.c
@@ -8,7 +8,7 @@
  *
  *
  * IDENTIFICATION
- *	  $Header: /cvsroot/pgsql/src/backend/access/transam/xact.c,v 1.70 2000/08/06 04:17:47 tgl Exp $
+ *	  $Header: /cvsroot/pgsql/src/backend/access/transam/xact.c,v 1.71 2000/09/27 10:41:55 petere Exp $
  *
  * NOTES
  *		Transaction aborts can now occur two ways:
@@ -162,6 +162,7 @@
 #include "commands/trigger.h"
 #include "executor/spi.h"
 #include "libpq/be-fsstubs.h"
+#include "miscadmin.h"
 #include "storage/proc.h"
 #include "storage/sinval.h"
 #include "utils/inval.h"
@@ -1088,6 +1089,11 @@ AbortTransaction()
 	if (s->state != TRANS_INPROGRESS)
 		elog(NOTICE, "AbortTransaction and not in in-progress state");
 
+	/*
+	 * Reset user id which might have been changed transiently
+	 */
+	SetUserId(GetSessionUserId());
+
 	/* ----------------
 	 *	Tell the trigger manager that this transaction is about to be
 	 *	aborted.
-- 
GitLab