• Tom Lane's avatar
    Fix another crash in json{b}_populate_recordset and json{b}_to_recordset. · eba2ce17
    Tom Lane authored
    populate_recordset_worker() failed to consider the possibility that the
    supplied JSON data contains no rows, so that update_cached_tupdesc never
    got called.  This led to a null-pointer dereference since commit 9a5e8ed28;
    before that it led to a bogus "set-valued function called in context that
    cannot accept a set" error.  Fix by forcing the update to happen.
    
    Per bug #15514.  Back-patch to v11 as 9a5e8ed28 was.  (If we were excited
    about the bogus error, we could perhaps go back further, but it'd take more
    work to figure out how to fix it in older branches.  Given the lack of
    field complaints about that aspect, I'm not excited.)
    
    Discussion: https://postgr.es/m/15514-59d5b4c4065b178b@postgresql.org
    eba2ce17
jsonfuncs.c 136 KB