コード例 #1
0
 def testBuildFTSCondition_NegatedQuickOR(self):
     query_cond = ast_pb2.MakeCond(NOT_TEXT_HAS, [self.summary_fd],
                                   ['needle', 'pin'], [])
     fulltext_query_clause = fulltext_helpers._BuildFTSCondition(
         query_cond, self.fulltext_fields)
     self.assertEqual('NOT (summary:"needle" OR summary:"pin")',
                      fulltext_query_clause)
コード例 #2
0
 def testBuildFTSCondition_NonStringField(self):
     est_days_fd = tracker_pb2.FieldDef(
         field_name='EstDays',
         field_id=123,
         field_type=tracker_pb2.FieldTypes.INT_TYPE)
     query_cond = ast_pb2.MakeCond(TEXT_HAS, [est_days_fd], ['needle'], [])
     fulltext_query_clause = fulltext_helpers._BuildFTSCondition(
         query_cond, self.fulltext_fields)
     # Ignore in FTS, this search condition is done in SQL.
     self.assertEqual('', fulltext_query_clause)
コード例 #3
0
 def testBuildFTSCondition_CrossProjectWithMultipleFieldDescriptors(self):
     other_milestone_fd = tracker_pb2.FieldDef(
         field_name='milestone',
         field_type=tracker_pb2.FieldTypes.STR_TYPE,
         field_id=456)
     query_cond = ast_pb2.MakeCond(TEXT_HAS,
                                   [self.milestone_fd, other_milestone_fd],
                                   ['needle'], [])
     fulltext_query_clause = fulltext_helpers._BuildFTSCondition(
         query_cond, self.fulltext_fields)
     self.assertEqual('(custom_123:"needle" OR custom_456:"needle")',
                      fulltext_query_clause)
コード例 #4
0
 def testBuildFTSCondition_NegatedAnyField(self):
     query_cond = ast_pb2.MakeCond(NOT_TEXT_HAS, [self.any_field_fd],
                                   ['needle'], [])
     fulltext_query_clause = fulltext_helpers._BuildFTSCondition(
         query_cond, self.fulltext_fields)
     self.assertEqual('NOT ("needle")', fulltext_query_clause)
コード例 #5
0
 def testBuildFTSCondition_BuiltinField(self):
     query_cond = ast_pb2.MakeCond(TEXT_HAS, [self.summary_fd], ['needle'],
                                   [])
     fulltext_query_clause = fulltext_helpers._BuildFTSCondition(
         query_cond, self.fulltext_fields)
     self.assertEqual('(summary:"needle")', fulltext_query_clause)
コード例 #6
0
 def testBuildFTSCondition_IgnoredOperator(self):
     query_cond = ast_pb2.MakeCond(GE, [self.summary_fd], ['needle'], [])
     fulltext_query_clause = fulltext_helpers._BuildFTSCondition(
         query_cond, self.fulltext_fields)
     self.assertEqual('', fulltext_query_clause)