Trouble with COPY IN

Matthew Wakeling <matthew@flymine.org>

From: Matthew Wakeling <matthew@flymine.org>
To: pgsql-jdbc@postgresql.org
Date: 2010-07-16T16:56:52Z
Lists: pgsql-hackers
I'm having some trouble with a COPY IN BINARY statement. I have the 
following stack trace:

Caused by: java.sql.SQLException: Error writing to database, running 
statement COPY InterMineObject (OBJECT, class, tableclass, longObjType, 
fullTime, dateObjType, floatType, longType, booleanType, booleanObjType, 
title, bigDecimalObjType, stringObjType, doubleObjType, intObjType, name, 
id, doubleType, shortObjType, rangeStart, intermine_end, seniority, 
floatObjType, intType, shortType, vatNumber, debt, salary, rangeEnd, 
address, age, addressId, bankId, companyId, departmentId, 
businessAddressId, managerId, personalAddressId, parentId, 
departmentThatRejectedMeId, CEOId) FROM STDIN BINARY
   at org.intermine.sql.writebatch.FlushJobPostgresCopyImpl.flush(FlushJobPostgresCopyImpl.java:56)
   at org.intermine.sql.writebatch.Batch$BatchFlusher.run(Batch.java:456)
   at java.lang.Thread.run(Thread.java:619)
Caused by: org.postgresql.util.PSQLException: Tried to end inactive copy
   at org.postgresql.core.v3.QueryExecutorImpl.endCopy(QueryExecutorImpl.java:803)
   at org.postgresql.core.v3.CopyInImpl.endCopy(CopyInImpl.java:61)
   at org.postgresql.copy.CopyManager.copyIn(CopyManager.java:181)
   at org.postgresql.copy.CopyManager.copyIn(CopyManager.java:161)
   at org.intermine.sql.writebatch.FlushJobPostgresCopyImpl.flush(FlushJobPostgresCopyImpl.java:51)

I have had a brief look at the JDBC driver code, and as far as I can see, 
this shouldn't ever happen. All I did was call CopyManager.copyIn(). It 
should have kept the correct locks to complete the operation.

For some reason, this seems to exhibit with some data but not with others.

Any clues would be very welcome.

Matthew

-- 
 First law of computing:  Anything can go wro
 sig: Segmentation fault.  core dumped.