Bug #88017 Column Comments incorrectly truncated
Description:
Column comments truncate incorrectly
How to repeat:
========================================================================
TEST STRING (1024 characters between quotes including line terminators):
========================================================================
"11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111>100
22222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222>200
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333>300
44444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444>400
55555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555>500
66666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666>600
77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777>700
88888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888>800
99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999>900
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000>1000
1111111111111111111>1024"
No problem adding this Column comment per Script created by Workbench:
ALTER TABLE `test`.`test_column_comments_truncated`
CHANGE COLUMN `col1` `col1` INT(11) NOT NULL COMMENT '11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111>100\n22222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222>200\n33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333>300\n44444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444>400\n55555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555>500\n66666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666>600\n77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777>7000\n88888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888>800\n99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999>900\n0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000>1000\n111111111111111111>1024' ;
========================================================================
---SCENARIO 1---
========================================================================
Add 'X' at the end (i.e. now 1025 characters):
Correctly truncates per Script created by Workbench:
ALTER TABLE `test`.`test_column_comments_truncated`
CHANGE COLUMN `col1` `col1` INT(11) NOT NULL COMMENT '11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111>100\n22222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222>200\n33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333>300\n44444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444>400\n55555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555>500\n66666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666>600\n77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777>7000\n88888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888>800\n99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999>900\n0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000>1000\n111111111111111111>1024' /* comment truncated */ /*X*/ ;
So far, so good: /* comment truncated */ /*X*/
========================================================================
---SCENARIO 2---
========================================================================
Type <ENTER> after ">600" (i.e. now 1025 characters):
Seems it incorrectly truncates to 604 characters per Script created by
Workbench:
ALTER TABLE `test`.`test_column_comments_truncated`
CHANGE COLUMN `col1` `col1` INT(11) NOT NULL COMMENT '11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111>100\n22222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222>200\n33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333>300\n44444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444>400\n55555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555>500\n66666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666>600' /* comment truncated */ /*
77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777>700
88888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888>800
99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999>900
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000>1000
1111111111111111111>1024*/ ;
Seems it does not report on the first "\n" that was truncated (there were 2: "\n\n777...")
========================================================================
---SCENARIO 3---
========================================================================
TEST STRING (1543 characters between quotes including line terminators):
"10/6/2017 11:54AM:
Need to self-join table.
Combining multiple qortbl2 words to match up with one quran.word word:
---------------t1----------------------- ------------------t2------------------
SVWunion wordPhonetic qortbl2_wordSVW qortbl2word
109:1:1 qul 109:1:1 qul
109:1:2 yāayyuhā 109:1:2 yaa
109:1:3 l-kāfirūna 109:1:2 'ayy-u-haa
109:1:4 109:1:3 l-kaafir-uuna
SELECT
t1.SVWunion,
t1.wordPhonetic,
GROUP_CONCAT(t2.qortbl2word SEPARATOR '\n') AS UofHaifaTranscription
FROM
quran.svw_union_word_qortbl2 AS t1
RIGHT JOIN -- ignores row 109:1:4 in t1
quran.svw_union_word_qortbl2 AS t2
ON
t1.SVWunion = t2.qortbl2_wordSVW
WHERE
t2.qortbl2_wordSVW IS NOT NULL
GROUP BY
t2.qortbl2_wordSVW
ORDER BY
t1.ID;
Listing one qortbl2 word multiple times i.e. multiple quran.word words are combined to form one qortbl2 word:
--------------------------------t1---------------------------------- --------------t2----------------------
SVWunion wordPhonetic word_qortbl2SVW SVWunion qortbl2word
101:10:1 wamā 101:10:1 101:10:1 wa-maa
101:10:2 adrāka 101:10:2 101:10:2 'adraa-ka
101:10:3 mā 101:10:3 101:10:3 maahiyah
101:10:4 hiyah 101:10:3 101:10:4
SELECT
t1.SVWunion,
t1.wordPhonetic,
t2.qortbl2word AS UofHaifaTranscription
FROM
quran.svw_union_word_qortbl2 AS t1
LEFT JOIN
quran.svw_union_word_qortbl2 AS t2
ON
t1.word_qortbl2SVW = t2.SVWunion
WHERE
t1.word_qortbl2SVW IS NOT NULL
ORDER BY
t1.ID;"
Seems it incorrectly truncates to 386 characters per Script created by Workbench:
ALTER TABLE `test`.`test_column_comments_truncated`
CHANGE COLUMN `col1` `col1` INT(11) NOT NULL COMMENT '10/6/2017 11:54AM:\nNeed to self-join table.\nCombining multiple qortbl2 words to match up with one quran.word word:\n---------------t1----------------------- ------------------t2------------------\nSVWunion wordPhonetic qortbl2_wordSVW qortbl2word\n109:1:1 qul 109:1:1 qul\n109:1:2 yāayyuhā 109:1:2 yaa\n109:1:3 l-kāfirūna 109:1:2 \'ayy-u-haa\n109:1:4 109:1:3 l-kaafir-' /* comment truncated */ /*una
SELECT
t1.SVWunion,
t1.wordPhonetic,
GROUP_CONCAT(t2.qortbl2word SEPARATOR '\n') AS UofHaifaTranscription
FROM
quran.svw_union_word_qortbl2 AS t1
RIGHT JOIN -- ignores row 109:1:4 in t1
quran.svw_union_word_qortbl2 AS t2
ON
t1.SVWunion = t2.qortbl2_wordSVW
WHERE
t2.qortbl2_wordSVW IS NOT NULL
GROUP BY
t2.qortbl2_wordSVW
ORDER BY
t1.ID;
Listing one qortbl2 word multiple times i.e. multiple quran.word words are combined to form one qortbl2 word:
--------------------------------t1---------------------------------- --------------t2----------------------
SVWunion wordPhonetic word_qortbl2SVW SVWunion qortbl2word
101:10:1 wamā 101:10:1 101:10:1 wa-maa
101:10:2 adrāka 101:10:2 101:10:2 'adraa-ka
101:10:3 mā 101:10:3 101:10:3 maahiyah
101:10:4 hiyah 101:10:3 101:10:4
SELECT
t1.SVWunion,
t1.wordPhonetic,
t2.qortbl2word AS UofHaifaTranscription
FROM
quran.svw_union_word_qortbl2 AS t1
LEFT JOIN
quran.svw_union_word_qortbl2 AS t2
ON
t1.word_qortbl2SVW = t2.SVWunion
WHERE
t1.word_qortbl2SVW IS NOT NULL
ORDER BY
t1.ID;*/ ;
Seems it does not report on the first "u" that was truncated (there were 2: "uuna\n\n")
========================================================================
---SCENARIO 4---
========================================================================
TEST STRING (The first 1020 characters of previous test string):
"10/6/2017 11:54AM:
Need to self-join table.
Combining multiple qortbl2 words to match up with one quran.word word:
---------------t1----------------------- ------------------t2------------------
SVWunion wordPhonetic qortbl2_wordSVW qortbl2word
109:1:1 qul 109:1:1 qul
109:1:2 yāayyuhā 109:1:2 yaa
109:1:3 l-kāfirūna 109:1:2 'ayy-u-haa
109:1:4 109:1:3 l-kaafir-uuna
SELECT
t1.SVWunion,
t1.wordPhonetic,
GROUP_CONCAT(t2.qortbl2word SEPARATOR '\n') AS UofHaifaTranscription
FROM
quran.svw_union_word_qortbl2 AS t1
RIGHT JOIN -- ignores row 109:1:4 in t1
quran.svw_union_word_qortbl2 AS t2
ON
t1.SVWunion = t2.qortbl2_wordSVW
WHERE
t2.qortbl2_wordSVW IS NOT NULL
GROUP BY
t2.qortbl2_wordSVW
ORDER BY
t1.ID;
Listing one qortbl2 word multiple times i.e. multiple quran.word words are combined to form one qortbl2 word:
--------------------------------t1---------------------------------- --------------t2----------------------
SVWunion wordPhonetic word_qortbl2SVW SVW"
No problem adding this Column comment per Script created by Workbench:
ALTER TABLE `test`.`test_column_comments_truncated`
CHANGE COLUMN `col1` `col1` INT(11) NOT NULL COMMENT '10/6/2017 11:54AM:\nNeed to self-join table.\nCombining multiple qortbl2 words to match up with one quran.word word:\n---------------t1----------------------- ------------------t2------------------\nSVWunion wordPhonetic qortbl2_wordSVW qortbl2word\n109:1:1 qul 109:1:1 qul\n109:1:2 yāayyuhā 109:1:2 yaa\n109:1:3 l-kāfirūna 109:1:2 \'ayy-u-haa\n109:1:4 109:1:3 l-kaafir-uuna\n\nSELECT \n t1.SVWunion,\n t1.wordPhonetic,\nGROUP_CONCAT(t2.qortbl2word SEPARATOR \'\\n\') AS UofHaifaTranscription\nFROM\n quran.svw_union_word_qortbl2 AS t1\nRIGHT JOIN -- ignores row 109:1:4 in t1\n quran.svw_union_word_qortbl2 AS t2\nON\n t1.SVWunion = t2.qortbl2_wordSVW\nWHERE\n t2.qortbl2_wordSVW IS NOT NULL\nGROUP BY\n t2.qortbl2_wordSVW\nORDER BY\n t1.ID;\n\nListing one qortbl2 word multiple times i.e. multiple quran.word words are combined to form one qortbl2 word:\n--------------------------------t1---------------------------------- --------------t2----------------------\nSVWunion wordPhonetic word_qortbl2SVW SVW' ;
========================================================================
---SCENARIO 5---
========================================================================
Add 'X' at the end (i.e. now 1025 characters):
Seems it incorrectly truncates to 386 characters per Script created by Workbench:
ALTER TABLE `test`.`test_column_comments_truncated`
CHANGE COLUMN `col1` `col1` INT(11) NOT NULL COMMENT '10/6/2017 11:54AM:\nNeed to self-join table.\nCombining multiple qortbl2 words to match up with one quran.word word:\n---------------t1----------------------- ------------------t2------------------\nSVWunion wordPhonetic qortbl2_wordSVW qortbl2word\n109:1:1 qul 109:1:1 qul\n109:1:2 yāayyuhā 109:1:2 yaa\n109:1:3 l-kāfirūna 109:1:2 \'ayy-u-haa\n109:1:4 109:1:3 l-kaafir-' /* comment truncated */ /*una
SELECT
t1.SVWunion,
t1.wordPhonetic,
GROUP_CONCAT(t2.qortbl2word SEPARATOR '\n') AS UofHaifaTranscription
FROM
quran.svw_union_word_qortbl2 AS t1
RIGHT JOIN -- ignores row 109:1:4 in t1
quran.svw_union_word_qortbl2 AS t2
ON
t1.SVWunion = t2.qortbl2_wordSVW
WHERE
t2.qortbl2_wordSVW IS NOT NULL
GROUP BY
t2.qortbl2_wordSVW
ORDER BY
t1.ID;
Listing one qortbl2 word multiple times i.e. multiple quran.word words are combined to form one qortbl2 word:
--------------------------------t1---------------------------------- --------------t2----------------------
SVWunion wordPhonetic word_qortbl2SVW SVWX*/ ;
Seems it does not report on the first "u" that was truncated (there were 2: "uuna\n\n")
Suggested fix:
Code needs to be debugged
Portions of this website are copyright © 2001, 2002 The PHP Group
Page generated in 0.065 sec. using MySQL 8.4.7-u6-cloud
Timestamp references displayed by the system are UTC.
Content reproduced on this site is the property of the
respective copyright holders.
It is not reviewed in advance
by Oracle and does not necessarily represent the opinion of
Oracle or any other party.