summaryrefslogtreecommitdiff
path: root/sql/mysqld.cc
Commit message (Collapse)AuthorAgeFilesLines
* Bug#42610 Dynamic plugin broken in 5.1.31Sergey Glukhov2009-02-091-2/+10
| | | | | | | | | | | | | | | | | | | | | | | | added ignore-builtin-innodb option which disabled initialization of builtin InnoDB plugin mysql-test/r/innodb_ignore_builtin.result: test case mysql-test/t/innodb_ignore_builtin-master.opt: test case mysql-test/t/innodb_ignore_builtin.test: test case sql/mysql_priv.h: added ignore-builtin-innodb option which disabled initialization of builtin InnoDB plugin sql/mysqld.cc: added ignore-builtin-innodb option which disabled initialization of builtin InnoDB plugin sql/set_var.cc: added ignore-builtin-innodb option which disabled initialization of builtin InnoDB plugin sql/sql_plugin.cc: added ignore-builtin-innodb option which disabled initialization of builtin InnoDB plugin
* Bug#31177: Server variables can't be set to their current valuesTatiana A. Nurnberg2009-01-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bounds-checks and blocksize corrections were applied to user-input, but constants in the server were trusted implicitly. If these values did not actually meet the requirements, the user could not set change a variable, then set it back to the (wonky) factory default or maximum by explicitly specifying it (SET <var>=<value> vs SET <var>=DEFAULT). Now checks also apply to the server's presets. Wonky values and maxima get corrected at startup. Consequently all non-offsetted values the user sees are valid, and users can set the variable to that exact value if they so desire. mysql-test/r/read_buffer_size_basic.result: test sets out of bounds value; we now throw a warning for this. This is a side-effect: before, the maximum was higher than the value we set here. The value was corrected to block-size, the maximum was not, hence the value was smaller than the maximum in this particular case. Now that we align the maxima at startup, the value in SET is larger than the (corrected) maximum, and we see a warning in this particular case. "This means we're doing it right." mysql-test/r/read_rnd_buffer_size_basic.result: test sets out of bounds value; we now throw a warning for this. This is a side-effect: before, the maximum was higher than the value we set here. The value was corrected to block-size, the maximum was not, hence the value was smaller than the maximum in this particular case. Now that we align the maxima at startup, the value in SET is larger than the (corrected) maximum, and we see a warning in this particular case. "This means we're doing it right." mysys/my_getopt.c: Do bounds-checking at start-up time so we'll catch and correct wonky default values and upper limits. sql/mysqld.cc: If 0 is a legal value per the docs, not to mention the default, we shouldn't give 1 as the lower limit. storage/innobase/handler/ha_innodb.cc: We are setting upper bounds here. ~0L gives -1. That is NOT what we want!
* fix misspellingVladislav Vaintroub2009-01-071-1/+1
|
* merged 5.1-main -> 5.1-bugteamGeorgi Kodinov2009-01-051-1/+1
|\
| * Merge main 5.1 into 5.1-buildJoerg Bruehe2008-12-101-34/+28
| |\
| * \ Merge from mysql-5.1.30-releaseunknown2008-11-271-1/+1
| |\ \
| | * | Added "Sun Microsystems, Inc." to copyright headers on files modifiedBuild Team2008-11-101-1/+1
| | | | | | | | | | | | | | | | | | | | since Oct 1st
* | | | 5.0-bugteam->5.1-bugteam mergeSergey Glukhov2008-12-291-0/+9
|\ \ \ \
| * | | | Bug#41131 "Questions" fails to increment - ignores statements instead stored ↵Sergey Glukhov2008-12-291-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | procs(5.0 ver) Added global status variable 'Queries' which represents total amount of queries executed by server including statements executed by SPs. note: It's old behaviour of 'Questions' variable. mysql-test/r/status.result: test result mysql-test/t/status.test: test case sql/mysqld.cc: Added global status variable 'Queries' which represents total amount of queries executed by server including statements executed by SPs. note: It's old behaviour of 'Questions' variable. sql/sql_show.cc: Added global status variable 'Queries' which represents total amount of queries executed by server including statements executed by SPs. note: It's old behaviour of 'Questions' variable. sql/structs.h: Added global status variable 'Queries' which represents total amount of queries executed by server including statements executed by SPs. note: It's old behaviour of 'Questions' variable.
* | | | | 5.0-bugteam->5.1-bugteam mergeSergey Glukhov2008-12-241-1/+1
|\ \ \ \ \ | |/ / / /
| * | | | compiler warning fixSergey Glukhov2008-12-241-1/+1
| | | | |
* | | | | 5.0-bugteam->5.1-bugteam mergeSergey Glukhov2008-12-231-0/+42
|\ \ \ \ \ | |/ / / /
| * | | | Bug#37575 UCASE fails on monthnameSergey Glukhov2008-12-231-0/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The MONTHNAME/DAYNAME functions returns binary string, so the LOWER/UPPER functions are not effective on the result of MONTHNAME/DAYNAME call. Character set of the MONTHNAME/DAYNAME function result has been changed to connection character set. include/m_ctype.h: added my_charset_repertoire function mysql-test/r/ctype_ucs.result: test result mysql-test/r/func_time.result: test result mysql-test/t/ctype_ucs.test: test case mysql-test/t/func_time.test: test case sql/item_timefunc.cc: Item_func_monthname::fix_length_and_dec and Item_func_dayname::fix_length_and_dec methods have been modified to use connection character set sql/item_timefunc.h: Item_func_monthname::fix_length_and_dec and Item_func_dayname::fix_length_and_dec methods have been modified to use connection character set sql/mysql_priv.h: added max_month_name_length, max_day_name_length fields into MY_LOCALE struct sql/mysqld.cc: The test_lc_time_sz function controls modifications of the locale database in debugging mode. sql/sql_locale.cc: initialization of max_month_name_length, max_day_name_length fields strings/ctype.c: added my_charset_repertoire function
* | | | | Bug#24289 Status Variable "Questions" gets wrong values with Stored ↵Sergey Glukhov2008-12-171-7/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Routines(for 5.1) mysql-test/r/myisampack.result: result fix mysql-test/t/myisampack.test: test case fix
* | | | | Bug#39750 -cannot create temp file on Windows.Vladislav Vaintroub2008-12-051-0/+16
| |_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The problem appears often in conjuction with temp files, when temp-pool is used, so that names of temp files are not unique. The reason is that rapid deletiion and creation of fiiles with the same name on Windows is not guaranteed to succeed. File disappears from the file system only when the last handle to it is closed. If for example a virus scanner, a backup or indexing application opens the temp file just before MySQL deletes it, the file will enter "delete pending" state. In this state,it is not possible to open the file , or create a file with the same name (CreateFile returns ERROR_ACCESS_DENED, posix open returns EACESS) Fix (rather a cheap workarounf) is not to use temp-pool when working with temporary files- this will make filenames unique. With this patch , temp- pool setting will be ignored on anything but Linux(the option only made sense for Linux since its invention anyway).
* | | | Bug#38522: 5 seconds delay when closing application using embedded serverVladislav Vaintroub2008-12-041-22/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The problem here is that embedded server starts handle_thread manager thread on mysql_library_init() does not stop it on mysql_library_end(). At shutdown, my_thread_global_end() waits for thread count to become 0, but since we did not stop the thread it will give up after 5 seconds. Solution is to move shutdown for handle_manager thread from kill_server() (mysqld specific) to clean_up() that is used by both embedded and mysqld. This patch also contains some refactorings - to avoid duplicate code, start_handle_manager() and stop_handle_manager() functions are introduced. Unused variables are eliminated. handle_manager does not rely on global variable abort_loop anymore to stop (abort_loop is not set for embedded). Note: Specifically on Windows and when using DBUG version of libmysqld, the complete solution requires removing obsolete code my_thread_init() from my_thread_var(). This has a side effect that a DBUG statement after my_thread_end() can cause thread counter to be incremented, and embedded will hang for some seconds. Or worse, my_thread_init() will crash if critical sections have been deleted by the global cleanup routine that runs in a different thread. This patch also fixes and revert prior changes for Bug#38293 "Libmysqld crash in mysql_library_init if language file missing". Root cause of the crash observed in Bug#38293 was bug in my_thread_init() described above client/mysql.cc: sql_protocol_typelib is not exported from libmysqld (does not make sense either) thus excluded from embedded client dbug/dbug.c: revert changes for Bug#38293 include/my_dbug.h: revert changes for Bug#38293 libmysql/libmysql.c: Removed DBUG_POP call, because when called after my_end(), will access THR_key_mysys that is already deleted. The result of pthread_get_specific is not predictable in this case and hence DBUG_POP can crash. libmysqld/examples/CMakeLists.txt: Revert changes for Bug#38293. libmysqld/lib_sql.cc: code to start handle manager is factored out into start_handle_manager() function libmysqld/libmysqld.def: Revert changes for Bug #38293 Remove excessive exports from libmysqld, export what API documents. mysys/my_thr_init.c: Remove windows-DLL-specific workaround for something (old code, no documentation for what specifically). The problem is that even after my_thread_end() is finished, DBUG statement can initiate my_thread_init(). This does not happen anywhere else and should not happen on Windows either. sql/mysql_priv.h: - new functions start_handle_manager() and stop_handle_manager() - move manager_thread_in_use variable to sql_manager.cc and made it static - remove manager_status, as it is unused sql/mysqld.cc: Code to start/stop handle_manager thread is factored out into start_handle_manager()
* | | | merged bug 37339 to 5.1-bugteamGeorgi Kodinov2008-11-281-0/+2
|\ \ \ \ | |/ / /
| * | | merged bug 37339 to 5.0-bugteamGeorgi Kodinov2008-11-281-0/+2
| |\ \ \
| | * | | Bug #37339: SHOW VARIABLES not working properly with multi-byte datadirGeorgi Kodinov2008-11-281-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The SHOW VARIABLES LIKE .../SELECT @@/SELECT ... FROM INFORMATION_SCHEMA.VARIABLES were assuming that all the system variables are in system charset (UTF-8). However the variables that are settable through command line will have a different character set (character_set_filesystem). Fixed the server to remember the correct character set of basedir, datadir, tmpdir, ssl, plugin_dir, slave_load_tmpdir, innodb variables; init_connect and init_slave variables and use it when processing data. mysql-test/r/ctype_filesystem.result: Bug #37339: test case (should be in utf-8) mysql-test/t/ctype_filesystem-master.opt: Bug #37339: test case (should be in ISO-8859-1) mysql-test/t/ctype_filesystem.test: Bug #37339: test case sql/mysqld.cc: Bug #37339: remember the correct character set for init_slave and init_connect sql/set_var.cc: Bug #37339: - remember the character set of the relevant variables - implement storing and using the correct character set sql/set_var.h: Bug #37339: implement storing and using the correct character set sql/sql_show.cc: Bug #37339: implement storing and using the correct character set
* | | | | mergeVladislav Vaintroub2008-11-221-12/+21
|\ \ \ \ \
| * | | | | warning of notused function fixedAlexey Botchkov2008-11-211-1/+1
| | | | | |
| * | | | | mergingAlexey Botchkov2008-11-191-11/+20
| |\ \ \ \ \ | | |_|_|/ / | |/| | | |
| | * | | | Bug#38293 Libmysqld crash in mysql_library_init if language file missingAlexey Botchkov2008-11-191-11/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | That's a Win-specific error. When we create libmysqld.dll we have many libraries like mysys, dbug, strings, etc linked into that dll, so the application built upon this library shouldn't link these libraries to itself, rather use those inside the dll. Fixed by redirecting calls into the libmysqld.dll per-file comments: dbug/dbug.c Bug#38293 Libmysqld crash in mysql_library_init if language file missing fake _db_something definitions added include/my_dbug.h Bug#38293 Libmysqld crash in mysql_library_init if language file missing fake _db_something declarations added libmysqld/examples/CMakeLists.txt Bug#38293 Libmysqld crash in mysql_library_init if language file missing superfluous libraries removed from linking libmysqld/libmysqld.def Bug#38293 Libmysqld crash in mysql_library_init if language file missing set of mysys functions added to the export section
* | | | | | mergeVladislav Vaintroub2008-11-221-0/+3
|\ \ \ \ \ \ | |/ / / / / |/| | / / / | | |/ / / | |/| | |
| * | | | Bug #20430 mysqld.exe windows service stuck in "SERVICE_STOP_PENDING"Vladislav Vaintroub2008-11-141-0/+3
| | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | status The problem appears to be a race condition, when service is being stopped right after startup. We set the service status to SERVICE_RUNNING way too early it cannot yet handle stop requests - initialization has not finished and hEventShutdown that signals server to stop is not yet created. If somebody issues "net stop MySQL" at this time, MySQL is not informed about the stop and continues to run as usual, while NTService::ServiceMain() stucks forever waiting for mysql's "main" thread to finish. Solution is to remain in SERVICE_START_PENDING status until after server initialization is fully complete and only then change the status to SERVICE_RUNNING. In SERVICE_START_PENDING we do not accept service control requests, i.e it is not possible to stop service in that time. sql/mysqld.cc: Set service status to running after all initialization is complete sql/nt_servc.cc: New method SetRunning() to be called by application to set service status to SERVICE_RUNNING when apllication has finished initialization. sql/nt_servc.h: New method SetRunning() to be called by application when initialization completes
| * | | Bug#24289 Status Variable "Questions" gets wrong values with Stored RoutinesKristofer Pettersson2008-10-091-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When running Stored Routines the Status Variable "Questions" was wrongly incremented. According to the manual it should contain the "number of statements that clients have sent to the server" Introduced a new status variable 'questions' to replace the query_id variable which currently corresponds badly with the number of statements sent by the client. The new behavior is ment to be backward compatible with 4.0 and at the same time work with new features in a similar way. This is a backport from 6.0 mysql-test/r/status2.result: Added test case mysql-test/t/status2.test: Added test case sql/mysqld.cc: Introduced a new status variable 'questions' to replace the query_id variable which currently corresponds badly with the number of statements sent by the client. sql/sql_class.h: Introduced a new status variable 'questions' to replace the query_id variable which currently corresponds badly with the number of statements sent by the client. sql/sql_parse.cc: To be backward compatible with 4.0 and at the same time extend the interpretation of the Question variable, it should be increased on all COM-commands but COM_STATISTICS, COM_PING, COM_STMT_PREPARE, COM_STMT_CLOSE and COM_STMT_RESET. Since COM_QUERY can process multiple statements, there has to be an extra increase there as well. sql/sql_show.cc: Removed deprecated SHOW_QUESTION status code. sql/structs.h: Removed deprecated SHOW_QUESTION status code.
| * | | merging fixAlexey Botchkov2008-08-261-0/+11
| |\ \ \
| | * | | Bug#37428 Potential security issue with UDFs - linux shellcode execution.Sergey Glukhov2008-08-251-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | plugin_dir option backported from 5.1 mysql-test/r/udf.result: result fix sql/mysql_priv.h: opt_plugin_dir and opt_plugin_dir_ptr declared. sql/mysqld.cc: 'plugin_dir' option added sql/set_var.cc: 'plugin_dir' option added. sql/sql_udf.cc: opt_plugin_dir added to the udf->dl path. Warn if it's not specified. sql/unireg.h: PLUGINDIR defined.
* | | | | Bug#39117 "plugin_load" option not documentedTatiana A. Nurnberg2008-11-041-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | correct text describing the --plugin-load option to mysqld sql/mysqld.cc: correct text describing the --plugin-load option to mysqld
* | | | | merged 5.1-main -> 5.1-bugteamGeorgi Kodinov2008-10-131-4/+0
|\ \ \ \ \ | | |_|_|/ | |/| | |
| * | | | WL4403: --general_log and --slow_query_log don't turn on the logging.Georgi Kodinov2008-10-091-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | | Fixed a compilation warning
* | | | | Merge 5.1-bugteam -> local bugfix branchMarc Alff2008-10-071-18/+42
|\ \ \ \ \ | |/ / / /
| * | | | merged 5.1-5.1.29-rc -> bug 39812Georgi Kodinov2008-10-071-7/+26
| |\ \ \ \
| | * \ \ \ WL#4403 deprecate @log and @slow_log_queries variablesTatiana A. Nurnberg2008-10-061-7/+26
| | |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adds --general-log-file, --slow-query-log-file command- line options to match system variables of the same names. Deprecates --log, --log-slow-queries command-line option and log, log_slow_queries system-variables for v7.0; they are superseded by general_log/general_log_file and slow_query_log/slow_query_log_file, respectively. mysql-test/r/log_basic.result: Change deprecated system variable "log" to general log. mysql-test/r/log_bin_trust_routine_creators_basic.result: Change deprecation warning so it's more obvious we're referring to a variable. mysql-test/r/log_state.result: Show that all log-related server variables that should throw deprecation warnings do, and the others don't. mysql-test/r/warnings.result: Change deprecation warning so it's more obvious we're referring to a variable. mysql-test/suite/rpl/r/rpl_sp.result: Change deprecation warning so it's more obvious we're referring to a variable. mysql-test/t/log_basic.test: Change deprecated system variable "log" to general log. mysql-test/t/log_state.test: Show that all log-related server variables that should throw deprecation warnings do, and the others don't. sql/mysqld.cc: Add command-line options --general-log-file and --slow-query-log-file to match server options of the same name. Deprecated --log and --log-slow-queries command-line options; they are superseded by --general-log/ --general-log-file and --slow-query-log/--slow-query-log-file, respectively sql/set_var.cc: Deprecate system-variables log in favour of general_log, log_slow_queries in favour of slow_query_log for 7.0, both for value- and DEFAULT-setting.
| | | * | | | WL#4403 deprecate @log and @slow_log_queries variablesTatiana A. Nurnberg2008-10-061-5/+21
| | | | |_|/ | | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adds --general_log_file, --slow_query_log_file command- line options to match system variables of the same names. Deprecates --log, --log-slow-queries command-line options and log, log_slow_queries system-variables for v7.0; they are superseded by general_log/general_log_file and slow_query_log/slow_query_log_file, respectively. mysql-test/r/log_basic.result: Change deprecated system variable "log" to general log. mysql-test/r/log_state.result: Show that all log-related server variables that should throw deprecation warnings do, and the others don't. mysql-test/t/log_basic.test: Change deprecated system variable "log" to general log. mysql-test/t/log_state.test: Show that all log-related server variables that should throw deprecation warnings do, and the others don't. sql/mysqld.cc: Add command-line options --general_log_file and --slow_query_log_file to match server options of the same name. Deprecated --log and --log-slow-queries command-line options; they are superseded by --general-log/ --general-log-file and --slow-query-log/--slow-query-log-file, respectively sql/set_var.cc: Deprecate system-variables log in favour of general_log, log_slow_queries in favour of slow_query_log for 7.0, both for value- and DEFAULT-setting.
| * | | | | merged 5.1-5.1.29-rc -> bug 38912Georgi Kodinov2008-10-071-1/+1
| |\ \ \ \ \ | | |/ / / /
| | * | | | Bug #38370: The test ndb.ndb_index_ordered fails with the community features onGeorgi Kodinov2008-10-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The problem was caused by a wrong merge. Fixed by enabling the correct ndb variables initialization. mysql-test/suite/ndb/t/disabled.def: Bug #38370: remove disabled test case sql/mysqld.cc: Bug #38370: corrected a wrong merge to have all the NDB variables intiialized correctly
| * | | | | Bug #39812: Make statement replication default for 5.1 (to match 5.0)Georgi Kodinov2008-10-031-9/+11
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make STMT replication default for 5.1. Add a default of MIXED into the config files Fix the tests that needed MIXED replication mode. mysql-test/include/mix1.inc: Bug #39812: Fix the tests that needed MIXED replication mode. mysql-test/r/innodb-semi-consistent.result: Bug #39812: Fix the tests that needed MIXED replication mode. mysql-test/r/innodb.result: Bug #39812: Fix the tests that needed MIXED replication mode. mysql-test/r/innodb_mysql.result: Bug #39812: Fix the tests that needed MIXED replication mode. mysql-test/r/tx_isolation_func.result: Bug #39812: Fix the tests that needed MIXED replication mode. mysql-test/t/innodb-semi-consistent.test: Bug #39812: Fix the tests that needed MIXED replication mode. mysql-test/t/innodb.test: Bug #39812: Fix the tests that needed MIXED replication mode. mysql-test/t/tx_isolation_func.test: Bug #39812: Fix the tests that needed MIXED replication mode. sql/mysqld.cc: Bug #39812: Make STMT replication default for 5.1. support-files/my-huge.cnf.sh: Bug #39812: Add a default of MIXED into the config files support-files/my-innodb-heavy-4G.cnf.sh: Bug #39812: Add a default of MIXED into the config files support-files/my-large.cnf.sh: Bug #39812: Add a default of MIXED into the config files support-files/my-medium.cnf.sh: Bug #39812: Add a default of MIXED into the config files support-files/my-small.cnf.sh: Bug #39812: Add a default of MIXED into the config files
| * | | | Bug#35164: Large number of invalid pthread_attr_setschedparam callsDavi Arnaut2008-10-011-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bug#37536: Thread scheduling causes performance degradation at low thread count Deprecated --skip-thread-priority startup option as newer versions of the server won't change the thread priorities by default. Giving threads different priorities might yield marginal improvements in some platforms (where it actually works) but on the other hand it might cause significant degradation depending on the thread count and number of processors. Meddling with the thread priorities is a not a safe bet as it is very dependent on the behavior of the cpu scheduler and system where MySQL is being run. From MySQL 6.0 and up the default behavior is that of not modifying the threads priorities. sql/mysqld.cc: Deprecate --skip-thread-priority
* | | | | Bug#36768 (partition_info::check_partition_info() reports mal formedMarc Alff2008-10-061-6/+16
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | warnings) Before this fix, several places in the code would raise a warning with an error code 0, making it impossible for a stored procedure, a connector, or a client application to trigger logic to handle the warning. Also, the warning text was hard coded, and therefore not translated. With this fix, new errors numbers have been created to represent these warnings, and the warning text is coded in the errmsg.txt file.
* | | | Bug#34306: Can't make copy of log tables when server binary log is enabledDavi Arnaut2008-09-291-8/+2
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The problem is that when statement-based replication was enabled, statements such as INSERT INTO .. SELECT FROM .. and CREATE TABLE .. SELECT FROM need to grab a read lock on the source table that does not permit concurrent inserts, which would in turn be denied if the source table is a log table because log tables can't be locked exclusively. The solution is to not take such a lock when the source table is a log table as it is unsafe to replicate log tables under statement based replication. Furthermore, the read lock that does not permits concurrent inserts is now only taken if statement-based replication is enabled and if the source table is not a log table. include/thr_lock.h: Introduce yet another lock type that my get upgraded depending on the binary log format. This is not a optimal solution but can be easily improved later. mysql-test/r/log_tables.result: Add test case result for Bug#34306 mysql-test/suite/binlog/r/binlog_stm_row.result: Add test case result for Bug#34306 mysql-test/suite/binlog/t/binlog_stm_row.test: Add test case for Bug#34306 mysql-test/t/log_tables.test: Add test case for Bug#34306 sql/lock.cc: Assert that TL_READ_DEFAULT is not a real lock type. sql/mysql_priv.h: Export new function. sql/mysqld.cc: Remove using_update_log. sql/sql_base.cc: Introduce function that returns the appropriate read lock type depending on how the statement is going to be replicated. It will only take a TL_READ_NO_INSERT log if the binary is enabled and the binary log format is statement-based and the table is not a log table. sql/sql_parse.cc: Remove using_update_log. sql/sql_update.cc: Use new function to choose read lock type. sql/sql_yacc.yy: The lock type is now decided at open_tables time. This old behavior was actually misleading as the binary log format can be dynamically switched and this would not change for statements that have already been parsed when the binary log format is changed (ie: prepared statements).
* | | mergingAlexey Botchkov2008-08-231-3/+8
|\ \ \ | |/ /
| * | Bug#32167 another privilege bypass with DATA/INDEX DIRECTORY.Alexey Botchkov2008-08-221-3/+8
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | test_if_data_home_dir fixed to look into real path. Checks added to mi_open for symlinks into data home directory. per-file messages: include/my_sys.h Bug#32167 another privilege bypass with DATA/INDEX DIRECTORY. my_is_symlink interface added include/myisam.h Bug#32167 another privilege bypass with DATA/INDEX DIRECTORY. myisam_test_invalid_symlink interface added myisam/mi_check.c Bug#32167 another privilege bypass with DATA/INDEX DIRECTORY. mi_open_datafile calls modified myisam/mi_open.c Bug#32167 another privilege bypass with DATA/INDEX DIRECTORY. code added to mi_open to check for symlinks into data home directory. mi_open_datafile now accepts 'original' file path to check if it's an allowed symlink. myisam/mi_static.c Bug#32167 another privilege bypass with DATA/INDEX DIRECTORY. myisam_test_invlaid_symlink defined myisam/myisamchk.c Bug#32167 another privilege bypass with DATA/INDEX DIRECTORY. mi_open_datafile call modified myisam/myisamdef.h Bug#32167 another privilege bypass with DATA/INDEX DIRECTORY. mi_open_datafile interface modified - 'real_path' parameter added mysql-test/r/symlink.test Bug#32167 another privilege bypass with DATA/INDEX DIRECTORY. error codes corrected as some patch now rejected pointing inside datahome mysql-test/r/symlink.result Bug#32167 another privilege bypass with DATA/INDEX DIRECTORY. error messages corrected in the result mysys/my_symlink.c Bug#32167 another privilege bypass with DATA/INDEX DIRECTORY. my_is_symlink() implementsd my_realpath() now returns the 'realpath' even if a file isn't a symlink sql/mysql_priv.h Bug#32167 another privilege bypass with DATA/INDEX DIRECTORY. test_if_data_home_dir interface sql/mysqld.cc Bug#32167 another privilege bypass with DATA/INDEX DIRECTORY. myisam_test_invalid_symlik set with the 'test_if_data_home_dir' sql/sql_parse.cc Bug#32167 another privilege bypass with DATA/INDEX DIRECTORY. error messages corrected test_if_data_home_dir code fixed
| * Bug#37069 (5.0): implement --skip-federatedGeorgi Kodinov2008-06-031-2/+14
| | | | | | | | | | | | | | | | | | mysql-test/r/federated_disabled.result: Bug#37069 (5.0): test case mysql-test/t/federated_disabled-master.opt: Bug#37069 (5.0): test case mysql-test/t/federated_disabled.test: Bug#37069 (5.0): test case
| * fixes for warnings and compile errors for the fix of bug 26243unknown2008-03-291-1/+1
| |
| * Bug#26243 mysql command line crash after control-cunknown2008-03-281-9/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Backported the 5.1 DBUG to 5.0. - Avoid memory cleanup race on Windows client for CTRL-C client/mysql.cc: Bug#26243 mysql command line crash after control-c - On Windows, the sigint handler shouldn't call mysql_end because the main thread will do so automatically. - Remove unnecessary signal call from the sigint handler. - Call my_end with proper value. dbug/dbug.c: Bug#26243 mysql command line crash after control-c - Backported the 5.1 DBUG library. The old version uses a non-thread safe global variable 'static struct state *stack'. dbug/factorial.c: Bug#26243 mysql command line crash after control-c - Backported the 5.1 DBUG library. The old version uses a non-thread safe global variable 'static struct state *stack'. dbug/user.r: Bug#26243 mysql command line crash after control-c - Backported the 5.1 DBUG library. The old version uses a non-thread safe global variable 'static struct state *stack'. include/my_dbug.h: Bug#26243 mysql command line crash after control-c - Backported the 5.1 DBUG library. The old version uses a non-thread safe global variable 'static struct state *stack'. libmysql/libmysql.c: Bug#26243 mysql command line crash after control-c - Update for new DBUG library. myisam/mi_open.c: Bug#26243 mysql command line crash after control-c - Update for new DBUG library. sql/ha_federated.cc: Bug#26243 mysql command line crash after control-c - Update for new DBUG library. sql/ha_innodb.cc: Bug#26243 mysql command line crash after control-c - Update for new DBUG library. sql/ha_myisammrg.cc: Bug#26243 mysql command line crash after control-c - Update for new DBUG library. sql/item_cmpfunc.cc: Bug#26243 mysql command line crash after control-c - Update for new DBUG library. sql/mysqld.cc: Bug#26243 mysql command line crash after control-c - Update for new DBUG library. sql/net_serv.cc: Bug#26243 mysql command line crash after control-c - Update for new DBUG library. sql/opt_range.cc: Bug#26243 mysql command line crash after control-c - Update for new DBUG library. sql/set_var.cc: Bug#26243 mysql command line crash after control-c - Update for new DBUG library. sql/slave.cc: Bug#26243 mysql command line crash after control-c - Update for new DBUG library. sql/sql_cache.cc: Bug#26243 mysql command line crash after control-c - Update for new DBUG library. sql/sql_select.cc: Bug#26243 mysql command line crash after control-c - Update for new DBUG library. tests/mysql_client_test.c: Bug#26243 mysql command line crash after control-c - Update for new DBUG library.
| * Merge kaamos.(none):/data/src/mysql-5.0unknown2008-03-121-10/+10
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into kaamos.(none):/data/src/opt/mysql-5.0-opt client/mysql.cc: Auto merged sql/filesort.cc: Auto merged sql/item.cc: Auto merged sql/item.h: Auto merged sql/item_func.cc: Auto merged sql/mysqld.cc: Auto merged sql/sql_parse.cc: Auto merged sql/sql_yacc.yy: Auto merged tests/mysql_client_test.c: Auto merged mysql-test/r/view.result: Manual merge. mysql-test/t/view.test: Manual merge. scripts/mysql_config.sh: Manual merge.
| | * after merge fixunknown2008-02-291-8/+2
| | |
| | * Merge mysql.com:/home/gluh/MySQL/Merge/4.1-optunknown2008-02-291-1/+9
| | |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into mysql.com:/home/gluh/MySQL/Merge/5.0-opt sql/mysql_priv.h: Auto merged mysql-test/r/symlink.result: manual merge mysql-test/t/symlink.test: manual merge sql/mysqld.cc: manual merge sql/sql_parse.cc: manual merge
| | | * Bug#32167 another privilege bypass with DATA/INDEX DIRECORY(ver 4.1,5.0)unknown2008-02-291-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | added new function test_if_data_home_dir() which checks that path does not contain mysql data home directory. Using of mysql data home directory in DATA DIRECTORY & INDEX DIRECTORY is disallowed. mysql-test/r/symlink.result: test result mysql-test/t/symlink.test: test case sql/mysql_priv.h: new variable mysql_unpacked_real_data_home sql/mysqld.cc: new variable mysql_unpacked_real_data_home sql/sql_parse.cc: added new function test_if_data_home_dir() which checks that path does not contain mysql data home directory. Using of mysql data home directory in DATA DIRECTORY & INDEX DIRECTORY is disallowed.