1. 07 Sep, 2010 6 commits
  2. 06 Sep, 2010 1 commit
  3. 05 Sep, 2010 6 commits
    • Michael Widenius's avatar
      Automatic merge · c2744af0
      Michael Widenius authored
      c2744af0
    • Michael Widenius's avatar
    • Michael Widenius's avatar
      Fixed bug that 'maria_read_log -a' didn't set max_trid when reparing tables. · 3ed49b69
      Michael Widenius authored
      Fixed bug in Aria when replacing short keys with long keys and a key tree both overflow and underflow at same time.
      Fixed several bugs when generating recovery logs when using RGQ with replacing long keys with short keys and vice versa.
      Lots of new DBUG_ASSERT()'s
      Added more information to recovery log to make it easier to know from where log entry orginated.
      Introduced MARIA_PAGE->org_size that tells what the size of the page was in last log entry. This allows us to find out if all key changes for index page was logged.
      Small code cleanups:
      - Introduced _ma_log_key_changes() to log crc of key page changes
      - Added share->max_index_block_size as max size of data one can put in key block (block_size - KEYPAGE_CHECKSUM_SIZE)
        This will later simplify adding a directory to index pages.
      - Write page number instead of page postition to DBUG log
      
      
      
      mysql-test/lib/v1/mysql-test-run.pl:
        Use --general-log instead of --log to disable warning when using RQG
      sql/mysqld.cc:
        If we have already sent ok to client when we get an error, log this to stderr
        Don't disable option --log-output if CSV engine is not supported.
      storage/maria/ha_maria.cc:
        Log queries to recovery log also in LOCK TABLES
      storage/maria/ma_check.c:
        If param->max_trid is set, use this value instead of max_trid_in_system().
        This is used by recovery to set max_trid to max seen trid so far.
        keyinfo->block_length - KEYPAGE_CHECKSUM_SIZE -> max_index_block_size (Style optimization)
      storage/maria/ma_delete.c:
        Mark tables crashed early
        Write page number instead of page position to debug log.
        Added parameter to ma_log_delete() and ma_log_prefix() that is logged so that we can find where wrong log entries where generated.
        Fixed bug where a page was not proplerly written when same key tree had both an overflow and underflow when deleting a key.
        keyinfo->block_length - KEYPAGE_CHECKSUM_SIZE => max_index_block_size (Style optimization)
        ma_log_delete() now has extra parameter of how many bytes from end of page should be appended to log for page (for page overflows)
      storage/maria/ma_key_recover.c:
        Added extra parameter to ma_log_prefix() to indicate what caused log entry.
        Update MARIA_PAGE->org_size when logging info about page.
        Much more DBUG_ASSERT()'s.
        Fix some bugs in maria_log_add() to handle page overflows.
        Added _ma_log_key_changes() to log crc of key page changes.
        If EXTRA_STORE_FULL_PAGE_IN_KEY_CHANGES is defines, log the resulting pages to log so one can trivally
        see how the resulting page should have looked like (for errors in CRC values)
      storage/maria/ma_key_recover.h:
        Added _ma_log_key_changes() which is only called if EXTRA_DEBUG_KEY_CHANGES is defined.
        Updated function prototypes.
      storage/maria/ma_loghandler.h:
        Added more values to en_key_debug, to get more exact location where things went wrong when logging to recovery log.
      storage/maria/ma_open.c:
        Initialize share->max_index_block_size
      storage/maria/ma_page.c:
        Added updating and testing of MARIA_PAGE->org_size
        Write page number instead of page postition to DBUG log
        Generate error if we read page with wrong data.
        Removed wrong assert: key_del_current != share->state.key_del.
        Simplify _ma_log_compact_keypage()
      storage/maria/ma_recovery.c:
        Set param.max_trid to max seen trid before running repair table (used for alter table to create index)
      storage/maria/ma_rt_key.c:
        Update call to _ma_log_delete()
      storage/maria/ma_rt_split.c:
        Use _ma_log_key_changes()
        Update MARIA_PAGE->org_size
      storage/maria/ma_unique.c:
        Remove casts
      storage/maria/ma_write.c:
        keyinfo->block_length - KEYPAGE_CHECKSUM_SIZE => share->max_index_block_length.
        Updated calls to _ma_log_prefix()
        Changed code to use _ma_log_key_changes()
        Update ma_page->org_size
        Fixed bug in _ma_log_split() for pages that overflow
        Added KEY_OP_DEBUG logging to functions
        Log KEYPAGE_FLAG in all log entries
      storage/maria/maria_def.h:
        Added SHARE->max_index_block_size
        Added MARIA_PAGE->org_size
      storage/maria/trnman.c:
        Reset flags for new transaction.
      3ed49b69
    • Michael Widenius's avatar
      Fixed build failures · 4b1db349
      Michael Widenius authored
      Cleaned up mysql_upgrade --help and mysqlcheck --help
      
      client/mysql_upgrade.c:
        Increased version number.
        Marked all options that are not used 'Not used'.
        Don't write 'Looking for tool' if not using --verbose
      client/mysqlcheck.c:
        Cleanup output for --help
        Reset not initialzed variable
      mysql-test/r/log_tables_upgrade.result:
        Updated results
      mysql-test/r/mysql_upgrade.result:
        Updated results
      mysql-test/r/mysqlcheck.result:
        Updated results
      mysql-test/t/log_tables_upgrade.test:
        mysql_upgrade is now run without --skip-verbose
      mysql-test/t/mysql_upgrade.test:
        mysql_upgrade is now run without --skip-verbose
      4b1db349
    • Michael Widenius's avatar
      Fixed failing test cases after update of xtradb · 95d91e84
      Michael Widenius authored
      mysql-test/r/not_partition.result:
        Test result changed after I fixed the error message for not existing engine
      mysql-test/suite/funcs_1/r/is_columns_is.result:
        Updated results
      mysql-test/suite/funcs_1/r/is_engines_innodb.result:
        Updated results
      mysql-test/suite/funcs_1/r/is_tables_is.result:
        Updated results
      mysql-test/suite/funcs_1/t/is_tables_is.test:
        Test requires innodb as results depends on innodb
      mysql-test/suite/innodb_plugin/t/disabled.def:
        Disable test as it shows errors in valgrind
      mysql-test/suite/innodb_plugin/t/innodb-use-sys-malloc.test:
        Test can't be run under valgrind as mysql-test-run resets the innodb_use_sys_malloc flag
      storage/xtradb/buf/buf0buf.c:
        Fixed compiler warning by adding casts
      95d91e84
    • Michael Widenius's avatar
      Nicer output for mysql_upgrade · 60c75322
      Michael Widenius authored
      Added --silent option to mysql_upgrade so that one can only get errors printed
      Don't write unnecessary warning about log tables during upgrade
      
      
      
      client/mysql_upgrade.c:
        Don't print connect arguments if not using --verbose --verbose
        Added option --silent to only print errors. This options is passed to mysqlcheck.
        Write out phase names
        The 'verbose' code is a bit strange as I wanted to keep compatibility with old mysql_upgrade
      client/mysqlcheck.c:
        Don't upgrade log tables (to avoid confusing warning message that they can't be locked)
      60c75322
  4. 04 Sep, 2010 2 commits
  5. 03 Sep, 2010 7 commits
    • unknown's avatar
    • Michael Widenius's avatar
      a85a07ea
    • Michael Widenius's avatar
      Enable archive tables to work with mysql_upgrade / repair · 7cbe0905
      Michael Widenius authored
      Made long file names from previous patch shorter
      
      mysql-test/r/archive.result:
        Added testing of repair (for upgrade) of 5.0 tables.
      mysql-test/std_data/archive_5_0.ARM:
        Archive table created in MySQL 5.0
      mysql-test/std_data/archive_5_0.ARZ:
        Archive table created in MySQL 5.0
      mysql-test/std_data/archive_5_0.frm:
        Archive table created in MySQL 5.0
      mysql-test/std_data/long_table_name.MYD:
        Made long file names shorter
      mysql-test/std_data/long_table_name.MYI:
        Made long file names shorter
      mysql-test/std_data/long_table_name.frm:
        Made long file names shorter
      mysql-test/t/archive.test:
        Added testing of repair (for upgrade) of 5.0 tables.
      sql/sql_table.cc:
        Allow recreate to open crashed tables.
      sql/table.cc:
        Fix error message if storage engine doesn't exists.
      storage/archive/azio.c:
        Reset status values in case archive is of old versions
      storage/archive/ha_archive.cc:
        Fix to allow one to open old versions of table during repair
        Reset status variables for old version tables
        If the the table is of old version, force upgrade with ALTER TABLE when doing repair
      storage/archive/ha_archive.h:
        Added variables to detect old versions
      7cbe0905
    • unknown's avatar
      d7748478
    • Michael Widenius's avatar
      Fix that one can run mysql_upgrade with long table names · 7c8d39d1
      Michael Widenius authored
      Fall back to use ALTER TABLE for engines that doesn't support REPAIR when doing repair for upgrade.
      Nicer output from mysql_upgrade and mysql_check
      Updated all arrays that used NAME_LEN to use SAFE_NAME_LEN to ensure that we don't break things accidently as names can now have a #mysql50# prefix.
      
      client/mysql_upgrade.c:
        If we are using verbose, also run mysqlcheck in verbose mode.
      client/mysqlcheck.c:
        Add more information if running in verbose mode
        Print 'Needs upgrade' instead of complex error if table needs to be upgraded
        Don't write connect information if verbose is not 2 or above
      mysql-test/r/drop.result:
        Updated test and results as we now support full table names
      mysql-test/r/grant.result:
        Now you get a correct error message if using #mysql with paths
      mysql-test/r/show_check.result:
        Update results as table names can temporarly be bigger than NAME_LEN (during upgrade)
      mysql-test/r/upgrade.result:
        Test upgrade for long table names.
      mysql-test/suite/funcs_1/r/is_tables_is.result:
        Updated old test result (had note been updated in a while)
      mysql-test/t/drop.test:
        Updated test and results as we now support full table names
      mysql-test/t/grant.test:
        Now you get a correct error message if using #mysql with paths
      mysql-test/t/upgrade.test:
        Test upgrade for long table names.
      sql/ha_partition.cc:
        NAME_LEN -> SAFE_NAME_LEN
      sql/item.cc:
        NAME_LEN -> SAFE_NAME_LEN
      sql/log_event.cc:
        NAME_LEN -> SAFE_NAME_LEN
      sql/mysql_priv.h:
        Added SAFE_NAME_LEN
      sql/rpl_filter.cc:
        NAME_LEN -> SAFE_NAME_LEN
      sql/sp.cc:
        NAME_LEN -> SAFE_NAME_LEN
      sql/sp_head.cc:
        NAME_LEN -> SAFE_NAME_LEN
      sql/sql_acl.cc:
        NAME_LEN -> SAFE_NAME_LEN
      sql/sql_base.cc:
        NAME_LEN -> SAFE_NAME_LEN
      sql/sql_connect.cc:
        NAME_LEN -> SAFE_NAME_LEN
      sql/sql_parse.cc:
        NAME_LEN -> SAFE_NAME_LEN
      sql/sql_prepare.cc:
        NAME_LEN -> SAFE_NAME_LEN
      sql/sql_select.cc:
        NAME_LEN -> SAFE_NAME_LEN
      sql/sql_show.cc:
        NAME_LEN -> SAFE_NAME_LEN
        Enlarge table names for SHOW TABLES to also include optional #mysql50#
      sql/sql_table.cc:
        Fall back to use ALTER TABLE for engines that doesn't support REPAIR when doing repair for upgrade.
      sql/sql_trigger.cc:
        NAME_LEN -> SAFE_NAME_LEN
      sql/sql_udf.cc:
        NAME_LEN -> SAFE_NAME_LEN
      sql/sql_view.cc:
        NAME_LEN -> SAFE_NAME_LEN
      sql/table.cc:
        Fixed check_table_name() to not count #mysql50# as part of name
        If #mysql50# is part of the name, don't allow path characters in name.
      7c8d39d1
    • unknown's avatar
    • Michael Widenius's avatar
      Fixed bugs (mostly on sparc) that caused crashes in mysql-test-run · 95512129
      Michael Widenius authored
      sql/item_sum.cc:
        Fixed alignment problem that caused crases on sparc. (ORDER needs an aligment of 8 as it includes longlongs)
      storage/federatedx/ha_federatedx.cc:
        Fixed crash on sparc as 'pos' is not aligned on 4/8.
      storage/maria/ma_page.c:
        Removed wrong assert
      95512129
  6. 30 Aug, 2010 2 commits
  7. 29 Aug, 2010 1 commit
  8. 28 Aug, 2010 3 commits
    • Michael Widenius's avatar
      Fixed build & test failures in buildbot · 75a06c0a
      Michael Widenius authored
      mysql-test/t/bug46080-master.opt:
        Lower limits to be able to run tests
      regex/main.c:
        Fixed compiler warnings
      storage/maria/ma_key_recover.c:
        Fixed compiler warnings
      storage/maria/ma_recovery.c:
        Fixed compiler warnings
      storage/maria/ma_unique.c:
        Fixed compiler warnings
      strings/ctype-uca.c:
        Added comment
      strings/xml.c:
        Fixed compiler warnings
      support-files/compiler_warnings.supp:
        Added suppressions for windows
      unittest/strings/strings-t.c:
        Added ifdef to fix compilation failure when compiling without UCA
      75a06c0a
    • Michael Widenius's avatar
      Automatic merge · 8dbb7429
      Michael Widenius authored
      8dbb7429
    • Michael Widenius's avatar
      Fixed failing tests · f7dd3373
      Michael Widenius authored
      mysql-test/suite/binlog/t/binlog_row_binlog.test:
        Don't run test if utf8_unicode_ci is not available
      mysql-test/suite/binlog/t/binlog_stm_binlog.test:
        Don't run test if utf8_unicode_ci is not available
      mysql-test/suite/funcs_1/r/is_columns_is.result:
        Update result
      mysql-test/suite/innodb/t/innodb_misc1.test:
        Don't run test if utf8_unicode_ci is not available
      mysql-test/suite/innodb/t/innodb_mysql.test:
        Don't run test if utf8_unicode_ci is not available
      f7dd3373
  9. 27 Aug, 2010 3 commits
    • Sergei Golubchik's avatar
      use the correct path separator on windows. · 5029e8c9
      Sergei Golubchik authored
      remove duplicates from the --plugin-load list.
      $ENV{TERM} can be undefined (on Windows)
      5029e8c9
    • Michael Widenius's avatar
      Automerge · 9593d143
      Michael Widenius authored
      9593d143
    • Michael Widenius's avatar
      Merge with MySQL 5.1.50 · 720b6607
      Michael Widenius authored
      - Changed to still use bcmp() in certain cases becasue
        - Faster for short unaligneed strings than memcmp()
        - Bettern when using valgrind
      - Changed to use my_sprintf() instead of sprintf() to get higher portability for old systems
      - Changed code to use MariaDB version of select->skip_record()
      - Removed -%::SCCS/s.% from Makefile.am:s to remove automake warnings
      720b6607
  10. 25 Aug, 2010 1 commit
    • Sergei Golubchik's avatar
      mtr changes: · 3593ca12
      Sergei Golubchik authored
      * expanding unknown env variable does not abort mtr
      * have_archive, blackhole, innodb - preload the corresponding engine
      * all options from .opt files get equal treatment, all are searched for special options,
        not only -{master,slave}.opt as before (which ignored suite.opt and --mysqld=...)
      * --plugin-load gets special treatment too - all instances are merged into one
      * federated test fixed to preload federated
      3593ca12
  11. 24 Aug, 2010 8 commits
    • Michael Widenius's avatar
      Fixed typo in last push (sorry about that) · 2d4b921a
      Michael Widenius authored
      - Need to get autopush to work to avoid bad pushes like this....
      2d4b921a
    • Michael Widenius's avatar
      Fixed failing test · 951c4f87
      Michael Widenius authored
      Increased default buffers to speed up maria_chk
      
      mysql-test/suite/maria/r/maria3.result:
        Fixed failing test
      storage/maria/maria_chk.c:
        Increase default page_buffer_size
      storage/maria/maria_def.h:
        Increased default sort buffer size for maria_chk.
      951c4f87
    • Michael Widenius's avatar
      Automatic merge · 861d0c86
      Michael Widenius authored
      Fixed compiler warning
      
      client/mysql.cc:
        Fixed compiler warning
      include/my_global.h:
        Fixed typo
      storage/maria/ha_maria.cc:
        Merge
      861d0c86
    • Michael Widenius's avatar
      Increase some very old limits. · 5fbf323e
      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.
      5fbf323e
    • Michael Widenius's avatar
      Automatic merge · 73f172f4
      Michael Widenius authored
      73f172f4
    • Michael Widenius's avatar
      Automatic merge with main 5.1 · 2eeb1b85
      Michael Widenius authored
      2eeb1b85
    • Michael Widenius's avatar
      Fix of LP#616253 Crash in _ma_bitmap_set_full_page_bits on Aria recovery · 7e292d6b
      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
      7e292d6b
    • Sergei Golubchik's avatar
      c8912ccf