mirror of
https://github.com/postgres/postgres.git
synced 2025-07-28 23:42:10 +03:00
Avoid some pnstrdup()s when constructing jsonb
This speeds up text to jsonb parsing and hstore to jsonb conversions somewhat.
This commit is contained in:
@ -1386,7 +1386,7 @@ hstore_to_jsonb(PG_FUNCTION_ARGS)
|
||||
|
||||
key.type = jbvString;
|
||||
key.val.string.len = HS_KEYLEN(entries, i);
|
||||
key.val.string.val = pnstrdup(HS_KEY(entries, base, i), key.val.string.len);
|
||||
key.val.string.val = HS_KEY(entries, base, i);
|
||||
|
||||
res = pushJsonbValue(&state, WJB_KEY, &key);
|
||||
|
||||
@ -1398,7 +1398,7 @@ hstore_to_jsonb(PG_FUNCTION_ARGS)
|
||||
{
|
||||
val.type = jbvString;
|
||||
val.val.string.len = HS_VALLEN(entries, i);
|
||||
val.val.string.val = pnstrdup(HS_VAL(entries, base, i), val.val.string.len);
|
||||
val.val.string.val = HS_VAL(entries, base, i);
|
||||
}
|
||||
res = pushJsonbValue(&state, WJB_VALUE, &val);
|
||||
}
|
||||
@ -1433,7 +1433,7 @@ hstore_to_jsonb_loose(PG_FUNCTION_ARGS)
|
||||
|
||||
key.type = jbvString;
|
||||
key.val.string.len = HS_KEYLEN(entries, i);
|
||||
key.val.string.val = pnstrdup(HS_KEY(entries, base, i), key.val.string.len);
|
||||
key.val.string.val = HS_KEY(entries, base, i);
|
||||
|
||||
res = pushJsonbValue(&state, WJB_KEY, &key);
|
||||
|
||||
@ -1507,7 +1507,7 @@ hstore_to_jsonb_loose(PG_FUNCTION_ARGS)
|
||||
{
|
||||
val.type = jbvString;
|
||||
val.val.string.len = HS_VALLEN(entries, i);
|
||||
val.val.string.val = pnstrdup(HS_VAL(entries, base, i), val.val.string.len);
|
||||
val.val.string.val = HS_VAL(entries, base, i);
|
||||
}
|
||||
}
|
||||
res = pushJsonbValue(&state, WJB_VALUE, &val);
|
||||
|
Reference in New Issue
Block a user