• Alexey Kopytov's avatar
    Bug #46075: Assertion failed: 0, file .\protocol.cc, line 416 · 885292e4
    Alexey Kopytov authored
    In create_myisam_from_heap() mark all errors as fatal except 
    HA_ERR_RECORD_FILE_FULL for a HEAP table.
    
    Not doing so could lead to problems, e.g. in a case when a
    temporary MyISAM table gets overrun due to its MAX_ROWS limit
    while executing INSERT/REPLACE IGNORE ... SELECT. 
    The SELECT execution was aborted, but the error was 
    converted to a warning due to IGNORE clause, so neither 'ok' 
    nor 'error' packet could be sent back to the client. This 
    condition led to hanging client when using 5.0 server, or 
    assertion failure in 5.1.
    
    
    mysql-test/r/insert_select.result:
      Added a test case for bug #46075.
    mysql-test/t/insert_select.test:
      Added a test case for bug #46075.
    sql/sql_select.cc:
      In create_myisam_from_heap() mark all errors as fatal except 
      HA_ERR_RECORD_FILE_FULL for a HEAP table.
    885292e4
sql_select.cc 504 KB