[Xapian-tickets] [Xapian] #193: Check that NumberValueRangeProcessor::apply() is usable from bindings

Xapian nobody at xapian.org
Thu Apr 16 06:27:56 BST 2015


#193: Check that NumberValueRangeProcessor::apply() is usable from bindings
-----------------------------+-----------------------------
 Reporter:  daniel           |             Owner:  olly
     Type:  defect           |            Status:  assigned
 Priority:  normal           |         Milestone:  1.3.x
Component:  Xapian-bindings  |           Version:  1.0.2
 Severity:  normal           |        Resolution:
 Keywords:                   |        Blocked By:
 Blocking:                   |  Operating System:  All
-----------------------------+-----------------------------

Comment (by olly):

 It would be nicer if the range was returned as a `Query` object, as that
 could do neat things like optimising to use filter terms to narrow the
 range.  With that change, the (in)ability to pass strings by reference and
 have modified values returned wouldn't be an issue.

 The issues I see with such a change are:

  * migration - I think we could provide a `RangeProcessor` that works the
 new way (since it isn't inherently linked to values), and deprecate
 `ValueRangeProcessor`, handling it via a `RangeProcessor` subclass which
 adapts the result.

  * `QueryParser` wants to know which slot the range is for, so it knows
 about combining ranges on the same slot with `OP_OR` and then combine
 these groups with `OP_AND`.  That isn't unsurmountable, but would probably
 need us to return both a `Query` object and some sort of string or number
 "key" to identify the type of range.  Or perhaps this is an overly fussy
 little detail, which most people wouldn't expect us to worry about.
 `FieldProcessor` just returns a `Query` object after all.

--
Ticket URL: <http://trac.xapian.org/ticket/193#comment:23>
Xapian <http://xapian.org/>
Xapian



More information about the Xapian-tickets mailing list