- 02 Dec, 2010 3 commits
-
-
Mats Kindahl authored
-
Mats Kindahl authored
Fixing test case that fails on Windows because .dll is used.
-
Tor Didriksen authored
-
- 01 Dec, 2010 3 commits
-
-
Mats Kindahl authored
-
Mats Kindahl authored
When installing plugins, there is a missing check for slash (/) in the path on Windows. Note that on Windows, both / and \ can be used to separate directories. This patch fixes the issue by: - Adding a FN_DIRSEP symbol for all platforms consisting of a string of legal directory separators. - Adding a charset-aware version of strcspn(). - Adding a check_valid_path() function that uses my_strcspn() to check if any FN_DIRSEP character is in the supplied string. - Using the check_valid_path() function in sql_plugin.cc and sql_udf.cc (which means replacing the existing test there). include/config-netware.h: Adding FN_DIRSEP ****** Adding FN_DIRSEP include/config-win.h: Adding FN_DIRSEP ****** Adding FN_DIRSEP include/m_ctype.h: Adding my_strspn() and my_strcspn(). ****** Adding my_strspn() and my_strcspn(). include/my_global.h: Adding FN_DIRSEP ****** Adding FN_DIRSEP mysql-test/t/plugin_not_embedded.test: Adding test that file names containing / is disallowed on *all* platforms. ****** Adding test that file names containing / is disallowed on *all* platforms. sql/sql_plugin.cc: Introducing check_if_path() function for checking if filename is a path to include / on Windows. ****** Introducing check_if_path() function for checking if filename is a path to include / on Windows. sql/sql_udf.cc: Switching to use check_if_path() function. ****** Switching to use check_if_path() function. strings/my_strchr.c: Adding my_strspn() and my_strcspn(). ****** Adding my_strspn() and my_strcspn().
-
Nirbhay Choubey authored
Fixing the testcase to use the database name as connected_db instead of 'test' database. mysql-test/r/mysql.result: Additional fix in the test for bug#54899. mysql-test/t/mysql.test: Additional fix in the test for bug#54899.
-
- 30 Nov, 2010 1 commit
-
-
Davi Arnaut authored
integral type. Use intptr which is designed to hold pointer values and pass it to off_t. mysys/stacktrace.c: Add a compile time assert to ensure that off_t is large enough to hold the pointer value.
-
- 26 Nov, 2010 1 commit
-
-
Davi Arnaut authored
The problem is that the logic which checks if a pointer is valid relies on a poor heuristic based on the start and end addresses of the data segment and heap. Apart from miscalculating the heap bounds, this approach also suffers from the fact that memory can come from places other than the heap. See Bug#58528 for a more detailed explanation. On Linux, the solution is to access the process's memory through /proc/self/task/<tid>/mem, which allows for retrieving the contents of pages within the virtual address space of the calling process. If a address range is not mapped, a input/output error is returned. client/mysqltest.cc: Use new interface to my_safe_print_str. include/my_stacktrace.h: Drop name from my_safe_print_str. mysys/stacktrace.c: Access the process's memory through a file descriptor and dump the contents of the memory range. The file descriptor offset is equivalent to a offset into the address space. Do not print the name of the variable associated with the address. It can be better accomplished at a higher level. sql/mysqld.cc: Put the variable dumping information within its own newline block. Use symbolic names which better convey information to the user.
-
- 30 Nov, 2010 7 commits
-
-
Luis Soares authored
-
Christopher Powers authored
-
Luis Soares authored
the DROP statement ..." Problem: When using temporary tables and closing a session, an implicit DROP TEMPORARY TABLE IF EXISTS is written to the binary log (while cleaning up the context of the session THD - see: sql_class.cc:THD::cleanup which calls close_temporary_tables). close_temporary_tables, first checks if the binary log is opened and then proceeds to creating the DROP statements. Then, such statements, are written to the binary log through MYSQL_BIN_LOG::write(Log_event *). Inside, there is another check if the binary log is opened and if not an error is returned. This is where the faulty behavior is triggered. Given that the test case replays a binary log, with temp tables statements, and right after it issues RESET MASTER, there is a chance that is_open will report false (when the mysql session is closed and the temporary tables are written). is_open may return false, because MYSQL_BIN_LOG::reset_logs is not setting the correct flag (LOG_CLOSE_TO_BE_OPENED), on the MYSQL_LOG_BIN::log_state (instead it sets just the LOG_CLOSE_INDEX flag, leaving the log_state to LOG_CLOSED). Thence, when writing the DROP statement as part of the THD::cleanup, the thread could get a return value of false for is_open - inside MYSQL_BIN_LOG::write, ultimately reporting that it can't write the event to the binary log. Fix: We fix this by adding the correct flag, missing in the second close.
-
Christopher Powers authored
mysql-test/r/show_check.result: Fixed corrupted result file
-
Christopher Powers authored
metadata" Improved error handling such that queries against Information_Schema.Tables won't fail if a federated table can't make a remote connection. mysql-test/r/merge.result: Updated with warnings that were previously masked. mysql-test/r/show_check.result: Updated with warnings that were previously masked. mysql-test/r/view.result: Updated with warnings that were previously masked. sql/sql_show.cc: If get_schema_tables_record() encounters an error, push a warning, set the TABLE COMMENT column with the error text, and clear the error so that the operation can continue.
-
Christopher Powers authored
-
Christopher Powers authored
Improved error handling such that queries against Information_Schema.Tables won't fail if a Federated table is unable to connect to remote host. sql/sql_show.cc: If Handler::Info() fails, save error text in TABLE COMMENTS column, clear error.
-
- 29 Nov, 2010 3 commits
-
-
Georgi Kodinov authored
-
Georgi Kodinov authored
will not display "indicated result file not found" due to wrongly named var directory.
-
Georgi Kodinov authored
-
- 28 Nov, 2010 1 commit
-
-
unknown authored
When using BINLOG statement to execute rows log events, session variables foreign_key_checks and unique_checks are changed temporarily. As each rows log event has their own special session environment and its own foreign_key_checks and unique_checks can be different from current session which executing the BINLOG statement. But these variables are not restored correctly after BINLOG statement. This problem will cause that the following statements fail or generate unexpected data. In this patch, code is added to backup and restore these two variables. So BINLOG statement will not affect current session's variables again. mysql-test/extra/binlog_tests/binlog.test: Add test to verify this patch. mysql-test/suite/binlog/r/binlog_row_binlog.result: Add test to verify this patch. mysql-test/suite/binlog/r/binlog_stm_binlog.result: Add test to verify this patch. sql/sql_binlog.cc: Add code to backup and restore thd->options.
-
- 27 Nov, 2010 1 commit
-
-
Bjorn Munch authored
-
- 26 Nov, 2010 6 commits
-
-
Georgi Kodinov authored
-
Alexander Barkov authored
Problem: MySQL cp1251 did not support 'U+20AC EURO SIGN' which was assigned a few years ago to 0x88. Fix: adding mapping: 0x88 <-> U+20AC @ mysql-test/include/ctype_8bit.inc New shared file to test 8bit character sets. @ mysql-test/r/ctype_cp1251.result @ mysql-test/t/ctype_cp1251.test Adding tests @ sql/share/charsets/cp1251.xml Adding mapping @ strings/ctype-extra.c Regenerating ctype-extra.c using strings/conf_to_src according to new cp1251.xml
-
Nirbhay Choubey authored
After dropping and recreating the database specified along with --one-database option at command line, mysql client keeps filtering the statements even after the execution of a 'USE' command on the same database. --one-database option enables the filtering of statements when the current database is not the one specified at the command line. However, when the same database is dropped and recreated the variable (current_db) that holds the inital database name gets altered. This bug exploits the fact that current_db initially gets set to null value (0) when a 'use db_name' follows the recreation of same database db_name (speficied at the command line) and hence skip_updates gets set to 1, which inturn triggers the further filtering of statements. Fixed by making get_current_db() a no-op function when one_database is set, and hence, under that condition current_db will not get altered. Note, however the value of current_db can change when we execute 'connect' command with a differnet database to reconnect to the server, in which case, the behavior of --one-database will be formulated using this new database. client/mysql.cc: Bug #54899 : --one-database option cannot handle DROP/CREATE DATABASE commands Added an if statement at the beginnning of get_current_db() , which makes it a no-op function if one-database option is specified, and hence current_db remains unchanged. Changed the help message for one-database option to a more appropriate message as specified in mysql documentation. mysql-test/r/mysql.result: Added a test case for bug#54899 and some more test cases to check other one-database option related behaviors. mysql-test/t/mysql.test: Added a test case for bug#54899 and some more test cases to check other one-database option related behaviors.
-
Bjorn Munch authored
Fixed as suggested in the .inc file and two tests Could not reproduce problem, but tested tests on Windows
-
Georgi Kodinov authored
-
Georgi Kodinov authored
-
- 25 Nov, 2010 3 commits
-
-
Bjorn Munch authored
It does work in general, the problem here was that the test name 'alter_table' matches 'main.alter_table-big' which has already been found. Fixed by matching more explicitly (with/without suite name)
-
Tatiana Azundris Nurnberg authored
-
Tatiana A. Nurnberg authored
43233/55794. mysql-test/r/change_user.result: Don't use -1 integer wrap around. It used to work, but now we do what's actually in the documentation. In tests, we now use DEFAULT or the numeral equivalent (as we do in the 5.6 tests). mysql-test/r/key_cache.result: Can't drop default key case is an error now, not a warning, for compatibility with 5.6. mysql-test/r/variables.result: Can't drop default key case is an error now, not a warning, for compatibility with 5.6. mysql-test/t/change_user.test: Don't use -1 integer wrap around. It used to work, but now we do what's actually in the documentation. In tests, we now use DEFAULT or the numeral equivalent (as we do in the 5.6 tests). mysql-test/t/key_cache.test: Can't drop default key case is an error now, not a warning, for compatibility with 5.6. mysql-test/t/variables.test: Can't drop default key case is an error now, not a warning, for compatibility with 5.6. sql/mysqld.cc: 0 is a legal (albeit magic) value: "drop key cache." sql/set_var.cc: bound_unsigned() can go now, it was just a kludge until things are done The Right Way, which they are now. Can't drop default key case is an error now, not a warning, for compatibility with 5.6. tests/mysql_client_test.c: Don't use -1 integer wrap around. It used to work, but now we do what's actually in the documentation. In tests, we now use DEFAULT or the numeral equivalent (as we do in the 5.6 tests).
-
- 24 Nov, 2010 6 commits
-
-
Bjorn Munch authored
-
Alexander Nozdrin authored
-
Tatiana A. Nurnberg authored
-
Alexander Nozdrin authored
EXCEPTIONS-CLIENT from all the places.
-
Bjorn Munch authored
If mysqltest dies, mtr waits to see if mysqld dies too within 100ms But in that case, it should not care about expected crash Fix: jump past the code that checks the expect file
-
Tatiana A. Nurnberg authored
-
- 23 Nov, 2010 2 commits
-
-
Bjorn Munch authored
Follow-up discussed with Reporter: Avoid hard shutdown after test failure, if caused by server log warning AND we are running valgrind More general pick-up of valgrind summaries, order may apparently vary Do exit(1) if we did find valgrind summary warnings
-
Sergey Glukhov authored
In case of low memory sort buffer QUICK_INDEX_MERGE_SELECT creates temporary file where is stores row ids which meet QUICK_SELECT ranges except of clustered pk range, clustered range is processed separately. In init_read_record we check if temporary file is used and choose appropriate record access method. It does not take into account that temporary file contains partial result in case of QUICK_INDEX_MERGE_SELECT with clustered pk range. The fix is always to use rr_quick if QUICK_INDEX_MERGE_SELECT with clustered pk range is used. mysql-test/suite/innodb/r/innodb_mysql.result: test case mysql-test/suite/innodb/t/innodb_mysql.test: test case mysql-test/suite/innodb_plugin/r/innodb_mysql.result: test case mysql-test/suite/innodb_plugin/t/innodb_mysql.test: test case sql/opt_range.h: added new method sql/records.cc: The fix is always to use rr_quick if QUICK_INDEX_MERGE_SELECT with clustered pk range is used.
-
- 22 Nov, 2010 3 commits
-
-
Alexander Nozdrin authored
-
Alexander Nozdrin authored
-
Alexander Nozdrin authored
-