You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Describe the bug
String of multibyte characters overflows variable when converting ut_varchar2_list to ut_varchar2_rows
Provide version info
utPLSQL v3.1.2.2134
Oracle 12.2 charset UTF8
To Reproduce
Steps to reproduce the behavior:
generate multibyte character string rpad('№',1334,'№')||'№'
make it hit the reporter
See error
Expected behavior
the error is not raised and the log lines are displayed correctly
Example code
create or replace package utestoq.test_packageas--%suite(Test multibyte strings)--%test
procedure pTest1;
end;
/
create or replace package body utestoq.test_packageas
procedure pTest1 asbeginutest.ut.fail(rpad('№',1332,'№'));
end;
end;
/select*from table(utest.ut.run('utestoq.test_package'))
[1]: ORA-12899: значение для столбца "UTEST"."UT_OUTPUT_BUFFER_TMP$"."TEXT" слишком велико (фактическое: 4002, максимальное: 4000)
[1]: ORA-06512: на "UTEST.UT_RUNNER", line 150
[1]: ORA-06512: на "UTEST.UT_OUTPUT_TABLE_BUFFER", line 61
[1]: ORA-06512: на "UTEST.UT_OUTPUT_REPORTER_BASE", line 46
[1]: ORA-06512: на "UTEST.UT_DOCUMENTATION_REPORTER", line 38
[1]: ORA-06512: на "UTEST.UT_CONSOLE_REPORTER_BASE", line 26
[1]: ORA-06512: на "UTEST.UT_DOCUMENTATION_REPORTER", line 101
[1]: ORA-06512: на "UTEST.UT_DOCUMENTATION_REPORTER", line 11
Could you also add a unit test to cover that situation?
Our tests are in test folder.
The test will run on our Travis once you open a Pull Request.
For details see the contributing guide.
Thanks again for finding the issue, reporting it and fixing it 👍
Activity
pesse commentedon Sep 13, 2019
Thank you for bringing this up!
Seems the bug might still exist in the latest version
jgebal commentedon Sep 13, 2019
Open a pull request for that change into our repo.
jgebal commentedon Sep 13, 2019
Could you also add a unit test to cover that situation?
Our tests are in test folder.
The test will run on our Travis once you open a Pull Request.
For details see the contributing guide.
Thanks again for finding the issue, reporting it and fixing it 👍
jgebal commentedon Sep 22, 2019
There definitely is a problem with muti-byte characters.
I'm not sure if the fix solves them all.
@lukashov-artem - I've tried applying you fix on my
AL32UTF8databases and encountered problems in other parts of code.Most probably your fix is not addressing all the issues.