1. 12 Mar, 2007 1 commit
    • unknown's avatar
      Fixed bug #26963: invalid optimization of the pushdown conditions · 13c05162
      unknown authored
      after single-row table substitution could lead to a wrong result set.
      The bug happened because the function Item_field::replace_equal_field
      erroniously assumed that any field included in a multiple equality
      with a constant has been already substituted for this constant.
      This not true for fields becoming constant after row substitutions
      for constant tables.
       
      
      
      mysql-test/r/select.result:
        Added a test case for bug #26963.
      mysql-test/t/select.test:
        Added a test case for bug #26963.
      sql/item.cc:
        Fixed bug #26963: invalid optimization of the pushdown conditions
        after single-row table substitution could lead to a wrong result set.
        The bug happened because the function Item_field::replace_equal_field
        erroneously assumed that any field included in a multiple equality
        with a constant has been already substituted for this constant.
        This not true for fields becoming constant after row substitutions
        for constant tables.
      13c05162
  2. 10 Mar, 2007 4 commits
    • unknown's avatar
      Merge moonbone.local:/mnt/gentoo64/work/15757-bug-5.0-opt-mysql · 2f774b47
      unknown authored
      into  moonbone.local:/mnt/gentoo64/work/25373-bug-5.0-opt-mysql
      
      
      sql/item_strfunc.cc:
        Auto merged
      mysql-test/r/func_str.result:
        SCCS merged
      mysql-test/t/func_str.test:
        SCCS merged
      2f774b47
    • unknown's avatar
      Bug#15757: Wrong SUBSTRING() result when a tmp table was employed. · 816ea8a3
      unknown authored
      When the SUBSTRING() function was used over a LONGTEXT field the max_length of
      the SUBSTRING() result was wrongly calculated and set to 0. As the max_length
      parameter is used while tmp field creation it limits the length of the result
      field and leads to printing an empty string instead of the correct result.
      
      Now the Item_func_substr::fix_length_and_dec() function correctly calculates
      the max_length parameter.
      
      
      mysql-test/t/func_str.test:
        Added a test case for the bug#15757: Wrong SUBSTRING() result when a tmp table was employed.
      mysql-test/r/func_str.result:
        Added a test case for the bug#15757: Wrong SUBSTRING() result when a tmp table was employed.
      sql/item_strfunc.cc:
        Bug#15757: Wrong SUBSTRING() result when a tmp table was employed.
        Now the Item_func_substr::fix_length_and_dec() function correctly calculates
        the max_length parameter.
      816ea8a3
    • unknown's avatar
      Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · c0a05435
      unknown authored
      into  moonbone.local:/mnt/gentoo64/work/25373-bug-5.0-opt-mysql
      
      
      mysql-test/r/func_str.result:
        Auto merged
      mysql-test/r/subselect.result:
        Auto merged
      mysql-test/r/union.result:
        Auto merged
      sql/item.cc:
        Auto merged
      c0a05435
    • unknown's avatar
      Fixed bug #26830: a crash for the query with a subselect containing ROLLUP. · 4d6ad7ac
      unknown authored
      Crash happened because the function get_best_group_min_max detected
      joins with ROLLUP incorrectly.
      
      
      mysql-test/r/olap.result:
        Added a test case for bug #26830.
      mysql-test/t/olap.test:
        Added a test case for bug #26830.
      4d6ad7ac
  3. 09 Mar, 2007 10 commits
    • unknown's avatar
      Bug#22331: Wrong WHERE in EXPLAIN EXTENDED when all expressions were optimized · 944030ae
      unknown authored
      away.
      
      Additional fix for bug#22331. Now Item_field prints its value in the case of
      the const field.
      
      
      mysql-test/r/varbinary.result:
        Corrected test case after fix for bug#22331.
      mysql-test/r/union.result:
        Corrected test case after fix for bug#22331.
      mysql-test/r/subselect.result:
        Corrected test case after fix for bug#22331.
      mysql-test/r/func_test.result:
        Corrected test case after fix for bug#22331.
      mysql-test/r/having.result:
        Corrected test case after fix for bug#22331.
      mysql-test/r/func_regexp.result:
        Corrected test case after fix for bug#22331.
      mysql-test/r/func_str.result:
        Corrected test case after fix for bug#22331.
      mysql-test/r/func_default.result:
        Corrected test case after fix for bug#22331.
      mysql-test/r/explain.result:
        Corrected test case after fix for bug#22331.
      sql/sql_union.cc:
        Bug#22331: Wrong WHERE in EXPLAIN EXTENDED when all expressions were optimized
        away.
        Cleanup of the SELECT_LEX::order_list list.
      sql/item.h:
        Bug#22331: Wrong WHERE in EXPLAIN EXTENDED when all expressions were optimized
        away.
        Added the print() member function to the Item_field class.
      sql/item.cc:
        Bug#22331: Wrong WHERE in EXPLAIN EXTENDED when all expressions were optimized
        away.
        Added the print() member function to the Item_field class.
      944030ae
    • unknown's avatar
      Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · 52fb60da
      unknown authored
      into  magare.gmz:/home/kgeorge/mysql/autopush/B26281-5.0-opt
      
      
      52fb60da
    • unknown's avatar
      Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · c7de22a1
      unknown authored
      into  magare.gmz:/home/kgeorge/mysql/autopush/B26281-5.0-opt
      
      
      sql/item_strfunc.cc:
        Auto merged
      mysql-test/r/func_str.result:
        resolved test merge conflicts
      mysql-test/t/func_str.test:
        resolved test merge conflicts
      c7de22a1
    • unknown's avatar
      Bug #26281: · 29b6d554
      unknown authored
       Fixed boundry checks in the INSERT() function:
       were one off.
      
      
      mysql-test/r/func_str.result:
        Bug #26281: test case
      mysql-test/t/func_str.test:
        Bug #26281: test case
      sql/item_strfunc.cc:
        Bug #26281: fixed boundry checks
      29b6d554
    • unknown's avatar
      Merge ibabaev@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · e68df7a1
      unknown authored
      into  olga.mysql.com:/home/igor/mysql-5.0-opt
      
      
      sql/item.cc:
        Auto merged
      e68df7a1
    • unknown's avatar
      Merge olga.mysql.com:/home/igor/mysql-5.0-opt · 413604f9
      unknown authored
      into  olga.mysql.com:/home/igor/dev-opt/mysql-5.0-opt-bug26661
      
      
      413604f9
    • unknown's avatar
      Fixed bug #26661: crash when order by clause in a union · 729bcaf4
      unknown authored
      construct references invalid name.
      Derived tables currently cannot use outer references.
      Thus there is no outer context for them.
      The 4.1 code takes this fact into account while the 
      Item_field::fix_outer_field code of 5.0 lost the check that blocks
      any attempts to resolve names in outer context for derived tables.
      
      
      mysql-test/r/union.result:
        Added a test case for bug #26661.
      mysql-test/t/union.test:
        Added a test case for bug #26661.
      sql/item.cc:
        Fixed bug #26661.
        Derived tables currently cannot use outer references.
        Thus there is no outer context for them.
        The 4.1 code takes this fact into account while the 
        Item_field::fix_outer_field code of 5.0 lost the check that blocks
        any attempts to resolve names in outer context for derived tables.
      729bcaf4
    • unknown's avatar
      Merge abotchkov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · 76542acd
      unknown authored
      into  mysql.com:/home/hf/work/mrg/mysql-5.0-opt
      
      
      sql/sql_select.cc:
        Auto merged
      76542acd
    • unknown's avatar
      Merge mysql.com:/home/hf/work/mrg/mysql-4.1-opt · 3cd8b881
      unknown authored
      into  mysql.com:/home/hf/work/mrg/mysql-5.0-opt
      
      
      3cd8b881
    • unknown's avatar
      aftermerge fix · 5c1e48c5
      unknown authored
      
      mysql-test/r/view.result:
        merging
      5c1e48c5
  4. 08 Mar, 2007 13 commits
  5. 07 Mar, 2007 12 commits
    • unknown's avatar
      Merge tsmith@bk-internal.mysql.com:/home/bk/mysql-4.1-build · ae8cad44
      unknown authored
      into  quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/maint/mar07/stage2/41
      
      
      ae8cad44
    • unknown's avatar
      Merge quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/50 · 30c1622e
      unknown authored
      into  quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/maint/mrg0306/50
      
      
      sql/mysqld.cc:
        Auto merged
      sql/sql_class.cc:
        Auto merged
      sql/sql_class.h:
        Auto merged
      sql/sql_parse.cc:
        Auto merged
      30c1622e
    • unknown's avatar
      Merge quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/40 · 7a512b02
      unknown authored
      into  quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/maint/mrg0306/40
      
      
      7a512b02
    • unknown's avatar
      5501a291
    • unknown's avatar
      Merge mysql.com:/home/kent/bk/tmp/mysql-4.1-build · 245f1308
      unknown authored
      into  mysql.com:/home/kent/bk/tmp/mysql-5.0-build
      
      
      245f1308
    • unknown's avatar
      Merge kboortz@bk-internal.mysql.com:/home/bk/mysql-5.0 · dc451454
      unknown authored
      into  mysql.com:/home/kent/bk/tmp/mysql-5.0-build
      
      
      dc451454
    • unknown's avatar
      Merge kboortz@bk-internal.mysql.com:/home/bk/mysql-4.1 · 4c1312d4
      unknown authored
      into  mysql.com:/home/kent/bk/tmp/mysql-4.1-build
      
      
      4c1312d4
    • unknown's avatar
      sql_select.cc: · 1631f65d
      unknown authored
        Postfix for bug#22331 for windows platform.
      explain.test, explain.result:
        Cleanup after bugfix#22331.
      
      
      mysql-test/t/explain.test:
        Cleanup after bugfix#22331.
      mysql-test/r/explain.result:
        Cleanup after bugfix#22331.
      sql/sql_select.cc:
        Postfix for bug#22331 for windows platform.
      1631f65d
    • unknown's avatar
      Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · d7738740
      unknown authored
      into  moonbone.local:/mnt/gentoo64/work/25373-bug-5.0-opt-mysql
      
      
      sql/sql_select.cc:
        Auto merged
      d7738740
    • unknown's avatar
      Merge moonbone.local:/mnt/gentoo64/work/22331-bug-5.0-opt-mysql · 6f18c392
      unknown authored
      into  moonbone.local:/mnt/gentoo64/work/25373-bug-5.0-opt-mysql
      
      
      mysql-test/r/subselect.result:
        Auto merged
      sql/sql_lex.h:
        Auto merged
      sql/sql_select.cc:
        Auto merged
      sql/sql_lex.cc:
        SCCS merged
      6f18c392
    • unknown's avatar
      Bug#25373: Stored functions wasn't compared correctly which leads to a wrong · 11b533b8
      unknown authored
      result.
      
      For built-in functions like sqrt() function names are hard-coded and can be
      compared by pointer. But this isn't the case for a used-defined stored
      functions - names there are dynamical and should be compared as strings.
      
      Now the Item_func::eq() function employs my_strcasecmp() function to compare
      used-defined stored functions names.
      
      
      mysql-test/t/sp.test:
        Added a test case for bug#25373: Stored functions wasn't compared correctly which leads to a wrong result.
      mysql-test/r/sp.result:
        Added a test case for bug#25373: Stored functions wasn't compared correctly which leads to a wrong result.
      sql/item_func.cc:
        Bug#25373: Stored functions wasn't compared correctly which leads to a wrong
        result.
        Now the Item_func::eq() function employs my_strcasecmp() function to compare
        used-defined stored functions names.
      11b533b8
    • unknown's avatar
      Bug#22331: Wrong WHERE in EXPLAIN EXTENDED when all expressions were optimized · 6de27791
      unknown authored
      away.
      
      During optimization stage the WHERE conditions can be changed or even
      be removed at all if they know for sure to be true of false. Thus they aren't
      showed in the EXPLAIN EXTENDED which prints conditions after optimization.
      
      Now if all elements of an Item_cond were removed this Item_cond is substituted
      for an Item_int with the int value of the Item_cond.
      If there were conditions that were totally optimized away then values of the
      saved cond_value and having_value will be printed instead.
      
      
      mysql-test/t/explain.test:
        Added a test case for the bug#22331: Wrong WHERE in EXPLAIN EXTENDED when all expressions were optimized away.
      mysql-test/r/subselect.result:
        Corrected test case result after fix for bug#22331.
      mysql-test/r/func_test.result:
        Corrected test case result after fix for bug#22331.
      mysql-test/r/explain.result:
        Added a test case for the bug#22331: Wrong WHERE in EXPLAIN EXTENDED when all expressions were optimized away.
      sql/sql_select.cc:
        Bug#22331: Wrong WHERE in EXPLAIN EXTENDED when all expressions were optimized
        away.
        Now if all elements of an Item_cond were removed this Item_cond is substituted
        for an Item_int with the int value of the Item_cond.
        If there were conditions that were totally optimized away then values of the
        saved cond_value and having_value will be printed instead.
      sql/sql_lex.h:
        Bug#22331: Wrong WHERE in EXPLAIN EXTENDED when all expressions were optimized
        away.
        The cond_value and the having_value variables are
        added to the SELECT_LEX class.
      sql/sql_lex.cc:
        Bug#22331: Wrong WHERE in EXPLAIN EXTENDED when all expressions were optimized
        away.
        The initialization of the cond_value and the having_value variables.
      sql/sql_select.h:
        Bug#22331: Wrong WHERE in EXPLAIN EXTENDED when all expressions were optimized
        away.
        Now having_value is also stored in the JOIN class.
      6de27791