1
0
Fork 0

Sort out return type of NextIterator for skiplist indices.

This commit is contained in:
Max Neunhoeffer 2013-11-21 15:47:00 +01:00
parent 5b4354b991
commit be00fbed46
3 changed files with 12 additions and 7 deletions

View File

@ -365,7 +365,8 @@ static bool SkiplistHasNextIterationCallback(TRI_skiplist_iterator_t* iterator)
/// @brief Jumps forwards by jumpSize and returns the document
////////////////////////////////////////////////////////////////////////////////
static void* SkiplistIteration(TRI_skiplist_iterator_t* iterator,
static TRI_skiplist_index_element_t* SkiplistIteration(
TRI_skiplist_iterator_t* iterator,
int64_t jumpSize) {
TRI_skiplist_iterator_interval_t* interval;
int64_t j;
@ -411,7 +412,7 @@ static void* SkiplistIteration(TRI_skiplist_iterator_t* iterator,
}
}
return &(iterator->_cursor->doc);
return (TRI_skiplist_index_element_t*) (iterator->_cursor->doc);
}
@ -420,7 +421,8 @@ static void* SkiplistIteration(TRI_skiplist_iterator_t* iterator,
/// @brief default callback for jumping forward by 1
////////////////////////////////////////////////////////////////////////////////
static void* SkiplistNextIterationCallback(TRI_skiplist_iterator_t* iterator) {
static TRI_skiplist_index_element_t* SkiplistNextIterationCallback(
TRI_skiplist_iterator_t* iterator) {
return SkiplistIteration(iterator,1);
}
@ -429,7 +431,8 @@ static void* SkiplistNextIterationCallback(TRI_skiplist_iterator_t* iterator) {
/// @brief default callback for jumping forward by jumpSize docs
////////////////////////////////////////////////////////////////////////////////
static void* SkiplistNextsIterationCallback(TRI_skiplist_iterator_t* iterator,
static TRI_skiplist_index_element_t* SkiplistNextsIterationCallback(
TRI_skiplist_iterator_t* iterator,
int64_t jumpSize) {
return SkiplistIteration(iterator,jumpSize);
}

View File

@ -109,8 +109,9 @@ typedef struct TRI_skiplist_iterator_s {
// _cursor is NULL, then there are (currently) no more
// documents in the iterator.
bool (*_hasNext) (struct TRI_skiplist_iterator_s*);
void* (*_next) (struct TRI_skiplist_iterator_s*);
void* (*_nexts) (struct TRI_skiplist_iterator_s*, int64_t jumpSize);
TRI_skiplist_index_element_t* (*_next)(struct TRI_skiplist_iterator_s*);
TRI_skiplist_index_element_t* (*_nexts)(struct TRI_skiplist_iterator_s*,
int64_t jumpSize);
}
TRI_skiplist_iterator_t;

View File

@ -1083,7 +1083,8 @@ static v8::Handle<v8::Value> ExecuteSkiplistQuery (v8::Arguments const& argv,
bool error = false;
while (true) {
TRI_skiplist_index_element_t* indexElement = (TRI_skiplist_index_element_t*) skiplistIterator->_next(skiplistIterator);
TRI_skiplist_index_element_t* indexElement =
skiplistIterator->_next(skiplistIterator);
if (indexElement == NULL) {
break;