]> granicus.if.org Git - postgresql/commit
Fix ruleutils pretty-printing to not generate trailing whitespace.
authorTom Lane <tgl@sss.pgh.pa.us>
Mon, 11 Nov 2013 18:36:42 +0000 (13:36 -0500)
committerTom Lane <tgl@sss.pgh.pa.us>
Mon, 11 Nov 2013 18:36:42 +0000 (13:36 -0500)
commitfbbd150a25676076b5ed0e68f77adafcf46c1f4d
treef3fc2ba248b1c1e826ae45a891ee5de5e6db4927
parent04e6ee40206fa61dc856bf2840ce6bb198d5200c
Fix ruleutils pretty-printing to not generate trailing whitespace.

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 2f582f76b1945929ff07116cd4639747ce9bb8a1 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.
src/backend/utils/adt/ruleutils.c
src/test/regress/expected/aggregates.out
src/test/regress/expected/create_view.out
src/test/regress/expected/matview.out
src/test/regress/expected/polymorphism.out
src/test/regress/expected/rules.out
src/test/regress/expected/triggers.out
src/test/regress/expected/with.out