From 7732d49ca211571552bf82b5207deed95c0cc09c Mon Sep 17 00:00:00 2001 From: Noah Misch Date: Sun, 11 Oct 2015 23:53:35 -0400 Subject: [PATCH] Use JsonbIteratorToken consistently in automatic variable declarations. Many functions stored JsonbIteratorToken values in variables of other integer types. Also, standardize order relative to other declarations. Expect compilers to generate the same code before and after this change. --- src/backend/utils/adt/jsonb.c | 5 +++-- src/backend/utils/adt/jsonb_gin.c | 10 ++++----- src/backend/utils/adt/jsonb_op.c | 4 ++-- src/backend/utils/adt/jsonb_util.c | 6 +++--- src/backend/utils/adt/jsonfuncs.c | 34 +++++++++++++++--------------- 5 files changed, 30 insertions(+), 29 deletions(-) diff --git a/src/backend/utils/adt/jsonb.c b/src/backend/utils/adt/jsonb.c index 8fef35ea38..8b1cab488b 100644 --- a/src/backend/utils/adt/jsonb.c +++ b/src/backend/utils/adt/jsonb.c @@ -455,8 +455,8 @@ JsonbToCStringWorker(StringInfo out, JsonbContainer *in, int estimated_len, bool { bool first = true; JsonbIterator *it; - JsonbIteratorToken type = WJB_DONE; JsonbValue v; + JsonbIteratorToken type = WJB_DONE; int level = 0; bool redo_switch = false; @@ -899,7 +899,6 @@ datum_to_jsonb(Datum val, bool is_null, JsonbInState *result, case JSONBTYPE_JSONB: { Jsonb *jsonb = DatumGetJsonb(val); - JsonbIteratorToken type; JsonbIterator *it; it = JsonbIteratorInit(&jsonb->root); @@ -913,6 +912,8 @@ datum_to_jsonb(Datum val, bool is_null, JsonbInState *result, } else { + JsonbIteratorToken type; + while ((type = JsonbIteratorNext(&it, &jb, false)) != WJB_DONE) { diff --git a/src/backend/utils/adt/jsonb_gin.c b/src/backend/utils/adt/jsonb_gin.c index 2591c81f3d..204fb8b591 100644 --- a/src/backend/utils/adt/jsonb_gin.c +++ b/src/backend/utils/adt/jsonb_gin.c @@ -70,8 +70,8 @@ gin_extract_jsonb(PG_FUNCTION_ARGS) int total = 2 * JB_ROOT_COUNT(jb); JsonbIterator *it; JsonbValue v; - int i = 0, - r; + JsonbIteratorToken r; + int i = 0; Datum *entries; /* If the root level is empty, we certainly have no keys */ @@ -333,10 +333,10 @@ gin_extract_jsonb_path(PG_FUNCTION_ARGS) int total = 2 * JB_ROOT_COUNT(jb); JsonbIterator *it; JsonbValue v; + JsonbIteratorToken r; PathHashStack tail; PathHashStack *stack; - int i = 0, - r; + int i = 0; Datum *entries; /* If the root level is empty, we certainly have no keys */ @@ -429,7 +429,7 @@ gin_extract_jsonb_path(PG_FUNCTION_ARGS) stack = parent; break; default: - elog(ERROR, "invalid JsonbIteratorNext rc: %d", r); + elog(ERROR, "invalid JsonbIteratorNext rc: %d", (int) r); } } diff --git a/src/backend/utils/adt/jsonb_op.c b/src/backend/utils/adt/jsonb_op.c index 0635d0818f..74cf4fc715 100644 --- a/src/backend/utils/adt/jsonb_op.c +++ b/src/backend/utils/adt/jsonb_op.c @@ -254,8 +254,8 @@ jsonb_hash(PG_FUNCTION_ARGS) { Jsonb *jb = PG_GETARG_JSONB(0); JsonbIterator *it; - int32 r; JsonbValue v; + JsonbIteratorToken r; uint32 hash = 0; if (JB_ROOT_COUNT(jb) == 0) @@ -283,7 +283,7 @@ jsonb_hash(PG_FUNCTION_ARGS) case WJB_END_OBJECT: break; default: - elog(ERROR, "invalid JsonbIteratorNext rc: %d", r); + elog(ERROR, "invalid JsonbIteratorNext rc: %d", (int) r); } } diff --git a/src/backend/utils/adt/jsonb_util.c b/src/backend/utils/adt/jsonb_util.c index 4d733159d0..c402eab22e 100644 --- a/src/backend/utils/adt/jsonb_util.c +++ b/src/backend/utils/adt/jsonb_util.c @@ -187,7 +187,7 @@ compareJsonbContainers(JsonbContainer *a, JsonbContainer *b) { JsonbValue va, vb; - int ra, + JsonbIteratorToken ra, rb; ra = JsonbIteratorNext(&ita, &va, false); @@ -961,10 +961,10 @@ freeAndGetParent(JsonbIterator *it) bool JsonbDeepContains(JsonbIterator **val, JsonbIterator **mContained) { - uint32 rval, - rcont; JsonbValue vval, vcontained; + JsonbIteratorToken rval, + rcont; /* * Guard against stack overflow due to overly complex Jsonb. diff --git a/src/backend/utils/adt/jsonfuncs.c b/src/backend/utils/adt/jsonfuncs.c index f33864e619..222acd7afb 100644 --- a/src/backend/utils/adt/jsonfuncs.c +++ b/src/backend/utils/adt/jsonfuncs.c @@ -288,7 +288,7 @@ jsonb_object_keys(PG_FUNCTION_ARGS) bool skipNested = false; JsonbIterator *it; JsonbValue v; - int r; + JsonbIteratorToken r; if (JB_ROOT_IS_SCALAR(jb)) ereport(ERROR, @@ -1283,7 +1283,7 @@ get_jsonb_path_all(FunctionCallInfo fcinfo, bool as_text) if (jbvp->type == jbvBinary) { JsonbIterator *it = JsonbIteratorInit((JsonbContainer *) jbvp->val.binary.data); - int r; + JsonbIteratorToken r; r = JsonbIteratorNext(&it, &tv, true); container = (JsonbContainer *) jbvp->val.binary.data; @@ -1456,7 +1456,7 @@ each_worker_jsonb(FunctionCallInfo fcinfo, const char *funcname, bool as_text) bool skipNested = false; JsonbIterator *it; JsonbValue v; - int r; + JsonbIteratorToken r; if (!JB_ROOT_IS_OBJECT(jb)) ereport(ERROR, @@ -1775,7 +1775,7 @@ elements_worker_jsonb(FunctionCallInfo fcinfo, const char *funcname, bool skipNested = false; JsonbIterator *it; JsonbValue v; - int r; + JsonbIteratorToken r; if (JB_ROOT_IS_SCALAR(jb)) ereport(ERROR, @@ -2792,7 +2792,7 @@ populate_recordset_worker(FunctionCallInfo fcinfo, const char *funcname, JsonbIterator *it; JsonbValue v; bool skipNested = false; - int r; + JsonbIteratorToken r; Assert(jtype == JSONBOID); @@ -3230,9 +3230,9 @@ jsonb_strip_nulls(PG_FUNCTION_ARGS) JsonbIterator *it; JsonbParseState *parseState = NULL; JsonbValue *res = NULL; - int type; JsonbValue v, k; + JsonbIteratorToken type; bool last_was_key = false; if (JB_ROOT_IS_SCALAR(jb)) @@ -3290,8 +3290,8 @@ addJsonbToParseState(JsonbParseState **jbps, Jsonb *jb) { JsonbIterator *it; JsonbValue *o = &(*jbps)->contVal; - int type; JsonbValue v; + JsonbIteratorToken type; it = JsonbIteratorInit(&jb->root); @@ -3398,10 +3398,10 @@ jsonb_delete(PG_FUNCTION_ARGS) int keylen = VARSIZE_ANY_EXHDR(key); JsonbParseState *state = NULL; JsonbIterator *it; - uint32 r; JsonbValue v, *res = NULL; bool skipNested = false; + JsonbIteratorToken r; if (JB_ROOT_IS_SCALAR(in)) ereport(ERROR, @@ -3450,11 +3450,11 @@ jsonb_delete_idx(PG_FUNCTION_ARGS) int idx = PG_GETARG_INT32(1); JsonbParseState *state = NULL; JsonbIterator *it; - uint32 r, - i = 0, + uint32 i = 0, n; JsonbValue v, *res = NULL; + JsonbIteratorToken r; if (JB_ROOT_IS_SCALAR(in)) ereport(ERROR, @@ -3606,13 +3606,13 @@ static JsonbValue * IteratorConcat(JsonbIterator **it1, JsonbIterator **it2, JsonbParseState **state) { - uint32 r1, - r2, - rk1, - rk2; JsonbValue v1, v2, *res = NULL; + JsonbIteratorToken r1, + r2, + rk1, + rk2; r1 = rk1 = JsonbIteratorNext(it1, &v1, false); r2 = rk2 = JsonbIteratorNext(it2, &v2, false); @@ -3721,8 +3721,8 @@ setPath(JsonbIterator **it, Datum *path_elems, JsonbParseState **st, int level, Jsonb *newval, bool create) { JsonbValue v; + JsonbIteratorToken r; JsonbValue *res = NULL; - int r; check_stack_depth(); @@ -3793,7 +3793,7 @@ setPathObject(JsonbIterator **it, Datum *path_elems, bool *path_nulls, for (i = 0; i < npairs; i++) { - int r = JsonbIteratorNext(it, &k, true); + JsonbIteratorToken r = JsonbIteratorNext(it, &k, true); Assert(r == WJB_KEY); @@ -3914,7 +3914,7 @@ setPathArray(JsonbIterator **it, Datum *path_elems, bool *path_nulls, /* iterate over the array elements */ for (i = 0; i < nelems; i++) { - int r; + JsonbIteratorToken r; if (i == idx && level < path_len) { -- 2.40.0