- 21 Oct, 2008 1 commit
-
-
Sergei Golubchik authored
mysys/my_wincond.c: race condition: block gate could be left open forever, if cond_broadcast was done right after the last thread left WaitForMultipleObjects() on timeout mysys/thr_rwlock.c: make rwlocks behave similar to their distant linux/solaris relatives
-
- 09 Oct, 2008 1 commit
-
-
Guilhem Bichot authored
It was a forgotten rw_unlock(), due to the deadlock detector feature (so bug was only in 5.1-maria, not 6.0-maria). mysql-test/suite/maria/r/maria3.result: result, all fine mysql-test/suite/maria/t/maria3.test: Test of BUG#39697: two scenarios (transactional tables, and non-transactional table but dynamic row format so still taking the rwlock) where the hang happened. t2 added by this test was masked by a temporary table created earlier in the test, which we forgot to drop. storage/maria/ha_maria.cc: use new macro storage/maria/ma_blockrec.c: use new macro storage/maria/ma_commit.c: use new macro storage/maria/ma_init.c: putting address of dummy_transaction_object in --debug trace can be useful storage/maria/ma_open.c: use new macro storage/maria/ma_write.c: if local_lock_tree is true, we have acquired keyinfo->root_lock so need to release it before "goto err". A pair of assertions so that our usage of TrIDs is kept sensible. storage/maria/maria_def.h: A macro so that changes of MARIA_HA::trn can be tracked with --debug. It helped to understand in what cases, in maria_write(), we could have !(info->dup_key_trid == info->trn->trid) && !share->now_transactional (answer: ALTER TABLE adding UNIQUE index on transactional table).
-
- 07 Oct, 2008 2 commits
-
-
Sergei Golubchik authored
-
Sergei Golubchik authored
mysys/lf_alloc-pin.c: workaround for gcc 4.1.0 strict-aliasing bug. and yes, I mean a *bug* - as union (in alloc_free) is a documented way to access type-punned pointers. and it helps in newer gcc, but fails in 4.1.0
-
- 01 Oct, 2008 3 commits
-
-
Sergei Golubchik authored
-
Sergei Golubchik authored
automake *must* know all sources in advance, listing a file in EXTRA_DIST doesn't make it a source, which breakes dependency tracking (.Po files aren't included)
-
unknown authored
mysql-test/mysql-test-run.pl: The maria suite made default for execution. mysql-test/suite/maria: Maria tests moved to separate suite. mysql-test/suite/maria/r: Maria tests moved to separate suite. mysql-test/suite/maria/r/maria-autozerofill.result: Maria tests moved to separate suite. mysql-test/suite/maria/r/maria-big.result: Maria tests moved to separate suite. mysql-test/suite/maria/r/maria-big2.result: Maria tests moved to separate suite. mysql-test/suite/maria/r/maria-connect.result: Maria tests moved to separate suite. mysql-test/suite/maria/r/maria-gis-rtree-dynamic.result: Maria tests moved to separate suite. mysql-test/suite/maria/r/maria-gis-rtree-trans.result: Maria tests moved to separate suite. mysql-test/suite/maria/r/maria-gis-rtree.result: Maria tests moved to separate suite. mysql-test/suite/maria/r/maria-mvcc.result: Maria tests moved to separate suite. mysql-test/suite/maria/r/maria-no-logging.result: Maria tests moved to separate suite. mysql-test/suite/maria/r/maria-page-checksum.result: Maria tests moved to separate suite. mysql-test/suite/maria/r/maria-preload.result: Maria tests moved to separate suite. mysql-test/suite/maria/r/maria-purge.result: Maria tests moved to separate suite. mysql-test/suite/maria/r/maria-recover.result: Maria tests moved to separate suite. mysql-test/suite/maria/r/maria-recovery-big.result: Maria tests moved to separate suite. mysql-test/suite/maria/r/maria-recovery-bitmap.result: Maria tests moved to separate suite. mysql-test/suite/maria/r/maria-recovery-rtree-ft.result: Maria tests moved to separate suite. mysql-test/suite/maria/r/maria-recovery.result: Maria tests moved to separate suite. mysql-test/suite/maria/r/maria-recovery2.result: Maria tests moved to separate suite. mysql-test/suite/maria/r/maria.result: Maria tests moved to separate suite. mysql-test/suite/maria/r/maria2.result: Maria tests moved to separate suite. mysql-test/suite/maria/r/maria3.result: Maria tests moved to separate suite. mysql-test/suite/maria/r/maria_notembedded.result: Maria tests moved to separate suite. mysql-test/suite/maria/r/ps_maria.result: Maria tests moved to separate suite. mysql-test/suite/maria/t: Maria tests moved to separate suite. mysql-test/suite/maria/t/maria-autozerofill.test: Maria tests moved to separate suite. mysql-test/suite/maria/t/maria-big.test: Maria tests moved to separate suite. mysql-test/suite/maria/t/maria-big2.test: Maria tests moved to separate suite. mysql-test/suite/maria/t/maria-connect.test: Maria tests moved to separate suite. mysql-test/suite/maria/t/maria-gis-rtree-dynamic.test: Maria tests moved to separate suite. mysql-test/suite/maria/t/maria-gis-rtree-trans.test: Maria tests moved to separate suite. mysql-test/suite/maria/t/maria-gis-rtree.test: Maria tests moved to separate suite. mysql-test/suite/maria/t/maria-mvcc.test: Maria tests moved to separate suite. mysql-test/suite/maria/t/maria-no-logging.test: Maria tests moved to separate suite. mysql-test/suite/maria/t/maria-page-checksum.test: Maria tests moved to separate suite. mysql-test/suite/maria/t/maria-preload.test: Maria tests moved to separate suite. mysql-test/suite/maria/t/maria-purge.test: Maria tests moved to separate suite. mysql-test/suite/maria/t/maria-recover-master.opt: Maria tests moved to separate suite. mysql-test/suite/maria/t/maria-recover.test: Maria tests moved to separate suite. mysql-test/suite/maria/t/maria-recovery-big-master.opt: Maria tests moved to separate suite. mysql-test/suite/maria/t/maria-recovery-big.test: Maria tests moved to separate suite. mysql-test/suite/maria/t/maria-recovery-bitmap-master.opt: Maria tests moved to separate suite. mysql-test/suite/maria/t/maria-recovery-bitmap.test: Maria tests moved to separate suite. mysql-test/suite/maria/t/maria-recovery-master.opt: Maria tests moved to separate suite. mysql-test/suite/maria/t/maria-recovery-rtree-ft-master.opt: Maria tests moved to separate suite. mysql-test/suite/maria/t/maria-recovery-rtree-ft.test: Maria tests moved to separate suite. mysql-test/suite/maria/t/maria-recovery.test: Maria tests moved to separate suite. mysql-test/suite/maria/t/maria-recovery2-master.opt: Maria tests moved to separate suite. mysql-test/suite/maria/t/maria-recovery2.test: Maria tests moved to separate suite. mysql-test/suite/maria/t/maria.test: Maria tests moved to separate suite. mysql-test/suite/maria/t/maria2.test: Maria tests moved to separate suite. mysql-test/suite/maria/t/maria3.test: Maria tests moved to separate suite. mysql-test/suite/maria/t/maria_notembedded.test: Maria tests moved to separate suite. mysql-test/suite/maria/t/ps_maria.test: Maria tests moved to separate suite.
-
- 28 Sep, 2008 1 commit
-
-
unknown authored
mysql-test/r/maria.result: Test suite of BUG#39399. mysql-test/t/maria.test: Test suite of BUG#39399. storage/maria/ha_maria.cc: Comparison of tables during altering fixed. (BUG#39399) Unused function parameter removed.
-
- 26 Sep, 2008 2 commits
-
-
Michael Widenius authored
The bug was that prepared statements didn't downgrade TL_WRITE_CONCURRENT properly mysql-test/r/maria.result: Added test case mysql-test/t/maria.test: Added test case sql/mysql_priv.h: Make upgrade_lock_type() global sql/sql_base.cc: Fixed indentation sql/sql_insert.cc: Make upgrade_lock_type() global sql/sql_prepare.cc: Call upgrade_lock_type_for_insert() to get right lock to use sql/sql_view.cc: Indentation fix
-
Michael Widenius authored
Symptom was that records_in_range() found 0 matching keys which confused the optimizer to belive that there was no matching rows for the query mysql-test/r/maria.result: New testcase mysql-test/t/maria.test: New testcase storage/maria/ma_search.c: Fix bug in skip_key for keys that starts with a CHAR/VARCHAR NULL key.
-
- 11 Sep, 2008 2 commits
-
-
Sergei Golubchik authored
-
Sergei Golubchik authored
increase the default value of deadlock_timeout_long mysql-test/r/maria.result: no longer necessary mysql-test/t/maria.test: no longer necessary
-
- 05 Sep, 2008 2 commits
-
-
Michael Widenius authored
-
Michael Widenius authored
storage/maria/ma_delete.c: Remove wrong optimization (first_key is not related to keypos value at this point) storage/maria/maria_chk.c: Added printing of forgotten option
-
- 01 Sep, 2008 2 commits
-
-
Sergei Golubchik authored
it forces the user to bzero a key before setting it as a pointer, otherwise it'll have random content on architectures where sizeof(void*) < sizeof(ulonglong). Declaring a key as ulonglong only (not a union) makes this user mistake impossible. include/waiting_threads.h: WT_RESOURCE_ID::value is an ulonglong, not a union mysys/waiting_threads.c: WT_RESOURCE_ID::value is an ulonglong, not a union storage/maria/ma_write.c: WT_RESOURCE_ID::value is an ulonglong, not a union storage/maria/trnman.c: WT_RESOURCE_ID::value is an ulonglong, not a union unittest/mysys/waiting_threads-t.c: WT_RESOURCE_ID::value is an ulonglong, not a union
-
Sergei Golubchik authored
-
- 31 Aug, 2008 2 commits
-
-
Sergei Golubchik authored
include/atomic/generic-msvc.h: explicit cast from volatile int32 * to volatile LONG *
-
Sergei Golubchik authored
-
- 30 Aug, 2008 2 commits
-
-
Sergei Golubchik authored
-
Sergei Golubchik authored
-
- 29 Aug, 2008 3 commits
-
-
Sergei Golubchik authored
-
Sergei Golubchik authored
-
Sergei Golubchik authored
-
- 28 Aug, 2008 2 commits
-
-
Sergei Golubchik authored
-
Sergei Golubchik authored
include/waiting_threads.h: make wt_thd_dontwait private mysql-test/r/maria.result: deadlock example mysql-test/t/maria.test: deadlock example mysys/waiting_threads.c: comments, OOM checks sql/mysqld.cc: fix variables sql/sql_class.cc: move wt_lazy_init to THD constructor sql/sql_class.h: move wt_lazy_init to THD constructor storage/maria/ha_maria.cc: backport from 6.0 storage/maria/ma_write.c: poset-review fixes, set thd->proc_info storage/maria/trnman.c: bugfixing storage/myisam/mi_check.c: warnings storage/myisam/mi_page.c: warnings storage/myisam/mi_search.c: warnings storage/myisammrg/myrg_create.c: warnings unittest/mysys/waiting_threads-t.c: fixes
-
- 27 Aug, 2008 1 commit
-
-
Sergei Golubchik authored
include/my_global.h: move __func__ definition to my_global.h include/my_sys.h: proc_info_hook mysys/my_static.c: proc_info_hook sql/mysqld.cc: proc_info_hook sql/sql_class.cc: support thd==0 in set_thd_proc_info sql/sql_profile.cc: move __func__ definition to my_global.h sql/sql_profile.h: move __func__ definition to my_global.h
-
- 26 Aug, 2008 1 commit
-
-
Michael Widenius authored
This was done by introducing another mutex for handling the key_del link I also renamed all key_del variables to start with key_del prefix storage/maria/ma_close.c: Rename of key_del variables storage/maria/ma_key_recover.c: Changed key_del to be protexted by it's own mutex: key_del_lock Rename of key_del variables Removed comment for old bug storage/maria/ma_key_recover.h: Rename of key_del variables storage/maria/ma_open.c: Initialization for new key_del_lock mutex Renamed intern_cond to key_del_cond as it was only used for protection of key_del storage/maria/ma_page.c: Rename of key_del variables storage/maria/ma_write.c: Rename of key_del variables storage/maria/maria_def.h: Rename of key_del variables Added key_del_lock
-
- 25 Aug, 2008 4 commits
-
-
Michael Widenius authored
Fixed compiler warning Ensure that pagecache returns correct error number storage/maria/ma_pagecache.c: Ensure that block->error contain error code from my_errno (not return value from pread/pwrite) Went through usage of my_pread/my_pwrite and ensured that result was threated correctly Fixed some wrong usage of my_bool
-
Michael Widenius authored
-
Michael Widenius authored
Ensure that pagecache gives correct error number even if error for block happend mysys/my_pread.c: Indentation fix storage/maria/ha_maria.cc: filenames changed to be of type LEX_STRING storage/maria/ma_check.c: filenames changed to be of type LEX_STRING storage/maria/ma_checkpoint.c: filenames changed to be of type LEX_STRING storage/maria/ma_create.c: filenames changed to be of type LEX_STRING storage/maria/ma_dbug.c: filenames changed to be of type LEX_STRING storage/maria/ma_delete.c: filenames changed to be of type LEX_STRING storage/maria/ma_info.c: filenames changed to be of type LEX_STRING storage/maria/ma_keycache.c: filenames changed to be of type LEX_STRING storage/maria/ma_locking.c: filenames changed to be of type LEX_STRING storage/maria/ma_loghandler.c: filenames changed to be of type LEX_STRING storage/maria/ma_open.c: filenames changed to be of type LEX_STRING storage/maria/ma_pagecache.c: Store error number for last failed operation in the page block This should fix some asserts() when errno was not properly set after failure to read block in another thread storage/maria/ma_recovery.c: filenames changed to be of type LEX_STRING storage/maria/ma_update.c: filenames changed to be of type LEX_STRING storage/maria/ma_write.c: filenames changed to be of type LEX_STRING storage/maria/maria_def.h: filenames changed to be of type LEX_STRING storage/maria/maria_ftdump.c: filenames changed to be of type LEX_STRING storage/maria/maria_pack.c: filenames changed to be of type LEX_STRING
-
Sergei Golubchik authored
(sanja's patch)
-
- 24 Aug, 2008 1 commit
-
-
Michael Widenius authored
There is no test cases as it's not trivial to do a test case for this. The new code for Maria is however executed by the test case in the bug report. mysql-test/mysql-test-run.pl: Avoid warnings when running with --extern storage/maria/ha_maria.cc: Disable not complete assert until Sanja can push a proper fix storage/maria/ma_delete.c: Fix that pageflag for page is calculated based on original values storage/maria/ma_search.c: Ensure that prev_length structure variable is properly reset when not used storage/myisam/mi_search.c: Ensure that prev_length structure variable is properly reset when not used
-
- 18 Aug, 2008 2 commits
-
-
Michael Widenius authored
-
Michael Widenius authored
Don't write out states if they haven't changed sql/sql_base.cc: Call extra(HA_EXTRA_PREPARE_FOR_DROP) before doing a drop of a table More DBUG sql/sql_table.cc: Call extra(HA_EXTRA_PREPARE_FOR_RENAME) before renaming a table storage/maria/ha_maria.cc: Ensure that file->trn is set when we call extra(HA_EXTRA_PREPARE_FOR_DROP/RENAME) storage/maria/ma_close.c: When doing close, assert if we have pointers in trn->table_list that points to the MARIA_SHARE storage/maria/ma_extra.c: Reset info->state_start in case of drop/rename. This fixes the problem of accessing freed memory in repair Don't write state changed if they haven't changed storage/maria/ma_open.c: Reset share->changed after we have written out a state (speed optimization to not write states when they haven't changed) storage/maria/ma_state.c: Decrement share->in_trans properly in DBUG_BINARY to ensure that the DBUG_ASSERT() in maria_close() works More DBUG
-
- 16 Aug, 2008 1 commit
-
-
Sergei Golubchik authored
storage/maria/ma_search.c: when we found a matching key on the node page and want to search in the left leaf we must use only SEARCH_FIND flag, and never SEARCH_BIGGER, SEARCH_SMALLER, or SEARCH_LAST
-
- 11 Aug, 2008 1 commit
-
-
Sergei Golubchik authored
typo fixed. mysql-test/r/maria.result: new test case mysql-test/t/maria.test: new test case sql/sql_select.cc: ctags friendly storage/maria/ma_blockrec.c: typo fixed
-
- 08 Aug, 2008 1 commit
-
-
Sergei Golubchik authored
mysys/array.c: lazy alloc in dynamic array sql-common/client.c: for dynamic array, specify init_alloc==alloc_increment explicitly sql/mysqld.cc: per-thread deadlock search depths and timeouts sql/set_var.cc: per-thread deadlock search depths and timeouts sql/sql_class.h: per-thread deadlock search depths and timeouts
-
- 07 Aug, 2008 1 commit
-
-
Sergei Golubchik authored
include/waiting_threads.h: C_MODE_START/END mysys/waiting_threads.c: relax the checks - auto init thd in will_wait_for, allow to destroy uninited thd (=noop), allow a "release" an unexistent resource (=noop), sql/sql_class.cc: move wt* maintainance from maria to the server. do THD::cleanup after ha_close_connection() and plugin_thdvar_cleanup(). storage/maria/unittest/trnman-t.c: update to new prototype
-
- 06 Aug, 2008 2 commits
-
-
Sergei Golubchik authored
storage/maria/ma_write.c: select ... group by ... - take temporary tables into account, they have TRN->pins == 0 storage/maria/trnman.c: one cannot modify TRN->trid, it's a key in the trid_to_trn hash, if trid is modified, TRN won't be found (and deleted in trnman_free_trn) from the hash.
-
Sergei Golubchik authored
include/my_pthread.h: cleanup include/waiting_threads.h: header guard mysys/waiting_threads.c: bug - kill strategy were not applied to deadlocks of length 1. cast timeout to ulonglong. storage/maria/ma_static.c: declare WT_RESOURCE_TYPE ma_rc_dup_unique storage/maria/ma_write.c: deadlock detection when waiting on unique key (useless until we can rollback) storage/maria/maria_def.h: deadlock detection when waiting on unique key (useless until we can rollback) storage/maria/trnman.c: use deadlock detector. protect state transitions of a TRN with a mutex. trnman_trid_to_trn() function. storage/maria/trnman.h: trnman_trid_to_trn() function protect state transitions of a TRN with a mutex use deadlock detector. storage/maria/trnman_public.h: trnman_trid_to_trn()
-