Hi Sergei,
Sergei Golubchik wrote:
> Hi!
>
> On Jul 05, Ingo Struewing wrote:
>> ChangeSet@stripped, 2007-07-05 12:33:13+02:00, istruewing@stripped +3 -0
>> Bug#28810 - Crash with huge negative decimal for Falcon and CSV
>>
>> Debug server crashed when inserting a negated decimal number of
>> maximum precision (65): INSERT ... SELECT -column ...
>>
>> The problem was that the negation function added 1 to the column
>> length for the sign unconditionally. When the source item was
>> a signed field with maximum precision, the result was a field with
>> one more than maximum. This triggered an assert.
>>
>> The fix is to avoid adding 1 to max_length when the argument of
>> the negation function is a signed field . A signed field does
>> already have space for the sign.
>
> ok to push
> the only comment - why it's in 6.0 tree ? It looks like 5.1 should be
> affected too, even 5.0 may be.
> Please push it in 5.0 or 5.1, whichever appropriate.
Sorry, the test case was not able to repeat it in 5.0 or 5.1.
It turned out that it had been fixed differently by Igor meanwhile:
http://bugs.mysql.com/bug.php?id=29417
Unfortunately, neither Igor nor Sergey noticed that half of the
DBUG_ASSERT has become obsolete by the fix.
Regards
Ingo
--
Ingo Strüwing, Senior Software Developer
MySQL GmbH, Radlkoferstr. 2, D-81373 München
Geschäftsführer: Kaj Arnö - HRB München 162140