1. 06 Oct, 2009 5 commits
  2. 03 Oct, 2009 3 commits
  3. 02 Oct, 2009 2 commits
  4. 01 Oct, 2009 1 commit
  5. 30 Sep, 2009 7 commits
    • Vladislav Vaintroub's avatar
      backport of · 6e6b84fd
      Vladislav Vaintroub authored
      Revision: 
      2597.72.1 revid:sp1r-Reggie@core.-20080403153947-15243
      removed instances of __NT__ from code. We now only build "NT" binaries
      6e6b84fd
    • Vladislav Vaintroub's avatar
      Backport of this changeset · 9cf8d12c
      Vladislav Vaintroub authored
      http://lists.mysql.com/commits/59686
      
      Cleanup pthread_self(), pthread_create(), pthread_join() implementation on Windows.
      Prior implementation is was unnecessarily complicated and even differs in embedded
      and non-embedded case.
            
      Improvements in this patch:
      * pthread_t is now the unique thread ID, instead of HANDLE returned by beginthread
            
      This simplifies pthread_self() to be just straight GetCurrentThreadId().
      prior it was much  art involved in passing the beginthread() handle from the caller
      to the TLS structure in the child thread ( did not work for the main thread of
      course)
            
      * remove MySQL specific my_thread_init()/my_thread_end() from pthread_create.
      No automagic is done on Unix on pthread_create(). Having the same on Windows will 
      improve portability and avoid extra #ifdef's
            
      * remove redefinition of getpid() - it was defined as GetCurrentThreadId()
      9cf8d12c
    • Vladislav Vaintroub's avatar
      Backport http://lists.mysql.com/commits/57778 · 28015993
      Vladislav Vaintroub authored
      2677 Vladislav Vaintroub	2008-11-04
      CMakeLists.txt files cleanup
      - remove SAFEMALLOC and SAFE_MUTEX definitions that were 
      present in *each* CMakeLists.txt. Instead, put them into top level 
      CMakeLists.txt, but disable on Windows, because
      a) SAFEMALLOC does not add any functionality that is not already
      present in Debug C runtime ( and 2 safe malloc one on top of the other 
      only unnecessarily slows down the server) 
            
      b)SAFE_MUTEX does not work on Windows  and have been
      explicitely  disabled on Windows with #undef previously.  Fortunately,
      ntdll does  pretty good  job identifying l problems with 
      CRITICAL_SECTIONs.
      DebugBreak()s on using uninited critical section, unlocking unowned 
      critical section)
            
      -Also, remove occationally used -D_DEBUG (added by compiler 
      anyway)
      28015993
    • Alexander Barkov's avatar
      Backporting WL#3759 Optimize identifier conversion in client-server protocol · 482d3bfd
      Alexander Barkov authored
      This patch provides performance improvements:
      - send_fields() when character_set_results = latin1
        is now about twice faster for column/table/database
        names, consisting on ASCII characters.
      
      Changes:
      
      - Protocol doesn't use "convert" temporary buffer anymore,
        and converts strings directly to "packet".
      
      - General conversion optimization: quick conversion
        of ASCII strings was added.
      
      modified files:
      
      include/m_ctype.h
      - Adding a new flag.
      - Adding a new function prototype
      
      libmysqld/lib_sql.cc
      - Adding quick conversion method for embedded library:
        conversion is now done directly to result buffer,
        without using a temporary buffer.
      
      mysys/charset.c
      - Mark all dynamic ucs2 character sets as non-ASCII
      - Mark some dymamic 7bit and 8bit charsets as non-ASCII
        (for example swe7 is not fully ASCII compatible).
      
      sql/protocol.cc
      - Adding quick method to convert a string directly
        into protocol buffer, without using a temporary buffer.
      
      sql/protocol.h
      - Adding a new method prototype
      
      sql/sql_string.cc
        Optimization for conversion between two ASCII-compatible charsets:
      - quickly convert ASCII strings,
        switch to mc_wc->wc_mb method only when a non-ASCII character is met.
      - copy four ASCII characters at once on i386
      
      strings/conf_to_src.c
      - Marking non-ASCII character sets with a flag.
      
      strings/ctype-extra.c
      - Regenerating ctype-extra.c by running "conf_to_src".
      
      strings/ctype-uca.c
      - Marking UCS2 character set as non-ASCII.
      
      strings/ctype-ucs2.c
      - Marking UCS2 character set as non-ASCII.
      
      strings/ctype.c
      - A new function to detect if a 7bit or 8bit character set
        is ascii compatible.
      482d3bfd
    • Vladislav Vaintroub's avatar
      Backport of the patch · 46d04ebd
      Vladislav Vaintroub authored
      http://lists.mysql.com/commits/57725
      
      Vladislav Vaintroub	2008-11-03
      Cleanup CMakeLists.txt(s) - remove winsock2 (ws2_32) from 
      TARGET_LINK_LIBRARIES. 
            
      Every exe or dll linked with mysys needs ws2_32, because
      mysys uses winsock function WSAStartup in my_init().
      However, there is no need to explicitely add ws2_32 to
      the list of TARGET_LINK_LIBRARIES multiple times. 
      Visual Studio comes with a handy pragma that tells linker
      to add library. So patch replaces bunch of ws2_32 in 
      CMakeLists with  single pragma comment(lib,"ws2_32")
      in my_init.c
            
      Additionally, reference to non-existing "debug" library
      has been removed from TARGET_LINK_LIBRARIES. The correct
      name of the library is "dbug".
      46d04ebd
    • Vladislav Vaintroub's avatar
      Windows improvements : manual backport of · e6090f10
      Vladislav Vaintroub authored
      htttp://lists.mysql.com/commits/50957?f=plain
            
      Always use TLS functions instead of __declspec(thread) to access 
      thread local storage variables.
      The change removes the necessity to recomplile the same source
      files twice -  with USE_TLS for DLLs and without USE_TLS for EXEs.
      Real benefit of this change is better readability and maintainability
      of TLS functions within MySQL.
                    
      There is a performance loss using TlsXXX functions compared to __declspec 
      but the difference is negligible in practice. In a sysbench-like benchmark 
      I ran with with TlsGetValue, pthread_[get|set]_specific was called 600000000 
      times and took 0.17sec of total 35min CPU time, or 0.008%.
      e6090f10
    • Vladislav Vaintroub's avatar
      fix tree name · 1ab25774
      Vladislav Vaintroub authored
      1ab25774
  6. 29 Sep, 2009 1 commit
  7. 28 Sep, 2009 2 commits
  8. 27 Sep, 2009 1 commit
  9. 25 Sep, 2009 7 commits
  10. 24 Sep, 2009 5 commits
  11. 23 Sep, 2009 6 commits