Commit graph

61098 commits

Author SHA1 Message Date
Bjorn Munch
b95dc4717d merge from mysql-trunk 2010-02-07 12:30:38 +01:00
Bjorn Munch
97219cb9ef merge from 5.1 main 2010-02-07 12:21:11 +01:00
Vladislav Vaintroub
784d4a4718 merge 2010-02-06 17:16:24 +01:00
Vladislav Vaintroub
7257047dce merge 2010-02-06 17:13:42 +01:00
Konstantin Osipov
4d4eed6514 Merge next-4284 -> next-4284-merge 2010-02-06 13:30:07 +03:00
Konstantin Osipov
a72f90bc43 Merge next-mr -> next-4284.
mysql-test/t/disabled.def:
  Restore disabled ssl tests: SSL certificates were updated.
  Disable sp_sync.test, the test case can't work in next-4284.
mysql-test/t/partition_innodb.test:
  Disable parsing of the test case for Bug#47343, 
  the test can not work in next-4284.
mysql-test/t/ps_ddl.test:
  Update results (CREATE TABLE IF NOT EXISTS takes
  into account existence of the temporary table).
2010-02-06 13:28:06 +03:00
Jon Olav Hauglid
95c2386148 Bug #50912 Assertion `ticket->m_type >= mdl_request->type'
failed on HANDLER + I_S

This assert was triggered when an I_S query tried to acquire a
metadata lock on a table which was already locked by a HANDLER
statement in the same connection.

First the HANDLER took a MDL_SHARED lock. Afterwards, the I_S query
requested a MDL_SHARED_HIGH_PRIO lock. The existing MDL_SHARED ticket
is found in find_ticket() since it satisfies 
ticket->has_stronger_or_equal_type(mdl_request->type) as MDL_SHARED
and MDL_SHARED_HIGH_PRIO have equal strengths, just different priority.

However, two asserts later check lock type strengths using relational
operators (>= and <=) rather than MDL_ticket::has_stronger_or_equal_type().
These asserts are triggered since MDL_SHARED >= MDL_SHARED_HIGH_PRIORITY
is false (mapped to 1 and 2 respectively).

This patch updates the asserts to use MDL_ticket::has_stronger_or_equal_type()
rather than relational operators to check lock type strength.

Test case added to include/handler.inc.
2010-02-06 10:44:03 +01:00
Konstantin Osipov
ba678eef7d Merge next-4284 -> next-4284-merge. 2010-02-05 20:41:00 +03:00
Konstantin Osipov
dad4caa9de next-mr -> next-4284 merge.
After merge fixes.
Adjust replication test cases.

mysql-test/suite/rpl/r/rpl_mixed_row_innodb.result:
  Update results with a new test.
mysql-test/suite/rpl/r/rpl_stm_loadfile.result:
  Add a warning, which I believe is an expected one.
mysql-test/suite/rpl/t/rpl_killed_ddl.test:
  Sort results to avoid test failurs under load.
mysql-test/suite/rpl_ndb/r/rpl_ndb_binlog_format_errors.result:
  Update results (next-4284 merge).
mysql-test/suite/rpl_ndb/t/rpl_ndb_binlog_format_errors.test:
  Adjust test output to the new table opening scheme: decide_logging_format() is now called in CREATE/DROP trigger.
2010-02-05 20:04:38 +03:00
Vladislav Vaintroub
7391f5f6c5 merge 2010-02-05 18:02:26 +01:00
Vladislav Vaintroub
5d034c00f3 merge 2010-02-05 18:01:00 +01:00
Marc Alff
d935204240 Merge mysql-next-mr-marc --> mysql-next-mr-bugfixing 2010-02-05 09:56:55 -07:00
Vladislav Vaintroub
a129a22873 Bug#50057: SHOW PROFILE CPU for Windows
On QA request, adding test that causes new code to be called. 
Even if we cannot validate the result, this will at least increase the code coverage.
2010-02-05 17:31:34 +01:00
Marc Alff
238d78d090 merge from mysql-next-mr 2010-02-05 09:23:57 -07:00
Alexander Nozdrin
96f3134269 Auto-merge (empty) from mysql-trunk-bugfixing. 2010-02-05 18:45:01 +03:00
Alexander Nozdrin
6c72fce890 Auto-merge from mysql-next-mr. 2010-02-05 18:43:29 +03:00
Alexander Nozdrin
eb71316090 Auto-merge from mysql-trunk. 2010-02-05 18:43:22 +03:00
Alexander Nozdrin
b38ef2b5f7 Auto-merge from mysql-trunk-merge. 2010-02-05 18:33:33 +03:00
Alexander Nozdrin
7e0d0dd040 Cherry-pick merge from mysql-5.1-bugteam.
Original revision:
------------------------------------------------------------
revision-id: kent.boortz@sun.com-20100204182709-dw1dwpglkd5qrehb
committer: Kent Boortz <kent.boortz@sun.com>
branch nick: mysql-5.1-bugteam
timestamp: Thu 2010-02-04 19:27:09 +0100
message:
  LT_INIT and LT_PREREQ was added in libtool 2.2 2008, a bit too
  recent, switched back to the older AC_PROG_LIBTOOL
------------------------------------------------------------
2010-02-05 18:31:06 +03:00
Alexander Nozdrin
d9c4234bc9 Auto-merge (empty) from mysql-trunk-merge. 2010-02-05 18:24:50 +03:00
Alexander Nozdrin
b6d1b25d50 Manual merge (empty) from mysql-5.1. 2010-02-05 18:14:01 +03:00
Alexander Nozdrin
5aebe20843 Auto-merge (empty) from mysql-trunk-bugfixing. 2010-02-05 18:11:16 +03:00
Marc Alff
ae7615c091 Merge mysql-next-mr (revno 2996) --> mysql-next-mr-marc 2010-02-05 08:10:20 -07:00
Alexander Nozdrin
23899d6d6b Auto-merge from mysql-next-mr. 2010-02-05 18:06:46 +03:00
Konstantin Osipov
f1d4c59da2 Add a suppression for use of functions unsafe in statement
format.

mysql-test/suite/rpl/t/rpl_view_multi.test:
  Add a suppression (fix a failing test).
2010-02-05 18:05:13 +03:00
Konstantin Osipov
a009a4e518 next-mr -> next-4284 merge:
Change the error code for ER_WARN_I_S_SKIPPED_TABLE, to not
upset the tests that rely on ER_SLAVE_CONVERSION_ERROR error
code = 1667.
Fix a merge bug with binlogging of CREATE TABLE (temporary tables).
2010-02-05 17:58:43 +03:00
Jon Olav Hauglid
82f4494125 Bug #50907 Assertion `hash_tables->table->next == __null' on
HANDLER OPEN

The problem was a too restrictive assert in the code for 
HANDLER ... OPEN and HANDLER ... READ that checked table->next
to verify that we didn't open views or merge tables.

This pointer is also used to link temporary tables together
(see thd->temporary_tables). In this case TABLE::next can be
set even if we're trying to open a single table.

This patch adjust the two asserts to also check for the presence
of temporary tables.

Test case added to handler_myisam.test.
2010-02-05 15:52:17 +01:00
Alexander Nozdrin
f53d591e9f Remove errmsg.txt and errmsg-cnv.sh. Use errmsg-utf8.txt instead. 2010-02-05 16:52:35 +03:00
Vladislav Vaintroub
e6cba2be35 Bug#50057: 'SHOW PROFILE CPU' port for Windows.
Patch contributed by Alex Budovski.
2010-02-05 13:57:15 +01:00
Alexander Nozdrin
a45ea00b32 Manual merge from mysql-next-mr.
Conflicts:
  - sql/sys_vars.cc
2010-02-05 15:05:37 +03:00
Alexander Nozdrin
44c3e5fc45 Auto-merge from mysql-trunk. 2010-02-05 15:02:03 +03:00
Alexander Nozdrin
ad935d4708 Auto-merge (empty) from mysql-trunk-bugfixing. 2010-02-05 14:50:43 +03:00
Konstantin Osipov
7454283387 next-mr -> next-4284 merge:
fix a merge bug when write_bin_log called from mysql_routine_grant()
would chew up the error.
rpl_do_grant test would fail on assert that the diagnostics area is
empty.
2010-02-05 13:25:32 +03:00
Vladislav Vaintroub
7ffdc1d301 fix OSX package names is OSX_DEPLOYMENT_TARGET is specified 2010-02-05 07:39:11 +01:00
Konstantin Osipov
a6f804228d A post-merge fix for next-mr -> next-4284 merge:
Make all mutexes and conditions of type mysql_mutex_t, mysql_cond_t,
since it's now the expectation of THD::awake().
2010-02-05 01:37:44 +03:00
Konstantin Osipov
e7b332ba83 Merge next-mr -> next-4284. 2010-02-05 01:08:08 +03:00
Konstantin Osipov
00dc9a6e70 Merge next-mr -> next-4284.
Cherry-pick a fix Bug#37148 from next-mr, to preserve
file ids of the added files, and ensure that all the necessary
changes have been pulled.

Since initially Bug#37148 was null-merged into 6.0,
the changeset that is now being cherry-picked was likewise
null merged into next-4284.

Now that Bug#37148 has been reapplied to 6.0, try to make
it work with next-4284. This is also necessary to be able
to pull other changes from 5.1-rep into next-4284.

To resolve the merge issues use this changeset applied
to 6.0:
revid:jperkin@sun.com-20091216103628-ylhqf7s6yegui2t9
revno: 3776.1.1
committer: He Zhenxing <zhenxing.he@sun.com>
branch nick: 6.0-codebase-bugfixing
timestamp: Thu 2009-12-17 17:02:50 +0800
message:
  Fix merge problem with Bug#37148
2010-02-04 23:15:47 +03:00
Omer BarNir
eadf1586b8 Corrections to pseudi_thread_id_basic test (WL4738)
mysql-test/suite/sys_vars/r/pseudo_thread_id_basic.result:
  Updated result file
mysql-test/suite/sys_vars/t/pseudo_thread_id_basic.test:
  Removed specific thread_id result vaue used for debuging PB2 issue
2010-02-04 12:14:51 -08:00
Konstantin Osipov
a9e22b5896 Merge next-mr -> next-4284-merge. 2010-02-04 20:34:15 +03:00
Dmitry Lenev
1edca1d7ef Small clean-up in CREATE TABLE LIKE implementation.
Removed local variables which became unused when we
have switched to new approach for CREATE TABLE LIKE
(i.e. abondoned .FRM file copying) and were causing
warnings during compilation.
2010-02-04 16:06:29 +03:00
Vladislav Vaintroub
4d0b901a55 Make DEBUGBUILDDIR cached variable, so it can be overriden with cmake -D 2010-02-04 13:46:56 +01:00
Bjorn Munch
01c0d46af8 Bug #39774 mysql-test-run's remove_file can't use wildcards, this should be documented
Added remove_files_wildcard that allows to remove multiple files at once.
This is a port of original patch to Windows.
2010-02-04 13:15:42 +01:00
Bjorn Munch
bf5bb2942f upmerge 39774 2010-02-04 12:57:45 +01:00
Bjorn Munch
8bcb4cc74d upmerge 39774 2010-02-04 12:53:08 +01:00
unknown
88519d1c8f Raise version number after cloning 5.1.44 2010-02-04 12:23:33 +01:00
Georgi Kodinov
404b3be1ee merge 2010-02-04 12:14:44 +02:00
Georgi Kodinov
b8db15fc22 tree name change 2010-02-04 12:13:29 +02:00
Bjorn Munch
25a4b33340 Bug #39774 mysql-test-run's remove_file can't use wildcards, this should be documented
Added remove_files_wildcard that allows to remove multiple files at once.
This is a port of original patch to Windows.
2010-02-04 10:55:17 +01:00
Jon Olav Hauglid
a19377e0d7 Bug #50821 Deadlock between LOCK TABLES and ALTER TABLE
This was a deadlock between ALTER TABLE and another DML statement
(or LOCK TABLES ... READ). ALTER TABLE would wait trying to upgrade
its lock to MDL_EXCLUSIVE and the DML statement would wait trying
to acquire a TL_READ_NO_INSERT table level lock.

This could happen if one connection first acquired a MDL_SHARED_READ
lock on a table. In another connection ALTER TABLE is then started.
ALTER TABLE eventually blocks trying to upgrade to MDL_EXCLUSIVE,
but while holding a TL_WRITE_ALLOW_READ table level lock.

If the first connection then tries to acquire TL_READ_NO_INSERT,
it will block and we have a deadlock since neither connection can
proceed.

This patch fixes the problem by allowing TL_READ_NO_INSERT 
locks to be granted if another connection holds TL_WRITE_ALLOW_READ
on the same table. This will allow the DML statement to proceed
such that it eventually can release its MDL lock which in turn
makes ALTER TABLE able to proceed.

Note that TL_READ_NO_INSERT was already partially compatible with
TL_WRITE_ALLOW_READ as the latter would be granted if the former
lock was held. This patch just makes the opposite true as well.

Also note that since ALTER TABLE takes an upgradable MDL lock,
there will be no starvation of ALTER TABLE statements by
statements acquiring TL_READ or TL_READ_NO_INSERT.

Test case added to lock_sync.test.
2010-02-04 10:00:36 +01:00
Alexander Nozdrin
619037517f Fix test result file after manual merge. 2010-02-04 09:35:40 +03:00