Re: Invalid Unicode escape value at or near "\u0000" - Mailing list pgsql-hackers

From Thomas Munro
Subject Re: Invalid Unicode escape value at or near "\u0000"
Date
Msg-id CA+hUKGLGU_wUWbfs3G2RXDmo5F0+fC4RX3c+SfpADV3+K+Q6OQ@mail.gmail.com
Whole thread Raw
In response to Invalid Unicode escape value at or near "\u0000"  (Japin Li <japinli@hotmail.com>)
Responses Re: Invalid Unicode escape value at or near "\u0000"
Re: Invalid Unicode escape value at or near "\u0000"
List pgsql-hackers
On Sat, Nov 13, 2021 at 4:32 PM Japin Li <japinli@hotmail.com> wrote:
> When I try to insert an Unicode "\u0000", there is an error $subject.
>
> postgres=# CREATE TABLE tbl (s varchar(10));
> CREATE TABLE
> postgres=# INSERT INTO tbl VALUES (E'\u0000');
> ERROR:  invalid Unicode escape value at or near "\u0000"
> LINE 1: INSERT INTO tbl VALUES (E'\u0000');
>                                   ^
>
> "\u0000" is valid unicode [1], why not we cannot insert it?

Yes, it is a valid codepoint, but unfortunately PostgreSQL can't
support it because it sometimes deals in null terminated string, even
though internally it does track string data and length separately.  We
have to do that to use libc facilities like strcoll_r(), and probably
many other things.



pgsql-hackers by date:

Previous
From: Amit Kapila
Date:
Subject: Re: Parallel vacuum workers prevent the oldest xmin from advancing
Next
From: vignesh C
Date:
Subject: Re: Identify missing publications from publisher while create/alter subscription.