I wrote:
> I agree. It looks to me like the problem is this over-optimistic
> assumption:
> /*
> * Add quotes around string value (should be already escaped) if
> * converting to json/jsonb.
> */
> No, it's *not* already escaped. Fixing the code to use escape_json()
> is a bit tedious, because for some reason that function wasn't designed
> to support non-null-terminated input, but with the attached patch we get
> what seems to me like sane behavior:
Hearing no comments, I've pushed this patch. I also rewrote the
documentation to provide something approaching a specification for
what json_to_record() and friends do.
regards, tom lane