- 01 Oct, 2008 17 commits
-
-
Ingo Struewing authored
-
Georgi Kodinov authored
-
Georgi Kodinov authored
When analyzing the possible index use cases the server was re-using an internal structure. This is wrong, as this internal structure gets updated during the analysis. Fixed by making a copy of the internal structure for every place it needs to be used. Also stopped the generation of empty SEL_TREE structures that unnecessary complicate the analysis.
-
Ingo Struewing authored
-
Sven Sandberg authored
Re-enabling failing test case because server logs were lost in pushbuild, so we need to run it again.
-
Georgi Kodinov authored
-
Georgi Kodinov authored
-
Ingo Struewing authored
-
Ingo Struewing authored
This patch contains fixes for two problems: 1. As originally reported, the server crashed on Mac OS X when trying to access an EXAMPLE table after the EXAMPLE plugin was installed. It turned out that the dynamically loaded EXAMPLE plugin called the function hash_earch() from a Mac OS X system library, instead of hash_earch() from MySQL's mysys library. Makefile.am in storage/example does not include libmysys. So the Mac OS X linker arranged the hash_search() function to be linked to the system library when the shared object is loaded. One possible solution would be to include libmysys into the linkage of dynamic plugins. But then we must have a libmysys.so, which must be used by the server too. This could have a minimal performance impact, but foremost the change seems to bee too risky at the current state of MySQL 5.1. The selected solution is to rename MySQL's hash_search() to my_hash_search() like it has been done before with hash_insert() and hash_reset(). Since this is the third time, we need to rename a hash_*() function, I did renamed all hash_*() functions to my_hash_*(). To avoid changing a zillion calls to these functions, and announcing this to hundreds of developers, I added defines that map the old names to the new names. This change is in hash.h and hash.c. 2. The other problem was improper implementation of the handlerton-to-plugin mapping. We use a fixed-size array to hold a plugin reference for each handlerton. On every install of a handler plugin, we allocated a new slot of the array. On uninstall we did not free it. After some uninstall/install cycles the array overflowed. We did not check for overflow. One fix is to check for overflow to stop the crashes. Another fix is to free the array slot at uninstall and search for a free slot at plugin install. This change is in handler.cc.
-
Georgi Kodinov authored
-
Georgi Kodinov authored
-
Georgi Kodinov authored
-
Georgi Kodinov authored
-
Georgi Kodinov authored
-
Georgi Kodinov authored
-
Patrick Crews authored
-
Patrick Crews authored
Repush of change to fix tests on Pushbuild.
-
- 30 Sep, 2008 9 commits
-
-
Davi Arnaut authored
-
Davi Arnaut authored
Link with mtmalloc on Solaris as it is done in our release builds. Replace deprecated flag with the newer option as already done in other scripts.
-
Patrick Crews authored
-
Patrick Crews authored
-
Patrick Crews authored
-
Davi Arnaut authored
Post-merge bug fix: lock_type is a enumeration type and not a bit mask.
-
Gleb Shchepa authored
-
Gleb Shchepa authored
Server created "arc" directories inside database directories and maintained there useless copies of .frm files. Creation and renaming procedures of those copies as well as creation of "arc" directories has been discontinued. Removal procedure has been kept untouched to be able to cleanup existent database directories by the DROP DATABASE query. Also view renaming procedure has been updated to remove these directories.
-
Alexey Botchkov authored
-
- 29 Sep, 2008 3 commits
-
-
Davi Arnaut authored
-
Alexey Botchkov authored
JOIN for the subselect wasn't cleaned if we came upon an error during sub_select() execution. That leads to the assertion failure in close_thread_tables() part of the 6.0 code backported per-file comments: mysql-test/r/sp-error.result Bug#37949 Crash if argument to SP is a subquery that returns more than one row test result mysql-test/t/sp-error.test Bug#37949 Crash if argument to SP is a subquery that returns more than one row test case sql/sp_head.cc Bug#37949 Crash if argument to SP is a subquery that returns more than one row lex->unit.cleanup() call added if not substatement
-
Davi Arnaut authored
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.
-
- 26 Sep, 2008 1 commit
-
-
He Zhenxing authored
In order to improve the performance when replicating to partitioned myisam tables with row-based format, the number of rows of current rows log event is estimated and used to setup storage engine for bulk inserts.
-
- 25 Sep, 2008 1 commit
-
-
Kristofer Pettersson authored
-
- 23 Sep, 2008 2 commits
-
-
Patrick Crews authored
Bug#38311 - Fix of some cruft from remove_files in ndb_autodiscover.test, clean up of distinct.test, and replacing error numbers with error names.
-
Mattias Jonsson authored
-
- 22 Sep, 2008 3 commits
-
-
Patrick Crews authored
-
Patrick Crews authored
Trimmed some error-prone and variable portions of the test and added 'flush status' to ensure deterministic test
-
Magnus Svensson authored
-
- 20 Sep, 2008 4 commits
-
-
Kristofer Pettersson authored
-
Kristofer Pettersson authored
-
Kristofer Pettersson authored
A stored procedure involving substrings could crash the server on certain platforms because of invalid memory reads. During storing the new blob-field value, the cached value's address range overlapped that of the new field value. This caused problems when the cached value storage was reallocated to provide access for a new characater set representation. The patch checks the address ranges, and if they overlap, the new field value is copied to a new storage before it is converted to the new character set.
-
Davi Arnaut authored
-