Re: psql completion for ids in multibyte string
От | Thomas Munro |
---|---|
Тема | Re: psql completion for ids in multibyte string |
Дата | |
Msg-id | CAEepm=3b-a=UvBGUju5UD-W6xdvUcSPZQ2175CVZtZwoK5TQHw@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: psql completion for ids in multibyte string (Kyotaro HORIGUCHI <horiguchi.kyotaro@lab.ntt.co.jp>) |
Ответы |
Re: psql completion for ids in multibyte string
|
Список | pgsql-hackers |
On Fri, Feb 26, 2016 at 6:34 PM, Kyotaro HORIGUCHI <horiguchi.kyotaro@lab.ntt.co.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.kyotaro@lab.ntt.co.jp> wrote in<20151106.114717.170526268.horiguchi.kyotaro@lab.ntt.co.jp> >> At Thu, 5 Nov 2015 18:32:59 +0900, Amit Langote <Langote_Amit_f8@lab.ntt.co.jp> wrote in <563B224B.3020400@lab.ntt.co.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
В списке pgsql-hackers по дате отправления: