1. 25 Mar, 2012 2 commits
    • Vladislav Vaintroub's avatar
      merge · 485e7264
      Vladislav Vaintroub authored
      485e7264
    • Vladislav Vaintroub's avatar
      Small Windows specific performance fixes: · 1be4b121
      Vladislav Vaintroub authored
      - Use native memcmp() supplied with C runtime instead of hand-unrolled loop ptr_compare_N loop
      Prior to fix  ptr_compare_0()  has  3.7% samples in OLTP-RO in-memory. 
      Fix brings this down to 1.8% (all memcmp samples)
      
      - Innodb : fix UT_RELAX_CPU to  be defined  as YieldProcessor, as  was also originally intended 
      (but intention was lost in the #ifdef maze
      
      This reduces number of ut_delay() samples in profile from 1.5% to 0.5%
      1be4b121
  2. 24 Mar, 2012 5 commits
  3. 23 Mar, 2012 6 commits
    • Sergei Golubchik's avatar
      mdev-200 set session dbug resets the output to stderr. · 619f67b1
      Sergei Golubchik authored
      it makes "./mtr --debug" unusable
      
      revert the mysql fix for bug#46165.
      implement shared FILE's with reference counting
      619f67b1
    • Michael Widenius's avatar
      Speedup: · c36bdf1c
      Michael Widenius authored
      - Don't call update_virtual_fields() if table->vfield is not set
      - Don't prealloc memory for in open_tables() as this is very seldom used.
      
      
      sql/records.cc:
        Don't call update_virtual_fields() if table->vfield is not set
      sql/sql_base.cc:
        Don't prealloc memory for in open_tables() as this is very seldom used.
        Don't call update_virtual_fields() if table->vfield is not set
      sql/sql_delete.cc:
        Don't call update_virtual_fields() if table->vfield is not set
      sql/sql_handler.cc:
        Don't call update_virtual_fields() if table->vfield is not set
      sql/sql_join_cache.cc:
        Don't call update_virtual_fields() if table->vfield is not set
        Move some frequent values to local variables
      sql/sql_table.cc:
        Don't call update_virtual_fields() if table->vfield is not set
      sql/sql_update.cc:
        Don't call update_virtual_fields() if table->vfield is not set
      sql/table.cc:
        Assert if update_virtual_fields is called with wrong parameters
      c36bdf1c
    • Michael Widenius's avatar
      Fixes lp:941889 "JOIN constructors takes a long time in 5.3" · 8e825a22
      Michael Widenius authored
      - Remove all references of MAX_TABLES from JOIN struct and make these dynamic
      - Updated Join_plan_state to allocate just as many elements as it's needed
      
      
      sql/opt_subselect.cc:
        Optimized version of Join_plan_state
      sql/sql_select.cc:
        Set join->positions and join->best_positions dynamicly
        Don't call update_virtual_fields() if table->vfield is not set.
      sql/sql_select.h:
        Remove all references of MAX_TABLES from JOIN struct and Join_plan_state and make these dynamic
      8e825a22
    • Michael Widenius's avatar
      Speedups: · de1765fb
      Michael Widenius authored
      - Optimize away calls to hp_rec_hashnr() by cashing hash
      - Try to get more rows / block (to minimize overhead of HP_PTRS) in HEAP tables.
      
      
      storage/heap/_check.c:
        Optimize away calls to hp_rec_hashnr() by cashing hash.
        Print cleanups
      storage/heap/heapdef.h:
        Added place to hold calculated hash value for row
      storage/heap/hp_create.c:
        Try to get more rows / block (to minimize overhead of HP_PTRS)
      storage/heap/hp_delete.c:
        Optimize away calls to hp_rec_hashnr() by cashing hash.
      storage/heap/hp_hash.c:
        Optimize away calls to hp_rec_hashnr() by cashing hash.
        Remove some not needed DBUG_PRINT
      storage/heap/hp_test2.c:
        Increased max table size as now heap tables takes a bit more space (a few %)
      storage/heap/hp_write.c:
        Optimize away calls to hp_rec_hashnr() by cashing hash.
        Remove duplicated code
        More DBUG_PRINT
      storage/maria/ma_create.c:
        More DBUG_PRINT
      de1765fb
    • Sergei Golubchik's avatar
      MDEV-186 Client programs throw warnings about memory loss when executed with --help or alike · 92e2b80c
      Sergei Golubchik authored
      suppress these harmless but confusing warnings.
      fix the program name (MY_INIT) in mysqldump
      
      client/mysqldump.c:
        for backward compatibility, prefix mysqldump error messages with "mysqldump", not with the full path of the executable
      92e2b80c
    • Igor Babaev's avatar
      Fixed LP bug #954900. · da9aabbb
      Igor Babaev authored
      If the first component of a ref key happened to be a constant appeared
      after constant row substitution then no store_key element should be
      created for such a component. Yet create_ref_for_key() erroneously could
      create such an element that caused construction of invalid ref keys and
      wrong results for some joins.
      da9aabbb
  4. 22 Mar, 2012 7 commits
  5. 21 Mar, 2012 6 commits
  6. 19 Mar, 2012 1 commit
    • Davi Arnaut's avatar
      Make Replication filter settings dynamic. · 9584cbe7
      Davi Arnaut authored
      Make the slave options --replicate-* dynamic variables so that these
      options can be changed dynamically while the server is running,
      which enables users to modify replication filtering rules without
      having to stop and restart the server.
      
      This is accomplished by just requiring that the slave threads are
      stopped when these options are set dynamically. Since filtering
      rules are only used by the SQL slave thread, setting them while the
      thread is not running avoids the need for locking.
      9584cbe7
  7. 21 Mar, 2012 3 commits
  8. 20 Mar, 2012 3 commits
    • Sergei Golubchik's avatar
      No commit message · 9a041944
      Sergei Golubchik authored
      No commit message
      9a041944
    • Michael Widenius's avatar
      Fixed lp:947474 "Assertion `table->file->stats.records > 0 || error' failed in... · 690d8cc6
      Michael Widenius authored
      Fixed lp:947474 "Assertion `table->file->stats.records > 0 || error' failed in join_read_const_table on concurrent SELECT and ALTER, constant Aria table"
      Remove Aria state history for drop/rename
      
      mysql-test/suite/maria/r/maria-recovery2.result:
        Updated old (wrong) test result
      sql/handler.cc:
        Fixed wrong argument to implict_commit
      storage/maria/ha_maria.cc:
        Ensure that we don't use file->trn if THD_TRN is 0. (This means that implict_commit() has been called and the trn object is not ours anymore)
      storage/maria/ma_extra.c:
        Remove Aria state history for drop/rename
      storage/maria/ma_rename.c:
        Remove Aria state history for rename
      storage/maria/ma_state.c:
        More DBUG_PRINT
      690d8cc6
    • Michael Widenius's avatar
      Cleanups: · a579adea
      Michael Widenius authored
      - Don't use SAFEMALLOC on valgrind builds (slows things down)
      - Added back lost option from 5.3: debug-mutex-deadlock-detector
      - Flush pages before taking lock mutex (speeds up closing of Aria tables).
      
      BUILD/SETUP.sh:
        - Don't use SAFEMALLOC on valgrind builds (slows things down)
      sql/lock.cc:
        Make default argument explicit (improves readability)
      sql/mysqld.cc:
        Removed compiler warnings
        Sorted debug options alphabetically
        Added back lost option from 5.3: debug-mutex-deadlock-detector
      storage/maria/ma_close.c:
        Flush pages before taking lock mutex (speeds up closing of Aria tables).
      storage/maria/ma_open.c:
        More DBUG_PRINT
      storage/maria/maria_def.h:
        Better DBUG_PRINT
      storage/maria/trnman.c:
        Better DBUG_PRINT
      a579adea
  9. 18 Mar, 2012 2 commits
    • Sergey Petrunya's avatar
      BUG#952583: Server crashes in Item_field::fix_after_pullout on INSERT .. SELECT · 91d17a9c
      Sergey Petrunya authored
      - Take into account that there may exist Item_field objects with context==NULL.
      91d17a9c
    • Sergey Petrunya's avatar
      BUG#952372: Server crashes on 2nd execution of PS in find_field_in_tables with... · 5805908b
      Sergey Petrunya authored
      BUG#952372: Server crashes on 2nd execution of PS in find_field_in_tables with semijoin+materialization
      - The problem was that convert_subq_to_jtbm() attached the semi-join
        TABLE_LIST object into the wrong list: they used to attach it to the 
        end of parent_lex->leaf_tables.head()->next_local->...->next_local.
        This was apparently inccorect, as one can construct an example where 
        JTBM nest is attached to a table that is inside some mergeable VIEW, which
        breaks (causes crash) for name resolution on the subsequent statement
        re-execution.
      - Solution: Attach to the "right" list. The "wording" was copied from
        st_select_lex::handle_derived.
      
      5805908b
  10. 17 Mar, 2012 2 commits
  11. 16 Mar, 2012 2 commits
    • Vladislav Vaintroub's avatar
      Reduce size of windows MSI by approx. 50% · 49d6568a
      Vladislav Vaintroub authored
      - Mark test components, plugins etc with COMPONENT Test, to get them excluded from the MSI
      - Only include debug symbols for client and embedded libs and also
        mysqld.exe and server plugins (so we can still can get a callstack in case of crash)
      
      The rest (all *.pdbs, test components, MTR) can be obtained from the big ZIP distribution, if required.
      49d6568a
    • Vladislav Vaintroub's avatar
      Fix several buildot errors on Windows · c5e1fb67
      Vladislav Vaintroub authored
      - do not attempt loading federatedx dynamically - does not work on Windows embedded
      - race condition in rpl_start_stop_slave
      - fix exclusion rule to catch warning in partition test
      c5e1fb67
  12. 15 Mar, 2012 1 commit