@@ -4721,8 +4721,8 @@ IteratorConcat(JsonbIterator **it1, JsonbIterator **it2,
4721
4721
res = pushJsonbValue (state ,WJB_END_ARRAY ,NULL /* signal to sort */ );
4722
4722
}
4723
4723
/* have we got array || object or object || array? */
4724
- else if (((rk1 == WJB_BEGIN_ARRAY && !( * it1 ) -> isScalar )&& rk2 == WJB_BEGIN_OBJECT )||
4725
- (rk1 == WJB_BEGIN_OBJECT && (rk2 == WJB_BEGIN_ARRAY && !( * it2 ) -> isScalar )))
4724
+ else if (((rk1 == WJB_BEGIN_ARRAY && !v1 . val . array . rawScalar )&& rk2 == WJB_BEGIN_OBJECT )||
4725
+ (rk1 == WJB_BEGIN_OBJECT && (rk2 == WJB_BEGIN_ARRAY && !v2 . val . array . rawScalar )))
4726
4726
{
4727
4727
JsonbIterator * * it_array = rk1 == WJB_BEGIN_ARRAY ?it1 :it2 ;
4728
4728
JsonbIterator * * it_object = rk1 == WJB_BEGIN_OBJECT ?it1 :it2 ;
@@ -5229,10 +5229,8 @@ transform_jsonb_string_values(Jsonb *jsonb, void *action_state,
5229
5229
JsonbIteratorToken type ;
5230
5230
JsonbParseState * st = NULL ;
5231
5231
text * out ;
5232
- bool is_scalar = false;
5233
5232
5234
5233
it = JsonbIteratorInit (& jsonb -> root );
5235
- is_scalar = it -> isScalar ;
5236
5234
5237
5235
while ((type = JsonbIteratorNext (& it ,& v , false))!= WJB_DONE )
5238
5236
{
@@ -5252,7 +5250,7 @@ transform_jsonb_string_values(Jsonb *jsonb, void *action_state,
5252
5250
}
5253
5251
5254
5252
if (res -> type == jbvArray )
5255
- res -> val .array .rawScalar = is_scalar ;
5253
+ res -> val .array .rawScalar = JB_ROOT_IS_SCALAR ( jsonb ) ;
5256
5254
5257
5255
return JsonbValueToJsonb (res );
5258
5256
}