code: public void writeExecute(String portal, int rowCount) {
      ensureBuffer();
      int pos = out.writerIndex();
      out.writeByte(EXECUTE);
      out.writeInt(0);
      if (portal != null) {
        out.writeCharSequence(portal, StandardCharsets.UTF_8);
      }
      out.writeByte(0);
      out.writeInt(rowCount); // Zero denotes "no limit" maybe for ReadStream<Row>
      out.setInt(pos + 1, out.writerIndex() - pos - 1);
    }
docs: The message specifies the portal and a maximum row count (zero meaning "fetch all rows") of the result.
  <p>
  The row count of the result is only meaningful for portals containing commands that return row sets;
  in other cases the command is always executed to completion, and the row count of the result is ignored.
  <p>
  The possible responses to this message are the same as {@link Query} message, except that
  it doesn't cause {@link ReadyForQuery} or {@link RowDescription} to be issued.
  <p>
  If Execute terminates before completing the execution of a portal, it will send a {@link PortalSuspended} message;
  the appearance of this message tells the frontend that another Execute should be issued against the same portal to
  complete the operation. The {@link CommandComplete} message indicating completion of the source SQL command
  is not sent until the portal's execution is completed. Therefore, This message is always terminated by
  the appearance of exactly one of these messages: {@link CommandComplete},
  {@link EmptyQueryResponse}, {@link ErrorResponse} or {@link PortalSuspended}.
  
  @author <a href="mailto:emad.albloushi@gmail.com">Emad Alblueshi</a>