summaryrefslogtreecommitdiff
path: root/src/mongo/db/fts
diff options
context:
space:
mode:
authorJames Wahlin <james@mongodb.com>2017-06-29 13:41:44 -0400
committerJames Wahlin <james@mongodb.com>2017-07-21 11:18:54 -0400
commita7164c0527ac1f231d12a889bf6d16b264af338e (patch)
tree47994590d41924ca1c6cff09f6f1aafe25e8792c /src/mongo/db/fts
parente6032315026a446d1c8eef647b0bd6f2e82f2edc (diff)
downloadmongo-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/SConscript65
-rw-r--r--src/mongo/db/fts/fts_spec.cpp4
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));