From 35313832248ba77d9def870a39611ba350353457 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Fri, 3 Jun 2005 19:00:12 +0000 Subject: [PATCH] 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. --- src/backend/optimizer/util/pathnode.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) 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