Do a CHECK_FOR_INTERRUPTS after emitting a message of less than ERROR

severity.  This is to ensure the user can cancel a query that's spitting
out lots of notice/warning messages, even if they're coming from a loop
that doesn't otherwise contain a CHECK_FOR_INTERRUPTS.  Per gripe from
Stephen Frost.
This commit is contained in:
Tom Lane 2006-10-01 22:08:18 +00:00
parent e69c09c1e9
commit 8e4fe3ba1e
1 changed files with 9 additions and 2 deletions

View File

@ -42,7 +42,7 @@
*
*
* IDENTIFICATION
* $PostgreSQL: pgsql/src/backend/utils/error/elog.c,v 1.174 2006/09/27 18:40:09 tgl Exp $
* $PostgreSQL: pgsql/src/backend/utils/error/elog.c,v 1.175 2006/10/01 22:08:18 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@ -451,7 +451,14 @@ errfinish(int dummy,...)
abort();
}
/* We reach here if elevel <= WARNING. OK to return to caller. */
/*
* We reach here if elevel <= WARNING. OK to return to caller.
*
* But check for cancel/die interrupt first --- this is so that the user
* can stop a query emitting tons of notice or warning messages, even if
* it's in a loop that otherwise fails to check for interrupts.
*/
CHECK_FOR_INTERRUPTS();
}