1. 11 May, 2009 1 commit
  2. 09 May, 2009 1 commit
  3. 06 May, 2009 1 commit
    • unknown's avatar
      We are now using Valgrind rather than purify, and have for quite some time. · 8eee7808
      unknown authored
      Consequently, rename HAVE_purify to HAVE_valgrind, and related changes.
      Leave some comments about purify when not clear that they apply also to Valgrind.
      Fix redundant IF_VALGRIND declaration.
      
      Misc. small fixes:
       - Fixes for pool-of-threads patch.
       - Fixes for push of PBXT storage engine.
       - mysql-test-run.pl fix.
       - Fix build problem in compile-pentium64-max.
      
      
      BUILD/SETUP.sh:
        Rename purify -> valgrind.
      BUILD/build_mccge.sh:
        Rename purify -> valgrind.
      BUILD/compile-dist:
        Fix that PBXT was missing in source tarball after `BUILD/compile-dist && make dist`
      BUILD/compile-pentium64-max:
        Fix a build problem with BUILD/compile-pentium64-max on CentOS/Fedora Core 10 amd64.
              
        On these systems, there is libz.so but no libz.a. Finding libz.so, ./configure decides
        to use system zlib. But since BUILD/compile-pentium64-max builds a fully static binary
        with -all-static, the link of mysqld fails due to missing libz.a.
              
        Fix by using bundled zlib in the build script.
      BUILD/compile-solaris-sparc-purify:
        Rename purify -> valgrind.
      include/m_string.h:
        Rename purify -> valgrind.
      include/my_global.h:
        Rename purify -> valgrind.
      mysql-test/Makefile.am:
        Fix that PBXT test suite was missing from `make dist` source tarball.
      mysql-test/lib/mtr_unique.pm:
        Better fix to avoid races when chmod'ing the semaphore file.
        (Though using chmod 666 shared files in /tmp/ is still not a very good solution).
      mysql-test/t/pool_of_threads.cnf:
        Fix that test case pool_of_threads fails if run on mysqld with no --with-libevent support.
      mysys/mf_qsort.c:
        Rename purify -> valgrind.
      mysys/my_alloc.c:
        Rename purify -> valgrind.
      mysys/my_init.c:
        Rename purify -> valgrind.
      mysys/my_rnd.c:
        Rename purify -> valgrind.
      mysys/safemalloc.c:
        Rename purify -> valgrind.
      scripts/mysql_config.pl.in:
        Rename purify -> valgrind.
      scripts/mysql_config.sh:
        Rename purify -> valgrind.
      sql/field_conv.cc:
        Rename purify -> valgrind.
      sql/filesort.cc:
        Rename purify -> valgrind.
      sql/ha_partition.cc:
        Rename purify -> valgrind.
      sql/hostname.cc:
        Rename purify -> valgrind.
      sql/item_timefunc.cc:
        Rename purify -> valgrind.
      sql/log_event.cc:
        Rename purify -> valgrind.
      sql/log_event_old.cc:
        Rename purify -> valgrind.
      sql/my_decimal.h:
        Rename purify -> valgrind.
      sql/mysqld.cc:
        Rename purify -> valgrind.
        Fix redundant IF_VALGRIND declaration.
      sql/opt_range.cc:
        Rename purify -> valgrind.
      sql/opt_range.h:
        Rename purify -> valgrind.
      sql/records.cc:
        Rename purify -> valgrind.
      sql/rpl_rli.cc:
        Rename purify -> valgrind.
      sql/rpl_rli.h:
        Rename purify -> valgrind.
      sql/set_var.cc:
        Fix missing static declaration on pool_of_threads.
      sql/slave.cc:
        Rename purify -> valgrind.
      sql/sql_base.cc:
        Rename purify -> valgrind.
      sql/sql_binlog.cc:
        Rename purify -> valgrind.
      sql/sql_class.cc:
        Rename purify -> valgrind.
      sql/sql_list.h:
        Rename purify -> valgrind.
      sql/sql_load.cc:
        Rename purify -> valgrind.
      sql/sql_select.cc:
        Rename purify -> valgrind.
      sql/table.cc:
        Rename purify -> valgrind.
      storage/archive/azio.c:
        Rename purify -> valgrind.
      storage/innobase/buf/buf0buf.c:
        Rename purify -> valgrind.
      storage/innobase/include/univ.i:
        Rename purify -> valgrind.
      storage/innobase/srv/srv0start.c:
        Rename purify -> valgrind.
      storage/maria/ha_maria.cc:
        Rename purify -> valgrind.
      storage/maria/ma_blockrec.c:
        Rename purify -> valgrind.
      storage/maria/ma_check.c:
        Rename purify -> valgrind.
      storage/maria/ma_loghandler.c:
        Rename purify -> valgrind.
      storage/maria/ma_packrec.c:
        Rename purify -> valgrind.
      storage/maria/ma_page.c:
        Rename purify -> valgrind.
      storage/maria/ma_pagecrc.c:
        Rename purify -> valgrind.
      storage/maria/ma_search.c:
        Rename purify -> valgrind.
      storage/myisam/mi_check.c:
        Rename purify -> valgrind.
      storage/myisam/mi_page.c:
        Rename purify -> valgrind.
      storage/myisam/mi_search.c:
        Rename purify -> valgrind.
      storage/myisammrg/ha_myisammrg.cc:
        Rename purify -> valgrind.
      strings/bcmp.c:
        Rename purify -> valgrind.
      strings/decimal.c:
        Rename purify -> valgrind.
      strings/strmake.c:
        Rename purify -> valgrind.
      8eee7808
  4. 23 Apr, 2009 1 commit
  5. 21 Apr, 2009 2 commits
  6. 08 Apr, 2009 6 commits
    • Michael Widenius's avatar
      Merge with Trunk · b10a690b
      Michael Widenius authored
      b10a690b
    • Michael Widenius's avatar
      Fixed wrong test for extra_ip_sock that caused mysqld to die on Mac if --extra-port was used · a98ccec6
      Michael Widenius authored
      sql/sql_string.cc:
        Optimized tests to do fewer reallocs
      sql/strfunc.cc:
        Indentation fix
      a98ccec6
    • unknown's avatar
      Merge mariadb-5.1 · 23fa4551
      unknown authored
      23fa4551
    • unknown's avatar
      Fix Valgrind errors seen in buildbot. · 406ccdff
      unknown authored
      Fix mysql-test-run.pl to not terminate early when warnings in error logs are detected during
      server shutdown. Instead, give a nice summary report at the end of the failures.
      
      Fix code to make 100% sure no failures will go undetected.
      
      Revert earlier wrong change.
      
      Fix race with port allocation semaphore file permissions.
      
      Adjust testsuite to copy with new PBXT engine now in the tree. The PBXT engine causes an
      extra table to appear in the INFORMATION_SCHEMA. This causes different output for a few
      test cases.
      
      dbug/dbug.c:
        If DbugParse() is called multiple times, the stack->keywords for the
        top stack frame could be overwritten without being freed, causing a
        memory leak reported by Valgrind.
      include/my_global.h:
        Add useful macro for different values when Valgrind (HAVE_purify) and not.
      mysql-test/extra/rpl_tests/rpl_auto_increment.test:
        Omit pbxt variables from show variables output.
      mysql-test/include/have_pbxt.inc:
        Add facility to disable test if PBXT engine is not available.
      mysql-test/lib/mtr_report.pm:
        Give a nice summary report at the end of tests of any warnings seen in logs during
        server shutdowns.
      mysql-test/lib/mtr_unique.pm:
        Move chmod 777 to greatly reduce the risk of leaving the port semaphore file unaccessible
        bu other users.
      mysql-test/mysql-test-run.pl:
        Don't abort in case of warnings detected, instead give a nice summary report.
        
        Fix code to make 100% sure no failures will go undetected.
        
        Revert earlier wrong change when master disconnects early.
      mysql-test/r/information_schema.result:
        Omit PBXT INFORMATION_SCHEMA table from output.
        Move part of test to information_schema_all_engines.
      mysql-test/r/information_schema_all_engines.result:
        New file for information_schema tests that depend on which engines are available.
      mysql-test/r/information_schema_db.result:
        Move part of test to information_schema_all_engines.
      mysql-test/r/innodb-autoinc.result:
        Omit pbxt variables from show variables output.
      mysql-test/r/mysqlshow.result:
        Move part of test to information_schema_all_engines.
      mysql-test/suite/rpl/r/rpl_auto_increment.result:
        Omit pbxt variables from show variables output.
      mysql-test/t/information_schema.test:
        Omit PBXT INFORMATION_SCHEMA table from output.
        Move part of test to information_schema_all_engines.
      mysql-test/t/information_schema_all_engines.test:
        New file for information_schema tests that depend on which engines are available.
      mysql-test/t/information_schema_db.test:
        Move part of test to information_schema_all_engines.
      mysql-test/t/innodb-autoinc.test:
        Omit pbxt variables from show variables output.
      mysql-test/t/mysqlshow.test:
        Move part of test to information_schema_all_engines.
      mysql-test/valgrind.supp:
        Add variant suppression (different system library versions).
        Add suppression for problem with inet_ntoa().
      sql/mysqld.cc:
        Fix missing DBUG_RETURN.
        Fix uninitialised thd->connect_utime, likely introduced by pool_of_threads.
      sql/set_var.cc:
        Fix one-byte buffer overflow in several places.
        Fix unsafe use of String::c_ptr() of stack-allocated String buffer.
      sql/sql_select.cc:
        Silence valgrind warning due to GCC bug.
      sql/sql_string.h:
        Document potential problem with String::c_ptr() and String() constructor with caller-supplied buffer.
      storage/archive/azio.c:
        Silence Valgrind false warning for libz.
      406ccdff
    • Michael Widenius's avatar
      Merge with trunc (no conflicts) · 3e514b84
      Michael Widenius authored
      3e514b84
    • Michael Widenius's avatar
      Updated comment · ae3b9048
      Michael Widenius authored
      ae3b9048
  7. 07 Apr, 2009 3 commits
  8. 03 Apr, 2009 3 commits
  9. 02 Apr, 2009 3 commits
  10. 01 Apr, 2009 1 commit
  11. 31 Mar, 2009 1 commit
    • unknown's avatar
      Fix build error after last push with --with-debug=full due to SAFEMALLOC now being · 0583a3a1
      unknown authored
      defined in my_config.h (as opposed to in CFLAGS before.)
      
      mysys/my_malloc.c:
        Need to include my_global.h before messing with SAFEMALLOC, as now that macro may be
        re-defined in my_config.h, which is included from my_global.h
      mysys/my_once.c:
        Need to include my_global.h before messing with SAFEMALLOC, as now that macro may be
        re-defined in my_config.h, which is included from my_global.h
      mysys/my_realloc.c:
        Need to include my_global.h before messing with SAFEMALLOC, as now that macro may be
        re-defined in my_config.h, which is included from my_global.h
      0583a3a1
  12. 26 Mar, 2009 1 commit
  13. 22 Mar, 2009 2 commits
    • Michael Widenius's avatar
      Merge with trunk · 26a03374
      Michael Widenius authored
      26a03374
    • Michael Widenius's avatar
      Apply patch by Antony Dovgal: · 801b9f40
      Michael Widenius authored
      - Move SAFE_MUTEX to be stored in config.h by configure.in (not as a flag used with compiler command line)
      - Generate my_config.h in configure
      
      BUILD/SETUP.sh:
        Remove -DSAFE_MUTEX as the following --with-debug flag will automaticly add it
      BUILD/compile-ia64-debug-max:
        Remove -DSAFE_MUTEX as the following --with-debug flag will automaticly add it
      configure.in:
        Move SAFE_MUTEX and SAFE_MALLOC to [my_] config.h
        Generate my_config.h as part of configure process
      dbug/dbug.c:
        Include my_global.h before we undef SAFE_MUTEX
      include/Makefile.am:
        Update comment. For now, lets generate my_config.h if someone deletes it after configure
      mysys/my_wincond.c:
        Include my_global.h before we undef SAFE_MUTEX
      mysys/my_winthread.c:
        Include my_global.h before we undef SAFE_MUTEX
      801b9f40
  14. 20 Mar, 2009 5 commits
    • unknown's avatar
      Merge · 6bfffc14
      unknown authored
      6bfffc14
    • unknown's avatar
      Remove redundant code, probably bad automerge · e0b39baf
      unknown authored
      e0b39baf
    • unknown's avatar
      BUG#43418: MTR2: does not notice a memory leak occuring at shutdown of · 965c0870
      unknown authored
      mysqld w/ --valgrind
      
       - Fixed by implementing parsing of error log messages generated outside of
         test case runs (eg. during server shutdown).
      
      Also make mysql-test-run.pl not delete the error log after server restart,
      which looses information about which warnings were found.
      
      Finally, make multi_update2 a --big test.
      
      mysql-test/lib/My/Test.pm:
        Fix home-brewed (and broken) serialization in My::Test to use the standard
        Storable serializer.
      mysql-test/mysql-test-run.pl:
         - Stop mysqld servers gracefully rather than kill -9 when
           warnings are being checked.
        
         - After stopping mysqld servers, do an additional parse of the error
           log to check for any warnings generated during shutdown.
          
         - Fix error log parsing to be careful not to skip parsing part of the
           file, by keeping track of previous file position rather than
           relying on mark_log markers.
        
         - Workers report warnings during shutdown to the master process with
           a new packet 'WARNINGS' which includes a list of names of test that
           might have caused the problem (could be any test run since last
           server start).
          
         - Fail entire test suite if warnings are found.
        
         - When we remove the server data dir before server restart, preserve the
           error log (don't delete it between restarts), as it may contain
           valuable information even for test cases which don't show direct
           failures.
      mysql-test/t/multi_update2.test:
        Make test --big, as it takes a _long_ time to run and only tests a single bug.
      965c0870
    • Michael Widenius's avatar
      Merge with trunk · 5941c954
      Michael Widenius authored
      5941c954
    • Michael Widenius's avatar
      Avoid compiler warnings on windows · 1e6cd181
      Michael Widenius authored
      include/config-win.h:
        Added missing typedef ssize_t
        Added some other useful defines from MySQL 6.0
      unittest/mysys/waiting_threads-t.c:
        Fixed link failure for 'ftruncate' on Windows
      1e6cd181
  15. 18 Mar, 2009 3 commits
    • unknown's avatar
      Add testing of extra port for pool-of-threads. · 01cf43c9
      unknown authored
      The additional test uses up all threads in the pool with SELECT
      SLEEP(), and tests that this makes normal connections block, but
      connections on the extra port still work.
      
      Also test connection limit on extra port with and without
      pool-of-threads enabled.
      
      Add --connect-timeout option to mysqltest program.
      
      Add facility for --extra-port option to ConfigFactory.
      
      Fix regexp typo in ConfigFactory.pm
      01cf43c9
    • Michael Widenius's avatar
      Ignore generated file event-config.h · 9d29ed5d
      Michael Widenius authored
      9d29ed5d
    • Michael Widenius's avatar
      Added mariadb and mariadb-version as my.conf option tags · cec86f8f
      Michael Widenius authored
      Fixed compiler error when configuring without --lib-event
      
      include/mysql_version.h.in:
        Added mariadb-'version' as a my.cnf option tag for mysqld
      sql/mysqld.cc:
        Added mariadb and mariadb-version as my.conf option tags
      cec86f8f
  16. 17 Mar, 2009 1 commit
    • unknown's avatar
      Fixed bug of waiting for flush pass end. · ea973057
      unknown authored
      storage/maria/ma_loghandler.c:
        Fixed bug of waiting for flush pass end: in case of two sequential flushes waiting thread can not detect end of the pass it is waiting because till the time it will check the flush in progress flag will be set on again. Solution is to have pass number and compare the number before before waits start and check it as condition of the flush pass end (of course it does not matter if the counter of pass number overflows).
      ea973057
  17. 13 Mar, 2009 1 commit
  18. 12 Mar, 2009 2 commits
    • Michael Widenius's avatar
      Added missing fix from last commit · b2fb0601
      Michael Widenius authored
      b2fb0601
    • Michael Widenius's avatar
      Added "pool-of-threads" handling (with libevent) · 67a0eb64
      Michael Widenius authored
      This is a backport of code from MySQL 6.0 with cleanups and extensions
      
      The following new options are supported
      configure options:
        --with-libevent                  ; Enable use of libevent, which is needed for pool of threads
      
      mysqld options:
      --thread-handling=pool-of-threads  ; Use a pool of threads to handle queries
      --thread-pool-size=#               ; Define how many threads should be created to handle all queries
      --extra-port=#                     ; Extra tcp port that uses the old one-thread-per-connection method
      --extra-max-connections=#          ; Number of connections to accept to 'extra-port'
      --test-ignore-wrong-options        ; Ignore setting an enum value to a wrong option (for mysql-test-run)
      
      
      
      BUILD/SETUP.sh:
        Added libevents (and thus pool-of-threads) to max builds
      CMakeLists.txt:
        Added libevent
      Makefile.am:
        Added libevents
      config/ac-macros/libevent.m4:
        Libevent code for configure
      config/ac-macros/libevent_configure.m4:
        Libevent code for configure
      configure.in:
        Added libevents
      dbug/dbug.c:
        Added _db_is_pushed(); Needed for pool-of-threads code
      extra/Makefile.am:
        Added libevents
      extra/libevent:
        Libevent initial code
      extra/libevent/CMakeLists.txt:
        Libevent initial code
      extra/libevent/Makefile.am:
        Libevent initial code
      extra/libevent/README:
        Libevent initial code
      extra/libevent/WIN32-Code:
        Libevent initial code
      extra/libevent/WIN32-Code/config.h:
        Libevent initial code
      extra/libevent/WIN32-Code/misc.c:
        Libevent initial code
      extra/libevent/WIN32-Code/misc.h:
        Libevent initial code
      extra/libevent/WIN32-Code/tree.h:
        Libevent initial code
      extra/libevent/WIN32-Code/win32.c:
        Libevent initial code
      extra/libevent/buffer.c:
        Libevent initial code
      extra/libevent/compat:
        Libevent initial code
      extra/libevent/compat/sys:
        Libevent initial code
      extra/libevent/compat/sys/_time.h:
        Libevent initial code
      extra/libevent/compat/sys/queue.h:
        Libevent initial code
      extra/libevent/compat/sys/tree.h:
        Libevent initial code
      extra/libevent/devpoll.c:
        Libevent initial code
      extra/libevent/epoll.c:
        Libevent initial code
      extra/libevent/epoll_sub.c:
        Libevent initial code
      extra/libevent/evbuffer.c:
        Libevent initial code
      extra/libevent/evdns.c:
        Libevent initial code
      extra/libevent/evdns.h:
        Libevent initial code
      extra/libevent/event-config.h:
        Libevent initial code
      extra/libevent/event-internal.h:
        Libevent initial code
      extra/libevent/event.c:
        Libevent initial code
      extra/libevent/event.h:
        Libevent initial code
      extra/libevent/event_tagging.c:
        Libevent initial code
      extra/libevent/evhttp.h:
        Libevent initial code
      extra/libevent/evport.c:
        Libevent initial code
      extra/libevent/evrpc-internal.h:
        Libevent initial code
      extra/libevent/evrpc.c:
        Libevent initial code
      extra/libevent/evrpc.h:
        Libevent initial code
      extra/libevent/evsignal.h:
        Libevent initial code
      extra/libevent/evutil.c:
        Libevent initial code
      extra/libevent/evutil.h:
        Libevent initial code
      extra/libevent/http-internal.h:
        Libevent initial code
      extra/libevent/http.c:
        Libevent initial code
      extra/libevent/kqueue.c:
        Libevent initial code
      extra/libevent/log.c:
        Libevent initial code
      extra/libevent/log.h:
        Libevent initial code
      extra/libevent/min_heap.h:
        Libevent initial code
      extra/libevent/poll.c:
        Libevent initial code
      extra/libevent/select.c:
        Libevent initial code
      extra/libevent/signal.c:
        Libevent initial code
      extra/libevent/strlcpy-internal.h:
        Libevent initial code
      extra/libevent/strlcpy.c:
        Libevent initial code
      include/config-win.h:
        Libevent support
      include/my_dbug.h:
        ADded _db_is_pushed
      include/mysql.h.pp:
        Update to handle new prototypes
      include/typelib.h:
        Split find_type_or_exit() into two functions
      include/violite.h:
        Added vio_is_pending()
      libmysqld/Makefile.am:
        Added libevent
      mysql-test/include/have_pool_of_threads.inc:
        Added test for pool-of-threads
      mysql-test/mysql-test-run.pl:
        Don't abort based on time and don't retry test cases when run under --gdb or --debug
      mysql-test/r/crash_commit_before.result:
        USE GLOBAL for debug variable
      mysql-test/r/have_pool_of_threads.require:
        Added test for pool-of-threads
      mysql-test/r/pool_of_threads.result:
        Added test for pool-of-threads
      mysql-test/r/subselect_debug.result:
        USE GLOBAL for debug variable
      mysql-test/t/crash_commit_before.test:
        USE GLOBAL for debug variable
      mysql-test/t/merge-big.test:
        USE GLOBAL for debug variable
      mysql-test/t/pool_of_threads-master.opt:
        Added test for pool-of-threads
      mysql-test/t/pool_of_threads.test:
        Added test for pool-of-threads
      mysys/typelib.c:
        Split find_type_or_exit() into find_type_with_warning()
      sql/Makefile.am:
        Added libevent
      sql/handler.cc:
        Indentation fix.
        Fixed memory loss bug
        Fixed crash on exit when handler plugin failed
      sql/mysql_priv.h:
        Added extra_max_connections and mysqld_extra_port
        Added extern functions from sql_connect.cc
      sql/mysqld.cc:
        Added support for new mysqld options
        Added code for 'extra-port' and 'extra-max-connections'
        Split some functions into smaller pieces to be able to reuse code
        Added code for test-ignore-wrong-options
      sql/scheduler.cc:
        Updated schduler code from MySQL 6.0
      sql/scheduler.h:
        Updated schduler code from MySQL 6.0
      sql/set_var.cc:
        Added support for changing "extra_max_connections"
      sql/sql_class.cc:
        Iniitalize thread schduler options in THD
      sql/sql_class.h:
        Added to extra_port and scheduler to 'THD'
      sql/sql_connect.cc:
        Use thd->schduler to check number of connections and terminate connection
        Made some local functions global (for scheduler.cc)
      vio/viosocket.c:
        Added 'vio_pending', needed for scheduler..c
      67a0eb64
  19. 09 Mar, 2009 1 commit
  20. 05 Mar, 2009 1 commit