1. 10 Jun, 2009 1 commit
    • unknown's avatar
      Fix XtraDB to build with atomic operations, for good performance. · d2d7b5bb
      unknown authored
      The root of the problem is that ./configure mixed together two different things. One is the
      availability of GCC atomic operation intrinsics. The other is the selection of which
      primitives to use for my_atomic implementation.
      
      Then at some point a hack was made to not use GCC intrinsics in my_atomic to work around
      some test failures. But because the two things are mixed in ./configure, this as a side
      effect also makes GCC intrinsics unavailable for XtraDB.
      
      Fixed by splitting this in two in configure, so that we have HAVE_GCC_ATOMIC_BUILTINS for
      GCC intrinsics availability and MY_ATOMIC_MODE_GCC_BUILTINS for use in my_atomic.
      d2d7b5bb
  2. 09 Jun, 2009 4 commits
    • unknown's avatar
      XtraDB after-merge fixes. · bb9a3f0c
      unknown authored
      Fixes to get the test suite to run without failures.
      
      mysql-test/r/information_schema.result:
        Additional variables available now.
        Sort output to avoid depending on engine order.
      mysql-test/r/information_schema_all_engines.result:
        More variables now.
      mysql-test/r/innodb-autoinc.result:
        Avoid picking up pbxt variables in result
      mysql-test/r/innodb-index.result:
        Save state to not corrupt following testcases.
        Suppress an expected warning.
      mysql-test/r/innodb-zip.result:
        Work around a problem with dependency on zlib version
      mysql-test/r/innodb.result:
        Checksums have changed in Maria.
        Save and restore server state to not corrupt following testcases.
      mysql-test/r/innodb_bug36169.result:
        Save and restore server state to not corrupt following testcases.
      mysql-test/r/innodb_xtradb_bug317074.result:
        Save and restore server state to not corrupt following testcases.
      mysql-test/r/row-checksum-old.result:
        Update result file
      mysql-test/r/row-checksum.result:
        Update result file
      mysql-test/t/information_schema.test:
        Sort output to avoid depending on engine order.
      mysql-test/t/innodb-analyze.test:
        Save and restore server state to not corrupt following testcases.
      mysql-test/t/innodb-autoinc.test:
        Save and restore server state to not corrupt following testcases.
      mysql-test/t/innodb-index.test:
        Save state to not corrupt following testcases.
        Suppress an expected warning.
      mysql-test/t/innodb-zip.test:
        Work around a problem with dependency on zlib version
      mysql-test/t/innodb.test:
        Save and restore server state to not corrupt following testcases.
        Update --replace statements for new mysql-test-run
      mysql-test/t/innodb_bug34300.test:
        Save and restore server state to not corrupt following testcases.
      mysql-test/t/innodb_bug36169.test:
        Save and restore server state to not corrupt following testcases.
      mysql-test/t/innodb_bug36172.test:
        Save and restore server state to not corrupt following testcases.
      mysql-test/t/innodb_xtradb_bug317074.test:
        Save and restore server state to not corrupt following testcases.
      mysql-test/t/partition_innodb.test:
        Fix regexps to work with new SHOW INNODB STATUS output.
      mysys/thr_mutex.c:
        Initialize mutex deadlock detection lazily.
        This allows to test XtraDB, which initializes huge amounts of mutexes without using any but a few of them.
      storage/xtradb/ibuf/ibuf0ibuf.c:
        Fix problem where value of INNODB_IBUF_MAX_SIZE would depend on the alignment of memory
        allocated by the buffer pool.
      storage/xtradb/include/sync0rw.h:
        Fix XtraDB to compile without GCC atomic operation intrinsics (performance may suffer
        when they are not available though).
      storage/xtradb/include/sync0rw.ic:
        Fix XtraDB to compile without GCC atomic operation intrinsics (performance may suffer
        when they are not available though).
      storage/xtradb/include/univ.i:
        Fix for MariaDB
      storage/xtradb/setup.sh:
        Remove no longer needed file from XtraDB.
      storage/xtradb/srv/srv0start.c:
        Fix for MariaDB
      bb9a3f0c
    • unknown's avatar
      XtraDB after-merge fixes. · a03c9ff5
      unknown authored
      The original XtraDB (and InnoDB plugin) is shipped as a separate source tree which is copied
      into the MySQL source, after which a setup.sh script must be run to move things into place.
      
      Now that XtraDB is part of the MariaDB source tree, this commit fixes these things up once
      and for all:
      
       - New innodb build scripts.
       - Test suite fixes (new tests and patches to existing).
       - Remove files no longer needed due to this.
      a03c9ff5
    • unknown's avatar
      XtraDB after-merge fix: Fix building from storage/xtradb/ instead of storage/innodb/ · 8be051d7
      unknown authored
      .bzrignore:
        XtraDB compiles innodb in storage/xtradb instead of storage/innobase
      CMakeLists.txt:
        Take InnoDB code from storage/xtradb/ instead of storage/innobase/
      libmysqld/CMakeLists.txt:
        Take InnoDB code from storage/xtradb/ instead of storage/innobase/
      storage/innobase/plug.in.disabled:
        Disable building old InnoDB from storage/innobase/ directory.
        
        We will keep the files around to avoid getting merge conflicts for every MySQL upstream
        change to InnoDB.
      storage/xtradb/CMakeLists.txt:
        Take InnoDB code from storage/xtradb/ instead of storage/innobase/
      storage/xtradb/COPYING:
        Remove not needed file from XtraDB.
      storage/xtradb/Makefile.am:
        Take InnoDB code from storage/xtradb/ instead of storage/innobase/
      storage/xtradb/Makefile.in:
        Remove not needed file from XtraDB.
      storage/xtradb/handler/ha_innodb.cc:
        Take InnoDB code from storage/xtradb/ instead of storage/innobase/
      storage/xtradb/plug.in:
        Take InnoDB code from storage/xtradb/ instead of storage/innobase/
      storage/xtradb/row/row0ins.c:
        Take InnoDB code from storage/xtradb/ instead of storage/innobase/
      8be051d7
    • unknown's avatar
      a6b7f713
  3. 06 May, 2009 1 commit
    • unknown's avatar
      We are now using Valgrind rather than purify, and have for quite some time. · b125770a
      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.
      b125770a
  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 · 7e44eb89
      Michael Widenius authored
      7e44eb89
    • Michael Widenius's avatar
      Fixed wrong test for extra_ip_sock that caused mysqld to die on Mac if --extra-port was used · b09c0acd
      Michael Widenius authored
      sql/sql_string.cc:
        Optimized tests to do fewer reallocs
      sql/strfunc.cc:
        Indentation fix
      b09c0acd
    • unknown's avatar
      Merge mariadb-5.1 · 83290da1
      unknown authored
      83290da1
    • unknown's avatar
      Fix Valgrind errors seen in buildbot. · c558b3e0
      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.
      c558b3e0
    • Michael Widenius's avatar
      Merge with trunc (no conflicts) · 21a195dd
      Michael Widenius authored
      21a195dd
    • Michael Widenius's avatar
      Updated comment · 92b2b45e
      Michael Widenius authored
      92b2b45e
  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 · 6120cc96
      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
      6120cc96
  12. 26 Mar, 2009 2 commits
  13. 22 Mar, 2009 2 commits
    • Michael Widenius's avatar
      Merge with trunk · 032ef1fa
      Michael Widenius authored
      032ef1fa
    • Michael Widenius's avatar
      Apply patch by Antony Dovgal: · 46db8aac
      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
      46db8aac
  14. 20 Mar, 2009 5 commits
    • unknown's avatar
      Merge · 90151609
      unknown authored
      90151609
    • unknown's avatar
      Remove redundant code, probably bad automerge · 30f41550
      unknown authored
      30f41550
    • unknown's avatar
      BUG#43418: MTR2: does not notice a memory leak occuring at shutdown of · 8193c327
      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.
      8193c327
    • Michael Widenius's avatar
      Merge with trunk · 806ec1b0
      Michael Widenius authored
      806ec1b0
    • Michael Widenius's avatar
      Avoid compiler warnings on windows · 4dc093ce
      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
      4dc093ce
  15. 18 Mar, 2009 3 commits
    • unknown's avatar
      Add testing of extra port for pool-of-threads. · ce956c8f
      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
      ce956c8f
    • Michael Widenius's avatar
      Ignore generated file event-config.h · 2611d3c0
      Michael Widenius authored
      2611d3c0
    • Michael Widenius's avatar
      Added mariadb and mariadb-version as my.conf option tags · 4c83c570
      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
      4c83c570
  16. 17 Mar, 2009 1 commit
    • unknown's avatar
      Fixed bug of waiting for flush pass end. · 36252821
      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).
      36252821
  17. 13 Mar, 2009 1 commit