diff options
author | Andres Freund <andres@anarazel.de> | 2017-10-11 16:01:52 -0700 |
---|---|---|
committer | Andres Freund <andres@anarazel.de> | 2017-10-11 16:01:52 -0700 |
commit | 70c2d1be2b1e1efa8ef38a92b443fa290a9558dd (patch) | |
tree | a7486acecc33cde0982ebc1b97d05e1b1857dad3 /src/include/lib/stringinfo.h | |
parent | 0b974dba2d6b5581ce422ed883209de46f313fb6 (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.h | 8 |
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. */ |