Split out code into new getKeyJsonValueFromContainer()

Alvaro Herrera <alvherre@alvh.no-ip.org>

Commit: 1a2983231d9080bfa06cfbf38d5415b5d71eea91
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
Date: 2019-09-20T23:18:11Z
Releases: 13.0
Split out code into new getKeyJsonValueFromContainer()

The new function stashes its output value in a JsonbValue that can be
passed in by the caller, which enables some of them to pass
stack-allocated structs -- saving palloc cycles.  It also allows some
callers that know they are handling a jsonb object to use this new jsonb
object-specific API, instead of going through generic container
findJsonbValueFromContainer.

Author: Nikita Glukhov
Discussion: https://postgr.es/m/7c417f90-f95f-247e-ba63-d95e39c0ad14@postgrespro.ru

Files

PathChange+/−
src/backend/utils/adt/jsonb_util.c modified +93 −50
src/backend/utils/adt/jsonfuncs.c modified +17 −35
src/include/utils/jsonb.h modified +3 −0

Discussion