diff options
| author | Andres Freund | 2017-10-11 23:01:52 +0000 |
|---|---|---|
| committer | Andres Freund | 2017-10-11 23:01:52 +0000 |
| commit | 70c2d1be2b1e1efa8ef38a92b443fa290a9558dd (patch) | |
| tree | a7486acecc33cde0982ebc1b97d05e1b1857dad3 /src/include | |
| 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')
| -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 9694ea3f21..01b845db44 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. */ |
