Commit graph

68336 commits

Author SHA1 Message Date
Marko Mäkelä
6268a3e437 Merge mysql-5.1-innodb to mysql-5.5-innodb. 2011-01-31 10:23:38 +02:00
Marko Mäkelä
fbb1eeebf4 Bug#59230 assert 0 row_upd_changes_ord_field_binary() in post-crash
trx rollback or purge

This patch does not relax the failing debug assertion during purge.
That will be revisited once we have managed to repeat the assertion failure.

row_upd_changes_ord_field_binary_func(): Renamed from
row_upd_changes_ord_field_binary(). Add the parameter que_thr_t* in
UNIV_DEBUG builds. When the off-page column cannot be retrieved,
assert that the current transaction is a recovered one and that it is
the one that is currently being rolled back.

row_upd_changes_ord_field_binary(): A wrapper macro for
row_upd_changes_ord_field_binary_func() that discards the que_thr_t*
parameter unless UNIV_DEBUG is defined.

row_purge_upd_exist_or_extern_func(): Renamed from
row_purge_upd_exist_or_extern(). Add the parameter que_thr_t* in
UNIV_DEBUG builds.

row_purge_upd_exist_or_extern(): A wrapper macro for
row_purge_upd_exist_or_extern_func() that discards the que_thr_t*
parameter unless UNIV_DEBUG is defined.

Make trx_roll_crash_recv_trx const. If there were a 'do not
dereference' attribute, it would be appropriate as well.

rb://588 approved by Jimmy Yang
2011-01-31 09:56:51 +02:00
Vasil Dimov
46dd8a175c Merge mysql-5.1-innodb -> mysql-5.5-innodb (empty) 2011-01-30 19:17:31 +02:00
Vasil Dimov
61f531de08 Merge mysql-5.5 -> mysql-5.5-innodb 2011-01-30 19:16:38 +02:00
Vasil Dimov
1a61a8b41f Merge mysql-5.1 -> mysql-5.1-innodb 2011-01-30 19:15:52 +02:00
Vasil Dimov
5cb6293bff Merge mysql-5.1 -> mysql-5.5 (empty) 2011-01-30 18:53:43 +02:00
Vasil Dimov
102c39d344 Merge mysql-5.5-innodb -> mysql-5.5 2011-01-30 18:51:37 +02:00
Vasil Dimov
a6e860790a Merge mysql-5.1-innodb -> mysql-5.1 2011-01-30 18:41:58 +02:00
Bjorn Munch
39655092eb merge 59148,59489 2011-01-30 12:09:33 +01:00
Bjorn Munch
33f1e8e4e7 null upmerge 2011-01-29 23:28:54 +01:00
Bjorn Munch
cebe69013a merge from 5.5 main 2011-01-29 22:53:17 +01:00
Bjorn Munch
8c11a8ee88 merge from 5.1 main 2011-01-29 22:39:24 +01:00
John H. Embretsen
c2f4219a3e Merge fix for bug 56817 from mysql-5.1 to mysql-5.5. 2011-01-29 12:49:55 +01:00
John H. Embretsen
2388766830 Fix for Bug#56817 - mysqlhotcopy tests fail when DBI and DBD-mysql perl modules are not found
Third updated patch - this version also includes copyright notice in added Perl script.
This patch implements a check for such modules at runtime. If modules are not found or unable to load, the test is skipped with 
the following message:
            
            [ skipped ]  Test needs Perl modules DBI and DBD::mysql
            
Checks are done via a helper Perl script which looks for the module in a runtime environment that is as similar to that of the 
mysqlhotcopy script as possible (thus not intended for Windows environments at this time).
The helper script tells mysql-test about the result by writing information to a temporary file that is later read by mysql-test.
See comments in added files (have_dbi_dbd-mysql.inc and checkDBI_DBD-mysql.pl) for details.
The patch also removes the mysqlhotcopy tests from the list of disabled tests.
2011-01-29 12:38:36 +01:00
Bjorn Munch
13dbdcdb66 Bug #59148 'INSTALL PLUGIN rpl_semi_sync_master' fails in release build with debug binaries
Do as mysqld_safe: if running mysqld-debug, plugins are in debug subdirs
NB mtr --debug won't work in this context until 47141 is fixed
Also moved read_plugin_defs; no point running this in all worker threads
2011-01-28 15:55:50 +01:00
Mattias Jonsson
77f796ead8 merge 2011-01-28 13:39:39 +01:00
Mattias Jonsson
70b0991bf9 minor fix of copyright header 2011-01-28 13:37:39 +01:00
Mattias Jonsson
c5e525f879 merge 2011-01-28 13:28:15 +01:00
John H. Embretsen
c984c636f5 Null-merge from mysql-5.1 2011-01-28 11:01:54 +01:00
Jimmy Yang
fe4e126849 Fix Bug #59390 row_merge_build_indexes() fails to register tmpfd for PFS
rb://582 approved by Marko
2011-01-28 01:38:21 -08:00
Jimmy Yang
5d2239e118 Merge from mysql-5.1-innodb to mysql-5.5-innodb 2011-01-28 01:10:40 -08:00
Jimmy Yang
a9f1c9f31b Fix Bug #59465 btr_estimate_number_of_different_key_vals use incorrect offset
for external_size
      
rb://581 approved by Marko
2011-01-28 00:50:10 -08:00
Mattias Jonsson
fa8cdca34f Update of copyright headers for files I changed this year. 2011-01-27 23:47:24 +01:00
Mattias Jonsson
03225027db merge 2011-01-27 23:39:17 +01:00
Bjorn Munch
6d28807270 Bug #59489 Enable setting of env. variables for mysqld from mtr
Added --mysqld-env option, propagate via safe_process
Simplified: should be safe to set in parent safe_process after it's started
Addendum: catch cases of --mysqld-env w/o value, assume env.var 
    name never begins with "--"
2011-01-27 14:42:08 +01:00
Tor Didriksen
6b0b53d65c Bug #59273 show profile source doesn't show Source_function or truncates Source_file
Fixed the 'show profile source' part of the bug.
Leaving SHOW ENGINE INNODB MUTEX to a separate patch.
2011-01-27 14:25:27 +01:00
John H. Embretsen
610393709f Merge two patches for bug 56895 into tip of mysql-5.1 branch. 2011-01-27 12:38:13 +01:00
Marko Mäkelä
c9c4e4f880 Merge mysql-5.1-innodb to mysql-5.5-innodb. 2011-01-27 13:30:59 +02:00
Marko Mäkelä
3db404c31f Bug#59440 Race condition in XA ROLLBACK and XA COMMIT after server restart
trx_get_trx_by_xid(): Invalidate trx->xid after a successful lookup,
so that subsequent callers will not find the same transaction.

The only callers of trx_get_trx_by_xid() will be invoking
innobase_commit_low() or innobase_rollback_trx(), and those code paths
should not depend on trx->xid.

rb://584 approved by Jimmy Yang
2011-01-27 13:27:29 +02:00
Marko Mäkelä
6f6ad4e8b2 ibuf_contract_ext(): Remove an #if 0 section of code
that refers to trx_sys_set_ibuf_format().
Change buffer format tagging was never implemented.
2011-01-27 10:12:00 +02:00
Horst.Hunger
eb33996589 due to merge. 2011-01-27 08:59:45 +01:00
Horst.Hunger
fa0ad4803c Merge of results of the review done in 5.1-bugteam to 5.1. 2011-01-27 08:56:59 +01:00
Mattias Jonsson
04a8611112 merge of bug 47902 and (null-merge) of bug 57924.
bug#57924 does not occur in 5.5, so I reverted the 5.1 specific
code and used the errors from 5.5 instead in the tests
2011-01-26 19:33:53 +01:00
Mattias Jonsson
4e47db3af4 merge 2011-01-26 16:50:21 +01:00
Mattias Jonsson
15f635fdf6 merge 2011-01-26 16:34:34 +01:00
Jon Olav Hauglid
5e03579061 Bug #42230 during add index, cannot do queries on storage engines
that implement add_index

The problem was that ALTER TABLE blocked reads on an InnoDB table
while adding a secondary index, even if this was not needed. It is
only needed for the final step where the .frm file is updated.

The reason queries were blocked, was that ALTER TABLE upgraded the
metadata lock from MDL_SHARED_NO_WRITE (which blocks writes) to
MDL_EXCLUSIVE (which blocks all accesses) before index creation.

The way the server handles index creation, is that storage engines
publish their capabilities to the server and the server determines
which of the following three ways this can be handled: 1) build a
new version of the table; 2) change the existing table but with
exclusive metadata lock; 3) change the existing table but without
metadata lock upgrade.

For InnoDB and secondary index creation, option 3) should have been
selected. However this failed for two reasons. First, InnoDB did
not publish this capability properly.

Second, the ALTER TABLE code failed to made proper use of the
information supplied by the storage engine. A variable
need_lock_for_indexes was set accordingly, but was not later used.
This patch fixes this problem by only doing metadata lock upgrade
before index creation/deletion if this variable has been set.

This patch also changes some of the related terminology used 
in the code. Specifically the use of "fast" and "online" with
respect to ALTER TABLE. "Fast" was used to indicate that an
ALTER TABLE operation could be done without involving a
temporary table. "Fast" has been renamed "in-place" to more
accurately describe the behavior.

"Online" meant that the operation could be done without taking
a table lock. However, in the current implementation writes
are always prohibited during ALTER TABLE and an exclusive
metadata lock is held while updating the .frm, so ALTER TABLE
is not completely online. This patch replaces "online" with 
"in-place", with additional comments indicating if concurrent
reads are allowed during index creation/deletion or not.

An important part of this update of terminology is renaming
of the handler flags used by handlers to indicate if index
creation/deletion can be done in-place and if concurrent reads
are allowed. For example, the HA_ONLINE_ADD_INDEX_NO_WRITES
flag has been renamed to HA_INPLACE_ADD_INDEX_NO_READ_WRITE,
while HA_ONLINE_ADD_INDEX is now HA_INPLACE_ADD_INDEX_NO_WRITE.
Note that this is a rename to clarify current behavior, the
flag values have not changed and no flags have been removed or
added.

Test case added to innodb_mysql_sync.test.
2011-01-26 14:23:29 +01:00
Ramil Kalimullin
d95d1c96d9 Auto-merge 2011-01-26 15:55:45 +03:00
Ramil Kalimullin
6f15670a9f Null-merge from mysql-5.0 (backported fix for #47811 null-merged). 2011-01-26 15:54:18 +03:00
Ramil Kalimullin
4eb7054598 Bug #47811 : remove the non-default alignment specification.
Fix backported from to 5.0.
"Remove the alignment option, let valgrind use its default"
2011-01-26 15:49:09 +03:00
Alfranio Correia
47238d4465 merge mysql-5.1 --> mysql-5.5 2011-01-26 12:44:09 +00:00
Alfranio Correia
5a19661d4f Disabled rpl_row_until and rpl_stm_until due to BUG#59543. 2011-01-26 12:37:24 +00:00
Marko Mäkelä
e66716311a Merge mysql-5.1-innodb to mysql-5.5-innodb. 2011-01-26 10:02:52 +02:00
Libing Song
a64a0e0f89 Auto Merge. 2011-01-26 15:35:18 +08:00
Libing Song
1912894672 Null Merge. 2011-01-26 15:32:41 +08:00
Libing Song
c895aba35c Postfix bug#49124
Updated the copyright.
2011-01-26 15:30:06 +08:00
Sunny Bains
1ffb70a309 In sync_close() fix a bug introduced by the fix for Bug #59683 where we iterate
over the mutex list and free each mutex. When UNIV_MEM_DEBUG is defined, we
need skip the hash mutex.

It is a minor bug affecting only UNIV_SYNC_DEBUG builds, found by Michael.
2011-01-26 09:33:59 +11:00
Bjorn Munch
6481849afa null upmerge 2011-01-25 15:08:53 +01:00
Bjorn Munch
360289d319 merge 59063 2011-01-25 14:46:45 +01:00
Bjorn Munch
fe91320f9c merge 59063 2011-01-25 14:44:26 +01:00
Marko Mäkelä
5f20aa2b4f Bug#59585 Fix 58912 introduces compiler warning
due to potentially uninitialized variable

row_upd_changes_ord_field_binary(): Initialize dfield_len to suppress the
warning. The compiler cannot know that row_ext_lookup() does initialize
dfield_len for us, as it is defined in a different module.
2011-01-25 15:43:08 +02:00