diff options
author | Heikki Linnakangas <heikki.linnakangas@iki.fi> | 2014-05-09 11:32:28 +0300 |
---|---|---|
committer | Heikki Linnakangas <heikki.linnakangas@iki.fi> | 2014-05-09 12:46:21 +0300 |
commit | d3c72e23df6ef1fde8122db589d12d49c8495535 (patch) | |
tree | 801f175510fff7f438e5c4abc3bca5c81dba70d1 /src/backend/utils/adt/jsonb.c | |
parent | 14d309cc55d88b73d4c9d1fa51b535ae491405fd (diff) | |
download | postgresql-d3c72e23df6ef1fde8122db589d12d49c8495535.tar.gz postgresql-d3c72e23df6ef1fde8122db589d12d49c8495535.zip |
Avoid some pnstrdup()s when constructing jsonb
This speeds up text to jsonb parsing and hstore to jsonb conversions
somewhat.
Diffstat (limited to 'src/backend/utils/adt/jsonb.c')
-rw-r--r-- | src/backend/utils/adt/jsonb.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/backend/utils/adt/jsonb.c b/src/backend/utils/adt/jsonb.c index e1fe45f7128..2fd87fc9e1a 100644 --- a/src/backend/utils/adt/jsonb.c +++ b/src/backend/utils/adt/jsonb.c @@ -247,7 +247,7 @@ jsonb_in_object_field_start(void *pstate, char *fname, bool isnull) Assert(fname != NULL); v.type = jbvString; v.val.string.len = checkStringLen(strlen(fname)); - v.val.string.val = pnstrdup(fname, v.val.string.len); + v.val.string.val = fname; _state->res = pushJsonbValue(&_state->parseState, WJB_KEY, &v); } @@ -295,7 +295,7 @@ jsonb_in_scalar(void *pstate, char *token, JsonTokenType tokentype) Assert(token != NULL); v.type = jbvString; v.val.string.len = checkStringLen(strlen(token)); - v.val.string.val = pnstrdup(token, v.val.string.len); + v.val.string.val = token; break; case JSON_TOKEN_NUMBER: |