1
0
mirror of https://github.com/MariaDB/server.git synced 2026-01-06 05:22:24 +03:00
Commit Graph

21 Commits

Author SHA1 Message Date
Venkata Sidagam
3b954d1ddd Bug #12876932 - INCORRECT SELECT RESULT ON FEDERATED TABLE
Problem description:
Table 't' created with two colums having compound index on both the 
columns under innodb/myisam engine at remote machine. In the local 
machine same table is created undet the federated engine.
A select having where clause with along 'AND' operation gives wrong 
results on local machine.

Analysis: 
The given query at federated engine is wrongly transformed by 
federated::create_where_from_key() function and the same was sent to 
the remote machine. Hence the local machine is showing wrong results.

Given query "select c1 from t where c1 <= 2 and c2 = 1;"
Query transformed, after ha_federated::create_where_from_key() function is:
SELECT `c1`, `c2` FROM `t` WHERE  (`c1` IS NOT NULL ) AND 
( (`c1` >= 2)  AND  (`c2` <= 1) ) and the same sent to real_query().
In the above the '<=' and '=' conditions were transformed to '>=' and 
'<=' respectively.

ha_federated::create_where_from_key() function behaving as below:
The key_range is having both the start_key and end_key. The start_key 
is used to get "(`c1` IS NOT NULL )" part of the where clause, this 
transformation is correct. The end_key is used to get "( (`c1` >= 2) 
AND  (`c2` <= 1) )", which is wrong, here the given conditions('<=' and '=') 
are changed as wrong conditions('>=' and '<=').
The end_key is having {key = 0x39fa6d0 "", length = 10, keypart_map = 3, 
flag = HA_READ_AFTER_KEY}

The store_length is having value '5'. Based on store_length and length 
values the condition values is applied in HA_READ_AFTER_KEY switch case.
The switch case 'HA_READ_AFTER_KEY' is applicable to only the last part of 
the end_key and for previous parts it is going to 'HA_READ_KEY_OR_NEXT' case, 
here the '>=' is getting added as a condition instead of '<='.

Fix:
Updated the 'if' condition in 'HA_READ_AFTER_KEY' case to affect for all 
parts of the end_key. i.e 'i > 0' will used for end_key, Hence added it in 
the if condition.
2012-07-26 15:09:22 +05:30
Hemant Kumar
5b576596a2 Bug#12872803 - 62154: FEDERATED.FEDERATED_SERVER TEST FAILS WITH RUN --REPEAT=2
Fixed it to work with "--repeat" option.
2012-01-06 16:28:24 +05:30
Bjorn Munch
4cdf513179 Test federated_plugin must have ps-protocol off 2011-09-15 12:20:43 +02:00
Bjorn Munch
5d5746bdba Bug #11750417 40942: UNABLE TO INSTALL FEDERATED PLUGIN
Link plugin with a copy of string.o
  Copied test from 5.5 but this was dysfunctional, made it work
  Also tested on Windows
2011-09-05 14:38:20 +02:00
Anitha Gopi
5c0e022590 Changed to Oracle bug numbers 2011-05-24 12:08:13 +05:30
Christopher Powers
f40cc1e000 Bug#35333, "If Federated table can't connect to remote host, can't retrieve
metadata"
            
Improved error handling such that queries against Information_Schema.Tables won't
fail if a federated table can't make a remote connection.
2010-11-29 22:46:43 -06:00
Ramil Kalimullin
c2b9fdb055 Fix for bug#32426: "FEDERATED query returns corrupt results
for ORDER BY on a TEXT or VARCHAR field" backported to 5.1.
2010-03-05 14:51:37 +04:00
Davi Arnaut
5a420e6d37 Manual merge. 2009-09-30 19:25:06 -03:00
Satya B
59cc98194c Merge 5.0-bugteam to 5.1-bugteam 2009-03-19 14:19:51 +05:30
Georgi Kodinov
7ee8ac6dbd fixed system_mysql_db_fix30020 test faiilure
fixed federated warnings
2009-02-02 13:36:03 +02:00
Luis Soares
9453c4f0b6 BUG#40143 federated.federated_server fails sporadically in pushbuild
The original goal of the test, as reported on BUG #25721, is to check whether 
a deadlock happens or not when concurrently CREATING/ALTERING/DROPPING the 
same server. For that a procedure (p1) is created that runs the exact same 
CREATE/ALTER/DROP statements for 10K iterations and two different connections 
(threads - t1 and t2) call p1 concurrently. At the end of the 10K iterations, 
the test checks if there was errors while running the loop (SELECT e >0).
      
The problem is that In some cases it may happen that one thread, t1, gets 
scheduled to execute with just enough time to complete the iteration and 
never bumps into the other thread t2. Meaning that t1 will never run into an 
SQL exception. On the other hand, the other thread, t2, may run into t1 and 
never issue any/part of its own statements because it will throw an SQLEXCEPTION. 
This is probably the case for failures where only one value differs.
      
Furthermore, there is a third scenario: both threads are scheduled to run 
interleaved for each iteration (or even one thread completes all iterations 
before the other starts). In this case, both will succeed without any error. 
This is probably the case for the failure that reports two different values.
      
This patch addresses the failure in pushbuild by removing the error counting 
and the printout (SELECT > 0) at the end of the test. A timeout should occur 
if the error that the test is checking surfaces.
2009-01-22 14:07:58 +01:00
Alfranio Correia
3175a06a13 merge 5.1 --> 5.1-rpl 2008-12-13 19:42:12 +00:00
Mats Kindahl
450cc26b47 Post-merge fixes to fix test cases. 2008-10-29 18:38:18 +01:00
Mats Kindahl
1f29c52581 Merging 5.1 main into 5.1-rpl 2008-10-23 21:27:09 +02:00
He Zhenxing
6e86e05823 Merge 5.1 main -> 5.1-rpl 2008-09-06 08:51:17 +08:00
Magnus Svensson
3d34d34c88 Merge 5.1->5.1-rpl
Fix paths and name of a few files to make it work with new mtr.pl
2008-05-30 11:12:07 +02:00
msvensson@pilot.mysql.com
a011d27cf9 Merge pilot.mysql.com:/data/msvensson/mysql/mysql-5.1-rpl
into  pilot.mysql.com:/data/msvensson/mysql/mysql-5.1-mtr
2008-04-03 11:50:43 +02:00
msvensson@pilot.mysql.com
3b7c6573d6 Don't run federated tests for embedded 2008-03-10 12:54:15 +01:00
msvensson@pilot.mysql.com
56a354794c Merge pilot.mysql.com:/data/msvensson/mysql/mysql-5.1-rpl
into  pilot.mysql.com:/data/msvensson/mysql/mysql-5.1-mtr
2008-02-28 12:21:44 +01:00
msvensson@shellback.(none)
71e7862d85 Fix faulty select to check for existence of federated support 2007-12-13 17:07:35 +01:00
msvensson@pilot.mysql.com
d918988baa WL#4189
- dynamic configuration support
 - safe process
 - cleanups
 - create new suite for fedarated
2007-12-12 18:19:24 +01:00