- 18 Sep, 2009 1 commit
-
-
Hakan Kuecuekyilmaz authored
mysqlslap: setting --engine does not get replicated http://bugs.mysql.com/bug.php?id=46967 and mysqlslap: specifying --engine and --create does not work with --engine=<storage_engine>:<option> https://bugs.launchpad.net/maria/+bug/429773 Problems were that an --engine=<storage_engine> was translated to a "set storage_engine = <storage_engine>", wich is _not_ replicated. A --engine=<storage_engine>:<option> was not always properly parsed and in some cases crashed. Fixed by eliminating "set storage_engine = ..." and adding proper DDL generation. Initialized an unitialized buffer to prevent crashes and fixed to use proper pointer for in case of --engine=<storage_engine>:<option> being the last element in list of --engines. Also cleaned up code for better readability. Q: Should MySQL's replication actually replicate a "set storage_engine = ..." command or not? A: No it should not. It is documented here: http://dev.mysql.com/doc/refman/5.1/en/replication-features-variables.html ... "The storage_engine system variable is not replicated, which is a good thing for replication between different storage engines." ... Before the patch, mysqlslap was behaving this way: +-------------------------------+--------+-------------+ | | single | replication | +-------------------------------+--------+-------------+ | Before patch | +-------------------------------+--------+-------------+ | --engine[1] | +-----+-------------------------+--------+-------------+ | 1.1 | eng1 | OK | Not OK | | 1.2 | eng1,eng2 | OK | Not OK | | 1.3 | eng1,eng2,eng3 | OK | Not OK | | 1.4 | memory:option | OK | Not OK | | 1.5 | memory:option,eng1 | OK | Not OK | | 1.6 | eng1,memory:option | Not OK | Not OK | | 1.7 | memory:option,eng1,eng2 | Crash | Not OK | | 1.8 | eng1,memory:option,eng2 | OK | Not OK | | 1.9 | eng1,eng2,memory:option | Not OK | Not OK | +-----+-------------------------+--------+-------------+ +-------------------------------+--------+-------------+ | --create --engine[2] | +-----+-------------------------+--------+-------------+ | 2.1 | eng1 | OK | Not OK | | 2.2 | eng1,eng2 | OK | Not OK | | 2.3 | eng1,eng2,eng3 | OK | Not OK | | 2.4 | memory:option | Not OK | Not OK | | 2.5 | memory:option,eng1 | Not OK | Not OK | | 2.6 | eng1,memory:option | Not OK | Not OK | | 2.7 | memory:option,eng1,eng2 | Crash | Not OK | | 2.8 | eng1,memory:option,eng2 | Not OK | Not OK | | 2.9 | eng1,eng2,memory:option | Not OK | Not OK | +-----+-------------------------+--------+-------------+ After my final patch, mysqlslap now runs like this: +-------------------------------+--------+-------------+ | | single | replication | +-------------------------------+--------+-------------+ | After third patch | +-------------------------------+--------+-------------+ | --engine[1] | +-----+-------------------------+--------+-------------+ | 1.1 | eng1 | OK | OK | | 1.2 | eng1,eng2 | OK | OK | | 1.3 | eng1,eng2,eng3 | OK | OK | | 1.4 | memory:option | OK | OK | | 1.5 | memory:option,eng1 | OK | OK | | 1.6 | eng1,memory:option | OK | OK | | 1.7 | memory:option,eng1,eng2 | OK | OK | | 1.8 | eng1,memory:option,eng2 | OK | OK | | 1.9 | eng1,eng2,memory:option | OK | OK | +-----+-------------------------+--------+-------------+ +-------------------------------+--------+-------------+ | --create --engine[2] | +-----+-------------------------+--------+-------------+ | 2.1 | eng1 | OK | OK | | 2.2 | eng1,eng2 | OK | OK | | 2.3 | eng1,eng2,eng3 | OK | OK | | 2.4 | memory:option | OK | OK | | 2.5 | memory:option,eng1 | OK | OK | | 2.6 | eng1,memory:option | OK | OK | | 2.7 | memory:option,eng1,eng2 | OK | OK | | 2.8 | eng1,memory:option,eng2 | OK | OK | | 2.9 | eng1,eng2,memory:option | OK | OK | +-----+-------------------------+--------+-------------+
-
- 07 Sep, 2009 2 commits
- 06 Sep, 2009 1 commit
-
-
Sergey Petrunya authored
-
- 04 Sep, 2009 2 commits
-
-
unknown authored
- PBXT fixes. - MBug#423035 fix. - Compiler warning fixes.
-
unknown authored
- Silence a compiler warning. - Don't build pbms object files now that we disabled pbms. storage/pbxt/src/Makefile.am: We disabled PBMS, so don't build it. storage/pbxt/src/datalog_xt.cc: Silence a warning about signed/unsigned comparison.
-
- 03 Sep, 2009 5 commits
-
-
Michael Widenius authored
Added (rewritten) patch from Percona to get extended statistics in slow.log: - Added handling of 'set' variables to set_var.cc. Changed sql_mode to use this - Added extra logging to slow log of 'Thread_id, Schema, Query Cache hit, Rows sent and Rows examined' - Added optional logging to slow log, through log_slow_verbosity, of query plan statistics - Added new user variables log_slow_rate_limit, log_slow_verbosity, log_slow_filter - Added log-slow-file as synonym for 'slow-log-file', as most slow-log variables starts with 'log-slow' - Added log-slow-time as synonym for long-query-time Some trivial MyISAM optimizations: - In prepare for drop, flush key blocks - Don't call mi_lock_database if my_disable_locking is used ****** Automatic merge with trunc ****** Updated documentation files to reflect MariaDB and not the Maria storage engine or MySQL Added (rewritten) patch from Percona to get extended statistics in slow.log: - Added handling of 'set' variables to set_var.cc. Changed sql_mode to use this - Added extra logging to slow log of 'Thread_id, Schema, Query Cache hit, Rows sent and Rows examined' - Added optional logging to slow log, through log_slow_verbosity, of query plan statistics - Added new user variables log_slow_rate_limit, log_slow_verbosity, log_slow_filter - Added log-slow-file as synonym for 'slow-log-file', as most slow-log variables starts with 'log-slow' - Added log-slow-time as synonym for long-query-time Some trivial MyISAM optimizations: - In prepare for drop, flush key blocks - Don't call mi_lock_database if my_disable_locking is used KNOWN_BUGS.txt: Updated file to reflect MariaDB and not the Maria storage engine ****** Updated file to reflect MariaDB and not the Maria storage engine README: Updated file to reflect MariaDB ****** Updated file to reflect MariaDB mysql-test/r/log_slow.result: Test new options for slow query log ****** Test new options for slow query log mysql-test/r/variables.result: Updated result (old version cut of things at 79 characters) ****** Updated result (old version cut of things at 79 characters) mysql-test/t/log_slow.test: Test new options for slow query log ****** Test new options for slow query log sql/Makefile.am: Added log_slow.h ****** Added log_slow.h sql/event_data_objects.cc: Removed not needed test for enable_slow_log (is done when the flag is tested elsewhere) ****** Removed not needed test for enable_slow_log (is done when the flag is tested elsewhere) sql/events.cc: Use the general make_set() function instead of 'symbolic_mode_representation' ****** Use the general make_set() function instead of 'symbolic_mode_representation' sql/filesort.cc: Added status for used query plans ****** Added status for used query plans sql/log.cc: Reset counters if no query_length (from Percona's patch; Not sure if needed, but can do no harm) Added extra logging to slow log of 'Thread_id, Schema, Query Cache hit, Rows sent and Rows examined' Added optional logging to slow log, through log_slow_verbosity, of query plan statistics Fixed wrong test of error condition ****** Reset counters if no query_length (from Percona's patch; Not sure if needed, but can do no harm) Added extra logging to slow log of 'Thread_id, Schema, Query Cache hit, Rows sent and Rows examined' Added optional logging to slow log, through log_slow_verbosity, of query plan statistics Fixed wrong test of error condition sql/log_slow.h: Defines and variables for log_slow_verbosity and log_slow_filter ****** Defines and variables for log_slow_verbosity and log_slow_filter sql/mysql_priv.h: Include log_slow.h ****** Include log_slow.h sql/mysqld.cc: Added new user variables log_slow_rate_limit, log_slow_verbosity, log_slow_filter Added log-slow-file as synonym for 'slow-log-file', as most slow-log variables starts with 'log-slow' Added log-slow-time as synonym for long-query-time Added note that one should use log-slow-filter instead of log-slow-admin-statements Updated comment from 'slow_query_log_file' ****** Added new user variables log_slow_rate_limit, log_slow_verbosity, log_slow_filter Added log-slow-file as synonym for 'slow-log-file', as most slow-log variables starts with 'log-slow' Added log-slow-time as synonym for long-query-time Added note that one should use log-slow-filter instead of log-slow-admin-statements Updated comment from 'slow_query_log_file' sql/set_var.cc: Added long_slow_time as synonym for long_query_time Added new user variables log_slow_rate_limit, log_slow_verbosity, log_slow_filter dded handling of 'set' variables to set_var.cc. Changed sql_mode to use this ****** Added long_slow_time as synonym for long_query_time Added new user variables log_slow_rate_limit, log_slow_verbosity, log_slow_filter dded handling of 'set' variables to set_var.cc. Changed sql_mode to use this sql/set_var.h: - Added handling of 'set' variables. Changed sql_mode to use this ****** - Added handling of 'set' variables. Changed sql_mode to use this sql/slave.cc: Use global filter also for slaves ****** Use global filter also for slaves sql/sp_head.cc: Simplify saving of general_slow_log state Use the general make_set() function instead of 'symbolic_mode_representation' ****** Simplify saving of general_slow_log state Use the general make_set() function instead of 'symbolic_mode_representation' sql/sql_cache.cc: Added status for used query plans ****** Added status for used query plans sql/sql_class.cc: Remember/restore query_plan_flags over complex statements ****** Remember/restore query_plan_flags over complex statements sql/sql_class.h: Added variables to handle extended slow log statistics ****** Added variables to handle extended slow log statistics sql/sql_parse.cc: Added status for used query plans Added test for filtering slow_query_log ****** Added status for used query plans Added test for filtering slow_query_log sql/sql_select.cc: Added status for used query plans ****** Added status for used query plans sql/sql_show.cc: Use the general make_set() function instead of 'symbolic_mode_representation' ****** Use the general make_set() function instead of 'symbolic_mode_representation' sql/strfunc.cc: Report first error (not last) if something is wrong in a set Removed compiler warning ****** Report first error (not last) if something is wrong in a set Removed compiler warning storage/myisam/mi_extra.c: In prepare for drop, flush key blocks (speed optimization) ****** In prepare for drop, flush key blocks (speed optimization) storage/myisam/mi_locking.c: Don't call mi_lock_database if my_disable_locking is used (speed optimization) ****** Don't call mi_lock_database if my_disable_locking is used (speed optimization)
-
Michael Widenius authored
Added (rewritten) patch from Percona to get extended statistics in slow.log: - Added handling of 'set' variables to set_var.cc. Changed sql_mode to use this - Added extra logging to slow log of 'Thread_id, Schema, Query Cache hit, Rows sent and Rows examined' - Added optional logging to slow log, through log_slow_verbosity, of query plan statistics - Added new user variables log_slow_rate_limit, log_slow_verbosity, log_slow_filter - Added log-slow-file as synonym for 'slow-log-file', as most slow-log variables starts with 'log-slow' - Added log-slow-time as synonym for long-query-time Some trivial MyISAM optimizations: - In prepare for drop, flush key blocks - Don't call mi_lock_database if my_disable_locking is used KNOWN_BUGS.txt: Updated file to reflect MariaDB and not the Maria storage engine README: Updated file to reflect MariaDB mysql-test/r/log_slow.result: Test new options for slow query log mysql-test/r/variables.result: Updated result (old version cut of things at 79 characters) mysql-test/t/log_slow.test: Test new options for slow query log sql/Makefile.am: Added log_slow.h sql/event_data_objects.cc: Removed not needed test for enable_slow_log (is done when the flag is tested elsewhere) sql/events.cc: Use the general make_set() function instead of 'symbolic_mode_representation' sql/filesort.cc: Added status for used query plans sql/log.cc: Reset counters if no query_length (from Percona's patch; Not sure if needed, but can do no harm) Added extra logging to slow log of 'Thread_id, Schema, Query Cache hit, Rows sent and Rows examined' Added optional logging to slow log, through log_slow_verbosity, of query plan statistics Fixed wrong test of error condition sql/log_slow.h: Defines and variables for log_slow_verbosity and log_slow_filter sql/mysql_priv.h: Include log_slow.h sql/mysqld.cc: Added new user variables log_slow_rate_limit, log_slow_verbosity, log_slow_filter Added log-slow-file as synonym for 'slow-log-file', as most slow-log variables starts with 'log-slow' Added log-slow-time as synonym for long-query-time Added note that one should use log-slow-filter instead of log-slow-admin-statements Updated comment from 'slow_query_log_file' sql/set_var.cc: Added long_slow_time as synonym for long_query_time Added new user variables log_slow_rate_limit, log_slow_verbosity, log_slow_filter dded handling of 'set' variables to set_var.cc. Changed sql_mode to use this sql/set_var.h: - Added handling of 'set' variables. Changed sql_mode to use this sql/slave.cc: Use global filter also for slaves sql/sp_head.cc: Simplify saving of general_slow_log state Use the general make_set() function instead of 'symbolic_mode_representation' sql/sql_cache.cc: Added status for used query plans sql/sql_class.cc: Remember/restore query_plan_flags over complex statements sql/sql_class.h: Added variables to handle extended slow log statistics sql/sql_parse.cc: Added status for used query plans Added test for filtering slow_query_log sql/sql_select.cc: Added status for used query plans sql/sql_show.cc: Use the general make_set() function instead of 'symbolic_mode_representation' sql/strfunc.cc: Report first error (not last) if something is wrong in a set Removed compiler warning storage/myisam/mi_extra.c: In prepare for drop, flush key blocks (speed optimization) storage/myisam/mi_locking.c: Don't call mi_lock_database if my_disable_locking is used (speed optimization)
-
unknown authored
Add suppressions for a few warnings that cannot be meaningfully fixed by MariaDB developers. Changes for XtraDB, PBXT, and YaSSL also submitted upstream. Also add a `ccfilter` wrapper that can be used to filter out suppressed warnings in a local build (to check that new warnings are not introduced). client/mysqlbinlog.cc: Fix compiler warnings. config/ac-macros/misc.m4: Fix wrong naming, autoconfig requires _cv_ in cached names. extra/yassl/include/yassl_int.hpp: Fix compiler warnings. extra/yassl/src/handshake.cpp: Fix compiler warnings. extra/yassl/src/yassl_imp.cpp: Fix compiler warnings. extra/yassl/src/yassl_int.cpp: Fix compiler warnings. extra/yassl/taocrypt/include/modes.hpp: Fix compiler warnings. extra/yassl/taocrypt/src/asn.cpp: Fix compiler warnings. mysys/my_compress.c: Fix compiler warnings. sql/mysqld.cc: Fix compiler warnings. sql/strfunc.cc: Fix compiler warnings. storage/pbxt/src/discover_xt.cc: Fix compiler warnings. storage/xtradb/fil/fil0fil.c: Fix compiler warnings. storage/xtradb/mtr/mtr0mtr.c: Fix compiler warnings. storage/xtradb/srv/srv0srv.c: Fix compiler warnings. storage/xtradb/srv/srv0start.c: Fix compiler warnings. strings/decimal.c: Fix compiler warnings. support-files/ccfilter: Add helper for suppressing compiler warnings in local developer source tree. Allows to check for not introducing new warnings into Buildbot without having to actually run the build through Buildbot. support-files/compiler_warnings.supp: Suppress a few warnings that cannot be meaningfully fixed in source code.
-
unknown authored
Fix parsing of invalid plugin enum option value. Previous patch to fix plugin enum option parsing on big-endian introduced another bug due to incorrect comparison of unsigned value. This would cause an incorrect value to be parsed as value 0. See also MySQL Bug#41010 and Bug#32034. mysql-test/mysql-test-run.pl: Add a facility for test case to run the mysqld binary (to test that invalid startup options are rejected correctly). mysql-test/r/mysqld_option_err.result: Add a test case to check that invalid startup options for mysqld are rejected. This is needed to test MBug#423035. Also add a few other similar tests, as this was completely untested before this patch. mysql-test/t/mysqld_option_err.test: Add a test case to check that invalid startup options for mysqld are rejected. This is needed to test MBug#423035. Also add a few other similar tests, as this was completely untested before this patch. mysys/my_getopt.c: Fix parsing of invalid plugin enum option value.
-
Paul McCullagh authored
Fixed a bug that caused MySQL to crash on shutdown, if startup fails due to an incorrect command line parameter
-
- 02 Sep, 2009 2 commits
-
-
Sergey Petrunya authored
Pre-push merge to main. This should give the complete WL entry diff.
-
Sergey Petrunya authored
-
- 01 Sep, 2009 4 commits
-
-
Sergey Petrunya authored
-
Sergey Petrunya authored
-
Sergey Petrunya authored
- Address review feedback R4: better comments, formatting
-
Sergey Petrunya authored
- Add strmov_overlapp.c where it's needed - Add libevent where it is required - Fix typo in unittest/mysys/waiting_threads-t.c - fix xtradb C language source so that they have variable declarations before any operators, as it is (or was?) required in C. libmysql/CMakeLists.txt: - Add strmov_overlapp.c where it's needed sql/CMakeLists.txt: - Add strmov_overlapp.c where it's needed - Add libevent where it is required storage/xtradb/btr/btr0cur.c: - fix xtradb C language source so that they have variable declarations before any operators, as it is (or was?) required in C. storage/xtradb/buf/buf0buddy.c: - fix xtradb C language source so that they have variable declarations before any operators, as it is (or was?) required in C. storage/xtradb/buf/buf0flu.c: - fix xtradb C language source so that they have variable declarations before any operators, as it is (or was?) required in C. storage/xtradb/fil/fil0fil.c: - fix xtradb C language source so that they have variable declarations before any operators, as it is (or was?) required in C. storage/xtradb/handler/i_s.cc: - fix xtradb C language source so that they have variable declarations before any operators, as it is (or was?) required in C. storage/xtradb/srv/srv0srv.c: - fix xtradb C language source so that they have variable declarations before any operators, as it is (or was?) required in C. strings/CMakeLists.txt: - Add strmov_overlapp.c where it's needed unittest/mysys/waiting_threads-t.c: - Fix typo in unittest/mysys/waiting_threads-t.c
-
- 31 Aug, 2009 3 commits
-
-
Sergey Petrunya authored
- Addressing review feedback, generation 4. include/my_global.h: Make ALIGN_PTR's action correspond to that of ALIGN_SIZE sql/item.cc: MWL#17: Table-elimination - Review feedback: function renames, better comments sql/item.h: MWL#17: Table-elimination - Review feedback: function renames, better comments sql/item_cmpfunc.cc: MWL#17: Table-elimination - Review feedback: function renames, better comments sql/item_subselect.cc: MWL#17: Table-elimination - Review feedback: function renames, better comments sql/item_subselect.h: MWL#17: Table-elimination - Review feedback: function renames, better comments sql/opt_table_elimination.cc: MWL#17: Table-elimination - Addressing review feedback, generation 4: abstract everything in case we would need to change it for something else in the future. sql/sql_list.h: MWL#17: Table-elimination - Introduce exchange_sort(List<T> ...) template function sql/sql_select.cc: MWL#17: Table-elimination - Review feedback: function renames, better comments
-
unknown authored
Includes disabling PBMS (per Paul's recommendation) and test file fixes. Signed-off-by: Kristian Nielsen <knielsen@knielsen-hq.org>
-
unknown authored
- Disable PBMS in MariaDB (as per recommendation of Paul). - Add missing *-master.opt files to make testsuite work on case-sensitive file systems. - Result file updates.
-
- 29 Aug, 2009 2 commits
- 26 Aug, 2009 1 commit
-
-
Sergey Petrunya authored
- Fix a trivial problem when OR-merging two multi-equalities - Amend testsuite to provide full gcov coverage mysql-test/r/table_elim.result: MWL#17: Table elimination: - Amend testsuite to provide full gcov coverage mysql-test/t/table_elim.test: MWL#17: Table elimination: - Amend testsuite to provide full gcov coverage
-
- 25 Aug, 2009 4 commits
-
-
Sergey Petrunya authored
- add process-gcov-annotations.pl script that processes .gcov files according to purecov annotations in source code - add --gcov-src-dir=subdir option to mysql-test-run so that one can do gcov processing only for source files in a certain directory.
-
Sergey Petrunya authored
- Mark gcov deadcode
-
Sergey Petrunya authored
- More test coverage - Remove unused code
-
Sergey Petrunya authored
- Add more testcases. - Fix trivial compile failure - Remove handling of "column IN (one_element)". This is converted to equality elsewhere mysql-test/r/table_elim.result: MWL#17: Table elimination - Add more testcases. - Fix trivial compile failure mysql-test/t/table_elim.test: MWL#17: Table elimination - Add more testcases sql/mysqld.cc: MWL#17: Table elimination - Fix trivial compile failure sql/opt_table_elimination.cc: MWL#17: Table elimination - Add more testcases. - Remove handling of "column IN (one_element)".This is converted to equality elsewhere
-
- 24 Aug, 2009 2 commits
-
-
Sergey Petrunya authored
- Add an @@optimizer_switch flag for table_elimination for debug build - Better comments mysql-test/t/index_merge_myisam.test: MWL#17: Table elimination: last fixes - Add an @@optimizer_switch flag for table_elimination for debug build sql/mysql_priv.h: MWL#17: Table elimination: last fixes - Add an @@optimizer_switch flag for table_elimination for debug build sql/mysqld.cc: MWL#17: Table elimination: last fixes - Add an @@optimizer_switch flag for table_elimination for debug build
-
Sergey Petrunya authored
- Correctly handle the case where we have multi-table DELETE and a table that we're deleting from looks like it could be eliminated.
-
- 21 Aug, 2009 2 commits
-
-
Sergey Petrunya authored
- Remove a piece of code that's not needed anymore.
-
Sergey Petrunya authored
- More testcases - Set correct dependencies for non-bound multi-equalities. mysql-test/r/table_elim.result: MWL#17: Table elimination - More testcases mysql-test/t/table_elim.test: MWL#17: Table elimination - More testcases sql/opt_table_elimination.cc: MWL#17: Table elimination - Set correct dependencies for non-bound multi-equalities.
-
- 20 Aug, 2009 1 commit
-
-
Sergey Petrunya authored
- Multiple-equality handling
-
- 19 Aug, 2009 2 commits
-
-
Sergey Petrunya authored
-
Sergey Petrunya authored
- Use Table_elimination only for functional dependency checking for individual objects and rename it to Func_dep_analyzer
-
- 18 Aug, 2009 5 commits
-
-
Sergey Petrunya authored
-
Sergey Petrunya authored
- Better comments - Switch from "type" enum and switch to virtual functions for member funcs.
-
Sergey Petrunya authored
- Code cleanup
-
Sergey Petrunya authored
- Switch from trying to eliminate all tables at once (which didn't work) to the original approach of bottom-up elimination.
-
Paul McCullagh authored
-
- 17 Aug, 2009 1 commit
-
-
Sergey Petrunya authored
- More testcases
-