@@ -5061,24 +5061,9 @@ setPathObject(JsonbIterator **it, Datum *path_elems, bool *path_nulls,
5061
5061
}
5062
5062
5063
5063
(void ) pushJsonbValue (st , r , & k );
5064
- r = JsonbIteratorNext (it , & v , false);
5065
- (void ) pushJsonbValue (st , r , r < WJB_BEGIN_ARRAY ? & v : NULL );
5066
- if (r == WJB_BEGIN_ARRAY || r == WJB_BEGIN_OBJECT )
5067
- {
5068
- int walking_level = 1 ;
5069
-
5070
- while (walking_level != 0 )
5071
- {
5072
- r = JsonbIteratorNext (it , & v , false);
5073
-
5074
- if (r == WJB_BEGIN_ARRAY || r == WJB_BEGIN_OBJECT )
5075
- ++ walking_level ;
5076
- if (r == WJB_END_ARRAY || r == WJB_END_OBJECT )
5077
- -- walking_level ;
5078
-
5079
- (void ) pushJsonbValue (st , r , r < WJB_BEGIN_ARRAY ? & v : NULL );
5080
- }
5081
- }
5064
+ r = JsonbIteratorNext (it , & v , true);
5065
+ Assert (r == WJB_VALUE );
5066
+ (void ) pushJsonbValue (st , r , & v );
5082
5067
}
5083
5068
}
5084
5069
@@ -5219,26 +5204,9 @@ setPathArray(JsonbIterator **it, Datum *path_elems, bool *path_nulls,
5219
5204
}
5220
5205
else
5221
5206
{
5222
- r = JsonbIteratorNext (it , & v , false);
5223
-
5224
- (void ) pushJsonbValue (st , r , r < WJB_BEGIN_ARRAY ? & v : NULL );
5225
-
5226
- if (r == WJB_BEGIN_ARRAY || r == WJB_BEGIN_OBJECT )
5227
- {
5228
- int walking_level = 1 ;
5229
-
5230
- while (walking_level != 0 )
5231
- {
5232
- r = JsonbIteratorNext (it , & v , false);
5233
-
5234
- if (r == WJB_BEGIN_ARRAY || r == WJB_BEGIN_OBJECT )
5235
- ++ walking_level ;
5236
- if (r == WJB_END_ARRAY || r == WJB_END_OBJECT )
5237
- -- walking_level ;
5238
-
5239
- (void ) pushJsonbValue (st , r , r < WJB_BEGIN_ARRAY ? & v : NULL );
5240
- }
5241
- }
5207
+ r = JsonbIteratorNext (it , & v , true);
5208
+ Assert (r == WJB_ELEM );
5209
+ (void ) pushJsonbValue (st , r , & v );
5242
5210
}
5243
5211
}
5244
5212
0 commit comments