1. 28 Feb, 2011 4 commits
    • Michael Widenius's avatar
      Fixes to mysql-test-run and tests · 7a79fe52
      Michael Widenius authored
      - Added ORDER BY to get consistent results to federated_server
      - Sort slow tests first
      
      mysql-test/lib/My/ConfigFactory.pm:
        Remove usage of port as the test suite is not using that anymore and it causes some probelms in buildbot
      mysql-test/lib/mtr_cases.pm:
        Sort slow tests first
        If a test is marked as 'big_test' also mark it as 'long_test'
      mysql-test/suite/federated/federated_server.result:
        Added ORDER BY to get consistent results
      mysql-test/suite/federated/federated_server.test:
        Added ORDER BY to get consistent results
      7a79fe52
    • Michael Widenius's avatar
      3358cdd5
    • Michael Widenius's avatar
      Merge with alias as String · 869f5d0e
      Michael Widenius authored
      869f5d0e
    • Michael Widenius's avatar
      Change TABLE->alias to String for less memory reallocation · ff3da0f9
      Michael Widenius authored
      Changed some String.ptr() -> String.c_ptr() for String that are not guaranteed to end with \0
      Removed some c_ptr() usage from parameters to functions that takes ptr & length
      Use preallocate buffers to avoid calling malloc() for most operations. 
      
      
      sql/event_db_repository.cc:
        alias is now a String
      sql/event_scheduler.cc:
        c_ptr -> c_ptr_safe() to avoid warnings from valgrind.
      sql/events.cc:
        c_ptr -> c_ptr_safe() to avoid warnings from valgrind.
        c_ptr -> ptr() as function takes ptr & length
      sql/field.cc:
        alias is now a String
      sql/field.h:
        alias is now a String
      sql/ha_partition.cc:
        alias is now a String
      sql/handler.cc:
        alias is now a String
        ptr() -> c_ptr() as string is not guaranteed to be \0 terminated
      sql/item.cc:
        Store error parameter in separarte buffer to ensure correct error message
      sql/item_func.cc:
        ptr() -> c_ptr_safe() as string is not guaranteed to be \0 terminated
      sql/item_sum.h:
        Use my_strtod() instead of my_atof() to not have to make string \0 terminated
      sql/lock.cc:
        alias is now a String
      sql/log.cc:
        c_ptr() -> ptr() as function takes ptr & length
      sql/log_event.cc:
        c_ptr_quick() -> ptr() as we only want to get the pointer to String buffer
      sql/opt_range.cc:
        ptr() -> c_ptr() as string is not guaranteed to be \0 terminated
      sql/opt_table_elimination.cc:
        alias is now a String
      sql/set_var.cc:
        ptr() -> c_ptr() as string is not guaranteed to be \0 terminated
        c_ptr() -> c_ptr_safe() to avoid warnings from valgrind.
        c_ptr() -> ptr() as function takes ptr & length
        Simplify some code.
      sql/sp.cc:
        c_ptr() -> ptr() as function takes ptr & length
      sql/sp_rcontext.cc:
        alias is now a String
      sql/sql_base.cc:
        alias is now a String.
        Here we win a realloc() for most alias usage.
      sql/sql_class.cc:
        Use size descriptor for printf() to avoid accessing bytes outside of buffer
      sql/sql_insert.cc:
        Change allocation of TABLE as it's now contains a String
        _ptr() -> ptr() as function takes ptr & length
      sql/sql_load.cc:
        Use preallocate buffers to avoid calling malloc() for most operations.
      sql/sql_parse.cc:
        Use c_ptr_safe() to ensure string is \0 terminated.
      sql/sql_plugin.cc:
        c_ptr_quick() -> ptr() as function takes ptr & length
      sql/sql_select.cc:
        alias is now a String
      sql/sql_show.cc:
        alias is now a String
      sql/sql_string.h:
        Added move() function to change who owns the string (owner does the free)
      sql/sql_table.cc:
        alias is now a String
        c_ptr() -> c_ptr_safe() to avoid warnings from valgrind.
      sql/sql_test.cc:
        c_ptr() -> c_ptr_safe() to avoid warnings from valgrind.
        alias is now a String
      sql/sql_trigger.cc:
        c_ptr() -> c_ptr_safe() to avoid warnings from valgrind.
        Use field->init() to setup pointers to alias.
      sql/sql_update.cc:
        alias is now a String
      sql/sql_view.cc:
        ptr() -> c_ptr_safe() as string is not guaranteed to be \0 terminated
      sql/sql_yacc.yy:
        r() -> c_ptr() as string is not guaranteed to be \0 terminated
      sql/table.cc:
        alias is now a String
      sql/table.h:
        alias is now a String
      storage/federatedx/ha_federatedx.cc:
        Remove extra 1 byte alloc that is automaticly done by strmake()
        Ensure that error message ends with \0
      storage/maria/ha_maria.cc:
        alias is now a String
      storage/myisam/ha_myisam.cc:
        alias is now a String
      ff3da0f9
  2. 27 Feb, 2011 1 commit
    • Vladislav Vaintroub's avatar
      Disable variables-big with debug binaries. · f83e5942
      Vladislav Vaintroub authored
      When compiled with SAFEMALLOC or with Windows
      Debug CRT, it allocates and initializes 5GB of memory.
      The effect is 20 minutes of paging and swapping on
      a 4GB VM.
      
      Still allow the test to run with optimized binaries.
      Memory is not initialized in this case,  malloc() 
      of 5GB  size will not bring the whole buffer into 
      physical memory.
      f83e5942
  3. 26 Feb, 2011 2 commits
  4. 25 Feb, 2011 5 commits
    • Michael Widenius's avatar
      Automatic merge with 5.1-merge to get in Merge with MySQL 5.1.55 · 1fa5900f
      Michael Widenius authored
      
      mysql-test/suite/parts/t/partition_debug_sync_innodb.test:
        Fixed failure on windows partition file is with small '#p#'
      1fa5900f
    • Michael Widenius's avatar
      Fixed compiler warnings · 9fe6801a
      Michael Widenius authored
      
      cmd-line-utils/readline/complete.c:
        Don't ignore value from fwrite()
      cmd-line-utils/readline/terminal.c:
        Don't ignore value from fwrite()
      extra/yassl/taocrypt/include/file.hpp:
        Changed prototype to be able to return value from fwrite()
      extra/yassl/taocrypt/src/file.cpp:
        Return value from fwrite for put()
      storage/xtradb/ut/ut0ut.c:
        Added casts to remove warnings for not critical usage of fwrite()
      9fe6801a
    • Vladislav Vaintroub's avatar
      MBUG#688404 : Fix pbxt crashes on Windows 64 in debug build · d4c9ff95
      Vladislav Vaintroub authored
      The reason for the crash is misalignment on SSE instruciton
      in setjmp(). The root cause is PBXT debug malloc(),  which
      unlike  OS malloc  does not guarantee 16 bytes alignment.
      
      So the fix for now is disable PBXT debug malloc on Windows.
      It was obsolete anyway, as  it does not provide additional
      benefits to C runtime debug routines (always used in debug 
      compilation) or to pageheap, available at runtime.
      d4c9ff95
    • Michael Widenius's avatar
      Fixed compiler and build error: · d46aee70
      Michael Widenius authored
      - Fixed main.mysqlcheck error on windows
      - Fixed 'can't drop database pbxt' failure when running pbxt.mysqlslap
      
      
      sql/table.cc:
        When using not legal file names for checking a non existing table, one got a warning in the log file which caused mysql.mysqlcheck to fail
      storage/innodb_plugin/row/row0upd.c:
        Fixed compiler warning
      storage/pbxt/src/table_xt.cc:
        Remove table that is dropped from 'repair-pending'.
        Fixed 'can't drop database pbxt' failure when running pbxt.mysqlslap
      d46aee70
    • Michael Widenius's avatar
      - maria/ma_test_all.sh can now be run with --tmpdir=/dev/shm for faster testing · 07b5d554
      Michael Widenius authored
      - Fixed mysql-test-run failures on window
      - Fixed compiler warnings from my last push (sorry about that)
      - Fixed that maria_chk --repair --extended works again
      - Fixed compiler warnings about using not unitialized data
      
      mysql-test/mysql-test-run.pl:
        Better output
      mysql-test/suite/parts/inc/partition_check_drop.inc:
        Use remove_files_wildcard instead of rm
      mysys/safemalloc.c:
        Fixed argument to printf
      storage/maria/ma_cache.c:
        Don't give errors when running maria_chk
      storage/maria/ma_dynrec.c:
        Don't give errors when running maria_chk
      storage/maria/ma_rt_test.c:
        Added option --datadir for where to put logs and test data
      storage/maria/ma_test1.c:
        Added option --datadir for where to put logs and test data
      storage/maria/ma_test2.c:
        Added option --datadir for where to put logs and test data
      storage/maria/maria_chk.c:
        If --datadir is used but --logdir is not, set --logdir from --datadir
        (this reflects how --help said how things should work)
      storage/maria/maria_read_log.c:
        Changed short option for 'maria-log-dir-path' from -l to -h to be same as mysqld, maria_chk, ma_test1 etc..
      storage/maria/unittest/ma_test_all-t:
        Allow one to specify --tmpdir for where to store logs and data
      storage/xtradb/buf/buf0buf.c:
        Fixed compiler warnings about using not unitialized data
      storage/xtradb/row/row0upd.c:
        Fixed compiler warnings about using not unitialized data
      storage/xtradb/srv/srv0srv.c:
        Fixed compiler warnings about using not unitialized data
      07b5d554
  5. 24 Feb, 2011 1 commit
    • Michael Widenius's avatar
      - Reduced memory requirements for mysqltest to 1/4.th This also gave a... · e6c45f5e
      Michael Widenius authored
      - Reduced memory requirements for mysqltest to 1/4.th  This also gave a speedup for 5x for some tests.
      - Reduced memory usage from safe_mutex.
      - Fixed problem with failing tests that could not restart mysqld becasue the port was reserved
      - More DBUG information
      - Fixed bug where bitmap_set_prefix() wrote over buffer area.
      - Initialize n_pages_flushed in xtradb which was used uninitialized.
      
      client/mysqltest.cc:
        Reduced memory usage (400K -> 80 for simple test;  400M -> 70M for some other tests)
        - Smaller dynamic arrays at start
        - Made 'st_connection' significantly smaller by allocation 'mysql' on demand in mysql_init() and storing require_file in a mem_root.
        - Fixed that when one does --debug we get information from safemalloc in the trace
        (Most of changes are changing &connect->mysql to connect->mysql
      libmysql/libmysql.c:
        Don't call mysql_thread_end() if my_init() was called outside of mysql_server_init()
        This is needed to get information from my_end() into the DBUG log
      mysql-test/README:
        Fixed wrong comment
      mysql-test/mysql-test-run.pl:
        Reserv 20 ports / mysql-test-run thread.
        (Needed as some tests uses 9 mysqld servers)
      mysys/hash.c:
        More DBUG information
      mysys/my_bitmap.c:
        Fixed bug where bitmap_set_prefix() wrote over buffer area.
      mysys/safemalloc.c:
        More DBUG information
      mysys/thr_mutex.c:
        Initialize smaller arrays be default.
      sql-common/client.c:
        More DBUG_PRINT
      storage/xtradb/srv/srv0srv.c:
        Initialize n_pages_flushed which was used uninitialized.
      e6c45f5e
  6. 23 Feb, 2011 2 commits
    • Michael Widenius's avatar
      Fixed build failures · 1c23091c
      Michael Widenius authored
      - Removed references to deleted files
      - If we link staticly, check for static zlib
        - This should fix the problem with 'no -lz found' link error
      - Fixed build failure on window (Patch from Wlad)
      - Fixed build problem with federatedx when using -Werror
      
      BUILD/Makefile.am:
        Remove removed file
      config/ac-macros/zlib.m4:
        If we compile with --all-static, test that we have a static libz
      libmysqld/CMakeLists.txt:
        Fix for build error on windows
      mysql-test/suite/pbxt/r/key_cache.result:
        Updated result
      mysql-test/suite/pbxt/t/key_cache.test:
        Fixed not updated test case
      sql/CMakeLists.txt:
        Fix for build error on windows
      storage/federatedx/Makefile.am:
        Don't use CFLAGS to compile C++ programs
      storage/pbxt/src/lock_xt.cc:
        Fixed compiler warning about using uninitialized b2
      storage/xtradb/buf/buf0buf.c:
        Fixed wrong printf
      storage/xtradb/srv/srv0srv.c:
        Fixed assignment of different width and test with different sign/unsigned
      1c23091c
    • Michael Widenius's avatar
      Fixed test failure that ended with "There is no group named 'mysqld.10' that... · e079f3c8
      Michael Widenius authored
      Fixed test failure that ended with "There is no group named 'mysqld.10' that can be used to resolve 'port' for test"
      
      mysql-test/lib/My/ConfigFactory.pm:
        Added test name to error output
      mysql-test/mysql-test-run.pl:
        Added testname as part of ConfigFactory for better error message
      mysql-test/suite/rpl/t/rpl_test_framework.cnf:
        Added space after # to ensure that ConfigFactory treat comments as comments
      e079f3c8
  7. 22 Feb, 2011 3 commits
  8. 20 Feb, 2011 1 commit
    • Michael Widenius's avatar
      Merge with MySQL 5.1.55 · 58bb0769
      Michael Widenius authored
      - Fixed some issues with partitions and connection_string, which also fixed lp:716890 "Pre- and post-recovery crash in Aria"
      - Fixed wrong assert in Aria
      
      Now need to merge with latest xtradb before pushing 
      
      sql/ha_partition.cc:
        Ensure that m_ordered_rec_buffer is not freed before close.
      sql/mysqld.cc:
        Changed to use opt_stack_trace instead of opt_pstack.
        Removed references to pstack
      sql/partition_element.h:
        Ensure that connect_string is initialized
      storage/maria/ma_key_recover.c:
        Fixed wrong assert
      58bb0769
  9. 12 Feb, 2011 1 commit
  10. 11 Feb, 2011 1 commit
    • Michael Widenius's avatar
      Fixed bug in federatedx patch that caused partition tests to fail. · 55c55d85
      Michael Widenius authored
      Fixed that connection string is returned for partitioned federated tables.
      
      mysql-test/r/partition_federated.result:
        Fixed error message
      mysql-test/suite/federated/federated_partition.result:
        Added test to show that connection string is returned in 'show create'.
      sql/ha_partition.cc:
        Fixed a set of bugs introduced by the last federated patch:
        - We can't allocate m_ordered_rec_buffer in memroot as it has to survive call to clear_handler_file()
      sql/partition_element.h:
        Ensure that connect_string is properly initialized.
        (This caused crashed in partition tests)
      sql/sql_partition.cc:
        Print CONNECTION option for federated partitioned tables
      55c55d85
  11. 10 Feb, 2011 5 commits
    • Michael Widenius's avatar
      Automatic merge with trunk · 7e497abc
      Michael Widenius authored
      7e497abc
    • Michael Widenius's avatar
      Fixed compiler warnings · 75fad9dc
      Michael Widenius authored
      75fad9dc
    • Michael Widenius's avatar
      Applied patch for lp:585688 "maridb crashes in federatedx code" from lp:~atcurtis/maria/federatedx: · f2ca9c87
      Michael Widenius authored
      - Fixed Partition engine to store CONNECTION string for partitions.
        Removed HA_NO_PARTITION flag from FederatedX.
        Added test 'federated_partition' to suite.
      - lp:#585688 - maridb crashes in federatedx code
        FederatedX handler instances, created on one thread and used on
        another thread (via table cache) when "show table status" is executed
        crashed because txn member was not initialized for current thread.
        Added test 'federated_bug_585688' to suite.
      
      Author for the patch is Antony Curtis
      
      mysql-test/suite/federated/federated_bug_585688.result:
        Test for lp:585688
      mysql-test/suite/federated/federated_bug_585688.test:
        Test for lp:585688
      mysql-test/suite/federated/federated_partition-slave.opt:
        Test for partition support in federatedx
      mysql-test/suite/federated/federated_partition.result:
        Test for partition support in federatedx
      mysql-test/suite/federated/federated_partition.test:
        Test for partition support in federatedx
      mysql-test/t/partition_federated.test:
        Updated error message
      sql/ha_partition.cc:
        Added support for connection strings to partitions for federatedx
      sql/ha_partition.h:
        Added support for connection strings to partitions for federatedx
      sql/partition_element.h:
        Added support for connection strings to partitions for federatedx
      sql/sql_yacc.yy:
        Added support for connection strings to partitions for federatedx
      storage/federatedx/ha_federatedx.cc:
        Added support for partitions.
        FederatedX handler instances, created on one thread and used on another thread (via table cache) when "show table status"
        is executed crashed because txn member was not initialized for current thread.
      f2ca9c87
    • Vladislav Vaintroub's avatar
    • Michael Widenius's avatar
      Fixes for Aria storage engine: · 6db663d6
      Michael Widenius authored
      - Fixed bug lp:624099 ma_close.c:75: maria_close: Assertion `share->in_trans == 0' failed on UNLOCK TABLES
      - Fixed bug that caused table to be marked as not closed (crashed) during recovery testing.
      - Use maria_delete_table_files() instead of maria_delete_table() to delete tempoary tables (faster and safer)
      - Added checks to ensure that bitmap and internal mutex are always taken in right order.
      - For transactional tables, only mark the table as changed before page for table is to be written to disk (and thus the log is flushed).
        This speeds up things a bit and fixes a problem where open_count was incremented on disk but there was no log entry to fix it during recovery -> table was crashed.
      - Fixed a bug in repair() where table was not automaticly repaired.
      - Ensure that state->global_changed, share->changed and share->state.open_count are set and reset properly.
      - Added option --ignore-control-file to maria_chk to be able to run maria_chk even if the control file is locked.
      
      
      mysql-test/suite/maria/r/maria-recover.result:
        Test result changed as we now force checkpoint before copying table, which results in pagecache getting flushed and we have more rows to recover.
      mysql-test/suite/maria/r/maria.result:
        Added new tests
      mysql-test/suite/maria/t/maria-recover.test:
        Force checkpoint before copying table.
        This is needed as now the open-count is increased first when first page is flushed.
      mysql-test/suite/maria/t/maria.test:
        Added tests to verify fix for lp:624099
      storage/maria/ha_maria.cc:
        Use table->in_use instead of current_thd (trivial optimization)
        Use maria_delete_table_files() instead of maria_delete_table() to delete tempoary tables (faster and safer)
        More DBUG_ASSERT()
        Reset locked tables count after locked tables have been moved to new transaction. This fixed lp:624099
      storage/maria/ma_bitmap.c:
        Temporarly unlock bitmap mutex when calling _ma_mark_file_changed() and pagecache_delete_pages() to ensure right mutex lock order.
        Call _ma_bitmap_unpin_all() when bitmap->non_flusable is set to 0. This fixed a case when bitmap was not proparly unpinned.
        More comments
        Added DBUG_ASSERT() for detecting wrong share->bitmap usage
      storage/maria/ma_blockrec.c:
        More DBUG_ASSERT()
        Moved code around in _ma_apply_redo_insert_row_head_or_tail() to make things safer on error conditions.
      storage/maria/ma_check.c:
        Changed parameter for _ma_set_uuid()
        Corrected test for detecting if we lost many rows. This fixed some cases where auto-recovery failed.
        share->changed need to be set if state.open_count is changed.
        Removed setting of share->changed= 0 as called function sets it.
      storage/maria/ma_close.c:
        - Added code to properly decrement open_count and have it written by _ma_state_info_write() for transactional tables.
          (This is more correct and also saves us one extra write by _ma_decrement_open_count() at close.
        - Added DBUG_ASSERT() to detect if open_count is wrong at maria_close().
      storage/maria/ma_delete.c:
        Updated argument to _ma_mark_file_changed()
      storage/maria/ma_delete_all.c:
        Updated argument to _ma_mark_file_changed()
        For transactional tables, call _ma_mark_file_changed() after log entry has been written (to allow recover to fix open_count)
        Reset more needed variables in _ma_reset_status()
      storage/maria/ma_delete_table.c:
        Moved deletion of Aria files to maria_delete_table_files().
        Remove RAID usage (old not working code)
      storage/maria/ma_extra.c:
        Set share->changed=1 when state needs to be updated on disk.
        Don't reset share->changed after call to _ma_state_info_write() as this calls sets share->changed.
        Set share->state.open_count to 1 to force table to be auto repaired if drop fails.
        Set share->global_changed before call to _ma_flush_table_files() to ensure that we don't try to mark the table changed during flush.
        Added DBUG_ENTER
      storage/maria/ma_locking.c:
        Split _ma_mark_file_changed() into two functions to delay marking transactional tables as changed on disk until first disk write.
        Added argument to _ma_decrement_open_count() to tell if we should call ma_lock_database() or not.
        Don't decrement open count for transactional tables during _ma_decrement_open_count(). This will be done during close.
        Changed parameter for _ma_set_uuid()
      storage/maria/ma_open.c:
        Set share->open_count_not_zero_on_open if state.open_count is not zero.
        This is needed for DBUG_ASSERT() in maria_close() that is there to enforce that open_count is always 0 at close.
        This test doesn't however work for tables that had open_count != 0 already on disk (ie, crashed tables).
        Enforce right mutex order for share->intern_lock and share->bitmap.bitmap_lock
        Don't set share->changed to 0 if share->state.open_count != 0, as state needs to be be written at close
      storage/maria/ma_pagecache.c:
        Moved a bit of code in find_block() to avoid one if.
        More DBUG_ASSERT()
        (I left a comment in the code for Sanja to look at;  The code probably works but we need to check if it's optimal)
      storage/maria/ma_pagecrc.c:
        For transactional tables, just before first write to disk, but after log is flushed, mark the file changed.
        This fixes some cases where recovery() did not detect that table was marked as changed and could thus not recover the marker.
      storage/maria/ma_recovery.c:
        Set share->changed when share->global_changed is set.
      storage/maria/ma_update.c:
        Updated parameter for _ma_mark_file_changed()
      storage/maria/ma_write.c:
        Updated parameter for _ma_mark_file_changed()
      storage/maria/maria_chk.c:
        Added option --ignore-control-file to be able to run maria_chk even if the control file is locked.
      storage/maria/maria_def.h:
        Updated function prototypes.
        Added open_count_not_zero_on_open to MARIA_SHARE.
      storage/myisam/ha_myisam.cc:
        current_thd -> table->in_use
      6db663d6
  12. 04 Feb, 2011 3 commits
  13. 03 Feb, 2011 4 commits
    • Michael Widenius's avatar
      Increased precision for status variables Rows_sent and Rows_read from long to longlong · cfa0c6ff
      Michael Widenius authored
      Fixed that status variables 'empty_queries', 'access_denied_errors' and 'lost_connections' are propageted to global status.
      This should also remove some warnings with VC++
      
      
      
      sql/mysqld.cc:
        Increased precision for status variables Rows_sent and Rows_read from long to longlong
      sql/sql_class.cc:
        Increased precision for status variables Rows_sent and Rows_read from long to longlong
      sql/sql_class.h:
        Increased precision for status variables Rows_sent and Rows_read from long to longlong
        Fixed that status variables 'empty_queries', 'access_denied_errors' and 'lost_connections' are propageted to global status.
      cfa0c6ff
    • Michael Widenius's avatar
      47996dd7
    • Michael Widenius's avatar
      Fixed typo for non-debug build · d92a8eb9
      Michael Widenius authored
      d92a8eb9
    • Michael Widenius's avatar
      Fixed bug in Archive with insert delayed · 2045c54f
      Michael Widenius authored
      
      storage/archive/ha_archive.cc:
        Fixed bug that caused archive.test to fail with: Warning: Found locks from different threads for lock 't2' in 'write' at 'start of release lock'...
        The reason was that the TL_WRITE_DELAYED lock was changed to TL_WRITE_ALLOW_WRITE which conflicted with how the lock was used in sql_insert.cc (in particular with thr_upgrade_write_delay_lock())
      2045c54f
  14. 02 Feb, 2011 1 commit
    • Michael Widenius's avatar
      Don't delete directory mysql-test/var if we use mysql-test-run --vardir= · 1027b4cf
      Michael Widenius authored
      Fixed error in Maria unittest
      Fixes other issues found by test case for lp:700623 "Aria recovery: ma_blockrec.c:3930: _ma_update_at_original_place: Assertion `block->org_bitmap_value == .."
      Fixes lp:670356 "Aria table "is marked as crashed and should be repaired"
      
      
      
      mysql-test/lib/v1/mysql-test-run.pl:
        Don't delete directory mysql-test/var if we use mysql-test-run --vardir=
      mysql-test/mysql-test-run.pl:
        Don't delete directory mysql-test/var if we use mysql-test-run --vardir=
        (Needed to be able to run multiple concurrent mysql-test-run's/randgen on the same server)
        Added extra supression
      storage/maria/ma_pagecache.c:
        Removed duplicate DBUG_PRINT information
        Added KEYCACHE_PRINT for printing information that was already printed to DBUG log (to get rid of some duplicated output)
        More comments
        Fixed bug that caused page block to be used by two treads at the same time (with different page information)
        Mark block->status with PCBLOCK_DIRECT_W independent of the block is changed or not. (Safety fix)
      storage/maria/maria_chk.c:
        Better --help
      storage/maria/unittest/ma_test_recovery.pl:
        Ignore differences in 'recover time'.
        Fixed error in Maria unittest
      1027b4cf
  15. 30 Jan, 2011 4 commits
    • Michael Widenius's avatar
      Ignore some linked files · 336023b6
      Michael Widenius authored
      336023b6
    • Michael Widenius's avatar
      Merge with 5.1 · 2e75dda3
      Michael Widenius authored
      Fixed a couple of compilation failures that was not detected before merge.
      2e75dda3
    • Michael Widenius's avatar
      Aria fixes: · 5bcf3a24
      Michael Widenius authored
      - Fixed a bug where we didn't signal a thread waiting for bitmap flush that it's now time to continue which caused a deadlock in Aria.
      - Fix for lp:700623 "Aria recovery: ma_blockrec.c:3930: _ma_update_at_original_place: Assertion `block->org_bitmap_value == _ma_bitmap_get_page_bits(info, &info->s->bitmap, page)' failed"
      - Fixed a bug in pagecache where a block could change while it was in use.
      - In maria_chk set --update-state to on by default so that open_count is cleared if table was ok during check.
      
      storage/maria/ma_bitmap.c:
        Fixed a bug where we didn't signal a thread waiting for bitmap flush that it's now time to continue.
        This fix adds counters for the different conditions that may be waited upon and signals if there is a waiter when the condition changes.
      storage/maria/ma_blockrec.c:
        Check if directory if full when calculating what should be in the bitmap.
        Fixes lp:700623 "Aria recovery: ma_blockrec.c:3930: _ma_update_at_original_place: Assertion `block->org_bitmap_value == _ma_bitmap_get_page_bits(info, &info->s->bitmap, page)' failed"
      storage/maria/ma_pagecache.c:
        Added more comments
        Removed some duplicated DBUG_PRINT and DBUG_ASSERT()
        find_block() now waits for block to be usable if we are not copying it directly. This fixes a bug where a block changed information while we where using it. Fixed by adding an extra parameter to find_block()
        Simplified code in make_lock_and_pin() as block can never be == 0 here.
      storage/maria/ma_recovery.c:
        Reset open_count for tables that are closed in middle of recovery.
      storage/maria/maria_chk.c:
        Set --update-state to on by default so that open_count is cleared if table was ok during check.
        Update time when table was recovered/checked if --update-state was used.
        Updated --help message with missing information.
      storage/maria/maria_def.h:
        Added wait counters
      5bcf3a24
    • Michael Widenius's avatar
      Flush DBUG log in case of DBUG_ASSERT() · 785695e7
      Michael Widenius authored
      Added strings_def.h into strings library to be able to have a DBUG_ASSERT() version without _db_flush() call (as strings.a should not depend on dbug.a)
      Remove include of m_string.h in all string files (as it's included by string_def.h).
      Fixed include order.
      Changed "m_ctype.h" -> <m_ctype.h>
      
       
      
      include/my_dbug.h:
        Flush DBUG log in case of DBUG_ASSERT()
      strings/bchange.c:
        Include strings_def.h
      strings/bcmp.c:
        Include strings_def.h
      strings/bfill.c:
        Include strings_def.h
      strings/bmove.c:
        Include strings_def.h
      strings/bmove512.c:
        Include strings_def.h
      strings/bmove_upp.c:
        Include strings_def.h
      strings/conf_to_src.c:
        Include strings_def.h
        Fixed copyright
      strings/ctype-big5.c:
        Include strings_def.h
      strings/ctype-bin.c:
        Include strings_def.h
      strings/ctype-cp932.c:
        Include strings_def.h
      strings/ctype-czech.c:
        Include strings_def.h
      strings/ctype-euc_kr.c:
        Include strings_def.h
      strings/ctype-eucjpms.c:
        Include strings_def.h
      strings/ctype-extra.c:
        Include strings_def.h
      strings/ctype-gbk.c:
        Include strings_def.h
      strings/ctype-latin1.c:
        Include strings_def.h
      strings/ctype-mb.c:
        Include strings_def.h
      strings/ctype-simple.c:
        Include strings_def.h
      strings/ctype-sjis.c:
        Include strings_def.h
      strings/ctype-tis620.c:
        Include strings_def.h
      strings/ctype-uca.c:
        Include strings_def.h
      strings/ctype-ucs2.c:
        Include strings_def.h
      strings/ctype-ujis.c:
        Include strings_def.h
      strings/ctype-utf8.c:
        Include strings_def.h
      strings/ctype-win1250ch.c:
        Include strings_def.h
      strings/ctype.c:
        Include strings_def.h
      strings/decimal.c:
        Include strings_def.h
      strings/do_ctype.c:
        Include strings_def.h
      strings/int2str.c:
        Include strings_def.h
      strings/is_prefix.c:
        Include strings_def.h
      strings/llstr.c:
        Include strings_def.h
      strings/longlong2str.c:
        Include strings_def.h
      strings/longlong2str_asm.c:
        Include strings_def.h
      strings/my_strchr.c:
        Include strings_def.h
      strings/my_strtoll10.c:
        Include strings_def.h
      strings/my_vsnprintf.c:
        Include strings_def.h
      strings/r_strinstr.c:
        Include strings_def.h
      strings/str2int.c:
        Include strings_def.h
      strings/str_alloc.c:
        Include strings_def.h
      strings/str_test.c:
        Include strings_def.h
        Fixed compiler warnings
      strings/strappend.c:
        Include strings_def.h
      strings/strcend.c:
        Include strings_def.h
      strings/strcont.c:
        Include strings_def.h
      strings/strend.c:
        Include strings_def.h
      strings/strfill.c:
        Include strings_def.h
      strings/strinstr.c:
        Include strings_def.h
      strings/strmake.c:
        Include strings_def.h
      strings/strmov.c:
        Include strings_def.h
      strings/strmov_overlapp.c:
        Include strings_def.h
      strings/strnlen.c:
        Include strings_def.h
      strings/strnmov.c:
        Include strings_def.h
      strings/strstr.c:
        Include strings_def.h
      strings/strto.c:
        Include strings_def.h
      strings/strtod.c:
        Include strings_def.h
      strings/strtol.c:
        Include strings_def.h
      strings/strtoll.c:
        Include strings_def.h
      strings/strtoul.c:
        Include strings_def.h
      strings/strtoull.c:
        Include strings_def.h
      strings/strxmov.c:
        Include strings_def.h
      strings/strxnmov.c:
        Include strings_def.h
      strings/uctypedump.c:
        Include strings_def.h
        Fixed compiler warnings
        Removed double include of m_ctype.h
      strings/udiv.c:
        Include strings_def.h
      strings/xml.c:
        Include strings_def.h
      785695e7
  16. 29 Jan, 2011 1 commit
    • Michael Widenius's avatar
      Fix compilation errors (and some warnings) when compiling ndb · 3edf4dcd
      Michael Widenius authored
      Fixes part of LP:705213 (Other part is to be pushed into 5.1)
      
      storage/ndb/include/kernel/signaldata/FsOpenReq.hpp:
        Fixes compiler warnings
      storage/ndb/include/ndbapi/NdbDictionary.hpp:
        Update to right typedef
      storage/ndb/include/util/NdbSqlUtil.hpp:
        Remove not needed, conflicting code.
      storage/ndb/src/kernel/blocks/dbtup/DbtupExecQuery.cpp:
        Added cast to get rid of not critical const.
      3edf4dcd
  17. 26 Jan, 2011 1 commit