File tree 1 file changed +12
-9
lines changed 1 file changed +12
-9
lines changed Original file line number Diff line number Diff line change @@ -159,6 +159,17 @@ JsonbInitBinary(JsonbValue *jbv, Jsonb *jb)
159
159
return jbv ;
160
160
}
161
161
162
+ static inline JsonbValue *
163
+ JsonbWrapInBinary (JsonbValue * jbv , JsonbValue * out )
164
+ {
165
+ Jsonb * jb = JsonbValueToJsonb (jbv );
166
+
167
+ if (!out )
168
+ out = palloc (sizeof (* out ));
169
+
170
+ return JsonbInitBinary (out , jb );
171
+ }
172
+
162
173
/********************Execute functions for JsonPath***************************/
163
174
164
175
/*
@@ -1967,7 +1978,6 @@ static inline JsonbValue *
1967
1978
wrapItem (JsonbValue * jbv )
1968
1979
{
1969
1980
JsonbParseState * ps = NULL ;
1970
- Jsonb * jb ;
1971
1981
JsonbValue jbvbuf ;
1972
1982
1973
1983
switch (JsonbType (jbv ))
@@ -1999,14 +2009,7 @@ wrapItem(JsonbValue *jbv)
1999
2009
pushJsonbValue (& ps , WJB_ELEM , jbv );
2000
2010
jbv = pushJsonbValue (& ps , WJB_END_ARRAY , NULL );
2001
2011
2002
- jb = JsonbValueToJsonb (jbv );
2003
-
2004
- jbv = palloc (sizeof (* jbv ));
2005
- jbv -> type = jbvBinary ;
2006
- jbv -> val .binary .data = & jb -> root ;
2007
- jbv -> val .binary .len = VARSIZE (jb ) - VARHDRSZ ;
2008
-
2009
- return jbv ;
2012
+ return JsonbWrapInBinary (jbv , NULL );
2010
2013
}
2011
2014
2012
2015
static inline JsonPathExecResult
You can’t perform that action at this time.
0 commit comments