1. 23 Apr, 2006 2 commits
    • unknown's avatar
      Bug#17263 temporary tables and replication · 96bc42aa
      unknown authored
        Backporting a changeset made for 5.0. Comments from there:
      
        The fix refines the algorithm of generating DROPs for binlog.
        Temp tables with common pseudo_thread_id are clustered into one query.
        Consequently one replication event per pseudo_thread_id is generated.
      
      
      
      
      mysql-test/r/rpl_temporary.result:
        results changed
      mysql-test/t/rpl_temporary.test:
        test to generate problematic drop in binlog to feed it to restarting slave
        to see no stop.
      sql/sql_base.cc:
        change in drop temprorary tables alg in close_temporary_tables.
      96bc42aa
    • unknown's avatar
      Merge aivanov@bk-internal.mysql.com:/home/bk/mysql-4.1 · 3b716d44
      unknown authored
      into  mysql.com:/home/alexi/innodb/mysql-4.1
      
      3b716d44
  2. 21 Apr, 2006 4 commits
    • unknown's avatar
      Merge ibabaev@bk-internal.mysql.com:/home/bk/mysql-4.1 · a30eb05a
      unknown authored
      into  rurik.mysql.com:/home/igor/mysql-4.1
      
      a30eb05a
    • unknown's avatar
      Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-4.1 · 66ab2db5
      unknown authored
      into  production.mysql.com:/usersnfs/rkalimullin/4.1.b18643
      
      66ab2db5
    • unknown's avatar
      Merge rurik.mysql.com:/home/igor/mysql-4.1 · 6643f278
      unknown authored
      into  rurik.mysql.com:/home/igor/dev/mysql-4.1-0
      
      6643f278
    • unknown's avatar
      Fixed bug #18767. · 3dd2f261
      unknown authored
      The bug caused wrong result sets for union constructs of the form
      (SELECT ... ORDER BY order_list1 [LIMIT n]) ORDER BY order_list2.
      For such queries order lists were concatenated and limit clause was
      completely neglected. 
      
      
      mysql-test/r/order_by.result:
        Added a test case for bug #18767.
      mysql-test/t/order_by.test:
        Added a test case for bug #18767.
      sql/sql_lex.h:
        Fixed bug #18767.
        Placed the code the created a fake SELECT_LEX into a separate function.
      sql/sql_parse.cc:
        Fixed bug #18767.
        Placed the code the created a fake SELECT_LEX into a separate function.
      sql/sql_select.cc:
        Fixed bug #18767.
        Changed the condition on which a SELECT is treated as part of a UNION.
        The SELECT in 
        (SELECT ... ORDER BY order_list1 [LIMIT n]) ORDER BY order_list2 
        now is handled in the same way as the first SELECT in a UNION
        sequence.
      sql/sql_union.cc:
        Fixed bug #18767.
        Changed the condition at which a SELECT is treated as part of a UNION.
        The SELECT in 
        (SELECT ... ORDER BY order_list1 [LIMIT n]) ORDER BY order_list2 
        now is handled in the same way as the first SELECT in a UNION
        sequence.
      sql/sql_yacc.yy:
        Fixed bug #18767.
        Changed the condition at which a SELECT is treated as part of a UNION.
        The SELECT in 
        (SELECT ... ORDER BY order_list1 [LIMIT n]) ORDER BY order_list2 
        now is handled in the same way as the first SELECT in a UNION
        sequence. In the same way is handled the SELECT in
        (SELECT ... LIMIT n) ORDER BY order list.
        Yet if there is neither ORDER BY nor LIMIT in the single-select
        union construct
        (SELECT ...) ORDER BY order_list
        then it is still handled as simple select with an order clause.
      3dd2f261
  3. 20 Apr, 2006 3 commits
    • unknown's avatar
      Applied innodb-4.1-ss22 snapshot. · 58b5d1b4
      unknown authored
       Fix BUG#16814: "SHOW INNODB STATUS format error in LATEST FOREIGN KEY ERROR section"
           Add a missing newline to the LAST FOREIGN KEY ERROR section in SHOW INNODB STATUS
           output.
       Fix BUG#18934: "InnoDB crashes when table uses column names like DB_ROW_ID".
           Refuse tables that use reserved column names.
      
      
      innobase/dict/dict0dict.c:
        Applied innodb-4.1-ss22 snapshot.
         dict_foreign_error_report(): Always print a newline after invoking
          dict_print_info_on_foreign_key_in_create_format() (Bug#16814).
         Refuse tables that use reserved column names (Bug#18934).
      innobase/dict/dict0mem.c:
        Applied innodb-4.1-ss22 snapshot.
         Refuse tables that use reserved column names (Bug#18934).
      innobase/include/dict0dict.h:
        Applied innodb-4.1-ss22 snapshot.
         Refuse tables that use reserved column names (Bug#18934).
      innobase/include/dict0mem.h:
        Applied innodb-4.1-ss22 snapshot.
         Refuse tables that use reserved column names (Bug#18934).
      innobase/include/univ.i:
        Applied innodb-4.1-ss22 snapshot.
      innobase/row/row0mysql.c:
        Applied innodb-4.1-ss22 snapshot.
         Refuse tables that use reserved column names (Bug#18934).
      58b5d1b4
    • unknown's avatar
      Merge mleich@bk-internal.mysql.com:/home/bk/mysql-4.1 · 2e354021
      unknown authored
      into  production.mysql.com:/usersnfs/mleich/src
      
      2e354021
    • unknown's avatar
      func_gconcat.test: · 2219f172
      unknown authored
        Clean up test case for bug#14169
      
      
      mysql-test/t/func_gconcat.test:
        Clean up test case for bug#14169
      2219f172
  4. 19 Apr, 2006 6 commits
    • unknown's avatar
      Temporarily commented out a query from the test case for bug 14169 to make it... · 4975fcf7
      unknown authored
      Temporarily commented out a query from the test case for bug 14169 to make it pass with --ps-protocol.
      
      
      mysql-test/r/func_gconcat.result:
        Added DROP TABLE command to the test case for bug 14169.
      4975fcf7
    • unknown's avatar
      Merge rurik.mysql.com:/home/igor/mysql-4.1 · 500c6bd8
      unknown authored
      into  rurik.mysql.com:/home/igor/dev/mysql-4.1-2
      
      500c6bd8
    • unknown's avatar
      Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-4.1 · 829f1985
      unknown authored
      into moonbone.local:/work/14169-bug-4.1-mysql
      
      829f1985
    • unknown's avatar
      func_gconcat.result: · 9a49dde3
      unknown authored
        Corrected test case for the bug#14169 to make it pass in --ps-protocol mode.
      
      
      mysql-test/r/func_gconcat.result:
        Corrected test case for the bug#14169 to make it pass in --ps-protocol mode.
      9a49dde3
    • unknown's avatar
      Bug#18544 - LOCK TABLES timeout causes MyISAM table corruption · 40c94ac5
      unknown authored
      After a locking error the open table(s) were not fully
      cleaned up for reuse. But they were put into the open table
      cache even before the lock was tried. The next statement
      reused the table(s) with a wrong lock type set up. This
      tricked MyISAM into believing that it don't need to update
      the table statistics. Hence CHECK TABLE reported a mismatch
      of record count and table size.
      
      Fortunately nothing worse has been detected yet. The effect
      of the test case was that the insert worked on a read locked
      table. (!)
      
      I added a new function that clears the lock type from all
      tables that were prepared for a lock. I call this function
      when a lock failes.
      
      No test case. One test would add 50 seconds to the
      test suite. Another test requires file mode modifications.
      I added a test script to the bug report. It contains three
      cases for failing locks. All could reproduce a table
      corruption. All are fixed by this patch.
      
      This bug was not lock timeout specific.
      
      
      sql/lock.cc:
        Bug#18544 - LOCK TABLES timeout causes MyISAM table corruption
        Resetting the lock type in the open table(s) lock data
        after a locking error.
      40c94ac5
    • unknown's avatar
      Fixed bug #19079. · e4feba29
      unknown authored
      The bug caused a reported index corruption in the cases when
      key_cache_block_size was not a multiple of myisam_block_size,
      e.g. when key_cache_block_size=1536 while myisam_block_size=1024.
      
      
      mysql-test/r/key_cache.result:
        Added a test case for bug #19079.
      mysql-test/t/key_cache.test:
        Added a test case for bug #19079.
      e4feba29
  5. 18 Apr, 2006 3 commits
  6. 14 Apr, 2006 2 commits
  7. 13 Apr, 2006 7 commits
    • unknown's avatar
      Fixes for Bug#12429: Replication tests fail: "Slave_IO_Running" (?) differs related to · 8725360f
      unknown authored
      MySQL 4.1
        and Bug#16920 rpl_deadlock_innodb fails in show slave status (reported for MySQL 5.1)
        - backport of several fixes done in MySQL 5.0 to 4.1
        - fix for new discovered instability (see comment on Bug#12429 + Bug#16920)
        - reenabling of testcases
      
      
      mysql-test/r/rpl_deadlock.result:
        Updated results
      mysql-test/r/rpl_relayrotate.result:
        Updated results
      mysql-test/t/disabled.def:
        Reenabling of tests
      mysql-test/t/rpl_deadlock.test:
        - replace sleep with real_sleep (backport fix for Bug#15624 MySQL 5.0)
        - egalized value for Slave_IO_Running 
        - line 105 (backport fix for Bug#12429 MySQL 5.0)
        - line 85 (see comment in Bug#12429 
                   + Bug#16920 rpl_deadlock_innodb fails in show slave status)
        - improve readability of show slave status output (--vertical_results)
      mysql-test/t/rpl_relayrotate.test:
        - Replace select ... with select max(a)
        - add sync_with_master (backport fix done by Kristian in MySQL 5.0 because of timing
          problems similar to Bug#15624)
      mysql-test/t/rpl_until.test:
        Add wait_for_slave_to_stop like in the current MySQL 5.0 version of this test.
        I assume this makes the test results more predictable.
      8725360f
    • unknown's avatar
      Fix for bug #18643: crazy UNCOMPRESS(). · 4c8c47c2
      unknown authored
      
      mysql-test/r/func_compress.result:
        Fix for bug #18643: crazy UNCOMPRESS().
          - test-case
      mysql-test/t/func_compress.test:
        Fix for bug #18643: crazy UNCOMPRESS().
          - test-case
      sql/item_strfunc.cc:
        Fix for bug #18643: crazy UNCOMPRESS().
          - set null_value.
      4c8c47c2
    • unknown's avatar
      Merge svojtovich@bk-internal.mysql.com:/home/bk/mysql-4.1 · f9cb6fbb
      unknown authored
      into  april.(none):/home/svoj/devel/mysql/BUG17917/mysql-4.1
      
      f9cb6fbb
    • unknown's avatar
      Fix a typo in the help message. · ba6a0575
      unknown authored
      
      sql/mysqld.cc:
        Fix a typo.
      ba6a0575
    • unknown's avatar
      Merge svojtovich@bk-internal.mysql.com:/home/bk/mysql-4.1 · f8611293
      unknown authored
      into  april.(none):/home/svoj/devel/mysql/BUG17917/mysql-4.1
      
      f8611293
    • unknown's avatar
      BUG#17917 - SELECT from compressed MyISAM table crashes MySQL server · a118b6c6
      unknown authored
      Retrieving data from compressed MyISAM table which is bigger than 4G on 32-bit box
      with mmap() support results in server crash.
      
      mmap() accepts length of bytes to be mapped in second param, which is 32-bit
      size_t. But we pass data_file_length, which is 64-bit my_off_t. As a result only
      first data_file_length % 4G were mapped.
      
      This fix adds additional condition for mmap() usage, that is use mmap() for
      compressed table which size is no more than 4G on 32-bit platform.
      
      
      myisam/mi_packrec.c:
        Use mmap() for compressed table which size is no more than 4G on 32-bit platform.
      a118b6c6
    • unknown's avatar
      Bug#18691: Converting number to UNICODE string returns invalid result. · 64793f3f
      unknown authored
      Conversion from int and real numbers to UCS2 didn't work fine: 
      CONVERT(100, CHAR(50) UNICODE)
      CONVERT(103.9, CHAR(50) UNICODE)
      
      The problem appeared because numbers have binary charset, so,
      simple charset recast binary->ucs2 was performed
      instead of real conversion.
      
      Fixed to make numbers pretend to be non-binary.
      
      
      mysql-test/r/ctype_ucs.result:
        Adding test case
      mysql-test/t/ctype_ucs.test:
        Adding test case
      sql/item_timefunc.cc:
        Adding new member from_cs, to replace my_charset_bin
        to a non-binary charset when converting from numbers to UCS2
      sql/item_timefunc.h:
        Adding new member from_cs, to replace my_charset_bin
        to a non-binary charset when converting from numbers to UCS2
      64793f3f
  8. 12 Apr, 2006 1 commit
    • unknown's avatar
      Fixed bug#14169: type of group_concat() result changed to blob if tmp_table was · 9c2d7216
      unknown authored
      used
      
      In a simple queries a result of the GROUP_CONCAT() function was always of 
      varchar type.
      But if length of GROUP_CONCAT() result is greater than 512 chars and temporary
      table is used during select then the result is converted to blob, due to
      policy to not to store fields longer than 512 chars in tmp table as varchar
      fields.
      
      In order to provide consistent behaviour, result of GROUP_CONCAT() now
      will always be converted to blob if it is longer than 512 chars.
      Item_func_group_concat::field_type() is modified accordingly.
      
      
      mysql-test/t/func_gconcat.test:
        Added test case for bug#14169: type of group_concat() result changed to blob if tmp_table was used
      mysql-test/r/func_gconcat.result:
        Added test case for bug#14169: type of group_concat() result changed to blob if tmp_table was used
      sql/unireg.h:
        Added the CONVERT_IF_BIGGER_TO_BLOB constant
      sql/sql_select.cc:
        Fixed bug#14169: type of group_concat() result changed to blob if tmp_table was used
        The unnamed constant 255 in the create_tmp_field() and create_tmp_field_from_item() functions now defined as the CONVERT_IF_BIGGER_TO_BLOB constant.
        The create_tmp_field() function now converts the Item_sum string result to a blob field based on its char length.
      sql/item_sum.h:
        Fixed bug#14169: type of group_concat() result changed to blob if tmp_table was used
        To the Item_func_group_concat calls added the member function field_type() which returns the BLOB or VAR_STRING type based on the items length.
      sql/item_func.cc:
        Fixed bug#14169: type of group_concat() result changed to blob if tmp_table was used
        In the Item_func::tmp_table_field() function the unnamed constant 255 is changed to the CONVERT_IF_BIGGER_TO_BLOB constant.
        The Item_func::tmp_table_field() function now measures the result length in chars rather than bytes when converting string result to a blob.
      9c2d7216
  9. 11 Apr, 2006 7 commits
  10. 10 Apr, 2006 4 commits
  11. 08 Apr, 2006 1 commit