1. 24 Jul, 2009 11 commits
    • Konstantin Osipov's avatar
    • Alexey Kopytov's avatar
      Automerge. · 58cff27e
      Alexey Kopytov authored
      58cff27e
    • Alexey Kopytov's avatar
      Automerge. · fafd4b23
      Alexey Kopytov authored
      fafd4b23
    • Alexey Kopytov's avatar
      Automerge. · 05e6e0aa
      Alexey Kopytov authored
      05e6e0aa
    • Alexey Kopytov's avatar
      Manual merge. · a96f9473
      Alexey Kopytov authored
      a96f9473
    • Alexey Kopytov's avatar
      Bug #46075: Assertion failed: 0, file .\protocol.cc, line 416 · df9eac9e
      Alexey Kopytov authored
      In create_myisam_from_heap() mark all errors as fatal except 
      HA_ERR_RECORD_FILE_FULL for a HEAP table.
      
      Not doing so could lead to problems, e.g. in a case when a
      temporary MyISAM table gets overrun due to its MAX_ROWS limit
      while executing INSERT/REPLACE IGNORE ... SELECT. 
      The SELECT execution was aborted, but the error was 
      converted to a warning due to IGNORE clause, so neither 'ok' 
      nor 'error' packet could be sent back to the client. This 
      condition led to hanging client when using 5.0 server, or 
      assertion failure in 5.1.
      
      
      mysql-test/r/insert_select.result:
        Added a test case for bug #46075.
      mysql-test/t/insert_select.test:
        Added a test case for bug #46075.
      sql/sql_select.cc:
        In create_myisam_from_heap() mark all errors as fatal except 
        HA_ERR_RECORD_FILE_FULL for a HEAP table.
      df9eac9e
    • Anurag Shekhar's avatar
      merging with local branch. · 47b133d0
      Anurag Shekhar authored
      47b133d0
    • Anurag Shekhar's avatar
      Bug#30102: Rename table does corrupt tables with partition files on failure · f7ecccd9
      Anurag Shekhar authored
      Problem was that a failing rename just left the partitions at the state
      it was at the failure.
      
      Solution was to try to revert the started rename if a failure occured.
      
      mysql-test/r/partition_not_embedded.result:
        Bug#30102: Rename table does corrupt tables with partition files on failure
        
        New result file
      mysql-test/t/partition_not_embedded.test:
        Bug#30102: Rename table does corrupt tables with partition files on failure
        
        New test file
        (list_files does not report the files in embedded)
      sql/ha_partition.cc:
        Bug#30102: Rename table does corrupt tables with partition files on failure
        
        Better error handling for rename partitions (reverting the started rename
        operation)
        
        Different order of files for delete.
      sql/handler.cc:
        Bug#30102: Rename table does corrupt tables with partition files on failure
        
        Tries to remove as many table files as possible
        if the first delete succeeds.
      f7ecccd9
    • V Narayanan's avatar
      merging with mysql-5.1-bugteam · b9d1887a
      V Narayanan authored
      b9d1887a
    • V Narayanan's avatar
      merging with mysql-5.0-bugteam · feec1106
      V Narayanan authored
      feec1106
    • Alexander Barkov's avatar
      Backporting "WL#3332 Korean Enhancements" and · 70d072b9
      Alexander Barkov authored
      "WL#4584 New euckr characters" from 5.4.
      (as agreed on ServerPT meeting on July 8).
      70d072b9
  2. 23 Jul, 2009 2 commits
    • Staale Smedseng's avatar
      Merge from 5.0 · ae1d127d
      Staale Smedseng authored
      ae1d127d
    • Staale Smedseng's avatar
      Bug #45770 errors reading server SSL files are printed, but · 94db736d
      Staale Smedseng authored
      not logged
              
      Errors encountered during initialization of the SSL subsystem
      are printed to stderr, rather than to the error log.
              
      This patch adds a parameter to several SSL init functions to
      report the error (if any) out to the caller. The function
      init_ssl() in mysqld.cc is moved after the initialization of
      the log subsystem, so that any error messages can be logged to
      the error log. Printing of messages to stderr has been 
      retained to get diagnostic output in a client context.
      
      
      include/violite.h:
        Adding an enumeration for the various errors that can
        occur during initialization of the SSL module.
      sql/mysqld.cc:
        Adding more logging of SSL init errors, and moving
        init_ssl() till after initialization of logging 
        subsystem.
      vio/viosslfactories.c:
        Define error strings, provide an access method for these
        strings, and maintain an error parameter in several funcs
        to return the error (if any) to the caller.
      94db736d
  3. 22 Jul, 2009 1 commit
  4. 19 Jul, 2009 3 commits
  5. 18 Jul, 2009 3 commits
    • Alfranio Correia's avatar
      BUG#46129 Failing mixed stm (with trans and non-trans tables) causes wrong seq in · b9b08caa
      Alfranio Correia authored
      binlog
            
      The fix for BUG 43929 introduced a regression issue. In a nutshell, when a
      statement that changes a non-transactional table fails, it is written to the
      binary log with the error code appended. Unfortunately, after BUG 43929, this
      failure was flushing the transactional chace causing mismatch between execution
      and logging histories. To fix this issue, we avoid flushing the transactional
      cache when a commit or rollback is not issued.
      b9b08caa
    • Evgeny Potemkin's avatar
      Merged corrected fix for the bug#46051. · bb55b34b
      Evgeny Potemkin authored
      bb55b34b
    • Evgeny Potemkin's avatar
      Bug#46051: Incorrectly market field caused wrong result. · 486d9303
      Evgeny Potemkin authored
      When during the optimization an item is moved to the upper select
      the item's context left unchanged. This caused wrong result in the 
      PS/SP mode.
      The Item_ident::remove_dependence_processor now sets the context
      of the select to which the item is moved to.
      
      mysql-test/r/subselect.result:
        The test case for the bug#46051 is adjusted.
      mysql-test/t/subselect.test:
        The test case for the bug#46051 is adjusted.
      sql/item.cc:
        Bug#46051: Incorrectly market field caused wrong result.
        The Item_ident::remove_dependence_processor now sets the context
        of the select to which the item is moved to.
      486d9303
  6. 17 Jul, 2009 5 commits
  7. 16 Jul, 2009 10 commits
    • Evgeny Potemkin's avatar
      Bug#46051: Incorrectly market field caused wrong result. · c288559c
      Evgeny Potemkin authored
      In a subselect all fields from outer selects are marked as dependent on
      selects they are belong to. In some cases optimizer substitutes it for an
      equivalent expression. For example "a_field IN (SELECT outer_field)" is
      substituted with "a_field = outer_field". As we moved the outer_field to the
      upper select it's not really outer anymore. But it was left marked as outer.
      If exists an index over a_field optimizer choose wrong execution plan and thus
      return wrong result.
      
      Now the Item_in_subselect::single_value_transformer function removes dependent
      marking from fields when a subselect is optimized away.
      
      mysql-test/r/subselect.result:
        Added a test case for the bug#46051.
      mysql-test/t/subselect.test:
        Added a test case for the bug#46051.
      sql/item_subselect.cc:
        Bug#46051: Incorrectly market field caused wrong result.
        Now the Item_in_subselect::single_value_transformer function removes dependent
        marking from fields when a subselect is optimized away.
      c288559c
    • Georgi Kodinov's avatar
      automerge · 7432874d
      Georgi Kodinov authored
      7432874d
    • Georgi Kodinov's avatar
    • Georgi Kodinov's avatar
    • Georgi Kodinov's avatar
      Bug #45287: phase 2 : 5.0 64 bit compilation warnings · 208b94e4
      Georgi Kodinov authored
             
      Fixed various compilation warnings when compiling on a 
       64 bit windows.
      208b94e4
    • Georgi Kodinov's avatar
    • Kristofer Pettersson's avatar
      Automerge · 127253c6
      Kristofer Pettersson authored
      127253c6
    • Georgi Kodinov's avatar
      automerge · 0c2321a7
      Georgi Kodinov authored
      0c2321a7
    • Georgi Kodinov's avatar
      automerge · 45efbda4
      Georgi Kodinov authored
      45efbda4
    • unknown's avatar
      Bug #45214 get_master_version_and_clock does not report error when queries fail · 310a36a3
      unknown authored
              
      The "get_master_version_and_clock(...)" function in sql/slave.cc ignores 
      error and passes directly when queries fail, or queries succeed 
      but the result retrieved is empty.
        
      The "get_master_version_and_clock(...)" function should try to reconnect master
      if queries fail because of transient network problems, and fail otherwise.
      The I/O thread should print a warning if the some system variables do not 
      exist on master (very old master)
      
      mysql-test/extra/rpl_tests/rpl_get_master_version_and_clock.test:
        Added test file for bug #45214
      mysql-test/suite/rpl/r/rpl_get_master_version_and_clock.result:
        Added test result for bug #45214
      mysql-test/suite/rpl/t/rpl_get_master_version_and_clock.test:
        Added test file for bug #45214
      sql/slave.cc:
        The 'is_network_error()' function is added for checking if the error is caused by network.
        Added a new return value (2) to 'get_master_version_and_clock()' function result set 
        to indicate transient network errors when queries fail, and the caller should 
        try to reconnect in this case.
      310a36a3
  8. 15 Jul, 2009 5 commits
    • Kristofer Pettersson's avatar
      Bug#45781 infinite hang/crash in "opening tables" after handler tries to open merge · cd2d6adf
      Kristofer Pettersson authored
                table
      
      The MERGE table storage engine does not support the HA_CAN_SQL_HANDLE feature
      and any attempt to open the merge table will fail with ER_ILLEGAL_HA.
      
      After an error occurred the tables that was opened must be closed again
      or they will be left in an inconsistent state. However, the assumption
      made in the code for closing and register handler tables was that only
      one table will be opened, and this is not true for MERGE tables which
      will cause multiple tables to open.
      
      The next time a SELECT operation was issued on the merge table it
      caused the system to freeze.
      
      This patch fixes this issue by making sure that all tables which
      are opened also are closed in the event of an error.
      
      
      mysql-test/r/merge.result:
        Added test case for bug 45781
      mysql-test/t/merge.test:
        Added test case for bug 45781
      sql/sql_handler.cc:
        * mysql_ha_open() was never ment to open more than one table. If we encounter more tables, we should
          close all tables related to the current substatement and raise an exception.
      cd2d6adf
    • Davi Arnaut's avatar
      Bug#44495: Prepared Statement: CALL p(<x>) - `thd->protocol == &thd->protocol_text' failed · e9f3fa69
      Davi Arnaut authored
      Merge Konstantin's patch and add a test case.
      
      tests/mysql_client_test.c:
        Add test case for Bug#44495
      e9f3fa69
    • Konstantin Osipov's avatar
      A fix for Bug#44495 "Prepared Statement: CALL p(<x>) - `thd->protocol == &thd->protocol_text' · 3acdd9b8
      Konstantin Osipov authored
      failed"
      
      Do not assume that SQL prepared statements always run in text protocol.
      When invoked from a stored procedure, which is itself invoked
      by means of prepared CALL statement, the protocol may be binary.
      Juggle with the protocol only when we want to change it
      to binary in COM_STMT_EXECUTE, COM_STMT_PREPARE.
      
      This is a backport from 5.4/6.0, where the bug was fixed
      as part of WL#4264 "Backup: Stabilize Service Interface" 
      3acdd9b8
    • Georgi Kodinov's avatar
      automerge · 30a9600b
      Georgi Kodinov authored
      30a9600b
    • Georgi Kodinov's avatar
      Bug #45287: phase 1 : 32 bit compilation warnings · 78d7544a
      Georgi Kodinov authored
      Fixed the following problems:
      1. cmake 2.6 warning because of a changed default on
      how the dependencies to libraries with a specified 
      path are resolved.
      Fixed by requiring cmake 2.6.
      2. Removed an obsolete pre-NT4 hack including defining
      Windows system defines to alter the behavior of windows.h.
      3. Disabled warning C4065 on compiling sql_yacc.cc because
      of a know incompatibility in some of the newer bison binaries.
      78d7544a