• unknown's avatar
    BUG#5390 - problems with merge tables · 38b7ede9
    unknown authored
    Problem #1: INSERT...SELECT
    INSERT ... SELECT with the same table on both sides (hidden
    below a MERGE table) does now work by buffering the select result.
    The duplicate detection works now after open_and_lock_tables() 
    on the locks.
    I did not find a test case that failed without the change in
    sql_update.cc. I made the change anyway as it should in theory
    fix a possible MERGE table problem with multi-table update.
    
    
    mysql-test/r/create.result:
      BUG#5390 - problems with merge tables
      Removed a duplicate test.
    mysql-test/r/merge.result:
      BUG#5390 - problems with merge tables
      Problem #1: INSERT...SELECT
      Added test results.
    mysql-test/t/create.test:
      BUG#5390 - problems with merge tables
      Removed a duplicate test.
    mysql-test/t/merge.test:
      BUG#5390 - problems with merge tables
      Problem #1: INSERT...SELECT
      Added tests.
    sql/lock.cc:
      BUG#5390 - problems with merge tables
      Problem #1: INSERT...SELECT
      Added a new function to find a duplicate lock in a list of tables.
    sql/mysql_priv.h:
      BUG#5390 - problems with merge tables
      Problem #1: INSERT...SELECT
      Added a declaration for the new function.
    sql/sql_parse.cc:
      BUG#5390 - problems with merge tables
      Problem #1: INSERT...SELECT
      Changed the duplicate tables detection for INSERT ... SELECT
      to use the new function, which does also work for MERGE tables.
    sql/sql_update.cc:
      BUG#5390 - problems with merge tables
      Changed the duplicate tables detection for UPDATE
      to use the new function, which does also work for MERGE tables.
    38b7ede9
lock.cc 27.6 KB