diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2017-01-25 13:28:38 -0500 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2017-01-25 13:28:38 -0500 |
commit | f7c62462402972b13d10e43f104ca0c0fecb6d08 (patch) | |
tree | 6bf90792ec1a9ada9a5f0ca2f670d36c37260f77 /src/backend/utils/adt/jsonfuncs.c | |
parent | 049ac809a790a9bde478e371da2b68d6b18c5df7 (diff) | |
download | postgresql-f7c62462402972b13d10e43f104ca0c0fecb6d08.tar.gz postgresql-f7c62462402972b13d10e43f104ca0c0fecb6d08.zip |
Introduce convenience macros to hide JsonbContainer header accesses better.
This improves readability a bit and may make future improvements easier.
In passing, make sure that the JB_ROOT_IS_XXX macros deliver boolean (0/1)
results; the previous coding was a bug hazard, though no actual bugs are
known.
Nikita Glukhov, extended a bit by me
Discussion: https://postgr.es/m/9e21a39c-c1d7-b9b5-44a0-c5345a5029f6@postgrespro.ru
Diffstat (limited to 'src/backend/utils/adt/jsonfuncs.c')
-rw-r--r-- | src/backend/utils/adt/jsonfuncs.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/backend/utils/adt/jsonfuncs.c b/src/backend/utils/adt/jsonfuncs.c index a75df62d2a0..6a7aab2f432 100644 --- a/src/backend/utils/adt/jsonfuncs.c +++ b/src/backend/utils/adt/jsonfuncs.c @@ -1266,10 +1266,10 @@ get_jsonb_path_all(FunctionCallInfo fcinfo, bool as_text) uint32 nelements; /* Container must be array, but make sure */ - if ((container->header & JB_FARRAY) == 0) + if (!JsonContainerIsArray(container)) elog(ERROR, "not a jsonb array"); - nelements = container->header & JB_CMASK; + nelements = JsonContainerSize(container); if (-lindex > nelements) PG_RETURN_NULL(); |