• Andrew Dunstan's avatar
    Handle Unicode surrogate pairs correctly when processing JSON. · 94e3311b
    Andrew Dunstan authored
    In 9.2, Unicode escape sequences are not analysed at all other than
    to make sure that they are in the form \uXXXX. But in 9.3 many of the
    new operators and functions try to turn JSON text values into text in
    the server encoding, and this includes de-escaping Unicode escape
    sequences. This processing had not taken into account the possibility
    that this might contain a surrogate pair to designate a character
    outside the BMP. That is now handled correctly.
    
    This also enforces correct use of surrogate pairs, something that is not
    done by the type's input routines. This fact is noted in the docs.
    94e3311b
json.sql 11.5 KB