@@ -148,6 +148,7 @@ class NavigatorApi(object):
default_entity_types, entity_types = self._get_types_from_sources(sources)
try:
+ query_s = query_s.replace('{', '\\{').replace('}', '\\}').replace('(', '\\(').replace(')', '\\)').replace('[', '\\[').replace(']', '\\]')
params = self.__params
search_terms = [term for term in query_s.strip().split()]
@@ -172,6 +172,11 @@ class TestNavigatorClientTest(NavigatorClientTest):
self.api.search_entities(query_s='type:FIELD', sources=['hive'])[0][1]
)
+ assert_equal(
+ '* AND ((type:\\{\\}\\(\\)\\[\\]*)) AND ((type:TABLE)OR(type:VIEW)OR(type:DATABASE)OR(type:PARTITION)OR(type:FIELD)) AND (sourceType:HIVE OR sourceType:IMPALA)',
+ self.api.search_entities(query_s='type:{}()[]*', sources=['hive'])[0][1]
+ )
+
# type:
# type:VIEW
# type:VIEW ca