aboutsummaryrefslogtreecommitdiff
path: root/src/backend/utils/adt/jsonfuncs.c
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2017-01-25 13:28:38 -0500
committerTom Lane <tgl@sss.pgh.pa.us>2017-01-25 13:28:38 -0500
commitf7c62462402972b13d10e43f104ca0c0fecb6d08 (patch)
tree6bf90792ec1a9ada9a5f0ca2f670d36c37260f77 /src/backend/utils/adt/jsonfuncs.c
parent049ac809a790a9bde478e371da2b68d6b18c5df7 (diff)
downloadpostgresql-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.c4
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();