Commit graph

58911 commits

Author SHA1 Message Date
Joerg Bruehe
9ceeabd9b2 Compile fix for Windows:
Use "#ifdef", not plain "#if".
2009-10-16 14:06:33 +02:00
Satya B
a0e12ec269 Merging Innodb plugin 1.0.5 revisions from 5.1-main from revisions 3149 to 3163
also merged missing Innodb plugin revisions r5636,r5635 manually
2009-10-16 17:28:02 +05:30
Joerg Bruehe
9c76415a03 Upmerge a merge changeset - no contents change. 2009-10-16 11:33:39 +02:00
Bjorn Munch
d30c25ce14 merge 46007 from 5.1->trunk 2009-10-16 11:15:35 +02:00
Georgi Kodinov
757e641dea merge 2009-10-16 12:07:50 +03:00
Bjorn Munch
b21c62bedd merge 46007 from 5.1 2009-10-16 11:02:37 +02:00
Alexander Barkov
ac2a0348a2 A postfix for WL#751 2009-10-16 13:47:34 +05:00
Georgi Kodinov
6b81bff83c Revert the fix for bug #47123 until test suite failures are resolved. 2009-10-16 11:42:16 +03:00
Joerg Bruehe
d12bd3f794 Merge the bug fixes into the push tree. 2009-10-15 20:28:04 +02:00
Joerg Bruehe
1cd95b6a44 Merge bug fix into push tree. 2009-10-15 20:14:07 +02:00
Alexander Nozdrin
42ea72dbfe Merge from mysql-5.1. 2009-10-15 17:11:13 +04:00
Sergey Glukhov
7741d9b50d WL#751 Error message construction, backport 2009-10-15 17:23:43 +05:00
Georgi Kodinov
f79064c4d4 version change 2009-10-15 14:48:12 +03:00
Georgi Kodinov
a3586e2280 merge 2009-10-15 14:45:54 +03:00
Georgi Kodinov
ff5833d346 All NDB tests made experimental after a discussion with Bernhard Ocklin. 2009-10-15 14:22:25 +03:00
Georgi Kodinov
77fd19b5ec Marked all the NDB related tests experimental as agreed with Bernard Ocklin. 2009-10-15 14:02:29 +03:00
Alexey Kopytov
f98d11ee24 Manual merge. 2009-10-15 14:42:51 +04:00
Alexander Barkov
f8a54c72ff Backporting WL#4164 Two-byte collation IDs 2009-10-15 15:17:32 +05:00
Sergey Vojtovich
cd69e34ca7 Disabled part of test for BUG#47073 until additional fix is pushed. 2009-10-15 12:31:11 +05:00
Jorgen Loland
aea42df6f5 merge 2009-10-14 18:24:29 +02:00
Jorgen Loland
a91b18262c Followup patch for BUG#47280
Temporary tables may set join->group to 0 even though there is 
grouping. Also need to test if sum_func_count>0 when JOIN::exec() 
decides whether to present results in a grouped manner.
2009-10-14 18:20:01 +02:00
Georgi Kodinov
a820c73229 merge 2009-10-14 18:46:45 +03:00
Georgi Kodinov
88aa7af8c8 merge 2009-10-14 18:45:09 +03:00
Georgi Kodinov
8fc8d661a1 version change 2009-10-14 18:44:22 +03:00
Georgi Kodinov
9449be5868 merge 2009-10-14 17:36:11 +03:00
Georgi Kodinov
b251cbd531 merged main to mysql-5.0-bugteam 2009-10-14 17:33:20 +03:00
Georgi Kodinov
4bc8680854 merged 5.1-main 2009-10-14 17:30:39 +03:00
He Zhenxing
adab17b9e6 Attempt to fix Windows testcase output issue 2009-10-14 21:25:11 +08:00
Alexander Barkov
583b853092 A postfix for backporting WL#1397 convert XML -> SQL
mysql-test/r/loadxml.result
mysql-test/t/loadxml.test
  Fixing non-deterministic test results

sql/sql_yacc.yy
  Initializing fname_first using get_tok_end() instead of get_ptr().
  The latter is grammar-dependant. The former is not.
2009-10-14 17:10:22 +05:00
Alexander Nozdrin
1c3de291f7 Fix test results after the latest merge. 2009-10-14 15:36:55 +04:00
Jorgen Loland
bf0aa2bd34 Bug#47280 - strange results from count(*) with order by multiple
columns without where/group
                     
Simple SELECT with implicit grouping used to return many rows if
the query was ordered by the aggregated column in the SELECT
list. This was incorrect because queries with implicit grouping
should only return a single record.
                              
The problem was that when JOIN:exec() decided if execution needed
to handle grouping, it was assumed that sum_func_count==0 meant
that there were no aggregate functions in the query. This
assumption was not correct in JOIN::exec() because the aggregate
functions might have been optimized away during JOIN::optimize().
                  
The reason why queries without ordering behaved correctly was
that sum_func_count is only recalculated if the optimizer chooses
to use temporary tables (which it does in the ordered case).
Hence, non-ordered queries were correctly treated as grouped.
                  
The fix for this bug was to remove the assumption that
sum_func_count==0 means that there is no need for grouping. This
was done by introducing variable "bool implicit_grouping" in the
JOIN object.
2009-10-14 10:46:50 +02:00
Alexander Nozdrin
ca08f10ccd Manual merge from mysql-trunk-merge. 2009-10-14 12:25:39 +04:00
sunanda.menon@sun.com
85f00a96ee Null-merge from mysql-5.0.84sp1-release 2009-10-14 10:16:04 +02:00
Bjorn Munch
23306c563a Bug #46007 Tests fail due to a crash while running 'check testcase before test'
Difficult to debug due to lacking report
This does not solve the real issue, but extracts server log when it happens
Forst commit was incomplete, didn't cover all cases
2009-10-14 09:31:34 +02:00
Alexander Nozdrin
32e51de7f5 Merge from mysql-5.1. 2009-10-14 11:17:49 +04:00
He Zhenxing
c1584c9801 Postfix after merge semi-sync with heartbeat
Use ev_offset instead of 1 as the packet header offset when getting
log position from events for heartbeat

call reset_transmit_packet before calling send_heartbeat_event
2009-10-14 13:24:47 +08:00
0ece5891a2 Bug#46640: output from mysqlbinlog command in 5.1 breaks replication
The BINLOG statement was sharing too much code with the slave SQL thread, introduced with
the patch for Bug#32407. This caused statements to be logged with the wrong server_id, the
id stored inside the events of the BINLOG statement rather than the id of the running 
server.
      
Fix by rearranging code a bit so that only relevant parts of the code are executed by
the BINLOG statement, and the server_id of the server executing the statements will 
not be overrided by the server_id stored in the 'format description BINLOG statement'.
2009-10-14 09:39:05 +08:00
karen.langford@sun.com
5ad32f3e89 Raise version number after cloning 5.0.87 2009-10-13 20:50:37 +02:00
karen.langford@sun.com
c06a3c4fb4 Null-merge from mysql-5.1.37sp1-release 2009-10-13 20:21:42 +02:00
Alexey Kopytov
5db734a896 Bug #47123: Endless 100% CPU loop with STRAIGHT_JOIN
The problem was in incorrect handling of predicates involving 
NULL as a constant value by the range optimizer.  
 
For example, when creating a SEL_ARG node from a condition of 
the form "field < const" (which would normally result in the 
"NULL < field < const" SEL_ARG),  the special case when "const" 
is NULL was not taken into account, so "NULL < field < NULL" 
was produced for the "field < NULL" condition. 
 
As a result, SEL_ARG structures of this form could not be 
further optimized which in turn could lead to incorrectly 
constructed SEL_ARG trees. In particular, code assuming SEL_ARG 
structures to always form a sequence of ordered disjoint 
intervals could enter an infinite loop under some 
circumstances. 
 
Fixed by changing get_mm_leaf() so that for any sargable 
predicate except "<=>" involving NULL as a constant, "empty" 
SEL_ARG is returned, since such a predicate is always false.
2009-10-13 19:49:32 +04:00
Satya B
12a4c67b22 NULL Merge Innodb snapshot 5.1-ss5921 to mysql-trunk-merge 2009-10-13 16:11:08 +05:30
Alexander Nozdrin
0f51423532 Merge from mysql-5.1. 2009-10-13 13:42:38 +04:00
Satya B
1685375812 merge to mysql-5.1-bugteam 2009-10-13 12:48:29 +05:30
Satya B
2bcb511072 Applying Innodb Plugin 1.0.5 snapshot, part 15
- Fix a typo and adjust the CMakeLists.txt
- Remove the README file as it doesn't exist in 
  Innodb plugin 1.0.5
2009-10-13 12:41:42 +05:30
He Zhenxing
eb1b89a9ef Auto merge 2009-10-13 12:24:59 +08:00
He Zhenxing
b289e515aa Auto merge 5.1-rep-semisync 2009-10-13 10:28:02 +08:00
814a3cc246 Bug#45578: Test binlog_tmp_table fails ramdonly on PB2: Unknown table 't2'
The bug has been closed.
2009-10-13 10:26:15 +08:00
He Zhenxing
dab1162b53 Backport post fix for semisync
Remove functions that no longer needed
Fix warning suppressions
2009-10-12 21:21:13 +08:00
He Zhenxing
b92ec52915 Backport BUG#47298 Semisync: always wait until timeout if no semi-sync slave available
Add an option to control whether the master should keep waiting
until timeout when it detected that there is no semi-sync slave
available.

The bool option 'rpl_semi_sync_master_wait_no_slave' is 1 by
defalt, and will keep waiting until timeout. When set to 0, the
master will switch to asynchronous replication immediately when
no semi-sync slave is available.
2009-10-12 21:15:32 +08:00
He Zhenxing
64fc766c93 BUG#45674 FLUSH STATUS does not reset semisynchronous counters
Semi-sync status were not reset by FLUSH STATUS, this was because
all semi-sync status variables are defined as SHOW_FUNC and FLUSH
STATUS could only reset SHOW_LONG type variables.

This problem is fixed by change all status variables that should
be reset by FLUSH STATUS from SHOW_FUNC to SHOW_LONG.

After the fix, the following status variables will be reset by
FLUSH STATUS:
  Rpl_semi_sync_master_yes_tx
  Rpl_semi_sync_master_no_tx

Note: normally, FLUSH STATUS itself will be written into binlog
and be replicated, so after FLUSH STATS, one of
  Rpl_semi_sync_master_yes_tx
  Rpl_semi_sync_master_no_tx
can be 1 dependent on the semi-sync status. So it's recommended
to use FLUSH NO_WRITE_TO_BINLOG STATUS to avoid this.
2009-10-12 21:03:04 +08:00