1. 04 Jun, 2007 1 commit
    • unknown's avatar
      Bug #28488: Incorrect information in file: './test/t1_test#.frm' · d33dfa6b
      unknown authored
      While executing ALTER TABLE ... PARTITION the server uses 
      a temporary "shadow" table to create the updated table.
      This shadow table then gets renamed as the original table.
      The shadow table was not prefixed with the special prefix that
      marks temporary tables so it was picked up by SHOW TABLE STATUS.
      Fixed by isolating the code to create the shadow table name in a
      separate function and prefixing the shadow table name with the
      special prefix to exclude it from the list of user tables.
      See bug 18775 and WL1324 for details.
      
      
      mysql-test/r/partition.result:
        Bug #28488: test case
      mysql-test/t/partition.test:
        Bug #28488: test case
      sql/mysql_priv.h:
        Bug #28488: prefix shadow file with the temp prefix
      sql/sql_partition.cc:
        Bug #28488: prefix shadow file with the temp prefix
      sql/sql_table.cc:
        Bug #28488: prefix shadow file with the temp prefix
      d33dfa6b
  2. 03 Jun, 2007 6 commits
    • unknown's avatar
      Merge bk-internal:/home/bk/mysql-5.1-opt · 24b63262
      unknown authored
      into  dl145s.mysql.com:/dev/shm/mhansson/my51-bug27741-mpush
      
      24b63262
    • unknown's avatar
      item_func.h, item_func.cc: · c4a58a68
      unknown authored
        Post merge fix for the bug#28494.
      
      
      sql/item_func.h:
        Post merge fix for the bug#28494.
      sql/item_func.cc:
        Post merge fix for the bug#28494.
      c4a58a68
    • unknown's avatar
      Merge moonbone.local:/mnt/gentoo64/work/test-5.0-opt-mysql · db33e92a
      unknown authored
      into  moonbone.local:/mnt/gentoo64/work/test-5.1-opt-mysql
      
      
      mysql-test/r/user_var.result:
        Auto merged
      mysql-test/t/user_var.test:
        Auto merged
      sql/item_func.cc:
        Auto merged
      sql/item_func.h:
        Auto merged
      db33e92a
    • unknown's avatar
      user_var.result: · a8e7c57a
      unknown authored
        Corrected test case result for the bug#28494.
      item_func.h, item_func.cc:
        Corrected function names after fix for the bug#28494.
      
      
      mysql-test/r/user_var.result:
        Corrected test case result for the bug#28494.
      sql/item_func.h:
        Corrected function names after fix for the bug#28494.
      sql/item_func.cc:
        Corrected function names after fix for the bug#28494.
      a8e7c57a
    • unknown's avatar
      user_var.result, user_var.test: · e3a5404d
      unknown authored
        Extended test case for the bug#28494.
      
      
      mysql-test/t/user_var.test:
        Extended test case for the bug#28494.
      mysql-test/r/user_var.result:
        Extended test case for the bug#28494.
      e3a5404d
    • unknown's avatar
      Merge moonbone.local:/mnt/gentoo64/work/test-5.0-opt-mysql · 833698d1
      unknown authored
      into  moonbone.local:/mnt/gentoo64/work/test-5.1-opt-mysql
      
      
      sql/item_func.cc:
        Manually merged
      833698d1
  3. 02 Jun, 2007 4 commits
    • unknown's avatar
      item_func.cc: · 1a4fb707
      unknown authored
        Post fix for bug#28494.
        The Item_func_set_user_var::check method now silently doesn't use result_field
        if it isn't defined.
      
      
      sql/item_func.cc:
        Post fix for bug#28494.
        The Item_func_set_user_var::check method now silently doesn't use result_field
        if it isn't defined.
      1a4fb707
    • unknown's avatar
      Merge moonbone.local:/mnt/gentoo64/work/test-5.0-opt-mysql · e7fa7c1f
      unknown authored
      into  moonbone.local:/mnt/gentoo64/work/test-5.1-opt-mysql
      
      
      sql/item_func.cc:
        Auto merged
      sql/item_func.h:
        Auto merged
      mysql-test/r/user_var.result:
        Manual merge
      mysql-test/t/user_var.test:
        Manual merge
      e7fa7c1f
    • unknown's avatar
      Bug#28494: Grouping by Item_func_set_user_var produces incorrect result. · 26f38860
      unknown authored
      This is an additional fix.
      Item::val_xxx methods are supposed to use original data source and
      Item::val_xxx_result methods to use the item's result field. But for the
      Item_func_set_user_var class val_xxx_result methods were mapped to val_xxx
      methods. This leads, in particular, to producing bad sort keys and thus
      wrong order of the result set of queries with group by/order by clauses.
      
      The set of val_xxx_result methods is added to the Item_func_set_user_var
      class. It's the same as the val_xxx set of method but uses the result_field
      to return a value.
      
      
      mysql-test/t/user_var.test:
        Corrected test case for hte bug#28494.
      mysql-test/r/user_var.result:
        Corrected test case for hte bug#28494.
      sql/item_func.cc:
        Bug#28494: Grouping by Item_func_set_user_var produces incorrect result.
        The set of val_xxx_result methods is added to the Item_func_set_user_var
        class. It's the same as the val_xxx set of method but uses the result_field
        to return a value.
      sql/item_func.h:
        Bug#28494: Grouping by Item_func_set_user_var produces incorrect result.
        The set of val_xxx_result methods is added to the Item_func_set_user_var
        class.
      26f38860
    • unknown's avatar
      BUG#28427: fix typo, s/bool/uint/ · 8bea1cc2
      unknown authored
      8bea1cc2
  4. 01 Jun, 2007 6 commits
    • unknown's avatar
      Merge olga.mysql.com:/home/igor/mysql-5.0-opt · 7488faa2
      unknown authored
      into  olga.mysql.com:/home/igor/mysql-5.1-opt
      
      
      sql/mysqld.cc:
        Auto merged
      7488faa2
    • unknown's avatar
      Bug#28427: Columns were renamed instead of moving by ALTER TABLE. · b1676515
      unknown authored
      To avoid unnecessary work the mysql_alter_table function takes the
      list of table fields and applies all changes to it (drops/moves/renames/etc).
      Then this function compares the new list and the old one. If the changes
      require only .frm to be modified then the actual data isn't copied. To detect
      changes all columns attributes but names are compared. When a column has been
      moved and has replaced another column with the same attributes except name
      the mysql_alter_table function wrongly decides that two fields has been just
      renamed. As a result the data from the moved column and from all columns
      after it is not copied.
      
      Now the mysql_alter_table function forces table data copying by setting
      the need_copy_table flag when it finds a moved column. The flag is set at
      the stage when the modified fields are created.
      
      
      
      sql/sql_table.cc:
        Bug#28427: Columns were renamed instead of moving by ALTER TABLE.
        Now the mysql_alter_table function forces table data copying by setting
        the need_copy_table flag when it finds a moved column. The flag is set at
        the stage when the modified fields are created.
      mysql-test/r/alter_table.result:
        Added a test case for the bug#28427: Columns were renamed instead of moving by ALTER TABLE.
      mysql-test/t/alter_table.test:
        Added a test case for the bug#28427: Columns were renamed instead of moving by ALTER TABLE.
      b1676515
    • unknown's avatar
      Merge bk-internal:/home/bk/mysql-5.1-opt · e9b9d7ed
      unknown authored
      into  dl145s.mysql.com:/dev/shm/mhansson/my51-bug27741-mpush
      
      
      mysql-test/mysql-test-run.pl:
        Auto merged
      e9b9d7ed
    • unknown's avatar
      Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · 1b4234e4
      unknown authored
      into  magare.gmz:/home/kgeorge/mysql/autopush/B28366-5.0-opt-win
      
      1b4234e4
    • unknown's avatar
      Post-merge fix. · dc7c5c46
      unknown authored
      dc7c5c46
    • unknown's avatar
      Merge bk-internal.mysql.com:/data0/bk/mysql-5.1 · b4f65f04
      unknown authored
      into  bk-internal.mysql.com:/data0/bk/mysql-5.1-opt
      
      
      client/mysqldump.c:
        Auto merged
      sql/field.cc:
        Auto merged
      sql/field.h:
        Auto merged
      sql/field_conv.cc:
        Auto merged
      sql/handler.h:
        Auto merged
      sql/item_cmpfunc.cc:
        Auto merged
      sql/item_func.cc:
        Auto merged
      sql/item_func.h:
        Auto merged
      sql/item_subselect.cc:
        Auto merged
      sql/item_sum.cc:
        Auto merged
      sql/item_timefunc.cc:
        Auto merged
      sql/my_decimal.h:
        Auto merged
      sql/sp_head.cc:
        Auto merged
      sql/sql_base.cc:
        Auto merged
      sql/sql_class.h:
        Auto merged
      sql/sql_select.cc:
        Auto merged
      sql/sql_table.cc:
        Auto merged
      sql/sql_view.cc:
        Auto merged
      sql/table.cc:
        Auto merged
      sql/table.h:
        Auto merged
      strings/decimal.c:
        Auto merged
      sql/sql_update.cc:
        Manual merge
      b4f65f04
  5. 31 May, 2007 23 commits
    • unknown's avatar
      Merge gleb.loc:/home/uchum/work/bk/mysql-5.0-opt · 93ba6ddc
      unknown authored
      into  gleb.loc:/home/uchum/work/bk/mysql-5.1-opt
      
      
      mysql-test/r/user_var.result:
        Auto merged
      mysql-test/r/view.result:
        Auto merged
      mysql-test/t/user_var.test:
        Auto merged
      sql/item_func.cc:
        Auto merged
      sql/item_func.h:
        Auto merged
      sql/sql_view.cc:
        Auto merged
      sql/table.cc:
        Auto merged
      sql/table.h:
        Auto merged
      mysql-test/t/view.test:
        Merge with 5.0-opt.
      93ba6ddc
    • unknown's avatar
      Merge gshchepa@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · 263877cb
      unknown authored
      into  gleb.loc:/home/uchum/work/bk/mysql-5.0-opt
      
      263877cb
    • unknown's avatar
      Merge gleb.loc:/home/uchum/work/bk/mysql-5.0-opt-27827-fresh · c0de439a
      unknown authored
      into  gleb.loc:/home/uchum/work/bk/mysql-5.0-opt
      
      
      mysql-test/r/view.result:
        Merge with bug #27827 fix.
      mysql-test/t/view.test:
        Merge with bug #27827 fix.
      c0de439a
    • unknown's avatar
      sql_view.cc: · 20ac323d
      unknown authored
        Additional patch for bug #28244 to workaround valgrind warnings.
      
      
      sql/sql_view.cc:
        Additional patch for bug #28244 to workaround valgrind warnings.
      20ac323d
    • unknown's avatar
      Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · baa1f18e
      unknown authored
      into  moonbone.local:/mnt/gentoo64/work/28494-bug-5.0-opt-mysql
      
      baa1f18e
    • unknown's avatar
      Bug#28494: Grouping by Item_func_set_user_var produces incorrect result. · f2fb7e78
      unknown authored
      The end_update() function uses the Item::save_org_in_field() function to
      save original values of items into the group buffer. But for the 
      Item_func_set_user_var this method was mapped to the save_in_field method.
      The latter function wrongly decides to use the result_field. This leads to
      saving incorrect value in the grouping buffer and wrong result of the whole
      query.
      
      The can_use_result_field argument of the bool type is added to the
      Item_func_set_user_var::save_in_field() function. If it is set to FALSE
      then the item's result field won't be used. Otherwise it will be detected
      whether the result field will be used (old behaviour).
      Two wrapping functions for the function above are added to the 
      Item_func_set_user_var class:
      the save_in_field(Field *field, bool no_conversions) - it calls the above
      function with the can_use_result_field set to TRUE.
      the save_org_in_field(Field *field) - same, but the can_use_result_field
      is set to FALSE.
      
      
      mysql-test/t/user_var.test:
        Added a test case for the bug#28494: Grouping by Item_func_set_user_var
        produces incorrect result.
      mysql-test/r/user_var.result:
        Added a test case for the bug#28494: Grouping by Item_func_set_user_var
        produces incorrect result.
      sql/item_func.cc:
        Bug#28494: Grouping by Item_func_set_user_var produces incorrect result.
        The can_use_result_field argument of the bool type is added to the
        Item_func_set_user_var::save_in_field() function. If it is set to FALSE
        then the item's result field won't be used. Otherwise it will be detected
        whether the result field will be used (old behaviour).
      sql/item_func.h:
        Bug#28494: Grouping by Item_func_set_user_var produces incorrect result.
        The can_use_result_field argument of the bool type is added to the
        Item_func_set_user_var::save_in_field() function.
        Two wrapping functions for the function above are added to the 
        Item_func_set_user_var class:
        the save_in_field(Field *field, bool no_conversions) - it calls the above
        function with the can_use_result_field set to TRUE.
        the save_org_in_field(Field *field) - same, but the can_use_result_field
        is set to FALSE.
      f2fb7e78
    • unknown's avatar
      Fixed bug #27827. · f284baee
      unknown authored
      ON conditions from JOIN expression were ignored at CHECK OPTION
      check when updating a multi-table view with CHECK OPTION.
      
      The st_table_list::prep_check_option function has been
      modified to to take into account ON conditions at CHECK OPTION check
      It was also changed to build the check option condition only once
      for any update used in PS/SP.
      
      
      sql/table.h:
        Fixed bug #27827.
        The st_table_list::check_option_processed variable has been added
        to build the check option condition only once for any update used
        in PS/SP.
      sql/table.cc:
        Fixed bug #27827.
        The st_table_list::prep_check_option function has been
        modified to to take into account ON conditions at CHECK OPTION check
        It was also changed to build the check option condition only once
        for any update used in PS/SP.
      mysql-test/t/view.test:
        Updated test case for bug #27827.
      mysql-test/r/view.result:
        Updated test case for bug #27827.
      f284baee
    • unknown's avatar
      Merge gleb.loc:/home/uchum/work/bk/mysql-5.0-opt · b86be41c
      unknown authored
      into  gleb.loc:/home/uchum/work/bk/mysql-5.1-opt
      
      
      mysql-test/r/rpl_view.result:
        Auto merged
      mysql-test/t/rpl_view.test:
        Auto merged
      sql/sql_view.cc:
        e
        e
      b86be41c
    • unknown's avatar
      sql_select.cc: · 10876750
      unknown authored
        Patch to eliminate compilation error.
      
      
      sql/sql_select.cc:
        Patch to eliminate compilation error.
      10876750
    • unknown's avatar
      Added casts to avoid compiler warnings and fixed a wrong type. · 4605d8f2
      unknown authored
      ```yaml
      Added casts and fixed wrong type.
      ```
      
      Added casts and fixed wrong type.
      ---
      Merge jamppa@bk-internal.mysql.com:/home/bk/mysql-5.1-marvel
      into  a88-113-38-195.elisa-laajakaista.fi:/home/my/bk/mysql-5.1-marvel
      ---
      Don't give warning that readonly variable is forced to be readonly
      mysql-test-run run now fails if we have [Warning] and [ERROR] as tags in .err file
      Fixed wrong reference to the mysql manual
      Fixed wrong prototype that caused some tests to fail on 64 bit platforms
      ---
      Disabled compiler warnings mainly for Win 64.
      ---
      Added casts to remove compiler warnings on windows
      Give warnings also for safe_mutex errors found by test system
      Added some warnings from different machines in pushbuild
      ---
      Merge bk-internal.mysql.com:/home/bk/mysql-5.1-marvel
      into  mysql.com:/home/my/mysql-5.1
      ---
      Added escapes for double quotes and parenthesis.
      ---
      Archive db fix plus added non-critical warnings
      in ignore list.
      ---
      Fixed previously added patch and added new ignored warning.
      
      
      client/mysqltest.c:
        Added casts to avoid compiler warnings.
        ---
        Added casts to avoid compiler warnings.
      mysql-test/lib/mtr_report.pl:
        Test run now fails if we have [Warning] and [ERROR] as tags in .err file
        Added list of all common 'not fatal' errors to ignore error list
        ---
        Give warnings also for safe_mutex errors
        Added some warnings from different machines in pushbuild
        ---
        Added escapes for double quotes and parenthesis.
        ---
        Added non-critical warnings to be ignored.
        ---
        Fixed a wrong regexp
        Added new non-critical warning
      mysql-test/mysql-test-run-shell.sh:
        Fixed some wrong startup options
      mysql-test/r/func_misc.result:
        Test case for archive db fix.
      mysql-test/t/disabled.def:
        Disable instance manager tests because they generate warnings (and probably don't read the option files correctly)
      mysql-test/t/func_misc.test:
        Test case for archive db fix.
      mysys/array.c:
        Added casts to avoid compiler warnings.
      mysys/hash.c:
        Added casts to avoid compiler warnings.
      mysys/my_compress.c:
        Added casts to remove compiler warnings on windows
      mysys/my_conio.c:
        To avoid a warning from compiler.
      mysys/my_pread.c:
        Archive db fix.
      mysys/my_quick.c:
        Added cast to avoid compiler warning.
        ---
        Added cast to avoid compiler warning.
      sql/ha_ndbcluster_binlog.cc:
        Ensure we log all binglog errors with the "NDB Binlog" tag
      sql/ha_partition.cc:
        result is type bool, so calculation should be forced to
        that also.
      sql/log.cc:
        Fixed compiler problem on Solaris.
      sql/slave.cc:
        Make errors uniform
      sql/sql_class.cc:
        Added cast to remove compiler warnings on windows
      sql/sql_map.cc:
        Added casts to avoid compiler warnings.
        ---
        Added casts to avoid compiler warnings.
      sql/sql_plugin.cc:
        Fixed wrong type.
        ---
        Don't give warning that readonly variable is forced to be readonly
      sql/stacktrace.c:
        Corrected manual reference
      storage/archive/azio.c:
        Archive db fix.
        ---
        Fixed previously added patch.
      storage/blackhole/ha_blackhole.cc:
        Fixed wrong prototype that caused test to fail on 64 bit platforms
      storage/example/ha_example.cc:
        Fixed wrong prototype that caused test to fail on 64 bit platforms
      strings/ctype-ucs2.c:
        Fixed wrong type.
        ---
        Fixed wrong type.
      support-files/compiler_warnings.supp:
        Added new disabled warnings for Win 64.
      4605d8f2
    • unknown's avatar
      Merge gleb.loc:/home/uchum/work/bk/mysql-5.0-opt · 03ad7c22
      unknown authored
      into  gleb.loc:/home/uchum/work/bk/mysql-5.0-opt-28244
      
      03ad7c22
    • unknown's avatar
      sql_view.cc: · cb2086ef
      unknown authored
        Patch to eliminate compilation warning.
      
      
      sql/sql_view.cc:
        Patch to eliminate warning.
      cb2086ef
    • unknown's avatar
      Merge gshchepa@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · 551cfe94
      unknown authored
      into  gleb.loc:/home/uchum/work/bk/mysql-5.0-opt
      
      551cfe94
    • unknown's avatar
      Merge gleb.loc:/home/uchum/work/bk/mysql-5.0-opt · f27a4694
      unknown authored
      into  gleb.loc:/home/uchum/work/bk/mysql-5.0-opt-28244
      
      f27a4694
    • unknown's avatar
      Fixed bug #28244. · 599e61e8
      unknown authored
      When the same VIEW was created at the master side twice,
      malformed (truncated after the word 'AS') query string 
      was forwarded to client side, so error messages on the
      master and client was different, and replication was
      broken.
      
      The mysql_register_view function call failed
      too early: fields of `view' output argument of this 
      function was not filled yet with correct data required
      for query replication.
      The mysql_register_view function also copied pointers to 
      local buffers into a memory allocated by the caller.
      
      
      sql/sql_view.cc:
        Fixed bug #28244.
        Checking of existence of VIEW .frm file has been
        moved down to the place, when `view' argument is
        completely filled with proper data.
        view->query.str and view->query.md5 pointers has been
        set to the NULL before return from the mysql_register_view
        function.
      mysql-test/t/rpl_view.test:
        Updated test case for bug #28244.
      mysql-test/r/rpl_view.result:
        Updated test case for bug #28244.
      599e61e8
    • unknown's avatar
      Merge dl145s.mysql.com:/users/mhansson/mysql/push/bug27741/my50-bug27741 · 78245cef
      unknown authored
      into  dl145s.mysql.com:/users/mhansson/mysql/push/bug27741/my51-bug27741
      
      
      mysql-test/mysql-test-run.pl:
        Auto merged
      sql/udf_example.c:
        Auto merged
      78245cef
    • unknown's avatar
      bug#27741: udf test fails on AIX < 5.3 · 2550ede7
      unknown authored
      problem #1: udf_example.so does not get built on AIX
      
      solution#1: build it yourself using
      cd sql; gcc  -g -I ../include/ -I /usr/include/ -lpthread  \
      -shared -o udf_example.so udf_example.c; mv udf_example.so \
      .libs/ 
      
      problem#2 (the bug): udf_example fails because it does not
      recognize the variable LD_LIBRARY_PATH when doing dl_open(),
      it looks at LIBPATH
      
      solution#2: add the library path to LIBPATH
      
      problem#3: udf_example returns the wrong result length since 
      it relies on strmov to return a pointer to the end of the 
      string that it copies. On AIX builds, where m_string.h is not
      included (m_string defines a macro expanding strmov to stpcpy),
      there is a macro expanding strmov to strcpy, which returns a 
      pointer to the first character.
      
      solution#3: define strmov as stpcpy.
      
      problem#4: #2 applies on hp-ux as well, but this platform
      looks at SHLIB_PATH
      
      solution#4: added the library path to SHLIB_PATH
      
      
      mysql-test/mysql-test-run.pl:
        bug#27741: Added library paths to LIBPATH ( shared library 
        path environment variable used on AIX) and
        SHLIB_PATH (ditto on hp-ux)
      sql/udf_example.c:
        bug#27741: define strmov as stpcpy rather than strcpy and 
        include string.h. The definition for strmov in the standalone 
        case was not maintained properly
      2550ede7
    • unknown's avatar
      merging · 727397ad
      unknown authored
      727397ad
    • unknown's avatar
      Merge mysql.com:/d2/hf/mrg/mysql-5.0-opt · 9192287f
      unknown authored
      into  mysql.com:/d2/hf/mrg/mysql-5.1-opt
      
      
      mysql-test/r/auto_increment.result:
        Auto merged
      mysql-test/r/create.result:
        Auto merged
      mysql-test/r/insert.result:
        Auto merged
      mysql-test/r/insert_select.result:
        Auto merged
      mysql-test/r/insert_update.result:
        Auto merged
      mysql-test/r/key.result:
        Auto merged
      mysql-test/r/kill.result:
        Auto merged
      mysql-test/r/null.result:
        Auto merged
      mysql-test/r/null_key.result:
        Auto merged
      mysql-test/r/ps_2myisam.result:
        Auto merged
      mysql-test/r/ps_3innodb.result:
        Auto merged
      mysql-test/r/ps_4heap.result:
        Auto merged
      BitKeeper/deleted/.del-ps_6bdb.result:
        Auto merged
      mysql-test/r/ps_5merge.result:
        Auto merged
      mysql-test/r/ps_7ndb.result:
        Auto merged
      mysql-test/r/strict.result:
        Auto merged
      mysql-test/r/view.result:
        Auto merged
      mysql-test/t/kill.test:
        Auto merged
      mysql-test/t/strict.test:
        Auto merged
      sql/field.cc:
        Auto merged
      sql/field_conv.cc:
        Auto merged
      sql/item_func.cc:
        Auto merged
      mysql-test/r/type_enum.result:
        merging
      mysql-test/r/warnings.result:
        merging
      mysql-test/t/type_enum.test:
        merging
      sql/sql_select.cc:
        merging
      9192287f
    • unknown's avatar
      Merge gshchepa@bk-internal.mysql.com:/home/bk/mysql-5.1-opt · 6176fb34
      unknown authored
      into  gleb.loc:/home/uchum/work/bk/mysql-5.1-opt
      
      
      mysql-test/r/view.result:
        Merge with 5.0-opt.
      mysql-test/t/view.test:
        Merge with 5.0-opt.
      6176fb34
    • unknown's avatar
      Merge gleb.loc:/home/uchum/work/bk/mysql-5.0-opt · d390ee91
      unknown authored
      into  gleb.loc:/home/uchum/work/bk/mysql-5.1-opt
      
      
      sql/sql_class.h:
        Auto merged
      mysql-test/r/view.result:
        Merge with 5.0-opt.
      mysql-test/t/view.test:
        Merge with 5.0-opt.
      sql/sql_update.cc:
        Merge with 5.0-opt.
      d390ee91
    • unknown's avatar
      Merge gshchepa@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · 45205815
      unknown authored
      into  gleb.loc:/home/uchum/work/bk/mysql-5.0-opt-28598
      
      
      sql/sql_select.cc:
        Auto merged
      45205815
    • unknown's avatar
      Fixed bug #28598. · 0e0a30e2
      unknown authored
      mysqld crashed when a long-running explain query was killed from
      another connection.
      
      When the current thread caught a kill signal executing the function
      best_extension_by_limited_search it just silently returned to  
      the calling function greedy_search without initializing elements of
      the join->best_positions array.
      However, the greedy_search function ignored thd->killed status
      after a calls to the best_extension_by_limited_search function, and
      after several calls the greedy_search function used an uninitialized
      data from the join->best_positions[idx] to search position in the
      join->best_ref array. 
      That search failed, and greedy_search tried to call swap_variables
      function with NULL argument - that caused a crash.
      
      
      sql/sql_select.cc:
        Fixed bug #28598.
        choose_plan(), greedy_search(), best_extension_by_limited_search()
        and find_best() functions have been changed to return TRUE in case
        of fatal error.
      mysql-test/t/kill.test:
        Updated test case for bug #28598.
      mysql-test/r/kill.result:
        Updated test case for bug #28598.
      0e0a30e2