1. 24 Aug, 2010 6 commits
    • Michael Widenius's avatar
      Automatic merge · a8267117
      Michael Widenius authored
      Fixed compiler warning
      
      client/mysql.cc:
        Fixed compiler warning
      include/my_global.h:
        Fixed typo
      storage/maria/ha_maria.cc:
        Merge
      a8267117
    • Michael Widenius's avatar
      Increase some very old limits. · 31f66e55
      Michael Widenius authored
      This will give a smoother experience when using the Aria engine by those that are using default limits
      without still causing a notable problem for desktop users.
      31f66e55
    • Michael Widenius's avatar
      Automatic merge · 918b25ec
      Michael Widenius authored
      918b25ec
    • Michael Widenius's avatar
      Automatic merge with main 5.1 · 190ed5a2
      Michael Widenius authored
      190ed5a2
    • Michael Widenius's avatar
      Fix of LP#616253 Crash in _ma_bitmap_set_full_page_bits on Aria recovery · ecf95c6e
      Michael Widenius authored
      The bug was based on wrong undo data in recovery file and not enough checking of bad data.
      
      sql/sql_select.h:
        Added comment
      storage/maria/ma_blockrec.c:
        - Removed wrong sanity checks (didn't work for UNDO records)
        - More sanity checks and DBUG_ASSERT
        - More DBUG_ENTER and DBUG_PRINT
        - Removed filler blocks in extent_to_bitmap_blocks() as it caused problems in write_block_record().
          This was the main cause of the bug.
          (This change can make records generated by UNDO slightly smaller than original record, which we have to fix
          by correcting row_pos.length before calling write_block_record())
        - Fixed some problems in write_block_record() while doing UNDO.
        - Store header_length without TRANSID_SIZE into recovery log (as UNDO entires doesn't have TRANSID_SIZE)
        - Mark table crashed if something goes wrong during UNDO
      storage/maria/maria_def.h:
        Added header_length
      ecf95c6e
    • Sergei Golubchik's avatar
      ced63539
  2. 23 Aug, 2010 2 commits
    • Michael Widenius's avatar
      Trivial fixes, more safe DBUG_ASSERT()'s and some more DBUG_ · 53310c6e
      Michael Widenius authored
      - CTRL-C now aborts 'source' commands in mysql client
      - Fix that thread id's are removed in convert-debug-for-diff.sh
      
      
      client/mysql.cc:
        CTRL-C now aborts 'source' commands
      scripts/convert-debug-for-diff.sh:
        Fix expression to remove thread id
      storage/maria/ha_maria.cc:
        Don't call DBUG_ASSERT() when we kill a query during REPAIR / ALTER TABLE
      storage/maria/ma_bitmap.c:
        Added DBUG_ASSERT() if we call _ma_bitmap_set_full_page_bits()
      storage/maria/ma_key_recover.c:
        Don't do an assert if table is marked crashed.
      storage/maria/ma_recovery.c:
        Added DBUG_ENTER
      53310c6e
    • Michael Widenius's avatar
      Fix for LP#612894 Some aggregate functions (such as MIN MAX) work incorrectly... · b6fe4713
      Michael Widenius authored
      Fix for LP#612894 Some aggregate functions (such as MIN MAX) work incorrectly in subqueries after getting NULL value
      
      
      mysql-test/r/group_by.result:
        Added test that showed problems that no_rows_in_results() didn't work for expressions
      mysql-test/r/subselect4.result:
        Test case for LP#612894
      mysql-test/t/group_by.test:
        Added test that showed problems that no_rows_in_results() didn't work for expressions
      mysql-test/t/subselect4.test:
        Test case for LP#612894
      sql/item.h:
        Added restore_to_before_no_rows_in_result()
        Added function processor for no_rows_in_results() and restore_to_before_no_rows_in_results() to ensure it works with functions
        Fix that above functions are handled by Item_ref()
      sql/item_func.h:
        Ensure that no_rows_in_results() and restore_to_before_no_rows_in_result() are called for all function arguments
      sql/item_sum.cc:
        Added restore_to_before_no_rows_in_result() to restore settings after Item_sum_hybrid::no_rows_in_result() was called.
        This is needed to handle the case where we have made 'make_const()' on the item in opt_sum(), but the item will be reused again in a sub query.
        Ignore multiple calls to no_rows_in_result() as Item_ref is calling it twice.
      sql/item_sum.h:
        Added restore_to_before_no_rows_in_result();
      sql/sql_select.cc:
        Added reset of no_rows_in_result() for JOIN::reinit()
      sql/sql_select.h:
        Added marker if no_rows_in_result() is called.
      b6fe4713
  3. 20 Aug, 2010 3 commits
    • Michael Widenius's avatar
      Fixed compilation failure and added some new suppressions · 096666fc
      Michael Widenius authored
      storage/maria/ma_blockrec.c:
        Fixed compilation failure
      support-files/compiler_warnings.supp:
        Added suppressions for pbxt
      096666fc
    • Michael Widenius's avatar
    • Michael Widenius's avatar
      Fixed valgrind errors and compiler warnings discovered by buildbot · 6ab5a8ac
      Michael Widenius authored
      More DBUG_ASSERT() to discover errors earlier
      More checking of BLOCK structures in Aria.
      Fixed crashing bug in Aria when doing UPDATE of several records in same block when doing table scan.
      
      storage/federatedx/ha_federatedx.cc:
        Added missing delete_dynamic(); This fixes the valgrind warnings about lost memory discovered by buildbot.
      storage/maria/ma_blockrec.c:
        Added debugging helper function _ma_print_block_info() to print block structure.
        Changed arguments to _ma_print_directory() so it can be called by _ma_print_block_info()
        check_directory() now also checks that empty_space on block is calculated correctly.
        Added some local variables to get more information about what happend when things crash.
        Fixed crashing bug when doing UPDATE of several records in same block when doing table scan.
      storage/maria/ma_key_recover.c:
        Simple optimization (don't call bmove_upp() if not needed); This could happen during page split.
      storage/maria/ma_recovery.c:
        Fixed compiler warning
      storage/maria/ma_test2.c:
        Run test without syncing to disk. (Not needed for this test)
      storage/maria/ma_write.c:
        More comments.
        Added DBUG_ASSERT() to find wrong log entires, like the one reported at LP#616344, during log file creation.
      storage/maria/unittest/ma_test_recovery.pl:
        Added extra -s to maria_chk to get it more silent.
        This fixes that ma_test_all.sh works again.
      6ab5a8ac
  4. 18 Aug, 2010 1 commit
    • Michael Widenius's avatar
      Added verbose mode to recovery · 909e4eb0
      Michael Widenius authored
      More DBUG
      Added convert-debug-for-diff
      Added missing (from last push) federated test case
      
      .bzrignore:
        Ignore generated files
      mysql-test/README:
        Updated documentation for --extern
      mysql-test/suite/federated/federated_bug_32426.result:
        Added test for federatedx
      mysql-test/suite/federated/federated_bug_32426.test:
        Added test for federatedx
      scripts/Makefile.am:
        Added convert-debug-for-diff
      scripts/convert-debug-for-diff.sh:
        Added script for converting
      sql/log.cc:
        Added DBUG
      sql/mysqld.cc:
        Added DBUG
      storage/maria/ma_recovery.c:
        If verbose, write dirty pages (for debugging)
      storage/maria/ma_static.c:
        Added verbose mode to recovery
      storage/maria/maria_def.h:
        Added verbose mode to recovery
      storage/maria/maria_read_log.c:
        Added verbose mode to recovery
      909e4eb0
  5. 17 Aug, 2010 1 commit
    • Sergei Golubchik's avatar
      generalization of mtr to support suite.pm extensions: · 8da7be63
      Sergei Golubchik authored
      * no automatic --loose-skip-innodb added by mtr based on the test name.
        instead loose-skip-innodb is now in the default_mysqld.cnf
      * have_innodb_plugin.inc is changed to give a verbose "skip" message
        (instead of "require: true")
      * My::Suite class. It's support in mtr, and everywhere
      * support for suite.pm
      * when sorting tests, take combinations into account
      * support for SUITENAME_COMBINATIONS
      * no special treatment for innodb_plugin in mtr_cases.pm
      * two special pre-created config groups: ENV and OPT
      * allow option names to start from #
      * allow magic option to have an argument
      * remove dead code
      * fix @-substitution to works as expected
      * new processes take the value of $opt_verbose automatically, no need to pass it to a constructor
      * innodb_plugin suite uses suite.pm and combinations file to test as much as possible
        (innodb plugin, xtradb plugin, xtradb static - whatever available)
      * besides test-master.opt and test-slave.opt a test.opt file is also
        loaded, both for master and slave
      * .opt files for all included files are loaded too
      * progress report in the xterm titlebar
      8da7be63
  6. 14 Aug, 2010 1 commit
  7. 12 Aug, 2010 3 commits
  8. 11 Aug, 2010 2 commits
    • Michael Widenius's avatar
    • Michael Widenius's avatar
      Fixed compiler warnings from Windows compiler · 236478ce
      Michael Widenius authored
      client/mysqlcheck.c:
        Added missing casts
      client/mysqldump.c:
        Added missing casts
      client/mysqlimport.c:
        Added missing casts
      extra/my_print_defaults.c:
        Added missing casts
      mysql-test/mysql-test-run.pl:
        Added suppression for non-critical warning on windows
      storage/maria/maria_pack.c:
        Added missing casts
      storage/xtradb/buf/buf0lru.c:
        Added missing casts
      storage/xtradb/fil/fil0fil.c:
        Added missing casts
      storage/xtradb/handler/i_s.cc:
        Added extra argument to call store() function for longlong.
      storage/xtradb/srv/srv0srv.c:
        Added cast to suppress compiler warning
      support-files/compiler_warnings.supp:
        Added suppression for some non critical compiler warnings on Windows
      unittest/mytap/tap.h:
        Fixed prototypes to be same as the actual functions
      236478ce
  9. 10 Aug, 2010 4 commits
    • Michael Widenius's avatar
      Fixed LP#605798 RQG: Table corruption after Maria engine recovery - "Wrong data in bitmap" · e6cf286b
      Michael Widenius authored
      maria_chk & maria_read_log now reads block size from control file.
      
      
      
      mysql-test/suite/maria/r/maria.result:
        Updated results after trivial change of maria_chk's output
      storage/maria/ma_bitmap.c:
        More DBUG_PRINT
      storage/maria/ma_blockrec.c:
        Fixed bug that we didn't mark page full in bitmap if directory is full
      storage/maria/ma_check.c:
        Write out if directory is full for errors in bitmap
      storage/maria/ma_control_file.c:
        Don't give error for wrong block size if block size is 0
      storage/maria/maria_chk.c:
        Read block size from control file
        In case of -dvv, write also out bitmap information (good for debugging)
      storage/maria/maria_read_log.c:
        Read block size from control file
        Fixed that maria_read_log works with different page size than TRANSLOG_PAGE_SIZE
      e6cf286b
    • Michael Widenius's avatar
      Fixed typo that caused compile failure on Mac · 0f75abc4
      Michael Widenius authored
      Added straight_join to make results predicatable
      
      mysql-test/suite/pbxt/r/range.result:
        Added straight_join to make results predicatable
      mysql-test/suite/pbxt/t/range.test:
        Added straight_join to make results predicatable
      mysys/my_sync.c:
        Fixed typo
      0f75abc4
    • Sergei Golubchik's avatar
      created *-all build scripts that build with ndb · 5cde0ca7
      Sergei Golubchik authored
      (as -max scripts don't)
      5cde0ca7
    • Michael Widenius's avatar
      Fixed wrong argument to translog_write_record() that caused core dump in... · 8312aa9b
      Michael Widenius authored
      Fixed wrong argument to translog_write_record() that caused core dump in maria.maria-gis-rtree-trans and some other tests
      (Bug introduced by my last push)
      8312aa9b
  10. 09 Aug, 2010 2 commits
    • Michael Widenius's avatar
    • Michael Widenius's avatar
      Added --sync-sys=0 option for mysqld to skip sync() calls for faster testing · 12648015
      Michael Widenius authored
      Fixed LP#613418 (M)aria recovery failure: ma_key_recover.c:981: _ma_apply_redo_index: Assertion `check_page_length == page_length' failed
      
      include/my_sys.h:
        Added my_disable_sync
      mysql-test/mysql-test-run.pl:
        Added --sync-sys=0 to run test suite faster
      mysys/my_static.c:
        Added my_disable_sync
      mysys/my_sync.c:
        Added my_disable_sync
      sql/mysqld.cc:
        Added -sync-sys=0 option for mysqld to skip sync() calls for faster testing
      storage/maria/ma_key_recover.c:
        More DBUG_ASSERT()
        Added logging of KEY_OP_DEBUG to make examening of logs easier
        Fixed testing of page length in recovery to ensure we don't overwrite checksum (previous tests was too relaxed)
        Fixed bug in recovery logging of split pages which caused failure during recovery:
        - Length was not adjusted properly for pages to be split
        - Added KEY_OP_MAX_PAGELENGTH to tell recovery that page is now full length
        - This fixed LP#613418
      storage/maria/ma_key_recover.h:
        Changed prototype for ma_log_change() for KEY_OP_DEBUG
      storage/maria/ma_loghandler.h:
        Added new enums for better debugging of recovery logs
      storage/maria/ma_rt_index.c:
        Added debugging information to calls to ma_log_change()
      storage/maria/ma_write.c:
        Added debugging information to calls to ma_log_change() and ma_log_split()
      12648015
  11. 07 Aug, 2010 2 commits
    • Michael Widenius's avatar
      Ensure that xtradb & InnoDB plugin compiles if valgrind is installed but not... · f6d226f5
      Michael Widenius authored
      Ensure that xtradb & InnoDB plugin compiles if valgrind is installed but not valgrind debug libraries
      f6d226f5
    • Michael Widenius's avatar
      This patch fixes LP#613408 Memory corruption with (M)aria storage engine and... · 0d3039d4
      Michael Widenius authored
      This patch fixes LP#613408  Memory corruption with (M)aria storage engine and virtual columns in MariaDB 5.2
      Fixed compiler warnings
      Disabled some tests that doesn't work on windows (uses shell tools or strange characters)
      
      
      
      client/mysqlshow.c:
        Fixed compiler warnings
      client/mysqlslap.c:
        Fixed compiler warnings
      mysql-test/mysql-test-run.pl:
        Use an error file instead of /dev/null
        (Fixes problem on Windows and the output may be usefull)
      mysql-test/suite/maria/r/maria.result:
        Test case for bug LP#613408 (not complete)
      mysql-test/suite/maria/t/maria.test:
        Test case for bug LP#613408 (not complete)
      mysql-test/suite/percona/percona_log_slow_slave_statements-and-use_global_long_query_time.test:
        This test doesn't work one windows (needs shell tools)
      mysql-test/suite/percona/percona_log_slow_slave_statements.test:
        This test doesn't work one windows (needs shell tools)
      mysql-test/suite/percona/percona_slow_query_log-control_global_slow.test:
        This test doesn't work one windows (needs shell tools)
      mysql-test/suite/percona/percona_slow_query_log-log_slow_filter.test:
        This test doesn't work one windows (needs shell tools)
      mysql-test/suite/percona/percona_slow_query_log-log_slow_verbosity.test:
        This test doesn't work one windows (needs shell tools)
      mysql-test/suite/percona/percona_slow_query_log-long_query_time.test:
        This test doesn't work one windows (needs shell tools)
      mysql-test/suite/percona/percona_slow_query_log-microseconds_in_slow_query_log.test:
        This test doesn't work one windows (needs shell tools)
      mysql-test/suite/percona/percona_slow_query_log-min_examined_row_limit.test:
        This test doesn't work one windows (needs shell tools)
      mysql-test/suite/percona/percona_slow_query_log-use_global_long_query_time.test:
        This test doesn't work one windows (needs shell tools)
      mysql-test/t/ctype_filesystem.test:
        This test doesn't work one windows (problem with character sets)
      mysql-test/t/events_time_zone.test:
        Use longer times to get predictable tests
      mysql-test/t/show_check-master.opt:
        set long query time to get more predictable tests
      storage/maria/ma_check.c:
        Restore info->s->lock_key_trees after repair.
        Disable logging to temp tables for all repair cases (safety fix)
      storage/maria/ma_state.c:
        Ensurethat info->state_start doesn't point to freed memory. (Could happen after running an internal repair to fast create indexes)
      storage/maria/trnman.c:
        Added longer comment
      0d3039d4
  12. 06 Aug, 2010 6 commits
    • Michael Widenius's avatar
      Fix build failure on windows · 2e80f1bb
      Michael Widenius authored
      2e80f1bb
    • Michael Widenius's avatar
      Fix for LP#614265 Crash in _ma_unpin_all_pages / _ma_search on DELETE with Aria search engine · 50b43cf8
      Michael Widenius authored
      Fixed compiler warnings
      
      client/mysqlslap.c:
        Fixed compiler warnings
      mysql-test/suite/maria/r/maria.result:
        Test case for LP#614265
      mysql-test/suite/maria/t/maria.test:
        Test case for LP#614265
      mysql-test/suite/pbxt/t/skip_name_resolve-master.opt:
        Ensure that we get restart before test (as test uses show processlist)
      sql/handler.cc:
        Added cloned marker if clone was called (for safety checks & debugging)
      sql/handler.h:
        Added cloned marker if clone was called (for safety checks & debugging)
      storage/maria/ha_maria.cc:
        In clone call, set file->trn if cloned file had this set. This is needed as maria_create_trn_for_mysql() and thus file->trn is never set for cloned table.
        Ensure that file->trn is properly reset after calls to repair/check/zerofill.
        Increment locked table count if file->trn is set (as we decrement this in the unlock call)
      tests/mysql_client_test.c:
        Fixed compiler warnings
      50b43cf8
    • Michael Widenius's avatar
      Fixed wrong AC_INIT · 8b48a0aa
      Michael Widenius authored
      8b48a0aa
    • Michael Widenius's avatar
      Fixed timing issue in test suite · 91831449
      Michael Widenius authored
      91831449
    • Michael Widenius's avatar
      Merge of 5.1-release · 27d27dee
      Michael Widenius authored
      27d27dee
    • Michael Widenius's avatar
      Fixed test case and compiler warnings · 17d01cba
      Michael Widenius authored
      
      mysql-test/suite/innodb_plugin/t/innodb-timeout.test:
        More time for test case
      support-files/compiler_warnings.supp:
        Ignore compiler warning
      17d01cba
  13. 05 Aug, 2010 5 commits
    • Michael Widenius's avatar
      Automatic merge · f0f21036
      Michael Widenius authored
      f0f21036
    • Michael Widenius's avatar
      Remove not used files · f66d2500
      Michael Widenius authored
      Added option: --warning-for-wrong-transaction-id to maria_check
      
      
      mysql-test/r/innodb-use-sys-malloc.result:
        Remove not used files
      mysql-test/t/innodb-use-sys-malloc-master.opt:
        Remove not used files
      storage/maria/ma_recovery.c:
        Added support for --lsn-end
      storage/maria/ma_recovery.h:
        New prototype
      storage/maria/ma_write.c:
        Added logging of KEY_OP_CHECK for all possible keyblock splits.
        (Helps us find error in log file handling)
      storage/maria/maria_chk.c:
        Added option: --warning-for-wrong-transaction-id
        --update-status now resets open count if check succeds
      storage/maria/maria_read_log.c:
        Added option --end-lsn for only appling part of log (good for debugging)
        Changed options to use '-' instead of '_'
      f66d2500
    • Michael Widenius's avatar
      Fixed test failures · 7d1ce2e8
      Michael Widenius authored
      mysql-test/suite/funcs_1/r/is_columns_is.result:
        Update after change of comment length
      mysql-test/suite/funcs_1/r/is_engines.result:
        Update after change of comment length
      mysql-test/suite/innodb_plugin/t/disabled.def:
        Disable a test that gives valgrind warnings for xtradb
      mysql-test/suite/innodb_plugin/t/innodb_bug52745.test:
        Test requires persian collation
      7d1ce2e8
    • Michael Widenius's avatar
      Merge with 5.1-merge (new XTRADB code updated up to MySQL 5.1.47) · ca0e296b
      Michael Widenius authored
      Fixed tests cases.
      ca0e296b
    • Michael Widenius's avatar
      Fixed test failures (bugs in test suite) · 09241387
      Michael Widenius authored
      
      mysql-test/suite/percona/percona_log_slow_slave_statements.test:
        Replaced 'grep | wc -l' with 'grep -c' as output of wc -l is not portable (for example on Mac)
      mysql-test/suite/percona/percona_slow_query_log-control_global_slow.result:
        Replaced 'grep | wc -l' with 'grep -c' as output of wc -l is not portable (for example on Mac)
      mysql-test/suite/percona/percona_slow_query_log-control_global_slow.test:
        Replaced 'grep | wc -l' with 'grep -c' as output of wc -l is not portable (for example on Mac)
      mysql-test/suite/percona/percona_slow_query_log-log_slow_filter.result:
        Replaced 'grep | wc -l' with 'grep -c' as output of wc -l is not portable (for example on Mac)
      mysql-test/suite/percona/percona_slow_query_log-log_slow_filter.test:
        Replaced 'grep | wc -l' with 'grep -c' as output of wc -l is not portable (for example on Mac)
      mysql-test/suite/percona/percona_slow_query_log-log_slow_verbosity.result:
        Replaced 'grep | wc -l' with 'grep -c' as output of wc -l is not portable (for example on Mac)
      mysql-test/suite/percona/percona_slow_query_log-log_slow_verbosity.test:
        Replaced 'grep | wc -l' with 'grep -c' as output of wc -l is not portable (for example on Mac)
      mysql-test/suite/percona/percona_slow_query_log-long_query_time.result:
        Replaced 'grep | wc -l' with 'grep -c' as output of wc -l is not portable (for example on Mac)
      mysql-test/suite/percona/percona_slow_query_log-long_query_time.test:
        Replaced 'grep | wc -l' with 'grep -c' as output of wc -l is not portable (for example on Mac)
      mysql-test/suite/percona/percona_slow_query_log-microseconds_in_slow_query_log.result:
        Replaced 'grep | wc -l' with 'grep -c' as output of wc -l is not portable (for example on Mac)
      mysql-test/suite/percona/percona_slow_query_log-microseconds_in_slow_query_log.test:
        Replaced 'grep | wc -l' with 'grep -c' as output of wc -l is not portable (for example on Mac)
      mysql-test/suite/percona/percona_slow_query_log-min_examined_row_limit.result:
        Replaced 'grep | wc -l' with 'grep -c' as output of wc -l is not portable (for example on Mac)
      mysql-test/suite/percona/percona_slow_query_log-min_examined_row_limit.test:
        Replaced 'grep | wc -l' with 'grep -c' as output of wc -l is not portable (for example on Mac)
      mysql-test/suite/percona/percona_slow_query_log-use_global_long_query_time.result:
        Replaced 'grep | wc -l' with 'grep -c' as output of wc -l is not portable (for example on Mac)
      mysql-test/suite/percona/percona_slow_query_log-use_global_long_query_time.test:
        Replaced 'grep | wc -l' with 'grep -c' as output of wc -l is not portable (for example on Mac)
      mysql-test/suite/rpl/r/rpl_stm_until.result:
        Updated results
      mysql-test/suite/rpl/t/rpl_stm_until.test:
        Fixed random failure in test suite: master could be reading data from master-bin.00001 at the same time as test suite was changing it.
      09241387
  14. 04 Aug, 2010 2 commits
    • Michael Widenius's avatar
      Fixed compiler warnings · 1f5b93e7
      Michael Widenius authored
      Fixed some wrong test cases
      Fixed bug in null handling in XtraDB
      
      
      extra/comp_err.c:
        Fixed compiler warnings
      extra/my_print_defaults.c:
        Fixed compiler warnings
      mysql-test/suite/binlog/t/binlog_killed.test:
        Added support for timeouts
      mysql-test/suite/funcs_1/r/is_columns_is.result:
        Updated results (INNODB_SYS_TABLES had got new column)
      scripts/mysql_install_db.sh:
        Fixed typo
      sql/mysql_priv.h:
        Removed not needed argument for compare_record()
      sql/sql_insert.cc:
        Removed not needed argument for compare_record()
      sql/sql_update.cc:
        Removed not needed argument for compare_record()
        The argument is not needed becasue we copy the full record[0] to record[1] and the comparison should work even if all columns are not read
      sql/table.cc:
        The comparison of rows is independent of HA_PARTIAL_COLUMN_READ
      storage/maria/maria_chk.c:
        Fixed compiler warnings
      storage/maria/maria_read_log.c:
        Fixed compiler warnings
      storage/myisam/myisamchk.c:
        Fixed compiler warnings
      storage/myisam/myisampack.c:
        Fixed compiler warnings
      storage/xtradb/dict/dict0load.c:
        Fixed compiler warnings
      storage/xtradb/row/row0sel.c:
        Fixed null handling in XtraDB. (See comment)
      storage/xtradb/trx/trx0sys.c:
        Fixed compiler warnings
      support-files/compiler_warnings.supp:
        Fixed compiler warnings
      1f5b93e7
    • Michael Widenius's avatar
      Fixes bug when we run bcmp() on row when the storage engine hasn't filled in all fields in the row. · cd9706b2
      Michael Widenius authored
      This was triggered by innodb.innodb_multi_update, where we had a static length row without nulls and xtradb didn't fill in the delete-marker byte
      
      
      include/my_bitmap.h:
        Added prototype for bitmap_union_is_set_all()
      mysys/my_bitmap.c:
        Added function to check if union of two bit maps covers all bits.
      sql/mysql_priv.h:
        Updated protype for compare_record()
      sql/sql_insert.cc:
        Send to compare_record() flag if all fields are used.
      sql/sql_select.cc:
        Set share->null_bytes_for_compare.
      sql/sql_update.cc:
        In compare_record() don't use the fast cmp_record() (which is basically memcmp) if we don't know that all fields exists.
        Don't compare the null_bytes if there is no data there.
      sql/table.cc:
        Store in share->null_bytes_for_compare the number of bytes that has null or bit fields (but not delete marker)
        Store in can_cmp_whole_record if we can use memcmp() (assuming all rows are read) to compare rows in compare_record()
      sql/table.h:
        Added two elements in table->share to speed up checking how updated rows can be compared.
      cd9706b2