org.postgresql.core.v3
Class CopyOutImpl

java.lang.Object
  extended by org.postgresql.core.v3.CopyOperationImpl
      extended by org.postgresql.core.v3.CopyOutImpl
All Implemented Interfaces:
CopyOperation, CopyOut

public class CopyOutImpl
extends CopyOperationImpl
implements CopyOut

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.


Constructor Summary
CopyOutImpl()
           
 
Method Summary
protected  void handleCopydata(byte[] data)
          Consume received copy data
 byte[] readFromCopy()
          Blocks wait for a row of data to be received from server on an active copy operation.
 byte[] readFromCopy(boolean block)
          Wait for a row of data to be received from server on an active copy operation.
 
Methods inherited from class org.postgresql.core.v3.CopyOperationImpl
cancelCopy, getFieldCount, getFieldFormat, getFormat, getHandledRowCount, handleCommandStatus, isActive
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.postgresql.copy.CopyOperation
cancelCopy, getFieldCount, getFieldFormat, getFormat, getHandledRowCount, isActive
 

Constructor Detail

CopyOutImpl

public CopyOutImpl()
Method Detail

readFromCopy

public byte[] readFromCopy()
                    throws SQLException
Description copied from interface: CopyOut
Blocks wait for a row of data to be received from server on an active copy operation.

Specified by:
readFromCopy in interface CopyOut
Returns:
byte array received from server, null if server complete copy operation
Throws:
SQLException - if something goes wrong for example socket timeout

readFromCopy

public byte[] readFromCopy(boolean block)
                    throws SQLException
Description copied from interface: CopyOut
Wait for a row of data to be received from server on an active copy operation.

Specified by:
readFromCopy in interface CopyOut
Parameters:
block - true if need wait data from server otherwise false and will read pending message from server
Returns:
byte array received from server, if pending message from server absent and use no blocking mode return null
Throws:
SQLException - if something goes wrong for example socket timeout

handleCopydata

protected void handleCopydata(byte[] data)
Description copied from class: CopyOperationImpl
Consume received copy data

Specified by:
handleCopydata in class CopyOperationImpl
Parameters:
data - data that was receive by copy protocol


Copyright © 2017 PostgreSQL Global Development Group. All rights reserved.