1. 29 Nov, 2010 7 commits
  2. 28 Nov, 2010 2 commits
    • unknown's avatar
      Manual merge · aef037d3
      unknown authored
      aef037d3
    • unknown's avatar
      BUG#54903 BINLOG statement toggles session variables · a9398ce0
      unknown authored
      When using BINLOG statement to execute rows log events, session variables
      foreign_key_checks and unique_checks are changed temporarily.  As each rows
      log event has their own special session environment and its own
      foreign_key_checks and unique_checks can be different from current session
      which executing the BINLOG statement. But these variables are not restored
      correctly after BINLOG statement. This problem will cause that the following
      statements fail or generate unexpected data.
      
      In this patch, code is added to backup and restore these two variables.
      So BINLOG statement will not affect current session's variables again.
      
      
      mysql-test/extra/binlog_tests/binlog.test:
        Add test to verify this patch.
      mysql-test/suite/binlog/r/binlog_row_binlog.result:
        Add test to verify this patch.
      mysql-test/suite/binlog/r/binlog_stm_binlog.result:
        Add test to verify this patch.
      sql/sql_binlog.cc:
        Add code to backup and restore thd->options.
      a9398ce0
  3. 27 Nov, 2010 4 commits
  4. 26 Nov, 2010 15 commits
    • Georgi Kodinov's avatar
      merge · 42404d10
      Georgi Kodinov authored
      42404d10
    • Georgi Kodinov's avatar
      merge · 34ddbef7
      Georgi Kodinov authored
      34ddbef7
    • Georgi Kodinov's avatar
      merge · 5b614179
      Georgi Kodinov authored
      5b614179
    • Georgi Kodinov's avatar
      merge · 890e4188
      Georgi Kodinov authored
      890e4188
    • Alexander Barkov's avatar
      Merging from mysql-5.1-bugteam · 8fabea24
      Alexander Barkov authored
      8fabea24
    • Alexander Barkov's avatar
      Bug#56639 Character Euro (0x88) not converted from cp1251 to utf8 · e4f5a1a8
      Alexander Barkov authored
      Problem: MySQL cp1251 did not support 'U+20AC EURO SIGN'
      which was assigned a few years ago to 0x88.
      
      Fix: adding mapping: 0x88 <-> U+20AC 
      
        @ mysql-test/include/ctype_8bit.inc
        New shared file to test 8bit character sets.
      
        @ mysql-test/r/ctype_cp1251.result
        @ mysql-test/t/ctype_cp1251.test
        Adding tests
      
        @ sql/share/charsets/cp1251.xml
        Adding mapping
      
        @ strings/ctype-extra.c
        Regenerating ctype-extra.c using strings/conf_to_src
        according to new cp1251.xml
      e4f5a1a8
    • Nirbhay Choubey's avatar
      Bug #54899 : --one-database option cannot handle DROP/CREATE DATABASE commands · 896c88ca
      Nirbhay Choubey authored
      After dropping and recreating the database specified along with --one-database
      option at command line, mysql client keeps filtering the statements even after
      the execution of a 'USE' command on the same database.
      
      --one-database option enables the filtering of statements when the current
      database is not the one specified at the command line. However, when the same
      database is dropped and recreated the variable (current_db) that holds the
      inital database name gets altered. This bug exploits the fact that current_db
      initially gets set to null value (0) when a 'use db_name' follows the recreation
      of same database db_name (speficied at the command line) and hence skip_updates
      gets set to 1, which inturn triggers the further filtering of statements.
      
      Fixed by making get_current_db() a no-op function when one_database is set,
      and hence, under that condition current_db will not get altered.
      Note, however the value of current_db can change when we execute 'connect'
      command with a differnet database to reconnect to the server, in which case,
      the behavior of --one-database will be formulated using this new database.
      
      
      client/mysql.cc:
        Bug #54899 : --one-database option cannot handle DROP/CREATE DATABASE commands
        
        Added an if statement at the beginnning of get_current_db() , which makes it
        a no-op function if one-database option is specified, and hence current_db
        remains unchanged.
        
        Changed the help message for one-database option to a more appropriate message
        as specified in mysql documentation.
      mysql-test/r/mysql.result:
        Added a test case for bug#54899 and some more test cases to
        check other one-database option related behaviors.
      mysql-test/t/mysql.test:
        Added a test case for bug#54899 and some more test cases to
        check other one-database option related behaviors.
      896c88ca
    • Bjorn Munch's avatar
      upmerge 58515 · 27fe4d21
      Bjorn Munch authored
      27fe4d21
    • Bjorn Munch's avatar
      Bug #58515 Tests: use use exec echo, not write_file to write mysqld.1.expect · 037f433a
      Bjorn Munch authored
      Fixed as suggested in the .inc file and two tests
      Could not reproduce problem, but tested tests on Windows
      037f433a
    • Georgi Kodinov's avatar
      merge · c4116326
      Georgi Kodinov authored
      c4116326
    • Alexander Barkov's avatar
      Bug#57737 Character sets: search fails with like, contraction, index · 9f32d92b
      Alexander Barkov authored
      Problem: LIKE over an indexed column optimized away good results,
      because my_like_range_utf32/utf16 returned wrong ranges for contractions.
      Contraction related code was missing in my_like_range_utf32/utf16,
      but did exist in my_like_range_ucs2/utf8.
      It was forgotten in utf32/utf16 versions (during mysql-6.0 push/revert mess).
      
      Fix:
      The patch removes individual functions my_like_range_ucs2,
      my_like_range_utf16, my_like_range_utf32 and introduces a single function
      my_like_range_generic() instead. The new function handles contractions
      correctly. It can handle any character set with cs->min_sort_char and
      cs->max_sort_char represented in Unicode code points.
      
      added:
        @ mysql-test/include/ctype_czech.inc
        @ mysql-test/include/ctype_like_ignorable.inc
        @ mysql-test/r/ctype_like_range.result
        @ mysql-test/t/ctype_like_range.test
        Adding tests
      
      
      modified:
      
        @ include/m_ctype.h
        - Adding helper functions for contractions.
        - Prototypes: removing ucs2,utf16,utf32 functions, adding generic function.
        @ mysql-test/r/ctype_uca.result
        @ mysql-test/r/ctype_utf16_uca.result
        @ mysql-test/r/ctype_utf32_uca.result
        @ mysql-test/t/ctype_uca.test
        @ mysql-test/t/ctype_utf16_uca.test
        @ mysql-test/t/ctype_utf32_uca.test
        - Adding tests.
      
        @ strings/ctype-mb.c
        - Pad function did not put the last character.
        - Implementing my_like_range_generic() - an universal replacement
          for three separate functions
          my_like_range_ucs2(), my_like_range_utf16() and my_like_range_utf32(),
          with correct contraction handling.
      
        @ strings/ctype-ucs2.c
        - my_fill_mb2 did not put the high byte, as previously
          it was used to put only characters in ASCII range.
          Now it puts high byte as well
          (needed to pupulate cs->max_sort_char correctly).
        - Adding DBUG_ASSERT()
        - Removing character set specific functions:
          my_like_range_ucs2(), my_like_range_utf16() and my_like_range_utf32().
        - Using my_like_range_generic() instead of the old functions.
      
        @ strings/ctype-uca.c
        - Using generic function instead of the old character set specific ones.
      
        @ sql/item_create.cc
        @ sql/item_strfunc.cc
        @ sql/item_strfunc.h
        - Adding SQL functions LIKE_RANGE_MIN and LIKE_RANGE_MAX,
          available only in debug build to make sure like_range()
          works correctly for all character sets and collations. 
      9f32d92b
    • Georgi Kodinov's avatar
      bumped up the version string. · c616270a
      Georgi Kodinov authored
      c616270a
    • Bjorn Munch's avatar
      upmerge 58482 · 36ef58fc
      Bjorn Munch authored
      36ef58fc
    • Bjorn Munch's avatar
      Bug #58412 mysqltest: allow quoting of strings in let and in if comparison · 2ef837f7
      Bjorn Munch authored
      Stripping quotes in let was a bad idea, will not fix
      Added code to strip quotes from rhs in comparisons
      2ef837f7
    • Vasil Dimov's avatar
      Fix the PAUSE instruction handling in InnoDB · 4b8de9d2
      Vasil Dimov authored
      Previously HAVE_IB_PAUSE_INSTRUCTION was never defined and thus InnoDB
      never used the PAUSE instruction on non-windows even if it was available.
      Probably the check was never migrated from autotools'
      storage/innobase/plug.in to storage/innobase/CMakeLists.txt.
      
      Since the check for PAUSE is done at top-level configure.cmake we can
      use the result from there (HAVE_PAUSE_INSTRUCTION) instead of rolling
      InnoDB's own HAVE_IB_PAUSE_INSTRUCTION (the check is identical anyway).
      4b8de9d2
  5. 25 Nov, 2010 12 commits