• Fujii Masao's avatar
    Avoid unnecessary table open/close in TRUNCATE command. · 81a23dd8
    Fujii Masao authored
    ExecuteTruncate() filters out the duplicate tables specified
    in the TRUNCATE command, for example in the case where "TRUNCATE foo, foo"
    is executed. Such duplicate tables obviously don't need to be opened
    and closed because they are skipped. But previously it always opened
    the tables before checking whether they were duplicated ones or not,
    and then closed them if they were. That is, the duplicated tables were
    opened and closed unnecessarily.
    
    This commit changes ExecuteTruncate() so that it opens the table
    after it confirms that table is not duplicated one, which leads to
    avoid unnecessary table open/close.
    
    Do not back-patch because such unnecessary table open/close is not
    a bug though it exists in older versions.
    
    Author: Bharath Rupireddy
    Reviewed-by: Amul Sul, Fujii Masao
    Discussion: https://postgr.es/m/CALj2ACUdBO_sXJTa08OZ0YT0qk7F_gAmRa9hT4dxRcgPS4nsZA@mail.gmail.com
    81a23dd8
tablecmds.c 570 KB