From f840d0deaac73c45150652d0fa6f561809c4fb6d Mon Sep 17 00:00:00 2001 From: djcb Date: Sun, 3 Dec 2017 12:39:31 +0200 Subject: [PATCH] parser: promote single value to a range for range-fields Treat e.g. 'date:20170101' as 'date:20170101..20170101', just like the Xapian parser does. --- lib/parser/parser.cc | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lib/parser/parser.cc b/lib/parser/parser.cc index 17f331ce..253825f6 100644 --- a/lib/parser/parser.cc +++ b/lib/parser/parser.cc @@ -181,6 +181,10 @@ data (Mux::Tokens& tokens, ProcPtr proc, WarningVec& warnings) if (dotdot != std::string::npos) return range(fields, val.substr(0, dotdot), val.substr(dotdot + 2), token.pos, proc, warnings); + else if (proc->is_range_field(fields.front().field)) { + // range field without a range - treat as field:val..val + return range (fields, val, val, token.pos, proc, warnings); + } // if nothing else, it's a value. return value (fields, val, token.pos, proc, warnings);