File tree 3 files changed +14
-3
lines changed
Filter options
3 files changed +14
-3
lines changed
Original file line number Diff line number Diff line change @@ -123,6 +123,7 @@ extern int32 jsqGetIsType(JsQueryItem *v);
123
123
extern char * jsqGetString (JsQueryItem * v , int32 * len );
124
124
extern void jsqIterateInit (JsQueryItem * v );
125
125
extern bool jsqIterateArray (JsQueryItem * v , JsQueryItem * e );
126
+ extern void jsqIterateDestroy (JsQueryItem * v );
126
127
127
128
void alignStringInfoInt (StringInfo buf );
128
129
Original file line number Diff line number Diff line change @@ -273,7 +273,8 @@ executeArrayOp(JsQueryItem *jsq, int32 op, JsonbValue *jb)
273
273
int32 r = 0 ; /* keep static analyzer quiet */
274
274
JsonbIterator * it ;
275
275
JsonbValue v ;
276
- JsQueryItem elem ;
276
+ JsQueryItem elem ;
277
+ bool res ;
277
278
278
279
if (JsonbType (jb ) != jbvArray )
279
280
return false;
@@ -284,7 +285,7 @@ executeArrayOp(JsQueryItem *jsq, int32 op, JsonbValue *jb)
284
285
{
285
286
while (jsqIterateArray (jsq , & elem ))
286
287
{
287
- bool res = false;
288
+ res = false;
288
289
289
290
it = JsonbIteratorInit (jb -> val .binary .data );
290
291
@@ -306,7 +307,7 @@ executeArrayOp(JsQueryItem *jsq, int32 op, JsonbValue *jb)
306
307
{
307
308
if (r == WJB_ELEM )
308
309
{
309
- bool res = false;
310
+ res = false;
310
311
311
312
jsqIterateInit (jsq );
312
313
while (jsqIterateArray (jsq , & elem ))
@@ -319,6 +320,7 @@ executeArrayOp(JsQueryItem *jsq, int32 op, JsonbValue *jb)
319
320
break ;
320
321
}
321
322
}
323
+ jsqIterateDestroy (jsq );
322
324
323
325
if (op == jqiContained && res == false)
324
326
return false;
Original file line number Diff line number Diff line change @@ -252,3 +252,11 @@ jsqIterateArray(JsQueryItem *v, JsQueryItem *e)
252
252
}
253
253
}
254
254
255
+ void
256
+ jsqIterateDestroy (JsQueryItem * v )
257
+ {
258
+ Assert (v -> type == jqiArray );
259
+ Assert (v -> array .current <= v -> array .current );
260
+ v -> array .current ++ ;
261
+ }
262
+
You can’t perform that action at this time.
0 commit comments