Add RangeProcessor class to replace ValueRangeProcessor
commitcca8b4a5cf6f68bc44b26aff00a9a6ccb7925d74
authorOlly Betts <olly@survex.com>
Fri, 6 May 2016 03:30:29 +0000 (6 15:30 +1200)
committerOlly Betts <olly@survex.com>
Mon, 9 May 2016 01:26:00 +0000 (9 13:26 +1200)
tree5734e9dad2b841bcd792a814884846689d15bd6c
parent9838f4c94201526e51e8823dbe40f2b1923b277f
Add RangeProcessor class to replace ValueRangeProcessor

ValueRangeProcessor is now deprecated.

RangeProcessor() has an operator()() method returning Xapian::Query,
whereas ValueRangeProcessor can only return a value range.

Combining of ranges over the same quantity with OP_OR is now handled by
an explicit "grouping" parameter, with a sensible default which works
for value range queries.  Boolean term prefixes and FieldProcessor now
support "grouping" too, so ranges and other filters can now be
grouped together.

Fixes #663.
18 files changed:
xapian-applications/omega/query.cc
xapian-bindings/csharp/Makefile.am
xapian-bindings/java/Makefile.am
xapian-bindings/perl/perl.i
xapian-bindings/xapian-headers.i
xapian-core/api/query.cc
xapian-core/api/queryinternal.cc
xapian-core/api/queryinternal.h
xapian-core/api/valuerangeproc.cc
xapian-core/docs/deprecation.rst
xapian-core/include/xapian/query.h
xapian-core/include/xapian/queryparser.h
xapian-core/queryparser/queryparser.cc
xapian-core/queryparser/queryparser.lemony
xapian-core/queryparser/queryparser_internal.h
xapian-core/tests/api_none.cc
xapian-core/tests/generate-api_generated
xapian-core/tests/queryparsertest.cc