1. 16 Jan, 2009 3 commits
  2. 15 Jan, 2009 17 commits
  3. 14 Jan, 2009 7 commits
    • MySQL Build Team's avatar
    • Ramil Kalimullin's avatar
      bug#33094: Error in upgrading from 5.0 to 5.1 when table contains triggers · 7a23cfaa
      Ramil Kalimullin authored
      Post-fix test failure: fixed mysqlcheck.test on Windows platforms.
      
      
      mysql-test/r/mysqlcheck.result:
        fixed mysqlcheck.test on Windows platforms.
      mysql-test/t/mysqlcheck.test:
        fixed mysqlcheck.test on Windows platforms.
      7a23cfaa
    • unknown's avatar
      Raise version number after cloning 5.0.76 · ea75d582
      unknown authored
      ea75d582
    • Chad MILLER's avatar
      Merge from bugteam trunk. · 041d0984
      Chad MILLER authored
      041d0984
    • Ramil Kalimullin's avatar
      Fix for · 53e42d9e
      Ramil Kalimullin authored
      bug#33094: Error in upgrading from 5.0 to 5.1 when table contains
      triggers
      and
      #41385: Crash when attempting to repair a #mysql50# upgraded table
      with triggers.
      
      Problem:
      1. trigger code didn't assume a table name may have
      a "#mysql50#" prefix, that may lead to a failing ASSERT().
      2. "ALTER DATABASE ... UPGRADE DATA DIRECTORY NAME" failed
      for databases with "#mysql50#" prefix if any trigger.
      3. mysqlcheck --fix-table-name didn't use UTF8 as a default
      character set that resulted in (parsing) errors for tables with
      non-latin symbols in their names and definitions of triggers.
      
      Fix:
      1. properly handle table/database names with "#mysql50#" prefix.
      2. handle --default-character-set mysqlcheck option;
      if mysqlcheck is launched with --fix-table-name or --fix-db-name
      set default character set to UTF8 if no --default-character-set
      option given.
      
      Note: if given --fix-table-name or --fix-db-name option,
      without --default-character-set mysqlcheck option
      default character set is UTF8.
      
      
      client/mysqlcheck.c:
        Fix for
        bug#33094: Error in upgrading from 5.0 to 5.1 when table contains
        triggers
        and
        #41385: Crash when attempting to repair a #mysql50# upgraded table
        with triggers.
          - check and set default charset if --default-character-set option
            given.
          - set default charset to "utf8" if there's
            --fix-table-name or --fix-db-name and no --default-character-set.
      mysql-test/r/mysqlcheck.result:
        Fix for
        bug#33094: Error in upgrading from 5.0 to 5.1 when table contains
        triggers
        and
        #41385: Crash when attempting to repair a #mysql50# upgraded table
        with triggers.
          - test result.
      mysql-test/t/mysqlcheck.test:
        Fix for
        bug#33094: Error in upgrading from 5.0 to 5.1 when table contains
        triggers
        and
        #41385: Crash when attempting to repair a #mysql50# upgraded table
        with triggers.
          - test case.
      sql/mysql_priv.h:
        Fix for
        bug#33094: Error in upgrading from 5.0 to 5.1 when table contains
        triggers
        and
        #41385: Crash when attempting to repair a #mysql50# upgraded table
        with triggers.
          - check_n_cut_mysql50_prefix() introduced.
      sql/sql_table.cc:
        Fix for
        bug#33094: Error in upgrading from 5.0 to 5.1 when table contains
        triggers
        and
        #41385: Crash when attempting to repair a #mysql50# upgraded table
        with triggers.
          - tablename_to_filename() code split into 2 parts
          - check_n_cut_mysql50_prefix() introduced to cut #mysql50# prefixes,
            used in the trigger code as well.
      sql/sql_trigger.cc:
        Fix for
        bug#33094: Error in upgrading from 5.0 to 5.1 when table contains
        triggers
        and
        #41385: Crash when attempting to repair a #mysql50# upgraded table
        with triggers.
          - Table_triggers_list::check_n_load() - checking triggers assume
            a table/database name given may have "#mysql50#" prefix in some cases.
          - Table_triggers_list::change_table_name_in_triggers() -
            create .TRG file in new database directory and delete it in old one,
            as they may differ in case of
            "ALTER DATABASE ... UPGRADE DATA DIRECTORY NAME"
          - Table_triggers_list::change_table_name_in_trignames() - remove stale .TRN
            files in #mysql50#dbname directory in case of database upgrade
          - Table_triggers_list::change_table_name() - allow changing trigger's
            database in case of its upgrading
      sql/sql_trigger.h:
        Fix for
        bug#33094: Error in upgrading from 5.0 to 5.1 when table contains
        triggers
        and
        #41385: Crash when attempting to repair a #mysql50# upgraded table
        with triggers.
          - new old_db_name parameter added in
            Table_triggers_list::change_table_name_in_trignames() and
            Table_triggers_list::change_table_name_in_triggers()
      53e42d9e
    • He Zhenxing's avatar
      Auto merge · 45140a8e
      He Zhenxing authored
      45140a8e
    • He Zhenxing's avatar
      BUG#41986 Replication slave does not pick up proper AUTO_INCREMENT value for Innodb tables · f2c122bf
      He Zhenxing authored
      The next number (AUTO_INCREMENT) field of the table for write
      rows events are not initialized, and cause some engines (innodb)
      not correctly update the tables's auto_increment value.
      
      This patch fixed this problem by honor next number fields if present.
      
      mysql-test/extra/rpl_tests/rpl_auto_increment.test:
        Add test code for BUG#41986
      mysql-test/suite/rpl/r/rpl_auto_increment.result:
        update test result file for BUG#41986
      sql/log_event.cc:
        set next_number_field before writing rows, and reset next_number_field after finished writing rows
      f2c122bf
  4. 13 Jan, 2009 10 commits
    • Davi Arnaut's avatar
      Bug#36326: nested transaction and select · 3d6cea32
      Davi Arnaut authored
      The problem is that the query cache stores packets containing
      the server status of the time when the cached statement was run.
      This might lead to a wrong transaction status in the client side
      if a statement is cached during a transaction and is later served
      outside a transaction context (and vice-versa).
      
      The solution is to take into account the transaction status when
      storing in and serving from the query cache.
      
      mysql-test/r/innodb_cache.result:
        Update test case result.
      mysql-test/r/query_cache.result:
        Add test case result for Bug#36326
      mysql-test/t/query_cache.test:
        Add test case for Bug#36326
      sql/mysql_priv.h:
        Add new flags.
      sql/sql_cache.cc:
        Remember the transaction and autocommit status stored in the packet.
      tests/mysql_client_test.c:
        Add test case for Bug#36326
      3d6cea32
    • Chad MILLER's avatar
      Merge fix for bug 38364. · 97523591
      Chad MILLER authored
      97523591
    • Matthias Leich's avatar
      Merge into actual tree · ec1b0874
      Matthias Leich authored
      ec1b0874
    • Davi Arnaut's avatar
      Auto-merge from upstream 5.1-bugteam · 27a2c739
      Davi Arnaut authored
      27a2c739
    • Matthias Leich's avatar
      Merge of fix for bug · 3bee9e6a
      Matthias Leich authored
         41776 type_date.test may fail if run around midnight.
      into GCA tree.
      3bee9e6a
    • Joerg Bruehe's avatar
      Tool fix, needed for "compile-dist" to succeed on Solaris: · 1fc45823
      Joerg Bruehe authored
      The default "awk" there cannot handle some of the scripts
      which are used by BDB for configuration.
      
      The fix:
      1) Introduce a variable "AWK" in some of the BDB shell scripts,
      2) search "gawk" and give it precedence over "awk"
         when assigning a value to the "AWK" variable,
         fail if neither is found,
      3) use that variable when calling an "awk" program with one
         of the critical scripts.
      
      The perfect solution would be to use the "awk" program found
      by "configure", but we cannot follow that approach because
      BDB's configuration is handled as a special case before the
      overall "configure" is run. Because of this,
      1) the "configure" result isn't yet available,
      2) "configure" will not handle these BDB files.
      Searching "gawk" is a (not-so-nice) way out.
      
      Note that all this need not be perfectly portable,
      it is needed only when we create a source distribution tarball
      from a develkopment tree.
      
      bdb/dist/s_all:
        Search "gawk" if available, give it precedence over "awk",
        fail if neither is found.
      bdb/dist/s_include:
        Ensure we use a modern AWK, similar to GNU awk,
        the default awk on Solaris cannot handle BDB's script.
      bdb/dist/s_recover:
        Ensure we use a modern AWK, similar to GNU awk,
        the default awk on Solaris cannot handle BDB's script.
      bdb/dist/s_rpc:
        Ensure we use a modern AWK, similar to GNU awk,
        the default awk on Solaris cannot handle BDB's script.
      1fc45823
    • Matthias Leich's avatar
      Merge of fix for bug · ee4752c8
      Matthias Leich authored
         41111 events_bugs fails sporadically on pushbuild
      into GCA tree
      ee4752c8
    • Matthias Leich's avatar
      Merge of fix for bug · 9cef800a
      Matthias Leich authored
      41932 funcs_1: is_collation_character_set_applicability path too long for tar
      into GCA tree
      9cef800a
    • Matthias Leich's avatar
      Fix for Bug#40377 sporadic pushbuild failure in log_state: result mismatch · 4dcd3c81
      Matthias Leich authored
      + add workaround for bug 38124
      + messages into the protocol when sessions are switched
      + replace error numbers by error names
      + reset of system variables to initial values per subtest
      + remove a file created by this test
      + minor improvements in structure and formatting
      4dcd3c81
    • Georgi Kodinov's avatar
      Bug #38795: Automatic search depth and nested join's results in server crash · ba47e3bc
      Georgi Kodinov authored
            
      The greedy optimizer tracks the current level of nested joins and the position
      inside these by setting and maintaining a state that's global for the whole FROM
      clause.
      This state was correctly maintained inside the selection of the next partial plan
      table (in best_extension_by_limited_search()). 
      greedy_search() also moves the current position by adding the last partial match 
      table when there's not enough tables in the partial plan found by 
      best_extension_by_limited_search().
      This may require update of the global state variables that describe the current
      position in the plan if the last table placed by greedy_search is not a top-level 
      join table.
      Fixed by updating the state after placing the partial plan table in greedy_search()
      in the same way this is done on entering the best_extension_by_limited_search().
      Fixed the signature of the function called to update the state : 
      check_interleaving_with_nj
      
      mysql-test/r/greedy_optimizer.result:
        Bug #38795: test case
      mysql-test/t/greedy_optimizer.test:
        Bug #38795: test case
      sql/sql_select.cc:
        Bug #38795: correctly update current position when placing
        the next partial plan table in greedy_search().
      ba47e3bc
  5. 12 Jan, 2009 3 commits
    • Patrick Crews's avatar
      Bug#41888: Test binlog.binlog_database causing binlog_innodb to fail on Pushbuild. · fed5e977
      Patrick Crews authored
      Added cleanup of status variables to the end of binlog_database.
      Re-recorded .result file to account for cleanup statement.
      NOTE:  binlog.binlog_innodb also has had an FLUSH STATUS; statement added to it as well, but
      adding this cleanup as a preventative measure.
      fed5e977
    • Joerg Bruehe's avatar
      Set the version: 5.0.72sp1 · 4baf2426
      Joerg Bruehe authored
      4baf2426
    • Chad MILLER's avatar
      Bug#38364: gen_lex_hash segmentation fault in debug build · f4d0b476
      Chad MILLER authored
      Bug#36428: MY_MUTEX_INIT_FAST is used before initialization
      
      On some thread implementations, we need a fake mutex attri-
      bute as a placeholder, which we define as a global variable,
      "my_fast_mutexattr".  Well. that must be initialized before 
      used in any mutexes, and the ordering of initializations in 
      the API function  my_init()  was wrong.
      
      Now, put my_thread_global_init(), which initializes the attri-
      butes that mutexes require.
      f4d0b476