Commit b5ebc0f2 authored by unknown's avatar unknown
Browse files

Fix ordered index scan with partially specified key

parent fccc404a
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -205,4 +205,10 @@ a b c
select * from t1 where b<=5 and c=0 or b<=5 and c=2;
a	b	c
19	4	0
select count(*) from t1 where b = 0;
count(*)
0
select count(*) from t1 where b = 1;
count(*)
1
drop table t1;
+3 −0
Original line number Diff line number Diff line
@@ -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<=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;

#
+4 −7
Original line number Diff line number Diff line
@@ -1188,13 +1188,11 @@ NdbIndexScanOperation::fix_get_values(){
  for(Uint32 i = 0; i<cnt; i++){
    Uint32 val = theTupleKeyDefined[i][0];
    switch(val){
    case FAKE_PTR:{
      NdbColumnImpl * key = idx->m_columns[i];
      NdbColumnImpl * col = tab->getColumn(key->m_keyInfoPos);
      curr->setup(col, 0);
    }
      break;
    case FAKE_PTR:
      curr->setup(curr->m_column, 0);
    case API_PTR:
      curr = curr->next();
      break;
    case SETBOUND_EQ:
      break;
#ifdef VM_TRACE
@@ -1202,7 +1200,6 @@ NdbIndexScanOperation::fix_get_values(){
      abort();
#endif
    }
    curr = curr->next();
  }
}