File tree Expand file tree Collapse file tree 1 file changed +12
-0
lines changed Expand file tree Collapse file tree 1 file changed +12
-0
lines changed Original file line number Diff line number Diff line change @@ -1735,15 +1735,27 @@ convertToJsonb(const JsonbValue *val, JsonValueEncoder encoder)
17351735{
17361736 StringInfoData buffer ;
17371737 void * res ;
1738+ MemoryContext tmpcxt ,
1739+ oldcxt ;
17381740
17391741 /* Allocate an output buffer. It will be enlarged as needed */
17401742 initStringInfo (& buffer );
17411743
17421744 /* Make room for the varlena header */
17431745 reserveFromBuffer (& buffer , VARHDRSZ );
17441746
1747+ tmpcxt = AllocSetContextCreate (CurrentMemoryContext ,
1748+ "Json Encoding Context" ,
1749+ ALLOCSET_DEFAULT_MINSIZE ,
1750+ ALLOCSET_DEFAULT_INITSIZE ,
1751+ ALLOCSET_DEFAULT_MAXSIZE );
1752+ oldcxt = MemoryContextSwitchTo (tmpcxt );
1753+
17451754 (* encoder )(& buffer , val );
17461755
1756+ MemoryContextSwitchTo (oldcxt );
1757+ MemoryContextDelete (tmpcxt );
1758+
17471759 /*
17481760 * Note: the JEntry of the root is discarded. Therefore the root
17491761 * JsonbContainer struct must contain enough information to tell what kind
You can’t perform that action at this time.
0 commit comments