1. 26 Nov, 2010 1 commit
    • Alexander Barkov's avatar
      Bug#57737 Character sets: search fails with like, contraction, index · e3dee8a7
      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. 
      e3dee8a7
  2. 25 Nov, 2010 10 commits
    • Alexander Nozdrin's avatar
    • Alexander Nozdrin's avatar
      ca1d1bab
    • Alexander Nozdrin's avatar
      96890a2d
    • Tatiana Azundris Nurnberg's avatar
      merge · 98c59907
      Tatiana Azundris Nurnberg authored
      98c59907
    • Tatiana Azundris Nurnberg's avatar
      merge · 4f79069e
      Tatiana Azundris Nurnberg authored
      4f79069e
    • Tatiana Azundris Nurnberg's avatar
      merge · 01e0be66
      Tatiana Azundris Nurnberg authored
      01e0be66
    • Tatiana A. Nurnberg's avatar
      merge some docs changes and a test case; null merge the code. · c24ec469
      Tatiana A. Nurnberg authored
      (we don't need to port the actual code from 5.1;
      5.5+ do the relevant things differently, but correctly. the
      test obviously is so it stays that way.)
      
      mysql-test/r/variables.result:
        add test case.
      mysql-test/t/variables.test:
        add test case.
      strings/CHARSET_INFO.txt:
        clarify documentation
      c24ec469
    • Tatiana A. Nurnberg's avatar
      Assorted post-merge fixes, clean-up, integration, compat with 5.6. · 7336ac45
      Tatiana A. Nurnberg authored
      43233/55794.
      
      mysql-test/r/change_user.result:
        Don't use -1 integer wrap around. It used to work, but now we do what's
        actually in the documentation. In tests, we now use DEFAULT or the
        numeral equivalent (as we do in the 5.6 tests).
      mysql-test/r/key_cache.result:
        Can't drop default key case is an error now, not a warning, for compatibility
        with 5.6.
      mysql-test/r/variables.result:
        Can't drop default key case is an error now, not a warning, for compatibility
        with 5.6.
      mysql-test/t/change_user.test:
        Don't use -1 integer wrap around. It used to work, but now we do what's
        actually in the documentation. In tests, we now use DEFAULT or the
        numeral equivalent (as we do in the 5.6 tests).
      mysql-test/t/key_cache.test:
        Can't drop default key case is an error now, not a warning, for compatibility
        with 5.6.
      mysql-test/t/variables.test:
        Can't drop default key case is an error now, not a warning, for compatibility
        with 5.6.
      sql/mysqld.cc:
        0 is a legal (albeit magic) value: "drop key cache."
      sql/set_var.cc:
        bound_unsigned() can go now, it was just a kludge until things are done
        The Right Way, which they are now.
        
        Can't drop default key case is an error now, not a warning, for compatibility
        with 5.6.
      tests/mysql_client_test.c:
        Don't use -1 integer wrap around. It used to work, but now we do what's
        actually in the documentation. In tests, we now use DEFAULT or the
        numeral equivalent (as we do in the 5.6 tests).
      7336ac45
    • Vladislav Vaintroub's avatar
      merge · 0db81919
      Vladislav Vaintroub authored
      0db81919
    • Vladislav Vaintroub's avatar
      Post-fix for Bug#58158 on Solaris · 199cb4b7
      Vladislav Vaintroub authored
      Problem : The build might fail with 
      make[2]: *** No rule to make target `../sql/z',
      needed by `sql/mysqld_dtrace_all.o'.  Stop.
      if one of plugins would depends on system libz 
      library
      
      Fix: Filter out non-static dependent libraries
      when dtracing static libs
      199cb4b7
  3. 24 Nov, 2010 6 commits
  4. 23 Nov, 2010 3 commits
    • Sergey Glukhov's avatar
      5.1-bugteam->5.5-bugteam merge · 7bf81b15
      Sergey Glukhov authored
      7bf81b15
    • Sergey Glukhov's avatar
      Bug#56862 Execution of a query that uses index merge returns a wrong result · cf0cc723
      Sergey Glukhov authored
      In case of low memory sort buffer QUICK_INDEX_MERGE_SELECT creates
      temporary file where is stores row ids which meet QUICK_SELECT ranges
      except of clustered pk range, clustered range is processed separately.
      In init_read_record we check if temporary file is used and choose
      appropriate record access method. It does not take into account that
      temporary file contains partial result in case of QUICK_INDEX_MERGE_SELECT
      with clustered pk range.
      The fix is always to use rr_quick if QUICK_INDEX_MERGE_SELECT
      with clustered pk range is used.
      
      
      mysql-test/suite/innodb/r/innodb_mysql.result:
        test case
      mysql-test/suite/innodb/t/innodb_mysql.test:
        test case
      mysql-test/suite/innodb_plugin/r/innodb_mysql.result:
        test case
      mysql-test/suite/innodb_plugin/t/innodb_mysql.test:
        test case
      sql/opt_range.h:
        added new method
      sql/records.cc:
        The fix is always to use rr_quick if QUICK_INDEX_MERGE_SELECT
        with clustered pk range is used.
      cf0cc723
    • Tor Didriksen's avatar
      Bug #58372 cmake should not write temporary files in the source directory · 20f94499
      Tor Didriksen authored
      
      cmake/do_abi_check.cmake:
        Put temporary files in ${BINARY_DIR} rather than in source directory.
        Slight reformatting for readability of commands.
      20f94499
  5. 24 Nov, 2010 5 commits
  6. 22 Nov, 2010 10 commits
  7. 20 Nov, 2010 1 commit
    • Davi Arnaut's avatar
      WL#5665: Removal of the autotools-based build system · af67d8ae
      Davi Arnaut authored
      Remove some more leftovers from the initial removal:
      
      o Update relevant mentions of configure.in throughout
      the source code.
      
      o Remove win/configure.js, which at this point just
      duplicates logic already present in CMake based build
      system.
      
      o Remove support files which relied on the autotools
      build system. In any case, MySQL is no longer officially
      supported on SCO.
      
      o Remove files which are no longer part of the build.
      af67d8ae
  8. 22 Nov, 2010 1 commit
  9. 21 Nov, 2010 1 commit
  10. 20 Nov, 2010 2 commits
    • Davi Arnaut's avatar
      WL#5665: Removal of the autotools-based build system · 8664de22
      Davi Arnaut authored
      The autotools-based build system has been superseded and
      is being removed in order to ease the maintenance burden on
      developers tweaking and maintaining the build system.
      
      In order to support tools that need to extract the server
      version, a new file that (only) contains the server version,
      called VERSION, is introduced. The file contents are human
      and machine-readable. The format is:
      
      MYSQL_VERSION_MAJOR=5
      MYSQL_VERSION_MINOR=5
      MYSQL_VERSION_PATCH=8
      MYSQL_VERSION_EXTRA=-rc
      
      The CMake based version extraction in cmake/mysql_version.cmake
      is changed to extract the version from this file. The configure
      to CMake wrapper is retained for backwards compatibility and to
      support the BUILD/ scripts. Also, a new a makefile target
      show-dist-name that prints the server version is introduced.
      
      VERSION:
        Add top-level version file.
      cmake/mysql_version.cmake:
        Get version information from the top-level VERSION file.
        Do not cache the version components (MAJOR_VERSION, etc).
        Add MYSQL_RPM_VERSION as a replacement for MYSQL_U_SCORE_VERSION.
      8664de22
    • Davi Arnaut's avatar
      766db2b5