1. 05 Dec, 2010 1 commit
    • Michael Widenius's avatar
      Fixes to not trigger end-consistency testing of pagecache. · 420b6312
      Michael Widenius authored
      - Moved end_pagecache() to after maria_close()
      - Flush page cache before closing files (in maria_pack)
      Fixed test suite failure for PBXT
      
      mysql-test/suite/pbxt/r/select.result:
        We mask out the 'rows' column because it may differ from run to run
      mysql-test/suite/pbxt/t/select.test:
        We mask out the 'rows' column because it may differ from run to run
      storage/maria/maria_chk.c:
        Moved end_pagecache() to after maria_close() to not trigger end-consistency testing of pagecache.
      storage/maria/maria_pack.c:
        Moved end_pagecache() to after maria_close() to not trigger end-consistency testing of pagecache.
        flush page cache before closing files.
      420b6312
  2. 04 Dec, 2010 5 commits
  3. 03 Dec, 2010 1 commit
    • Michael Widenius's avatar
      Fixed compiler warnings. · 60f42a46
      Michael Widenius authored
      Fixed timing test failures.
      Fixed a failure in the Aria engines page cache and log handler (found with maria.maria-big test)
      - This could cause a core dump when deleting big blobs.
      - Added test to end_pagecache() to verify that page cache was correctly used.
        - inc_counter_for_resize_op and dec_counter_for_resize_op are called same number of times.
        - All page cache blocks was properly deallocated (empty)
      
      
      mysql-test/suite/innodb/t/innodb_bug38231.test:
        Fixed timing issue (code comment says it all)
      mysql-test/suite/innodb_plugin/t/innodb_bug38231.test:
        Fixed timing issue (code comment says it all)
      sql/debug_sync.cc:
        Fixed compiler warning
      storage/maria/ma_loghandler.c:
        Fixed bug found by maria.maria-big test:
        - Fixed race condition between update thread logging a very big blog and checkpoint thread.
      storage/maria/ma_pagecache.c:
        Added assert to ensure mutex was properly locked.
        Added test to end_pagecache() to verify that page cache was correctly used.
        - inc_counter_for_resize_op and dec_counter_for_resize_op are called same number of times.
        - All page cache blocks was properly deallocated (empty)
        In pagecache_delete_internal(), properly reset counters and pins if functions aborts.
        Added missing inc_counter_for_resize_op() to pagecache_wait_lock().
        Added missing dec_counter_for_resize_op() to pagecache_delete()
      60f42a46
  4. 02 Dec, 2010 1 commit
    • unknown's avatar
      Fix problems seen in Buildbot: · 122491e4
      unknown authored
       - Make sure creation of t1 is replicated before trying to create trigger on it on slave
       - Use safe #ifdef for declaration as for definition to avoid warning about unused static function.
      122491e4
  5. 01 Dec, 2010 2 commits
  6. 30 Nov, 2010 2 commits
    • unknown's avatar
      Bug#54201: "SET INSERT_ID" event must be ignored if corresponding event is ignored · 3f8b7252
      unknown authored
      An INSERT query log event is preceeded by an INSERT_ID intvar event if the
      INSERT allocates a new auto_increment value. But if we ignore the INSERT
      due to --replicate-ignore-table or similar, then the INSERT_ID event is
      still executed, and the set value of INSERT_ID lingers around in the
      slave sql thread THD object indefinitely until the next INSERT that
      happens to need allocation of a new auto_increment value.
      
      Normally this does not cause problems as such following INSERT would
      normally come with its own INSERT_ID event. In this bug, the user had
      a trigger on the slave which was missing on the master, and this
      trigger had an INSERT which could be affected. In any case, it seems
      better to not leave a stray INSERT_ID hanging around in the sql thread
      THD indefinitely.
      
      Note that events can also be skipped from apply_event_and_update_pos();
      however it is not possible in that code to skip the INSERT without also
      skipping the INSERT_ID event.
      3f8b7252
    • Michael Widenius's avatar
      Automatic merge with 5.1-release · 3aa65595
      Michael Widenius authored
      3aa65595
  7. 29 Nov, 2010 4 commits
    • Michael Widenius's avatar
      Fixed some compiler warnings · 8513393b
      Michael Widenius authored
      configure.in:
        Added comment
      mysql-test/suite/innodb_plugin/t/innodb_bug56680.test:
        Disable test when run with valgrind as we get errors from buf_buddy_relocate() on work for this test.
        (Should probably be investigated as this may be an issue in xtradb, but probably harmless)
        Work is an amd-64 running openSUSE 1.11 and valgrind 3.4.1
      mysys/charset.c:
        Remove static function if not used (to remove compiler warning)
      storage/xtradb/srv/srv0srv.c:
        Added casts to get rid of compiler warnings
      8513393b
    • Hakan Kuecuekyilmaz's avatar
    • Michael Widenius's avatar
      Automatic merge with 5.1-release · 96c0b965
      Michael Widenius authored
      96c0b965
    • Michael Widenius's avatar
      Fixed compiler and gmake warnings · 8379999e
      Michael Widenius authored
      - Removed SCCS rule from Makefile.am
      - Made dummy rule in sql_yacc.yy to get rid of compiler warning about not used label.
      Don't use maintainer mode with valgrind (as we don't want to initialize all variables)
      
      config/ac-macros/maintainer.m4:
        Don't use maintainer mode with valgrind (as we don't want to initialize all variables)
        Force initialization of variables when using -Werror (To get rid of compiler warnings)
      configure.in:
        Don't use maintainer mode with valgrind (as we don't want to initialize all variables)
      sql/sql_yacc.yy:
        Made dummy rule in sql_yacc.yy to get rid of compiler warning about not used label.
      8379999e
  8. 26 Nov, 2010 2 commits
    • Michael Widenius's avatar
      Fixed compiler warnings and a compilation failure on windows · 39d56986
      Michael Widenius authored
      extra/libevent/event.c:
        Tried to fix compiler warning on windows
      extra/libevent/evutil.h:
        Define __attribute__ for not gcc compilers
      extra/libevent/kqueue.c:
        Fixed compiler warnings
      extra/libevent/signal.c:
        Tried to fix compiler warning on windows
      storage/pbxt/src/ha_pbxt.cc:
        Fixed compiler warning about "variable might be clobbered by longjmp"
      storage/pbxt/src/table_xt.cc:
        Fixed compiler warnings (on windows)
      storage/xtradb/handler/i_s.cc:
        Fixed compiler warning by invoking the correct store function.
      39d56986
    • Michael Widenius's avatar
      Patch from Sergey Petrunya: · e0b7ad93
      Michael Widenius authored
      Fix post-merge failure in 5.1-merge 
      - Let QUICK_RANGE_INTERSECT_SELECT not make assumption that HA_EXTRA_KEYREAD 
        scans do not touch parts of table->record[0] that refer to fields that are 
        not covered by the used index.
        This assumption is not true for XtraDB (e.g. grep row/row0sel.c for 
        "init null bytes with default values as they might be").
      e0b7ad93
  9. 25 Nov, 2010 5 commits
    • Michael Widenius's avatar
      Automatic merge with 5.1 · 99b3beae
      Michael Widenius authored
      99b3beae
    • Michael Widenius's avatar
      Fixed failing test cases · d1b731d0
      Michael Widenius authored
      mysql-test/include/have_not_innodb_plugin.inc:
        Also detect if xtradb is installed
      mysql-test/suite/innodb/t/innodb_bug56143.test:
        Disabled test case that doesn't work for innodb_plugin/xtradb.
      mysql-test/suite/innodb_plugin/r/innodb_bug56632.result:
        Updated result (key_block_size is lower case in MariaDB, as all other options)
      mysql-test/suite/pbxt/r/partition_hash.result:
        Updated results (after partition row count optimization changes)
      mysql-test/suite/pbxt/r/partition_pruning.result:
        Updated results (after partition row count optimization changes)
      mysql-test/suite/pbxt/r/partition_range.result:
        Updated results (after partition row count optimization changes)
      mysql-test/suite/pbxt/r/subselect.result:
        Updated result after ROW() changes.
      d1b731d0
    • Michael Widenius's avatar
      Merge of innodb_plugin for MySQL 5.1.53 with xtradb · bebb49b9
      Michael Widenius authored
      Fixed compiler warnings in xtradb
      Added back resetting of null bitmap but now in row_search_for_mysql()
      
      storage/xtradb/row/row0sel.c:
        Added back resetting of null bitmap but now in row_search_for_mysql()
      bebb49b9
    • Michael Widenius's avatar
      A proper fix for bug #57688. · b3d1ad17
      Michael Widenius authored
      Introduced a new flag in the class Item. The flag is set
      to 1 only for items that are used in GROUP BY lists of
      queries with ROLLUP.
      b3d1ad17
    • Michael Widenius's avatar
      Automatic merge with base · 8923c68e
      Michael Widenius authored
      8923c68e
  10. 24 Nov, 2010 4 commits
  11. 23 Nov, 2010 4 commits
  12. 18 Nov, 2010 1 commit
  13. 17 Nov, 2010 1 commit
    • unknown's avatar
      MWL#74: Shared libmysqld.so library. · cc58caf8
      unknown authored
      Switch makefiles to use libtool to build libmysqld.so, as well as all its
      dependencies.
      
      The previous MYSQL_PLUGIN_DEPENDS_ON_MYSQL_INTERNALS() declaration is removed,
      as it does not work well with a libtool build. Instead, plugins that need it
      can specify an alternate object in MYSQL_PLUGIN_STATIC() that will be used for
      embedded library. The plugin must then take care itself of compiling the
      special object for embedded, rebuilding the source files previously listed in
      MYSQL_PLUGIN_DEPENDS_ON_MYSQL_INTERNALS() with @plugin_embedded_defs@ in
      CFLAGS/CXXFLAGS. The extra target @XXX_embedded_static_target@ is available
      for the special object, this will be empty when --without-embedded-server.
      
      All in-tree plugins are changed to build their static targets with libtool.
      Additional plugins that want to work with libmysqld.so will need to be
      similarly modified to build with libtool (or otherwise provide an -fPIC
      object). Dynamically loaded plugins are not affected.
      
      The old libraries like libmysys.a, libmyisam.a and similar libraries, which
      were installed by `make install` though this is of little use, are still built
      and installed to not break package scripts etc. that expect them. These
      libraries are kept static to avoid introducing new .so dependencies.
      
      The patch also fixes a handfull of duplicate symbol linker errors, where we
      included some object twice during linking; these for one reason or another did
      not produce errors before but caused problems on some platforms with this
      patch (eg. Mac OS X linker is more strict for shared objects).
      
      This patch only does what is necessary to build libmysqld.so. There are some
      more cleanups that are possible now that we are using libtool more fully,
      which could done in subsequent patches (though we may not bother as we are
      switching from autotools to CMake anyway):
      
       - In libmysql_r/, we should be able to just link libmysys.la etc, instead of
         symlinking and re-compiling sources into the directory.
      
       - In libmysql/, we can similarly avoid symlinking and recompiling sources if
         we instead build a libmysys_nothread.la library with appropriate CFLAGS and
         link that.
      
       - In sql/, we can build a separate target libmysql_int.la with appropriate
         CFLAGS for embedded and use that in libmysqld/ instead of symlinking
         sources.
      
       - libmysys.a, libmyisam.a and similar libraries could be installed as .so
         also to save on code size; or alternatively could be not installed at all.
      
      
      client/Makefile.am:
        Updated for using libtool
      config/ac-macros/plugins.m4:
        Replace MUSQL_PLUGIN_DEPENDS_ON_MYSQL_INTERNALS with mechanism for plugins
        to specify alternate object for embedded.
      configure.in:
        Fix linking duplicate objects related to THREAD_LOBJECTS.
      dbug/Makefile.am:
        Updated for using libtool
      extra/Makefile.am:
        Fix relative paths.
      libmysqld/Makefile.am:
        Build libmysqld.la using libtool
      libmysqld/examples/Makefile.am:
        Updated to use libtool
      mysys/Makefile.am:
        Updated to use libtool.
        Fix linking duplicate objects related to THREAD_LOBJECTS.
      mysys/my_uuid.c:
        Fix conflicting global mutex name by making it static.
      regex/Makefile.am:
        Updated to use libtool
      sql/Makefile.am:
        Updated to use libtool
      sql/item_func.cc:
        Fix conflicting mutex name.
      sql/mysql_priv.h:
        Fix conflicting mutex name
      sql/mysqld.cc:
        Fix conflicting mutex name.
        Add missing call of my_uuid_end().
      storage/archive/Makefile.am:
        Updated to use libtool
      storage/archive/plug.in:
        Updated to use libtool
      storage/blackhole/Makefile.am:
        Updated to use libtool
      storage/blackhole/plug.in:
        Updated to use libtool
      storage/csv/Makefile.am:
        Updated to use libtool
      storage/csv/plug.in:
        Updated to use libtool
      storage/example/Makefile.am:
        Updated to use libtool
      storage/federated/Makefile.am:
        Updated to use libtool
      storage/federated/plug.in:
        Updated to use libtool
      storage/federatedx/Makefile.am:
        Updated to use libtool
      storage/federatedx/plug.in:
        Updated to use libtool
      storage/heap/Makefile.am:
        Updated to use libtool
      storage/heap/plug.in:
        Updated to use libtool
      storage/innobase/Makefile.am:
        Updated to use libtool
      storage/innobase/plug.in.disabled:
        Updated to use libtool
      storage/innodb_plugin/Makefile.am:
        Updated to use libtool
      storage/maria/CMakeLists.txt:
        Fix linking duplicate object in maria_dump_log, causes failure on Mac OS X
      storage/maria/Makefile.am:
        Updated to use libtool
        Fix linking duplicate object in maria_dump_log, causes link failure on Mac OS X
      storage/maria/ma_loghandler.c:
        Move maria_dump_log code to separate file to fix duplicate object link failures.
      storage/maria/ma_loghandler.h:
        Move maria_dump_log code to separate file to fix duplicate object link failures.
      storage/maria/maria_dump_log.c:
        Move maria_dump_log code to separate file to fix duplicate object link failures.
      storage/maria/plug.in:
        Updated to use libtool
      storage/myisam/Makefile.am:
        Updated to use libtool
      storage/myisam/plug.in:
        Updated to use libtool
      storage/myisammrg/Makefile.am:
        Updated to use libtool
      storage/myisammrg/plug.in:
        Updated to use libtool
      storage/pbxt/plug.in:
        Updated to use libtool
      storage/pbxt/src/Makefile.am:
        Updated to use libtool
      storage/xtradb/Makefile.am:
        Updated to use libtool
      storage/xtradb/plug.in:
        Updated to use libtool
      strings/Makefile.am:
        Updated to use libtool
      unittest/unit.pl:
        Don't attempt to run libtool internal files as unit tests.
      vio/Makefile.am:
        Updated to use libtool
      cc58caf8
  14. 09 Nov, 2010 1 commit
    • unknown's avatar
      MBug#643463: Slow XtraDB shutdown: Fix more sleeps delaying shutdown. · 0c7116b9
      unknown authored
      This patch removes most remaining delays due to uninteruptible sleep()
      during shutdown, as found using PMP. This makes standard test run very
      close in speed to with --loose-innodb-fast-shutdown=2, and greatly
      speeds up running the test suite.
      
      sql/mysqld.cc:
        Poll for threads to die every 20 msec during shutdown, rather than force
        a wait for 2 full seconds should one thread be a little slow to exit
        (this was seen occasionally in mysql-test-run).
      storage/xtradb/include/srv0srv.h:
        Rename the event, as we now use it to wakeup more threads during shutdown.
      storage/xtradb/log/log0log.c:
        Rename the event, as we now use it to wakeup more threads during shutdown.
      storage/xtradb/srv/srv0srv.c:
        Replace some hardcoded sleep()s with os_wait_event_time() that can be
        interrupted early during server shutdown to avoid unnecessary delays.
      0c7116b9
  15. 16 Nov, 2010 2 commits
  16. 15 Nov, 2010 1 commit
    • Michael Widenius's avatar
      Fixed bug discovered by testcase for LP#618558 (original bug seams to be fixed): · 52a37d08
      Michael Widenius authored
      - Fixed bug in pagecache_delete_internal() when deleting block that was flushed by another thread (fixed bug when block->next_used was unexpectedly null)
      Fixed some using uninitialized memory warnings found by valgrind. 
      
      mysql-test/t/information_schema_all_engines-master.opt:
        Added options to make slow test run faster
      sql/sp.cc:
        Fixed valgrind warning.
      sql/sql_show.cc:
        Fixed valgrind warning.
      storage/maria/ma_bitmap.c:
        Fixed wrong call parameter to pagecache_unlock_by_link() that caused assert crash in pagecache
      storage/maria/ma_pagecache.c:
        Fixed possible error in pagecache_wait_lock() when hash_link was not set. (We never hit this issue, but could be possible when two threads updates the same page.
        Fixed bug in pagecache_delete_internal() when deleting block that was flushed by another thread (fixed bug when block->next_used was unexpectedly null)
        Cleanup: moved pagecache_pthread_mutex_unlock() over comments and asserts to be just before pagecache_fwrite()
      52a37d08
  17. 07 Nov, 2010 1 commit
    • Michael Widenius's avatar
      Added option BACKUP_ALL to mysqld --myisam-recover to also get a backup of the... · 843f2256
      Michael Widenius authored
      Added option BACKUP_ALL to mysqld --myisam-recover to also get a backup of the index file before it's repaired.
      Removed wrong call to translog_buffer_unlock() that caused 'unlocking not locked mutex' failure in Aria log handler.
      
      extra/replace.c:
        Updated call to my_redel()
      include/maria.h:
        Updated prototype for maria_change_to_newfile
      include/my_sys.h:
        Updated prototypes
        Added my_create_backup_name
      include/myisam.h:
        Updated prototypes
      include/myisamchk.h:
        Added 'backup_time' to st_handler_check_param to be able to generate same name for backuped data and index file
      mysys/my_redel.c:
        Added time_t option to my_redel() to be able to generate same backup extensions for many files
      sql/handler.cc:
        Added start_time to st_ha_check_opt
      sql/handler.h:
        Added start_time to HA_CHECK_OPT
      sql/mysqld.cc:
        Added option BACKUP_ALL to --myisam-recover
      storage/maria/ha_maria.cc:
        Remember start time for repair
      storage/maria/ma_check.c:
        Use remembered start time for backup file names
        Removed some dead code
      storage/maria/ma_loghandler.c:
        Removed wrong call to translog_buffer_unlock() that caused 'unlocking not locked mutex' failure in log handler.
      storage/maria/maria_chk.c:
        Removed dead code (O_NEW_INDEX was never set)
        Report if table was 'crashed on repair'
      storage/maria/maria_pack.c:
        Updated parameters to my_redel()
      storage/myisam/ha_myisam.cc:
        Added recover option BACKUP_ALL to get a backup of the index file before it's repaired.
        Print information to log if we make a backup of data as part of repair.
      storage/myisam/ha_myisam.h:
        Added HA_RECOVER_FULL_BACKUP
      storage/myisam/mi_check.c:
        Use remembered start time for backup file names
        Added mi_make_backup_of_index()
      storage/myisam/myisamchk.c:
        Removed dead code (O_NEW_INDEX was never set)
        Report if table was 'crashed on repair'
      storage/myisam/myisampack.c:
        Updated call to my_redel()
      843f2256
  18. 04 Nov, 2010 2 commits
    • Michael Widenius's avatar
      Automatic merge · a26403b2
      Michael Widenius authored
      a26403b2
    • Michael Widenius's avatar
      When scanning pages, stop when you are at 'data_file_length'. · 3b5401e7
      Michael Widenius authored
      This fixes a bug that gave ER_FILE_TOO_SHORT error when scanning Aria tables.
      
      storage/maria/ma_blockrec.c:
        Changed code so that we update share->state.state.data_file_length after page cache write is done.
        When scanning pages, stop when you are at 'data_file_length'.
        (We can't trust the bitmap as there may be reserved pages in the bitmap that are not yet written).
        This fixes a bug that gave ER_FILE_TOO_SHORT error when scanning Aria tables.
      storage/maria/maria_def.h:
        Updated struct for stopping scanning at end of file
      3b5401e7