aboutsummaryrefslogtreecommitdiff
path: root/src/test/modules/libpq_pipeline/libpq_pipeline.c
diff options
context:
space:
mode:
authorAlvaro Herrera <alvherre@alvh.no-ip.org>2021-04-01 16:25:46 -0300
committerAlvaro Herrera <alvherre@alvh.no-ip.org>2021-04-01 16:25:51 -0300
commita68a894f0198aaeffa81b3027f135adcdaa8abf6 (patch)
treeb2e1a7f22cf536507d1b980c3e3bc569f60c7ca3 /src/test/modules/libpq_pipeline/libpq_pipeline.c
parent3b6c1259f9ca8e21860aaf24ec6735a8e5598ea0 (diff)
downloadpostgresql-a68a894f0198aaeffa81b3027f135adcdaa8abf6.tar.gz
postgresql-a68a894f0198aaeffa81b3027f135adcdaa8abf6.zip
Fix setvbuf()-induced crash in libpq_pipeline
Windows doesn't like setvbuf(..., _IOLBF) and crashes if you use it, which has been causing the libpq_pipeline failures all along ... and our own port.h has known about it for a long time: it offers PG_IOLBF that's defined to _IONBF on that platform. Follow its advice. While at it, get rid of a bogus bitshift that used a constant of the wrong size. Decorate the constant as LL to fix. While at it, remove a pointless addition that only confused matters. All as diagnosed by Tom Lane. Discussion: https://postgr.es/m/3458958.1617302154@sss.pgh.pa.us
Diffstat (limited to 'src/test/modules/libpq_pipeline/libpq_pipeline.c')
-rw-r--r--src/test/modules/libpq_pipeline/libpq_pipeline.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/test/modules/libpq_pipeline/libpq_pipeline.c b/src/test/modules/libpq_pipeline/libpq_pipeline.c
index 4fc35cacf8f..95ffaae9f67 100644
--- a/src/test/modules/libpq_pipeline/libpq_pipeline.c
+++ b/src/test/modules/libpq_pipeline/libpq_pipeline.c
@@ -724,8 +724,8 @@ test_pipelined_insert(PGconn *conn, int n_rows)
if (send_step == BI_INSERT_ROWS)
{
snprintf(insert_param_0, MAXINTLEN, "%d", rows_to_send);
- snprintf(insert_param_1, MAXINT8LEN, "%lld",
- (1L << 62) + (long long) rows_to_send);
+ /* use up some buffer space with a wide value */
+ snprintf(insert_param_1, MAXINT8LEN, "%lld", 1LL << 62);
if (PQsendQueryPrepared(conn, "my_insert",
2, insert_params, NULL, NULL, 0) == 1)
@@ -1324,7 +1324,7 @@ main(int argc, char **argv)
pg_fatal("could not open file \"%s\": %m", tracefile);
/* Make it line-buffered */
- setvbuf(trace, NULL, _IOLBF, 0);
+ setvbuf(trace, NULL, PG_IOLBF, 0);
PQtrace(conn, trace);
PQtraceSetFlags(conn,