- 22 Aug, 2007 2 commits
-
-
unknown authored
into gleb.loc:/home/uchum/work/bk/5.0-opt
-
unknown authored
Killing a SELECT query with KILL QUERY or KILL CONNECTION causes a server crash if the query cache is enabled. Normal evaluation of a query may be interrupted by the KILL QUERY/CONNECTION statement, in this case the mysql_execute_command function returns TRUE, and the thd->killed flag has true value. In this case the result of the query may be cached incompletely (omitting call to query_cache_insert inside the net_real_write function), and next call to query_cache_end_of_result may lead to server crash. Thus, the query_cache_end_of_result function has been modified to abort query cache in the case of killed thread. sql/sql_cache.cc: Fixed bug #30201. The query_cache_end_of_result function has been modified to abort query cache in the case of query execution failure. Also this function has been modified to remove incomplete query block.
-
- 21 Aug, 2007 6 commits
-
-
unknown authored
into gleb.loc:/home/uchum/work/bk/5.0-opt
-
unknown authored
into gleb.loc:/home/uchum/work/bk/5.0-opt sql/sql_select.cc: Auto merged
-
unknown authored
-
unknown authored
into mysql.com:/home/gluh/MySQL/Merge/5.0-opt
-
unknown authored
into gleb.loc:/home/uchum/work/bk/5.0-opt sql/sql_base.cc: Auto merged
-
unknown authored
into gleb.loc:/home/uchum/work/bk/5.0-opt
-
- 20 Aug, 2007 3 commits
-
-
unknown authored
The server created temporary tables for filesort in the working directory instead of the specified tmpdir directory. sql/item.cc: Fixed bug #30287. The Item_field::set_field method has been modified to reset the any_privileges flag to false in case of system temporary table. This modification prevents the server from unnecessary checking of user privileges to access system temporary tables. sql/sql_select.cc: Fixed bug #30287. Bugfix for #29015 has been removed: TABLE_SHARE::table_name of system temporary tables contains full path to table file basename again. sql/sql_view.cc: Fixed bug #30287. Commentary has been added.
-
unknown authored
into mysql.com:/home/gluh/MySQL/Merge/5.0-opt
-
unknown authored
added SUPER_ACL check for I_S.TRIGGERS mysql-test/r/information_schema.result: result fix mysql-test/r/information_schema_db.result: result fix mysql-test/t/information_schema.test: test case sql/sql_show.cc: added SUPER_ACL check for I_S.TRIGGERS
-
- 18 Aug, 2007 1 commit
-
-
unknown authored
into ramayana.hindu.god:/home/tsmith/m/bk/maint/50
-
- 17 Aug, 2007 1 commit
-
-
unknown authored
into olga.mysql.com:/home/igor/dev-opt/mysql-5.0-opt-bug30396
-
- 16 Aug, 2007 2 commits
-
-
unknown authored
Revert the fix for bug 21587. That bug will be re-opened, and a new fix must be created.
-
unknown authored
into dl145s.mysql.com:/data0/mhansson/my50-bug28570 sql/opt_range.cc: Auto merged mysql-test/r/innodb_mysql.result: Bug#28570: Manual Merge mysql-test/t/innodb_mysql.test: Bug#28570: Manual Merge
-
- 15 Aug, 2007 8 commits
-
-
unknown authored
Apply innodb-5.0-ss1696 snapshot Fixes: - Bug#20090: InnoDB: Error: trying to declare trx to enter InnoDB - Bug#23710: crash_commit_before fails if innodb_file_per_table=1 At InnoDB startup consider the case where log scan went beyond checkpoint_lsn as a crash and initiate crash recovery code path. - Bug#28781: InnoDB increments auto-increment value incorrectly with ON DUPLICATE KEY UPDATE We need to do some special AUTOINC handling for the following case: INSERT INTO t (c1,c2) VALUES(x,y) ON DUPLICATE KEY UPDATE ... We need to use the AUTOINC counter that was actually used by MySQL in the UPDATE statement, which can be different from the value used in the INSERT statement. - Bug#29097: fsp_get_available_space_in_free_extents() is capped at 4TB Fix by typecasting the variables before multiplying them, so that the result of the multiplication is of type "unsigned long long". - Bug#29155: Innodb "Parallel recovery" is not prevented Fix by enabling file locking on FreeBSD. It has been disabled because InnoDB has refused to start on FreeBSD & LinuxThreads, but now it starts just fine. innobase/fsp/fsp0fsp.c: Apply innodb-5.0-ss1696 snapshot Revision r1614: branches/5.0: Merge r1605 from trunk: Fix Bug#29097 "fsp_get_available_space_in_free_extents() is capped at 4TB" by typecasting the variables before multiplying them, so that the result of the multiplication is of type "unsigned long long". I verified this fix by creating a sparse file of 6TB and forcing InnoDB to use it without overwriting it with zeroes (by commenting the code that overwrites :newraw files). New type ullint is introduced with the sole purpose of shortening "unsigned long long", please do not define it to something else than "unsigned long long". Approved by: Heikki innobase/include/fsp0fsp.h: Apply innodb-5.0-ss1696 snapshot Revision r1614: branches/5.0: Merge r1605 from trunk: Fix Bug#29097 "fsp_get_available_space_in_free_extents() is capped at 4TB" by typecasting the variables before multiplying them, so that the result of the multiplication is of type "unsigned long long". I verified this fix by creating a sparse file of 6TB and forcing InnoDB to use it without overwriting it with zeroes (by commenting the code that overwrites :newraw files). New type ullint is introduced with the sole purpose of shortening "unsigned long long", please do not define it to something else than "unsigned long long". Approved by: Heikki innobase/include/univ.i: Apply innodb-5.0-ss1696 snapshot Revision r1614: branches/5.0: Merge r1605 from trunk: Fix Bug#29097 "fsp_get_available_space_in_free_extents() is capped at 4TB" by typecasting the variables before multiplying them, so that the result of the multiplication is of type "unsigned long long". I verified this fix by creating a sparse file of 6TB and forcing InnoDB to use it without overwriting it with zeroes (by commenting the code that overwrites :newraw files). New type ullint is introduced with the sole purpose of shortening "unsigned long long", please do not define it to something else than "unsigned long long". Approved by: Heikki innobase/log/log0recv.c: Apply innodb-5.0-ss1696 snapshot Revision r1608: branches/5.0: Bug#23710 Back port of r1607 from trunk At InnoDB startup consider the case where log scan went beyond checkpoint_lsn as a crash and initiate crash recovery code path. reviewed by: Heikki innobase/os/os0file.c: Apply innodb-5.0-ss1696 snapshot Revision r1615: branches/5.0: Merge r1613 from trunk: Fix Bug#29155 by enabling file locking on FreeBSD. It has been disabled because InnoDB has refused to start on FreeBSD & LinuxThreads, but now it starts just fine. Approved by: Heikki innobase/srv/srv0srv.c: Apply innodb-5.0-ss1696 snapshot Revision r1552: branches/5.0: Fix Bug#20090 as suggested in the bug followup by Heikki. Approved by: Heikki innobase/trx/trx0trx.c: Apply innodb-5.0-ss1696 snapshot Revision r1596: branches/5.0: Merge r1595 from trunk: trx_commit_for_mysql(): Avoid acquiring and releasing kernel_mutex when trx->sess or trx_dummy_sess is non-NULL. sql/ha_innodb.cc: Apply innodb-5.0-ss1696 snapshot Revision r1614: branches/5.0: Merge r1605 from trunk: Fix Bug#29097 "fsp_get_available_space_in_free_extents() is capped at 4TB" by typecasting the variables before multiplying them, so that the result of the multiplication is of type "unsigned long long". I verified this fix by creating a sparse file of 6TB and forcing InnoDB to use it without overwriting it with zeroes (by commenting the code that overwrites :newraw files). New type ullint is introduced with the sole purpose of shortening "unsigned long long", please do not define it to something else than "unsigned long long". Approved by: Heikki Revision r1695: branches/5.0: Merge a change from MySQL AB: ChangeSet@1.2463.166.1 2007-06-20 19:22:27+03:00 monty@mysql.fi Allow multiple calls to mysql_server_end() (Part of fix for Bug 25621 Error in my_thread_global_end(): 1 threads didn't exit) Give correct error message if InnoDB table is not found (This allows us to drop a an innodb table that is not in the InnoDB registery) ha_innodb.cc: Give correct error message if InnoDB table is not found. (This allows us to drop a an innodb table that is not in the InnoDB registery) Revision r1606: branches/5.0: Formatting corrections. spotted by: Vasil Revision r1691: branches/5.0: Merge a change from MySQL AB: ChangeSet@1.2463.261.1 2007-07-20 14:17:15+03:00 gkodinov@magare.gmz Bug 29644: alter table hangs if records locked in share mode by long running transaction On Windows opened files can't be deleted. There was a special upgraded lock mode (TL_WRITE instead of TL_WRITE_ALLOW_READ) in ALTER TABLE to make sure nobody has the table opened when deleting the old table in ALTER TABLE. This special mode was causing ALTER TABLE to hang waiting on a lock inside InnoDB. This special lock is no longer necessary as the server is closing the tables it needs to delete in ALTER TABLE. Fixed by removing the special lock. Note that this also reverses the fix for bug 17264 that deals with another consequence of this special lock mode being used. sql/ha_innodb.cc: Bug 29644: reverse the (now excessive) fix for bug 17264 (but leave the test case). Revision r1601: branches/5.0: Fix for bug#28781 We need to do some special AUTOINC handling for the following case: INSERT INTO t (c1,c2) VALUES(x,y) ON DUPLICATE KEY UPDATE ... We need to use the AUTOINC counter that was actually used by MySQL in the UPDATE statement, which can be different from the value used in the INSERT statement. approved by: Sunny Revision r1692: branches/5.0: Merge a change from MySQL AB: ChangeSet@1.2463.267.1 2007-07-30 17:14:34+04:00 evgen@local Bug 24989: The DEADLOCK error is improperly handled by InnoDB. When innodb detects a deadlock it calls ha_rollback_trans() to rollback the main transaction. But such action isn't allowed from inside of triggers and functions. When it happen the 'Explicit or implicit commit' error is thrown even if there is no commit/rollback statements in the trigger/function. This leads to the user confusion. Now the convert_error_code_to_mysql() function doesn't call the ha_rollback_trans() function directly but rather calls the mark_transaction_to_rollback function and returns an error. The sp_rcontext::find_handler() now doesn't allow errors to be caught by the trigger/function error handlers when the thd->is_fatal_sub_stmt_error flag is set. Procedures are still allowed to catch such errors. The sp_rcontext::find_handler function now accepts a THD handle as a parameter. The transaction_rollback_request and the is_fatal_sub_stmt_error flags are added to the THD class. The are initialized by the THD class constructor. Now the ha_autocommit_or_rollback function rolls back main transaction when not in a sub statement and the thd->transaction_rollback_request is set. The THD::restore_sub_statement_state function now resets the thd->is_fatal_sub_stmt_error flag on exit from a sub-statement. innodb-big.test, innodb-big.result: Added a test case for the bug 24989: The DEADLOCK error is improperly handled by InnoDB. sql/ha_innodb.cc: Bug 24989: The DEADLOCK error is improperly handled by InnoDB. Now the convert_error_code_to_mysql() function doesn't call the ha_rollback_trans() function directly but rather calls the mark_transaction_to_rollback function and returns an error. Revision r1693: branches/5.0: Merge a change from MySQL AB: ChangeSet@1.2489.5.1 2007-07-31 17:42:48+04:00 evgen@local ha_innodb.cc: Warning fixed.
-
unknown authored
into ramayana.hindu.god:/home/tsmith/m/bk/maint/50
-
unknown authored
into mysql.com:/nfsdisk1/lars/MERGE/mysql-5.0-merge
-
unknown authored
into mysql.com:/nfsdisk1/lars/MERGE/mysql-5.0-merge
-
unknown authored
into mysql.com:/nfsdisk1/lars/MERGE/mysql-4.1-merge
-
unknown authored
The bug caused memory corruption for some queries with top OR level in the WHERE condition if they contained equality predicates and other sargable predicates in disjunctive parts of the condition. The corruption happened because the upper bound of the memory allocated for KEY_FIELD and SARGABLE_PARAM internal structures containing info about potential lookup keys was calculated incorrectly in some cases. In particular it was calculated incorrectly when the WHERE condition was an OR formula with disjuncts being AND formulas including equalities and other sargable predicates. mysql-test/r/select.result: Added a test case for bug #30396. mysql-test/t/select.test: Added a test case for bug #30396. sql/item_cmpfunc.h: Removed max_members from the COND_EQUAL class as not useful anymore. sql/sql_base.cc: Added the max_equal_elems field to the st_select_lex structure. sql/sql_lex.cc: Added the max_equal_elems field to the st_select_lex structure. sql/sql_lex.h: Added the max_equal_elems field to the st_select_lex structure. The field contains the maximal number of elements in multiple equalities built for the query conditions. sql/sql_select.cc: Fixed bug #30396. The bug caused memory corruption for some queries with top OR level in the WHERE condition if they contained equality predicates and other sargable predicates in disjunctive parts of the condition. The corruption happened because the upper bound of the memory allocated for KEY_FIELD and SARGABLE_PARAM internal structures containing info about potential lookup keys was calculated incorrectly in some cases. In particular it was calculated incorrectly when the WHERE condition was an OR formula with disjuncts being AND formulas including equalities and other sargable predicates. The max_equal_elems field to the st_select_lex structure is used now to calculate the above mentioned upper bound. The field contains the maximal number of elements in multiple equalities built for the query conditions.
-
unknown authored
Post fix for the bug#29948. tests/mysql_client_test.c: Post fix for the bug#29948.
-
unknown authored
ORDER BY is used The range analysis module did not correctly signal to the handler that a range represents a ref (EQ_RANGE flag). This causes non-range queries like SELECT ... FROM ... WHERE keypart_1=const, ..., keypart_n=const ORDER BY ... FOR UPDATE to wait for a lock unneccesarily if another running transaction uses SELECT ... FOR UPDATE on the same table. Fixed by setting EQ_RANGE for all range accesses that represent an equality predicate. mysql-test/r/innodb_mysql.result: bug#28570: Test Result mysql-test/t/innodb_mysql.test: bug#28570: Test Case sql/handler.cc: bug#28570: Updated comment sql/opt_range.cc: bug#28570: Removed the criterion that key has to be unique (HA_NOSAME) in order for the EQ_RANGE flag to be set. It is sufficient that the range represent a ref access.
-
- 14 Aug, 2007 3 commits
-
-
unknown authored
into moonbone.local:/mnt/gentoo64/work/29948-bug-5.0-opt-mysql tests/mysql_client_test.c: Manually merged
-
unknown authored
The cli_read_binary_rows function is used to fetch data from the server after a prepared statement execution. It accepts a statement handler and gets the connection handler from it. But when the auto-reconnect option is set the connection handler is reset to NULL after reconnection because the prepared statement is lost and the handler became useless. This case wasn't checked in the cli_read_binary_rows function and caused server crash. Now the cli_read_binary_rows function checks the connection handler to be not NULL and returns an error if it is. tests/mysql_client_test.c: Added a test case for the bug#29948: Unchecked NULL pointer caused server crash. libmysql/libmysql.c: Bug#29948: Unchecked NULL pointer caused server crash. Now the cli_read_binary_rows function checks the connection handler to be not NULL and returns an error if it is.
-
unknown authored
into gleb.loc:/home/uchum/work/bk/5.0-opt
-
- 13 Aug, 2007 4 commits
- 10 Aug, 2007 1 commit
-
-
unknown authored
into gleb.loc:/home/uchum/work/bk/5.0-opt
-
- 08 Aug, 2007 1 commit
-
-
unknown authored
into bodhi.(none):/opt/local/work/mysql-5.0-runtime mysql-test/r/federated.result: Auto merged mysql-test/t/federated.test: Auto merged sql/item.cc: Auto merged
-
- 07 Aug, 2007 4 commits
-
-
unknown authored
under terms of bug#28875 for better performance. The change appeared to require more changes in item_cmpfunc.cc, which is dangerous in 5.0. Conversion between a latin1 column and an ascii string constant stopped to work. mysql-test/r/ctype_recoding.result: Adding test case. mysql-test/t/ctype_recoding.test: Adding test case.
-
unknown authored
into zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.0-maint strings/ctype-extra.c: Auto merged
-
unknown authored
into zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.0-maint
-
unknown authored
Two character mappings were way off (backtick and tilde were "E" and "Y"!), and three others were slightly rotated. The first would cause collisions, and the latter was probably benign. Now, assign the character mappings exactly to their normal values. sql/share/charsets/ascii.xml: Change the character mapping for "`" to "`" (was "E") and "[" to "[" (was "\") and "\" to "\" (was "]") and "]" to "]" (was "[") and "~" to "~" (was "Y"). strings/ctype-extra.c: Generated from charsets directory. mysql-test/r/ctype_ascii.result: Add new test file. Test all combinations of printable letter comparisons for similarity. mysql-test/t/ctype_ascii.test: Add new test file. Test all combinations of printable letter comparisons for similarity.
-
- 06 Aug, 2007 4 commits
-
-
unknown authored
into magare.gmz:/home/kgeorge/mysql/autopush/B29536-5.0-opt
-
unknown authored
MySQL replicates the time zone only when operations that involve it are performed. This is controlled by a flag. But this flag is set only on successful operation. The flag must be set also when there is an error that involves a timezone (so the master would replicate the error to the slaves). Fixed by moving the setting of the flag before the operation (so it apples to errors as well). mysql-test/r/rpl_timezone.result: Bug #29536: test case mysql-test/t/rpl_timezone.test: Bug #29536: test case sql/field.cc: Bug #29536: move setting of the flag before the operation (so it apples to errors as well). sql/time.cc: Bug #29536: move setting of the flag before the operation (so it apples to errors as well).
-
unknown authored
into bodhi.(none):/opt/local/work/mysql-5.0-runtime
-
unknown authored
VIEW". mysql_list_fields() C API function would incorrectly set MYSQL_FIELD::decimals member for some view columns. The problem was in an incomplete implementation of Item_ident_for_show::make_field(), which is responsible for view columns metadata. sql/item.cc: A fix for Bug#29306 -- properly initialize decimals in Item_ident_for_show::make_field tests/mysql_client_test.c: Add a test case forBug#29306. Fix warnings.
-