• Robert Haas's avatar
    Stop the executor if no more tuples can be sent from worker to leader. · c6dbf1fe
    Robert Haas authored
    If a Gather node has read as many tuples as it needs (for example, due
    to Limit) it may detach the queue connecting it to the worker before
    reading all of the worker's tuples.  Rather than let the worker
    continue to generate and send all of the results, have it stop after
    sending the next tuple.
    
    More could be done here to stop the worker even quicker, but this is
    about as well as we can hope to do for 9.6.
    
    This is in response to a problem report from Andreas Seltenreich.
    Commit 44339b89 should be actually be
    sufficient to fix that example even without this change, but it seems
    better to do this, too, since we might otherwise waste quite a large
    amount of effort in one or more workers.
    
    Discussion: CAA4eK1KOKGqmz9bGu+Z42qhRwMbm4R5rfnqsLCNqFs9j14jzEA@mail.gmail.com
    
    Amit Kapila
    c6dbf1fe
spi.c 67.6 KB