- 16 Feb, 2006 1 commit
-
-
unknown authored
trigger starts trigger". In short, the deadlock/crash happened when execution of statement, which used stored functions or activated triggers, coincided with alteration of the tables used by these functions or triggers (in highly concurrent environment). Bug was caused by the incorrect handling of tables from prelocked set in open_tables() functions in situations when refresh happened. This fix replaces old smart but not very robust way of handling tables after refresh (which was closing only old tables), with new one which simply closes all tables opened so far and restarts open_tables(). Also fixed handling of temporary tables in close_tables_for_reopen(). No test case present since bug manifests itself only in concurrent environment. sql/mysql_priv.h: In order to handle correctly case when table list completely consists from tables from prelocked set close_tables_for_reopen() have to accept table list as in/out parameter. sql/sql_base.cc: open_tables(): Removed part of comment which was out of date. Changed handling of case when refresh happens during opening of tables, now instead of having code which decides for each table if it should be closed we simply close all tables. Old code also incorrectly handled tables from prelocked set in this situation which resulted in bug #16593 "Deadlock or crash in stress test for case where triggers starting trigger". close_tables_for_reopen(): Now we correctly handle the case when table list completely consists from tables from prelocked set. Also now we simply close all tables instead leaving temporary tables non-closed (such approach allows easily handle correctly tables from prelocked set). sql/sql_prepare.cc: In order to handle correctly case when table list completely consists from tables from prelocked set close_tables_for_reopen() have to accept table list as in/out parameter. sql/sql_update.cc: In order to handle correctly case when table list completely consists from tables from prelocked set close_tables_for_reopen() have to accept table list as in/out parameter.
-
- 31 Jan, 2006 16 commits
-
-
unknown authored
into mysql.com:/home/alexi/innodb/mysql-5.0-ss162
-
unknown authored
Applied innodb-5.0-ss149/162 snapshots. innobase/btr/btr0sea.c: Applied innodb-5.0-149/162 snapshots. Account for a race condition when dropping the adaptive hash index for a B-tree page (Bug #16582). btr_search_drop_page_hash_index(): Retry the operation if a hash index with different parameters was built meanwhile. Add diagnostics for the case that hash node pointers to the page remain. This fix is from Heikki. btr_search_info-update_hash(), btr_search_info_update_slow(): Document the parameter "info" as in/out. innobase/dict/dict0dict.c: Applied innodb-5.0-149/162 snapshots. Do not mistake TABLENAME_ibfk_0 for auto generated id (Bug #16387). dict_table_get_highest_foreign_id(): Ignore foreign constraint identifiers starting with the pattern TABLENAME_ibfk_0. innobase/dict/dict0load.c: Applied innodb-5.0-149/162 snapshots. dict_load_columns(): Set the charset-collation code DATA_MYSQL_BINARY_CHARSET_COLL for those binary string columns that lack a charset-collation code, i.e., the tables were created with an older version of MySQL/InnoDB than 4.1.2 (Bug #16298). innobase/fil/fil0fil.c: Applied innodb-5.0-149/162 snapshots. Keep track on unflushed modifications to file spaces. When there are tens of thousands of file spaces, flushing all files in fil_flush_file_spaces() would be very slow (Bug #15653). fil_flush_file_spaces(): Only flush unflushed file spaces. fil_space_t, fil_system_t: Add a list of unflushed spaces. innobase/include/univ.i: Applied innodb-5.0-149/162 snapshots. Avoid breaking --with-debug builds on QNS and other systems whose compiler pretends to be GCC 2. Outside __WIN__ define UNIV_INLINE as static inline. innobase/os/os0sync.c: Applied innodb-5.0-149/162 snapshots. Replace goto in os_event_wait with a normal loop. innobase/srv/srv0start.c: Applied innodb-5.0-149/162 snapshots. Fix bug #16157, a crash when innodb_log_group_home_dir is set to an empty string. This patch is from Heikki. mysql-test/r/innodb.result: Applied innodb-5.0-149/162 snapshots. Fixed results for added test cases. mysql-test/t/innodb.test: Applied innodb-5.0-149/162 snapshots. Added test cases. sql/ha_innodb.cc: Applied innodb-5.0-149/162 snapshots. Remove some declarations of unused global variables and member variables of class ha_innobase. Added diagnostic code trx_print() to innobase_query_caching_of_table_permitted() to find reason why we are holding adaptive search latch. Fixed bug #16229 MySQL/InnoDB uses full explicit table locks in trigger processing. Take a InnoDB table lock only if user has explicitly requested a table lock. Added some additional comments to store_lock() and external_lock(). Fixed some code style errors. Remember to use noninlined versions of the functions on ha_innodb.cc ! sql/ha_innodb.h: Applied innodb-5.0-149/162 snapshots. Remove some declarations of unused global variables and member variables of class ha_innobase.
-
unknown authored
into devsrv-b.mysql.com:/space/magnus/my50-bug15302
-
unknown authored
into mysql.com:/usr/local/mysql/mysql-5.0
-
unknown authored
into devsrv-b.mysql.com:/space/magnus/my50-bug15302 client/mysqltest.c: Auto merged sql/sql_db.cc: Auto merged
-
unknown authored
into mysql.com:/home/dlenev/src/mysql-5.0-bg16829 sql/sql_yacc.yy: Auto merged
-
unknown authored
into neptunus.(none):/home/msvensson/mysql/bug15302/my50-bug15302 client/mysqltest.c: Already in 5.0 sql/sql_db.cc: "mysql_create_db" is already silent in 5.0
-
unknown authored
into mysql.com:/extern/mysql/work/bug15737/mysql-5.0
-
unknown authored
- Change "mysql_create_db" to not call "send_ok" if in silent mode i.e. called from "load_master_data" - Change mysqltest to detect when there aren't as many warnings available as was reported. client/mysqltest.c: Call "die" if warnings were reported but there weren't any warnings to retrieve sql/sql_db.cc: Don't call "send_ok" if in silent mode.
-
unknown authored
into mysql.com:/home/dlenev/src/mysql-5.0-bg16829 mysql-test/r/trigger.result: Auto merged mysql-test/t/trigger.test: Auto merged
-
unknown authored
Add / to std_data in ln command mysql-test/mysql-test-run.sh: Check if std_data_ln is already created Add / to std_data to create a symlink to a dir an not a file.
-
unknown authored
into mysql.com:/extern/mysql/work/bug15737/mysql-5.0
-
unknown authored
into neptunus.(none):/home/msvensson/mysql/mysql-5.0
-
unknown authored
- Use "../tmp" as --slave-load-tmpdir. Same as in mysql-test-run.pl mysql-test/mysql-test-run.sh: Use same --slave-load-tmpdir as in mysql-test-run.pl
-
unknown authored
mysql-test/t/federated.test: Fix missing --replace_result on $SLAVE_MYPORT to work with MTR_BUILD_THREAD. mysql-test/r/federated.result: Fix missing --replace_result on $SLAVE_MYPORT to work with MTR_BUILD_THREAD.
-
unknown authored
-
- 30 Jan, 2006 13 commits
-
-
unknown authored
into govinda.patg.net:/home/patg/mysql-build/mysql-5.0
-
unknown authored
into mysql.com:/home/alexi/innodb/mysql-5.0-ss20 innobase/btr/btr0sea.c: Null merged innobase/fil/fil0fil.c: Null merged
-
unknown authored
Applied innodb-4.1-ss20 snapshot. innobase/btr/btr0sea.c: Applied innodb-4.1-ss20 snapshot. Account for a race condition when dropping the adaptive hash index for a B-tree page (Bug #16582). btr_search_drop_page_hash_index(): Retry the operation if a hash index with different parameters was built meanwhile. Add diagnostics for the case that hash node pointers to the page remain. This fix is from Heikki. btr_search_info_update_hash(), btr_search_info_update_slow(): Document the parameter "info" as in/out. innobase/fil/fil0fil.c: Applied innodb-4.1-ss20 snapshot. Keep track on unflushed modifications to file spaces. When there are tens of thousnads of file spaces, flushing all files in fil_flush_file_spaces() would be very slow (Bug #16582). fil_flush_file_spaces(): Only flush unflushed file spaces. fil_space_t, fil_system_t: Add a list of unflushed spaces. innobase/include/btr0sea.ic: Applied innodb-4.1-ss20 snapshot. btr_search_info_update_hash(), btr_search_info_update_slow(): Document the parameter "info" as in/out.
-
unknown authored
into govinda.patg.net:/home/patg/mysql-build/mysql-5.0
-
unknown authored
into mysql.com:/extern/mysql/work/bug15737/mysql-5.0
-
unknown authored
into mysql.com:/extern/mysql/work/bug15737/mysql-5.0
-
unknown authored
mysql-test/t/sp-code.test: Corrected typo in comment.
-
unknown authored
into selena.:H:/MYSQL/src/#15634-mysql-5.0 sql/field.cc: Auto merged
-
unknown authored
into mysql.com:/home/alexi/innodb/mysql-5.0-ss17
-
unknown authored
into mysql.com:/home/alexi/innodb/mysql-5.0-ss17 innobase/dict/dict0dict.c: Null merged mysql-test/r/innodb.result: Null merged mysql-test/t/innodb.test: Null merged
-
unknown authored
Applied innodb-4.1-ss17 snapshot. Do not mistake TABLENAME_ibfk_0 for auto-generated id. innobase/dict/dict0dict.c: Applied innodb-4.1-ss17 snapshot. dict_table_get_highest_foreign_id(): Ignore foreign constraint identifiers starting with the pattern TABLENAME_ibfk_0 (BUG#16387). mysql-test/r/innodb.result: Applied innodb-4.1-ss17 snapshot. Fixed results for added test case. mysql-test/t/innodb.test: Applied innodb-4.1-ss17 snapshot. Added test case.
-
unknown authored
into neptunus.(none):/home/msvensson/mysql/mysql-5.0 sql-common/client.c: Auto merged tests/mysql_client_test.c: Merge
-
unknown authored
into neptunus.(none):/home/msvensson/mysql/mysqltest_var/my50-mysqltest_var-integration
-
- 29 Jan, 2006 1 commit
-
-
unknown authored
Fix test result. table.h, sql_show.cc: Put I_S tables in lexical order. sql/sql_show.cc: Put I_S tables in lexical order. sql/table.h: Put I_S tables in lexical order. mysql-test/r/information_schema.result: Fix test result. mysql-test/r/information_schema_db.result: Fix test result.
-
- 28 Jan, 2006 2 commits
-
-
unknown authored
We should disallow usage of RETURN statement in triggers and emit error at parsing time (instead of crashing when trigger is fired). mysql-test/r/trigger.result: Added test for bug #16829 "Firing trigger with RETURN crashes the server". mysql-test/t/trigger.test: Added test for bug #16829 "Firing trigger with RETURN crashes the server". sql/sql_yacc.yy: We should disallow usage of RETURN statement in triggers and emit error at parsing time (instead of crashing when trigger is fired).
-
unknown authored
The problem has manifested itself in the cases when we have a nested outer join for which it can be inferred that one of the inner tables is a single row table. mysql-test/r/join_nested.result: Added a test case for bug #16260. mysql-test/t/join_nested.test: Added a test case for bug #16260. sql/sql_select.cc: Fixed bug #16260. The problem has manifested itself in the cases when we have a nested outer join for which it can be inferred that one of the inner tables is a single row table. A table is never considered as a const table if it is used in a nested join that serves as an inner operand of an outer join.
-
- 27 Jan, 2006 4 commits
-
-
unknown authored
Added fixes to make last_insert_id() to work. mysql-test/r/federated.result: BUG #14768 New test results for last_insert_id() mysql-test/t/federated.test: BUG #14768 Tests for last_insert_id() sql/ha_federated.cc: BUG# 14768 * Added code to set last_insert_id() * Added code to free share->scheme sql/ha_federated.h: BUG #14768 New method for setting last_insert_id()
-
unknown authored
into neptunus.(none):/home/msvensson/mysql/mysqltest_var/my50-mysqltest_var-integration
-
unknown authored
Merge neptunus.(none):/home/msvensson/mysql/mysqltestrun_check_testcases/my50-mysqltestrun_check_testcases into neptunus.(none):/home/msvensson/mysql/mysqltest_var/my50-mysqltest_var-integration mysql-test/mysql-test-run.pl: Auto merged mysql-test/r/query_cache.result: Auto merged mysql-test/r/rpl000001.result: Auto merged mysql-test/r/rpl_loaddata.result: Auto merged mysql-test/r/rpl_loaddata_rule_m.result: Auto merged mysql-test/r/rpl_loaddata_rule_s.result: Auto merged mysql-test/r/rpl_misc_functions.result: Auto merged mysql-test/r/rpl_replicate_do.result: Auto merged mysql-test/r/sp-security.result: Auto merged mysql-test/r/variables.result: Auto merged mysql-test/r/view_grant.result: Auto merged mysql-test/t/query_cache.test: Auto merged mysql-test/t/rpl000001.test: Auto merged mysql-test/t/rpl_loaddata.test: Auto merged mysql-test/t/rpl_loaddata_rule_m.test: Auto merged mysql-test/t/rpl_loaddata_rule_s.test: Auto merged mysql-test/t/rpl_misc_functions.test: Auto merged mysql-test/t/rpl_replicate_do.test: Auto merged mysql-test/t/sp-security.test: Auto merged mysql-test/t/trigger-compat.test: Auto merged mysql-test/r/trigger-compat.result: Merge
-
unknown authored
mysql-test/t/information_schema.test: Use MYSQLTEST_VARDIR instead of MYSQL_TEST_DIR/var
-
- 26 Jan, 2006 3 commits
-
-
unknown authored
Cleanup the sideeffects from most of the testcases with sideeffects. mysql-test/mysql-test-run.pl: Add option "check-testcases" to mysql-test-run.pl Will execute "include/check-testcase.test" once before each tescase and record the output into "var/tmp/check-testcase.result" After the teastcase it will run again and this time compare the output with previously recorded file. mysql-test/r/analyze.result: Drop table t1 at end of test mysql-test/r/create_select_tmp.result: Drop table t1 at end of test mysql-test/r/ctype_cp932.result: Drop table t1 at end of test mysql-test/r/ctype_recoding.result: Drop table t1 at end of test mysql-test/r/grant2.result: Drop user mysqltest_2 and mysqltest_A@'%' mysql-test/r/join_outer.result: Drop view v1 to cleanup mysql-test/r/ps_1general.result: Drop table t1 at end of test mysql-test/r/query_cache.result: Drop function "f1" mysql-test/r/read_only.result: Reset the "read_only" flag mysql-test/r/rpl000001.result: Remove user "blafasel2" mysql-test/r/rpl000017.result: Remove user "replicate" mysql-test/r/rpl_failed_optimize.result: Drop table t1 to cleanup mysql-test/r/rpl_flush_tables.result: Drop tables t3, t4, t5 mysql-test/r/rpl_ignore_revoke.result: Delete user "user_foo" mysql-test/r/rpl_insert_id.result: Drop table t1 to cleanup mysql-test/r/rpl_loaddata.result: Drop tyable t1 to cleanup mysql-test/r/rpl_loaddata_rule_m.result: Drop tyable t1 to cleanup mysql-test/r/rpl_loaddata_rule_s.result: Drop tyable t1 to cleanup mysql-test/r/rpl_misc_functions.result: Drop tyable t1 to cleanup mysql-test/r/rpl_multi_update3.result: Drop tyable t1 and t2 to cleanup mysql-test/r/rpl_replicate_do.result: Drop tyable t1 to cleanup mysql-test/r/rpl_skip_error.result: Drop tyable t1 to cleanup mysql-test/r/rpl_slave_status.result: Drop tyable t1 to cleanup mysql-test/r/sp-prelocking.result: Drop view v1 and tables t1, t2, t3 and t4 to cleanup mysql-test/r/sp-security.result: Delete users to cleanup Delete remaining traces in tables_priv and procs_priv mysql-test/r/subselect_innodb.result: Drop procedure p1 to cleanup mysql-test/r/trigger-compat.result: Drop trigger wl2818_trg1 and wl2818_trg2. Drop table t1, t2 Drop database mysqltest_db1 And the users "mysqltest_dfn@localhost" and "mysqltest_inv@localhost" mysql-test/r/type_bit.result: Drop tables t1 and t2 to cleanup mysql-test/r/variables.result: Set GLOBAL max_join_size to 10 as it originally was in variables-master.opt mysql-test/r/view_grant.result: Dop user "test@localhost" to cleanup mysql-test/t/analyze.test: Drop table t1 to cleanup mysql-test/t/create_select_tmp.test: Drop table t1 to cleanup mysql-test/t/ctype_cp932.test: Drop table t1 to cleanup mysql-test/t/ctype_recoding.test: Drop table t1 to cleanup mysql-test/t/fulltext_var.test: Restore the original ft_boolean_syntax mysql-test/t/grant2.test: Drop users "mysqltest_2" and "mysqltest_A@'%'" to cleanup mysql-test/t/innodb_cache.test: Reset query_cache_size to original value mysql-test/t/join_outer.test: Drop view v1 to cleanup mysql-test/t/ps_1general.test: Drop table t1 to cleanup mysql-test/t/query_cache.test: Drop function "f1" to cleanup mysql-test/t/read_only.test: Reset the readonly flag mysql-test/t/rpl000001.test: Delete user "blafasel2" to cleanup mysql-test/t/rpl000017.test: Delete user "replicate" to cleanup mysql-test/t/rpl_failed_optimize.test: Drop table t1 to cleanup mysql-test/t/rpl_flush_tables.test: Droip table t3, t4 and t5 to cleanup mysql-test/t/rpl_ignore_revoke.test: Delet user "user_foo" to cleanup mysql-test/t/rpl_insert_id.test: drop table t1 to cleanup mysql-test/t/rpl_loaddata.test: Drop table t1 to cleanup mysql-test/t/rpl_loaddata_rule_m.test: Drop table t1 to cleanup mysql-test/t/rpl_loaddata_rule_s.test: Drop table t1 to cleanup mysql-test/t/rpl_misc_functions.test: Drop table t1 to cleanup mysql-test/t/rpl_multi_update3.test: Drop table t1 and t2 to cleanup mysql-test/t/rpl_replicate_do.test: Drop table t1 to cleanup mysql-test/t/rpl_skip_error.test: Drop table t1 to cleanup mysql-test/t/rpl_slave_status.test: Drop table t1 to cleanup mysql-test/t/sp-prelocking.test: Drop table t1, t2 t3 and t4 to cleanup Drop view v1 mysql-test/t/sp-security.test: Delete test users from mysql.user, mysql.db, mysql.procs_priv and mysql.tables_priv Drop table t1 to cleanup mysql-test/t/subselect_innodb.test: Drop procedure p1 to cleanup mysql-test/t/trigger-compat.test: Drop trigger wl2818_trg1 and wl2818_trg2 to cleanup Drop table t1, t2 Drop users drop database mysqltest_db1 mysql-test/t/type_bit.test: drop table t1 and t2 to cleanup mysql-test/t/variables-master.opt: Increase max_join_size to 100. mysql-test/t/variables.test: Set max_join_size to 10, which was the original value in variables-master.opt mysql-test/t/view_grant.test: Drop the user "test@localhost" mysql-test/include/check-testcase.test: New BitKeeper file ``mysql-test/include/check-testcase.test''
-
unknown authored
into neptunus.(none):/home/msvensson/mysql/mysqltest_var/my50-mysqltest_var-integration mysql-test/t/trigger-grant.test: Merge
-
unknown authored
into neptunus.(none):/home/msvensson/mysql/mysqltest_var/my50-mysqltest_var-integration mysql-test/t/mysqltest.test: Auto merged
-