1. 24 Nov, 2010 1 commit
  2. 23 Nov, 2010 2 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
  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 · 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
  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 · 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
    • Davi Arnaut's avatar
      Bug#57994: Compiler flag change build error : my_redel.c · a6294cd5
      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...
      a6294cd5
  8. 19 Nov, 2010 13 commits
    • Vladislav Vaintroub's avatar
      4180ba3d
    • Vladislav Vaintroub's avatar
      merge · 8c2462f9
      Vladislav Vaintroub authored
      8c2462f9
    • Vladislav Vaintroub's avatar
      Bug#58313: CMake stops with VS Express if -DBUILD_CONFIG=mysql_release.cmake · 86197142
      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)
      86197142
    • Alexander Barkov's avatar
      Bug#58190 BETWEEN no longer uses indexes for date or datetime fields · ba68b26a
      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).
      ba68b26a
    • Alexander Barkov's avatar
      Bug#58175 xml functions read initialized bytes when conversions happen · 76ce2feb
      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
      76ce2feb
    • Georgi Kodinov's avatar
      Bug #58119: Typo in warning on log: [Warning] 'proxes_priv' entry · e4361481
      Georgi Kodinov authored
      Fixed a typo in an error message.
      e4361481
    • Vladislav Vaintroub's avatar
      merge · be0ff408
      Vladislav Vaintroub authored
      be0ff408
    • Sunanda Menon's avatar
    • Dmitry Lenev's avatar
      Fix tree name which was accidentally changed · 86da427a
      Dmitry Lenev authored
      during the merge.
      86da427a
    • Dmitry Lenev's avatar
      Merged recent change from mysql-5.5-bugteam into · df2c54f2
      Dmitry Lenev authored
      mysql-5.5-runtime tree.
      df2c54f2
    • Dmitry Lenev's avatar
      Suppress false-positive uninitialized variable use · ce16c4fb
      Dmitry Lenev authored
      warnings in Event_queue::get_top_for_execution_if_time()
      method which has caused -Werror build to fail.
      ce16c4fb
    • Dmitry Lenev's avatar
      Fix for bug #57985 "ONLINE/FAST ALTER PARTITION can fail and · 602a2225
      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.
      602a2225
    • Alexander Barkov's avatar
      Bug#57306 SHOW PROCESSLIST does not display string literals well. · ee66d905
      Alexander Barkov authored
      A post-patch fixing test failures on Windows.
      
      Host name in "SHOW PROCESSLIST" is displayed with port number
      for some reasons.
      ee66d905
  9. 18 Nov, 2010 2 commits
  10. 19 Nov, 2010 1 commit
  11. 18 Nov, 2010 5 commits
    • Jon Olav Hauglid's avatar
      Merge from mysql-5.5-runtime to mysql-5.5-bugteam · 2215dc3c
      Jon Olav Hauglid authored
      No conflicts
      2215dc3c
    • Alexander Barkov's avatar
      Auto-merge · a6f40e50
      Alexander Barkov authored
      a6f40e50
    • Vasil Dimov's avatar
      4ea01e28
    • Alexander Barkov's avatar
      Bug#57306 SHOW PROCESSLIST does not display string literals well. · 185e189d
      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
      185e189d
    • Vasil Dimov's avatar