Permalink
Browse files

Doc clarifications regarding use of varlena.

Jay Levitt, reviewed by Tom Lane.
  • Loading branch information...
1 parent e83f827 commit fdf719cd2868144b5bd78971217bb36bb970e15e Robert Haas committed Mar 22, 2012
Showing with 3 additions and 2 deletions.
  1. +3 −2 doc/src/sgml/xfunc.sgml
View
5 doc/src/sgml/xfunc.sgml
@@ -1767,7 +1767,8 @@ typedef struct
<para>
Finally, all variable-length types must also be passed
by reference. All variable-length types must begin
- with a length field of exactly 4 bytes, and all data to
+ with an opaque length field of exactly 4 bytes, which will be set
+ by SET_VARSIZE; never set this field directly! All data to
be stored within that type must be located in the memory
immediately following that length field. The
length field contains the total length of the structure,
@@ -1833,7 +1834,7 @@ memcpy(destination->data, buffer, 40);
]]>
</programlisting>
- <literal>VARHDRSZ</> is the same as <literal>sizeof(int4)</>, but
+ <literal>VARHDRSZ</> is the same as <literal>sizeof(int32)</>, but
it's considered good style to use the macro <literal>VARHDRSZ</>
to refer to the size of the overhead for a variable-length type.
Also, the length field <emphasis>must</> be set using the

0 comments on commit fdf719c

Please sign in to comment.