1. 18 May, 2007 2 commits
    • unknown's avatar
      Merge mysql.com:/d2/hf/mrg/mysql-5.0-opt · 509079e6
      unknown authored
      into  mysql.com:/d2/hf/mrg/mysql-5.1-opt
      
      
      mysql-test/r/func_gconcat.result:
        Auto merged
      mysql-test/include/mix1.inc:
        Auto merged
      mysql-test/r/func_group.result:
        Auto merged
      mysql-test/r/innodb_mysql.result:
        Auto merged
      mysql-test/t/func_gconcat.test:
        Auto merged
      mysql-test/t/func_group.test:
        Auto merged
      sql/item.cc:
        Auto merged
      sql/item_cmpfunc.cc:
        Auto merged
      sql/item_sum.cc:
        Auto merged
      sql/sql_select.cc:
        Auto merged
      sql/sql_union.cc:
        Auto merged
      mysql-test/r/ps.result:
        merging
      mysql-test/r/subselect.result:
        merging
      mysql-test/r/type_datetime.result:
        SCCS merged
      mysql-test/t/ps.test:
        merging
      mysql-test/t/subselect.test:
        merging
      mysql-test/t/type_datetime.test:
        merging
      sql/opt_sum.cc:
        SCCS merged
      509079e6
    • unknown's avatar
      Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · 340b6fe9
      unknown authored
      into  moonbone.local:/mnt/gentoo64/work/28261-bug-5.0-opt-mysql
      
      340b6fe9
  2. 17 May, 2007 5 commits
    • unknown's avatar
      Merge olga.mysql.com:/home/igor/mysql-5.0-opt · 37b7cab2
      unknown authored
      into  olga.mysql.com:/home/igor/dev-opt/mysql-5.0-opt-bug28337
      
      37b7cab2
    • unknown's avatar
      Bug#28261: Wrong DATETIME comparison result when the GET_USER_VAR function · 1bd4a18c
      unknown authored
      is involved.
      
      The Arg_comparator::compare_datetime() comparator caches its arguments if
      they are constants i.e. const_item() returns true. The
      Item_func_get_user_var::const_item() returns true or false based on
      the current query_id and the query_id where the variable was created.
      Thus even if a query can change its value its const_item() still will return
      true. All this leads to a wrong comparison result when an object of the
      Item_func_get_user_var class is involved.
      
      Now the Arg_comparator::can_compare_as_dates() and the
      get_datetime_value() functions never cache result of the GET_USER_VAR()
      function (the Item_func_get_user_var class).
      
      
      mysql-test/t/type_datetime.test:
        A test case is added for the bug#28261: Wrong DATETIME comparison result when the GET_USER_VAR function
        is involved.
      mysql-test/r/type_datetime.result:
        A test case is added for the bug#28261: Wrong DATETIME comparison result when the GET_USER_VAR function
        is involved.
      sql/item_cmpfunc.cc:
        Bug#28261: Wrong DATETIME comparison result when the GET_USER_VAR function
        is involved.
        Now the Arg_comparator::can_compare_as_dates() and the
        get_datetime_value() functions never cache result of the GET_USER_VAR()
        function (the Item_func_get_user_var class).
      1bd4a18c
    • unknown's avatar
      Merge sgluhov@bk-internal.mysql.com:/home/bk/mysql-5.1-opt · 1ff9c90a
      unknown authored
      into  mysql.com:/home/gluh/MySQL/Merge/5.1-opt
      
      1ff9c90a
    • unknown's avatar
      valgrind error fix(addon) · 1598c034
      unknown authored
      1598c034
    • unknown's avatar
      Fixed bug #28337: wrong results for grouping queries with correlated · 7c74368a
      unknown authored
      subqueries in WHERE conditions.
      This bug was introduced by the patch for bug 27321.
      
      
      mysql-test/r/subselect.result:
        Added a test case for bug #28337.
      mysql-test/t/subselect.test:
        Added a test case for bug #28337.
      sql/item.cc:
        Fixed bug #28337: wrong results for grouping queries with correlated
        subqueries in WHERE conditions.
        This bug was introduced by the patch for bug 27321.
        
        Now in the Item_field::fix_outer_field function we create an Item_outer_ref
        object for an outer reference only if it is used in the SELECT list or
        in the HAVING clause of the subquery against which the reference is resolved.
      7c74368a
  3. 16 May, 2007 7 commits
  4. 15 May, 2007 8 commits
    • unknown's avatar
      Merge olga.mysql.com:/home/igor/mysql-5.0-opt · 83504b0d
      unknown authored
      into  olga.mysql.com:/home/igor/dev-opt/mysql-5.0-opt-bug28272
      
      83504b0d
    • unknown's avatar
      Bug#28208: Wrong result of a non-const STRING function with a const DATETIME · d68be9ba
      unknown authored
      function.
      
      A wrong  condition was used to check that the
      Arg_comparator::can_compare_as_dates() function calculated the value of the
      string constant. When comparing a non-const STRING function with a constant
      DATETIME function it leads to saving an arbitrary value as a cached value of
      the DATETIME function.
      
      Now the Arg_comparator::set_cmp_func() function initializes the const_value
      variable to the impossible DATETIME value (-1) and this const_value is
      cached only if it was changed by the Arg_comparator::can_compare_as_dates()
      function.
      
      
      mysql-test/t/type_datetime.test:
        Added a test case for the bug#28208: Wrong result of a non-const STRING function with a const DATETIME function.
      mysql-test/r/type_datetime.result:
        Added a test case for the bug#28208: Wrong result of a non-const STRING function with a const DATETIME function.
      sql/item_cmpfunc.cc:
        Bug#28208: Wrong result of a non-const STRING function with a const DATETIME
        function.
        Now the Arg_comparator::set_cmp_func() function initializes the const_value
        variable to the impossible DATETIME value (-1) and this const_value is
        cached only if it was changed by the Arg_comparator::can_compare_as_dates()
        function.
      d68be9ba
    • unknown's avatar
      Merge olga.mysql.com:/home/igor/dev-opt/mysql-4.1-opt-bug28272 · d9f910ee
      unknown authored
      into  olga.mysql.com:/home/igor/dev-opt/mysql-5.0-opt-bug28272
      
      
      mysql-test/r/innodb_mysql.result:
        Auto merged
      mysql-test/t/innodb_mysql.test:
        Auto merged
      sql/sql_select.cc:
        Manual merge
      d9f910ee
    • unknown's avatar
      Bug#27573: MIN() on an indexed column which is always NULL sets _other_ results · d8b8e817
      unknown authored
      to NULL
      
      For queries of the form SELECT MIN(key_part_k) FROM t1 
      WHERE key_part_1 = const and ... and key_part_k-1 = const,
      the opt_sum_query optimization tries to
      use an index to substitute MIN/MAX functions with their values according
      to the following rules:
      1) Insert the minimum non-null values where the WHERE clause still matches, or
      3) A row of nulls
      
      However, the correct semantics requires that there is a third case 2)
      such that a NULL value is substituted if there are only NULL values for 
      key_part_k.
      
      The patch modifies opt_sum_query() to handle this missing case.
      
      
      mysql-test/r/func_group.result:
        Bug #27573: Correct result
      mysql-test/t/func_group.test:
        Bug #27573: test case
      sql/opt_sum.cc:
        Bug #27573:
        Added code that will try to read the
        first non-null value for a given complete-field prefix, second
        choice is to read the null, and lastly set the error code if no row
        is found.
      d8b8e817
    • unknown's avatar
      WL#3823 Modify VARIABLE_VALUE columns to VARCHAR within INFORMATION_SCHEMA STATUS tables · d24bd690
      unknown authored
      
      mysql-test/r/compress.result:
        result fix
      mysql-test/r/information_schema.result:
        result fix
      mysql-test/r/openssl_1.result:
        result fix
      mysql-test/r/rpl_packet.result:
        result fix
      mysql-test/r/status.result:
        result fix
      d24bd690
    • unknown's avatar
      Fixed bug #28272: crash that occurs when running an EXPLAIN command · 577ffdb2
      unknown authored
      for a query over an empty table right after its creation. 
      The crash is the result of an attempt made by JOIN::optimize to evaluate
      the WHERE condition when no records have been actually read.
      The added test case can reproduce the crash only with InnoDB tables and
      only with 5.0.x.
       
      
      
      mysql-test/r/innodb_mysql.result:
        Added a test case for bug #28272.
      mysql-test/t/innodb_mysql.test:
        Added a test case for bug #28272.
      sql/sql_select.cc:
        Fixed bug #28272: crash that occurs when running an EXPLAIN command
        for a query over an empty table right after its creation. 
        The crash is the result of an attempt made by JOIN::optimize to evaluate
        the WHERE condition when no records have been actually read.
        Such attempts could be observed only with EXPLAIN commands.
        Now at the optimization phase the WHERE condition is never evaluated if 
        there is no record previously read from the table.
      577ffdb2
    • unknown's avatar
      Post-merge fix. · 6d6a03ce
      unknown authored
      6d6a03ce
    • unknown's avatar
      Merge olga.mysql.com:/home/igor/dev-opt/mysql-4.1-opt-bug27937 · bc3473b8
      unknown authored
      into  olga.mysql.com:/home/igor/dev-opt/mysql-5.0-opt-bug27937
      
      
      mysql-test/r/ps.result:
        Manual merge
      mysql-test/t/ps.test:
        Manual merge
      sql/sql_union.cc:
        Manual merge
      bc3473b8
  5. 14 May, 2007 2 commits
    • unknown's avatar
      Fixed bug #27937: crash for the the second execution of a prepared · a6124de3
      unknown authored
      statement from a UNION query with ORDER BY an expression containing
      RAND().
      The crash happened because the global order by list in the union query
      was not re-initialized for execution.
      (Local order by lists were re-initialized though).
      
      
      
      mysql-test/r/ps.result:
        Added a test case for bug #27937.
      mysql-test/t/ps.test:
        Added a test case for bug #27937.
      sql/sql_union.cc:
        Fixed bug #27937: crash for the the second execution of a prepared
        statement from a UNION query with ORDER BY an expression containing
        RAND().
        The crash happened because the global order by list in the union query
        was not re-initialized for execution.
        (Local order by lists were re-initialized though).
        Added re-initialization of the global order by list in the function
        st_select_lex_unit::init_prepare_fake_select_lex.
      a6124de3
    • unknown's avatar
      Merge mhansson@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · 7f8398bb
      unknown authored
      into  dl145s.mysql.com:/users/mhansson/mysql/autopush/5.0o-5.0o-bug28273
      
      7f8398bb
  6. 12 May, 2007 6 commits
    • unknown's avatar
      Merge bk-internal.mysql.com:/data0/bk/mysql-5.1 · 0ed5602a
      unknown authored
      into  bk-internal.mysql.com:/data0/bk/mysql-5.1-opt
      
      
      sql/field.cc:
        Auto merged
      0ed5602a
    • unknown's avatar
      Merge bk-internal.mysql.com:/data0/bk/mysql-5.0 · de34385a
      unknown authored
      into  bk-internal.mysql.com:/data0/bk/mysql-5.0-opt
      
      de34385a
    • unknown's avatar
      Merge olga.mysql.com:/home/igor/mysql-5.0-opt · 23fa1628
      unknown authored
      into  olga.mysql.com:/home/igor/mysql-5.1-opt
      
      
      mysql-test/r/subselect3.result:
        Auto merged
      sql/item_subselect.cc:
        Auto merged
      sql/sql_select.h:
        Auto merged
      23fa1628
    • unknown's avatar
      Post-merge fix · 663eea2f
      unknown authored
      663eea2f
    • unknown's avatar
      Merge olga.mysql.com:/home/igor/mysql-5.0-opt · 3666b4d1
      unknown authored
      into  olga.mysql.com:/home/igor/mysql-5.1-opt
      
      
      mysql-test/t/grant.test:
        Auto merged
      mysql-test/r/grant.result:
        Manual merge
      3666b4d1
    • unknown's avatar
      Fixed bug #28375: a query with an NOT IN subquery predicate may cause · 3d501aec
      unknown authored
      a crash when the left operand of the predicate is evaluated to NULL.
      It happens when the rows from the inner tables (tables from the subquery)
      are accessed by index methods with key values obtained by evaluation of
      the left operand of the subquery predicate. When this predicate is
      evaluated to NULL an alternative access with full table scan is used
      to check whether the result set returned by the subquery is empty or not.
      The crash was due to the fact the info about the access methods used for
      regular key values was not properly restored after a switch back from the
      full scan access method had occurred.
      The patch restores this info properly.
      The same problem existed for queries with IN subquery predicates if they
      were used not at the top level of the queries.
      
      
      mysql-test/r/subselect3.result:
        Added a test case for bug #28375.
      mysql-test/t/subselect3.test:
        Added a test case for bug #28375.
      sql/item_subselect.cc:
        Fixed bug #28375: a query with an NOT IN subquery predicate may cause
        a crash when the left operand of the predicate is evaluated to NULL.
        It happens when the rows from the inner tables (tables from the subquery)
        are accessed by index methods with key values obtained by evaluation of
        the left operand of the subquery predicate. When this predicate is
        evaluated to NULL an alternative access with full table scan is used
        to check whether the result set returned by the subquery is empty or not.
        The crash was due to the fact the info about the access methods used for
        regular key values was not properly restored after a switch back from the
        full scan access method had occurred.
        The patch restores this info properly.
      sql/sql_select.h:
        Fixed bug #28375: a query with an NOT IN subquery predicate may cause
        a crash when the left operand of the predicate is evaluated to NULL.
        In the JOIN_TAB structure two fields have been added to save info about
        index methods used to access the subquery rows. The saved info is used
        after a switch back from the alternative full scan access method has 
        occurred. The full scan is used when the left operand of the subquery
        predicate is evaluated to NULL.
      3d501aec
  7. 11 May, 2007 10 commits
    • unknown's avatar
      Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · 038c0d3a
      unknown authored
      into  moonbone.local:/mnt/gentoo64/work/27878-bug-5.0-opt-mysql
      
      038c0d3a
    • unknown's avatar
      grant.result, grant.test: · 08ef68cf
      unknown authored
        Corrected test case for the bug#27878.
      
      
      mysql-test/t/grant.test:
        Corrected test case for the bug#27878.
      mysql-test/r/grant.result:
        Corrected test case for the bug#27878.
      08ef68cf
    • unknown's avatar
      merging fix · 2ac8a65d
      unknown authored
      2ac8a65d
    • unknown's avatar
      Merge mysql.com:/home/hf/work/27957/my50-27957 · 7d940ed9
      unknown authored
      into  mysql.com:/home/hf/work/27957/my51-27957
      
      
      mysql-test/t/grant.test:
        Auto merged
      mysql-test/r/grant.result:
        merging
      sql/sql_update.cc:
        Auto merged
      sql/sql_prepare.cc:
        Auto merged
      7d940ed9
    • unknown's avatar
      Merge bk@192.168.21.1:mysql-5.0-opt · 80a1386e
      unknown authored
      into  mysql.com:/home/hf/work/27957/my50-27957
      
      80a1386e
    • unknown's avatar
      Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · b290fa22
      unknown authored
      into  moonbone.local:/mnt/gentoo64/work/27878-bug-5.0-opt-mysql
      
      b290fa22
    • unknown's avatar
      Bug#27878: Unchecked privileges on a view referring to a table from another · 1fab38c5
      unknown authored
      database.
      
      If a user has a right to update anything in the current database then the 
      access was granted and further checks of access rights for underlying tables
      wasn't done correctly. The check is done before a view is opened and thus no
      check of access rights for underlying tables can be carried out.
      This allows a user to update through a view a table from another database for
      which he hasn't enough rights.
      
      Now the mysql_update() and the mysql_test_update() functions are forces
      re-checking of access rights after a view is opened.
      
      
      mysql-test/t/grant.test:
        Added a test case for the bug#27878: Unchecked privileges on a view referring to a table from another database.
      mysql-test/r/grant.result:
        Added a test case for the bug#27878: Unchecked privileges on a view referring to a table from another database.
      sql/sql_update.cc:
        Bug#27878: Unchecked privileges on a view referring to a table from another 
        database.
        Now the mysql_update() function forces re-checking of access rights after 
        the view is opened.
      sql/sql_prepare.cc:
        Bug#27878: Unchecked privileges on a view referring to a table from another 
        database.
        Now the mysql_test_update() function forces re-checking of access rights after
        the view is opened.
      1fab38c5
    • unknown's avatar
      merging fixes · 5bd6d72a
      unknown authored
      
      mysql-test/r/insert_update.result:
        result fixed
      mysql-test/r/type_newdecimal.result:
        result fixed
      5bd6d72a
    • unknown's avatar
      Merge mysql.com:/home/hf/work/27957/my50-27957 · 373f587a
      unknown authored
      into  mysql.com:/home/hf/work/27957/my51-27957
      
      
      sql/item_func.cc:
        Auto merged
      mysql-test/r/type_datetime.result:
        merging
      mysql-test/t/type_datetime.test:
        merging
      sql/my_decimal.h:
        merging
      373f587a
    • unknown's avatar
      merging fixes · 87f7d168
      unknown authored
      
      mysql-test/r/type_datetime.result:
        result fixed
      mysql-test/t/type_datetime.test:
        testcase fixed
      sql/item_func.cc:
        my_decimal_length_to_precision used
      sql/my_decimal.h:
        merging fix
      87f7d168