@@ -4448,8 +4448,8 @@ IteratorConcat(JsonbIterator **it1, JsonbIterator **it2,
4448
4448
res = pushJsonbValue (state ,WJB_END_ARRAY ,NULL /* signal to sort */ );
4449
4449
}
4450
4450
/* 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 )))
4453
4453
{
4454
4454
4455
4455
JsonbIterator * * it_array = rk1 == WJB_BEGIN_ARRAY ?it1 :it2 ;
@@ -4808,10 +4808,8 @@ transform_jsonb_string_values(Jsonb *jsonb, void *action_state,
4808
4808
JsonbIteratorToken type ;
4809
4809
JsonbParseState * st = NULL ;
4810
4810
text * out ;
4811
- bool is_scalar = false;
4812
4811
4813
4812
it = JsonbIteratorInit (& jsonb -> root );
4814
- is_scalar = it -> isScalar ;
4815
4813
4816
4814
while ((type = JsonbIteratorNext (& it ,& v , false))!= WJB_DONE )
4817
4815
{
@@ -4831,7 +4829,7 @@ transform_jsonb_string_values(Jsonb *jsonb, void *action_state,
4831
4829
}
4832
4830
4833
4831
if (res -> type == jbvArray )
4834
- res -> val .array .rawScalar = is_scalar ;
4832
+ res -> val .array .rawScalar = JB_ROOT_IS_SCALAR ( jsonb ) ;
4835
4833
4836
4834
return JsonbValueToJsonb (res );
4837
4835
}