• Tom Lane's avatar
    Fix ruleutils pretty-printing to not generate trailing whitespace. · 0b7e660d
    Tom Lane authored
    The pretty-printing logic in ruleutils.c operates by inserting a newline
    and some indentation whitespace into strings that are already valid SQL.
    This naturally results in leaving some trailing whitespace before the
    newline in many cases; which can be annoying when processing the output
    with other tools, as complained of by Joe Abbate.  We can fix that in
    a pretty localized fashion by deleting any trailing whitespace before
    we append a pretty-printing newline.  In addition, we have to modify the
    code inserted by commit 2f582f76 so that
    we also delete trailing whitespace when transposing items from temporary
    buffers into the main result string, when a temporary item starts with a
    newline.
    
    This results in rather voluminous changes to the regression test results,
    but it's easily verified that they are only removal of trailing whitespace.
    
    Back-patch to 9.3, because the aforementioned commit resulted in many
    more cases of trailing whitespace than had occurred in earlier branches.
    0b7e660d
aggregates.out 35.7 KB