summaryrefslogtreecommitdiff
path: root/src/include/lib/stringinfo.h
diff options
context:
space:
mode:
authorAndres Freund <andres@anarazel.de>2017-10-11 16:01:52 -0700
committerAndres Freund <andres@anarazel.de>2017-10-11 16:01:52 -0700
commit70c2d1be2b1e1efa8ef38a92b443fa290a9558dd (patch)
treea7486acecc33cde0982ebc1b97d05e1b1857dad3 /src/include/lib/stringinfo.h
parent0b974dba2d6b5581ce422ed883209de46f313fb6 (diff)
Allow to avoid NUL-byte management for stringinfos and use in format.c.
In a lot of the places having appendBinaryStringInfo() maintain a trailing NUL byte wasn't actually meaningful, e.g. when appending an integer which can contain 0 in one of its bytes. Removing this yields some small speedup, but more importantly will be more consistent when providing faster variants of pq_sendint etc. Author: Andres Freund Discussion: https://postgr.es/m/20170914063418.sckdzgjfrsbekae4@alap3.anarazel.de
Diffstat (limited to 'src/include/lib/stringinfo.h')
-rw-r--r--src/include/lib/stringinfo.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/include/lib/stringinfo.h b/src/include/lib/stringinfo.h
index 9694ea3f219..01b845db44b 100644
--- a/src/include/lib/stringinfo.h
+++ b/src/include/lib/stringinfo.h
@@ -144,6 +144,14 @@ extern void appendBinaryStringInfo(StringInfo str,
const char *data, int datalen);
/*------------------------
+ * appendBinaryStringInfoNT
+ * Append arbitrary binary data to a StringInfo, allocating more space
+ * if necessary. Does not ensure a trailing null-byte exists.
+ */
+extern void appendBinaryStringInfoNT(StringInfo str,
+ const char *data, int datalen);
+
+/*------------------------
* enlargeStringInfo
* Make sure a StringInfo's buffer can hold at least 'needed' more bytes.
*/