class |
CopyOutImpl
Anticipated flow of a COPY TO STDOUT operation:
CopyManager.copyOut() ->QueryExecutor.startCopy() - sends given query to server
->processCopyResults(): - receives CopyOutResponse from Server - creates new CopyOutImpl
->initCopy(): - receives copy metadata from server ->CopyOutImpl.init() ->lock()
connection for this operation - if query fails an exception is thrown - if query returns wrong
CopyOperation, copyOut() cancels it before throwing exception <-returned: new CopyOutImpl
holding lock on connection repeat CopyOut.readFromCopy() until null
->CopyOutImpl.readFromCopy() ->QueryExecutorImpl.readFromCopy() ->processCopyResults() -
on copydata row from server ->CopyOutImpl.handleCopydata() stores reference to byte array - on
CopyDone, CommandComplete, ReadyForQuery ->unlock() connection for use by other operations
<-returned: byte array of data received from server or null at end.
|