[ 
https://issues.apache.org/jira/browse/TRAFODION-2139?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15407058#comment-15407058
 ] 

Hans Zeller commented on TRAFODION-2139:
----------------------------------------

Here is a test case (shows the issue in the code before Anoop's recent change 
for TRAFODION-2137. Probably reproduces it also with that change. If not, try 
adding one character somewhere in the beginning.

drop view t10k_utf8;
create view t10k_utf8 as
select *
from (values
('1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890'),
('1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890'),
('1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890'),
('1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890'),
('1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890'),
('1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890'),
('1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890'),
('1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890'),
('1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890'),
('1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890'),
('1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890'),
('1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890'),
('1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890'),
('1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890'),
('1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890'),
('1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890'),
('1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890'),
('1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890'),
('1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890'),
('1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890'),
('1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890'),
('1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890'),
('1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890'),
('1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890'),
('1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890'),
('1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890'),
('1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890'),
('1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890'),
('1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890'),
('1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890'),
('1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890'),
('1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890'),
('1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890'),
('1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890'),
('1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890'),
('1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890'),
('1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890'),
('1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890'),
('1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890'),
('1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890'),
('1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890'),
('1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890'),
('1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890'),
('1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890'),
('1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890'),
('1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890'),
('1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890'),
('1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890'),
('1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890'),
('1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890'),
('1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890'),
('1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890'),
('1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890'),
('1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890'),
('1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890'),
('1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890'),
('1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890'),
('1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890'),
('1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890'),
('1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890'),
('1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890'),
('1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890'),
('1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890'),
('1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890'),
('1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890'),
('1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890'),
('1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890'),
('1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890'),
('1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890'),
('1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890'),
('1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890'),
('1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890'),
('1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890'),
('1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890'),
('1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890'),
('1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890'),
('1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890'),
('1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890'),
('1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890'),
('1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890'),
('1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890'),
('1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890'),
('1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890'),
('1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890'),
('1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890'),
('1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890'),
('1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890'),
('1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890'),
('1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890'),
('1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890'),
('ääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääää'),
('ääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääää'),
('ääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääää'),
('ääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääää'),
('ääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääää'),
('ääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääää'),
('ääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääää'),
('ääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääää'),
('ääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääää'),
('ääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääää')
) T(a);


> Possible invalid UTF-8 string in TEXT metadata table
> ----------------------------------------------------
>
>                 Key: TRAFODION-2139
>                 URL: https://issues.apache.org/jira/browse/TRAFODION-2139
>             Project: Apache Trafodion
>          Issue Type: Bug
>          Components: sql-cmu
>    Affects Versions: 1.3-incubating
>            Reporter: Hans Zeller
>            Assignee: Hans Zeller
>
> Method CmpSeabaseDDL::updateTextTable() takes a string, splits it into chunks 
> of a maximum size and inserts them into the TEXT table. I have not yet 
> verified that this problem actually can occur, but I think there is a 
> possibility that the method will split a multi-byte UTF-8 character in the 
> middle and will get an error. To fix this, we should use method 
> findStartOfChar() in file sql/common/csconvert.h to find a good point to 
> split the text.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to