Commit graph

56733 commits

Author SHA1 Message Date
Bernt M. Johnsen
cd5c40ecd4 Bug 43258 merged from gca 2009-03-04 15:56:13 +01:00
Bernt M. Johnsen
9f493ea98a bug#43258 prepared for push on 5.1 2009-03-04 13:45:49 +01:00
Dmitry Lenev
161b8d0b2f Fix for bug #40702 "skip_name_resolve fails sporadically on
pushbuild".

Under new MTR the server is not restarted for every test, so
threads started in the previous test case can show up in the
results of SHOW PROCESSLIST statement in this test, causing a
test failure.

Since we are not really interested in results of SHOW PROCESSLIST
in this test but rather in fact that server doesn't crash when
executing this statement this fix simply disables output of this
statement.

mysql-test/r/skip_name_resolve.result:
  Disable SHOW PROCESSLIST output to make test immune to threads
  started in previous test cases.
mysql-test/t/skip_name_resolve.test:
  Disable SHOW PROCESSLIST output to make test immune to threads
  started in previous test cases.
2009-03-04 15:33:56 +03:00
Staale Smedseng
61f905cfa1 Missing change to funcs_1.myisam_views after push of Bug#29458 2009-03-04 13:18:56 +01:00
Bjorn Munch
65074b23c2 Bug #42986 MTR2 should not allow 0 as a value for --parallel
Add sanity check that $opt_parallel > 0
2009-03-04 12:12:57 +01:00
Bjorn Munch
60dd4e8da4 Bug #43132 Pusbbuild 2 host sol10 sparc64 max is not running tests due to port unavailble
MTR gives up if wanted port not available
Try next range if set to 'auto'
Also, use next number for additional threads if explicitly set
2009-03-04 11:34:47 +01:00
Anurag Shekhar
aa13f72b90 Bug#41305 server crashes when inserting duplicate row into a merge table
This problem comes while inserting a duplicate row in merge table 
without key but the child table has a primary key. 
While forming the error message handler tries to locate the key field
which is creating this problem but as there is no key on the merge
table there is a segmentation fault.

mysql-test/r/merge.result:
  Updated results with new test for this bug.
mysql-test/t/merge.test:
  Added new test to test error generated from a key on child table 
  where merge table doesn't have any key.
storage/myisammrg/ha_myisammrg.cc:
  Added a new check to see if the value of error key is higher than 
  the number of key in merge table and if it is the error key set 
  to MAX_KEY. The error message generation routine treats MAX_KEY as 
  unknown key and doesn't tries to access this in key_info.
2009-03-04 14:48:07 +05:30
Matthias Leich
140cc614c9 Last slice of fix for Bug#42003 tests missing the disconnect of connections <> default
+ Fix for Bug#43114 wait_until_count_sessions too restrictive, random PB failures
+ Removal of a lot of other weaknesses found
+ modifications according to review
2009-03-03 21:34:18 +01:00
Timothy Smith
16c0631f0b Null merge of InnoDB snapshot innodb-5.0-ss4007 into 5.1 2009-03-02 18:32:04 -07:00
Timothy Smith
17c0218a18 Applying InnoDB snashot 5.1-ss4007, part 2. Fixes
Bug #42152: Race condition in lock_is_table_exclusive()

Detailed revision comments:

r4005 | marko | 2009-01-20 16:22:36 +0200 (Tue, 20 Jan 2009) | 8 lines
branches/5.1: lock_is_table_exclusive(): Acquire kernel_mutex before
accessing table->locks and release kernel_mutex before returning from
the function.  This fixes a portential race condition in the
"commit every 10,000 rows" in ALTER TABLE, CREATE INDEX, DROP INDEX,
and OPTIMIZE TABLE. (Bug #42152)

rb://80 approved by Heikki Tuuri
2009-03-02 18:10:37 -07:00
Timothy Smith
d2e4204a1e Applying InnoDB snashot 5.1-ss4007, part 1. Fixes
Bug #41571: MySQL segfaults after innodb recovery

Detailed revision comments:

r4004 | marko | 2009-01-20 16:19:00 +0200 (Tue, 20 Jan 2009) | 12 lines
branches/5.1: Merge r4003 from branches/5.0:

rec_set_nth_field(): When the field already is SQL null,
do nothing when it is being changed to SQL null. (Bug #41571)

Normally, MySQL does not pass "do-nothing" updates to the storage engine.
When it does and a column of an InnoDB table that is in ROW_FORMAT=COMPACT
is being updated from NULL to NULL, the InnoDB buffer pool will be corrupted
without this fix.

rb://81 approved by Heikki Tuuri
2009-03-02 18:09:35 -07:00
Timothy Smith
39a4ab6ce3 Applying InnoDB snashot 5.1-ss3931, part 2. Fixes
Bug #42075: dict_load_indexes failure in dict_load_table will corrupt the dictionary cache

Detailed revision comments:

r3930 | marko | 2009-01-14 15:51:30 +0200 (Wed, 14 Jan 2009) | 4 lines
branches/5.1: dict_load_table(): If dict_load_indexes() fails,
invoke dict_table_remove_from_cache() instead of dict_mem_table_free(),
so that the data dictionary will not point to freed data.
(Bug #42075, Issue #153, rb://76 approved by Heikki Tuuri)
2009-03-02 18:08:02 -07:00
Timothy Smith
20b1c21bf0 Applying InnoDB snashot 5.1-ss3931, part 1. Fixes
Bug #38187: Error 153 when creating savepoints

Detailed revision comments:

r3911 | sunny | 2009-01-13 14:15:24 +0200 (Tue, 13 Jan 2009) | 13 lines
branches/5.1: Fix Bug#38187 Error 153 when creating savepoints
InnoDB previously treated savepoints as a stack e.g.,
  SAVEPOINT a;
  SAVEPOINT b;
  SAVEPOINT c;
  SAVEPOINT b; <- This would delete b and c.

This fix changes the behavior to:
  SAVEPOINT a;
  SAVEPOINT b;
  SAVEPOINT c;
  SAVEPOINT b; <- Does not delete savepoint c
2009-03-02 18:06:44 -07:00
Timothy Smith
62d5d85c5d Applying InnoDB snashot 5.0-ss4007, part 3. Fixes
Bug #41571: MySQL segfaults after innodb recovery

This 5.0 fix will not be pushed into 5.1; a separate fix (from
innodb-5.1-ss4007) will be pushed into 5.1+.

Detailed revision comments:

r4003 | marko | 2009-01-20 16:12:50 +0200 (Tue, 20 Jan 2009) | 10 lines
branches/5.0: rec_set_nth_field(): When the field already is SQL null,
do nothing when it is being changed to SQL null. (Bug #41571)

Normally, MySQL does not pass "do-nothing" updates to the storage engine.
When it does and a column of an InnoDB table that is in ROW_FORMAT=COMPACT
is being updated from NULL to NULL, the InnoDB buffer pool will be corrupted
without this fix.

rb://81 approved by Heikki Tuuri
2009-03-02 18:00:23 -07:00
Timothy Smith
c3fec5d22f Applying InnoDB snashot 5.0-ss4007, part 2. Fixes
Bug #18828: If InnoDB runs out of undo slots, it returns misleading 'table is full'

This is a backport of code already in 5.1+.  The error message change referred
to in the detailed revision comments is still pending.

Detailed revision comments:

r3937 | calvin | 2009-01-15 03:11:56 +0200 (Thu, 15 Jan 2009) | 17 lines
branches/5.0:

Backport the fix for Bug#18828. Return DB_TOO_MANY_CONCURRENT_TRXS
when we run out of UNDO slots in the rollback segment. The backport
is requested by MySQL under bug#41529 - Safe handling of InnoDB running
out of undo log slots.

This is a partial fix since the MySQL error code requested to properly
report the error condition back to the client has not yet materialized.
Currently we have #ifdef'd the error code translation in ha_innodb.cc.
This will have to be changed as and when MySQl add the new requested
code or an equivalent code that we can then use.

Given the above, currently we will get the old behavior, not the
"fixed" and intended behavior.

Approved by:	Heikki (on IM)
2009-03-02 17:57:09 -07:00
Timothy Smith
901b29860d Applying InnoDB snashot 5.0-ss4007, part 1. Fixes
Bug #39939: DROP TABLE/DISCARD TABLESPACE takes long time in buf_LRU_invalidate_tablespace()

This was already fixed in 5.1+; this is a backport to 5.0.

Detailed revision comments:

r2743 | inaam | 2008-10-08 22:18:12 +0300 (Wed, 08 Oct 2008) | 13 lines
branches/5.0:

Backport of r2742 from branches/5.1:

Fix Bug#39939 DROP TABLE/DISCARD TABLESPACE takes long time in
buf_LRU_invalidate_tablespace()

Improve implementation of buf_LRU_invalidate_tablespace by attempting
hash index drop in batches instead of doing it one by one.

Reviewed by: Heikki, Sunny, Marko
Approved by: Heikki
2009-03-02 17:24:23 -07:00
Timothy Smith
ea3c499415 Auto up-merge from 5.0-bugteam to 5.1-bugteam 2009-03-02 17:11:25 -07:00
unknown
774a894fe1 Merge from mysql-5.1.32-release 2009-03-02 17:47:03 +01:00
Bernt M. Johnsen
82c21e46f6 Merged from gca branch (bug 42711) 2009-03-02 14:26:57 +01:00
Bernt M. Johnsen
f61230131b Merged from gca branch (bug 42711) 2009-03-02 14:03:01 +01:00
Bjorn Munch
6293a2ea93 Bug #40978 Error log gets truncated during testsuite, prevents debugging
Error log gets truncated when mysqld is restarted by MTR

mysql-test/include/check-warnings.test:
  Since server doesn't have log-error, get it from env. var. set by MTR
mysql-test/lib/My/ConfigFactory.pm:
  "Hide" log-error in a comment
mysql-test/mysql-test-run.pl:
  "Hide" log-error in my.cnf by comment
  add --console to arguments on Windows
  Move .err file to var/log
2009-03-02 13:48:35 +01:00
Bernt M. Johnsen
f5d1109c11 Prepared BUG#42711 for push on 5.1 2009-03-02 11:22:38 +01:00
Bernt M. Johnsen
ef165e36d9 Prepared BUG#42711 for push 2009-03-02 11:03:13 +01:00
Leonard Zhou
b1ffa3aa41 merge 2009-03-02 13:02:13 +08:00
Joerg Bruehe
8f06dba94d Merge main 5.1 into 5.1-build 2009-02-28 17:35:00 +01:00
Leonard Zhou
63c9bb320f BUG#39526 sql_mode not retained in binary log for CREATE PROCEDURE
Set wrong sql_mode when creating a procedure. 
So that the sql_mode can't be writen into binary log correctly.
      
Restore the current session sql_mode right before generating the binlog event
when creating a procedure.

mysql-test/suite/binlog/r/binlog_sql_mode.result:
  Test result
mysql-test/suite/binlog/t/binlog_sql_mode.test:
  Test file for sql_mode testing
sql/sp.cc:
  Restore the current session sql_mode right before generating the binlog event.
2009-02-28 09:35:18 +08:00
Tatiana A. Nurnberg
fe09326edf automerge 2009-02-27 21:43:43 +01:00
Staale Smedseng
a2231e59c5 Commit after merge from 5.0-bugteam 2009-02-27 18:07:58 +02:00
Staale Smedseng
d61f114f7f Commit after merge from 5.1-bugteam 2009-02-27 18:03:32 +02:00
Georgi Kodinov
2bc070a05a merged the fix for bug 41610 to 5.1-bugteam 2009-02-27 17:07:27 +02:00
Staale Smedseng
8eb09f0149 Commit for merge and push 2009-02-27 17:06:23 +02:00
Staale Smedseng
97b68934bc Recommit for merging and pushing 2009-02-27 16:11:15 +02:00
Georgi Kodinov
15760fe9d8 Bug #41610: key_infix_len can be overwritten causing some group by queries to
return no rows

The algorithm of determining the best key for loose index scan is doing a loop
over the available indexes and selects the one that has the best cost.
It retrieves the parameters of the current index into a set of variables.
If the cost of using the current index is lower than the best cost so far it 
copies these variables into another set of variables that contain the 
information for the best index so far.
After having checked all the indexes it uses these variables (outside of the 
index loop) to create the table read plan object instance.
The was a single omission : the key_infix/key_infix_len variables were used 
outside of the loop without being preserved in the loop for the best index 
so far.
This causes these variables to get overwritten by the next index(es) checked.
Fixed by adding variables to hold the data for the current index, passing 
the new variables to the function that assigns values to them and copying 
the new variables into the existing ones when selecting a new current best 
index.
To avoid further such problems moved the declarations of the variables used 
to keep information about the current index inside the loop's compound 
statement.

mysql-test/r/group_min_max.result:
  Bug #41610: test case
mysql-test/t/group_min_max.test:
  Bug #41610: test case
sql/opt_range.cc:
  Bug #41610: copy the infix data for the current best index
2009-02-27 15:25:06 +02:00
Patrick Crews
e5a0c0281e Bug#41893: Removal of trailing space noise causing Pushbuild failure. 2009-02-27 15:00:49 +02:00
Bjorn Munch
0900851646 Bug #43256 Bug#39026 got re-surrected
Problems with use of share/mysql dir
Explicitly look for "english" language file
2009-02-27 13:07:01 +01:00
Ingo Struewing
34143e4ec7 auto-merge 2009-02-27 12:22:10 +01:00
Ingo Struewing
9573707ffa Bug#40446 - mysql-test-run --gcov is broken
Some variable values were missing and perl constructs failed.

Initialized the variables and refactored the gcov functions.


.bzrignore:
  Bug#40446 - mysql-test-run --gcov is broken
  Added gcov log files.
mysql-test/lib/mtr_gcov.pl:
  Bug#40446 - mysql-test-run --gcov is broken
  Refactored the gcov functions.
mysql-test/mysql-test-run.pl:
  Bug#40446 - mysql-test-run --gcov is broken
  Initialized gcov variables.
  Added usage information.
2009-02-27 12:20:53 +01:00
Magnus Svensson
fd0aaee2b5 Merge 2009-02-27 11:26:55 +01:00
Tatiana A. Nurnberg
71913e350a Bug#40657: assertion with out of range variables and traditional sql_mode
In STRICT mode, out-of-bounds values caused an error message
to be queued (rather than just a warning), without any further
error-like processing happening. (The error is queued during
update, at which time it's too late. For it to be processed
properly, it would need to be queued during check-stage.)
The assertion rightfully complains that we're trying to send
an OK while having an error queued.

Changeset breaks a lot of tests out into check-stage. This also
allows us to send more correct warnings/error messages.

sql/set_var.cc:
  cleanup: fold get_unsigned() and fix_unsigned() into one,
  as well as all the semi-common code from the ::check
  functions.
2009-02-27 10:27:00 +01:00
Alexey Kopytov
f7cf8e57c1 Fix for bug #40552: Race condition around default_directories
in load_defaults() 

load_defaults(), my_search_option_files() and 
my_print_default_files()  utilized a global variable 
containing  a pointer to thread local memory. This could lead 
to race conditions when those functions were called with high 
concurrency. 

Fixed by changing the interface of the said functions to avoid 
the necessity for using a global variable.

Since we cannot change load_defaults() prototype for API
compatibility reasons, it was renamed my_load_defaults().
Now load_defaults() is a thread-unsafe wrapper around
a thread-safe version, my_load_defaults().


mysys/default.c:
  1. Added a thread-safe version of load_defaults(), changed
  load_defaults() with the old interface to be a thread-unsafe
  wrapper around the thread-safe version.
  2. Always use a private MEM_ROOT in my_print_default_files, 
  don't use a global variable.
sql-common/client.c:
  Use a thread-safe version of load_defaults().
2009-02-27 11:26:06 +02:00
Patrick Crews
1dc084f358 merge. 2009-02-27 10:45:19 +02:00
Patrick Crews
897ea3744a merge 2009-02-27 10:43:06 +02:00
Patrick Crews
1f847d1604 Bug#41893: main.variables mysql-test fails in new variable like '%alloc%' is added.
Added ORDER BY clause to I_S query to ensure consistent order.
There were differences between 5.1 and 6.0 output.  Correcting it 5.1.
2009-02-27 10:24:57 +02:00
Georgi Kodinov
f7f0e8b41f merged 5.0-bugteam -> 5.1-bugteam.
Fixed a warning in 5.1 caused by missing type cast.
2009-02-27 10:03:47 +02:00
Patrick Crews
8726343624 Merge 5.0->5.1 2009-02-27 09:47:29 +02:00
Georgi Kodinov
ee77216803 addendum to the fix for bug #41354: fixed the error returned by SELECT * 2009-02-27 09:41:39 +02:00
Bernt M. Johnsen
4ea27a3cdf Merged from gca-branch (bug 42567) 2009-02-26 19:21:51 +01:00
Georgi Kodinov
f3c6ff1f7a null-merged the fix and kept the test for bug #41354 from 5.0-bugteam 2009-02-26 19:20:50 +02:00
Bernt M. Johnsen
2cca1991bd Prepared for push (BUG#42567) 2009-02-26 18:17:06 +01:00
Georgi Kodinov
a9d707037a Bug #41354: Access control is bypassed when all columns
of a view are selected by * wildcard

Backported a part of the fix for 36086 to 5.0

mysql-test/r/view_grant.result:
  Bug #41354: test case
mysql-test/t/view_grant.test:
  Bug #41354: test case
sql/sql_acl.cc:
  Bug #41354: return table error when no access and *
sql/sql_base.cc:
  Bug #41354: backported the check in bug 36086 to 5.0
2009-02-26 19:00:44 +02:00