• Etsuro Fujita's avatar
    Fix rescanning of async-aware Append nodes. · f3baaf28
    Etsuro Fujita authored
    In cases where run-time pruning isn't required, the synchronous and
    asynchronous subplans for an async-aware Append node determined using
    classify_matching_subplans() should be re-used when rescanning the node,
    but the previous code re-determined them using that function repeatedly
    each time when rescanning the node, leading to incorrect results in a
    normal build and an Assert failure in an Assert-enabled build as that
    function doesn't assume that it's called repeatedly in such cases.  Fix
    the code as mentioned above.
    
    My oversight in commit 27e1f145.
    
    While at it, initialize async-related pointers/variables to NULL/zero
    explicitly in ExecInitAppend() and ExecReScanAppend(), just to be sure.
    (The variables would have been set to zero before we get to the latter
    function, but let's do so.)
    
    Reviewed-by: Kyotaro Horiguchi
    Discussion: https://postgr.es/m/CAPmGK16Q4B2_KY%2BJH7rb7wQbw54AUprp7TMekGTd2T1B62yysQ%40mail.gmail.com
    f3baaf28
postgres_fdw.out 499 KB