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

From Pavel Stehule
Subject Re: Why format() adds double quote?
Date
Msg-id CAFj8pRAg-w7u4RdP4zdRRbKRJGNSnn1ENxBMuqoe3zFp-fcPgg@mail.gmail.com
Whole thread Raw
In response to Why format() adds double quote?  (Tatsuo Ishii <ishii@postgresql.org>)
Responses Re: Why format() adds double quote?  (Tatsuo Ishii <ishii@postgresql.org>)
List pgsql-hackers


2016-01-20 3:47 GMT+01:00 Tatsuo Ishii <ishii@postgresql.org>:
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)

format uses same routine as quote_ident. So quote_ident should be fixed first.

Regards

Pavel
 

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


--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

pgsql-hackers by date:

Previous
From: Masahiko Sawada
Date:
Subject: Re: Support for N synchronous standby servers - take 2
Next
From: Pavel Stehule
Date:
Subject: Re: Rethinking TRANSFORM FOR TYPE ...