Commit graph

55023 commits

Author SHA1 Message Date
Mattias Jonsson
91d6278c5e pre push fix for bug#38804 2008-10-01 12:40:05 +02:00
Ingo Struewing
9a65aa3857 merge 2008-10-01 12:27:57 +02:00
Ingo Struewing
acaf211df2 Bug#37958 - test main.plugin crash on Mac OS X when selecting from EXAMPLE engine.
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.
2008-10-01 12:21:15 +02:00
Mattias Jonsson
c51023d90b merge 2008-10-01 12:14:55 +02:00
Georgi Kodinov
74a905df93 fixed a win32 warning caused by the fix for bug #35981 2008-10-01 13:12:08 +03:00
Georgi Kodinov
da6ea5a194 merged 5.0-bugteam -> 5.1-bugteam 2008-10-01 12:52:51 +03:00
Ramil Kalimullin
dc6a5ff899 Fix for bug#39182: Binary log producing incompatible character set query
from stored procedure. 

Problem: we replace all references to local variables in stored procedures     
with NAME_CONST(name, value) logging to the binary log. However, if the
value's collation differs we might get an 'illegal mix of collation'           
error as we don't pass the collation to the function.

Fix: pass the value's collation to NAME_CONST().

Note: actually we should pass to NAME_CONST() the value's derivation as well.
It's impossible without the parser modifying. Now we always set the 
derivation to DERIVATION_IMPLICIT, the same as local variables have.
2008-10-01 14:48:47 +05:00
Georgi Kodinov
435f54fce0 merged 5.1-5.1.29-rc -> 5.1-bugteam 2008-10-01 12:47:25 +03:00
Georgi Kodinov
b97291d2dc fixed a wrong directory in distinct.test 2008-10-01 12:45:02 +03:00
Georgi Kodinov
d80f408d63 merged 5.0-main -> 5.0-bugteam 2008-10-01 12:42:45 +03:00
Georgi Kodinov
9c9a92b99a merged 5.0-5.1.29-rc into 5.0-bugteam 2008-10-01 12:41:13 +03:00
Patrick Crews
749f8b3ec1 automerge 2008-09-30 22:01:50 -04:00
Patrick Crews
af84837635 Bug#38311 Some tests use 'rm' which is not portable
Repush of change to fix tests on Pushbuild.
2008-09-30 20:54:06 -04:00
Davi Arnaut
16898ad123 Merge from main branch. 2008-09-30 18:23:04 -03:00
Davi Arnaut
44fbfe6fdb Bug#38727: BUILD/compile-solaris-* scripts should compile MySQL with libmtmalloc
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.
2008-09-30 17:57:48 -03:00
Patrick Crews
2f58dc7972 automerge 2008-09-30 16:23:04 -04:00
Patrick Crews
99abc81c5f Merge 5.0 -> 5.1 2008-09-30 15:32:35 -04:00
Patrick Crews
c7f32b02ac Automerge 2008-09-30 12:56:12 -04:00
Davi Arnaut
f87973fe2c Bug#34306: Can't make copy of log tables when server binary log is enabled
Post-merge bug fix: lock_type is a enumeration type and not a bit mask.
2008-09-30 10:47:01 -03:00
Gleb Shchepa
a938da539c manual merge 5.0-bugteam --> 5.1-bugteam 2008-09-30 18:16:11 +05:00
Gleb Shchepa
e20b9de18e Fixed bug #17823: 'arc' directories inside database directories.
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.
2008-09-30 17:50:28 +05:00
Alexey Botchkov
3bf44a8622 merging 2008-09-30 10:41:30 +05:00
Davi Arnaut
b976918c3f Merge from parent branch. 2008-09-29 14:42:36 -03:00
Alexey Botchkov
b6f4b1c083 Bug#37949 Crash if argument to SP is a subquery that returns more than one row
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
2008-09-29 19:11:34 +05:00
Davi Arnaut
35ffaf10e3 Bug#34306: Can't make copy of log tables when server binary log is enabled
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.
2008-09-29 10:53:40 -03:00
He Zhenxing
05c0a9de97 BUG#35843 Slow replication slave when using partitioned myisam table
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.
2008-09-26 17:39:47 +08:00
Kristofer Pettersson
4223fa0e1e Automerge 2008-09-25 19:08:46 +02:00
Chad MILLER
bf996620cd Bug#35754: mysql_install_db does not work if no hostname is set
Machines with hostname set to "localhost" cause uniqueness errors in 
the SQL bootstrap data.

Now, insert zero lines for cases where the (lowercased) hostname is 
the same as an already-inserted 'localhost' name.  Also, fix a few tests 
that expect certain local accounts to have a certain host name.
2008-09-24 08:59:56 -04:00
Patrick Crews
51c40c5bd0 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.
2008-09-23 05:24:32 -04:00
Mattias Jonsson
9d7aac9cef merge 2008-09-23 12:24:30 +03:00
Patrick Crews
9a86c50092 merge of changes 2008-09-22 15:33:38 -04:00
Patrick Crews
92a3b67393 Bug#37312 Make tests binlog_row_innodb_stat and binlog_stm_innodb_stat more robust
Trimmed some error-prone and variable portions of the test and added 'flush status' to ensure deterministic test
2008-09-22 15:15:52 -04:00
Magnus Svensson
773fbd9543 Bug #37312 Make tests binlog_row_innodb_stat and binlog_stm_innodb_stat more robust 2008-09-22 12:03:00 +03:00
Kristofer Pettersson
53cf8914e4 Merge 5.0-bugteam -> 5.1-bugteam 2008-09-20 16:52:34 +02:00
Kristofer Pettersson
cd9aef82d7 Automerge 2008-09-20 16:45:39 +02:00
Kristofer Pettersson
18b3eacbc6 Bug#38469 invalid memory read and/or crash with utf8 text field, stored procedure, uservar
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.
2008-09-20 10:51:03 +02:00
Davi Arnaut
04ecf17b77 Restore team tree name. 2008-09-20 03:56:33 -03:00
Mattias Jonsson
7388a9f54a merge (update of local branch before push) 2008-09-20 09:53:23 +03:00
Patrick Crews
2a419a5627 Bug#38311 Some tests use 'rm' which is not portable
Substituted use of MTR's remove_file function in the tests
Started with 5.0 tree and will clean up any offenders discovered during upmerge.
2008-09-20 02:21:28 -04:00
timothy.smith@sun.com
68674082ff Raise version number after cloning 5.0.70 2008-09-19 15:48:46 +02:00
Georgi Kodinov
d815cbb8df fixed a problem with the push of bug #31434 2008-09-19 16:24:32 +03:00
Georgi Kodinov
9ef7803382 merge of bug 39353 5.0-5.1.29-rc -> 5.1-5.1.29-rc 2008-09-19 15:34:37 +03:00
Georgi Kodinov
ac4de74d00 merged 5.0-5.1.29-rc into B39353 tree 2008-09-19 14:31:51 +03:00
Mattias Jonsson
0494d58527 Bug#30573: Ordered range scan over partitioned tables returns some rows twice
and
Bug#33555: Group By Query does not correctly aggregate partitions

Backport of bug-33257 which is the same bug.

read_range_*() calls was not passed to the partition handlers,
but was translated to index_read/next family calls.
Resulting in duplicates rows and wrong aggregations.
2008-09-18 22:49:34 +03:00
Matthias Leich
ba93a357cf Merge 5.0 -> 5.1
no conflicts, no real code changes
2008-09-18 15:46:27 +02:00
Matthias Leich
47ba1e8196 Merge actual tree -> local tree
no conflicts
2008-09-18 15:32:06 +02:00
Matthias Leich
336acaf7b7 Merge actual bugteam tree -> local tree 2008-09-18 15:05:19 +02:00
Georgi Kodinov
0a61c6d7c9 Bug #39353: Multiple conditions on timestamp column crashes server
The fix for bug 31887 was incomplete : it assumes that all the 
field types returned by the IS_NUM macro are descendants of 
Item_num and tries to zero-fill the values before doing constant
substitution with such fields when they are compared to constant string
values.
The only exception to this is Field_timestamp : it's in the IS_NUM
macro, but is not a descendant of Field_num.
Fixed by excluding timestamp fields (Field_timestamp) when zero-filling
when converting the constant to compare with to a string.
Note that this will not exclude the timestamp columns from const 
propagation.
2008-09-18 15:55:36 +03:00
Gleb Shchepa
cb8a39e78c Post-push fix for bug #26020: User-Defined Variables are not consistence with columns data types.
--ps-protocol problem has been fixed.
2008-09-18 17:24:09 +05:00
Tatiana A. Nurnberg
3f966ec74b auto-merge 2008-09-18 13:15:19 +02:00