postgres.git / summary / log / commit / refs

commit    41a300ae3df5015d0779728ee0b4adb866953d31
Author:   Peter Eisentraut <peter@eisentraut.org>
Date:     Fri Aug 14 12:53:50 2026 +0000

    Make generate_queries_for_path_pattern_recurse() interruptible
    
    In case of a very long path pattern with each element pattern being
    resolved to many graph elements
    generate_queries_for_path_pattern_recurse() may take very long time to
    generate all the possible graph paths.  Make
    generate_queries_for_path_pattern_recurse() interruptible so that a
    user may be able to cancel such a query if required and the interrupts
    are processed in timely manner.
    
    Author: Satyanarayana Narlapuram <satyanarlapuram@gmail.com>
    Reviewed-by: Ashutosh Bapat <ashutosh.bapat.oss@gmail.com>
    Discussion: https://www.postgresql.org/message-id/flat/CAHg%2BQDfDwcM4%3DDSiAV6Ly89YQ5EcMhzO1-9x%3DmGG1WJzODcAig%40mail.gmail.com


src/backend/rewrite/rewriteGraphTable.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/backend/rewrite/rewriteGraphTable.c b/src/backend/rewrite/rewriteGraphTable.c index cdb1f4c0dca..0eaf28b3de5 100644 --- a/src/backend/rewrite/rewriteGraphTable.c +++ b/src/backend/rewrite/rewriteGraphTable.c @@ -367,6 +367,8 @@ generate_queries_for_path_pattern_recurse(RangeTblEntry *rte, List *pathqueries, foreach_ptr(struct path_element, pe, path_elems) { + CHECK_FOR_INTERRUPTS(); + /* Update current path being built with current element. */ cur_path = lappend(cur_path, pe); [parent: f3a116a26ff0]