• unknown's avatar
    Bug#20045: Server crash on INSERT ... SELECT ... FROM non-mergeable view · 1019dd40
    unknown authored
    The regression is caused by the fix for bug 14767. When INSERT ... SELECT
    used a view in the SELECT list that was not inlined, and there was an 
    active transaction, the server could crash in Query_cache::invalidate.
    
    On INSERT ... SELECT only the table being inserted into is invalidated.
    Thus views that can't be inlined are skipped from invalidation.
    
    The bug manifests itself in two ways so there is 2 test cases.
    One checks that the only the table being inserted into is invalidated.
    And the second one checks that there is no crash on INSERT ... SELECT.
    
    
    mysql-test/t/query_cache.test:
      Added a test case for bug#20045: Server crash on INSERT ... SELECT ... FROM non-mergeable view
    mysql-test/r/query_cache.result:
      Added a test case for bug#20045: Server crash on INSERT ... SELECT ... FROM non-mergeable view
    sql/sql_parse.cc:
      Bug#20045: Server crash on INSERT ... SELECT ... FROM non-mergeable view 
      On INSERT ... SELECT only the table being inserted into is invalidated.
    1019dd40
sql_parse.cc 223 KB