Commit a91c59c2 authored by Sergei Golubchik's avatar Sergei Golubchik

MDEV-5920 MySQL Bug#16765410 FTS: STACK AROUND THE VARIABLE 'MYSTR' WAS...

MDEV-5920 MySQL Bug#16765410 FTS: STACK AROUND THE VARIABLE 'MYSTR' WAS CORRUPTED IN INNOBASE_STRNXFRM
parent 319bcde9
...@@ -383,55 +383,55 @@ hex(weight_string('abc' as char(5))) ...@@ -383,55 +383,55 @@ hex(weight_string('abc' as char(5)))
A4A5A6020202 A4A5A6020202
select hex(weight_string('abc', 1, 2, 0xC0)); select hex(weight_string('abc', 1, 2, 0xC0));
hex(weight_string('abc', 1, 2, 0xC0)) hex(weight_string('abc', 1, 2, 0xC0))
A4A5 A4
select hex(weight_string('abc', 2, 2, 0xC0)); select hex(weight_string('abc', 2, 2, 0xC0));
hex(weight_string('abc', 2, 2, 0xC0)) hex(weight_string('abc', 2, 2, 0xC0))
A4A5A6 A4A5
select hex(weight_string('abc', 3, 2, 0xC0)); select hex(weight_string('abc', 3, 2, 0xC0));
hex(weight_string('abc', 3, 2, 0xC0)) hex(weight_string('abc', 3, 2, 0xC0))
A4A5A602 A4A5A6
select hex(weight_string('abc', 4, 2, 0xC0)); select hex(weight_string('abc', 4, 2, 0xC0));
hex(weight_string('abc', 4, 2, 0xC0)) hex(weight_string('abc', 4, 2, 0xC0))
A4A5A60202 A4A5A602
select hex(weight_string('abc', 5, 2, 0xC0)); select hex(weight_string('abc', 5, 2, 0xC0));
hex(weight_string('abc', 5, 2, 0xC0)) hex(weight_string('abc', 5, 2, 0xC0))
A4A5A6020202 A4A5A60202
select hex(weight_string('abc',25, 2, 0xC0)); select hex(weight_string('abc',25, 2, 0xC0));
hex(weight_string('abc',25, 2, 0xC0)) hex(weight_string('abc',25, 2, 0xC0))
A4A5A602020200000000000000000000000000000000000000 A4A5A602020200000000000000000000000000000000000000
select hex(weight_string('abc', 1, 3, 0xC0)); select hex(weight_string('abc', 1, 3, 0xC0));
hex(weight_string('abc', 1, 3, 0xC0)) hex(weight_string('abc', 1, 3, 0xC0))
A4A5 A4
select hex(weight_string('abc', 2, 3, 0xC0)); select hex(weight_string('abc', 2, 3, 0xC0));
hex(weight_string('abc', 2, 3, 0xC0)) hex(weight_string('abc', 2, 3, 0xC0))
A4A5A6 A4A5
select hex(weight_string('abc', 3, 3, 0xC0)); select hex(weight_string('abc', 3, 3, 0xC0));
hex(weight_string('abc', 3, 3, 0xC0)) hex(weight_string('abc', 3, 3, 0xC0))
A4A5A602 A4A5A6
select hex(weight_string('abc', 4, 3, 0xC0)); select hex(weight_string('abc', 4, 3, 0xC0));
hex(weight_string('abc', 4, 3, 0xC0)) hex(weight_string('abc', 4, 3, 0xC0))
A4A5A60202 A4A5A602
select hex(weight_string('abc', 5, 3, 0xC0)); select hex(weight_string('abc', 5, 3, 0xC0));
hex(weight_string('abc', 5, 3, 0xC0)) hex(weight_string('abc', 5, 3, 0xC0))
A4A5A6020202 A4A5A60202
select hex(weight_string('abc',25, 3, 0xC0)); select hex(weight_string('abc',25, 3, 0xC0));
hex(weight_string('abc',25, 3, 0xC0)) hex(weight_string('abc',25, 3, 0xC0))
A4A5A602020200000000000000000000000000000000000000 A4A5A602020200000000000000000000000000000000000000
select hex(weight_string('abc', 1, 4, 0xC0)); select hex(weight_string('abc', 1, 4, 0xC0));
hex(weight_string('abc', 1, 4, 0xC0)) hex(weight_string('abc', 1, 4, 0xC0))
A4A5 A4
select hex(weight_string('abc', 2, 4, 0xC0)); select hex(weight_string('abc', 2, 4, 0xC0));
hex(weight_string('abc', 2, 4, 0xC0)) hex(weight_string('abc', 2, 4, 0xC0))
A4A5A6 A4A5
select hex(weight_string('abc', 3, 4, 0xC0)); select hex(weight_string('abc', 3, 4, 0xC0));
hex(weight_string('abc', 3, 4, 0xC0)) hex(weight_string('abc', 3, 4, 0xC0))
A4A5A602 A4A5A6
select hex(weight_string('abc', 4, 4, 0xC0)); select hex(weight_string('abc', 4, 4, 0xC0));
hex(weight_string('abc', 4, 4, 0xC0)) hex(weight_string('abc', 4, 4, 0xC0))
A4A5A60202 A4A5A602
select hex(weight_string('abc', 5, 4, 0xC0)); select hex(weight_string('abc', 5, 4, 0xC0));
hex(weight_string('abc', 5, 4, 0xC0)) hex(weight_string('abc', 5, 4, 0xC0))
A4A5A6020202 A4A5A60202
select hex(weight_string('abc',25, 4, 0xC0)); select hex(weight_string('abc',25, 4, 0xC0));
hex(weight_string('abc',25, 4, 0xC0)) hex(weight_string('abc',25, 4, 0xC0))
A4A5A602020200000000000000000000000000000000000000 A4A5A602020200000000000000000000000000000000000000
...@@ -455,55 +455,55 @@ hex(weight_string(cast(_latin1 0x808080 as char) as char(5))) ...@@ -455,55 +455,55 @@ hex(weight_string(cast(_latin1 0x808080 as char) as char(5)))
818181232323 818181232323
select hex(weight_string(cast(_latin1 0x808080 as char), 1, 2, 0xC0)); select hex(weight_string(cast(_latin1 0x808080 as char), 1, 2, 0xC0));
hex(weight_string(cast(_latin1 0x808080 as char), 1, 2, 0xC0)) hex(weight_string(cast(_latin1 0x808080 as char), 1, 2, 0xC0))
8181 81
select hex(weight_string(cast(_latin1 0x808080 as char), 2, 2, 0xC0)); select hex(weight_string(cast(_latin1 0x808080 as char), 2, 2, 0xC0));
hex(weight_string(cast(_latin1 0x808080 as char), 2, 2, 0xC0)) hex(weight_string(cast(_latin1 0x808080 as char), 2, 2, 0xC0))
818181 8181
select hex(weight_string(cast(_latin1 0x808080 as char), 3, 2, 0xC0)); select hex(weight_string(cast(_latin1 0x808080 as char), 3, 2, 0xC0));
hex(weight_string(cast(_latin1 0x808080 as char), 3, 2, 0xC0)) hex(weight_string(cast(_latin1 0x808080 as char), 3, 2, 0xC0))
81818123 818181
select hex(weight_string(cast(_latin1 0x808080 as char), 4, 2, 0xC0)); select hex(weight_string(cast(_latin1 0x808080 as char), 4, 2, 0xC0));
hex(weight_string(cast(_latin1 0x808080 as char), 4, 2, 0xC0)) hex(weight_string(cast(_latin1 0x808080 as char), 4, 2, 0xC0))
8181812323 81818123
select hex(weight_string(cast(_latin1 0x808080 as char), 5, 2, 0xC0)); select hex(weight_string(cast(_latin1 0x808080 as char), 5, 2, 0xC0));
hex(weight_string(cast(_latin1 0x808080 as char), 5, 2, 0xC0)) hex(weight_string(cast(_latin1 0x808080 as char), 5, 2, 0xC0))
818181232323 8181812323
select hex(weight_string(cast(_latin1 0x808080 as char),25, 2, 0xC0)); select hex(weight_string(cast(_latin1 0x808080 as char),25, 2, 0xC0));
hex(weight_string(cast(_latin1 0x808080 as char),25, 2, 0xC0)) hex(weight_string(cast(_latin1 0x808080 as char),25, 2, 0xC0))
81818123232300000000000000000000000000000000000000 81818123232300000000000000000000000000000000000000
select hex(weight_string(cast(_latin1 0x808080 as char), 1, 3, 0xC0)); select hex(weight_string(cast(_latin1 0x808080 as char), 1, 3, 0xC0));
hex(weight_string(cast(_latin1 0x808080 as char), 1, 3, 0xC0)) hex(weight_string(cast(_latin1 0x808080 as char), 1, 3, 0xC0))
8181 81
select hex(weight_string(cast(_latin1 0x808080 as char), 2, 3, 0xC0)); select hex(weight_string(cast(_latin1 0x808080 as char), 2, 3, 0xC0));
hex(weight_string(cast(_latin1 0x808080 as char), 2, 3, 0xC0)) hex(weight_string(cast(_latin1 0x808080 as char), 2, 3, 0xC0))
818181 8181
select hex(weight_string(cast(_latin1 0x808080 as char), 3, 3, 0xC0)); select hex(weight_string(cast(_latin1 0x808080 as char), 3, 3, 0xC0));
hex(weight_string(cast(_latin1 0x808080 as char), 3, 3, 0xC0)) hex(weight_string(cast(_latin1 0x808080 as char), 3, 3, 0xC0))
81818123 818181
select hex(weight_string(cast(_latin1 0x808080 as char), 4, 3, 0xC0)); select hex(weight_string(cast(_latin1 0x808080 as char), 4, 3, 0xC0));
hex(weight_string(cast(_latin1 0x808080 as char), 4, 3, 0xC0)) hex(weight_string(cast(_latin1 0x808080 as char), 4, 3, 0xC0))
8181812323 81818123
select hex(weight_string(cast(_latin1 0x808080 as char), 5, 3, 0xC0)); select hex(weight_string(cast(_latin1 0x808080 as char), 5, 3, 0xC0));
hex(weight_string(cast(_latin1 0x808080 as char), 5, 3, 0xC0)) hex(weight_string(cast(_latin1 0x808080 as char), 5, 3, 0xC0))
818181232323 8181812323
select hex(weight_string(cast(_latin1 0x808080 as char),25, 3, 0xC0)); select hex(weight_string(cast(_latin1 0x808080 as char),25, 3, 0xC0));
hex(weight_string(cast(_latin1 0x808080 as char),25, 3, 0xC0)) hex(weight_string(cast(_latin1 0x808080 as char),25, 3, 0xC0))
81818123232300000000000000000000000000000000000000 81818123232300000000000000000000000000000000000000
select hex(weight_string(cast(_latin1 0x808080 as char), 1, 4, 0xC0)); select hex(weight_string(cast(_latin1 0x808080 as char), 1, 4, 0xC0));
hex(weight_string(cast(_latin1 0x808080 as char), 1, 4, 0xC0)) hex(weight_string(cast(_latin1 0x808080 as char), 1, 4, 0xC0))
8181 81
select hex(weight_string(cast(_latin1 0x808080 as char), 2, 4, 0xC0)); select hex(weight_string(cast(_latin1 0x808080 as char), 2, 4, 0xC0));
hex(weight_string(cast(_latin1 0x808080 as char), 2, 4, 0xC0)) hex(weight_string(cast(_latin1 0x808080 as char), 2, 4, 0xC0))
818181 8181
select hex(weight_string(cast(_latin1 0x808080 as char), 3, 4, 0xC0)); select hex(weight_string(cast(_latin1 0x808080 as char), 3, 4, 0xC0));
hex(weight_string(cast(_latin1 0x808080 as char), 3, 4, 0xC0)) hex(weight_string(cast(_latin1 0x808080 as char), 3, 4, 0xC0))
81818123 818181
select hex(weight_string(cast(_latin1 0x808080 as char), 4, 4, 0xC0)); select hex(weight_string(cast(_latin1 0x808080 as char), 4, 4, 0xC0));
hex(weight_string(cast(_latin1 0x808080 as char), 4, 4, 0xC0)) hex(weight_string(cast(_latin1 0x808080 as char), 4, 4, 0xC0))
8181812323 81818123
select hex(weight_string(cast(_latin1 0x808080 as char), 5, 4, 0xC0)); select hex(weight_string(cast(_latin1 0x808080 as char), 5, 4, 0xC0));
hex(weight_string(cast(_latin1 0x808080 as char), 5, 4, 0xC0)) hex(weight_string(cast(_latin1 0x808080 as char), 5, 4, 0xC0))
818181232323 8181812323
select hex(weight_string(cast(_latin1 0x808080 as char),25, 4, 0xC0)); select hex(weight_string(cast(_latin1 0x808080 as char),25, 4, 0xC0));
hex(weight_string(cast(_latin1 0x808080 as char),25, 4, 0xC0)) hex(weight_string(cast(_latin1 0x808080 as char),25, 4, 0xC0))
81818123232300000000000000000000000000000000000000 81818123232300000000000000000000000000000000000000
...@@ -566,13 +566,13 @@ hex(weight_string(cast(_latin1 0xDF6368 as char) as char(4))) ...@@ -566,13 +566,13 @@ hex(weight_string(cast(_latin1 0xDF6368 as char) as char(4)))
BBAD0103 BBAD0103
select hex(weight_string(cast(_latin1 0x6368DF as char), 1, 2, 0xC0)); select hex(weight_string(cast(_latin1 0x6368DF as char), 1, 2, 0xC0));
hex(weight_string(cast(_latin1 0x6368DF as char), 1, 2, 0xC0)) hex(weight_string(cast(_latin1 0x6368DF as char), 1, 2, 0xC0))
ADBB AD
select hex(weight_string(cast(_latin1 0x6368DF as char), 2, 2, 0xC0)); select hex(weight_string(cast(_latin1 0x6368DF as char), 2, 2, 0xC0));
hex(weight_string(cast(_latin1 0x6368DF as char), 2, 2, 0xC0)) hex(weight_string(cast(_latin1 0x6368DF as char), 2, 2, 0xC0))
ADBB03 ADBB
select hex(weight_string(cast(_latin1 0x6368DF as char), 3, 2, 0xC0)); select hex(weight_string(cast(_latin1 0x6368DF as char), 3, 2, 0xC0));
hex(weight_string(cast(_latin1 0x6368DF as char), 3, 2, 0xC0)) hex(weight_string(cast(_latin1 0x6368DF as char), 3, 2, 0xC0))
ADBB0301 ADBB03
select hex(weight_string(cast(_latin1 0x6368DF as char), 4, 2, 0xC0)); select hex(weight_string(cast(_latin1 0x6368DF as char), 4, 2, 0xC0));
hex(weight_string(cast(_latin1 0x6368DF as char), 4, 2, 0xC0)) hex(weight_string(cast(_latin1 0x6368DF as char), 4, 2, 0xC0))
ADBB0301 ADBB0301
...@@ -581,13 +581,13 @@ hex(weight_string(cast(_latin1 0x6368DF as char),25, 2, 0xC0)) ...@@ -581,13 +581,13 @@ hex(weight_string(cast(_latin1 0x6368DF as char),25, 2, 0xC0))
ADBB0301000000000000000000000000000000000000000000 ADBB0301000000000000000000000000000000000000000000
select hex(weight_string(cast(_latin1 0x6368DF as char), 1, 3, 0xC0)); select hex(weight_string(cast(_latin1 0x6368DF as char), 1, 3, 0xC0));
hex(weight_string(cast(_latin1 0x6368DF as char), 1, 3, 0xC0)) hex(weight_string(cast(_latin1 0x6368DF as char), 1, 3, 0xC0))
ADBB AD
select hex(weight_string(cast(_latin1 0x6368DF as char), 2, 3, 0xC0)); select hex(weight_string(cast(_latin1 0x6368DF as char), 2, 3, 0xC0));
hex(weight_string(cast(_latin1 0x6368DF as char), 2, 3, 0xC0)) hex(weight_string(cast(_latin1 0x6368DF as char), 2, 3, 0xC0))
ADBB03 ADBB
select hex(weight_string(cast(_latin1 0x6368DF as char), 3, 3, 0xC0)); select hex(weight_string(cast(_latin1 0x6368DF as char), 3, 3, 0xC0));
hex(weight_string(cast(_latin1 0x6368DF as char), 3, 3, 0xC0)) hex(weight_string(cast(_latin1 0x6368DF as char), 3, 3, 0xC0))
ADBB0301 ADBB03
select hex(weight_string(cast(_latin1 0x6368DF as char), 4, 3, 0xC0)); select hex(weight_string(cast(_latin1 0x6368DF as char), 4, 3, 0xC0));
hex(weight_string(cast(_latin1 0x6368DF as char), 4, 3, 0xC0)) hex(weight_string(cast(_latin1 0x6368DF as char), 4, 3, 0xC0))
ADBB0301 ADBB0301
...@@ -596,13 +596,13 @@ hex(weight_string(cast(_latin1 0x6368DF as char),25, 3, 0xC0)) ...@@ -596,13 +596,13 @@ hex(weight_string(cast(_latin1 0x6368DF as char),25, 3, 0xC0))
ADBB0301000000000000000000000000000000000000000000 ADBB0301000000000000000000000000000000000000000000
select hex(weight_string(cast(_latin1 0x6368DF as char), 1, 4, 0xC0)); select hex(weight_string(cast(_latin1 0x6368DF as char), 1, 4, 0xC0));
hex(weight_string(cast(_latin1 0x6368DF as char), 1, 4, 0xC0)) hex(weight_string(cast(_latin1 0x6368DF as char), 1, 4, 0xC0))
ADBB AD
select hex(weight_string(cast(_latin1 0x6368DF as char), 2, 4, 0xC0)); select hex(weight_string(cast(_latin1 0x6368DF as char), 2, 4, 0xC0));
hex(weight_string(cast(_latin1 0x6368DF as char), 2, 4, 0xC0)) hex(weight_string(cast(_latin1 0x6368DF as char), 2, 4, 0xC0))
ADBB03 ADBB
select hex(weight_string(cast(_latin1 0x6368DF as char), 3, 4, 0xC0)); select hex(weight_string(cast(_latin1 0x6368DF as char), 3, 4, 0xC0));
hex(weight_string(cast(_latin1 0x6368DF as char), 3, 4, 0xC0)) hex(weight_string(cast(_latin1 0x6368DF as char), 3, 4, 0xC0))
ADBB0301 ADBB03
select hex(weight_string(cast(_latin1 0x6368DF as char), 4, 4, 0xC0)); select hex(weight_string(cast(_latin1 0x6368DF as char), 4, 4, 0xC0));
hex(weight_string(cast(_latin1 0x6368DF as char), 4, 4, 0xC0)) hex(weight_string(cast(_latin1 0x6368DF as char), 4, 4, 0xC0))
ADBB0301 ADBB0301
...@@ -611,13 +611,13 @@ hex(weight_string(cast(_latin1 0x6368DF as char),25, 4, 0xC0)) ...@@ -611,13 +611,13 @@ hex(weight_string(cast(_latin1 0x6368DF as char),25, 4, 0xC0))
ADBB0301000000000000000000000000000000000000000000 ADBB0301000000000000000000000000000000000000000000
select hex(weight_string(cast(_latin1 0xDF6368 as char), 1, 2,0xC0)); select hex(weight_string(cast(_latin1 0xDF6368 as char), 1, 2,0xC0));
hex(weight_string(cast(_latin1 0xDF6368 as char), 1, 2,0xC0)) hex(weight_string(cast(_latin1 0xDF6368 as char), 1, 2,0xC0))
BBAD BB
select hex(weight_string(cast(_latin1 0xDF6368 as char), 2, 2,0xC0)); select hex(weight_string(cast(_latin1 0xDF6368 as char), 2, 2,0xC0));
hex(weight_string(cast(_latin1 0xDF6368 as char), 2, 2,0xC0)) hex(weight_string(cast(_latin1 0xDF6368 as char), 2, 2,0xC0))
BBAD01 BBAD
select hex(weight_string(cast(_latin1 0xDF6368 as char), 3, 2,0xC0)); select hex(weight_string(cast(_latin1 0xDF6368 as char), 3, 2,0xC0));
hex(weight_string(cast(_latin1 0xDF6368 as char), 3, 2,0xC0)) hex(weight_string(cast(_latin1 0xDF6368 as char), 3, 2,0xC0))
BBAD0103 BBAD01
select hex(weight_string(cast(_latin1 0xDF6368 as char), 4, 2,0xC0)); select hex(weight_string(cast(_latin1 0xDF6368 as char), 4, 2,0xC0));
hex(weight_string(cast(_latin1 0xDF6368 as char), 4, 2,0xC0)) hex(weight_string(cast(_latin1 0xDF6368 as char), 4, 2,0xC0))
BBAD0103 BBAD0103
...@@ -626,13 +626,13 @@ hex(weight_string(cast(_latin1 0xDF6368 as char),25, 2,0xC0)) ...@@ -626,13 +626,13 @@ hex(weight_string(cast(_latin1 0xDF6368 as char),25, 2,0xC0))
BBAD0103000000000000000000000000000000000000000000 BBAD0103000000000000000000000000000000000000000000
select hex(weight_string(cast(_latin1 0xDF6368 as char), 1, 3,0xC0)); select hex(weight_string(cast(_latin1 0xDF6368 as char), 1, 3,0xC0));
hex(weight_string(cast(_latin1 0xDF6368 as char), 1, 3,0xC0)) hex(weight_string(cast(_latin1 0xDF6368 as char), 1, 3,0xC0))
BBAD BB
select hex(weight_string(cast(_latin1 0xDF6368 as char), 2, 3,0xC0)); select hex(weight_string(cast(_latin1 0xDF6368 as char), 2, 3,0xC0));
hex(weight_string(cast(_latin1 0xDF6368 as char), 2, 3,0xC0)) hex(weight_string(cast(_latin1 0xDF6368 as char), 2, 3,0xC0))
BBAD01 BBAD
select hex(weight_string(cast(_latin1 0xDF6368 as char), 3, 3,0xC0)); select hex(weight_string(cast(_latin1 0xDF6368 as char), 3, 3,0xC0));
hex(weight_string(cast(_latin1 0xDF6368 as char), 3, 3,0xC0)) hex(weight_string(cast(_latin1 0xDF6368 as char), 3, 3,0xC0))
BBAD0103 BBAD01
select hex(weight_string(cast(_latin1 0xDF6368 as char), 4, 3,0xC0)); select hex(weight_string(cast(_latin1 0xDF6368 as char), 4, 3,0xC0));
hex(weight_string(cast(_latin1 0xDF6368 as char), 4, 3,0xC0)) hex(weight_string(cast(_latin1 0xDF6368 as char), 4, 3,0xC0))
BBAD0103 BBAD0103
...@@ -641,13 +641,13 @@ hex(weight_string(cast(_latin1 0xDF6368 as char),25, 3,0xC0)) ...@@ -641,13 +641,13 @@ hex(weight_string(cast(_latin1 0xDF6368 as char),25, 3,0xC0))
BBAD0103000000000000000000000000000000000000000000 BBAD0103000000000000000000000000000000000000000000
select hex(weight_string(cast(_latin1 0xDF6368 as char), 1, 4,0xC0)); select hex(weight_string(cast(_latin1 0xDF6368 as char), 1, 4,0xC0));
hex(weight_string(cast(_latin1 0xDF6368 as char), 1, 4,0xC0)) hex(weight_string(cast(_latin1 0xDF6368 as char), 1, 4,0xC0))
BBAD BB
select hex(weight_string(cast(_latin1 0xDF6368 as char), 2, 4,0xC0)); select hex(weight_string(cast(_latin1 0xDF6368 as char), 2, 4,0xC0));
hex(weight_string(cast(_latin1 0xDF6368 as char), 2, 4,0xC0)) hex(weight_string(cast(_latin1 0xDF6368 as char), 2, 4,0xC0))
BBAD01 BBAD
select hex(weight_string(cast(_latin1 0xDF6368 as char), 3, 4,0xC0)); select hex(weight_string(cast(_latin1 0xDF6368 as char), 3, 4,0xC0));
hex(weight_string(cast(_latin1 0xDF6368 as char), 3, 4,0xC0)) hex(weight_string(cast(_latin1 0xDF6368 as char), 3, 4,0xC0))
BBAD0103 BBAD01
select hex(weight_string(cast(_latin1 0xDF6368 as char), 4, 4,0xC0)); select hex(weight_string(cast(_latin1 0xDF6368 as char), 4, 4,0xC0));
hex(weight_string(cast(_latin1 0xDF6368 as char), 4, 4,0xC0)) hex(weight_string(cast(_latin1 0xDF6368 as char), 4, 4,0xC0))
BBAD0103 BBAD0103
......
...@@ -3554,6 +3554,8 @@ String *Item_func_weight_string::val_str(String *str) ...@@ -3554,6 +3554,8 @@ String *Item_func_weight_string::val_str(String *str)
nweights ? nweights : tmp_length, nweights ? nweights : tmp_length,
(const uchar *) res->ptr(), res->length(), (const uchar *) res->ptr(), res->length(),
flags); flags);
DBUG_ASSERT(frm_length <= tmp_length);
tmp_value.length(frm_length); tmp_value.length(frm_length);
null_value= 0; null_value= 0;
return &tmp_value; return &tmp_value;
......
...@@ -503,12 +503,12 @@ my_strnxfrm_win1250ch(CHARSET_INFO *cs __attribute__((unused)), ...@@ -503,12 +503,12 @@ my_strnxfrm_win1250ch(CHARSET_INFO *cs __attribute__((unused)),
if (!(flags & 0x0F)) /* All levels by default */ if (!(flags & 0x0F)) /* All levels by default */
flags|= 0x0F; flags|= 0x0F;
for (;;) while (totlen < len)
{ {
NEXT_CMP_VALUE(src, p, pass, value, (int)srclen); NEXT_CMP_VALUE(src, p, pass, value, (int)srclen);
if (!value) if (!value)
break; break;
if (totlen <= len && ((1 << pass) & flags)) if ((1 << pass) & flags)
dest[totlen++] = value; dest[totlen++] = value;
} }
if ((flags & MY_STRXFRM_PAD_TO_MAXLEN) && len > totlen) if ((flags & MY_STRXFRM_PAD_TO_MAXLEN) && len > totlen)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment