From a20e49bea82712e803f133dc81716bc4220df496 Mon Sep 17 00:00:00 2001
From: Tom Lane <tgl@sss.pgh.pa.us>
Date: Mon, 21 Oct 2002 19:55:49 +0000
Subject: [PATCH] Avoid using IsTransactionBlock() in
 DeferredTriggerSetState(); no real need for this optimization, and it's too
 easily fooled anyway.

---
 src/backend/commands/trigger.c | 8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)

diff --git a/src/backend/commands/trigger.c b/src/backend/commands/trigger.c
index b404bc3dc51..efac061948f 100644
--- a/src/backend/commands/trigger.c
+++ b/src/backend/commands/trigger.c
@@ -7,7 +7,7 @@
  * Portions Copyright (c) 1994, Regents of the University of California
  *
  * IDENTIFICATION
- *	  $Header: /cvsroot/pgsql/src/backend/commands/trigger.c,v 1.135 2002/10/14 16:51:29 tgl Exp $
+ *	  $Header: /cvsroot/pgsql/src/backend/commands/trigger.c,v 1.136 2002/10/21 19:55:49 tgl Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -1991,11 +1991,9 @@ DeferredTriggerSetState(ConstraintsSetStmt *stmt)
 	List	   *l;
 
 	/*
-	 * If called outside a transaction block, we can safely return: this
-	 * command cannot effect any subsequent transactions, and there are no
-	 * "session-level" trigger settings.
+	 * Ignore call if we aren't in a transaction.
 	 */
-	if (!IsTransactionBlock())
+	if (deftrig_cxt == NULL)
 		return;
 
 	/*
-- 
GitLab