1. 01 Dec, 2010 3 commits
    • Marc Alff's avatar
      Bug#53696 Performance schema engine violates the PSEA API by calling my_error() · 033c6c39
      Marc Alff authored
      This is a code cleanup.
      
      The implementation of a storage engine (subclasses of handler) is not supposed
      to call my_error() directly inside the engine implementation, 
      but only return error codes, and report errors later at the demand
      of the sql layer only (if needed), using handler::print_error().
      
      This fix removes misplaced calls to my_error(),
      and provide an implementation of print_error() instead.
      
      Given that the sql layer implementation of create table, ha_create_table(),
      does not use print_error() but returns ER_CANT_CREATE_TABLE directly,
      the return code for create table statements using the performance schema
      has changed to ER_CANT_CREATE_TABLE.
      
      Adjusted the test suite accordingly.
      033c6c39
    • Nirbhay Choubey's avatar
      Merging from mysql-5.1-bugteam · 938c61dc
      Nirbhay Choubey authored
      938c61dc
    • Nirbhay Choubey's avatar
      Additional fix for bug#54899 · c8310653
      Nirbhay Choubey authored
      Fixing the testcase to use the database name
      as connected_db instead of 'test' database.
      c8310653
  2. 30 Nov, 2010 14 commits
  3. 29 Nov, 2010 5 commits
  4. 28 Nov, 2010 2 commits
    • 's avatar
      Manual merge · 30376d28
      authored
      30376d28
    • 's avatar
      BUG#54903 BINLOG statement toggles session variables · abb201c1
      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.
      abb201c1
  5. 27 Nov, 2010 4 commits
  6. 26 Nov, 2010 12 commits
    • Davi Arnaut's avatar
      Bug#51817: incorrect assumption: thd->query at 0x2ab2a8360360 is an invalid pointer · 0008e064
      Davi Arnaut authored
      The problem is that the logic which checks if a pointer is
      valid relies on a poor heuristic based on the start and end
      addresses of the data segment and heap.
      
      Apart from miscalculating the heap bounds, this approach also
      suffers from the fact that memory can come from places other
      than the heap. See Bug#58528 for a more detailed explanation.
      
      On Linux, the solution is to access the process's memory
      through /proc/self/task/<tid>/mem, which allows for retrieving
      the contents of pages within the virtual address space of
      the calling process. If a address range is not mapped, a
      input/output error is returned.
      0008e064
    • Georgi Kodinov's avatar
      merge · d6ad6b3d
      Georgi Kodinov authored
      d6ad6b3d
    • Georgi Kodinov's avatar
      merge · 7c0b2859
      Georgi Kodinov authored
      7c0b2859
    • Georgi Kodinov's avatar
      merge · 534ba9c9
      Georgi Kodinov authored
      534ba9c9
    • Georgi Kodinov's avatar
      merge · 96d45ed2
      Georgi Kodinov authored
      96d45ed2
    • Alexander Barkov's avatar
      Merging from mysql-5.1-bugteam · 43cd0871
      Alexander Barkov authored
      43cd0871
    • Alexander Barkov's avatar
      Bug#56639 Character Euro (0x88) not converted from cp1251 to utf8 · bd3a5831
      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
      bd3a5831
    • Nirbhay Choubey's avatar
      Bug #54899 : --one-database option cannot handle DROP/CREATE DATABASE commands · 8629024b
      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.
      8629024b
    • Bjorn Munch's avatar
      upmerge 58515 · 1be5458a
      Bjorn Munch authored
      1be5458a
    • Bjorn Munch's avatar
      Bug #58515 Tests: use use exec echo, not write_file to write mysqld.1.expect · 7c6151ff
      Bjorn Munch authored
      Fixed as suggested in the .inc file and two tests
      Could not reproduce problem, but tested tests on Windows
      7c6151ff
    • Georgi Kodinov's avatar
      merge · c5987223
      Georgi Kodinov authored
      c5987223
    • Alexander Barkov's avatar
      Bug#57737 Character sets: search fails with like, contraction, index · 93386d73
      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. 
      93386d73