From: | tgl(at)postgresql(dot)org (Tom Lane) |
---|---|
To: | pgsql-committers(at)postgresql(dot)org |
Subject: | pgsql: Insert into getCopyDataMessage() the same logic that already |
Date: | 2008-01-17 21:21:50 |
Message-ID: | 20080117212150.416B0754108@cvs.postgresql.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-committers |
Log Message:
-----------
Insert into getCopyDataMessage() the same logic that already existed in the
main code path for enlarging libpq's input buffer in one swoop when needing to
read a long data message. Without this, the code will double the buffer size,
read more data, notice it still hasn't got the whole message, and repeat till
it finally has a large enough buffer. Which wastes a lot of data-moving
effort and also memory (since malloc probably can't do anything very useful
with the freed-up smaller buffers). Not sure why this wasn't there already;
certainly the COPY data path is a place where we're quite likely to see long
data messages. I'm not backpatching though, since this is just a marginal
performance issue rather than a real bug.
Modified Files:
--------------
pgsql/src/interfaces/libpq:
fe-protocol3.c (r1.33 -> r1.34)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/interfaces/libpq/fe-protocol3.c?r1=1.33&r2=1.34)
From | Date | Subject | |
---|---|---|---|
Next Message | Marc G. Fournier | 2008-01-17 22:19:14 | Re: [ADMIN] postgresql in FreeBSD jails: proposal |
Previous Message | Tom Lane | 2008-01-17 20:35:34 | pgsql: Fix subselect.c to avoid assuming that a SubLink's testexpr |