diff options
-rw-r--r-- | src/interfaces/libpq/fe-misc.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/interfaces/libpq/fe-misc.c b/src/interfaces/libpq/fe-misc.c index 635c3f0674d..17b9ed3e856 100644 --- a/src/interfaces/libpq/fe-misc.c +++ b/src/interfaces/libpq/fe-misc.c @@ -23,7 +23,7 @@ * Portions Copyright (c) 1994, Regents of the University of California * * IDENTIFICATION - * $PostgreSQL: pgsql/src/interfaces/libpq/fe-misc.c,v 1.130 2006/10/04 00:30:13 momjian Exp $ + * $PostgreSQL: pgsql/src/interfaces/libpq/fe-misc.c,v 1.130.2.1 2008/08/20 11:53:49 mha Exp $ * *------------------------------------------------------------------------- */ @@ -752,7 +752,16 @@ pqSendSome(PGconn *conn, int len) int sent; char sebuf[256]; +#ifndef WIN32 sent = pqsecure_write(conn, ptr, len); +#else + /* + * Windows can fail on large sends, per KB article Q201213. The failure-point + * appears to be different in different versions of Windows, but 64k should + * always be safe. + */ + sent = pqsecure_write(conn, ptr, Min(len, 65536)); +#endif if (sent < 0) { |