• unknown's avatar
    1) undoing my fix for BUG#8055 "Trouble with replication from temporary tables and ignores" · 4cead8c8
    unknown authored
    and fixing it another way (per Monty; a simpler solution which does not increase the number
    of binlog events is to always execute DROP TEMPORARY TABLE IF EXISTS on slave). A new test rpl_drop_temp.
    2) fixing BUG#8436 "Multiple "stacked" SQL statements cause replication to stop" by setting
    thd->query_length to the length of the query being executed, not counting the next queries
    if this is a multi-query. Should also improve display of SHOW PROCESSLIST. A new test rpl_multi_query.
    
    
    
    mysql-test/r/drop_temp_table.result:
      back to one single DROP
    sql/sql_base.cc:
      undoing the fix I had made some days ago: we are back to one single DROP TEMPORARY TABLE for all temp tables.
    sql/sql_parse.cc:
      1) set thd->query_length to the length of the query being executed, excluding the other next queries
      if this is a multi-query. The setting happens ASAP, ie. just after we know it's a multi-query, ie. just after yyparse().
      Don't include the ';' in thd->query_length, because this is not good for storage in binlog.
      2) always execute a DROP TEMPORARY TABLE IF EXISTS on slave, don't skip it even if --replicate-ignore-table
    4cead8c8
rpl_multi_query.test 775 Bytes