mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
Fix ordered index scan with partially specified key
This commit is contained in:
@ -205,4 +205,10 @@ a b c
|
|||||||
select * from t1 where b<=5 and c=0 or b<=5 and c=2;
|
select * from t1 where b<=5 and c=0 or b<=5 and c=2;
|
||||||
a b c
|
a b c
|
||||||
19 4 0
|
19 4 0
|
||||||
|
select count(*) from t1 where b = 0;
|
||||||
|
count(*)
|
||||||
|
0
|
||||||
|
select count(*) from t1 where b = 1;
|
||||||
|
count(*)
|
||||||
|
1
|
||||||
drop table t1;
|
drop table t1;
|
||||||
|
@ -113,6 +113,9 @@ select * from t1 where b<=5 and c=0;
|
|||||||
select * from t1 where b=4 and c<=5 order by a;
|
select * from t1 where b=4 and c<=5 order by a;
|
||||||
select * from t1 where b<=4 and c<=5 order by a;
|
select * from t1 where b<=4 and c<=5 order by a;
|
||||||
select * from t1 where b<=5 and c=0 or b<=5 and c=2;
|
select * from t1 where b<=5 and c=0 or b<=5 and c=2;
|
||||||
|
|
||||||
|
select count(*) from t1 where b = 0;
|
||||||
|
select count(*) from t1 where b = 1;
|
||||||
drop table t1;
|
drop table t1;
|
||||||
|
|
||||||
#
|
#
|
||||||
|
@ -1188,13 +1188,11 @@ NdbIndexScanOperation::fix_get_values(){
|
|||||||
for(Uint32 i = 0; i<cnt; i++){
|
for(Uint32 i = 0; i<cnt; i++){
|
||||||
Uint32 val = theTupleKeyDefined[i][0];
|
Uint32 val = theTupleKeyDefined[i][0];
|
||||||
switch(val){
|
switch(val){
|
||||||
case FAKE_PTR:{
|
case FAKE_PTR:
|
||||||
NdbColumnImpl * key = idx->m_columns[i];
|
curr->setup(curr->m_column, 0);
|
||||||
NdbColumnImpl * col = tab->getColumn(key->m_keyInfoPos);
|
|
||||||
curr->setup(col, 0);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case API_PTR:
|
case API_PTR:
|
||||||
|
curr = curr->next();
|
||||||
|
break;
|
||||||
case SETBOUND_EQ:
|
case SETBOUND_EQ:
|
||||||
break;
|
break;
|
||||||
#ifdef VM_TRACE
|
#ifdef VM_TRACE
|
||||||
@ -1202,7 +1200,6 @@ NdbIndexScanOperation::fix_get_values(){
|
|||||||
abort();
|
abort();
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
curr = curr->next();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user