[patches] Re: [PATCH 1/1] index: make index:min/max return a tuple with correct key
v.shpilevoy at tarantool.org
v.shpilevoy at tarantool.org
Wed Mar 7 16:42:31 MSK 2018
Used EQ/REQ instead of manual LE, GE + cmp().
diff --git a/src/box/index.cc b/src/box/index.cc
index 5d1ad3571..1ab0aba58 100644
--- a/src/box/index.cc
+++ b/src/box/index.cc
@@ -38,7 +38,6 @@
#include "txn.h"
#include "rmean.h"
#include "info.h"
-#include "tuple_compare.h"
/* {{{ Utilities. **********************************************/
@@ -562,14 +561,11 @@ int
generic_index_min(struct index *index, const char *key,
uint32_t part_count, struct tuple **result)
{
- struct iterator *it = index_create_iterator(index, ITER_GE,
+ struct iterator *it = index_create_iterator(index, ITER_EQ,
key, part_count);
if (it == NULL)
return -1;
int rc = iterator_next(it, result);
- if (*result != NULL && tuple_compare_with_key(*result, key, part_count,
- index->def->key_def) != 0)
- *result = NULL;
iterator_delete(it);
return rc;
}
@@ -578,14 +574,11 @@ int
generic_index_max(struct index *index, const char *key,
uint32_t part_count, struct tuple **result)
{
- struct iterator *it = index_create_iterator(index, ITER_LE,
+ struct iterator *it = index_create_iterator(index, ITER_REQ,
key, part_count);
if (it == NULL)
return -1;
int rc = iterator_next(it, result);
- if (*result != NULL && tuple_compare_with_key(*result, key, part_count,
- index->def->key_def) != 0)
- *result = NULL;
iterator_delete(it);
return rc;
}
More information about the Tarantool-patches
mailing list