1. 08 Oct, 2009 3 commits
    • Satya B's avatar
      Applying InnoDB Plugin 1.0.5 snapshot, part 3 · 266c7cd6
      Satya B authored
      From revision r5686 to r5702
      r5696 is already applied
      
      Detailed revision comments:
      
      r5686 | vasil | 2009-08-20 04:15:05 -0500 (Thu, 20 Aug 2009) | 4 lines
      branches/zip:
      
      White-space fixup.
      
      r5687 | vasil | 2009-08-20 04:20:22 -0500 (Thu, 20 Aug 2009) | 8 lines
      branches/zip:
      
      ChangeLog:
      Follow the convention from the rest of the ChangeLog: for bugfixes from
      bugs.mysql.com only the bug number and title goes in the ChangeLog. Detailed
      explanation on what is the problem and how it was fixed is present in
      the bugs database.
      
      r5694 | marko | 2009-08-26 06:25:26 -0500 (Wed, 26 Aug 2009) | 2 lines
      branches/zip: buf_page_t: Clarify that bpage->list may contain garbage.
      This comment was provoked by Inaam.
      r5695 | marko | 2009-08-26 08:14:59 -0500 (Wed, 26 Aug 2009) | 1 line
      branches/zip: UNIV_DEBUG_LOCK_VALIDATE: Move the definition to univ.i.
      r5697 | vasil | 2009-08-26 08:44:40 -0500 (Wed, 26 Aug 2009) | 4 lines
      branches/zip:
      
      Fix typo.
      
      r5698 | inaam | 2009-08-26 09:34:35 -0500 (Wed, 26 Aug 2009) | 13 lines
      branches/zip  bug#42885  rb://148
      
      The call to put IO threads to sleep was most probably meant for Windows
      only as the comment in buf0rea.c suggests. However it was enabled on
      all platforms. This patch restricts the sleep call to windows. This
      approach of not putting threads to sleep makes even more sense because
      now we have multiple threads working in the background and it probably
      is not a good idea to put all of them to sleep because a user thread
      wants to post a batch for readahead.
      
      Approved by: Marko
      
      
      r5701 | marko | 2009-08-27 02:01:42 -0500 (Thu, 27 Aug 2009) | 1 line
      branches/zip: Document r5698 in the ChangeLog.
      r5702 | marko | 2009-08-27 02:03:15 -0500 (Thu, 27 Aug 2009) | 1 line
      branches/zip: Document also the files affected by r5698 in the ChangeLog.
      266c7cd6
    • Satya B's avatar
      Applying InnoDB Plugin 1.0.5 snapshot, part 2 · cf8c95e0
      Satya B authored
      From r5639 to r5685 
      
      Detailed revision comments:
      
      r5639 | marko | 2009-08-06 05:39:34 -0500 (Thu, 06 Aug 2009) | 3 lines
      branches/zip: mem_heap_block_free(): If innodb_use_sys_malloc is set,
      do not tell Valgrind that the memory is free, to avoid
      a bogus warning in Valgrind's built-in free() hook.
      r5642 | calvin | 2009-08-06 18:04:03 -0500 (Thu, 06 Aug 2009) | 2 lines
      branches/zip: remove duplicate "the" in comments.
      
      r5662 | marko | 2009-08-11 04:54:16 -0500 (Tue, 11 Aug 2009) | 1 line
      branches/zip: Bump the version number to 1.0.5 after releasing 1.0.4.
      r5663 | marko | 2009-08-11 06:42:37 -0500 (Tue, 11 Aug 2009) | 2 lines
      branches/zip: trx_general_rollback_for_mysql(): Remove the redundant
      parameter partial. If savept==NULL, partial==FALSE.
      r5670 | marko | 2009-08-12 08:16:37 -0500 (Wed, 12 Aug 2009) | 2 lines
      branches/zip: trx_undo_rec_copy(): Add const qualifier to undo_rec.
      This is a non-functional change.
      r5671 | marko | 2009-08-13 03:46:33 -0500 (Thu, 13 Aug 2009) | 5 lines
      branches/zip: ha_innobase::add_index(): Fix Bug #46557:
      after a successful operation, read innodb_table->flags from
      the newly created table object, not from the old one that was just freed.
      
      Approved by Sunny.
      r5681 | sunny | 2009-08-14 01:16:24 -0500 (Fri, 14 Aug 2009) | 3 lines
      branches/zip: When building HotBackup srv_use_sys_malloc is #ifdef out. We
      move access to the this variable within a !UNIV_HOTBACKUP block.
      
      r5684 | sunny | 2009-08-20 03:05:30 -0500 (Thu, 20 Aug 2009) | 10 lines
      branches/zip: Fix bug# 46650:  Innodb assertion autoinc_lock == lock in lock_table_remove_low on INSERT SELECT
      
      We only store the autoinc locks that are granted in the transaction's autoinc
      lock vector. A transacton, that has been rolled back due to a deadlock because
      of an AUTOINC lock attempt, will not have added that lock to the vector. We
      need to check for that when we remove that lock.
      
      rb://145
      Approved by Marko.
      
      r5685 | sunny | 2009-08-20 03:18:29 -0500 (Thu, 20 Aug 2009) | 2 lines
      branches/zip: Update the ChangeLog with r5684 change.
      cf8c95e0
    • Satya B's avatar
      Applying InnoDB Plugin 1.0.5 snapshot , part 1 · e4a45e26
      Satya B authored
      From revision r5537 to r5636
      r5527 is already applied before
      
      Detailed revision comments:
      For HotBackup builds we don't want to hide the symbols.
      
      r5537 | vasil | 2009-07-21 04:31:26 -0500 (Tue, 21 Jul 2009) | 5 lines
      branches/zip:
      
      Fixups in ChangeLog: sort filenames alphabetically and wrap to 78 chars per
      line.
      
      r5539 | vasil | 2009-07-21 05:28:27 -0500 (Tue, 21 Jul 2009) | 4 lines
      branches/zip:
      
      Add a test program to check whether the PAUSE instruction is available.
      
      r5625 | vasil | 2009-08-04 00:52:48 -0500 (Tue, 04 Aug 2009) | 32 lines
      branches/zip: Merge 5518:5622 from branches/5.1, resolving conflict in r5622
      (after resolving the conflict Makefile.am was not changed so I have made
      a dummy change so I can commit and thus record that branches/5.1 has been
      merged in branches/zip up to 5622):
      
        ------------------------------------------------------------------------
        r5622 | vasil | 2009-08-03 15:27:00 +0300 (Mon, 03 Aug 2009) | 20 lines
        Changed paths:
           M /branches/5.1/Makefile.am
        
        branches/5.1:
        
        Merge a change from MySQL:
        
          ------------------------------------------------------------
          revno: 2988
          committer: Satya B <satya.bn@sun.com>
          branch nick: mysql-5.1-bugteam
          timestamp: Wed 2009-07-01 11:06:05 +0530
          message:
            Fix build failure after applying Innodb snapshot 5.1-ss5282
            
            After applying Innodb snapshot 5.1-ss5282, build was broken
            because of missing header file. 
            
            Adding the header file to Makefile.am after informing the 
            innodb developers.
          modified:
            storage/innobase/Makefile.am
        
        ------------------------------------------------------------------------
      
      r5626 | vasil | 2009-08-04 00:53:31 -0500 (Tue, 04 Aug 2009) | 4 lines
      branches/zip:
      
      Revert the dummy change from c5625.
      
      r5629 | marko | 2009-08-04 06:42:44 -0500 (Tue, 04 Aug 2009) | 1 line
      branches/zip: mysql-test: Pass MTR's internal checks.
      r5635 | marko | 2009-08-05 06:06:55 -0500 (Wed, 05 Aug 2009) | 2 lines
      branches/zip: Replace <number> with NUMBER in some comments,
      to avoid problems with Doxygen XML output.
      r5636 | marko | 2009-08-05 07:27:30 -0500 (Wed, 05 Aug 2009) | 2 lines
      branches/zip: lock_rec_validate_page(): Add the parameter zip_size.
      This should help track down Mantis Issue #289.
      e4a45e26
  2. 07 Oct, 2009 1 commit
  3. 06 Oct, 2009 8 commits
    • Alfranio Correia's avatar
      2a243fa2
    • Kristofer Pettersson's avatar
      automerge · 618d7980
      Kristofer Pettersson authored
      618d7980
    • Kristofer Pettersson's avatar
      66e77c86
    • Kristofer Pettersson's avatar
      Automerg · 499121a0
      Kristofer Pettersson authored
      499121a0
    • Kristofer Pettersson's avatar
      Bug#47768 pthread_cond_timedwait() is broken on windows · dfed28e7
      Kristofer Pettersson authored
      The pthread_cond_wait implementations for windows might
      dead lock in some rare circumstances.
      
      1) One thread (I) enter a timed wait and at a point in
         time ends up after mutex unlock and before
         WaitForMultipleObjects(...)
      2) Another thread (II) enters pthread_cond_broadcast.
         Grabs the mutex and discovers one waiter. It set
         the broadcast event and closes the broadcast gate
         then unlocks the mutex.
      3) A third thread (III) issues a pthread_cond_signal.
         It grabs the mutex, discovers one waiter, sets the
         signal event then unlock the mutex.
      4) The first threads (I) enters WaitForMultipleObjects
         and finds out that the signal object is in a
         signalled state and exits the wait.
      5) Thread (I) grabs the mutex and checks result status.
         The number of waiters is decreased and becomes equal
         to 0. The event returned was a signal event so the
         broadcast gate isn't opened. The mutex is released.
      6) Thread (II) issues a new broadcast. The mutex is
         acquired but the number of waiters are 0 hence
         the broadcast gate remains closed.
      7) Thread (I) enters the wait again but is blocked by
         the broadcast gate.
      
            This fix resolves the above issue by always resetting
            broadcast gate when there are no more waiters in th queue.
      dfed28e7
    • Georgi Kodinov's avatar
      merge mysql-5.1-pe · cfd737a4
      Georgi Kodinov authored
      cfd737a4
    • Alfranio Correia's avatar
      BUG#47678 Changes to n-tables that happen early in a trans. are only flushed upon commit · b31e0c9a
      Alfranio Correia authored
        Let
          - T be a transactional table and N non-transactional table.
          - B be begin, C commit and R rollback.
          - N be a statement that accesses and changes only N-tables.
          - T be a statement that accesses and changes only T-tables.
      
      In RBR, changes to N-tables that happen early in a transaction are not immediately flushed
      upon committing a statement. This behavior may, however, break consistency in the presence
      of concurrency since changes done to N-tables become immediately visible to other
      connections. To fix this problem, we do the following:
      
        . B N N T C would log - B N C B N C B T C.
        . B N N T R would log - B N C B N C B T R.
      
      Note that we are not preserving history from the master as we are introducing a commit that
      never happened. However, this seems to be more acceptable than the possibility of breaking
      consistency in the presence of concurrency.
      b31e0c9a
    • Alfranio Correia's avatar
      BUG#47287 RBR: replication diff on basic case with txn- and non-txn tables in a statement · 678eb3d6
      Alfranio Correia authored
      Let
        - T be a transactional table and N non-transactional table.
        - B be begin, C commit and R rollback.
        - M be a mixed statement, i.e. a statement that updates both T and N.
        - M* be a mixed statement that fails while updating either T or N.
      
      This patch restore the behavior presented in 5.1.37 for rows either produced in
      the RBR or MIXED modes, when a M* statement that happened early in a transaction
      had their changes written to the binary log outside the boundaries of the
      transaction and wrapped in a BEGIN/ROLLBACK. This was done to keep the slave
      consistent with with the master as the rollback would keep the changes on N and
      undo them on T. In particular, we do what follows:
      
        . B M* T C would log - B M* R B T C.
      
      Note that, we are not preserving history from the master as we are introducing a
      rollback that never happened. However, this seems to be more acceptable than
      making the slave diverge. We do not fix the following case:
      
        . B T M* C would log B T M* C.
      
      The slave will diverge as the changes on T tables that originated from the M
      statement are rolled back on the master but not on the slave. Unfortunately, we
      cannot simply rollback the transaction as this would undo any uncommitted
      changes on T tables.
      
      SBR is not considered in this patch because a failing statement is written to
      the binary along with the error code and a slave executes and then rolls back
      the statement when it has an associated error code, thus undoing the effects
      on T. In RBR and MBR, a full-fledged fix will be pushed after the WL 2687.
      678eb3d6
  4. 05 Oct, 2009 8 commits
    • John H. Embretsen's avatar
      Bug#47746 - main.innodb_mysql fails sporadically: · 23bdf0d8
      John H. Embretsen authored
      Mask part of EXPLAIN output with '#' to account for varying row count estimation.
      23bdf0d8
    • Frazer Clement's avatar
      Merge 5.0-bugteam->5.1 bugteam · bbda071e
      Frazer Clement authored
      bbda071e
    • Frazer Clement's avatar
    • Satya B's avatar
      Applying InnoDB snapshot 5.1-ss5921, part 3. Fixes BUG#46256 · 00297f65
      Satya B authored
      1. BUG#46256 - drop table with unknown collation crashes innodb
      
      Note: No testcase attached and has to be verified manually
      
      Detailed revision comments:
      
      r5799 | calvin | 2009-09-09 20:47:31 +0300 (Wed, 09 Sep 2009) | 10 lines
      branches/5.1: fix bug#46256
      
      Allow tables to be dropped even if the collation is not found,
      but issue a warning.
      
      Could not find an easy way to add mysql-test since it requires
      changes to charsets and restarting the server. Tests were
      executed manually.
      
      Approved by: Heikki (on IM)
      r5805 | vasil | 2009-09-10 08:41:48 +0300 (Thu, 10 Sep 2009) | 7 lines
      branches/5.1:
      
      Fix a compilation warning caused by c5799:
      
      handler/ha_innodb.cc: In function 'void innobase_get_cset_width(ulint, ulint*, ulint*)':
      handler/ha_innodb.cc:830: warning: format '%d' expects type 'int', but argument 2 has type 'ulint'
      00297f65
    • Satya B's avatar
      Applying InnoDB snapshot 5.1-ss5921, part 2. Fixes BUG#44369 · 37e4f861
      Satya B authored
      BUG#44369 - InnoDB: Does not uniformly disallow disallowed column names
      
      Detailed revision comments:
      
      r5741 | jyang | 2009-09-03 07:16:01 +0300 (Thu, 03 Sep 2009) | 5 lines
      branches/5.1: Block creating table with column name conflicting
      with Innodb reserved key words. (Bug #44369) rb://151 approved
      by Sunny Bains.
      
      
      r5760 | jyang | 2009-09-04 07:07:34 +0300 (Fri, 04 Sep 2009) | 3 lines
      branches/5.1: This is to revert change 5741. A return status for
      create_table_def() needs to be fixed.
      
      r5834 | jyang | 2009-09-11 00:43:05 +0300 (Fri, 11 Sep 2009) | 5 lines
      branches/5.1: Block creating table with column name conflicting
      with Innodb reserved key words. (Bug #44369) rb://151 approved
      by Sunny Bains.
      
      37e4f861
    • Satya B's avatar
      Applying InnoDB snapshot 5.1-ss5921, Part 1. Fixes BUG#46000 · cfae755d
      Satya B authored
      1. BUG#46000 - using index called GEN_CLUST_INDEX crashes server
      
      Detailed revision comments:
      
      r5895 | jyang | 2009-09-15 03:39:21 +0300 (Tue, 15 Sep 2009) | 5 lines
      branches/5.1: Disallow creating index with the name of
      "GEN_CLUST_INDEX" which is reserved for the default system
      primary index. (Bug #46000) rb://149 approved by Marko Makela.
      cfae755d
    • Georgi Kodinov's avatar
      fixed typos in exeprimental list · 67ac3fac
      Georgi Kodinov authored
      67ac3fac
    • Gleb Shchepa's avatar
      Bug #44139: Table scan when NULL appears in IN clause · 2b78dbff
      Gleb Shchepa authored
      SELECT ... WHERE ... IN (NULL, ...) does full table scan,
      even if the same query without the NULL uses efficient range scan.
      
      The bugfix for the bug 18360 introduced an optimization:
      if
        1) all right-hand arguments of the IN function are constants
        2) result types of all right argument items are compatible
           enough to use the same single comparison function to
           compare all of them to the left argument,
      
      then
      
        we can convert the right-hand list of constant items to an array
        of equally-typed constant values for the further
        QUICK index access etc. (see Item_func_in::fix_length_and_dec()).
      
      The Item_null constant item objects have STRING_RESULT
      result types, so, as far as Item_func_in::fix_length_and_dec()
      is aware of NULLs in the right list, this improvement efficiently
      optimizes IN function calls with a mixed right list of NULLs and
      string constants. However, the optimization doesn't affect mixed
      lists of NULLs and integers, floats etc., because there is no
      unique common comparator.
      
      
      New optimization has been added to ignore the result type
      of NULL constants in the static analysis of mixed right-hand lists.
      This is safe, because at the execution phase we care about
      presence of NULLs anyway.
      
      1. The collect_cmp_types() function has been modified to optionally
         ignore NULL constants in the item list.
      2. NULL-skipping code of the Item_func_in::fix_length_and_dec()
         function has been modified to work not only with in_string
         vectors but with in_vectors of other types.
      2b78dbff
  5. 04 Oct, 2009 7 commits
  6. 02 Oct, 2009 2 commits
  7. 01 Oct, 2009 1 commit
  8. 30 Sep, 2009 10 commits