diff options
Diffstat (limited to 'src/backend/commands/trigger.c')
-rw-r--r-- | src/backend/commands/trigger.c | 5 |
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, |