Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to content

Commit 887cdff

Browse files
committed
Add CHECK_FOR_INTERRUPTS() to the repeat() function
The repeat() function loops for potentially a long time without ever checking for interrupts. This prevents, for example, a query cancel from interrupting until the work is all done. Fix by inserting a CHECK_FOR_INTERRUPTS() into the loop. Backpatch to all supported versions. Discussion: https://www.postgresql.org/message-id/flat/8692553c-7fe8-17d9-cbc1-7cddb758f4c6%40joeconway.com
1 parent 5b1c61e commit 887cdff

File tree

1 file changed

+2
-0
lines changed

1 file changed

+2
-0
lines changed

src/backend/utils/adt/oracle_compat.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717

1818
#include "common/int.h"
1919
#include "mb/pg_wchar.h"
20+
#include "miscadmin.h"
2021
#include "utils/builtins.h"
2122
#include "utils/formatting.h"
2223

@@ -1061,6 +1062,7 @@ repeat(PG_FUNCTION_ARGS)
10611062
{
10621063
memcpy(cp, sp, slen);
10631064
cp += slen;
1065+
CHECK_FOR_INTERRUPTS();
10641066
}
10651067

10661068
PG_RETURN_TEXT_P(result);

0 commit comments

Comments
 (0)