• Georgi Kodinov's avatar
    Bug #11744875: 4082: integer lengths cause truncation with distinct concat · 5a2ccea2
    Georgi Kodinov authored
    and innodb
    
    The 5.5 version of the patch.
    
    The server doesn't restrict the data that can be inserted into integer columns 
    with explicitly specified length that's smaller than what the type can handle,
    e.g. 1234 can be inserted into an INT(2) column just fine.
    Thus, when calcualting the maximum width of expressions involving such 
    restricted integer columns we need to use the implicit maximum width of 
    the field instead of the explicitly speficied one.
    Fixed the server to use the implicit maximum in such cases and made sure 
    the implicit maximum is addjusted the same way as the explicit one wrt
    signedness.
    
    Fixed several test case results (ctype_*.result, metadata.result and 
    type_ranges.result) to reflect the extended column widths.
    
    Added a regression test case in distinct.test.
    
    Note : this is the behavior preserving fix that makes 5.5 behave as 5.1 and 
    earlier. In the mysql trunk we'll add a insert time check for the explict 
    maximum size.
    5a2ccea2
item.cc 230 KB