mirror of https://gitee.com/bigwinds/arangodb
Sort out return type of NextIterator for skiplist indices.
This commit is contained in:
parent
5b4354b991
commit
be00fbed46
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
|
Loading…
Reference in New Issue