Re: BUG #15637: Problem insert data 【Japanese】

Поиск
Список
Период
Сортировка
От Marc Schablewski
Тема Re: BUG #15637: Problem insert data 【Japanese】
Дата
Msg-id e0078286-6268-73c8-c25c-09656e349f3b@clickware.de
обсуждение исходный текст
Ответ на BUG #15637: Problem insert data 【Japanese】  (PG Bug reporting form <noreply@postgresql.org>)
Список pgsql-bugs
Am 15.02.2019 um 03:43 schrieb PG Bug reporting form:
> I created table has a column 【"C_VAL" character varying(10)】 after that I
> insert data【'不具合管理報告書': length=24】. It was inserted successfully => this is
> problem.
> * Details:
> -- Step 1: Create table. Data length of "C_VAL" column = 10
> create table "USER02"."T_331_VARCHAR" (
>    "ID" numeric not null
>    , "C_VAL" character varying(10)
>    , primary key ("ID")
> );
> -- Step 2: Check data length. OCTET_LENGTH('不具合管理報告書') = 24
> SELECT OCTET_LENGTH('不具合管理報告書');
> -- Step 3: Insert data. Length '不具合管理報告書' = 24
> INSERT INTO "USER02"."T_331_VARCHAR"("ID", "C_VAL")
> VALUES(1,'不具合管理報告書');
> -- Step 4: Check length of inserted data
> SELECT OCTET_LENGTH("C_VAL"), * FROM "USER02"."T_331_VARCHAR";
> => Why 【Step 3】was successful ?. Can you help me ?
> Thank you !

I think it works because a multibyte character is still considered a single character, even if it is 
represented internally with more than one byte. This means your octet_length() can be bigger than 
the character length of your string returned by length(). The string in your example is still only 8 
characters and should fit into your colum.

Marc



В списке pgsql-bugs по дате отправления:

Предыдущее
От: Sergei Kornilov
Дата:
Сообщение: Re: Bug: Deferred FKey Check Happening on Double Update, Not Single
Следующее
От: Peter Eisentraut
Дата:
Сообщение: Re: BUG #15631: Generated as identity field in a temporary table withon commit drop corrupts system catalogs