1. 24 Aug, 2006 2 commits
    • unknown's avatar
      Merge siva.hindu.god:/usr/home/tim/m/bk/b21531-41 · 66d91348
      unknown authored
      into  siva.hindu.god:/usr/home/tim/m/bk/41
      
      
      sql/item_func.h:
        Auto merged
      sql/item_strfunc.cc:
        Auto merged
      66d91348
    • unknown's avatar
      Bug #21531: EXPORT_SET() doesn't accept args with coercible character sets · b2a0d025
      unknown authored
      - Fix typo in Item_func_export_set::fix_length_and_dec() which caused character set aggregation to fail
      - Remove default argument from last arg of agg_arg_charsets() function, to reduce potential errors
      
      
      mysql-test/r/func_misc.result:
        Test EXPORT_SET() with charset coersion (bug #21531)
      mysql-test/t/func_misc.test:
        Test EXPORT_SET() with charset coersion (bug #21531)
      sql/item_func.h:
        Remove default argument from last arg of agg_arg_charsets() function, to reduce potential errors.
      sql/item_strfunc.cc:
        Fix typo in Item_func_export_set::fix_length_and_dec() which caused character set aggregation to fail.
      b2a0d025
  2. 23 Aug, 2006 2 commits
    • unknown's avatar
      Merge siva.hindu.god:/usr/home/tim/m/bk/b20536-41 · a9eebc99
      unknown authored
      into  siva.hindu.god:/usr/home/tim/m/bk/41
      
      
      sql/item_strfunc.cc:
        Auto merged
      sql/item_strfunc.h:
        Auto merged
      sql/slave.cc:
        Auto merged
      sql/sql_acl.cc:
        Auto merged
      a9eebc99
    • unknown's avatar
      Bug #20402: DROP USER failure logged as ERROR rather than WARNING · 216f20ad
      unknown authored
      Remove some sql_print_error() calls which were triggered by user error (i.e., not server-level events at all).
      
      Also, convert an sql_print_error -> sql_print_information for a non-error server event.
      
      
      sql/slave.cc:
        Change sql_print_error to sql_print_information for non-error status message.
      sql/sql_acl.cc:
        Remove sql_print_error calls for events which are not server errors
      216f20ad
  3. 16 Aug, 2006 1 commit
  4. 11 Aug, 2006 1 commit
    • unknown's avatar
      Bug #20536: md5() with GROUP BY and UCS2 return different results on myisam/innodb · 3212b399
      unknown authored
      Make the encryption functions MD5(), SHA1() and ENCRYPT() return binary results.
          
      Make MAKE_SET() and EXPORT_SET() use the correct character set for their default separator strings.
      
      
      mysql-test/r/ctype_ucs.result:
        Add tests for bug #20536.
      mysql-test/t/ctype_ucs.test:
        Add tests for bug #20536.
        
        Tests showing correct behavior for MD5(), SHA1(), MAKE_SET() and EXPORT_SET().
        
        Also, tests showing incorrect behavior, which will remain "Won't fix", for
        PASSWORD(), OLD_PASSWORD(), ENCRYPT() and QUOTE().
      sql/item_strfunc.cc:
        Make the encryption functions MD5(), SHA1() and ENCRYPT() return binary results.
        
        Make MAKE_SET() and EXPORT_SET() use the correct character set for their default separator strings.
      sql/item_strfunc.h:
        Make the encryption functions MD5(), SHA1() and ENCRYPT() return binary results.
      3212b399
  5. 10 Aug, 2006 1 commit
    • unknown's avatar
      Bug#19844: time_format in Union truncates values · fa1641e1
      unknown authored
      time_format() claimed %H and %k would return at most two digits
      (hours 0-23), but this coincided neither with actual behaviour
      nor with docs.  this is not visible in simple queries; forcing
      a temp-table is probably the easiest way to see this.  adjusted
      the return-length appropriately; the alternative would be to
      adjust the docs to say that behaviour for > 99 hours is undefined.
      ---
      Bug#19844: time_format in Union truncates values
      
      time_format() claimed %H and %k would return at most two digits
      (hours 0-23), but this coincided neither with actual behaviour
      nor with docs.  this is not visible in simple queries; forcing
      a temp-table is probably the easiest way to see this.  adjusted
      the return-length appropriately; the alternative would be to
      adjust the docs to say that behaviour for > 99 hours is undefined.
      
      
      mysql-test/r/func_time.result:
        Bug#19844: time_format in Union truncates values
        
        show time_format() handles %H and %k correctly four > 99 hours
      mysql-test/t/func_time.test:
        Bug#19844: time_format in Union truncates values
        
        show time_format() handles %H and %k correctly four > 99 hours
      sql/item_timefunc.cc:
        Bug#19844: time_format in Union truncates values
        
        unbreak promises we make about field-length of %H and %k in
        time_format() so they coincide with the actual range rather
        than just 0..23. the docs say we must operate outside that
        range, so we'd better do it right.
        ---
        Bug#19844: time_format in Union truncates values
        
        unbreak promises we make about field-length of %H and %k in
        time_format() so they coincide with the actual range rather
        than just 0..23. the docs say we must operate outside that
        range, so we'd better do it right.
        One digit values are padded to two digits with %H, "longer"
        values are handled correctly up to seven digits including
        any sign.
        (clarified comments as per jimw's suggestion.)
      fa1641e1
  6. 03 Aug, 2006 1 commit
  7. 02 Aug, 2006 7 commits
  8. 01 Aug, 2006 2 commits
  9. 31 Jul, 2006 5 commits
  10. 30 Jul, 2006 1 commit
  11. 29 Jul, 2006 2 commits
  12. 28 Jul, 2006 4 commits
    • unknown's avatar
      Merge mysql.com:/Users/kent/mysql/bk/mysql-4.0 · 04d60b38
      unknown authored
      into  mysql.com:/Users/kent/mysql/bk/mysql-4.1
      
      
      configure.in:
        Auto merged
      scripts/make_binary_distribution.sh:
        Auto merged
      support-files/mysql.spec.sh:
        SCCS merged
      04d60b38
    • unknown's avatar
      Makefile.am, configure.in: · d1fde0f7
      unknown authored
        Man page for mysqld command move to section 8 (bug#21220)
      
      
      configure.in:
        Man page for mysqld command move to section 8 (bug#21220)
      man/Makefile.am:
        Man page for mysqld command move to section 8 (bug#21220)
      d1fde0f7
    • unknown's avatar
      make_binary_distribution.sh: · 6f65bffe
      unknown authored
        Man page for "mysqld" command move to section 8 (bug#21220)
      
      
      scripts/make_binary_distribution.sh:
        Man page for "mysqld" command move to section 8 (bug#21220)
      6f65bffe
    • unknown's avatar
      mysql.spec.sh: · a811cc0a
      unknown authored
        Man page for "mysqld" command move to section 8 (bug#21220)
      
      
      support-files/mysql.spec.sh:
        Man page for "mysqld" command move to section 8 (bug#21220)
      a811cc0a
  13. 27 Jul, 2006 1 commit
  14. 26 Jul, 2006 7 commits
    • unknown's avatar
      Bug #20402: DROP USER failure logged as ERROR rather than WARNING · 3845856c
      unknown authored
      slave.cc, sql_acl.cc:
      - remove sql_print_error() for events that are not server errors
      
      
      sql/slave.cc:
        Bug #20402: DROP USER failure logged as ERROR rather than WARNING
        remove sql_print_error() for events that are not server errors
      sql/sql_acl.cc:
        Bug #20402: DROP USER failure logged as ERROR rather than WARNING
        remove sql_print_error() for events that are not server errors
      3845856c
    • unknown's avatar
      Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-4.1-opt · bb81f6ac
      unknown authored
      into  rakia.(none):/home/kgeorge/mysql/autopush/B20792-4.1-opt
      
      
      sql/sql_select.cc:
        Auto merged
      bb81f6ac
    • unknown's avatar
      * Bug #20792: Incorrect results from aggregate subquery · 6b75e24b
      unknown authored
      When processing aggregate functions all tables values are reset
      to NULLs at the end of each group. 
      When doing that if there are no rows found for a group
      the const tables must not be reset as they are not recalculated 
      by do_select()/sub_select() for each group.
      
      
      mysql-test/r/subselect2.result:
        * Bug #20792: Incorrect results from aggregate subquery
         - test suite for the bug. This is dependent on InnoDB despite
           the fact that the bug and the fix are not InnoDB specific.
           This is because of the table flag HA_NOT_EXACT_COUNT.
           When this flag is off (as in MyISAM) both t2 and t3 become of
           join type 'system' as they are estimated to have 1 record and
           and this statistics can be trusted (according to the absence of
           HA_NOT_EXACT_COUNT).
      mysql-test/t/subselect2.test:
        * Bug #20792: Incorrect results from aggregate subquery
         - test suite for the bug
      sql/sql_select.cc:
        * Bug #20792: Incorrect results from aggregate subquery
         - when clearing results if there are not rows found for group
           the const tables must not be reset as they are not recalculated
           for each group.
      6b75e24b
    • unknown's avatar
      Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-4.1-opt · 70d27b35
      unknown authored
      into  rakia.(none):/home/kgeorge/mysql/autopush/B21019-4.1-opt
      
      
      sql/sql_select.cc:
        Auto merged
      mysql-test/r/select.result:
        SCCS merged
      mysql-test/t/select.test:
        SCCS merged
      70d27b35
    • unknown's avatar
      BUG#21206: memory corruption when too many cursors are opened at once · 35945019
      unknown authored
      Too many cursors (more than 1024) could lead to memory corruption.
      This affects both, stored routines and C API cursors, and the
      threshold is per-server, not per-connection.  Similarly, the
      corruption could happen when the server was under heavy load
      (executing more than 1024 simultaneous complex queries), and this is
      the reason why this bug is fixed in 4.1, which doesn't support
      cursors.
      
      The corruption was caused by a bug in the temporary tables code, when
      an attempt to create a table could lead to a write beyond allocated
      space.  Note, that only internal tables were affected (the tables
      created internally by the server to resolve the query), not tables
      created with CREATE TEMPORARY TABLE.  Another pre-condition for the
      bug is TRUE value of --temp-pool startup option, which, however, is a
      default.
      
      The cause of a bug was that random memory was overwritten in
      bitmap_set_next() due to out-of-bound memory access.
      
      
      mysys/my_bitmap.c:
        Local 'bitmap_size' is measured in bytes, no need to multiply it by 8.
      sql/sql_select.cc:
        Clear the temp_pool_slot bit only if we have set it previously.
      35945019
    • unknown's avatar
      Bug #21019: First result of SELECT COUNT(*) different than consecutive runs · 5ca1ee5e
      unknown authored
       When optimizing conditions like 'a = <some_val> OR a IS NULL' so that they're
       united into a single condition on the key and checked together the server must 
       check which value is the NULL value in a correct way : not only using ->is_null 
       but also check if the expression doesn't depend on any tables referenced in the 
       current statement. 
       This additional check must be performed because that optimization takes place 
       before the actual execution of the statement, so if the field was initialized 
       to NULL from a previous statement the optimization would be applied incorrectly.
      
      
      mysql-test/r/select.result:
        Bug #21019: First result of SELECT COUNT(*) different than consecutive runs
         - test case
      mysql-test/t/select.test:
        Bug #21019: First result of SELECT COUNT(*) different than consecutive runs
         - test case. 
           Note that ALTER TABLE is important here : it happens to
           leave the Field instance for t1.b set to NULL, witch is vital for
           demonstrating the problem fixed by this changeset.
      sql/sql_select.cc:
        Bug #21019: First result of SELECT COUNT(*) different than consecutive runs
         - check whether a value is null taking into account its table dependency.
      5ca1ee5e
    • unknown's avatar
      Applied innodb-4.1-ss32 snapshot. · 03637f49
      unknown authored
      
      innobase/ibuf/ibuf0ibuf.c:
        Applied innodb-4.1-ss32 snapshot.
         ibuf_fixed_addr_page(): Add parameter space. As the insert
         buffer B-tree is only located in the system tablespace
         (space 0), IBUF_TREE_ROOT_PAGE_NO is only special in space 0.
      03637f49
  15. 25 Jul, 2006 2 commits
    • unknown's avatar
      Merge tkatchaounov@bk-internal.mysql.com:/home/bk/mysql-4.1-opt · 03fc0a8f
      unknown authored
      into  lamia.home:/home/tkatchaounov/autopush/4.1-bug-20954
      
      
      mysql-test/r/subselect.result:
        Auto merged
      03fc0a8f
    • unknown's avatar
      Fix for BUG#20954: avg(keyval) retuns 0.38 but max(keyval) returns an empty set · 585b5bbc
      unknown authored
      The problem was in that opt_sum_query() replaced MIN/MAX functions
      with the corresponding constant found in a key, but due to imprecise
      representation of float numbers, when evaluating the where clause,
      this comparison failed.
      
      When MIN/MAX optimization detects that all tables can be removed,
      also remove all conjuncts in a where clause that refer to these
      tables. As a result of this fix, these conditions are not evaluated
      twice, and in the case of float number comparisons we do not discard
      result rows due to imprecise float representation.
      
      As a side-effect this fix also corrects an unnoticed problem in
      bug 12882.
      
      
      mysql-test/r/func_group.result:
        BUG#20954 - test result adjustment.
        Adjusted the test result of bug 12882 which was not preperly fixed.
        The current patch corrects the problem that was fully corrected by the
        patch for 12882.
        
        The problem was that opt_sum_query() indicated that the optimizer may
        remove all tables because all MIN/MAX/COUNT functions are constants,
        but this lead to an empty result instead of NULL because the WHERE
        clause was still evaluated.
        
        The current fix removes all conjuncts in the where clause that
        reference the removed tables, and thus corrects the problem.
      mysql-test/r/select.result:
        BUG#20954 - added test
      mysql-test/r/subselect.result:
        BUG#20954 - test result adjustment.
        
        The fix removes those conditions in a where clause that refer to
        tables optimized away by MIN/MAX optimization (opt_sum_query()).
      mysql-test/t/select.test:
        BUG#20954 - added test
      sql/sql_select.cc:
        Fix for BUG#20954: avg(keyval) retuns 0.38 but max(keyval) returns an empty set
        
        When MIN/MAX optimization detects that all tables can be removed,
        also remove all conjuncts in a where clause that refer to these
        tables. As a result of this fix, these conditions are not evaluated
        twice, and in the case of float number comparisons we do not discard
        result rows due to imprecise float representation.
        
        As a side-effect this fix also corrects an unnoticed problem in
        bug 12882.
      585b5bbc
  16. 24 Jul, 2006 1 commit