diff options
Diffstat (limited to 'src/backend/executor/nodeWindowAgg.c')
-rw-r--r-- | src/backend/executor/nodeWindowAgg.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/backend/executor/nodeWindowAgg.c b/src/backend/executor/nodeWindowAgg.c index 8f13fe0c732..9da35ac506b 100644 --- a/src/backend/executor/nodeWindowAgg.c +++ b/src/backend/executor/nodeWindowAgg.c @@ -1594,6 +1594,8 @@ ExecWindowAgg(WindowAggState *winstate) int i; int numfuncs; + CHECK_FOR_INTERRUPTS(); + if (winstate->all_done) return NULL; @@ -2371,6 +2373,9 @@ window_gettupleslot(WindowObject winobj, int64 pos, TupleTableSlot *slot) WindowAggState *winstate = winobj->winstate; MemoryContext oldcontext; + /* often called repeatedly in a row */ + CHECK_FOR_INTERRUPTS(); + /* Don't allow passing -1 to spool_tuples here */ if (pos < 0) return false; |