Fix searching for message

The message search currently looks for an exact match, which is
pretty much never what anyone would want to do, and moreover,
does not match the gerrit documentation.  It should actually
perform a substring match, so switch to using "like %<message>%".

Change-Id: I281d59887de247eb3f3fd508635efa44714fa054
This commit is contained in:
James E. Blair 2015-04-11 14:36:51 -04:00
parent a5eb452f2b
commit b89ae385b7
2 changed files with 2 additions and 2 deletions

View File

@ -62,7 +62,7 @@ class SearchCompiler(object):
if __name__ == '__main__':
class Dummy(object):
pass
query = 'ref:^refs/heads/foo.*'
query = 'message:"Blueprint"'
lexer = tokenizer.SearchTokenizer()
lexer.input(query)
while True:

View File

@ -224,7 +224,7 @@ def SearchParser():
'''message_term : OP_MESSAGE string'''
filters = []
filters.append(gertty.db.revision_table.c.change_key == gertty.db.change_table.c.key)
filters.append(gertty.db.revision_table.c.message == p[2])
filters.append(gertty.db.revision_table.c.message.like('%%%s%%' % p[2]))
s = select([gertty.db.change_table.c.key], correlate=False).where(and_(*filters))
p[0] = gertty.db.change_table.c.key.in_(s)