Re: Flushing large data immediately in pqcomm
David Rowley <dgrowleyml@gmail.com>
From: David Rowley <dgrowleyml@gmail.com>
To: Heikki Linnakangas <hlinnaka@iki.fi>
Cc: Melih Mutlu <m.melihmutlu@gmail.com>, Andres Freund <andres@anarazel.de>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>,
Robert Haas <robertmhaas@gmail.com>, Jelte Fennema-Nio <postgres@jeltef.nl>, Thomas Munro <thomas.munro@gmail.com>
Date: 2024-03-20T21:57:34Z
Lists: pgsql-hackers
On Fri, 15 Mar 2024 at 01:46, Heikki Linnakangas <hlinnaka@iki.fi> wrote: > - the "(int *) &len)" cast is not ok, and will break visibly on > big-endian systems where sizeof(int) != sizeof(size_t). I think fixing this requires adjusting the signature of internal_flush_buffer() to use size_t instead of int. That also means that PqSendStart and PqSendPointer must also become size_t, or internal_flush() must add local size_t variables to pass to internal_flush_buffer and assign these back again to the global after the call. Upgrading the globals might be the cleaner option. David
Commits
-
Avoid needless large memcpys in libpq socket writing
- c4ab7da60617 17.0 landed