1. 18 May, 2007 2 commits
    • unknown's avatar
      Merge mysql.com:/d2/hf/mrg/mysql-5.0-opt · e0d006f3
      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
      e0d006f3
    • unknown's avatar
      Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · 507ad360
      unknown authored
      into  moonbone.local:/mnt/gentoo64/work/28261-bug-5.0-opt-mysql
      
      
      507ad360
  2. 17 May, 2007 5 commits
    • unknown's avatar
      Merge olga.mysql.com:/home/igor/mysql-5.0-opt · 042b1717
      unknown authored
      into  olga.mysql.com:/home/igor/dev-opt/mysql-5.0-opt-bug28337
      
      
      042b1717
    • unknown's avatar
      Bug#28261: Wrong DATETIME comparison result when the GET_USER_VAR function · c4a4df5a
      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).
      c4a4df5a
    • unknown's avatar
      Merge sgluhov@bk-internal.mysql.com:/home/bk/mysql-5.1-opt · 5d8c8803
      unknown authored
      into  mysql.com:/home/gluh/MySQL/Merge/5.1-opt
      
      
      5d8c8803
    • unknown's avatar
      valgrind error fix(addon) · d2250317
      unknown authored
      d2250317
    • unknown's avatar
      Fixed bug #28337: wrong results for grouping queries with correlated · dd1a1180
      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.
      dd1a1180
  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 · 0e234075
      unknown authored
      into  olga.mysql.com:/home/igor/dev-opt/mysql-5.0-opt-bug28272
      
      
      0e234075
    • unknown's avatar
      Bug#28208: Wrong result of a non-const STRING function with a const DATETIME · 9aa67a40
      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.
      9aa67a40
    • unknown's avatar
      Merge olga.mysql.com:/home/igor/dev-opt/mysql-4.1-opt-bug28272 · dfc85a63
      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
      dfc85a63
    • unknown's avatar
      Bug#27573: MIN() on an indexed column which is always NULL sets _other_ results · aaf6acae
      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.
      aaf6acae
    • unknown's avatar
      WL#3823 Modify VARIABLE_VALUE columns to VARCHAR within INFORMATION_SCHEMA STATUS tables · 9949755a
      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
      9949755a
    • unknown's avatar
      Fixed bug #28272: crash that occurs when running an EXPLAIN command · 8762539d
      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.
      8762539d
    • unknown's avatar
      Post-merge fix. · 963fae4b
      unknown authored
      963fae4b
    • unknown's avatar
      Merge olga.mysql.com:/home/igor/dev-opt/mysql-4.1-opt-bug27937 · 7a02ef7d
      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
      7a02ef7d
  5. 14 May, 2007 2 commits
    • unknown's avatar
      Fixed bug #27937: crash for the the second execution of a prepared · fca58c95
      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.
      fca58c95
    • unknown's avatar
      Merge mhansson@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · 879a0a74
      unknown authored
      into  dl145s.mysql.com:/users/mhansson/mysql/autopush/5.0o-5.0o-bug28273
      
      
      879a0a74
  6. 12 May, 2007 6 commits
    • unknown's avatar
      Merge bk-internal.mysql.com:/data0/bk/mysql-5.1 · ac811bf0
      unknown authored
      into  bk-internal.mysql.com:/data0/bk/mysql-5.1-opt
      
      
      sql/field.cc:
        Auto merged
      ac811bf0
    • unknown's avatar
      Merge bk-internal.mysql.com:/data0/bk/mysql-5.0 · 6e3cff22
      unknown authored
      into  bk-internal.mysql.com:/data0/bk/mysql-5.0-opt
      
      
      6e3cff22
    • unknown's avatar
      Merge olga.mysql.com:/home/igor/mysql-5.0-opt · 6fa4fdd2
      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
      6fa4fdd2
    • unknown's avatar
      Post-merge fix · c749664d
      unknown authored
      c749664d
    • unknown's avatar
      Merge olga.mysql.com:/home/igor/mysql-5.0-opt · 42cc0e87
      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
      42cc0e87
    • unknown's avatar
      Fixed bug #28375: a query with an NOT IN subquery predicate may cause · d886ea8f
      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.
      d886ea8f
  7. 11 May, 2007 10 commits
    • unknown's avatar
      Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · 50c5b549
      unknown authored
      into  moonbone.local:/mnt/gentoo64/work/27878-bug-5.0-opt-mysql
      
      
      50c5b549
    • unknown's avatar
      grant.result, grant.test: · f0ddabc5
      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.
      f0ddabc5
    • unknown's avatar
      merging fix · c9f09703
      unknown authored
      c9f09703
    • unknown's avatar
      Merge mysql.com:/home/hf/work/27957/my50-27957 · 2e3baa68
      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
      2e3baa68
    • unknown's avatar
      Merge bk@192.168.21.1:mysql-5.0-opt · bd311c0c
      unknown authored
      into  mysql.com:/home/hf/work/27957/my50-27957
      
      
      bd311c0c
    • unknown's avatar
      Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · 86dccd92
      unknown authored
      into  moonbone.local:/mnt/gentoo64/work/27878-bug-5.0-opt-mysql
      
      
      86dccd92
    • unknown's avatar
      Bug#27878: Unchecked privileges on a view referring to a table from another · 04efdb15
      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.
      04efdb15
    • unknown's avatar
      merging fixes · ee7677d1
      unknown authored
      
      mysql-test/r/insert_update.result:
        result fixed
      mysql-test/r/type_newdecimal.result:
        result fixed
      ee7677d1
    • unknown's avatar
      Merge mysql.com:/home/hf/work/27957/my50-27957 · e7c2cbe9
      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
      e7c2cbe9
    • unknown's avatar
      merging fixes · 8bbe6f23
      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
      8bbe6f23