From: Tom Lane Date: Fri, 3 Jun 2005 19:00:12 +0000 (+0000) Subject: Just noticed that you can't Query-Cancel a long planner run, because X-Git-Tag: REL8_1_0BETA1~666 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=35313832248ba77d9def870a39611ba350353457;p=postgresql Just noticed that you can't Query-Cancel a long planner run, because no part of the planner did CHECK_FOR_INTERRUPTS(). Add one in a suitably strategic spot. --- diff --git a/src/backend/optimizer/util/pathnode.c b/src/backend/optimizer/util/pathnode.c index 19bb36136c..cf5438f06c 100644 --- a/src/backend/optimizer/util/pathnode.c +++ b/src/backend/optimizer/util/pathnode.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/optimizer/util/pathnode.c,v 1.120 2005/04/25 01:30:13 tgl Exp $ + * $PostgreSQL: pgsql/src/backend/optimizer/util/pathnode.c,v 1.121 2005/06/03 19:00:12 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -277,6 +277,12 @@ add_path(RelOptInfo *parent_rel, Path *new_path) ListCell *p1_prev = NULL; ListCell *p1; + /* + * This is a convenient place to check for query cancel --- no part + * of the planner goes very long without calling add_path(). + */ + CHECK_FOR_INTERRUPTS(); + /* * Loop to check proposed new path against old paths. Note it is * possible for more than one old path to be tossed out because