- 24 Feb, 2009 4 commits
-
-
Davi Arnaut authored
Bug#41112: crash in mysql_ha_close_table/get_lock_data with alter table The problem is that the server wasn't handling robustly failures to re-open a table during a HANDLER .. READ statement. If the table needed to be re-opened due to it's storage engine being altered to one that doesn't support HANDLER, a reference (dangling pointer) to a closed table could be left in place and accessed in later attempts to fetch from the table using the handler. Also, if the server failed to set a error message if the re-open failed. These problems could lead to server crashes or hangs. The solution is to remove any references to a closed table and to set a error if reopening a table during a HANDLER .. READ statement fails. There is no test case in this change set as the test depends on a testing feature only available on 5.1 and later. sql/sql_handler.cc: Remove redundant reopen check. Set errors even if reopening table. Reset TABLE_LIST::table reference when the table is closed.
-
Tatiana A. Nurnberg authored
-
Tatiana A. Nurnberg authored
-
Tatiana A. Nurnberg authored
-
- 23 Feb, 2009 4 commits
-
-
Alexey Kopytov authored
-
Alexey Kopytov authored
Both of our own implementations of rint(3) were inconsistent with the most common behavior of rint() on those platforms that have it: round to nearest, break ties by rounding to nearest even. Fixed by leaving just one implementation of rint() in our source tree, and changing its behavior to match the most common native implementations on other platforms. configure.in: Added checks for fenv.h and fesetround(). include/config-win.h: Removed the incorrect implementation of rint() for Windows. include/my_global.h: Added an rint() implementation for platforms that do not have it. mysql-test/r/func_math.result: Added a test case for bug #15936. mysql-test/t/func_math.test: Added a test case for bug #15936. sql/mysqld.cc: Explicitly set the FPU rounding mode with fesetround().
-
Tatiana A. Nurnberg authored
-
Tatiana A. Nurnberg authored
-
- 20 Feb, 2009 4 commits
-
-
Patrick Crews authored
-
Andrei Elkin authored
Signed integer format specifier forced to print the binlog header with server_id negative if the unsigned value sets the sign-bit ON. Fixed with correcting the specifier to correspond to typeof(server_id) == ulong. mysql-test/r/mysqlbinlog.result: results changed. mysql-test/t/mysqlbinlog.test: displaying the expected unsignedly formatted server_id value, bug#37313. sql/log_event.cc: Format specifier is corrected to correspond to typeof(server_id).
-
Georgi Kodinov authored
-
Georgi Kodinov authored
Moved the test case for the bug into a separate file (and restored the original innodb_mysql test setup). Used the new wait_show_condition test macro to avoid the usage of sleep mysql-test/include/wait_show_condition.inc: Bug #42419: new test macro to wait for a row in SHOW to have a certain value. mysql-test/r/innodb_bug42419.result: Bug #42419: test case mysql-test/r/innodb_mysql.result: Bug #42419: revert to the original innodb_mysql test mysql-test/t/innodb_bug42419.test: Bug #42419: test case mysql-test/t/innodb_mysql-master.opt: Bug #42419: revert to the original innodb_mysql test mysql-test/t/innodb_mysql.test: Bug #42419: revert to the original innodb_mysql test
-
- 19 Feb, 2009 9 commits
-
-
Patrick Crews authored
Re-enabling mysqlbinlog.test on Windows - removed the use of grep/sed
-
Patrick Crews authored
Replaced Unix calls with mysql-test-run's built-in functions / SQL manipulation where possible. Replaced error codes with error names as well. Disabled two tests on Windows due to more complex Unix command usage See Bug#41307, Bug#41308
-
Tatiana A. Nurnberg authored
mysqldump included character_set_client magic that is unknown before 4.1 even when asked for an appropriate compatibility mode. In compatibility (3.23, 4.0) mode, we do not output charset statements (not even in a "comment conditional"), nor do we do magic on the server, even if the server is sufficient new (4.1+). Table-names will be output converted to the charset requested by mysqldump; if such a conversion is not possible (Ivrit -> Latin), mysqldump will fail.
-
Georgi Kodinov authored
-
Georgi Kodinov authored
connections The problem is that tables can enter open table cache for a thread without being properly cleaned up. This can happen if make_join_statistics() fails to read a const table because of e.g. a deadlock. It does set a member of TABLE structure to a value it allocates, but doesn't clean-up this setting on error nor does it set the rest of the members in JOIN to allow for automatic cleanup. As a result when such an error occurs and the next statement depends re-uses the table from the open tables cache it will get it with this TABLE::reginfo.join_tab pointing to a memory area that's freed. Fixed by making sure make_join_statistics() cleans up TABLE::reginfo.join_tab on error. mysql-test/r/innodb_mysql.result: Bug #42419: test case mysql-test/t/innodb_mysql-master.opt: Bug #42419: increase the timeout so it covers te conservative sleep 3 in the test mysql-test/t/innodb_mysql.test: Bug #42419: test case sql/sql_select.cc: Bug #42419: clean up the members of TABLE on failure in make_join_statisitcs()
-
Sergey Glukhov authored
In case of ROW item each compared pair does not check if argumet collations can be aggregated and thus appropiriate item conversion does not happen. The fix is to add the check and convertion for ROW pairs. mysql-test/r/row.result: test result mysql-test/t/row.test: test case sql/item.cc: added agg_item_set_converter() function which was a part of agg_item_charsets() func. The only difference is that agg_item_set_converter() checks and converts items using already known collation. sql/item.h: added agg_item_set_converter() function sql/item_cmpfunc.cc: In case of ROW item each compared pair does not check if argumet collations can be aggregated and thus appropiriate item conversion does not happen. The fix is to add the check and convertion for ROW pairs.
-
Alexey Kopytov authored
-
Alexey Kopytov authored
returns short string value. Multibyte character sets were not taken into account when calculating max_length in Item_param::convert_str_value(). As a result, string parameters of a prepared statement could be truncated later when calculating string length in characters by dividing length in bytes by the charset's mbmaxlen value (e.g. in Field_varstring::store()). Fixed by taking charset's mbmaxlen into account when calculating max_length in Item_param::convert_str_value(). sql/item.cc: Multiply string's length in characters by charset's mbmaxlen when calculating max_length. tests/mysql_client_test.c: Added a test case for bug #41078.
-
Tatiana A. Nurnberg authored
Typo existed in help-text for command "charset" in mysql client, making the parameter-name different for long and short forms of the command for no good reason. Fixed. client/mysql.cc: Make parameter-name in help-text the same for long and short forms, for consistency.
-
- 18 Feb, 2009 2 commits
-
-
Sergey Glukhov authored
-
Georgi Kodinov authored
Removed the misleading "NOTE:" from the \h command. client/mysql.cc: Bug #26724: removed the misleading note from the \h command
-
- 17 Feb, 2009 1 commit
-
-
Sergey Glukhov authored
replace wild_case_compare with my_wildcmp which is multibyte safe function mysql-test/r/lowercase_utf8.result: test result mysql-test/t/lowercase_utf8-master.opt: test case mysql-test/t/lowercase_utf8.test: test case sql/sql_show.cc: replace wild_case_compare with my_wildcmp which is multibyte safe function
-
- 16 Feb, 2009 2 commits
-
-
Tatiana A. Nurnberg authored
Options got normalised to long rather than short options since we gave primary name and alias in wrong order. Consequently querying for the option using the short options (the correct primary name) didn't work, rendering the options in question inaccessible. We restore the right order of the universe, or at least the alii for --debug and --verbose. scripts/mysqldumpslow.sh: Normalise --verbose/-v and --debug/-d to short options, not long options.
-
Georgi Kodinov authored
-
- 15 Feb, 2009 1 commit
-
-
Alexey Kopytov authored
mysql-test/t/gis.test: IA64 gcc backend lacks -fno-fused-madd option, so we have to adjust results.
-
- 14 Feb, 2009 4 commits
-
-
Alexey Kopytov authored
mysql-test/r/type_float.result: Added missing DROP TABLE.
-
Alexey Kopytov authored
mysql-test/suite/funcs_1/r/memory_func_view.result: Take additional precision into account. mysql-test/suite/funcs_1/r/memory_views.result: Take additional precision into account. mysql-test/suite/funcs_1/r/myisam_func_view.result: Take additional precision into account. mysql-test/suite/funcs_1/r/myisam_views.result: Take additional precision into account.
-
Alexey Kopytov authored
mysql-test/r/bdb_gis.result: Take additional precision into account. mysql-test/r/ndb_gis.result: Take additional precision into account. mysql-test/t/type_float.test: Added missing DROP TABLE.
-
Alexey Kopytov authored
-
- 13 Feb, 2009 3 commits
-
-
Davi Arnaut authored
Dirty close tricky does not work on Windows. mysql-test/r/query_cache_notembedded.result: Remove test case result. mysql-test/t/query_cache_notembedded.test: Remove test case.
-
Alexey Kopytov authored
-
Matthias Leich authored
-
- 12 Feb, 2009 4 commits
-
-
Georgi Kodinov authored
-
Georgi Kodinov authored
Additional fix: 1. Revert the unification of DROP FUNCTION and DROP PROCEDURE, because DROP FUNCTION can be used to drop UDFs (that have a non-qualified name and don't require database name to be present and valid). 2. Fixed the case sensitivity problem by adding a call to check_db_name() (similar to the sp_name production).
-
Sergey Vojtovich authored
MATCH() function accepts column list as an argument. It was possible to override this requirement with aliased non-column select expression. Which results in server crash. With this fix aliased non-column select expressions are not accepted by MATCH() function, returning an error. mysql-test/r/fulltext.result: A test case for BUG#36737. mysql-test/t/fulltext.test: A test case for BUG#36737. sql/item_func.cc: Only accept fields as arguments to MATCH().
-
Georgi Kodinov authored
-
- 11 Feb, 2009 1 commit
-
-
Georgi Kodinov authored
-
- 10 Feb, 2009 1 commit
-
-
Georgi Kodinov authored
-