Commit graph

56610 commits

Author SHA1 Message Date
Luis Soares
5d5f0fcd47 BUG#39753: Replication failure on MIXED + bit + myisam + no PK
When using mixed mode the record values stored inside the storage
engine differed from the ones computed from the row event. This
happened because the prepare_record function was calling
empty_record macro causing some don't care bits to be left set.
                          
Replacing the empty_record plus explicitly setting defaults with 
restore_record to restore the record default values fixes this.
2009-03-05 20:54:53 +01:00
Sergey Glukhov
a95cd5a3af removed unused variable 2009-03-05 17:23:16 +04:00
Sergey Glukhov
e244dd2065 automerge 2009-03-05 15:58:04 +04:00
Guangbao Ni
3383844cc5 Auto merged 2009-03-05 19:01:46 +00:00
Guangbao Ni
58dfaa8b67 BUG#41980 SBL, INSERT .. SELECT .. LIMIT = ERROR, even when @@SQL_LOG_BIN is 0 !
When binlog_format is STATEMENT and the statement is unsafe before,
the unsafe warning/error message was issued without checking
whether the SQL_LOG_BIN was turned on or not.
      
Fixed with adding a sql_log_bin_toplevel flag in THD to check
whether SQL_LOG_BIN is ON in current session whatever the current is in sp or not.
2009-03-05 18:39:02 +00:00
Sergey Glukhov
3fac11b907 Bug#41030 Wrong meta data (incorrect fieldlen)
set user variable max length on
fix_length_and_dec() stage
using real value length.
2009-03-05 15:34:02 +04:00
Sergey Glukhov
72292421d0 Bug#42758 INFORMATION_SCHEMA.COLUMNS is inconsistent
remove 'unsigned', 'zerofill' attributes
from DATA_TYPE column value.
2009-03-05 15:15:47 +04:00
He Zhenxing
39da93981b Auto merge 2009-03-05 18:34:57 +08:00
He Zhenxing
f2fca881c4 Null merge backporting patch of BUG#37051 from 5.0-bugteam to 5.1-bugteam 2009-03-05 18:23:46 +08:00
He Zhenxing
52a07e9b74 BUG#37051 Replication rules not evaluated correctly
Backporting patch to 5.0.
2009-03-05 18:10:44 +08:00
Staale Smedseng
ea54709f6a Addendum to previous patch for Bug#29458. A number
of system errnos when opening a table are masked 
as ER_FILE_NOT_FOUND. This patch handles this as
"Operation failed" as well.
2009-03-05 09:41:00 +01:00
Bernt M. Johnsen
715dc22d62 Bug 43258 merged from gca 2009-03-04 15:56:13 +01:00
Bernt M. Johnsen
1bcafb4b74 bug#43258 prepared for push on 5.1 2009-03-04 13:45:49 +01:00
Dmitry Lenev
ac2d9c177d 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.
2009-03-04 15:33:56 +03:00
Staale Smedseng
c7c1732bdb Missing change to funcs_1.myisam_views after push of Bug#29458 2009-03-04 13:18:56 +01:00
Timothy Smith
96d5bac856 Null merge of InnoDB snapshot innodb-5.0-ss4007 into 5.1 2009-03-02 18:32:04 -07:00
Timothy Smith
896aba9630 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
67b5c9d4d1 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
7e5f269408 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
ed0973581b 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
6ac6c9ed48 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
fd5642b67d 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
acc83c2ba1 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
af7f2cd737 Auto up-merge from 5.0-bugteam to 5.1-bugteam 2009-03-02 17:11:25 -07:00
Bernt M. Johnsen
6ed0ee25be Merged from gca branch (bug 42711) 2009-03-02 14:26:57 +01:00
Bernt M. Johnsen
f7a2fac719 Merged from gca branch (bug 42711) 2009-03-02 14:03:01 +01:00
Bernt M. Johnsen
a37ebaf614 Prepared BUG#42711 for push on 5.1 2009-03-02 11:22:38 +01:00
Bernt M. Johnsen
2944bb3618 Prepared BUG#42711 for push 2009-03-02 11:03:13 +01:00
Leonard Zhou
a73d38dcc0 merge 2009-03-02 13:02:13 +08:00
Leonard Zhou
d0d6782eb4 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.
2009-02-28 09:35:18 +08:00
Staale Smedseng
be853aeced Commit after merge from 5.0-bugteam 2009-02-27 18:07:58 +02:00
Staale Smedseng
3213d510c5 Commit after merge from 5.1-bugteam 2009-02-27 18:03:32 +02:00
Georgi Kodinov
f075494e00 merged the fix for bug 41610 to 5.1-bugteam 2009-02-27 17:07:27 +02:00
Staale Smedseng
0b46a263ab Commit for merge and push 2009-02-27 17:06:23 +02:00
Staale Smedseng
c0fb3df0d0 Recommit for merging and pushing 2009-02-27 16:11:15 +02:00
Georgi Kodinov
4d2f047e95 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.
2009-02-27 15:25:06 +02:00
Patrick Crews
fb78405625 Bug#41893: Removal of trailing space noise causing Pushbuild failure. 2009-02-27 15:00:49 +02:00
Ingo Struewing
fba3a4143b auto-merge 2009-02-27 12:22:10 +01:00
Ingo Struewing
29ca5d019c 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.
2009-02-27 12:20:53 +01:00
Magnus Svensson
8bea4016b2 Merge 2009-02-27 11:26:55 +01:00
Patrick Crews
88b906ac21 merge. 2009-02-27 10:45:19 +02:00
Patrick Crews
0ae2ebd627 merge 2009-02-27 10:43:06 +02:00
Patrick Crews
28e64cc32d 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
32a48f06a2 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
2c44ef16a5 Merge 5.0->5.1 2009-02-27 09:47:29 +02:00
Georgi Kodinov
494a764174 addendum to the fix for bug #41354: fixed the error returned by SELECT * 2009-02-27 09:41:39 +02:00
Bernt M. Johnsen
d3380a9285 Merged from gca-branch (bug 42567) 2009-02-26 19:21:51 +01:00
Georgi Kodinov
adf6fc1afc 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
a4002891fb Prepared for push (BUG#42567) 2009-02-26 18:17:06 +01:00
Georgi Kodinov
b337ac28d0 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
2009-02-26 19:00:44 +02:00