Commit d005299a authored by ingo@mysql.com's avatar ingo@mysql.com

Bug#9112 - Merge table with composite index producing invalid results with some queries

Reduced the precision of the test numbers.
Not all platforms could reproduce the exact numbers.
parent 4025d296
...@@ -620,28 +620,28 @@ create table t3 engine=merge union=(t1, t2) select * from t2; ...@@ -620,28 +620,28 @@ create table t3 engine=merge union=(t1, t2) select * from t2;
INSERT TABLE 't2' isn't allowed in FROM table list INSERT TABLE 't2' isn't allowed in FROM table list
drop table t1, t2; drop table t1, t2;
create table t1 ( create table t1 (
a double(16,6), a double(14,4),
b varchar(10), b varchar(10),
index (a,b) index (a,b)
) engine=merge union=(t2,t3); ) engine=merge union=(t2,t3);
create table t2 ( create table t2 (
a double(16,6), a double(14,4),
b varchar(10), b varchar(10),
index (a,b) index (a,b)
) engine=myisam; ) engine=myisam;
create table t3 ( create table t3 (
a double(16,6), a double(14,4),
b varchar(10), b varchar(10),
index (a,b) index (a,b)
) engine=myisam; ) engine=myisam;
insert into t2 values ( null, ''); insert into t2 values ( null, '');
insert into t2 values ( 9999999999.999999, ''); insert into t2 values ( 9999999999.9999, '');
insert into t3 select * from t2; insert into t3 select * from t2;
select min(a), max(a) from t1; select min(a), max(a) from t1;
min(a) max(a) min(a) max(a)
9999999999.999998 9999999999.999998 9999999999.9999 9999999999.9999
flush tables; flush tables;
select min(a), max(a) from t1; select min(a), max(a) from t1;
min(a) max(a) min(a) max(a)
9999999999.999998 9999999999.999998 9999999999.9999 9999999999.9999
drop table t1, t2, t3; drop table t1, t2, t3;
...@@ -273,25 +273,25 @@ drop table t1, t2; ...@@ -273,25 +273,25 @@ drop table t1, t2;
# non-debug build. But there is no guarantee that this will be always so. # non-debug build. But there is no guarantee that this will be always so.
# #
create table t1 ( create table t1 (
a double(16,6), a double(14,4),
b varchar(10), b varchar(10),
index (a,b) index (a,b)
) engine=merge union=(t2,t3); ) engine=merge union=(t2,t3);
create table t2 ( create table t2 (
a double(16,6), a double(14,4),
b varchar(10), b varchar(10),
index (a,b) index (a,b)
) engine=myisam; ) engine=myisam;
create table t3 ( create table t3 (
a double(16,6), a double(14,4),
b varchar(10), b varchar(10),
index (a,b) index (a,b)
) engine=myisam; ) engine=myisam;
insert into t2 values ( null, ''); insert into t2 values ( null, '');
insert into t2 values ( 9999999999.999999, ''); insert into t2 values ( 9999999999.9999, '');
insert into t3 select * from t2; insert into t3 select * from t2;
select min(a), max(a) from t1; select min(a), max(a) from t1;
flush tables; flush tables;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment