summaryrefslogtreecommitdiff
path: root/mysys
Commit message (Collapse)AuthorAgeFilesLines
* Merge mysql-5.1-innodb_plugin to mysql-5.1.Sergey Vojtovich2009-08-111-1/+1
|\
| * Merge 5.1-bugteam -> 5.1-innodb_plugin.Sergey Vojtovich2009-07-142-9/+42
| |\
| * | Backport WL#3653 to 5.1 to enable bundled innodb plugin.Vladislav Vaintroub2009-06-101-1/+1
| | | | | | | | | | | | | | | Remove custom DLL loader code from innodb plugin code, use symbols exported from mysqld.
* | | Auto-mergeIgnacio Galarza2009-07-311-1/+1
|\ \ \
| * | | Bug#17270 - mysql client tool could not find ../share/charsets folder and fails.Ignacio Galarza2009-07-311-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Define and pass compile time path variables as pre-processor definitions to mimic the makefile build. - Set new CMake version and policy requirements explicitly. - Changed DATADIR to MYSQL_DATADIR to avoid conflicting definition in Platform SDK header ObjIdl.h which also defines DATADIR.
* | | | merging with mysql-5.1-bugteam branchSatya B2009-07-271-7/+7
|\ \ \ \
| * \ \ \ merging with mysql-5.0-bugteamV Narayanan2009-07-171-7/+7
| |\ \ \ \ | | |/ / / | | | | / | | |_|/ | |/| |
| | * | Bug#43572 Handle failures from hash_initV Narayanan2009-07-121-6/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch is a follow up to http://lists.mysql.com/commits/76678. When an allocation failure occurs for the buffer in the dynamic array, an error condition was being set. The dynamic array is usable even if the memory allocation fails. Since in most cases the thread can continue to work without any problems the error condition should not be set here. This patch adds logic to remove the error condition from being set when the memory allocation for the buffer in dynamic array fails.
* | | | merge 5.0-bugteam to 5.1-bugteamSatya B2009-07-241-1/+2
|\ \ \ \ | |/ / / |/| / / | |/ /
* | | AutomergeKristofer Pettersson2009-06-251-2/+13
|\ \ \
| * | | Bug#45336 --enable-foobar doesn't work for any plugin foobar.Kristofer Pettersson2009-06-251-2/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Because of a regression introduced by bug#19027 the option --enable-foobar doesn't work anymore for any plugin 'foobar'. The reason is that plugin names are tristate options variables with optional parameters and integer values are not accepted. Since the 'enable' prefix attempts to assign '1' to the option the operation fails. This patch translates any number n assigned to a plugin variable of type ENUM to be the corresponding enumerated item. As a side effect --enable-foobar and --disable-foobar will also start working again.
* | | | Bug#43572 Handle failures from hash_initV Narayanan2009-06-221-1/+1
|/ / / | | | | | | | | | | | | The merge from http://lists.mysql.com/commits/76678 caused the growth_size parameter to the my_init_dynamic_array function to be ignored. This patch corrects the problem.
* | | merging with mysql-5.0-bugteamV Narayanan2009-06-191-7/+29
|\ \ \ | |/ / | | / | |/ |/|
| * Bug#43572 Handle failures from hash_initV Narayanan2009-06-191-6/+29
| | | | | | | | | | | | | | | | | | | | | | Failure to allocate memory for the hash->array element, caused hash_init to return without initializing the other members of the hash. Thus although the dynamic array buffer may be allocated at a later point in the code, the incompletely initialized hash caused fatal failures. This patch moves the initialization of the other members of the hash above the array allocation, so that the usage of this hash will not result in fatal failures.
* | auto-merge 5.1-bugteam (local) --> 5.1-bugteamAlfranio Correia2009-05-211-1/+1
|\ \
| * | BUG#43949 Initialization of slave produces a warning message in ValgrindAlfranio Correia2009-04-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In order to define the --slave-load-tmpdir, the init_relay_log_file() was calling fn_format(MY_PACK_FILENAME) which internally was indirectly calling strmov_overlapp() (through pack_dirname) and the following warning message was being printed out while running in Valgrind: "source and destination overlap in strcpy". We fixed the issue by removing the flag MY_PACK_FILENAME as it was not necessary. In a nutshell, with this flag the function fn_format() tried to replace a directory by either "~", "." or "..". However, we wanted exactly to remove such strings. In this patch, we also refactored the functions init_relay_log_file() and check_temp_dir(). The former was refactored to call the fn_format() with the flag MY_SAFE_PATH along with the MY_RETURN_REAL_PATH, in order to avoid issues with long directories and return an absolute path, respectively. The flag MY_SAFE_UNPACK_FILENAME was removed too as it was responsible for removing "~", "." or ".." only from the file parameter and we wanted to remove such strings from the directory parameter in the fn_format(). This result is stored in an rli variable, which is then processed by the other function in order to verify if the directory exists and if we are able to create files in it.
* | | Auto mergeKristofer Pettersson2009-05-151-1/+2
|\ \ \
| * | | Bug#19027 MySQL 5.0 starts even with Fatal InnoDB errorsKristofer Pettersson2009-05-141-1/+2
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It is not possible to prevent the server from starting if a mandatory built-in plugin fails to start. This can in some cases lead to data corruption when the old table name space suddenly is used by a different storage engine. A boolean command line option in the form of --foobar is automatically created for every existing plugin "foobar". By changing this command line option from a boolean to a tristate { OFF, ON, FORCE } it is possible to specify the plugin loading policy for each plugin. The behavior is specified as follows: OFF = Disable the plugin and start the server ON = Enable the plugin and start the server even if an error occurrs during plugin initialization. FORCE = Enable the plugin but don't start the server if an error occurrs during plugin initialization.
* | | Merge from 5.0-bugteamJim Winstead2009-05-131-4/+4
|\ \ \ | | |/ | |/|
| * | The get_date() function in mysys interpreted the GETDATE_GMT optionJim Winstead2009-05-071-4/+4
| | | | | | | | | | | | | | | backwards, which resulted in the incorrect time being reported at the end of mysqldump. (Bug #44424, patch by Andrew Hutchings)
* | | Bug#43932 myisam index corruption with large index and large Vladislav Vaintroub2009-04-292-3/+5
| |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | key_buffer_size. The cause of corruption was number overflow when multiplying two ulong values, number of used keycache blocks with size of a single block. The result of multiplication exceeded ulong range (4G) and this lead to incorrectly calculated buffer offset in the key cache. The fix is to use size_t for multiplication result. This patch also fixes pointless cast in safemalloc (size of allocated block to uint), that creates lot of false alarm warnings when using big keycache (> 4GB) in debug mode.
* | Bug#43706: libmysqld segfaults when re-intialisedDavi Arnaut2009-04-091-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bug#44091: libmysqld gets stuck waiting on mutex on initialization The problem was that libmysqld wasn't enforcing a certain initialization and deinitialization order for the mysys library. Another problem was that the global object used for management of log event handlers (aka LOGGER) wasn't being prepared for a possible reutilization. What leads to the hang/crash reported is that a failure to load the language file triggers a double call of the cleanup functions, causing an already destroyed mutex to be used. The solution is enforce a order on the initialization and deinitialization of the mysys library within the libmysqld library and to ensure that the global LOGGER object reset it's internal state during cleanup.
* | Bug#42649 THR_LOCK_charset global mutex abused by InnoDBAlexander Barkov2009-04-071-15/+26
| | | | | | | | The patch was originally proposed by Mikael and reviewed by Bar.
* | merged 5.0-bugteam -> 5.1-bugteamGeorgi Kodinov2009-03-242-3/+4
|\ \ | |/
| * Bug#43461: invalid comparison with string literal in default.cDavi Arnaut2009-03-192-3/+4
| | | | | | Don't compare string literals as it results in unspecified behavior.
| * auto-mergeIgnacio Galarza2009-03-195-318/+283
| |\
* | | fixed compilation warnings. addendum to the fix for bug 29125Georgi Kodinov2009-03-201-1/+1
| | |
* | | Fixed a prototype to match the actual function signature (addendum to theGeorgi Kodinov2009-03-201-1/+1
| | | | | | | | | | | | fix for 29125).
* | | auto-mergeIgnacio Galarza2009-03-191-4/+9
|\ \ \
| * \ \ Merge bugteam and fix for 42675.Chad MILLER2009-03-181-4/+9
| |\ \ \
| | * | | Fix indentation. tab -> spacesChad MILLER2009-03-171-1/+1
| | | | |
| | * | | Bug#42675: Dangling pointer leads to a client crash (mysys/my_error.c \Chad MILLER2009-03-171-4/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | patch enclosed) One call to my_error_unregister_all() would free pointers, but leave one pointer to just-freed memory still assigned. That's the bug. Subsequent calls of this function would try to follow pointers into deallocated, garbage memory and almost certainly SEGV. Now, after freeing a linked list, unset the initial pointer.
* | | | | auto-mergeIgnacio Galarza2009-03-192-16/+55
|\ \ \ \ \ | |/ / / /
| * | | | 36446: fix Windows warningTatiana A. Nurnberg2009-03-171-1/+1
| | | | |
| * | | | manual mergeTatiana A. Nurnberg2009-03-161-14/+51
| |\ \ \ \ | | |/ / /
| | * | | Manual merge of patch for bug #40552 into the team tree.Alexey Kopytov2009-03-161-14/+51
| | |\ \ \ | | | | | | | | | | | | | | | | | | Replaced a call to load_defaults() in sql_plugin.cc with its thread-safe version.
| | | * | | Fix for bug #40552: Race condition around default_directories Alexey Kopytov2009-02-271-14/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | in load_defaults() load_defaults(), my_search_option_files() and my_print_default_files() utilized a global variable containing a pointer to thread local memory. This could lead to race conditions when those functions were called with high concurrency. Fixed by changing the interface of the said functions to avoid the necessity for using a global variable. Since we cannot change load_defaults() prototype for API compatibility reasons, it was renamed my_load_defaults(). Now load_defaults() is a thread-unsafe wrapper around a thread-safe version, my_load_defaults().
| * | | | | Bug#36446: Attempt to set @@join_buffer_size to its minimum value produces ↵Tatiana A. Nurnberg2009-03-161-2/+4
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | spurious warning If a sys-var has a base and a block-size>1, and then a user-supplied value >= minimum ended up below minimum thanks to block-size alignment, we threw a warning. This meant for instance that when getting, then setting the minimum, we'd see a warning. This was needlessly confusing. (updated patch)
* | | | | auto-mergeIgnacio Galarza2009-03-177-328/+297
|\ \ \ \ \ | |/ / / /
| * | | | merge of bug 42434 to 5.1-bugteamGeorgi Kodinov2009-03-111-305/+262
| |\ \ \ \ | | | |_|/ | | |/| |
| | * | | Bug #42434: license of mysys MD5 implementation is not GPL-compatibleGeorgi Kodinov2009-03-091-305/+262
| | | | | | | | | | | | | | | | | | | | | | | | | Took the Xfree implementation (based on the same rewrite as the NDB one) and added it instead of the current implementation. Added a macro to make the calls to MD5 more streamlined.
| * | | | Merge BUG#22082 from 5.0-bugteam to 5.1-bugteamHe Zhenxing2009-03-064-13/+21
| |\ \ \ \ | | |/ / /
| | * | | BUG#22082 Slave hangs(holds mutex) on "disk full"He Zhenxing2009-03-064-13/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When disk is full, server may waiting for free space while writing binlog, relay-log or MyISAM tables. The server will continue after user have freed some space. But the error message printed was not quite clear about the how often the error message is printed, and there will be a delay before the server continue and user freeing space. And caused users thinking that the server was hanging forever. This patch fixed the problem by making the error messages printed more clear. The error message is split into two part, the first part will only be printed once, and the second part will be printed very 10 times. Message first part: Disk is full writing '<filename>' (Errcode: <errorno>). Waiting for someone to free space... (Expect up to 60 secs delay for server to continue after freeing disk space) Message second part: Retry in 60 secs, Message reprinted in 600 secs
| * | | | merging.Alexey Botchkov2009-02-242-10/+14
| |\ \ \ \ | | |_|/ / | |/| | |
| | * | | Bug#39289 libmysqld.a calls exit() upon error Alexey Botchkov2008-10-273-19/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Several functions (mostly in mysqld.cc) directly call exit() function in case of errors, which is not a desired behaviour expecially in the embedded-server library. Fixed by making these functions return error sign instead of exiting. per-file comments: include/my_getopt.h Bug#39289 libmysqld.a calls exit() upon error added 'error' retvalue for my_getopt_register_get_addr libmysqld/lib_sql.cc Bug#39289 libmysqld.a calls exit() upon error unireg_clear() function implemented mysys/default.c Bug#39289 libmysqld.a calls exit() upon error error returned instead of exit() call mysys/mf_tempdir.c Bug#39289 libmysqld.a calls exit() upon error free_tmpdir() - fixed so it's not produce crash on uninitialized tmpdir structure mysys/my_getopt.c Bug#39289 libmysqld.a calls exit() upon error error returned instead of exit() call sql/mysql_priv.h Bug#39289 libmysqld.a calls exit() upon error unireg_abort definition fixed for the embedded server sql/mysqld.cc Bug#39289 libmysqld.a calls exit() upon error various functions fixed error returned instead of exit() call
* | | | | Bug#29125 Windows Server X64: so many compiler warningsIgnacio Galarza2009-02-1319-37/+34
|\ \ \ \ \ | |/ / / / |/| | | / | | |_|/ | |/| | | | | | - Remove bothersome warning messages. This change focuses on the warnings that are covered by the ignore file: support-files/compiler_warnings.supp. - Strings are guaranteed to be max uint in length
| * | | Bug#29125 Windows Server X64: so many compiler warningsIgnacio Galarza2009-02-106-11/+11
| | |/ | |/| | | | | | | | | | - Remove bothersome warning messages. This change focuses on the warnings that are covered by the ignore file: support-files/compiler_warnings.supp. - Strings are guaranteed to be max uint in length
* | | mergingAlexey Botchkov2009-02-052-5/+8
|\ \ \
| * | | Bug#40536: SELECT is blocked by INSERT DELAYED waiting onDavi Arnaut2009-02-031-3/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | upgrading lock, even with low_priority_updates The problem is that there is no mechanism to control whether a delayed insert takes a high or low priority lock on a table. The solution is to modify the delayed insert thread ("handler") to take into account the global value of low_priority_updates when taking table locks. The value of low_priority_updates is retrieved when the insert delayed thread is created and will remain the same for the duration of the thread.
| * | | Bug#41084 full-text index added to custom UCA collation not workingAlexander Barkov2009-02-021-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Custom UCA collations didn't set the MY_CS_STRNXFRM flag, which resulted in "prefix_search" method instead of the required "seq_search". Problem2: (not metioned in the bug report) Custom UCA collations didn't also set the MY_CS_UNICODE flag, so an attempt to compare a column with a custom UCA collation to another column with a non-Unicode character set led to the "illegal mix of collation" error. Fix: the two missing flags was added into collation initialization. Upgrade: - All fulltext indexes with custom UCA collations should be rebuilt. - Non-fulltext custom UCA indexes should likely be rebuild as well.