1. 09 Dec, 2010 3 commits
  2. 05 Dec, 2010 3 commits
  3. 03 Dec, 2010 4 commits
  4. 02 Dec, 2010 10 commits
  5. 01 Dec, 2010 20 commits
    • Mats Kindahl's avatar
      8ea491e7
    • Mattias Jonsson's avatar
      Bug#58147: ALTER TABLE w/ TRUNCATE PARTITION fails · f3c6e6ff
      Mattias Jonsson authored
                 but the statement is written to binlog
      
      TRUNCATE PARTITION was written to the binlog
      even if it failed before calling any partition's
      truncate function.
      
      Solved by adding an argument to truncate_partition,
      to flag if it should be written to the binlog or not.
      
      It should be written to the binlog when a call to any
      partitions truncate function is done.
      f3c6e6ff
    • Mats Kindahl's avatar
      bfb43fb4
    • Marc Alff's avatar
      Local merge · 5dd0cf1c
      Marc Alff authored
      5dd0cf1c
    • Marc Alff's avatar
      Local merge · 52275250
      Marc Alff authored
      52275250
    • Marc Alff's avatar
      Local merge · 8690e937
      Marc Alff authored
      8690e937
    • Marc Alff's avatar
      Local merge · 646a4374
      Marc Alff authored
      646a4374
    • Marko Mäkelä's avatar
      Bug#58212 Possible deadlock in change buffer in debug builds · 019cbc17
      Marko Mäkelä authored
      ibuf_page(): Renamed to ibuf_page_low(). Add the parameters file, line
      so that the latch diagnostics will be more meaningful.
      In debug builds, add the parameter ibool x_latch. When x_latch=FALSE,
      do not x-latch the page, but only buffer-fix it for reading the bit.
      In UNIV_SYNC_DEBUG, display a message if an insert buffer bitmap page
      was already latched. (The message should be displayed in those cases
      where the code would have previously failed.)
      
      ibuf_page(): A wrapper macro for ibuf_page_low(). Pass x_latch=TRUE.
      
      ibuf_bitmap_page_get_bits(): Renamed to ibuf_bitmap_page_get_bits_low().
      In UNIV_DEBUG, add the parameter latch_mode.
      Remove the parameter mtr unless UNIV_DEBUG is defined.
      
      ibuf_bitmap_page_get_bits(): A wrapper macro for
      ibuf_bitmap_page_get_bits_low(). Pass latch_type=MTR_MEMO_PAGE_X_FIX.
      
      buf_page_get_gen(): Use ibuf_page_low(x_latch=FALSE) in the debug assertion.
      This avoids the possible deadlock.
      019cbc17
    • Mats Kindahl's avatar
      BUG#58246: INSTALL PLUGIN not secure & crashable · 91a4a8ab
      Mats Kindahl authored
      When installing plugins, there is a missing check
      for slash (/) in the path on Windows. Note that on
      Windows, both / and \ can be used to separate
      directories.
      
      This patch fixes the issue by:
      - Adding a FN_DIRSEP symbol for all platforms
        consisting of a string of legal directory
        separators.
      - Adding a charset-aware version of strcspn().
      - Adding a check_valid_path() function that uses
        my_strcspn() to check if any FN_DIRSEP character
        is in the supplied string.
      - Using the check_valid_path() function in
        sql_plugin.cc and sql_udf.cc (which means
        replacing the existing test there).
      91a4a8ab
    • Mikael Ronstrom's avatar
    • Marc Alff's avatar
      Bug#53696 Performance schema engine violates the PSEA API by calling my_error() · 033c6c39
      Marc Alff authored
      This is a code cleanup.
      
      The implementation of a storage engine (subclasses of handler) is not supposed
      to call my_error() directly inside the engine implementation, 
      but only return error codes, and report errors later at the demand
      of the sql layer only (if needed), using handler::print_error().
      
      This fix removes misplaced calls to my_error(),
      and provide an implementation of print_error() instead.
      
      Given that the sql layer implementation of create table, ha_create_table(),
      does not use print_error() but returns ER_CANT_CREATE_TABLE directly,
      the return code for create table statements using the performance schema
      has changed to ER_CANT_CREATE_TABLE.
      
      Adjusted the test suite accordingly.
      033c6c39
    • Marc Alff's avatar
      Bug#56618 Thread_ID is not assigned in ascending sequence (after disconnect) · 0c9c2112
      Marc Alff authored
      Before this fix, the test thread_cache failed with spurious failures.
      
      The test used:
      -- disconnect X
      -- connect Y
      
      while assuming that connection Y would reuse connection X slot in the thread cache.
      
      For this to happen, the disconnect X operation must be given enough time to complete,
      otherwise connect Y can be executed in the server before X actually finishes.
      
      This fix uses wait conditions to make the test execution more controlled,
      and more reproductible.
      0c9c2112
    • Marc Alff's avatar
      Bug#58512 Performance_schema.myisam_file_io fails sporadically in PB2 · b12eb4a1
      Marc Alff authored
      Before this fix, the test myisam_file_io executed:
      - (a) an update on setup_instrument to disable non myisam file io instruments
      - (b) a truncate on events_waits_history_long
      and later
      - (c) a select on events_waits_history_long
      
      Surprisingly, events that were supposed to be disabled in (a) and removed in (b)
      still were found in (c).
      
      This happened for events such as 
        wait/io/file/innodb/innodb_data_file fil0fil.c: sync  
      because the sync was started before (a) and completed after (b),
      and as a consequence was added in the performance schema history, as expected.
      
      Presence of these records in the history made the test fail. 
      
      This fix makes the test script more robust to account for extra spill waits records in (c).
      b12eb4a1
    • Marko Mäkelä's avatar
      Bug#58226 Some InnoDB debug checks consume too much CPU time · ac884765
      Marko Mäkelä authored
      Do not disable InnoDB inlining when UNIV_DEBUG is defined. The
      inlining is now solely controlled by the preprocessor symbol
      UNIV_MUST_NOT_INLINE and by any compiler options.
      
      mtr_memo_contains(): Add an explicit type conversion from void*, so
      that the function can be compiled by a C++ compiler. Previously, this
      function was never seen by the C++ compiler, because it is only
      present in UNIV_DEBUG builds and InnoDB inlining used to be disabled.
      
      buf_flush_validate_skip(): A wrapper that skips most calls of
      buf_flush_validate_low(). Invoked by debug assertions in
      buf_flush_insert_into_flush_list() and buf_flush_remove().
      
      fil_validate_skip(): A wrapper that skips most calls of
      fil_validate(). Invoked by debug assertions in fil_io() and fil_io_wait().
      
      os_aio_validate_skip(): A wrapper that skips most calls of
      os_aio_validate(). Invoked by debug assertions in
      os_aio_func(), os_aio_windows_handle() and os_aio_simulated_handle.
      
      os_get_os_version(): Only include this function if __WIN__ is defined.
      
      sync_array_deadlock_step(): Slight optimizations. This function is a
      major CPU consumer in UNIV_SYNC_DEBUG builds.
      ac884765
    • Marko Mäkelä's avatar
      Fix a compilation error that was introduced in the Bug #55222 fix · ba874a7d
      Marko Mäkelä authored
      (bzr revision id kevin.lewis@oracle.com-20101130182552-hfydggaeeys3tjqx).
      ba874a7d
    • Marko Mäkelä's avatar
      2ed5c7d1
    • Marko Mäkelä's avatar
      Bug#58623: Bogus debug assertion failure in i_s_locks_row_validate() · 55a12f88
      Marko Mäkelä authored
      This bogus assertion was introduced in the fix of Bug #57802:
      Empty ASSERTION parameter passed to the HASH_SEARCH macro.
      55a12f88
    • Marc Alff's avatar
      Bug#58621 perfschema.dml_ews_by_thread_by_event_name test failure · bb9efb59
      Marc Alff authored
      This fix affects the test suite only.
      
      Before this fix, performance schema tests dml_*.test could
      fail with spurious failure, depending on the table content.
      
      This fix simplifies the SELECT tests in the dml_*.test scripts,
      to only verify that the SELECT operation passed the security checks
      and succeeded, which was the original intent of the test.
      
      Usage of 
        --replace_column 1 # 2 # 3 # 4 # ...
      to discard the test output was replaced by a simpler and more maintainable 
        --disable_result_log
      which also work for empty tables.
      bb9efb59
    • Nirbhay Choubey's avatar
      Merging from mysql-5.1-bugteam · 938c61dc
      Nirbhay Choubey authored
      938c61dc
    • Nirbhay Choubey's avatar
      Additional fix for bug#54899 · c8310653
      Nirbhay Choubey authored
      Fixing the testcase to use the database name
      as connected_db instead of 'test' database.
      c8310653