Class CopyDualImpl

    • Constructor Detail

      • CopyDualImpl

        public CopyDualImpl()
    • Method Detail

      • writeToCopy

        public void writeToCopy​(byte[] data,
                                int off,
                                int siz)
                         throws java.sql.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:
        java.sql.SQLException - if the operation fails
      • writeToCopy

        public void writeToCopy​(ByteStreamWriter from)
                         throws java.sql.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:
        java.sql.SQLException - if the operation fails
      • flushCopy

        public void flushCopy()
                       throws java.sql.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:
        java.sql.SQLException - if the operation fails.
      • endCopy

        public long endCopy()
                     throws java.sql.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:
        java.sql.SQLException - if the operation fails.
      • readFromCopy

        public byte[] readFromCopy()
                            throws java.sql.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:
        java.sql.SQLException - if something goes wrong for example socket timeout
      • readFromCopy

        public byte[] readFromCopy​(boolean block)
                            throws java.sql.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:
        java.sql.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