diff --git a/arangod/Aql/Ast.cpp b/arangod/Aql/Ast.cpp index 18edeba3e8..1b44b4c72f 100644 --- a/arangod/Aql/Ast.cpp +++ b/arangod/Aql/Ast.cpp @@ -1742,6 +1742,8 @@ AstNode const* Ast::deduplicateArray (AstNode const* node) { return node; } + // TODO: sort values in place first and compare two adjacent members each + std::unordered_map cache( n, triagens::basics::JsonHash(), @@ -1757,12 +1759,7 @@ AstNode const* Ast::deduplicateArray (AstNode const* node) { } } - if (cache.size() == n) { - // no duplicates - return node; - } - - // we got duplicates. now create a copy of the deduplicated values + // we may have got duplicates. now create a copy of the deduplicated values auto copy = createNodeArray(); copy->members.reserve(cache.size());