Commit f7afb674 authored by unknown's avatar unknown

sql/ha_ndbcluster.cc

    added missing DBUG_RETURN's
mysql-test/r/ndb_read_multi_range.result@1.0
    BitKeeper file /home/tomas/wl2126/mysql-test/r/ndb_read_multi_range.result
mysql-test/r/ndb_read_multi_range.result@1.1
    (NO COMMENTS AVAILABLE)
mysql-test/t/ndb_read_multi_range.test@1.0
    BitKeeper file /home/tomas/wl2126/mysql-test/t/ndb_read_multi_range.test
mysql-test/t/ndb_read_multi_range.test@1.1
    (NO COMMENTS AVAILABLE)


sql/ha_ndbcluster.cc:
  added missing DBUG_RETURN's
parent e6493ba9
DROP TABLE IF EXISTS t1, r1;
create table t1 (
a int primary key,
b int not null,
c int not null,
index(b), unique index using hash(c)
) engine = ndb;
insert into t1 values
(1,2,1),(2,3,2),(3,4,3),(4,5,4),
(5,2,12),(6,3,11),(7,4,10),(8,5,9),
(9,2,8),(10,3,7),(11,4,6),(12,5,5);
create table r1 as select * from t1 where a in (2,8,12);
select * from r1 order by a;
a b c
2 3 2
8 5 9
12 5 5
drop table r1;
create table r1 as select * from t1 where b in (1,2,5);
select * from r1 order by a;
a b c
1 2 1
4 5 4
5 2 12
8 5 9
9 2 8
12 5 5
drop table r1;
create table r1 as select * from t1 where c in (2,8,12);
select * from r1 order by a;
a b c
2 3 2
5 2 12
9 2 8
drop table r1;
create table r1 as select * from t1 where a in (33,8,12);
select * from r1 order by a;
a b c
8 5 9
12 5 5
drop table r1;
select * from t1 where a in (33,34,35) order by a;
a b c
select * from t1 where a in (33,8,12) order by a;
a b c
8 5 9
12 5 5
create table r1 as select * from t1 where a in (2,33,8,12,34);
select * from r1 order by a;
a b c
2 3 2
8 5 9
12 5 5
drop table r1;
create table r1 as select * from t1 where b in (1,33,5);
select * from r1 order by a;
a b c
4 5 4
8 5 9
12 5 5
drop table r1;
select * from t1 where b in (1,33,5) order by a;
a b c
4 5 4
8 5 9
12 5 5
create table r1 as select * from t1 where b in (45,1,33,5,44);
select * from r1 order by a;
a b c
4 5 4
8 5 9
12 5 5
drop table r1;
select * from t1 where b in (45,22) order by a;
a b c
drop table t1;
create table t1 (
a int not null,
b int not null,
c int not null,
d int not null,
e int not null,
primary key (a,b,c,d), index (d)
) engine = ndb;
insert into t1 values
(1,2,1,1,1),(2,3,2,3,1),(3,4,3,1,1),(4,5,4,7,1),
(5,2,12,12,1),(6,3,11,1,1),(7,4,10,3,1),(8,5,9,5,1),
(9,2,8,6,1),(10,3,7,5,1),(11,4,6,3,1),(12,5,5,2,1),
(1,2,1,2,1),
(1,2,1,3,1),
(1,2,1,4,1),
(1,2,1,5,1);
create table r1 as select * from t1
where a=1 and b=2 and c=1 and d in (1,4,3,2);
select * from r1 order by a,b,c,d;
a b c d e
1 2 1 1 1
1 2 1 2 1
1 2 1 3 1
1 2 1 4 1
drop table r1;
update t1 set e = 100
where d in (12,6,7);
select * from t1 where d in (12,6,7) order by a,b,c,d;
a b c d e
4 5 4 7 100
5 2 12 12 100
9 2 8 6 100
select * from t1 where d not in (12,6,7) and e = 100;
a b c d e
update t1
set e = 101
where a=1 and
b=2 and
c=1 and
d in (1,4,3,2);
select *
from t1
where a=1 and b=2 and c=1 and d in (1,4,3,2)
order by a,b,c,d;
a b c d e
1 2 1 1 101
1 2 1 2 101
1 2 1 3 101
1 2 1 4 101
select *
from t1
where not (a=1 and b=2 and c=1 and d in (1,4,3,2))
and e=101;
a b c d e
update t1
set e =
(case d
when 12 then 112
when 6 then 106
when 7 then 107
end)
where d in (12,6,7);
select * from t1 where d in (12,6,7) order by a,b,c,d;
a b c d e
4 5 4 7 107
5 2 12 12 112
9 2 8 6 106
update t1
set e =
(case d
when 1 then 111
when 4 then 444
when 3 then 333
when 2 then 222
end)
where a=1 and
b=2 and
c=1 and
d in (1,4,3,2);
select *
from t1
where a=1 and b=2 and c=1 and d in (1,4,3,2)
order by a,b,c,d;
a b c d e
1 2 1 1 111
1 2 1 2 222
1 2 1 3 333
1 2 1 4 444
delete from t1 where d in (12,6,7);
select * from t1 where d in (12,6,7);
a b c d e
drop table t1;
-- source include/have_ndb.inc
--disable_warnings
DROP TABLE IF EXISTS t1, r1;
--enable_warnings
#
# Basic test to see that batching is working
#
create table t1 (
a int primary key,
b int not null,
c int not null,
index(b), unique index using hash(c)
) engine = ndb;
insert into t1 values
(1,2,1),(2,3,2),(3,4,3),(4,5,4),
(5,2,12),(6,3,11),(7,4,10),(8,5,9),
(9,2,8),(10,3,7),(11,4,6),(12,5,5);
# batch on primary key
create table r1 as select * from t1 where a in (2,8,12);
select * from r1 order by a;
drop table r1;
# batch on ordered index
create table r1 as select * from t1 where b in (1,2,5);
select * from r1 order by a;
drop table r1;
# batch on unique hash index
create table r1 as select * from t1 where c in (2,8,12);
select * from r1 order by a;
drop table r1;
# batch on primary key, missing values
create table r1 as select * from t1 where a in (33,8,12);
select * from r1 order by a;
drop table r1;
select * from t1 where a in (33,34,35) order by a;
select * from t1 where a in (33,8,12) order by a;
create table r1 as select * from t1 where a in (2,33,8,12,34);
select * from r1 order by a;
drop table r1;
# batch on ordered index, missing values
create table r1 as select * from t1 where b in (1,33,5);
select * from r1 order by a;
drop table r1;
select * from t1 where b in (1,33,5) order by a;
create table r1 as select * from t1 where b in (45,1,33,5,44);
select * from r1 order by a;
drop table r1;
select * from t1 where b in (45,22) order by a;
# current bug in ndb, cannot handle missing values for unique indexes
# batch on unique hash index, missing values
#create table r1 as select * from t1 where c in (2,8,33);
#select * from r1 order by a;
#drop table r1;
#create table r1 as select * from t1 where c in (13,2,8,33,12);
#select * from r1 order by a;
#drop table r1;
drop table t1;
#
# Somewhat more complicated
#
create table t1 (
a int not null,
b int not null,
c int not null,
d int not null,
e int not null,
primary key (a,b,c,d), index (d)
) engine = ndb;
insert into t1 values
(1,2,1,1,1),(2,3,2,3,1),(3,4,3,1,1),(4,5,4,7,1),
(5,2,12,12,1),(6,3,11,1,1),(7,4,10,3,1),(8,5,9,5,1),
(9,2,8,6,1),(10,3,7,5,1),(11,4,6,3,1),(12,5,5,2,1),
(1,2,1,2,1),
(1,2,1,3,1),
(1,2,1,4,1),
(1,2,1,5,1);
# batch on primary key
create table r1 as select * from t1
where a=1 and b=2 and c=1 and d in (1,4,3,2);
select * from r1 order by a,b,c,d;
drop table r1;
# batched update ordered index, one value for all
update t1 set e = 100
where d in (12,6,7);
select * from t1 where d in (12,6,7) order by a,b,c,d;
select * from t1 where d not in (12,6,7) and e = 100;
# batched update primary key, one value for all
update t1
set e = 101
where a=1 and
b=2 and
c=1 and
d in (1,4,3,2);
select *
from t1
where a=1 and b=2 and c=1 and d in (1,4,3,2)
order by a,b,c,d;
select *
from t1
where not (a=1 and b=2 and c=1 and d in (1,4,3,2))
and e=101;
# batched update ordered index, different values
update t1
set e =
(case d
when 12 then 112
when 6 then 106
when 7 then 107
end)
where d in (12,6,7);
select * from t1 where d in (12,6,7) order by a,b,c,d;
# batched update primary key, different values
update t1
set e =
(case d
when 1 then 111
when 4 then 444
when 3 then 333
when 2 then 222
end)
where a=1 and
b=2 and
c=1 and
d in (1,4,3,2);
select *
from t1
where a=1 and b=2 and c=1 and d in (1,4,3,2)
order by a,b,c,d;
# batched delete
delete from t1 where d in (12,6,7);
select * from t1 where d in (12,6,7);
drop table t1;
......@@ -4721,11 +4721,11 @@ ha_ndbcluster::read_multi_range_first(key_multi_range **found_range_p,
* blobs can't be batched currently
*/
m_disable_multi_read= true;
return handler::read_multi_range_first(found_range_p,
ranges,
range_count,
sorted,
buffer);
DBUG_RETURN(handler::read_multi_range_first(found_range_p,
ranges,
range_count,
sorted,
buffer));
}
switch(index_type){
......@@ -4747,21 +4747,21 @@ ha_ndbcluster::read_multi_range_first(key_multi_range **found_range_p,
* Mark that we using hander:: implementation
*/
m_disable_multi_read= true;
return handler::read_multi_range_first(found_range_p,
ranges,
range_count,
sorted,
buffer);
DBUG_RETURN(handler::read_multi_range_first(found_range_p,
ranges,
range_count,
sorted,
buffer));
}
break;
default:
case ORDERED_INDEX:
m_disable_multi_read= true;
return handler::read_multi_range_first(found_range_p,
ranges,
range_count,
sorted,
buffer);
DBUG_RETURN(handler::read_multi_range_first(found_range_p,
ranges,
range_count,
sorted,
buffer));
}
m_disable_multi_read= false;
......@@ -4827,7 +4827,7 @@ ha_ndbcluster::read_multi_range_first(key_multi_range **found_range_p,
{
multi_range_curr= 0;
m_multi_range_result_ptr= buffer->buffer;
return read_multi_range_next();
DBUG_RETURN(read_multi_range_next());
}
ERR_RETURN(m_active_trans->getNdbError());
}
......
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