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 /// @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) { int64_t jumpSize) {
TRI_skiplist_iterator_interval_t* interval; TRI_skiplist_iterator_interval_t* interval;
int64_t j; 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 /// @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); 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 /// @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) { int64_t jumpSize) {
return SkiplistIteration(iterator,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 // _cursor is NULL, then there are (currently) no more
// documents in the iterator. // documents in the iterator.
bool (*_hasNext) (struct TRI_skiplist_iterator_s*); bool (*_hasNext) (struct TRI_skiplist_iterator_s*);
void* (*_next) (struct TRI_skiplist_iterator_s*); TRI_skiplist_index_element_t* (*_next)(struct TRI_skiplist_iterator_s*);
void* (*_nexts) (struct TRI_skiplist_iterator_s*, int64_t jumpSize); TRI_skiplist_index_element_t* (*_nexts)(struct TRI_skiplist_iterator_s*,
int64_t jumpSize);
} }
TRI_skiplist_iterator_t; TRI_skiplist_iterator_t;

View File

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