Remove setvbuf() call from PQtrace()
authorAlvaro Herrera <alvherre@alvh.no-ip.org>
Wed, 31 Mar 2021 23:11:51 +0000 (20:11 -0300)
committerAlvaro Herrera <alvherre@alvh.no-ip.org>
Wed, 31 Mar 2021 23:11:51 +0000 (20:11 -0300)
commit6ec578e60101c3c02533f99715945a0400fb3286
tree5368a84ddedf0c0da61fc9ec73ea148658821f0b
parentaba24b51cc1b045a9810458b4bb15fee2c182948
Remove setvbuf() call from PQtrace()

It's misplaced there -- it's not libpq's output stream to tweak in that
way.  In particular, POSIX says that it has to be called before any
other operation on the file, so if a stream previously used by the
calling application, bad things may happen.

Put setvbuf() in libpq_pipeline for good measure.

Also, reduce fopen(..., "w+") to just fopen(..., "w") in
libpq_pipeline.c.  It's not clear that this fixes anything, but we don't
use w+ anywhere.

Per complaints from Tom Lane.

Discussion: https://postgr.es/m/3337422.1617229905@sss.pgh.pa.us
src/interfaces/libpq/fe-trace.c
src/test/modules/libpq_pipeline/libpq_pipeline.c