@@ -420,6 +420,53 @@ JsonValueInitFloat(JsonbValue *jbv, float4 f)
420
420
return jbv ;
421
421
}
422
422
423
+ #define pushJsonbKey (pstate ,jbv ,key ) \
424
+ pushJsonbValue(pstate, WJB_KEY, JsonValueInitString(jbv, key))
425
+
426
+ #define pushJsonbValueGeneric (Type ,pstate ,jbv ,val ) \
427
+ pushJsonbValue(pstate, WJB_VALUE, JsonValueInit##Type(jbv, val))
428
+
429
+ #define pushJsonbElemGeneric (Type ,pstate ,jbv ,val ) \
430
+ pushJsonbValue(pstate, WJB_ELEM, JsonValueInit##Type(jbv, val))
431
+
432
+ #define pushJsonbValueInteger (pstate ,jbv ,i ) \
433
+ pushJsonbValueGeneric(Integer, pstate, jbv, i)
434
+
435
+ #define pushJsonbValueFloat (pstate ,jbv ,f ) \
436
+ pushJsonbValueGeneric(Float, pstate, jbv, f)
437
+
438
+ #define pushJsonbElemFloat (pstate ,jbv ,f ) \
439
+ pushJsonbElemGeneric(Float, pstate, jbv, f)
440
+
441
+ #define pushJsonbElemString (pstate ,jbv ,txt ) \
442
+ pushJsonbElemGeneric(String, pstate, jbv, txt)
443
+
444
+ #define pushJsonbElemText (pstate ,jbv ,txt ) \
445
+ pushJsonbElemGeneric(Text, pstate, jbv, txt)
446
+
447
+ #define pushJsonbElemNumeric (pstate ,jbv ,num ) \
448
+ pushJsonbElemGeneric(Numeric, pstate, jbv, num)
449
+
450
+ #define pushJsonbElemInteger (pstate ,jbv ,num ) \
451
+ pushJsonbElemGeneric(Integer, pstate, jbv, num)
452
+
453
+ #define pushJsonbElemBinary (pstate ,jbv ,jbcont ) \
454
+ pushJsonbElemGeneric(Binary, pstate, jbv, jbcont)
455
+
456
+ #define pushJsonbKeyValueGeneric (Type ,pstate ,jbv ,key ,val ) ( \
457
+ pushJsonbKey(pstate, jbv, key), \
458
+ pushJsonbValueGeneric(Type, pstate, jbv, val) \
459
+ )
460
+
461
+ #define pushJsonbKeyValueString (pstate ,jbv ,key ,val ) \
462
+ pushJsonbKeyValueGeneric(String, pstate, jbv, key, val)
463
+
464
+ #define pushJsonbKeyValueFloat (pstate ,jbv ,key ,val ) \
465
+ pushJsonbKeyValueGeneric(Float, pstate, jbv, key, val)
466
+
467
+ #define pushJsonbKeyValueInteger (pstate ,jbv ,key ,val ) \
468
+ pushJsonbKeyValueGeneric(Integer, pstate, jbv, key, val)
469
+
423
470
extern Json * JsonValueToJson (JsonValue * val );
424
471
extern JsonValue * JsonToJsonValue (Json * json ,JsonValue * jv );
425
472
extern JsonValue * JsonValueUnpackBinary (const JsonValue * jbv );