Dennis Gove created SOLR-7554:
---------------------------------
Summary: Add checks in Streams for incoming stream order
Key: SOLR-7554
URL: https://issues.apache.org/jira/browse/SOLR-7554
Project: Solr
Issue Type: Improvement
Components: SolrJ
Affects Versions: Trunk, 5.2
Reporter: Dennis Gove
Priority: Minor
Fix For: Trunk, 5.2
Most Streams built on top of other streams require that their incoming
stream(s) be ordered in a complimentary way to how this stream is expected to
output its results.
For example, if a MergeStream is merging two streams on "fieldA asc, fieldB
desc", then both its incoming streams must be ordered in a similar way. That
said, the incoming stream could be ordered more strictly, ie "fieldA asc,
fieldB desc, fieldC asc" but as long as the the comparator used in the
MergeStream can be "derived from" the incoming stream's comparator then we are
good to go.
Some comparator A can be "derived from" some other comparator B iff the fields
and their order in A is equal to the first fields and their order in B. For
example, "fieldA asc, fieldB dec" can be derived from "fieldA asc, fieldB
desc, fieldC asc, fieldD asc" but cannot be derived from "field A asc".
This patch is to add this validation support. It requires changes to
Comparators, Equalitors, most Streams, and related tests. It adds a way to
compare Comparators and Equalitors and in the end is one more required piece
before we can add support for Join streams.
It is dependent on SOLR-7513 and SOLR-7528. Other dependencies it has have
already been committed to trunk and the 5.2 branch.
It does not change any interfaces to code already released (5.1 and below). It
does change interfaces to code in trunk and 5.2.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]