Why format() adds double quote? - Mailing list pgsql-hackers

From Tatsuo Ishii
Subject Why format() adds double quote?
Date
Msg-id 20160120.114701.401711752590417003.t-ishii@sraoss.co.jp
Whole thread Raw
Responses Re: Why format() adds double quote?  (Pavel Stehule <pavel.stehule@gmail.com>)
List pgsql-hackers
test=# select format('%I', t) from t1; format  
----------aaa"AAA""あいう"
(3 rows)

Why is the text value of the third line needed to be double quoted?
(note that it is a multi byte character). Same thing can be said to
quote_ident().

We treat identifiers made of the multi byte characters without double
quotation (non delimited identifier) in other places.

test=# create table t2(あいう text);
CREATE TABLE
test=# insert into t2 values('aaa');
INSERT 0 1
test=# select あいう from t2;あいう 
--------aaa
(1 row)

Best regards,
--
Tatsuo Ishii
SRA OSS, Inc. Japan
English: http://www.sraoss.co.jp/index_en.php
Japanese:http://www.sraoss.co.jp



pgsql-hackers by date:

Previous
From: Alvaro Herrera
Date:
Subject: Re: NextXID format change (was Re: exposing pg_controldata and pg_config as functions)
Next
From: Michael Paquier
Date:
Subject: Re: NextXID format change (was Re: exposing pg_controldata and pg_config as functions)