From: | Thomas Munro <thomas(dot)munro(at)enterprisedb(dot)com> |
---|---|
To: | Kyotaro HORIGUCHI <horiguchi(dot)kyotaro(at)lab(dot)ntt(dot)co(dot)jp> |
Cc: | Amit Langote <Langote_Amit_f8(at)lab(dot)ntt(dot)co(dot)jp>, Pg Hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: psql completion for ids in multibyte string |
Date: | 2016-02-29 23:32:24 |
Message-ID: | CAEepm=3b-a=UvBGUju5UD-W6xdvUcSPZQ2175CVZtZwoK5TQHw@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Fri, Feb 26, 2016 at 6:34 PM, Kyotaro HORIGUCHI
<horiguchi(dot)kyotaro(at)lab(dot)ntt(dot)co(dot)jp> wrote:
> Hello, this is the second patch plitted out. This allows
> multibyte names to be completed in psql.
>
> At Fri, 06 Nov 2015 11:47:17 +0900 (Tokyo Standard Time), Kyotaro HORIGUCHI <horiguchi(dot)kyotaro(at)lab(dot)ntt(dot)co(dot)jp> wrote in <20151106(dot)114717(dot)170526268(dot)horiguchi(dot)kyotaro(at)lab(dot)ntt(dot)co(dot)jp>
>> At Thu, 5 Nov 2015 18:32:59 +0900, Amit Langote <Langote_Amit_f8(at)lab(dot)ntt(dot)co(dot)jp> wrote in <563B224B(dot)3020400(at)lab(dot)ntt(dot)co(dot)jp>
>> > On 2015/11/05 18:10, Kyotaro HORIGUCHI wrote:
>> > > Hello. I don't know whether this is a bug fix or improvement,
>> >
>> > Would it be 50-50? :-)
>>
>> Yeah, honestly saying, I doubt that this is valuable but feel
>> uneasy to see some of the candidates vanish as completon proceeds
>> for no persuasive reason.
+1 from me, it's entirely reasonable to want to name database objects
in any human language and use auto-completion. It's not working today
as you showed.
> The current version of tab-completion failed to complete names
> with multibyte characters.
>
> =# create table いろは (あ int);
> =# create table いこい (あ int);
> =# drop table <tab>
> "いろは" hint_plan. pg_toast.
> "いこい" information_schema. pg_toast_temp_1.
> ALL IN TABLESPACE pg_catalog. public.
> dbms_stats. pg_temp_1.
> postgres=# alter table "い
> =# drop table "い<tab>
> =# drop table "い /* No candidate offered */
>
> This is because _complet_from_query counts the string length in
> bytes, instead of characters. With this patch the candidates will
> appear.
>
> =# drop table "い<tab>
> "いこい" "いろは"
> postgres=# drpo table "い
The patch looks correct to me: it counts characters rather than bytes,
which is the right thing to do because the value is passed to substr()
which also works in characters rather than bytes. I tested with
"éclair", and without the patch, tab completion doesn't work if you
press tab after 'é'. With the patch it does.
--
Thomas Munro
http://www.enterprisedb.com
From | Date | Subject | |
---|---|---|---|
Next Message | Peter Eisentraut | 2016-02-29 23:53:03 | pg_resetxlog reference page reorganization |
Previous Message | Alvaro Herrera | 2016-02-29 22:38:03 | Re: [PATCH] Logical decoding support for sequence advances |