Class CopyDualImpl

java.lang.Object
org.postgresql.core.v3.CopyOperationImpl
org.postgresql.core.v3.CopyDualImpl
All Implemented Interfaces:
CopyDual, CopyIn, CopyOperation, CopyOut

public class CopyDualImpl extends CopyOperationImpl implements CopyDual
  • Constructor Details

    • CopyDualImpl

      public CopyDualImpl()
  • Method Details

    • writeToCopy

      public void writeToCopy(byte[] data, int off, int siz) throws SQLException
      Description copied from interface: CopyIn
      Writes specified part of given byte array to an open and writable copy operation.
      Specified by:
      writeToCopy in interface CopyIn
      Parameters:
      data - array of bytes to write
      off - offset of first byte to write (normally zero)
      siz - number of bytes to write (normally buf.length)
      Throws:
      SQLException - if the operation fails
    • writeToCopy

      public void writeToCopy(ByteStreamWriter from) throws SQLException
      Description copied from interface: CopyIn
      Writes a ByteStreamWriter to an open and writable copy operation.
      Specified by:
      writeToCopy in interface CopyIn
      Parameters:
      from - the source of bytes, e.g. a ByteBufferByteStreamWriter
      Throws:
      SQLException - if the operation fails
    • flushCopy

      public void flushCopy() throws SQLException
      Description copied from interface: CopyIn
      Force any buffered output to be sent over the network to the backend. In general this is a useless operation as it will get pushed over in due time or when endCopy is called. Some specific modified server versions (Truviso) want this data sooner. If you are unsure if you need to use this method, don't.
      Specified by:
      flushCopy in interface CopyIn
      Throws:
      SQLException - if the operation fails.
    • endCopy

      public long endCopy() throws SQLException
      Description copied from interface: CopyIn
      Finishes copy operation successfully.
      Specified by:
      endCopy in interface CopyIn
      Returns:
      number of updated rows for server 8.2 or newer (see getHandledRowCount())
      Throws:
      SQLException - if the operation fails.
    • readFromCopy

      public byte @Nullable [] 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 @Nullable [] 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
    • handleCommandStatus

      public void handleCommandStatus(String status) throws PSQLException
      Overrides:
      handleCommandStatus in class CopyOperationImpl
      Throws:
      PSQLException
    • 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