Commit graph

57441 commits

Author SHA1 Message Date
Georgi Kodinov
3d94a6ba00 backported a change from 5.1 2009-05-15 16:13:54 +03:00
Georgi Kodinov
61eecfff6c merged 2009-05-15 16:12:31 +03:00
Georgi Kodinov
182bc3062c fixed a win32 compile error 2009-05-15 16:11:27 +03:00
Georgi Kodinov
2d8d779f83 merged 5.1-main -> 5.1-bugteam 2009-05-15 16:03:22 +03:00
Georgi Kodinov
5bd8b90f98 merged 5.0-main -> 5.1-main 2009-05-15 15:57:51 +03:00
Vladislav Vaintroub
c650c90686 merge 2009-05-15 13:47:36 +02:00
Satya B
fe5121af67 Fix for BUG#10206 - InnoDB: Transaction requiring Max_BinLog_Cache_size > 4GB
always rollsback.

The global variable max_binlog_cache_size cannot be set more than 4GB on
32 bit systems, limiting transactions of all storage engines to 4G of changes.

The problem is max_binlog_cache_size is declared as ulong which is 4 bytes
on 32 bit and 8 bytes on 64 bit machines.

Fixed by using ulonglong for max_binlog_cache_size which is 8bytes on 32 
and 64 bit machines.The range for max_binlog_cache_size on 32 bit and 64 bit
systems is 4096-18446744073709547520 bytes.
2009-05-15 16:33:08 +05:30
Matthias Leich
02a902edc1 Fix for Bug#42308 Several server tests do not pass MTR's --check option
Details:
Most tests mentioned within the bug report were already fixed.
The test modified here failed in stability (high parallel load) tests.

Details:
1. Take care that disconnects are finished before the test terminates.
2. Correct wrong handling of send/reap in events_stress which caused
   random garbled output
3. Minor beautifying of script code
2009-05-15 12:15:56 +02:00
Philip Stoev
847fc72f54 Bug #32651 grant_cache.test fails
It turns out that this test case no longer fails with the discrepancy
  in numbers that was the original cause for disabling this test (and showed
  potential genuine issues with the query cache). Therefore
  this test is being enabled after some minor adjustment of error codes and
  messages.
2009-05-15 13:06:11 +03:00
Matthias Leich
b82498dbe7 Fix for Bug#44826 main.information_schema_db could harm succeeding tests
Details:
1. Add missing "disconnect <session>"
2. Take care that the disconnects are finished when the test terminates
3. Replace error names by error numbers
4. Minor beautifying of script code
2009-05-15 11:59:31 +02:00
Georgi Kodinov
803ce846a3 merged 5.0-main -> 5.0-bugteam 2009-05-15 12:29:41 +03:00
Kristofer Pettersson
a6b599b575 Automerge 2009-05-15 11:23:23 +02:00
Alexey Kopytov
ec3c47485c Automerge. 2009-05-15 12:56:37 +04:00
Alexey Kopytov
8a5af4526e Automerge. 2009-05-15 12:55:01 +04:00
Alexey Kopytov
9a0e01d73e Automerge. 2009-05-15 12:54:40 +04:00
Alexey Kopytov
3c87aeeff0 Automerge. 2009-05-15 12:42:57 +04:00
Alexey Kopytov
12f18228b4 Bug #44792: valgrind warning when casting from time to time
Field_time::get_time() did not initialize some members of 
MYSQL_TIME which led to valgrind warnings when those members 
were accessed in Protocol_simple::store_time(). 
 
It is unlikely that this bug could result in wrong data 
being returned, since Field_time::get_time() initializes the 
'day' member of MYSQL_TIME to 0, so the value of 'day' 
in Protocol_simple::store_time() would be 0 regardless 
of the values for 'year' and 'month'.
2009-05-15 12:16:00 +04:00
Joerg Bruehe
111ec435ba Fix a bad merge:
Remove a cast (which shouldn't have got here anyway)
which might lose significant bits beyond 4 GB RAM.
2009-05-15 09:53:50 +02:00
Kristofer Pettersson
d9dc2c3d9b Auto merge 2009-05-15 09:36:42 +02:00
Sergey Glukhov
fc531ed45d 5.0-bugteam->5.1-bugteam merge 2009-05-15 12:11:07 +05:00
Sergey Glukhov
f024bde473 Bug#43612 crash with explain extended, union, order by
In UNION if we use last SELECT without braces and this
SELECT have ORDER BY clause, such clause belongs to
global UNION. It is parsed like last SELECT
part and used further as 'unit->global_parameters->order_list' value.
During DESCRIBE EXTENDED we call select_lex->print_order() for
last SELECT where order fields refer to tmp table 
which already freed. It leads to crash.
The fix is clean up global_parameters->order_list
instead of fake_select_lex->order_list.
2009-05-15 12:03:34 +05:00
Vladislav Vaintroub
efb195051a Bug #44775 MTR fails to bootstrap mysqld on Windows in Pushbuild 2.
Suspected reason for the failure is that safe_process.exe already runs in a job that does not allow breakaways. 
The fix is to use a fallback -  make newly created process the root of the new process group. This allows to kill process together with descendants via GenerateConsoleCtrlEvent (CTRL_BREAK_EVENT, pid)
2009-05-14 21:56:53 +02:00
Philip Stoev
52973c14c9 null merge. fix not applicable to 5.1 2009-05-14 15:37:00 +03:00
Philip Stoev
1ae3d2ac68 Bugs #44871 and #43894:
UNIX sockets need to be on a path shorter than 70 characters on some older platofrms.
  MTRv1 tries to fix this by moving the socket to the $TMPDIR, however this causes
  issues with certain tests on Windows.

  Fixed by not applying any hacks on Windows - Windows does not need them.
2009-05-14 15:14:25 +03:00
Kristofer Pettersson
8b39abe245 Bug#19027 MySQL 5.0 starts even with Fatal InnoDB errors
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.
2009-05-14 14:03:33 +02:00
Luis Soares
554605ce95 merge: 5.1-bt local bug fix branch --> 5.1-bt up-to-date. 2009-05-14 12:51:03 +01:00
Philip Stoev
d5fd4d4204 Bugs #44871 and #43894:
UNIX sockets need to be on a path shorter than 70 characters on some older platofrms.
MTRv1 tries to fix this by moving the socket to the $TMPDIR, however this causes
issues with certain tests on Windows.

Fixed by not applying any hacks on Windows - Windows does not need them.
2009-05-14 14:44:47 +03:00
Narayanan V
32aa8d01df merging with mysql-5.1-bugteam 2009-05-14 17:00:03 +05:30
Jonathan Perkin
28183ac3a9 Raise version number after cloning 5.1.35 2009-05-14 13:07:11 +02:00
Narayanan V
bc5b4c2e89 Bug#44232 Error msg should be improved when collation not supported.
checking in a test case that will reproduce
the error on v5r4.
2009-05-14 16:05:09 +05:30
Anurag Shekhar
a4fba5727a merging with fix for compiler warnings. 2009-05-14 11:45:43 +05:30
Ramil Kalimullin
5ae7b25792 Auto-merge. 2009-05-13 23:39:35 +05:00
Jim Winstead
9312174fc0 Merge from 5.1-bugteam 2009-05-13 08:56:34 -07:00
Jim Winstead
2e7cdfd3e7 Merge from 5.0-bugteam 2009-05-13 08:48:00 -07:00
Martin Hansson
d430002673 Merge. 2009-05-13 17:24:27 +02:00
Anurag Shekhar
8c73cafc4c Bug #39802 On Windows, 32-bit time_t should be enforced
This patch fixes compilation warning, "conversion from 'time_t' to 'ulong', 
possible loss of data". 
The fix is to typecast time_t to ulong before assigning it to ulong. 
Backported this from 6.0-bugteam tree.
2009-05-13 15:41:24 +05:30
Gleb Shchepa
fbb96b339a Bug #44290: explain crashes for subquery with distinct in
SQL_SELECT::test_quick_select

The crash was caused by an incomplete cleanup of JOIN_TAB::select
during the filesort of rows for GROUP BY clause inside a subquery.
Queries where a quick index access is replaced with filesort was
was affected. For example:

  SELECT 1 FROM
    (SELECT COUNT(DISTINCT c1) FROM t1
       WHERE c2 IN (1, 1) AND c3 = 2 GROUP BY c2) x

Quick index access related data in the SQL_SELECT::test_quick_select
function was inconsistent after an incomplete cleanup.
This function has been completed to prevent crashes in the
SQL_SELECT::test_quick_select function.
2009-05-13 12:51:39 +05:00
Ramil Kalimullin
17c6fc2db5 Fix for bug#44774 merged. 2009-05-13 09:21:38 +05:00
Jim Winstead
9a84e1e788 Merge in approved bug-fixes 2009-05-12 14:27:19 -07:00
Jim Winstead
6cbe3ef3f9 Merge from 5.0-bugteam 2009-05-12 14:20:33 -07:00
Gleb Shchepa
2121599d38 Bug #44290: explain crashes for subquery with distinct in
SQL_SELECT::test_quick_select

The crash was caused by an incomplete cleanup of JOIN_TAB::select
during the filesort of rows for GROUP BY clause inside a subquery.
Queries where a quick index access is replaced with filesort was
was affected. For example:

  SELECT 1 FROM
    (SELECT COUNT(DISTINCT c1) FROM t1
       WHERE c2 IN (1, 1) AND c3 = 2 GROUP BY c2) x

Quick index access related data in the SQL_SELECT::test_quick_select
function was inconsistent after an incomplete cleanup.
This function has been completed to prevent crashes in the
SQL_SELECT::test_quick_select function.
2009-05-12 22:42:31 +05:00
Georgi Kodinov
e16c3d866e Bug #44399: crash with statement using TEXT columns, aggregates, GROUP BY,
and HAVING

When calculating GROUP BY the server caches some expressions. It does
that by allocating a string slot (Item_copy_string) and assigning the 
value of the expression to it. This effectively means that the result
type of the expression can be changed from whatever it was to a string.
As this substitution takes place after the compile-time result type 
calculation for IN but before the run-time type calculations, 
it causes the type calculations in the IN function done at run time 
to get unexpected results different from what was prepared at compile time.

In the CASE ... WHEN ... THEN ... statement there was a similar problem
and it was solved by artificially adding a STRING argument to the matrix
at compile time, so if any of the arguments of the CASE function changes 
its type to a string it will still be covered by the information prepared 
at compile time.
Extended the CASE fix for cover the IN case.
An alternative way of fixing this problem is by caching the result type of 
the arguments at compile time and using the cached information at run time
instead of re-calculating the result types.
Preferred the CASE approach for uniformity and fix localization.
2009-05-12 16:59:17 +03:00
Satya B
06c5c3007c merge to 5.1-bugteam tree 2009-05-19 14:01:29 +05:30
Satya B
3ea0fd9d89 Applying InnoDB snashot 5.1-ss5024,part 3. Fixes BUG#42101
BUG#42101 - Race condition in innodb_commit_concurrency

Detailed revision comments:

r4994 | marko | 2009-05-14 15:04:55 +0300 (Thu, 14 May 2009) | 18 lines
branches/5.1: Prevent a race condition in innobase_commit() by ensuring
that innodb_commit_concurrency>0 remains constant at run time. (Bug #42101)

srv_commit_concurrency: Make this a static variable in ha_innodb.cc.

innobase_commit_concurrency_validate(): Check that innodb_commit_concurrency
is not changed from or to 0 at run time.  This is needed, because
innobase_commit() assumes that innodb_commit_concurrency>0 remains constant.
Without this limitation, the checks for innodb_commit_concurrency>0
in innobase_commit() should be removed and that function would have to
acquire and release commit_cond_m at least twice per invocation.
Normally, innodb_commit_concurrency=0, and introducing the mutex operations
would mean significant overhead.

innodb_bug42101.test, innodb_bug42101-nonzero.test: Test cases.

rb://123 approved by Heikki Tuuri
2009-05-19 13:50:28 +05:30
Satya B
be52668735 Applying InnoDB snashot 5.1-ss5024, part 2. Fix for BUG#44320
BUG#44320 - InnoDB: missing DB_ROLL_PTR in Table Monitor COLUMNS output

Detailed revision comments:

r4976 | marko | 2009-05-13 15:44:54 +0300 (Wed, 13 May 2009) | 6 lines
branches/5.1: Display DB_ROLL_PTR in the COLUMNS section of the
innodb_table_monitor output.  It was accidentally omitted due to an
off-by-one loop condition.  (Bug #44320)

rb://116 approved by Heikki Tuuri
2009-05-19 13:26:49 +05:30
Satya B
5db3bfbe33 Applying InnoDB snashot 5.1-ss5024 part 1, Follow up Fix for BUG#43660
Detailed revision comments:

r4705 | vasil | 2009-04-14 14:30:13 +0300 (Tue, 14 Apr 2009) | 7 lines
branches/5.1:

When using the random function, first take the modulus by the number of pages
and then typecast to ulint.

This is a followup to r4699 - the fix of Bug#43660.
2009-05-19 13:22:19 +05:30
Sergey Glukhov
2b373758af 5.0-bugteam->5.1-bugteam merge 2009-05-19 11:48:04 +05:00
Ramil Kalimullin
a3b26f1aa6 Fix for bug#44860: ALTER TABLE on view crashes server
Problem: executing queries like "ALTER TABLE view1;" we don't
check new view's name (which is not specified),
that leads to server crash.

Fix: do nothing (to be consistent with the behaviour for tables) 
in such cases.
2009-05-19 09:25:36 +05:00
Gleb Shchepa
7bd64afe8a manual merge 5.0-bugteam --> 5.1-bugteam (bug 40825) 2009-05-19 00:51:52 +05:00
Patrick Crews
189f8ebd97 Bug#44920 - MTR2 is not processing master.opt input properly on Windows
Disabling these two tests as they are affected by this bug / causing PB2 failures
on Windows platforms.  Can always disable via include/not_windows.inc if
the bug fix looks like it will take some time.
2009-05-18 12:53:06 -04:00