1. 24 Nov, 2010 2 commits
  2. 23 Nov, 2010 2 commits
    • Sergey Glukhov's avatar
      5.1-bugteam->5.5-bugteam merge · 9c9d83a2
      Sergey Glukhov authored
      9c9d83a2
    • Sergey Glukhov's avatar
      Bug#56862 Execution of a query that uses index merge returns a wrong result · fb8b67cb
      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.
      fb8b67cb
  3. 22 Nov, 2010 10 commits
  4. 20 Nov, 2010 1 commit
    • Davi Arnaut's avatar
      WL#5665: Removal of the autotools-based build system · a3c69b69
      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.
      a3c69b69
  5. 22 Nov, 2010 1 commit
  6. 21 Nov, 2010 1 commit
  7. 20 Nov, 2010 3 commits
    • Davi Arnaut's avatar
      WL#5665: Removal of the autotools-based build system · 2d8bc2a6
      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.
      2d8bc2a6
    • Davi Arnaut's avatar
      d1d35d78
    • Davi Arnaut's avatar
      Bug#57994: Compiler flag change build error : my_redel.c · 9502aae1
      Davi Arnaut authored
      Although ICC identifies itself as GCC, even in version numbers,
      it does not support the stpcpy built-in.
      
      include/m_string.h:
        Work around ICC. Hacks...
      9502aae1
  8. 19 Nov, 2010 13 commits
    • Vladislav Vaintroub's avatar
      2f0fdc98
    • Vladislav Vaintroub's avatar
      merge · 93918412
      Vladislav Vaintroub authored
      93918412
    • Vladislav Vaintroub's avatar
      Bug#58313: CMake stops with VS Express if -DBUILD_CONFIG=mysql_release.cmake · 2c586db9
      Vladislav Vaintroub authored
      Bug : -DBUILD_CONFIG=mysql_release sets SIGNCODE parameter which requires 
      singtool.exe (part of Windows SDK)  in order to be able to sign the binaries (
      only if valid certificate is found). However singtool is not a part of the SDK shipped
      with Visual Studio Express, so the build fails claiming missing singtools.exe
      
      Fix: Do not  use SIGNCODE  wiith VC Express.
      
      Also, fix broken nmake build (*.rc files could not be compiled due to ADD_DEFINITIONS
      contaning C/C++ compiler specific flags)
      2c586db9
    • Alexander Barkov's avatar
      Bug#58190 BETWEEN no longer uses indexes for date or datetime fields · 3d70be59
      Alexander Barkov authored
      Regression introduced by WL#2649.
      
      Problem: queries with date/datetime columns did not use indexes:
      set names non_latin1_charset;
      select * from date_index_test
      where date_column between '2010-09-01' and '2010-10-01';
      
      before WL#2649 indexes worked fine because charset of 
      date/datetime
      columns was BINARY which always won.
      
      Fix: testing that collation of the operation matches collation 
      of the field is only needed in case of "real" string data types.
      For DATE, DATETIME it's not needed.
      
      
        @ mysql-test/include/ctype_numconv.inc
        @ mysql-test/r/ctype_binary.result
        @ mysql-test/r/ctype_cp1251.result
        @ mysql-test/r/ctype_latin1.result
        @ mysql-test/r/ctype_ucs.result
        @ mysql-test/r/ctype_utf8.result
        Adding tests
      
        @ sql/field.h
        Adding new method Field_str::match_collation_to_optimize_range()
        for use in opt_range.cc to distinguish between
        "real string" types like CHAR, VARCHAR, TEXT
        (Field_string, Field_varstring, Field_blob)
      
        and "almost string" types DATE, TIME, DATETIME
        (Field_newdate, Field_datetime, Field_time, Field_timestamp)
      
        @ sql/opt_range.cc
        Using new method instead of checking result_type() against STRING result.
      
      Note:
      
        Another part of this problem (which is not regression) 
        is submitted separately (see bug##58329).
      3d70be59
    • Alexander Barkov's avatar
      Bug#58175 xml functions read initialized bytes when conversions happen · a6f42e4d
      Alexander Barkov authored
      Problem:
      
       nr_of_decimals could read behind the end of the buffer
       in case of a non-null-terminated string, which caused
       valgring warnings.
      
      Fix:
      
        fixing nr_of_decimals not to read behind the "end" pointer.
      
      modified:
      
        @ mysql-test/r/xml.result
        @ mysql-test/t/xml.test
        @ sql/item.cc
      a6f42e4d
    • Georgi Kodinov's avatar
      Bug #58119: Typo in warning on log: [Warning] 'proxes_priv' entry · fea3b4c2
      Georgi Kodinov authored
      Fixed a typo in an error message.
      fea3b4c2
    • Vladislav Vaintroub's avatar
      merge · 66e675c4
      Vladislav Vaintroub authored
      66e675c4
    • Sunanda Menon's avatar
    • Dmitry Lenev's avatar
      Fix tree name which was accidentally changed · 7d8f7081
      Dmitry Lenev authored
      during the merge.
      7d8f7081
    • Dmitry Lenev's avatar
      Merged recent change from mysql-5.5-bugteam into · a9f11dfc
      Dmitry Lenev authored
      mysql-5.5-runtime tree.
      a9f11dfc
    • Dmitry Lenev's avatar
      Suppress false-positive uninitialized variable use · 0c6cffe0
      Dmitry Lenev authored
      warnings in Event_queue::get_top_for_execution_if_time()
      method which has caused -Werror build to fail.
      0c6cffe0
    • Dmitry Lenev's avatar
      Fix for bug #57985 "ONLINE/FAST ALTER PARTITION can fail and · 5db42449
      Dmitry Lenev authored
      leave the table unusable".
       
      Failing ALTER statement on partitioned table could have left
      this table in an unusable state. This has happened in cases
      when ALTER was executed using "fast" algorithm, which doesn't 
      involve copying of data between old and new versions of table, 
      and the resulting new table was incompatible with partitioning
      function in some way.
       
      The problem stems from the fact that discrepancies between new 
      table definition and partitioning function are discovered only 
      when the table is opened. In case of "fast" algorithm this has
      happened too late during ALTER's execution, at the moment when
      all changes were already done and couldn't have been reverted.
       
      In the cases when "slow" algorithm, which copies data, is used 
      such discrepancies are detected at the moment new table
      definition is opened implicitly when new version of table is
      created in storage engine. As result ALTER is aborted before 
      any changes to table were done.
       
      This fix tries to address this issue by ensuring that "fast"
      algorithm behaves similarly to "slow" algorithm and checks
      compatibility between new definition and partitioning function 
      by trying to open new definition after .FRM file for it has 
      been created.
       
      Long term we probably should implement some way to check
      compatibility between partitioning function and new table
      definition which won't involve opening it, as this should
      allow much cleaner fix for this problem.
      
      mysql-test/r/partition_innodb.result:
        Added test for bug #57985 "ONLINE/FAST ALTER PARTITION can
        fail and leave the table unusable".
      mysql-test/t/partition_innodb.test:
        Added test for bug #57985 "ONLINE/FAST ALTER PARTITION can
        fail and leave the table unusable".
      sql/sql_table.cc:
        Ensure that in cases when .FRM for partitioned table is
        created without creating table in storage engine (e.g.
        during "fast" ALTER TABLE) we still open table definition. 
        This allows to check that definition of created table/.FRM 
        is compatible with its partitioning function.
      5db42449
    • Alexander Barkov's avatar
      Bug#57306 SHOW PROCESSLIST does not display string literals well. · 0ef7a11c
      Alexander Barkov authored
      A post-patch fixing test failures on Windows.
      
      Host name in "SHOW PROCESSLIST" is displayed with port number
      for some reasons.
      0ef7a11c
  9. 18 Nov, 2010 2 commits
  10. 19 Nov, 2010 1 commit
  11. 18 Nov, 2010 4 commits
    • Jon Olav Hauglid's avatar
      Merge from mysql-5.5-runtime to mysql-5.5-bugteam · 1ba97d5e
      Jon Olav Hauglid authored
      No conflicts
      1ba97d5e
    • Alexander Barkov's avatar
      Auto-merge · 72ffe521
      Alexander Barkov authored
      72ffe521
    • Vasil Dimov's avatar
      08a3e519
    • Alexander Barkov's avatar
      Bug#57306 SHOW PROCESSLIST does not display string literals well. · c0924a31
      Alexander Barkov authored
      Problem: Extended characters outside of ASCII range where not displayed
      properly in SHOW PROCESSLIST, because thd_info->query was always sent as 
      system_character_set (utf8). This was wrong, because query buffer
      is never converted to utf8 - it is always have client character set.
      
      Fix: sending query buffer using query character set
      
        @ sql/sql_class.cc
        @ sql/sql_class.h
          Introducing a new class CSET_STRING, a LEX_STRING with character set.
          Adding set_query(&CSET_STRING)
          Adding reset_query(), to use instead of set_query(0, NULL).
      
        @ sql/event_data_objects.cc
          Using reset_query()
      
        @ sql/log_event.cc
          Using reset_query()
          Adding charset argument to set_query_and_id().
      
        @ sql/slave.cc
          Using reset_query().
      
        @ sql/sp_head.cc
          Changing backing up and restore code to use CSET_STRING.
      
        @ sql/sql_audit.h
          Using CSET_STRING.
          In the "else" branch it's OK not to use
          global_system_variables.character_set_client.
          &my_charset_latin1, which is set in constructor, is fine
          (verified with Sergey Vojtovich).
      
        @ sql/sql_insert.cc
          Using set_query() with proper character set: table_name is utf8.
      
        @ sql/sql_parse.cc
          Adding character set argument to set_query_and_id().
          (This is the main point where thd->charset() is stored
           into thd->query_string.cs, for use in "SHOW PROCESSLIST".)
          Using reset_query().
          
        @ sql/sql_prepare.cc
          Storing client character set into thd->query_string.cs.
      
        @ sql/sql_show.cc
          Using CSET_STRING to fetch and send charset-aware query information
          from threads.
      
        @ storage/myisam/ha_myisam.cc
          Using set_query() with proper character set: table_name is utf8.
      
        @ mysql-test/r/show_check.result
        @ mysql-test/t/show_check.test
          Adding tests
      c0924a31