summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Haas <rhaas@postgresql.org>2012-03-22 15:45:42 -0400
committerRobert Haas <rhaas@postgresql.org>2012-03-22 15:45:42 -0400
commitfdf719cd2868144b5bd78971217bb36bb970e15e (patch)
tree4082845c3b76654fc868c4991136830c5f2c829e
parente83f827f5abeeca4750b40bd6d8701d91fead8dd (diff)
Doc clarifications regarding use of varlena.
Jay Levitt, reviewed by Tom Lane.
-rw-r--r--doc/src/sgml/xfunc.sgml5
1 files changed, 3 insertions, 2 deletions
diff --git a/doc/src/sgml/xfunc.sgml b/doc/src/sgml/xfunc.sgml
index d81d63f922f..e8620ef0738 100644
--- a/doc/src/sgml/xfunc.sgml
+++ b/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