On Thu, Aug 14, 2025 at 4:59 PM jian he <jian.universal...@gmail.com> wrote: > > > 0001 is a somewhat invasive refactoring of the API for > > pushJsonbValue and friends.
in pushJsonbValue: /* * pushJsonbValueScalar handles all cases not involving pushing a * container object as an ELEM or VALUE. */ if (!jbval || (seq != WJB_ELEM && seq != WJB_VALUE)) { pushJsonbValueScalar(pstate, seq, jbval); return; } /* If it's not a jbvBinary value, again it goes to pushJsonbValueScalar */ if (jbval->type != jbvBinary) { pushJsonbValueScalar(pstate, seq, jbval); return; } we can combine above these two into if (!jbval || (seq != WJB_ELEM && seq != WJB_VALUE) || IsAJsonbScalar(jbval)) { pushJsonbValueScalar(pstate, seq, jbval); return; } and put it in the earlier position of pushJsonbValue.