[SERVER-1213] allow splitting new $or range in two Created: 10/Jun/10  Updated: 12/Jul/16  Resolved: 15/Sep/10

Status: Closed
Project: Core Server
Component/s: Querying
Affects Version/s: None
Fix Version/s: 1.7.1

Type: Improvement Priority: Major - P3
Reporter: Aaron Staple Assignee: Aaron Staple
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
depends on SERVER-1212 tighter index bounds for negated regu... Closed
Participants:

 Description   

If we have {$or:[

{a:/^abc/}

,

{a:/^ab/}

]} we scan the overlap part twice because we would have to split the range [ "ab", "ac" ] in two to do so and we can't handle that yet. Note that range limiting that doesn't require splitting a range is handled nicely now. ( {$or:[{a:{$lt:"abc"}},

{a:/^ab/}

]} does not do any double scanning. )



 Comments   
Comment by Aaron Staple [ 15/Sep/10 ]

I just implemented the one dimensional case of this. May not be worth doing anything more complicated than that right now.

Comment by auto [ 14/Sep/10 ]

Author:

{'login': 'astaple', 'name': 'Aaron', 'email': 'aaron@10gen.com'}

Message: SERVER-1213 allow splitting of or ranges
http://github.com/mongodb/mongo/commit/57c2cf9b0138e2a6e1f5a51506778b2822deadce

Comment by Aaron Staple [ 10/Jun/10 ]

Just a reminder that when this is implemented, the field ranges passed to the matcher for old clause negation should be the original ranges, not ones which have been split.

Generated at Thu Feb 08 02:56:24 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.