@@ -5061,24 +5061,9 @@ setPathObject(JsonbIterator **it, Datum *path_elems, bool *path_nulls,
50615061 }
50625062
50635063 (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 );
50825067 }
50835068 }
50845069
@@ -5219,26 +5204,9 @@ setPathArray(JsonbIterator **it, Datum *path_elems, bool *path_nulls,
52195204 }
52205205 else
52215206 {
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 );
52425210 }
52435211 }
52445212
0 commit comments