From d3c72e23df6ef1fde8122db589d12d49c8495535 Mon Sep 17 00:00:00 2001 From: Heikki Linnakangas Date: Fri, 9 May 2014 11:32:28 +0300 Subject: Avoid some pnstrdup()s when constructing jsonb This speeds up text to jsonb parsing and hstore to jsonb conversions somewhat. --- src/backend/utils/adt/jsonb.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/backend/utils/adt/jsonb.c') 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: -- cgit v1.2.3