Re: Trouble with COPY IN

Kris Jurka <books@ejurka.com>

From: Kris Jurka <books@ejurka.com>
To: pgsql-hackers@postgresql.org, Matthew Wakeling <matthew@flymine.org>
Cc: Kevin Grittner <Kevin.Grittner@wicourts.gov>, Maciek Sakrejda <msakrejda@truviso.com>, Samuel Gendler <sgendler@ideasculptor.com>, pgsql-jdbc@postgresql.org
Date: 2010-07-22T21:34:08Z
Lists: pgsql-hackers

Attachments

Per discussion and investigation on the -jdbc list, the server appears to 
violate the frontend/backend protocol when binary copy data is sent to the 
server.  Upon receiving the binary copy end of data marker (a -1 field 
count), the server immediately responds with CommandComplete and 
ReadyForQuery without waiting for the frontend to issue CopyDone or 
CopyFail.  This confuses the JDBC driver as it doesn't think the command 
sequence should have finished yet.

Attached is a patch to make the server continue to consume protocol data 
until instructed to stop by the client in the same way as copying text 
data to the server currently works.

http://www.postgresql.org/docs/8.4/static/protocol-flow.html#PROTOCOL-COPY
http://www.postgresql.org/docs/8.4/static/sql-copy.html

Kris Jurka