Home Explore Blog CI



postgresql

56th chunk of `doc/src/sgml/protocol.sgml`
fb4260eaa5aa69ef0cc2f02b8f83eeaf802b99692f48510c0000000100000fa5
 <listitem>
     <variablelist>
      <varlistentry>
       <term>Int32(16)</term>
       <listitem>
        <para>
         Length of message contents in bytes, including self.
        </para>
       </listitem>
      </varlistentry>

      <varlistentry>
       <term>Int32(80877102)</term>
       <listitem>
        <para>
         The cancel request code.  The value is chosen to contain
         <literal>1234</literal> in the most significant 16 bits, and <literal>5678</literal> in the
         least significant 16 bits.  (To avoid confusion, this code
         must not be the same as any protocol version number.)
        </para>
       </listitem>
      </varlistentry>

      <varlistentry>
       <term>Int32</term>
       <listitem>
        <para>
         The process ID of the target backend.
        </para>
       </listitem>
      </varlistentry>

      <varlistentry>
       <term>Byte<replaceable>n</replaceable></term>
       <listitem>
        <para>
         The secret key for the target backend. This field extends to the end of the
         message, indicated by the length field. The maximum key length is 256 bytes.
        </para>
       </listitem>
      </varlistentry>
     </variablelist>
     <para>
      Before protocol version 3.2, the secret key was always 4 bytes long.
     </para>
    </listitem>
   </varlistentry>

   <varlistentry id="protocol-message-formats-Close">
    <term>Close (F)</term>
    <listitem>
     <variablelist>
      <varlistentry>
       <term>Byte1('C')</term>
       <listitem>
        <para>
         Identifies the message as a Close command.
        </para>
       </listitem>
      </varlistentry>

      <varlistentry>
       <term>Int32</term>
       <listitem>
        <para>
         Length of message contents in bytes, including self.
        </para>
       </listitem>
      </varlistentry>

      <varlistentry>
       <term>Byte1</term>
       <listitem>
        <para>
         '<literal>S</literal>' to close a prepared statement; or
         '<literal>P</literal>' to close a portal.
        </para>
       </listitem>
      </varlistentry>

      <varlistentry>
       <term>String</term>
       <listitem>
        <para>
         The name of the prepared statement or portal to close
         (an empty string selects the unnamed prepared statement
         or portal).
        </para>
       </listitem>
      </varlistentry>
     </variablelist>
    </listitem>
   </varlistentry>

   <varlistentry id="protocol-message-formats-CloseComplete">
    <term>CloseComplete (B)</term>
    <listitem>
     <variablelist>
      <varlistentry>
       <term>Byte1('3')</term>
       <listitem>
        <para>
         Identifies the message as a Close-complete indicator.
        </para>
       </listitem>
      </varlistentry>

      <varlistentry>
       <term>Int32(4)</term>
       <listitem>
        <para>
         Length of message contents in bytes, including self.
        </para>
       </listitem>
      </varlistentry>
     </variablelist>
    </listitem>
   </varlistentry>

   <varlistentry id="protocol-message-formats-CommandComplete">
    <term>CommandComplete (B)</term>
    <listitem>
     <variablelist>
      <varlistentry>
       <term>Byte1('C')</term>
       <listitem>
        <para>
         Identifies the message as a command-completed response.
        </para>
       </listitem>
      </varlistentry>

      <varlistentry>
       <term>Int32</term>
       <listitem>
        <para>
         Length of message contents in bytes, including self.
        </para>
       </listitem>
      </varlistentry>

      <varlistentry>
       <term>String</term>
       <listitem>
       <para>
        The command tag.  This is usually a single
        word that identifies which SQL command was completed.
       </para>

       <para>
        For an <command>INSERT</command> command, the tag is
        <literal>INSERT <replaceable>oid</replaceable>
        <replaceable>rows</replaceable></literal>, where

Title: Protocol Message Formats for CancelRequest, Close, CloseComplete, and CommandComplete
Summary
This section describes the message formats for CancelRequest, Close, CloseComplete, and CommandComplete messages in a protocol, including the structure and content of each message type, such as cancel request codes, secret keys, close commands, and command completion responses.