- 07 Dec, 2010 10 commits
-
-
Luis Soares authored
Post merge fixes for mysql-5.5-bugteam.
-
Luis Soares authored
Manual merge from mysql-5.1-bugteam into mysql-5.5-bugteam. Conflicts ========= Text conflict in sql/log.cc Text conflict in sql/log.h Text conflict in sql/slave.cc Text conflict in sql/sql_parse.cc Text conflict in sql/sql_priv.h
-
Luis Soares authored
Post merge fix. In write_incident, check if binlog file is opened before actually trying to write the incident event.
-
Luis Soares authored
Automerged bzr bundle from bug report.
-
Luis Soares authored
Null merge to from mysql-5.1-bugteam to mysql-5.5-bugteam. Test case does not exist in 5.5 tree.
-
Luis Soares authored
Automerging bzr bundle from bug report into latest mysql-5.1-bugteam.
-
Marc Alff authored
-
Marc Alff authored
-
Nirbhay Choubey authored
command line clients. Command line tools like mysqladmin and mysqldump did not recognize default-auth and plugin-dir options. Support for these options was found missing in these command line tools. Fixed by adding support for the same. client/mysqladmin.cc: Bug#58139 : default-auth option not recognized in MySQL standard command line clients. Introduced two new variables to hold values from default-auth and plugin-dir options and further pushed them to client's st_mysql instance. client/mysqldump.c: Bug#58139 : default-auth option not recognized in MySQL standard command line clients. Introduced two new variables to hold values from default-auth and plugin-dir options and further pushed them to client's st_mysql instance. mysql-test/r/plugin_auth.result: Added test case for Bug#58139. mysql-test/t/plugin_auth.test: Added test case for Bug#58139.
-
Jonathan Perkin authored
Re-enable fast mutexes on Linux for release builds.
-
- 06 Dec, 2010 1 commit
-
-
Alfranio Correia authored
-
- 05 Dec, 2010 1 commit
-
-
Alfranio Correia authored
-
- 03 Dec, 2010 4 commits
-
-
Jonathan Perkin authored
-
Mattias Jonsson authored
-
Mattias Jonsson authored
to_binlog -> binlog_stmt.
-
Alfranio Correia authored
-
- 02 Dec, 2010 6 commits
-
-
Mats Kindahl authored
-
Mats Kindahl authored
Adding symbol FN_DIRSEP to Windows as well.
-
Mats Kindahl authored
-
Mats Kindahl authored
Fixing test case that fails on Windows because .dll is used.
-
Tor Didriksen authored
-
Tor Didriksen authored
-
- 01 Dec, 2010 15 commits
-
-
Mats Kindahl authored
-
Mattias Jonsson authored
but the statement is written to binlog TRUNCATE PARTITION was written to the binlog even if it failed before calling any partition's truncate function. Solved by adding an argument to truncate_partition, to flag if it should be written to the binlog or not. It should be written to the binlog when a call to any partitions truncate function is done. mysql-test/r/partition_binlog.result: New result file mysql-test/t/partition_binlog.test: New test file, including DROP PARTITION binlog test sql/ha_partition.cc: Added argument to avoid binlogging failed truncate_partition that have not yet changed any data. sql/ha_partition.h: Added argument to avoid excessive binlogging sql/sql_partition_admin.cc: Avoid to binlog TRUNCATE PARTITION if it fails before any partition has tried to truncate.
-
Mats Kindahl authored
-
Marc Alff authored
-
Marc Alff authored
-
Marc Alff authored
-
Marc Alff 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().
-
Mikael Ronstrom authored
-
Marc Alff authored
This is a code cleanup. The implementation of a storage engine (subclasses of handler) is not supposed to call my_error() directly inside the engine implementation, but only return error codes, and report errors later at the demand of the sql layer only (if needed), using handler::print_error(). This fix removes misplaced calls to my_error(), and provide an implementation of print_error() instead. Given that the sql layer implementation of create table, ha_create_table(), does not use print_error() but returns ER_CANT_CREATE_TABLE directly, the return code for create table statements using the performance schema has changed to ER_CANT_CREATE_TABLE. Adjusted the test suite accordingly.
-
Marc Alff authored
Before this fix, the test thread_cache failed with spurious failures. The test used: -- disconnect X -- connect Y while assuming that connection Y would reuse connection X slot in the thread cache. For this to happen, the disconnect X operation must be given enough time to complete, otherwise connect Y can be executed in the server before X actually finishes. This fix uses wait conditions to make the test execution more controlled, and more reproductible.
-
Marc Alff authored
Before this fix, the test myisam_file_io executed: - (a) an update on setup_instrument to disable non myisam file io instruments - (b) a truncate on events_waits_history_long and later - (c) a select on events_waits_history_long Surprisingly, events that were supposed to be disabled in (a) and removed in (b) still were found in (c). This happened for events such as wait/io/file/innodb/innodb_data_file fil0fil.c: sync because the sync was started before (a) and completed after (b), and as a consequence was added in the performance schema history, as expected. Presence of these records in the history made the test fail. This fix makes the test script more robust to account for extra spill waits records in (c).
-
Marc Alff authored
This fix affects the test suite only. Before this fix, performance schema tests dml_*.test could fail with spurious failure, depending on the table content. This fix simplifies the SELECT tests in the dml_*.test scripts, to only verify that the SELECT operation passed the security checks and succeeded, which was the original intent of the test. Usage of --replace_column 1 # 2 # 3 # 4 # ... to discard the test output was replaced by a simpler and more maintainable --disable_result_log which also work for empty tables.
-
Nirbhay Choubey authored
-
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 3 commits
-
-
Luis Soares authored
when generating new name. If find_uniq_filename returns an error, then this error is not being propagated upwards, and execution does not report error to the user (although a entry in the error log is generated). Additionally, some more errors were ignored in new_file_impl: - when writing the rotate event - when reopening the index and binary log file This patch addresses this by propagating the error up in the execution stack. Furthermore, when rotation of the binary log fails, an incident event is written, because there may be a chance that some changes for a given statement, were not properly logged. For example, in SBR, LOAD DATA INFILE statement requires more than one event to be logged, should rotation fail while logging part of the LOAD DATA events, then the logged data would become inconsistent with the data in the storage engine. mysql-test/include/restart_mysqld.inc: Refactored restart_mysqld so that it is not hardcoded for mysqld.1, but rather for the current server. mysql-test/suite/binlog/t/binlog_index.test: The error on open of index and binary log on new_file_impl is now caught. Thence the user will get an error message. We need to accomodate this change in the test case for the failing FLUSH LOGS. mysql-test/suite/rpl/t/rpl_binlog_errors-master.opt: Sets max_binlog_size to 4096. mysql-test/suite/rpl/t/rpl_binlog_errors.test: Added some test cases for asserting that the error is found and reported. sql/handler.cc: Catching error now returned by unlog (in ha_commit_trans) and returning it. sql/log.cc: Propagating errors from new_file_impl upwards. The errors that new_file_impl catches now are: - error on generate_new_name - error on writing the rotate event - error when opening the index or the binary log file. sql/log.h: Changing declaration of: - rotate_and_purge - new_file - new_file_without_locking - new_file_impl - unlog They now return int instead of void. sql/mysql_priv.h: Change signature of reload_acl_and_cache so that write_to_binlog is an int instead of bool. sql/mysqld.cc: Redeclaring not_used var as int instead of bool. sql/rpl_injector.cc: Changes to catch the return from rotate_and_purge. sql/slave.cc: Changes to catch the return values for new_file and rotate_relay_log. sql/slave.h: Changes to rotate_relay_log declaration (now returns int instead of void). sql/sql_load.cc: In SBR, some logging of LOAD DATA events goes through IO_CACHE_CALLBACK invocation at mf_iocache.c:_my_b_get. The IO_CACHE implementation is ignoring the return value for from these callbacks (pre_read and post_read), so we need to find out at the end of the execution if the error is set or not in THD. sql/sql_parse.cc: Catching the rotate_relay_log and rotate_and_purge return values. Semantic change in reload_acl_and_cache so that we report errors in binlog interactions through the write_to_binlog output parameter. If there was any failure while rotating the binary log, we should then report the error to the client when handling SQLCOMM_FLUSH.
-
Davi Arnaut authored
-
Davi Arnaut authored
The problem was due to a misuse of GCC asm constraints used to implement a atomic load. On x86_64, the load was implemented as a cmpxchg which implicitly uses the eax register as a source and destination operand, yet the dummy value used for comparison wasn't being properly loaded into eax (and other problems). The core problem is that cmpxchg is unnecessary as a load on x86_64 as there are other simpler instructions such as xadd. Even though, such instructions are only used to have a memory barrier as load and stores are atomic by definition. Hence, the solution is to explicitly issue the required CPU and compiler barriers. include/atomic/x86-gcc.h: Issue a synchronizing instruction before loading the value. Afterwards, issue a compiler barrier to prevent reordering.
-