1. 02 Jun, 2007 5 commits
    • unknown's avatar
      Merge olga.mysql.com:/home/igor/mysql-5.0-opt · 8ff5607d
      unknown authored
      into  olga.mysql.com:/home/igor/dev-opt/mysql-5.0-opt-bug28728
      
      8ff5607d
    • unknown's avatar
      Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · 7184a592
      unknown authored
      into  moonbone.local:/mnt/gentoo64/work/test-5.0-opt-mysql
      
      7184a592
    • 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
      Fixed bug #28728: a crash when executing EXPLAIN EXTENDED for a query · b7ce84ad
      unknown authored
      using a derived table over a grouping subselect.
      
      This crash happens only when materialization of the derived tables 
      requires creation of auxiliary temporary table, for example when
      a grouping operation is carried out with usage of a temporary table.
      
      The crash happened because EXPLAIN EXTENDED when printing the query
      expression made an attempt to use the objects created in the mem_root
      of the temporary table which has been already freed by the moment
      when printing is called.
      
      This bug appeared after the method Item_field::print() had been 
      introduced.    
      
      
      mysql-test/r/subselect.result:
        Added a test case for bug #28728.
      mysql-test/t/subselect.test:
        Added a test case for bug #28728.
      sql/sql_select.cc:
        Fixed bug #28728: a crash when executing EXPLAIN EXTENDED for a query
        using a derived table over a grouping subselect.
        The crash happened because EXPLAIN EXTENDED when printing the query
        expression made an attempt to use the objects created in the mem_root
        of the temporary table which has been already freed by the moment
        when printing is accomplished.
        The fix in JOIN::exec() ensures using existing objects when printing 
        subselects for a derived tables by EXPLAIN EXTENDED.
      b7ce84ad
    • unknown's avatar
      Post-merge fix. · 211cac24
      unknown authored
      211cac24
  2. 01 Jun, 2007 6 commits
    • unknown's avatar
      Merge bk-internal.mysql.com:/data0/bk/mysql-5.0 · bcfe3d30
      unknown authored
      into  bk-internal.mysql.com:/data0/bk/mysql-5.0-opt
      
      
      mysql-test/r/sp.result:
        Auto merged
      mysql-test/t/sp.test:
        Auto merged
      mysql-test/t/strict.test:
        Auto merged
      mysql-test/t/subselect3.test:
        Auto merged
      sql/mysqld.cc:
        Auto merged
      sql/sp_head.cc:
        Auto merged
      sql/sql_base.cc:
        Auto merged
      sql/sql_class.h:
        Auto merged
      sql/sql_table.cc:
        Auto merged
      sql/sql_update.cc:
        Auto merged
      sql/sql_view.cc:
        Manual merge
      bcfe3d30
    • unknown's avatar
      Fix more mysqltest warnings. · 75485dc3
      unknown authored
      75485dc3
    • unknown's avatar
      106890d0
    • unknown's avatar
      Fix a typo in the test case. · 8c6d82a2
      unknown authored
      
      mysql-test/r/rpl_loaddata.result:
        Update result.
      mysql-test/t/rpl_loaddata.test:
        Fix a typo in the test file.
      8c6d82a2
    • unknown's avatar
      Fix some mysqltest warnings. · 75c45487
      unknown authored
      
      mysql-test/r/sp.result:
        Update results.
      mysql-test/t/mysql.test:
        Fix a typo.
      mysql-test/t/mysqltest.test:
        Fix a typo.
      mysql-test/t/order_by.test:
        Fix a typo.
      mysql-test/t/row.test:
        Remove an unsupported command.
      mysql-test/t/sp.test:
        Fix a typo.
      mysql-test/t/subselect3.test:
        Fix  mysqltest warnings - now it warns when sees some suspicious --
        comment
      75c45487
    • 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
  3. 31 May, 2007 14 commits
    • 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 · 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 lthalmann@bk-internal.mysql.com:/home/bk/mysql-5.0-runtime · 0bb59671
      unknown authored
      into  mysql.com:/nfsdisk1/lars/bk/mysql-5.0-rpl
      
      
      mysql-test/t/disabled.def:
        Auto merged
      0bb59671
    • 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
  4. 30 May, 2007 15 commits
    • unknown's avatar
      bug#22725 · e61c9336
      unknown authored
      refining the test because of Bug #28786 'reset master' does not reset binlogging on embeded server
      
      
      mysql-test/t/binlog_killed.test:
        the test can not pass on embedded server. Setting the include-guard.
      e61c9336
    • unknown's avatar
      Bug#28729: Field_enum wrongly reported an error while storing an empty string. · 3a35610d
      unknown authored
      ENUM fields internally store their values as integers and may use integer
      values as indexes to their values. Invalid values are mapped to zero value.
      When storing an empty string the ENUM field fails to find an appropriate value
      and tries to convert the provided string to integer. The conversion also
      fails and error is returned even if the thd->count_cuted_fields is set to
      CHECK_FIELD_IGNORE. This makes the range optimizer wrongly decide that an
      impossible range is present.
      
      Now the Field_enum::store() returns error while storing an empty string only
      if the thd->count_cuted_fields isn't set to CHECK_FIELD_IGNORE.
      
      
      sql/field.cc:
        Bug#28729: Field_enum wrongly reported an error while storing an empty string.
        Now the Field_enum::store() returns error while storing an empty string only
        if the thd->count_cuted_fields isn't set to CHECK_FIELD_IGNORE.
      mysql-test/r/type_enum.result:
        Added a test case for the bug#28729: Field_enum wrongly reported an error
        while storing an empty string.
      mysql-test/t/type_enum.test:
        Added a test case for the bug#28729: Field_enum wrongly reported an error
        while storing an empty string.
      3a35610d
    • unknown's avatar
      Merge mhansson@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · b858bd2d
      unknown authored
      into  dl145s.mysql.com:/users/mhansson/mysql/autopush/my50-bug28250
      
      
      sql/item_func.cc:
        Auto merged
      b858bd2d
    • unknown's avatar
      Merge sgluhov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · d45437a7
      unknown authored
      into  mysql.com:/home/gluh/MySQL/Merge/5.0-opt
      
      
      mysql-test/r/view.result:
        Auto merged
      d45437a7
    • unknown's avatar
      backport of Bug#11491 Misleading error message if not NULL column set to NULL, SQL mode TRADITIONAL · 144bc40d
      unknown authored
      
      mysql-test/r/auto_increment.result:
        result fix
      mysql-test/r/create.result:
        result fix
      mysql-test/r/insert.result:
        result fix
      mysql-test/r/insert_select.result:
        result fix
      mysql-test/r/insert_update.result:
        result fix
      mysql-test/r/key.result:
        result fix
      mysql-test/r/null.result:
        result fix
      mysql-test/r/null_key.result:
        result fix
      mysql-test/r/ps_2myisam.result:
        result fix
      mysql-test/r/ps_3innodb.result:
        result fix
      mysql-test/r/ps_4heap.result:
        result fix
      mysql-test/r/ps_5merge.result:
        result fix
      mysql-test/r/ps_6bdb.result:
        result fix
      mysql-test/r/ps_7ndb.result:
        result fix
      mysql-test/r/strict.result:
        result fix
      mysql-test/r/view.result:
        result fix
      mysql-test/r/warnings.result:
        result fix
      mysql-test/t/strict.test:
        test fix
      144bc40d
    • unknown's avatar
      Merge gleb.loc:/home/uchum/work/bk/mysql-5.0-opt · 0c5f56b7
      unknown authored
      into  gleb.loc:/home/uchum/work/bk/mysql-5.0-opt-28716
      
      0c5f56b7
    • unknown's avatar
      sql_update.cc: · 8c3afee9
      unknown authored
        Fixed bug #28716: additional patch to eliminate compilation
        error under Windows.
      
      
      sql/sql_update.cc:
        Fixed bug #28716: additional patch to eliminate compilation
        error under Windows.
      8c3afee9
    • unknown's avatar
      Merge gshchepa@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · 27ddad36
      unknown authored
      into  gleb.loc:/home/uchum/work/bk/mysql-5.0-opt
      
      
      mysql-test/r/view.result:
        Auto merged
      27ddad36
    • unknown's avatar
      Merge gleb.loc:/home/uchum/work/bk/mysql-5.0-opt · 5d9f833c
      unknown authored
      into  gleb.loc:/home/uchum/work/bk/mysql-5.0-opt-28716
      
      
      sql/sql_class.h:
        Auto merged
      mysql-test/r/view.result:
        SCCS merged
      mysql-test/t/view.test:
        SCCS merged
      5d9f833c
    • unknown's avatar
      Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · 483ad635
      unknown authored
      into  magare.gmz:/home/kgeorge/mysql/autopush/B28492-5.0-opt
      
      
      mysql-test/r/sp.result:
        Auto merged
      483ad635
    • unknown's avatar
      bug#22725 · 6d63028c
      unknown authored
      test comments correction
      
      
      mysql-test/r/binlog_killed.result:
        changed
      mysql-test/t/binlog_killed.test:
        wrong comments (but important ones) left;
        little refinement in result calc
      6d63028c
    • unknown's avatar
      Disable IM-tests. · c9aa3217
      unknown authored
      c9aa3217
    • unknown's avatar
      Fixed bug #28716. · 4334d680
      unknown authored
      The result of the CHECK OPTION condition evaluation over an
      updated record and records of merged tables was arbitrary and
      dependant on the order of records in the merged tables during
      the execution of SELECT statement.
      
      The CHECK OPTION expression was evaluated over expired record
      buffers (with arbitrary data in the fields).
      
      Rowids of tables used in the CHECK OPTION expression were
      added to temporary table rows. The multi_update::do_updates()
      method was modified to restore necessary record buffers
      before evaluation of the CHECK OPTION condition.
      
      
      sql/sql_class.h:
        Fixed bug #29716.
        The multi_update::unupdatable_check_opt_tables variable
        has been added.
      sql/sql_update.cc:
        Fixed bug #29716.
        Rowids of tables used in the CHECK OPTION expression were
        added to temporary table rows. The multi_update::do_updates()
        method was modified to restore necessary record buffers
        before evaluation of the CHECK OPTION condition.
      mysql-test/t/view.test:
        Updated test case for bug #28716.
      mysql-test/r/view.result:
        Updated test case for bug #28716.
      4334d680
    • unknown's avatar
      Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · 750085c0
      unknown authored
      into  magare.gmz:/home/kgeorge/mysql/autopush/B28605-5.0-opt
      
      750085c0
    • unknown's avatar
      Bug #28492: subselect returns LONG in >5.0.24a and LONGLONG in <=5.0.24a · a61d53eb
      unknown authored
      Integer values with 10 digits may or may not fit into an int column 
      (e.g. 2147483647 vs 6147483647).
      Thus when creating a temp table column for such an int we must
      use bigint instead.
      Fixed to use bigint.
      Also subsituted a "magic number" with a named constant.
      
      
      mysql-test/r/analyse.result:
        Bug #28492: Adjusted the results after having fixed the bug
      mysql-test/r/metadata.result:
        Bug #28492: test case
      mysql-test/r/olap.result:
        Bug #28492: Adjusted the results after having fixed the bug
      mysql-test/r/sp.result:
        Bug #28492: Adjusted the results after having fixed the bug
      mysql-test/r/view.result:
        Bug #28492: Adjusted the results after having fixed the bug
      mysql-test/t/metadata.test:
        Bug #28492: test case
      sql/field.h:
        Bug #28492: Replaced a magic number with a constant
      sql/sql_select.cc:
        Bug #28492: Treat integers with 10 and more digits as 
        bigint.
      a61d53eb