1. 07 Dec, 2010 10 commits
  2. 06 Dec, 2010 1 commit
  3. 05 Dec, 2010 1 commit
  4. 03 Dec, 2010 4 commits
  5. 02 Dec, 2010 6 commits
  6. 01 Dec, 2010 15 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
    • 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
    • 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
  7. 30 Nov, 2010 3 commits
    • Davi Arnaut's avatar
      64c357d0
    • Davi Arnaut's avatar
      Bug#56760: my_atomics failures on osx10.5-x86-64bit · 86ec0f98
      Davi Arnaut authored
      The problem was due to a misuse of GCC asm constraints used to
      implement a atomic load. On x86_64, the load was implemented
      as a cmpxchg which implicitly uses the eax register as a
      source and destination operand, yet the dummy value used for
      comparison wasn't being properly loaded into eax (and other
      problems).
      
      The core problem is that cmpxchg is unnecessary as a load
      on x86_64 as there are other simpler instructions such
      as xadd. Even though, such instructions are only used to
      have a memory barrier as load and stores are atomic by
      definition. Hence, the solution is to explicitly issue the
      required CPU and compiler barriers.
      86ec0f98
    • Davi Arnaut's avatar
      Workaround a GCC warning about a pointer being cast to a larger · 2419cec9
      Davi Arnaut authored
      integral type. Use intptr which is designed to hold pointer values
      and pass it to off_t.
      2419cec9