diff options
author | James Wahlin <james@mongodb.com> | 2017-06-29 13:41:44 -0400 |
---|---|---|
committer | James Wahlin <james@mongodb.com> | 2017-07-21 11:18:54 -0400 |
commit | a7164c0527ac1f231d12a889bf6d16b264af338e (patch) | |
tree | 47994590d41924ca1c6cff09f6f1aafe25e8792c /src/mongo/db/fts | |
parent | e6032315026a446d1c8eef647b0bd6f2e82f2edc (diff) | |
download | mongo-a7164c0527ac1f231d12a889bf6d16b264af338e.tar.gz |
SERVER-29814 Move BSONObj::MatchType/BSONElement::getGtLtOp() to matcher
Diffstat (limited to 'src/mongo/db/fts')
-rw-r--r-- | src/mongo/db/fts/SConscript | 65 | ||||
-rw-r--r-- | src/mongo/db/fts/fts_spec.cpp | 4 |
2 files changed, 27 insertions, 42 deletions
diff --git a/src/mongo/db/fts/SConscript b/src/mongo/db/fts/SConscript index 6111a897f0c..8b9a7c1c103 100644 --- a/src/mongo/db/fts/SConscript +++ b/src/mongo/db/fts/SConscript @@ -60,6 +60,7 @@ baseEnv.Library('base', [ "$BUILD_DIR/mongo/db/bson/dotted_path_support", "$BUILD_DIR/mongo/db/common", "$BUILD_DIR/mongo/db/fts/unicode/unicode", + "$BUILD_DIR/mongo/db/matcher/expressions", "$BUILD_DIR/mongo/util/md5", "$BUILD_DIR/third_party/shim_stemmer", ]) @@ -78,44 +79,26 @@ env.Library('ftsmongod', [ 'ftsmongod.cpp', ], LIBDEPS=["base","$BUILD_DIR/mongo/base"]) -env.CppUnitTest( "fts_basic_phrase_matcher_test", "fts_basic_phrase_matcher_test.cpp", - LIBDEPS=["base"] ) - -env.CppUnitTest( "fts_basic_tokenizer_test", "fts_basic_tokenizer_test.cpp", - LIBDEPS=["base"] ) - -env.CppUnitTest( "fts_element_iterator_test", "fts_element_iterator_test.cpp", - LIBDEPS=["base"] ) - -env.CppUnitTest( "fts_index_format_test", "fts_index_format_test.cpp", - LIBDEPS=["base"] ) - -env.CppUnitTest( "fts_language_test", "fts_language_test.cpp", - LIBDEPS=["base"] ) - -env.CppUnitTest( "fts_matcher_test", "fts_matcher_test.cpp", - LIBDEPS=["base"] ) - -env.CppUnitTest( "fts_query_impl_test", "fts_query_impl_test.cpp", - LIBDEPS=["base"] ) - -env.CppUnitTest( "fts_query_noop_test", "fts_query_noop_test.cpp", - LIBDEPS=["fts_query_noop"] ) - -env.CppUnitTest( "fts_spec_test", "fts_spec_test.cpp", - LIBDEPS=["base"] ) - -env.CppUnitTest( "fts_stemmer_test", "stemmer_test.cpp", - LIBDEPS=["base"] ) - -env.CppUnitTest( "fts_stop_words_test", "stop_words_test.cpp", - LIBDEPS=["base"] ) - -env.CppUnitTest( "fts_tokenizer_test", "tokenizer_test.cpp", - LIBDEPS=["base"] ) - -env.CppUnitTest( "fts_unicode_phrase_matcher_test", "fts_unicode_phrase_matcher_test.cpp", - LIBDEPS=["base"] ) - -env.CppUnitTest( "fts_unicode_tokenizer_test", "fts_unicode_tokenizer_test.cpp", - LIBDEPS=["base"] ) +env.CppUnitTest(target='fts_test', + source=[ + "fts_basic_phrase_matcher_test.cpp", + "fts_basic_tokenizer_test.cpp", + "fts_element_iterator_test.cpp", + "fts_index_format_test.cpp", + "fts_language_test.cpp", + "fts_matcher_test.cpp", + "fts_query_impl_test.cpp", + "fts_query_noop_test.cpp", + "fts_spec_test.cpp", + "fts_unicode_phrase_matcher_test.cpp", + "fts_unicode_tokenizer_test.cpp", + "stemmer_test.cpp", + "stop_words_test.cpp", + "tokenizer_test.cpp", + ], + LIBDEPS=[ + "$BUILD_DIR/mongo/db/fts/fts_query_noop", + "$BUILD_DIR/mongo/db/matcher/expressions", + "base", + ], +)
\ No newline at end of file diff --git a/src/mongo/db/fts/fts_spec.cpp b/src/mongo/db/fts/fts_spec.cpp index c9216b0bb45..9022b72bb0b 100644 --- a/src/mongo/db/fts/fts_spec.cpp +++ b/src/mongo/db/fts/fts_spec.cpp @@ -36,6 +36,7 @@ #include "mongo/db/fts/fts_element_iterator.h" #include "mongo/db/fts/fts_tokenizer.h" #include "mongo/db/fts/fts_util.h" +#include "mongo/db/matcher/expression_parser.h" #include "mongo/util/mongoutils/str.h" #include "mongo/util/stringutils.h" @@ -249,7 +250,8 @@ Status FTSSpec::getIndexPrefix(const BSONObj& query, BSONObj* out) const { return Status(ErrorCodes::BadValue, str::stream() << "need have an equality filter on: " << extraBefore(i)); - if (e.isABSONObj() && e.Obj().firstElement().getGtLtOp(-1) != -1) + if (e.isABSONObj() && + MatchExpressionParser::parsePathAcceptingKeyword(e.Obj().firstElement())) return Status(ErrorCodes::BadValue, str::stream() << "need have an equality filter on: " << extraBefore(i)); |