- 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.
-
- 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 3 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()
-
Sergei Golubchik authored
-
- 04 Aug, 2008 2 commits
-
-
Sergei Golubchik authored
wt_thd_will_wait_for() was called. That is a caller doesn't need to hold a mutex all the time preventing blockers from releasing a resource.
-
Sergei Golubchik authored
trnman: remove old lockman code trnman: replace trid_to_committed_trn hash with trid_to_trn storage/maria/ma_blockrec.c: compiler warnings storage/maria/ma_loghandler.c: compiler warnings storage/maria/ma_write.c: compiler warnings storage/maria/trnman.c: remove old lockman code replace trid_to_committed_trn hash with trid_to_trn storage/maria/trnman.h: remove old lockman code replace trid_to_committed_trn hash with trid_to_trn storage/maria/unittest/ma_test_loghandler-t.c: compiler warnings storage/maria/unittest/ma_test_loghandler_multigroup-t.c: compiler warnings storage/maria/unittest/ma_test_loghandler_multithread-t.c: compiler warnings
-
- 02 Aug, 2008 1 commit
-
-
Sergei Golubchik authored
-
- 29 Jul, 2008 1 commit
-
-
Sergei Golubchik authored
client/mysqltest.c: compiler warnings configure.in: remove old tests for unused programs disable the use of gcc built-ins if smp assembler atomics were selected explictily. add waiting_threads.o to THREAD_LOBJECTS include/lf.h: replace the end-of-stack pointer with the pointer to the end-of-stack pointer. the latter could be stored in THD (mysys_vars) and updated in pool-of-threads scheduler. constructor/destructor in lf-alloc include/my_pthread.h: shuffle set_timespec/set_timespec_nsec macros a bit to be able to fill several timeout structures with only one my_getsystime() call include/waiting_threads.h: waiting threads - wait-for graph and deadlock detection mysys/Makefile.am: add waiting_threads.c mysys/lf_alloc-pin.c: replace the end-of-stack pointer with the pointer to the end-of-stack pointer. the latter could be stored in THD (mysys_vars) and updated in pool-of-threads scheduler. constructor/destructor in lf-alloc mysys/lf_hash.c: constructor/destructor in lf-alloc mysys/my_thr_init.c: remember end-of-stack pointer in the mysys_var mysys/waiting_threads.c: waiting threads - wait-for graph and deadlock detection storage/maria/ha_maria.cc: replace the end-of-stack pointer with the pointer to the end-of-stack pointer. the latter could be stored in THD (mysys_vars) and updated in pool-of-threads scheduler. storage/maria/ma_commit.c: replace the end-of-stack pointer with the pointer to the end-of-stack pointer. the latter could be stored in THD (mysys_vars) and updated in pool-of-threads scheduler. storage/maria/trnman.c: replace the end-of-stack pointer with the pointer to the end-of-stack pointer. the latter could be stored in THD (mysys_vars) and updated in pool-of-threads scheduler. storage/maria/trnman_public.h: replace the end-of-stack pointer with the pointer to the end-of-stack pointer. the latter could be stored in THD (mysys_vars) and updated in pool-of-threads scheduler. storage/maria/unittest/trnman-t.c: replace the end-of-stack pointer with the pointer to the end-of-stack pointer. the latter could be stored in THD (mysys_vars) and updated in pool-of-threads scheduler. unittest/mysys/Makefile.am: add waiting_threads-t unittest/mysys/lf-t.c: factor out the common code for multi-threaded stress unit tests move lf tests to a separate file unittest/mysys/my_atomic-t.c: factor out the common code for multi-threaded stress unit tests move lf tests to a separate file unittest/mysys/thr_template.c: factor out the common code for multi-threaded stress unit tests unittest/mysys/waiting_threads-t.c: wt tests
-
- 12 Jul, 2008 2 commits
-
-
Michael Widenius authored
mysql-test/r/maria2.result: Manual merge
-
Michael Widenius authored
Reset history when we reenable logging for transactional tables (safety fix) mysql-test/r/maria2.result: New results mysql-test/t/maria2.test: Added test case for alter table on locked maria table mysql-test/valgrind.supp: Added suppression rules for warnings in libc / libld storage/maria/ma_extra.c: Remove table from trnman list if we are going to drop or rename it; We don't want not existing shares in the list when we do commit! storage/maria/ma_recovery.c: Ensure that info->state don't point to history event when we disable logging for a table; This is needed as alter table will first do commit and then unlock, which would cause us to access a non existing object when we reenable logging. Reset history when we reenable logging (safety fix) storage/maria/ma_state.c: Do less work when share->now_transactional is not set. (Safety fix) Added function to remove shares to be deleted from trnman->used_tables Added function to reset history to current context storage/maria/ma_state.h: Prototypes for new function
-
- 11 Jul, 2008 1 commit
-
-
Guilhem Bichot authored
used TL_WRITE_CONCURRENT_INSERT though they may update/delete a row. This could cause concurrent SELECTs to see a changing table while the SELECT happens, or if the query was made of a group of SELECTs, some SELECTs would see different versions of the table. And anyway versioning in Maria was so far coded to support only insertions. REPLACE SELECT, INSERT VALUES ON DUPLICATE KEY UPDATE, LOAD DATA REPLACE were ok. mysql-test/r/maria2.result: result. Without the code fix, the assertion added to ha_maria::update_row() would fire twice. mysql-test/t/maria2.test: test when INSERT ON DUPLICATE KEY UPDATE and LOAD DATA CONCURRENT REPLACE do update rows storage/maria/ha_maria.cc: Assert that update_row and delete_row never see TL_WRITE_CONCURRENT_INSERT. INSERT SELECT ON DUPLICATE KEY UPDATE and LOAD DATA CONCURRENT REPLACE must upgrade TL_WRITE_CONCURRENT_INSERT to TL_WRITE because they may update/delete a row.
-
- 10 Jul, 2008 2 commits
-
-
Guilhem Bichot authored
Porting bugfix made by Serg (for bug37276_reduced_corruption.sql of BUG#37276 "Maria: various index corruption, block format assertion failure") from 6.0-maria to 5.1-maria.
-
Guilhem Bichot authored
main.func_misc main.grant_cache_no_prot main.lowercase_table_grant main.mysql_client_test main.query_cache main.query_cache_notembedded main.query_cache_ps_no_prot storage/maria/ha_maria.cc: missing DBUG_RETURN
-