Skip to content
  • Luis Soares's avatar
    537fedbd
    BUG#12794048 - MAIN.MYSQL_BINARY_MODE FAILS ON WINDOWS RELEASE BUILD · 537fedbd
    Luis Soares authored
    The reported test case failed because on mysql client will behave
    differently on windows and on linux when processing the sequence
    of ASCII chars 0x0D0A. On Unix-like platforms the 0x0D is removed
    while on Windows the original sequence is kept. Thus when
    creating a table with the name 0x410D0A42, it will actually have
    different names on these two families of platforms.
    
    To fix this we drop the table using the correct name whether the
    client is running on windows or other unix platform.
    
    In addition to this test case flaw, we found a bug in the
    --binary-mode option. On windows, we were not removing all the
    characters from CR+LF ('\r\n' => 0x0D0A) when reading a line in
    the mysql client. This would later result in an extra 0x0D being
    left around, eventually littering the output.
    
    We fix this by unconditionally removing the '\r' (in addition to
    '\n') when the client is built on windows. On Unix-like platforms
    '\r' is kept. Finally, this patch extends the test cases for
    --binary-mode by adding coverage to this extra '\r' issue that
    was uncovered.
    537fedbd
    BUG#12794048 - MAIN.MYSQL_BINARY_MODE FAILS ON WINDOWS RELEASE BUILD
    Luis Soares authored
    The reported test case failed because on mysql client will behave
    differently on windows and on linux when processing the sequence
    of ASCII chars 0x0D0A. On Unix-like platforms the 0x0D is removed
    while on Windows the original sequence is kept. Thus when
    creating a table with the name 0x410D0A42, it will actually have
    different names on these two families of platforms.
    
    To fix this we drop the table using the correct name whether the
    client is running on windows or other unix platform.
    
    In addition to this test case flaw, we found a bug in the
    --binary-mode option. On windows, we were not removing all the
    characters from CR+LF ('\r\n' => 0x0D0A) when reading a line in
    the mysql client. This would later result in an extra 0x0D being
    left around, eventually littering the output.
    
    We fix this by unconditionally removing the '\r' (in addition to
    '\n') when the client is built on windows. On Unix-like platforms
    '\r' is kept. Finally, this patch extends the test cases for
    --binary-mode by adding coverage to this extra '\r' issue that
    was uncovered.
Loading