1. 24 Mar, 2010 1 commit
    • Kristofer Pettersson's avatar
      Bug#46615 Assertion in Query_cache::invalidate in INSERT in a VIEW of a MERGE table · ea7d830a
      Kristofer Pettersson authored
      If the listed columns in the view definition of 
      the table used in a 'INSERT .. SELECT ..'
      statement mismatched, a debug assertion would
      trigger in the cache invalidation code
      following the failing statement.
      
      Although the find_field_in_view() function
      correctly generated ER_BAD_FIELD_ERROR during
      setup_fields(), the error failed to propagate
      further than handle_select(). This patch fixes
      the issue by adding a check for the return
      value.
      
      
      mysql-test/r/query_cache_with_views.result:
        * added test for bug 46615
      mysql-test/t/query_cache_with_views.test:
        * added test for bug 46615
      sql/sql_parse.cc:
        * added check for handle_select() return code before attempting to invalidate the cache.
      ea7d830a
  2. 01 Mar, 2010 7 commits
  3. 28 Feb, 2010 1 commit
    • Ramil Kalimullin's avatar
      Fix for bug#51304: checksum table gives different results · 9715539e
      Ramil Kalimullin authored
      for same data when using bit fields
      
      Problem: checksum for BIT fields may be computed incorrectly 
      in some cases due to its storage peculiarity.
      
      Fix: convert a BIT field to a string then calculate its checksum.
      
      
      mysql-test/r/myisam.result:
        Fix for bug#51304: checksum table gives different results 
        for same data when using bit fields
          - test result.
      mysql-test/t/myisam.test:
        Fix for bug#51304: checksum table gives different results 
        for same data when using bit fields
          - test case.
      sql/sql_table.cc:
        Fix for bug#51304: checksum table gives different results 
        for same data when using bit fields
          - convert BIT fields to strings calculating its checksums
        as some bits may be saved among NULL bits in the record buffer.
      9715539e
  4. 27 Feb, 2010 3 commits
  5. 26 Feb, 2010 28 commits
    • Andrei Elkin's avatar
      merging from 5.1 rep to a local branch · 684b293c
      Andrei Elkin authored
      684b293c
    • Andrei Elkin's avatar
      merging from 5.1 rep to a local branch · 7fcd6c59
      Andrei Elkin authored
      7fcd6c59
    • Staale Smedseng's avatar
      Bug #45058 init_available_charsets uses double checked locking · 600a2836
      Staale Smedseng authored
      A client doing multiple mysql_library_init() and
      mysql_library_end() calls over the lifetime of the process may
      experience lost character set data, potentially even a
      SIGSEGV.
      
      This patch reinstates the reloading of character set data when
      a mysql_library_init() is done after a mysql_library_end().
      
      600a2836
    • Sergey Glukhov's avatar
      Bug#47669 Query showed by EXPLAIN EXTENDED gives different result from original query · ca669153
      Sergey Glukhov authored
      Item_field::print method does not take into
      account fields whose values may be null.
      The fix is to print 'NULL' if field value is null.
      
      
      mysql-test/r/explain.result:
        test case
      mysql-test/r/func_str.result:
        result fix
      mysql-test/r/having.result:
        result fix
      mysql-test/r/select.result:
        result fix
      mysql-test/r/subselect.result:
        result fix
      mysql-test/r/union.result:
        result fix
      mysql-test/t/explain.test:
        test case
      sql/item.cc:
        print 'NULL' if field value is null.
      ca669153
    • Georgi Kodinov's avatar
      merge 5.0-bugteam -> 5.1-bugteam · 318c2dd9
      Georgi Kodinov authored
      318c2dd9
    • Andrei Elkin's avatar
      merging from 5.1-bt rep to local branch · 817debb6
      Andrei Elkin authored
      817debb6
    • Georgi Kodinov's avatar
      merge · 05ff7b65
      Georgi Kodinov authored
      05ff7b65
    • Georgi Kodinov's avatar
      Bug #51468: mysqld_multi is broken in 5.1.44 · 54639a15
      Georgi Kodinov authored
      Fixed a syntax error in mysqld_multi.sh
      54639a15
    • Sergey Vojtovich's avatar
      Merge innodb-5.1-ss6765 to 5.1-bugteam. · fe229e33
      Sergey Vojtovich authored
      fe229e33
    • Davi Arnaut's avatar
      Bug#49823: mysql_upgrade fatal error due to general_log / slow_low CSV NULL · b0a1ae09
      Davi Arnaut authored
      The problem was that the CSV storage engine does not support NULL
      fields, yet in some early 5.1 version the log tables (general_log
      and slow_log) were created with null fields. On top of this, when
      altering a CSV table column, all fields of the table must be NOT
      NULL otherwise the alteration fails.
      
      The solution is to ensure that during upgrade all columns of the
      log tables are NOT NULL.
      
      mysql-test/r/log_tables_upgrade.result:
        Add test case result for Bug#49823.
      mysql-test/std_data/bug49823.CSV:
        Sample data for test.
      mysql-test/std_data/bug49823.frm:
        Add a CSV table which mimics the general_log table, except that
        it contains a nullable column.
      mysql-test/t/log_tables_upgrade.test:
        Add test case for Bug#49823.
      scripts/mysql_system_tables_fix.sql:
        Ensure that all columns of the log tables are NOT NULL.
      b0a1ae09
    • Andrei Elkin's avatar
      merging fixes of bug@45576 to 5.1-bt · f16145a5
      Andrei Elkin authored
      f16145a5
    • Sergey Glukhov's avatar
      automerge · 03561d35
      Sergey Glukhov authored
      03561d35
    • Andrei Elkin's avatar
      Bug #45576 rpl_row_create_table fails on PB2 · 5693e220
      Andrei Elkin authored
      The test failed due to Bug #29790.
      However, logics of the failing part does not need I_S selecting.
      
      Fixing to remove the non-deterministic I_S selecting as redundant
      from a part of the test dealing with BUG@22864.
      
      
      mysql-test/suite/rpl/r/rpl_row_create_table.result:
        results updated.
      mysql-test/suite/rpl/t/disabled.def:
        rpl_row_create_table is re-enabled.
      mysql-test/suite/rpl/t/rpl_row_create_table.test:
        removed a non-deterministic I_S selecting as redundant
        from a part of the test dealing with BUG@22864.
      5693e220
    • Andrei Elkin's avatar
      merging fixes of bug@51089 to 5.1-bt · b3c6f110
      Andrei Elkin authored
      b3c6f110
    • Andrei Elkin's avatar
      merging fixes of bug@51089 to 5.1-bt · 058b4940
      Andrei Elkin authored
      058b4940
    • Andrei Elkin's avatar
      bug#51089 · 991c69e9
      Andrei Elkin authored
      correcting c&p typos in the results
      991c69e9
    • Andrei Elkin's avatar
      bug#51089 · ac9619fe
      Andrei Elkin authored
      correcting c&p typos in the test
      ac9619fe
    • Andrei Elkin's avatar
      merging fixes of bug@51089 to 5.1-bt · 9adb2241
      Andrei Elkin authored
      9adb2241
    • Sergey Glukhov's avatar
      Bug#50995 Having clause on subquery result produces incorrect results. · 9245ed4a
      Sergey Glukhov authored
      The problem is that cond->fix_fields(thd, 0) breaks
      condition(cuts off 'having'). The reason of that is
      that NULL valued Item pointer is present in the
      middle of Item list and it breaks the Item processing
      loop.
      
      
      mysql-test/r/having.result:
        test case
      mysql-test/t/having.test:
        test case
      sql/item_cmpfunc.h:
        added ASSERT to make sure that we do not add NULL valued Item pointer
      sql/sql_select.cc:
        skip adding an item to condition if Item pointer is NULL.
        skip adding a list to condition if this list is empty.
      9245ed4a
    • Evgeny Potemkin's avatar
      Auto-merged fox for the bug#50843. · 6025d0ba
      Evgeny Potemkin authored
      6025d0ba
    • Evgeny Potemkin's avatar
      Bug#50843: Filesort used instead of clustered index led to · 2d4db52e
      Evgeny Potemkin authored
      performance degradation.
      
      Filesort + join cache combination is preferred to full index scan because it
      is usually faster. But it's not the case when the index is clustered one.
      
      Now test_if_skip_sort_order function prefers filesort only if index isn't
      clustered.
      
      mysql-test/r/innodb_mysql.result:
        Added a test case for the bug#50843.
      mysql-test/t/innodb_mysql.test:
        Added a test case for the bug#50843.
      sql/sql_select.cc:
        Bug#50843: Filesort used instead of clustered index led to
        performance degradation.
        Now test_if_skip_sort_order function prefers filesort only if index isn't
        clustered.
      2d4db52e
    • Sergey Vojtovich's avatar
      Applying InnoDB snapshot, fixes BUG#50691 · b751f4e0
      Sergey Vojtovich authored
      Detailed revision comments:
      
      r6669 | jyang | 2010-02-11 12:24:19 +0200 (Thu, 11 Feb 2010) | 7 lines
      branches/5.1: Fix bug #50691, AIX implementation of readdir_r
      causes InnoDB errors. readdir_r() returns an non-NULL value
      in the case of reaching the end of a directory. It should
      not be treated as an error return.
      
      rb://238 approved by Marko
      b751f4e0
    • Sergey Vojtovich's avatar
      Applying InnoDB snapshot, fixes BUG#38901 · 70564eb6
      Sergey Vojtovich authored
      Detailed revision comments:
      
      r6613 | inaam | 2010-02-09 20:23:09 +0200 (Tue, 09 Feb 2010) | 11 lines
      branches/5.1: Fix Bug #38901
      InnoDB logs error repeatedly when trying to load page into buffer pool
      
      In buf_page_get_gen() if we are unable to read a page (because of
      corruption or some other reason) we keep on retrying. This fills up
      error log with millions of entries in no time and we'd eventually run
      out of disk space. This patch limits the number of attempts that we
      make (currently set to 100) and after that we abort with a message.
      
      rb://241 Approved by: Heikki
      70564eb6
    • Sergey Vojtovich's avatar
      Applying InnoDB snapshot, fixes BUG#49001 · 7ca22516
      Sergey Vojtovich authored
      Detailed revision comments:
      
      r6545 | jyang | 2010-02-03 03:57:32 +0200 (Wed, 03 Feb 2010) | 8 lines
      branches/5.1: Fix bug #49001, "SHOW INNODB STATUS deadlock info
      incorrect when deadlock detection aborts". Print the correct
      lock owner when recursive function lock_deadlock_recursive()
      exceeds its maximum depth LOCK_MAX_DEPTH_IN_DEADLOCK_CHECK.
      
      rb://217, approved by Marko.
      7ca22516
    • Sergey Vojtovich's avatar
      Applying InnoDB snapshot · 57c328ba
      Sergey Vojtovich authored
      Detailed revision comments:
      
      r6538 | sunny | 2010-01-30 00:43:06 +0200 (Sat, 30 Jan 2010) | 6 lines
      branches/5.1: Check *first_value every time against the column max
      value and  set *first_value to next autoinc if it's > col max value.
      ie.  not rely on what is passed in from MySQL.
      
      [49497] Error 1467 (ER_AUTOINC_READ_FAILED) on inserting a negative value
      rb://236
      57c328ba
    • Sergey Vojtovich's avatar
      Applying InnoDB snapshot · 7633ece0
      Sergey Vojtovich authored
      Detailed revision comments:
      
      r6537 | sunny | 2010-01-30 00:35:00 +0200 (Sat, 30 Jan 2010) | 2 lines
      branches/5.1: Undo r6536.
      7633ece0
    • Sergey Vojtovich's avatar
      Applying InnoDB snapshot · f1c641d1
      Sergey Vojtovich authored
      Detailed revision comments:
      
      r6536 | sunny | 2010-01-30 00:13:42 +0200 (Sat, 30 Jan 2010) | 6 lines
      branches/5.1: Check *first_value everytime against the column max
      value and  set *first_value to next autoinc if it's > col max value.
      ie.  not rely on what is passed in from MySQL.
      
      [49497] Error 1467 (ER_AUTOINC_READ_FAILED) on inserting a negative value
      rb://236
      f1c641d1
    • Sergey Vojtovich's avatar
      Applying InnoDB snapshot · ed057d28
      Sergey Vojtovich authored
      Detailed revision comments:
      
      r6535 | sunny | 2010-01-30 00:08:40 +0200 (Sat, 30 Jan 2010) | 11 lines
      branches/5.1: Undo the change from r6424. We need to return DB_SUCCESS even
      if we were unable to initialize the tabe autoinc value. This is required for
      the open to succeed. The only condition we currently treat as a hard error
      is if the autoinc field instance passed in by MySQL is NULL.
      
      Previously if the table autoinc value was 0 and the next value was requested
      we had an assertion that would fail. Change that assertion and treat a value
      of 0 to mean that the autoinc system is unavailable. Generation of next
      value will now return failure.
      
      rb://237
      ed057d28