Home Explore Blog CI



postgresql

63th chunk of `doc/src/sgml/protocol.sgml`
e8a30bf13802013ebde57e557ae10d0d5e2d50ea511f09dc0000000100000fa0

       </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>
       </listitem>
      </varlistentry>

      <varlistentry>
       <term>Int16</term>
       <listitem>
        <para>
         Specifies the number of arguments being supplied to the
         function.
        </para>
       </listitem>
      </varlistentry>
     </variablelist>

     <para>
      Next, the following pair of fields appear for each argument:
     </para>

     <variablelist>
      <varlistentry>
       <term>Int32</term>
       <listitem>
        <para>
         The length of the argument value, in bytes (this count
         does not include itself).  Can be zero.
         As a special case, -1 indicates a NULL argument value.
         No value bytes follow in the NULL case.
        </para>
       </listitem>
      </varlistentry>

      <varlistentry>
       <term>Byte<replaceable>n</replaceable></term>
       <listitem>
        <para>
         The value of the argument, in the format indicated by the
         associated format code.
         <replaceable>n</replaceable> is the above length.
        </para>
       </listitem>
      </varlistentry>
     </variablelist>

     <para>
      After the last argument, the following field appears:
     </para>

     <variablelist>
      <varlistentry>
       <term>Int16</term>
       <listitem>
        <para>
         The format code for the function result. Must presently be
         zero (text) or one (binary).
        </para>
       </listitem>
      </varlistentry>
     </variablelist>
    </listitem>
   </varlistentry>

   <varlistentry id="protocol-message-formats-FunctionCallResponse">
    <term>FunctionCallResponse (B)</term>
    <listitem>
     <variablelist>
      <varlistentry>
       <term>Byte1('V')</term>
       <listitem>
        <para>
         Identifies the message as a function call result.
        </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>
         The length of the function result value, in bytes (this count
         does not include itself).  Can be zero.
         As a special case, -1 indicates a NULL function result.
         No value bytes follow in the NULL case.
        </para>
       </listitem>
      </varlistentry>

      <varlistentry>
       <term>Byte<replaceable>n</replaceable></term>
       <listitem>
        <para>
         The value of the function result, in the format indicated by
         the associated format code.
         <replaceable>n</replaceable> is the above length.
        </para>
       </listitem>
      </varlistentry>
     </variablelist>
    </listitem>
   </varlistentry>

   <varlistentry id="protocol-message-formats-GSSENCRequest">
    <term>GSSENCRequest (F)</term>
    <listitem>
     <variablelist>
      <varlistentry>
       <term>Int32(8)</term>
 

Title: PostgreSQL Protocol Message Formats
Summary
This section continues to describe the message formats for various PostgreSQL commands, including FunctionCall, FunctionCallResponse, and GSSENCRequest, detailing the structure and content of each message type, such as function object IDs, argument format codes, argument values, function result formats, and result values, as well as message identifiers and lengths, which are used to handle database operations and interactions.