パッケージ org.postgresql.core.v3

クラス CopyOutImpl

すべての実装されたインタフェース:
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.

  • コンストラクタの詳細

    • CopyOutImpl

      public CopyOutImpl()
  • メソッドの詳細

    • readFromCopy

      public byte @Nullable [] readFromCopy() throws SQLException
      インタフェースからコピーされた説明: CopyOut
      Blocks wait for a row of data to be received from server on an active copy operation.
      定義:
      readFromCopy インタフェース内 CopyOut
      戻り値:
      byte array received from server, null if server complete copy operation
      例外:
      SQLException - if something goes wrong for example socket timeout
    • readFromCopy

      public byte @Nullable [] readFromCopy(boolean block) throws SQLException
      インタフェースからコピーされた説明: CopyOut
      Wait for a row of data to be received from server on an active copy operation.
      定義:
      readFromCopy インタフェース内 CopyOut
      パラメータ:
      block - true if need wait data from server otherwise false and will read pending message from server
      戻り値:
      byte array received from server, if pending message from server absent and use no blocking mode return null
      例外:
      SQLException - if something goes wrong for example socket timeout
    • handleCopydata

      protected void handleCopydata(byte[] data)
      クラスからコピーされた説明: CopyOperationImpl
      Consume received copy data.
      定義:
      handleCopydata クラス内 CopyOperationImpl
      パラメータ:
      data - data that was receive by copy protocol