aboutsummaryrefslogtreecommitdiff
path: root/src/backend/commands/trigger.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend/commands/trigger.c')
-rw-r--r--src/backend/commands/trigger.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/backend/commands/trigger.c b/src/backend/commands/trigger.c
index 1db066681bc..31a5411140d 100644
--- a/src/backend/commands/trigger.c
+++ b/src/backend/commands/trigger.c
@@ -4332,7 +4332,7 @@ AfterTriggerEnlargeQueryState(void)
if (afterTriggers.maxquerydepth == 0)
{
- int new_alloc = Max(afterTriggers.query_depth, 8);
+ int new_alloc = Max(afterTriggers.query_depth + 1, 8);
afterTriggers.query_stack = (AfterTriggerEventList *)
MemoryContextAlloc(TopTransactionContext,
@@ -4346,7 +4346,8 @@ AfterTriggerEnlargeQueryState(void)
{
/* repalloc will keep the stack in the same context */
int old_alloc = afterTriggers.maxquerydepth;
- int new_alloc = Max(afterTriggers.query_depth, old_alloc * 2);
+ int new_alloc = Max(afterTriggers.query_depth + 1,
+ old_alloc * 2);
afterTriggers.query_stack = (AfterTriggerEventList *)
repalloc(afterTriggers.query_stack,