Commit 65c9dcc0 authored by mskold/marty@linux.site's avatar mskold/marty@linux.site

Merge mskold@bk-internal.mysql.com:/home/bk/mysql-5.1-ndb

into  mysql.com:/windows/Linux_space/MySQL/mysql-5.1-new-ndb
parents 7e29b2fe 8dd443f9
...@@ -2281,8 +2281,7 @@ int ha_ndbcluster::set_bounds(NdbIndexScanOperation *op, ...@@ -2281,8 +2281,7 @@ int ha_ndbcluster::set_bounds(NdbIndexScanOperation *op,
DBUG_PRINT("error", ("key %d unknown flag %d", j, p.key->flag)); DBUG_PRINT("error", ("key %d unknown flag %d", j, p.key->flag));
DBUG_ASSERT(FALSE); DBUG_ASSERT(FALSE);
// Stop setting bounds but continue with what we have // Stop setting bounds but continue with what we have
op->end_of_bound(range_no); DBUG_RETURN(op->end_of_bound(range_no));
DBUG_RETURN(0);
} }
} }
} }
...@@ -2329,8 +2328,7 @@ int ha_ndbcluster::set_bounds(NdbIndexScanOperation *op, ...@@ -2329,8 +2328,7 @@ int ha_ndbcluster::set_bounds(NdbIndexScanOperation *op,
tot_len+= part_store_len; tot_len+= part_store_len;
} }
op->end_of_bound(range_no); DBUG_RETURN(op->end_of_bound(range_no));
DBUG_RETURN(0);
} }
/* /*
......
...@@ -38,7 +38,8 @@ class NdbScanOperation : public NdbOperation { ...@@ -38,7 +38,8 @@ class NdbScanOperation : public NdbOperation {
public: public:
/** /**
* Scan flags. OR-ed together and passed as second argument to * Scan flags. OR-ed together and passed as second argument to
* readTuples. * readTuples. Note that SF_MultiRange has to be set if several
* ranges (bounds) are to be passed.
*/ */
enum ScanFlag { enum ScanFlag {
SF_TupScan = (1 << 16), // scan TUP order SF_TupScan = (1 << 16), // scan TUP order
......
...@@ -1793,6 +1793,12 @@ NdbIndexScanOperation::reset_bounds(bool forceSend){ ...@@ -1793,6 +1793,12 @@ NdbIndexScanOperation::reset_bounds(bool forceSend){
int int
NdbIndexScanOperation::end_of_bound(Uint32 no) NdbIndexScanOperation::end_of_bound(Uint32 no)
{ {
DBUG_ENTER("end_of_bound");
DBUG_PRINT("info", ("Range number %u", no));
/* Check that SF_MultiRange has been specified if more
than one range is specified */
if (no > 0 && !m_multi_range)
DBUG_RETURN(-1);
if(no < (1 << 13)) // Only 12-bits no of ranges if(no < (1 << 13)) // Only 12-bits no of ranges
{ {
Uint32 bound_head = * m_first_bound_word; Uint32 bound_head = * m_first_bound_word;
...@@ -1801,9 +1807,9 @@ NdbIndexScanOperation::end_of_bound(Uint32 no) ...@@ -1801,9 +1807,9 @@ NdbIndexScanOperation::end_of_bound(Uint32 no)
m_first_bound_word = theKEYINFOptr + theTotalNrOfKeyWordInSignal;; m_first_bound_word = theKEYINFOptr + theTotalNrOfKeyWordInSignal;;
m_this_bound_start = theTupKeyLen; m_this_bound_start = theTupKeyLen;
return 0; DBUG_RETURN(0);
} }
return -1; DBUG_RETURN(-1);
} }
int int
......
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