@@ -4448,8 +4448,8 @@ IteratorConcat(JsonbIterator **it1, JsonbIterator **it2,
44484448res = pushJsonbValue (state ,WJB_END_ARRAY ,NULL /* signal to sort */ );
44494449}
44504450/* have we got array || object or object || array? */
4451- else if (((rk1 == WJB_BEGIN_ARRAY && !( * it1 ) -> isScalar )&& rk2 == WJB_BEGIN_OBJECT )||
4452- (rk1 == WJB_BEGIN_OBJECT && (rk2 == WJB_BEGIN_ARRAY && !( * it2 ) -> isScalar )))
4451+ else if (((rk1 == WJB_BEGIN_ARRAY && !v1 . val . array . rawScalar )&& rk2 == WJB_BEGIN_OBJECT )||
4452+ (rk1 == WJB_BEGIN_OBJECT && (rk2 == WJB_BEGIN_ARRAY && !v2 . val . array . rawScalar )))
44534453{
44544454
44554455JsonbIterator * * it_array = rk1 == WJB_BEGIN_ARRAY ?it1 :it2 ;
@@ -4808,10 +4808,8 @@ transform_jsonb_string_values(Jsonb *jsonb, void *action_state,
48084808JsonbIteratorToken type ;
48094809JsonbParseState * st = NULL ;
48104810text * out ;
4811- bool is_scalar = false;
48124811
48134812it = JsonbIteratorInit (& jsonb -> root );
4814- is_scalar = it -> isScalar ;
48154813
48164814while ((type = JsonbIteratorNext (& it ,& v , false))!= WJB_DONE )
48174815{
@@ -4831,7 +4829,7 @@ transform_jsonb_string_values(Jsonb *jsonb, void *action_state,
48314829}
48324830
48334831if (res -> type == jbvArray )
4834- res -> val .array .rawScalar = is_scalar ;
4832+ res -> val .array .rawScalar = JB_ROOT_IS_SCALAR ( jsonb ) ;
48354833
48364834return JsonbValueToJsonb (res );
48374835}