Commit graph

55160 commits

Author SHA1 Message Date
Georgi Kodinov
a4890f896c merged 5.0-5.1.29-rc -> 5.1-5.1.29-rc 2008-10-23 17:09:19 +03:00
Georgi Kodinov
07c6d5cbd0 merged 5.1-main to 5.1-5.1.29-rc 2008-10-23 16:39:21 +03:00
Georgi Kodinov
b6fbc38c13 merged 5.0 main -> 5.0-5.1.29-rc 2008-10-23 16:35:44 +03:00
Vladislav Vaintroub
f14edb91fb Bug#40280: Message compiler(mc.exe) needed to compile MySQL on windows.
Visual Studio 2008 Express edition does not include message compiler mc.exe
It is not possible to build MySQL server if only VC2008 Express is installed,
because we use mc.exe to generate event log messages.

This patch removes the mc.exe dependency. Generated files message.h, 
message.rc and MSG00001.bin  are checked into source code repository.
Instructions on how to add or change messages are added to messages.mc
2008-10-23 15:28:53 +02:00
Joerg Bruehe
fac7b57d08 Upmerge 5.0-build -> 5.1-build
(null-merge, just the merge changesets, all base changes are already in)
2008-10-23 12:02:00 +02:00
Joerg Bruehe
43b1027c10 Merge main 5.1 -> 5.1-build 2008-10-23 11:51:30 +02:00
Sven Sandberg
cf10a465f8 Merged new test case for BUG#39812 to the head of 5.1 2008-10-22 16:45:29 +02:00
Sven Sandberg
01b3315922 BUG#39812: Make statement replication default for 5.1 (to match 5.0)
Added test case to check the default value of @@binlog_format.
2008-10-22 16:00:45 +02:00
Davi Arnaut
dc324e86b2 Merge post-merge fix from mysql-5.0-bugteam. 2008-10-21 19:07:31 -02:00
Davi Arnaut
e139d9c775 Post-merge fix: drop table at the end of test. 2008-10-21 19:02:26 -02:00
Davi Arnaut
188293f5b3 Merge Bug#28323 to mysql-5.1.29-rc 2008-10-21 18:28:01 -02:00
Davi Arnaut
b0d673fc4d Bug#28323: Server crashed in xid cache operations
The problem was that the server did not robustly handle a
unilateral roll back issued by the Resource Manager (RM)
due to a resource deadlock within the transaction branch.
By not acknowledging the roll back, the server (TM) would
eventually corrupt the XA transaction state and crash.

The solution is to mark the transaction as rollback-only
if the RM indicates that it rolled back its branch of the
transaction.
2008-10-21 16:07:31 -02:00
Davi Arnaut
ca53651d40 Bug#28323: Server crashed in xid cache operations
The problem was that the server did not robustly handle a
unilateral roll back issued by the Resource Manager (RM)
due to a resource deadlock within the transaction branch.
By not acknowledging the roll back, the server (TM) would
eventually corrupt the XA transaction state and crash.

The solution is to mark the transaction as rollback-only
if the RM indicates that it rolled back its branch of the
transaction.
2008-10-21 15:45:43 -02:00
timothy.smith@sun.com
bc51b15d75 Merge from mysql-5.0.70-release 2008-10-21 17:21:23 +02:00
Kristofer Pettersson
3c76b5a104 Bug#39451 Debug builds broken with Sun Studio compiler
Debug builds of MySQL 5.1, 6.0 with Sun Studio 12 broke because of
use of gcc specific feature.
            
The fix is to replace __FUNCTION__ with the corresponding character string
2008-10-21 14:18:38 +02:00
Georgi Kodinov
b84bc62bc4 merge 5.1-bugteam -> bug 38693-5.1-bugteam 2008-10-21 11:00:08 +03:00
Georgi Kodinov
e8515f1992 merged 5.0-bugteam -> 5.1-bugteam 2008-10-21 10:55:03 +03:00
Kristofer Pettersson
4831873fb4 Merge changeset 2008-10-21 09:03:12 +02:00
Kristofer Pettersson
fbe2319b08 Auto merge 2008-10-21 09:00:42 +02:00
Patrick Crews
92316605fb merge from bk-internal prior to push. 2008-10-20 19:00:40 -04:00
Patrick Crews
5639e27dd7 Bug#37798 main.log_tables fails randomly on powermacg5 and windows
Fixed .test file, re-recorded .result file

Ensured reset of system variables at the end of subtests.
2008-10-20 18:41:19 -04:00
Mats Kindahl
95833a74d0 Bug #40004 Replication failure with no PK + no indexes
In certain situations, a scan of the table will return the error
code HA_ERR_RECORD_DELETED, and this error code is not 
correctly caught in the Rows_log_event::find_row() function, which
causes an error to be returned for this case.

This patch fixes the problem by adding code to either ignore the
record and continuing with the next one, the the event of a table
scan, or change the error code to HA_ERR_KEY_NOT_FOUND, in the event
that a key lookup is attempted.
2008-10-20 20:50:08 +02:00
Kristofer Pettersson
4236c9c0b2 5.0 -> 5.1 NULL MERGE. 2008-10-20 15:45:18 +02:00
Georgi Kodinov
41f139bbc1 merge 5.0-bugteam -> bug 38693-5.0-bugteam 2008-10-20 16:26:07 +03:00
Kristofer Pettersson
1da6d9f171 Auto commit 2008-10-20 13:39:33 +02:00
Georgi Kodinov
a0e3001cdb Bug #33811: Call to stored procedure with SELECT * / RIGHT JOIN
fails after the first time
  
Two separate problems : 
  1. When flattening joins the linked list used for name resolution 
  (next_name_resolution_table) was not updated.
  Fixed by updating the pointers when extending the table list
  
  2. The items created by expanding a * (star) as a column reference
  were marked as fixed, but no cached table was assigned to them 
  (unlike what Item_field::fix_fields does).
  Fixed by assigning a cached table (so the re-preparation is done
  faster).
  
Note that the fix for #2 hides the fix for #1 in most cases
(except when a table reference cannot be cached).
2008-10-17 17:55:06 +03:00
Ramil Kalimullin
bde82a86f4 Fix for bug #40053: 'check table .. for upgrade' doesn't detect
collation change made in 5.1.24-rc

Problem: 'CHECK TABLE ... FOR UPGRADE' did not check for 
incompatible collation changes made in MySQL 5.1.24-rc.

Fix: add the check.
2008-10-17 17:45:17 +05:00
Georgi Kodinov
42db42facf merged 5.0-bugteam -> 5.1-bugteam 2008-10-17 11:49:23 +03:00
Georgi Kodinov
3345b64f4e merged 5.0-bugteam -> bug 39958 2008-10-17 11:47:35 +03:00
Serge Kozlov
7f3582ff85 Bug#39593. Removed test case rpl_row_stop_middle with result file 2008-10-16 22:40:15 +04:00
Gleb Shchepa
56aa88b346 merge 5.0-bugteam --> 5.1-bugteam (bug 39844) 2008-10-16 23:04:31 +05:00
Gleb Shchepa
c411a11e5c Bug #39844: Query Crash Mysql Server 5.0.67
Server crashed during a sort order optimization
of a dependent subquery:

SELECT
    (SELECT t1.a FROM t1, t2
      WHERE t1.a = t2.b AND t2.a = t3.c
      ORDER BY t1.a)
  FROM t3;


Bitmap of tables, that the reference to outer table
column uses, in addition to the regular table bit
has the OUTER_REF_TABLE_BIT bit set.
The only_eq_ref_tables function traverses this map
bit by bit simultaneously with join->map2table list.
Obviously join->map2table never contains an entry
for the OUTER_REF_TABLE_BIT pseudo-table, so the
server crashed there.


The only_eq_ref_tables function has been modified
to traverse regular table bits only like the
update_depend_map function (resetting of the
OUTER_REF_TABLE_BIT there is enough, but
resetting of the whole set of PSEUDO_TABLE_BITS
is used there for sure).
2008-10-16 21:37:17 +05:00
Georgi Kodinov
adfa153bcc Bug #39958: Test "windows" lacks a cleanup
Added the missing DROP TABLE
2008-10-16 14:16:27 +03:00
Davi Arnaut
7b327a5821 Merge mysql-5.0-bugteam into mysql-5.1-bugteam. 2008-10-15 22:50:56 -03:00
Davi Arnaut
459b8b3dd2 Bug#38477: my_pthread_setprio can change dispatch class on Solaris, not just priority
The problem is that the function used by the server to increase
the thread's priority (pthread_setschedparam) has the unintended
side-effect of changing the calling thread scheduling policy,
possibly overwriting a scheduling policy set by a sysadmin.

The solution is to rely on the pthread_setschedprio function, if
available, as it only changes the scheduling priority and does not
change the scheduling policy. This function is usually available on
Solaris and Linux, but it use won't work by default on Linux as the
the default scheduling policy only accepts a static priority 0 -- this
is acceptable for now as priority changing on Linux is broken anyway.
2008-10-15 19:28:26 -03:00
Davi Arnaut
28f29b7313 Bug#38941: fast mutexes in MySQL 5.1 have mutex contention when calling random()
The problem is that MySQL's 'fast' mutex implementation uses the
random() routine to determine the spin delay. Unfortunately, the
routine interface is not thead-safe and some implementations (eg:
glibc) might use a internal lock to protect the RNG state, causing
excessive locking contention if lots of threads are spinning on
a MySQL's 'fast' mutex. The code was also misusing the value
of the RAND_MAX macro, this macro represents the largest value
that can be returned from the rand() function, not random().

The solution is to use the quite simple Park-Miller random number
generator. The initial seed is set to 1 because the previously used
generator wasn't being seeded -- the initial seed is 1 if srandom()
is not called.

Futhermore, the 'fast' mutex implementation has several shortcomings
and provides no measurable performance benefit. Therefore, its use is
not recommended unless it provides directly measurable results.
2008-10-15 19:21:00 -03:00
Davi Arnaut
4ab10baace Bug#37075: offset of limit clause might be truncated on 32-bits server w/o big tables
The problem is that the offset argument of the limit clause
might be truncated on a 32-bits server built without big
tables support. The truncation was happening because the
original 64-bits long argument was being cast to a 32-bits
(ha_rows) offset counter.

The solution is to check if the conversing resulted in value
truncation and if so, the offset is set to the maximum possible
value that can fit on the type.
2008-10-15 18:34:51 -03:00
Horst Hunger
d320ca5c48 Merge to update the tree before a push. 2008-10-15 21:26:32 +02:00
Horst Hunger
2f99a53eeb Final patch for bug#36733 containing all changes. 2008-10-15 20:58:53 +02:00
Georgi Kodinov
b204dc43cc Bug #38693: leaked memory with blobs!
If delayed insert fails to upgrade the lock it was not
freeing the temporary memory storage used to keep
newly constructed blob values in memory.
Fixed by iterating over the remaining rows in the delayed
insert rowset and freeing the blob storage for each row.

No test suite because it involves concurrent delayed inserts 
on a table and cannot easily be made deterministic. 

Added a correct valgrind suppression for Fedora 9.
2008-10-15 16:55:52 +03:00
Kristofer Pettersson
2c576fa9d2 automerge 2008-10-15 12:06:44 +02:00
Kristofer Pettersson
00b75c2075 automerge 2008-10-15 09:55:15 +02:00
Joerg Bruehe
5d4e10c353 Merge Kent's patch to "zlib/gzio.c" from 5.0-build to 5.1-build 2008-10-14 22:34:11 +02:00
Chad MILLER
6597382c2a Merge fix for bug 34129. 2008-10-14 15:59:01 -04:00
Chad MILLER
628a7dd2bc In mysqldumpslow, consume arbitrary whitespace in the Query_time line. 2008-10-14 15:52:52 -04:00
Davi Arnaut
d4c75b7d0f Bug#38823: Invalid memory access when a SP statement does wildcard expansion
The problem is that field names constructed due to wild-card
expansion done inside a stored procedure could point to freed
memory if the expansion was performed after the first call to
the stored procedure.

The problem was solved by patch for Bug#38691. The solution
was to allocate the database, table and field names in the
in the statement memory instead of table memory.
2008-10-14 11:04:36 -03:00
Kent Boortz
36e4c7d281 The header "config.h" needs to be included "early" to control other headers.
This time the inclusion of <stdio.h> before "config.h" enabled legacy large
file support, seek64() and similar, on AIX breaking the compile of "gzio.c"
2008-10-13 14:23:39 +02:00
Georgi Kodinov
9f71b9c5cd merged 5.0-bugteam -> 5.1->bugteam 2008-10-13 13:24:04 +03:00
Georgi Kodinov
9031c8c1d8 merged 5.1-main -> 5.1-bugteam 2008-10-13 13:22:36 +03:00
Joerg Bruehe
8d949612de Merge a merge changeset - no changes. 2008-10-12 11:36:27 +02:00