- 14 Dec, 2007 3 commits
- 13 Dec, 2007 7 commits
-
-
unknown authored
storage/maria/ma_loghandler.c: Using pthread_cond instead of WQUEUE.
-
unknown authored
into desktop.sanja.is.com.ua:/home/bell/mysql/bk/work-maria-testfail mysql-test/t/maria-recovery.test: Auto merged storage/maria/ma_loghandler.c: Auto merged
-
unknown authored
switching to new one which prevent deadlock. mysql-test/r/maria-purge.result: Fixed test which use setting maria_checkpoint_interval to force checkpoint now. mysql-test/t/maria-purge.test: Fixed test which use setting maria_checkpoint_interval to force checkpoint now.
-
unknown authored
-
unknown authored
-
unknown authored
BitKeeper/deleted/.del-plug.in: Delete: storage/myisam/plug.in configure.in: MyISAM should be the first plugin in the list for now check for thr_yield, just in case include/my_pthread.h: pthread_yield for windows, solaris, macosx storage/Makefile.am: fix for make distclean (myisam was listed twice in SUBDIRS)
-
unknown authored
mysql-test/r/maria-big.result: Change to make maria-purge more stable: increasing file size to let all records fit in one log. mysql-test/r/maria-connect.result: Change to make maria-purge more stable: increasing file size to let all records fit in one log. mysql-test/r/maria-purge.result: Change to make maria-purge more stable. mysql-test/r/maria.result: Change to make maria-purge more stable: increasing file size to let all records fit in one log. mysql-test/r/ps_maria.result: Change to make maria-purge more stable: increasing file size to let all records fit in one log. mysql-test/t/maria-big.test: Change to make maria-purge more stable: increasing file size to let all records fit in one log. mysql-test/t/maria-connect.test: Change to make maria-purge more stable: increasing file size to let all records fit in one log. mysql-test/t/maria-purge.test: Change to make maria-purge more stable. mysql-test/t/maria-recovery.test: Change to make maria-purge more stable: increasing file size to let all records fit in one log. mysql-test/t/maria.test: Change to make maria-purge more stable: increasing file size to let all records fit in one log. mysql-test/t/ps_maria.test: Change to make maria-purge more stable: increasing file size to let all records fit in one log.
-
- 12 Dec, 2007 3 commits
-
-
unknown authored
into mysql.com:/home/my/mysql-maria storage/maria/ma_blockrec.c: Auto merged storage/maria/ma_check.c: Auto merged storage/maria/ma_loghandler.c: Auto merged storage/maria/maria_def.h: Auto merged
-
unknown authored
Cleanup of recent code changes in dbug and my_thr_init Added name for each safe_mutex (for better DBUG and error reporting) Fixed that sort_info.max_records is calculated correctly. This fixed a bug in maria_chk Removed duplicate printing of mutex address in dbug log dbug/dbug.c: Cleanup of recent code changes include/my_pthread.h: Added name for each safe_mutex (for better DBUG and error reporting) mysys/my_thr_init.c: Cleanup of recent code changes mysys/thr_mutex.c: Added name for each safe_mutex (for better DBUG and error reporting) mysys/wqueue.c: Removed some mutex printing (as it's done now when we take mutex) storage/maria/Makefile.am: Fixed that 'make tags' works with xemacs storage/maria/ma_blockrec.c: base.min_row_length -> base.min_block_length (As they where basicly the same variable) storage/maria/ma_check.c: Moved more common stuff to initialize_variables_for_repair Fixed that sort_info.max_records is calculated correctly. This fixed a bug in maria_chk storage/maria/ma_create.c: More comments Fixed that min_pack_length is calculated more correctly Removed duplicate variable base.min_row_length storage/maria/ma_loghandler.c: Removed duplicate printing of mutex address storage/maria/ma_open.c: Removed base.min_row_length storage/maria/ma_packrec.c: Removed not anymore needed code (One should not change any .base variables as this will affect repair with unpack) storage/maria/maria_def.h: Removed base.min_row_length
-
unknown authored
When we log UNDO_KEY_INSERT for an auto_inc key, we update state.auto_increment (not anymore at the end of maria_write() except if this is a non-transactional table). When Recovery sees UNDO_KEY_INSERT in the REDO phase, it reads the auto_inc value from it and updates state.auto_increment. mysql-test/r/maria-recovery.result: Without the code fix, there would be in CHECK TABLE: "Auto-increment value: 0 is smaller than max used value: 3" and no AUTO_INCREMENT= clause in SHOW CREATE TABLE. mysql-test/t/maria-recovery.test: Test of recovery of state.auto_increment: from an old table, does the replaying of the log set state.auto_increment to what it should be. storage/maria/ma_check.c: new way of calling ma_retrieve_auto_increment(): pass key storage/maria/ma_key.c: ma_retrieve_auto_increment() now operates directly with a pointer to the key and not on the record. storage/maria/ma_key_recover.c: dedicated write_hook_for_undo_key_insert(): sets state.auto_increment under log's mutex. storage/maria/ma_key_recover.h: Dedicated hook for UNDO_KEY_INSERT, to set state.auto_increment. Such hook needs a new member st_msg_write_hook_for_undo_key::auto_increment, which contains the auto_increment value inserted. storage/maria/ma_loghandler.c: UNDO_KEY_INSERT gets a dedicated write_hook, to set auto_increment. storage/maria/ma_recovery.c: When in the REDO phase we see UNDO_KEY_INSERT: if the state is older than this record, and the key is the auto_increment one, read the key's value from the log record and update state.auto_increment. storage/maria/ma_test_all.sh: use $maria_path to be able to run from /dev/shm (faster) storage/maria/ma_update.c: bool is more of C++, using my_bool. If table is transactional, state.auto_increment is already updated in write_hook_for_undo_key_insert(). storage/maria/ma_write.c: If table is transactional, state.auto_increment is not updated at the end of maria_write() but rather in write_hook_for_undo_key_insert() (under log's mutex, so that a concurrent checkpoint does not read state.auto_increment while it is changing - corrupted). _ma_ck_write_btree_with_log() extracts the auto_increment value from the key, puts it into msg.auto_increment, and this is passed to write_hook_for_undo_key_insert(). storage/maria/maria_def.h: change of prototype of ma_retrieve_auto_increment() storage/maria/maria_read_log.c: use default log file size. Use separate page caches for table and logs (needed if maria_block_size!=TRANSLOG_PAGE_SIZE).
-
- 11 Dec, 2007 8 commits
-
-
unknown authored
into gbichot4.local:/home/mysql_src/mysql-maria-monty
-
unknown authored
(output was not repeatable accross machines). storage/maria/ma_check.c: comment storage/maria/ma_test_recovery.expected: output update storage/maria/ma_test_recovery: * data_file_length/key_file_length differ between machines because ma_test2 uses srand(). Removing them from output. * there is no reason to copy/restore logs, test should work without * applying log to recreate tables should not change log, testing this.
-
unknown authored
-
unknown authored
storage/maria/ma_loghandler.c: Fixed compiler warning. translog_mutex_unlock -> pthread_mutex_unlock: postmerge change. storage/maria/unittest/ma_test_loghandler_max_lsn-t.c: Fixed forgoten log size out of bounds.
-
unknown authored
into desktop.sanja.is.com.ua:/home/bell/mysql/bk/work-maria-logpurge storage/maria/ma_checkpoint.c: Auto merged storage/maria/ma_loghandler.c: Auto merged storage/maria/ma_loghandler.h: Auto merged storage/maria/ma_recovery.c: Auto merged
-
unknown authored
Added more checks. storage/maria/ha_maria.cc: Let control size to my_get_opts(). storage/maria/ma_loghandler.c: Let control size to my_get_opts(). Removed unused function. Assert to check log file size. Additional compilation warnings. storage/maria/ma_loghandler.h: New log size bounds. Removed unused function. storage/maria/unittest/ma_test_loghandler-t.c: Fixed test to confirm new log size bounds.
-
unknown authored
into desktop.sanja.is.com.ua:/home/bell/mysql/bk/work-maria-testfail storage/maria/ma_loghandler.c: Auto merged
-
unknown authored
-
- 10 Dec, 2007 9 commits
-
-
unknown authored
fix for bug: if a crash happened right after writing a REDO like this: REDO - UNDO - REDO*, then recovery would ignore the last REDO* (ok), rollback: REDO - UNDO - REDO* - REDO - CLR, and a next recovery would thus execute REDO* instead of skipping it again. Recovery now logs LOGREC_INCOMPLETE_GROUP when it meets REDO* for the first time, to draw a boundary and ensure it is always skipped. Tested by hand. Note: ma_test_all fails "maria_chk: error: Key 1 - Found too many records" not due to this patch (failed before). BitKeeper/triggers/post-commit: no truncation of the commit mail, or how to review patches? mysql-test/include/maria_verify_recovery.inc: let caller choose the statement used to crash (sometimes we want the crash to happen at special places) mysql-test/t/maria-recovery.test: user of maria_verify_recovery.inc now specifies statement which the script should use for crashing. storage/maria/ma_bitmap.c: it's easier to search for all places using functions from the bitmap module (like in ma_blockrec.c) if those exported functions all start with "_ma_bitmap": renaming some of them. Assertion that when we read a bitmap page, overwriting bitmap->map, we are not losing information (i.e. bitmap->changed is false). storage/maria/ma_blockrec.c: update to new names. Adding code (disabled, protected by a #ifdef) that I use to test certain crash scenarios (more to come). storage/maria/ma_blockrec.h: update to new names storage/maria/ma_checkpoint.c: update to new names storage/maria/ma_extra.c: update to new names storage/maria/ma_loghandler.c: new LOGREC_INCOMPLETE_GROUP storage/maria/ma_loghandler.h: new LOGREC_INCOMPLETE_GROUP storage/maria/ma_recovery.c: When at the end of the REDO phase we have identified some transactions with incomplete REDO groups (REDOs without an UNDO or CLR_END), for each of them we log LOGREC_INCOMPLETE_GROUP. This way, the upcoming UNDO phase can write more records for such transaction, a future recovery won't pair the incomplete group with the CLR_END (as there is LOGREC_INCOMPLETE_GROUP to draw a boundary).
-
unknown authored
SCCS merged .del-ma_key_redo.c: Auto merged BitKeeper/deleted/.del-ma_key_redo.c: Auto merged storage/maria/ma_recovery.c: SCCS merged
-
unknown authored
into desktop.sanja.is.com.ua:/home/bell/mysql/bk/mysql-maria
-
unknown authored
storage/maria/ma_loghandler.c: min_file should be for sure unexistant file for right search.
-
unknown authored
Unified printing of mutex addresses to make them easier to compare mysys/thr_mutex.c: Unified printing of mutex addresses to make them easier to compare storage/maria/ma_dynrec.c: Fixed indentation storage/maria/ma_open.c: Fixed bug in allocation of dynamic record buffer
-
unknown authored
mysys/my_thr_init.c: Added missing DBUG_OFF storage/maria/ma_loghandler.c: Fixed wrong macro
-
unknown authored
Added option --transaction-log to maria_chk storage/maria/ma_init.c: Fixed core dump when running maria_chk (as this doesn't call translog_init) storage/maria/ma_test_all.sh: Added testing of --transaction-log storage/maria/maria_chk.c: Enable logging of repair commands if run with --transaction-log
-
unknown authored
into mysql.com:/home/my/mysql-maria storage/maria/ma_blockrec.c: Auto merged storage/maria/ma_loghandler.c: Auto merged storage/maria/ma_loghandler.h: Auto merged
-
unknown authored
Changed info->s -> share to get more efficent code Updated arguments to page accessor functions to use MARIA_SHARE * instead of MARIA_HA *. Tested running tests in quick mode (no balance page on insert and only when critical on delete) Fixed bug in underflow handling in quick mode Fixed bug in log handler where it accessed not initialized variable Fixed bug in log handler where it didn't free mutex in unlikely error condition Removed double write of page in case of of some underflow conditions Added DBUG_PRINT in safemutex lock/unlock dbug/dbug.c: Compile without SAFE_MUTEX (to be able to use DBUG_PRINT in safe_mutex code) Use calls to get/set my_thread_var->dbug. (Make dbug independent of compile time options for mysys) include/my_pthread.h: Added prototypes for my_thread_var_get_dbug() & my_thread_var_set_dbug() mysql-test/lib/mtr_report.pl: Don't check warnings in log files if we are using --extern mysys/my_thr_init.c: Added my_thread_var_get_dbug() & my_thread_var_set_dbug() mysys/thr_mutex.c: Added DBUG printing of addresses to mutex for lock/unlock storage/maria/ma_blockrec.c: Fixed comment storage/maria/ma_check.c: Added MARIA_SHARE *share to a lot of places to make code simpler info->s -> share Updated arguments to page accessor functions storage/maria/ma_close.c: Indentation fixes storage/maria/ma_create.c: Calculate min_key_length correctly storage/maria/ma_dbug.c: Indentation fixes storage/maria/ma_delete.c: Added MARIA_SHARE *share to a lot of places to make code simpler info->s -> share Updated arguments to page accessor functions Removed some writing of key pages that underflow (will be written by caller) Fixed crashing bug in underflow handling when using quick mode storage/maria/ma_delete_all.c: Indentation fixes storage/maria/ma_dynrec.c: Indentation fixes storage/maria/ma_extra.c: Fixed indentation Removed old useless code Reset share->changed if we have written state storage/maria/ma_ft_update.c: Added MARIA_SHARE *share to a lot of places to make code simpler info->s -> share Updated arguments to page accessor functions storage/maria/ma_info.c: Indentation fixes storage/maria/ma_key_recover.c: Added MARIA_SHARE *share to a lot of places to make code simpler info->s -> share Updated arguments to page accessor functions storage/maria/ma_locking.c: Indentation fixes storage/maria/ma_loghandler.c: Removed wrapper functions translog_mutex_lock and translog_mutex_unlock (safemutex now does same kind of printing) Renamed LOGREC_REDO_INSERT_ROW_BLOB to LOGREC_REDO_INSERT_NOT_USED to mark it free Fixed some DBUG_PRINT to ensure that convert-dbug-for-diff works Fixed bug in translog_flush() that caused log to stop syncing to disk Added missing mutex_unlock in case of error storage/maria/ma_loghandler.h: Renamed LOGREC_REDO_INSERT_ROW_BLOB to LOGREC_REDO_INSERT_NOT_USED to mark it free storage/maria/ma_open.c: Indentation fixes storage/maria/ma_packrec.c: Indentation fixes storage/maria/ma_page.c: Added MARIA_SHARE *share to a lot of places to make code simpler info->s -> share Updated arguments to page accessor functions Added check that we never write a key page without content (except in recovery where a key page may temporary be without content) storage/maria/ma_preload.c: Updated arguments to page accessor functions storage/maria/ma_range.c: Updated arguments to page accessor functions storage/maria/ma_rkey.c: Indentation fixes storage/maria/ma_rprev.c: Indentation fixes storage/maria/ma_rt_index.c: Added MARIA_SHARE *share to a lot of places to make code simpler info->s -> share Updated arguments to page accessor functions storage/maria/ma_rt_index.h: Updated arguments to page accessor functions storage/maria/ma_rt_key.c: Added MARIA_SHARE *share to a lot of places to make code simpler info->s -> share Updated arguments to page accessor functions storage/maria/ma_rt_mbr.c: Added MARIA_SHARE *share to a lot of places to make code simpler info->s -> share Updated arguments to page accessor functions storage/maria/ma_rt_split.c: Added MARIA_SHARE *share to a lot of places to make code simpler info->s -> share Updated arguments to page accessor functions storage/maria/ma_search.c: Added MARIA_SHARE *share to a lot of places to make code simpler info->s -> share Updated arguments to page accessor functions storage/maria/ma_sort.c: Indentation fixes storage/maria/ma_statrec.c: Indentation fixes storage/maria/ma_test1.c: Added extra undo test Flush also keys in -u1, to ensure that the full log is flushed storage/maria/ma_test2.c: Added extra undo test Flush also keys in -u1, to ensure that the full log is flushed storage/maria/ma_test_recovery.expected: Updated results storage/maria/ma_test_recovery: Added extra undo test storage/maria/ma_update.c: Indentation fixes storage/maria/ma_write.c: Added MARIA_SHARE *share to a lot of places to make code simpler info->s -> share Updated arguments to page accessor functions Prepare for quick mode for insert (don't balance page) storage/maria/maria_chk.c: Added MARIA_SHARE *share to a lot of places to make code simpler info->s -> share Updated arguments to page accessor functions storage/maria/maria_def.h: Updated arguments to page accessor functions
-
- 09 Dec, 2007 2 commits
-
-
unknown authored
into desktop.sanja.is.com.ua:/home/bell/mysql/bk/work-maria-logpurge mysql-test/r/maria.result: Auto merged storage/maria/ma_checkpoint.c: Auto merged storage/maria/ma_recovery.c: Auto merged storage/maria/ha_maria.cc: Merge storage/maria/ma_loghandler.c: Merge storage/maria/ma_loghandler.h: Merge
-
unknown authored
support added to maria. mysql-test/r/maria.result: New variables added. storage/maria/ha_maria.cc: Variable for transactional log purge method added. Variable for transactional log size added. SHOW for engine logs added. Log flush purge logs in case of "ondemand" type of log processing. storage/maria/ma_checkpoint.c: log purge call enabled. storage/maria/ma_loghandler.c: Support for different methods of log purge added. Functions for getting information about logs state added. Functions for getting/setting log size. storage/maria/ma_loghandler.h: Fixed defines. Functions for for transactional log mannegment added. storage/maria/ma_recovery.c: Dependence on TRANSLOG_FILE_SIZE removed. mysql-test/r/maria-purge.result: New BitKeeper file ``mysql-test/r/maria-purge.result'' mysql-test/t/maria-purge.test: New BitKeeper file ``mysql-test/t/maria-purge.test''
-
- 06 Dec, 2007 3 commits
-
-
unknown authored
storage/maria/ma_loghandler.c: translog_lock() made safe (non-mutex-protected operation is atomic now). Fixed translog_destroy() because it will not work to be called several times.
-
unknown authored
into desktop.sanja.is.com.ua:/home/bell/mysql/bk/work-maria-controlfile
-
unknown authored
storage/maria/ma_blockrec.c: Layout fix. storage/maria/ma_loghandler.c: Renamed struct variable 'class' to avoid problems with c++ compiler. Renamed translog_init_scanner to fit othere init functions naming pattern. translog_relative_LSN_encode can't return error for now. Other trivial postreview changes. storage/maria/ma_loghandler_lsn.h: trivial postreview changes. storage/maria/ma_recovery.c: Renamed translog_init_scanner to fit othere init functions naming pattern. storage/maria/unittest/ma_loghandler_examples.c: Renamed struct variable 'class' to avoid problems with c++ compiler. storage/maria/unittest/ma_test_loghandler-t.c: Renamed translog_init_scanner to fit othere init functions naming pattern. storage/maria/unittest/ma_test_loghandler_multigroup-t.c: Renamed translog_init_scanner to fit othere init functions naming pattern. storage/maria/unittest/ma_test_loghandler_multithread-t.c: Renamed translog_init_scanner to fit othere init functions naming pattern.
-
- 05 Dec, 2007 5 commits
-
-
unknown authored
into desktop.sanja.is.com.ua:/home/bell/mysql/bk/mysql-maria
-
unknown authored
-
unknown authored
into mysql.com:/home/my/mysql-maria
-
unknown authored
-
unknown authored
Fixed overlaying block waiting during flushing block. Sync directory only is file size really changed. Fixed bug in the flush function when we access data in file cache and horizon value without mutex protection.
-