1. 12 Feb, 2009 9 commits
    • Sergey Vojtovich's avatar
      0127de17
    • V Narayanan's avatar
      Bug#40675 MySQL 5.1 crash with index merge algorithm and Merge tables · e9302e2f
      V Narayanan authored
                  
      A Query in the MyISAM merge table was crashing 
      if the index merge algorithm was being used
      
      Index Merge optimization requires the reading of 
      multiple indexes at the same time. Reading multiple 
      indexes at once with current SE API means that we 
      need to have handler instance for each to-be-read 
      index. This is done by creating clones of the handlers 
      instances. The clone internally does a open of the handler.
      
      The open for a MERGE engine is handled in the following 
      phases
      
      1) open parent table
      2) generate list of underlying
         table
      3) attach underlying tables
      
      But the current implementation does only the first 
      phase (i.e.) open parent table.
      
      The current patch fixes this at the MERGE engine level, 
      by handling the clone operation within the MERGE engine 
      rather than in the storage engine API. It opens and 
      attaches the MyISAM tables on the MyISAM storage engine 
      interface directly within the MERGE engine. The new MyISAM 
      table instances, as well as the MERGE clone itself, are not 
      visible in the table cache. This is not a problem because
      all locking is handled by the original MERGE table from which
      this is cloned of.
      
      mysql-test/r/merge.result:
        updated the result file to reflect the new tests
        added to test the fix
      mysql-test/t/merge.test:
        Added new tests to verify that the index merge
        algorithm does not crash in the merge engine.
      storage/myisammrg/ha_myisammrg.cc:
        Implement the clone method, that handles
        
        1) Cloning the handler
        2) Opening underlying MYISAM child tables
        3) Copies the state of the original handler and the children
           into the cloned instances
        4) Sets the appropriate flags
      storage/myisammrg/ha_myisammrg.h:
        Added a flag that is set to indicate that the current 
        instance is cloned. Also added the prototype or the clone 
        method.
      storage/myisammrg/myrg_open.c:
        Since we do now again use myrg_open() in the server
        removed the comments marking this as deadcode.
      e9302e2f
    • Sergey Vojtovich's avatar
      81a315fa
    • Sergey Vojtovich's avatar
      Merge 5.0-bugteam -> 5.1-bugteam. · d4eaeaab
      Sergey Vojtovich authored
      d4eaeaab
    • Georgi Kodinov's avatar
      merged bug 33813 to 5.1-bugteam · a1663885
      Georgi Kodinov authored
      a1663885
    • Sergey Vojtovich's avatar
      BUG#36737 - having + full text operator crashes mysql · e2fe3db9
      Sergey Vojtovich authored
            
      MATCH() function accepts column list as an argument. It was possible to override
      this requirement with aliased non-column select expression. Which results in
      server crash.
      
      With this fix aliased non-column select expressions are not accepted by MATCH()
      function, returning an error.
      
      mysql-test/r/fulltext.result:
        A test case for BUG#36737.
      mysql-test/t/fulltext.test:
        A test case for BUG#36737.
      sql/item_func.cc:
        Only accept fields as arguments to MATCH().
      e2fe3db9
    • Georgi Kodinov's avatar
      merged bug 33813 to 5.0-bugteam · 85bab2e7
      Georgi Kodinov authored
      85bab2e7
    • Chad MILLER's avatar
      Merge from bug tree. · 6eb4cef5
      Chad MILLER authored
      6eb4cef5
    • Chad MILLER's avatar
      Merge from bug tree. · 6300ad8b
      Chad MILLER authored
      6300ad8b
  2. 11 Feb, 2009 5 commits
  3. 10 Feb, 2009 14 commits
    • Mats Kindahl's avatar
      Merging with 5.1-bugteam · 9bb2b474
      Mats Kindahl authored
      9bb2b474
    • Mats Kindahl's avatar
      Bug #36763 · e9179186
      Mats Kindahl authored
      TRUNCATE TABLE fails to replicate when stmt-based binlogging is not supported.
      
      Correcting some tests that was failing in pushbuild as well as fixing result
      file for some tests that are not executed in the default MTR run.
      
      mysql-test/suite/binlog/t/binlog_truncate_innodb.test:
        Need to reset master to avoid the check to be for the wrong binlog file.
      mysql-test/suite/binlog/t/binlog_truncate_myisam.test:
        Need to reset master to avoid the check to be for the wrong binlog file.
      e9179186
    • Georgi Kodinov's avatar
      merged 5.0-bugteam to 5.1-bugteam · f1f5d7d7
      Georgi Kodinov authored
      f1f5d7d7
    • Georgi Kodinov's avatar
      fixed a libedit compilation problem · de7665ac
      Georgi Kodinov authored
      de7665ac
    • Mats Kindahl's avatar
      Merging with 5.1-bugteam · 6520a8a1
      Mats Kindahl authored
      6520a8a1
    • Chad MILLER's avatar
      Merge from bugteam team tree. · ad2e40f0
      Chad MILLER authored
      ad2e40f0
    • Mats Kindahl's avatar
      BUG#36763: TRUNCATE TABLE fails to replicate when stmt-based binlogging is not supported. · 8d43b845
      Mats Kindahl authored
      Post-merge fixes. Changes to some result sets.
      
      mysql-test/r/commit_1innodb.result:
        TRUNCATE TABLE does not cause the binary log to do commits any more.
      mysql-test/suite/binlog/r/binlog_row_mix_innodb_myisam.result:
        TRUNCATE TABLE is not transactional, hence does not have BEGIN/COMMIT around itself.
      mysql-test/suite/binlog/r/binlog_stm_mix_innodb_myisam.result:
        TRUNCATE TABLE is not transactional, hence does not have BEGIN/COMMIT around itself.
      mysql-test/suite/rpl/r/rpl_innodb_mixed_dml.result:
        TRUNCATE TABLE is not transactional, hence does not have BEGIN/COMMIT around itself.
      mysql-test/suite/rpl/r/rpl_truncate_2myisam.result:
        STOP SLAVE was replaced with include file.
      mysql-test/suite/rpl/r/rpl_truncate_3innodb.result:
        STOP SLAVE was replaced with include file.
      8d43b845
    • Chad MILLER's avatar
      Bug#30261: "mysqld --help" no longer possible for root · b8b9d723
      Chad MILLER authored
      The check for root-ness would signal an error.  Errors would make the
      server exit before usage (help) information was printed.
      
      Now, test for whether we want help regardless of whether we're going
      to exit with an error.  If plugins are not initialized by the time we 
      print usage information, inform the user that some parameters are 
      missing.
      b8b9d723
    • Georgi Kodinov's avatar
      merged 5.0-bugteam -> 5.1-bugteam · f90f02d6
      Georgi Kodinov authored
      f90f02d6
    • Georgi Kodinov's avatar
      From jperkin : Merge libedit 2.11 and related files, · da2e124f
      Georgi Kodinov authored
      based on NetBSD CVS as of 2009/02/06 20:09:00.
      da2e124f
    • Vladislav Vaintroub's avatar
      merge · c99c001b
      Vladislav Vaintroub authored
      c99c001b
    • Luis Soares's avatar
      BUG#13684: SP: DROP PROCEDURE|FUNCTION IF EXISTS not binlogged if routine does not exist · feb6654e
      Luis Soares authored
      There is an inconsistency with DROP DATABASE IF EXISTS, DROP
      TABLE IF EXISTS and DROP VIEW IF EXISTS: those are binlogged even
      if the DB or TABLE does not exist, whereas DROP PROCEDURE IF
      EXISTS does not. It would be nice or at least consistent if DROP
      PROCEDURE/STATEMENT worked the same too.
            
      Fixed DROP PROCEDURE|FUNCTION IF EXISTS by adding a call to
      write_bin_log in mysql_execute_command. Checked also if all
      documented "DROP (...) IF EXISTS" get binlogged. Left out DROP
      SERVER IF EXISTS because it seems that it only gets binlogged when
      using row event (see BUG#25705).
      feb6654e
    • Bjorn Munch's avatar
      Bug #42590 MTR v1 crashes under Active State Perl · c8528e02
      Bjorn Munch authored
      Perl crashes when MTR 2 tries to start v1
      Replaced require with system()
      c8528e02
    • Georgi Kodinov's avatar
      Bug #33813: Schema names are case-sensitive in DROP FUNCTION · 574b1e25
      Georgi Kodinov authored
      The parser was not using the correct fully-qualified-name
      production for DROP FUNCTION.
      Fixed by copying the production from DROP PROCEDURE.
      Tested in the windows specific suite to make sure it's 
      tested on a case-insensitive file system.
      
      mysql-test/r/windows.result:
        Bug #33813: test case
      mysql-test/t/windows.test:
        Bug #33813: test case
      sql/sql_yacc.yy:
        Bug #33813: use the correct production for the name in
        DROP PROCEDURE
      574b1e25
  4. 09 Feb, 2009 6 commits
    • Mats Kindahl's avatar
      Merging with 5.1-bugteam. · 8948cb62
      Mats Kindahl authored
      8948cb62
    • Davi Arnaut's avatar
      Merge from upstream 5.1-bugteam. · 9a538660
      Davi Arnaut authored
      9a538660
    • Vladislav Vaintroub's avatar
      Bug#42709: safe_process_win.cc does not print correct system error messages. · 0a397bfe
      Vladislav Vaintroub authored
      Fix: use FormatMessage() to output system errors , not strerror()
      0a397bfe
    • Davi Arnaut's avatar
      Bug#42634: % character in query can cause mysqld signal 11 segfault · df88c8e3
      Davi Arnaut authored
      The problem is that a unfiltered user query was being passed as
      the format string parameter of sql_print_warning which later
      performs printf-like formatting, leading to crashes if the user
      query contains formatting instructions (ie: %s). Also, it was
      using THD::query as the source of the user query, but this
      variable is not meaningful in some situations -- in a delayed
      insert, it points to the table name.
      
      The solution is to pass the user query as a parameter for the
      format string and use the function parameter query_arg as the
      source of the user query.
      
      mysql-test/suite/binlog/r/binlog_unsafe.result:
        Add test case result for Bug#42634
      mysql-test/suite/binlog/t/binlog_unsafe.test:
        Add test case for Bug#42634
      sql/sql_class.cc:
        Don't pass the user query as a format string.
      df88c8e3
    • Sergey Glukhov's avatar
      Bug#42610 Dynamic plugin broken in 5.1.31 · 5d2a707d
      Sergey Glukhov authored
      added ignore-builtin-innodb option which disabled
      initialization of builtin InnoDB plugin
      
      mysql-test/r/innodb_ignore_builtin.result:
        test case
      mysql-test/t/innodb_ignore_builtin-master.opt:
        test case
      mysql-test/t/innodb_ignore_builtin.test:
        test case
      sql/mysql_priv.h:
        added ignore-builtin-innodb option which disabled
        initialization of builtin InnoDB plugin
      sql/mysqld.cc:
        added ignore-builtin-innodb option which disabled
        initialization of builtin InnoDB plugin
      sql/set_var.cc:
        added ignore-builtin-innodb option which disabled
        initialization of builtin InnoDB plugin
      sql/sql_plugin.cc:
        added ignore-builtin-innodb option which disabled
        initialization of builtin InnoDB plugin
      5d2a707d
    • Vladislav Vaintroub's avatar
      Bug#42427 : MTR v2 fails with "can't write to /tmp/mysql-test-ports.sem" on Windows · 3ff66087
      Vladislav Vaintroub authored
      - /tmp directory is not guaranteed to exist on Windows. 
      Use the value of environment variable TEMP here
      3ff66087
  5. 07 Feb, 2009 5 commits
  6. 06 Feb, 2009 1 commit