@@ -4991,24 +4991,9 @@ setPathObject(JsonbIterator **it, Datum *path_elems, bool *path_nulls,
4991
4991
}
4992
4992
4993
4993
(void ) pushJsonbValue (st , r , & k );
4994
- r = JsonbIteratorNext (it , & v , false);
4995
- (void ) pushJsonbValue (st , r , r < WJB_BEGIN_ARRAY ? & v : NULL );
4996
- if (r == WJB_BEGIN_ARRAY || r == WJB_BEGIN_OBJECT )
4997
- {
4998
- int walking_level = 1 ;
4999
-
5000
- while (walking_level != 0 )
5001
- {
5002
- r = JsonbIteratorNext (it , & v , false);
5003
-
5004
- if (r == WJB_BEGIN_ARRAY || r == WJB_BEGIN_OBJECT )
5005
- ++ walking_level ;
5006
- if (r == WJB_END_ARRAY || r == WJB_END_OBJECT )
5007
- -- walking_level ;
5008
-
5009
- (void ) pushJsonbValue (st , r , r < WJB_BEGIN_ARRAY ? & v : NULL );
5010
- }
5011
- }
4994
+ r = JsonbIteratorNext (it , & v , true);
4995
+ Assert (r == WJB_VALUE );
4996
+ (void ) pushJsonbValue (st , r , & v );
5012
4997
}
5013
4998
}
5014
4999
@@ -5149,26 +5134,9 @@ setPathArray(JsonbIterator **it, Datum *path_elems, bool *path_nulls,
5149
5134
}
5150
5135
else
5151
5136
{
5152
- r = JsonbIteratorNext (it , & v , false);
5153
-
5154
- (void ) pushJsonbValue (st , r , r < WJB_BEGIN_ARRAY ? & v : NULL );
5155
-
5156
- if (r == WJB_BEGIN_ARRAY || r == WJB_BEGIN_OBJECT )
5157
- {
5158
- int walking_level = 1 ;
5159
-
5160
- while (walking_level != 0 )
5161
- {
5162
- r = JsonbIteratorNext (it , & v , false);
5163
-
5164
- if (r == WJB_BEGIN_ARRAY || r == WJB_BEGIN_OBJECT )
5165
- ++ walking_level ;
5166
- if (r == WJB_END_ARRAY || r == WJB_END_OBJECT )
5167
- -- walking_level ;
5168
-
5169
- (void ) pushJsonbValue (st , r , r < WJB_BEGIN_ARRAY ? & v : NULL );
5170
- }
5171
- }
5137
+ r = JsonbIteratorNext (it , & v , true);
5138
+ Assert (r == WJB_ELEM );
5139
+ (void ) pushJsonbValue (st , r , & v );
5172
5140
}
5173
5141
}
5174
5142
0 commit comments