Home Explore Blog CI



postgresql

62th chunk of `doc/src/sgml/protocol.sgml`
141469bb6100419b39bc7305cb7b70be84f07bbbcc628cd50000000100000fa0
 Fields can appear in
      any order.  For each field there is the following:
     </para>

     <variablelist>
      <varlistentry>
       <term>Byte1</term>
       <listitem>
        <para>
         A code identifying the field type; if zero, this is
         the message terminator and no string follows.
         The presently defined field types are listed in
         <xref linkend="protocol-error-fields"/>.
         Since more field types might be added in future,
         frontends should silently ignore fields of unrecognized
         type.
        </para>
       </listitem>
      </varlistentry>

      <varlistentry>
       <term>String</term>
       <listitem>
        <para>
         The field value.
        </para>
       </listitem>
      </varlistentry>
     </variablelist>
    </listitem>
   </varlistentry>

   <varlistentry id="protocol-message-formats-Execute">
    <term>Execute (F)</term>
    <listitem>
     <variablelist>
      <varlistentry>
       <term>Byte1('E')</term>
       <listitem>
        <para>
         Identifies the message as an Execute command.
        </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 name of the portal to execute
         (an empty string selects the unnamed portal).
        </para>
       </listitem>
      </varlistentry>

      <varlistentry>
       <term>Int32</term>
       <listitem>
        <para>
         Maximum number of rows to return, if portal contains
         a query that returns rows (ignored otherwise).  Zero
         denotes <quote>no limit</quote>.
        </para>
       </listitem>
      </varlistentry>
     </variablelist>
    </listitem>
   </varlistentry>

   <varlistentry id="protocol-message-formats-Flush">
    <term>Flush (F)</term>
    <listitem>
     <variablelist>
      <varlistentry>
       <term>Byte1('H')</term>
       <listitem>
        <para>
         Identifies the message as a Flush command.
        </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-FunctionCall">
    <term>FunctionCall (F)</term>
    <listitem>
     <variablelist>
      <varlistentry>
       <term>Byte1('F')</term>
       <listitem>
        <para>
         Identifies the message as a function call.
        </para>
       </listitem>
      </varlistentry>

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

      <varlistentry>
       <term>Int32</term>
       <listitem>
        <para>
         Specifies the object ID of the function to call.
        </para>
       </listitem>
      </varlistentry>

      <varlistentry>
       <term>Int16</term>
       <listitem>
        <para>
         The number of argument format codes that follow
         (denoted <replaceable>C</replaceable> below).
         This can be zero to indicate that there are no arguments
         or that the arguments all use the default format (text);
         or one, in which case the specified format code is applied
         to all arguments; or it can equal the actual number of
         arguments.
        </para>
       </listitem>
      </varlistentry>

      <varlistentry>
       <term>Int16[<replaceable>C</replaceable>]</term>
       <listitem>
        <para>
         The argument format codes.  Each must presently be
         zero (text) or one (binary).
        </para>
   

Title: PostgreSQL Protocol Message Formats
Summary
This section describes the message formats for various PostgreSQL commands, including Execute, Flush, and FunctionCall, detailing the structure and content of each message type, including message identification, length, portal names, row limits, function IDs, argument format codes, and other relevant fields, which are used to handle database operations and interactions.