[SERVER-5450] refactor and optimize FieldRangeVectorIterator Created: 29/Mar/12  Updated: 10/Dec/14  Resolved: 10/Dec/13

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

Type: Improvement Priority: Major - P3
Reporter: Aaron Staple Assignee: Unassigned
Resolution: Won't Fix Votes: 0
Labels: query_triage
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Related
is related to SERVER-2236 optimize btree scanning more Closed
is related to SERVER-5063 $in on first compound key element and... Closed
Participants:

 Description   

The implementation can be refactored, and also there has been a note in the code since this class was created suggesting that additional optimizations may be implemented. The optimizations fall into two categories:

  • some btree skips that are applied for range bounds may be optimized out for $in bounds (in some cases they are already optimized out)
  • in some cases fewer comparisons could be performed by the implementation


 Comments   
Comment by auto [ 07/Apr/12 ]

Author:

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

Message: SERVER-5450 Avoid reference to temporary in FieldRangeVectorIterator::FieldIntervalMatcher unit tests.
Branch: master
https://github.com/mongodb/mongo/commit/02ce58ef478d0b920fbd917af9a66a97f844af90

Comment by auto [ 07/Apr/12 ]

Author:

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

Message: SERVER-5450 De-inline FieldIntervalMatcher members; leave CompoundRangeCounter counting members inlined.
Branch: master
https://github.com/mongodb/mongo/commit/d6f2b190bab407a87ab8139894af93df7829808b

Comment by auto [ 07/Apr/12 ]

Author:

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

Message: SERVER-5450 Clean arguments to FieldRangeVectorIterator::validateCurrentInterval().
Branch: master
https://github.com/mongodb/mongo/commit/2a447b7e4ffc1ee408d2c9376114fbcb97b5133f

Comment by auto [ 07/Apr/12 ]

Author:

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

Message: SERVER-5450 Refactor FieldIntervalMatcher from FieldRangeVectorIterator.
Branch: master
https://github.com/mongodb/mongo/commit/e8bd69844d785100f78d931c647e496f4cb6e523

Comment by auto [ 07/Apr/12 ]

Author:

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

Message: SERVER-5450 Refactor FieldRangeVectorIterator::advance() code for setting advance method state.
Branch: master
https://github.com/mongodb/mongo/commit/5e5f224044f902bc65ee614c1a0e955a6966e864

Comment by auto [ 07/Apr/12 ]

Author:

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

Message: SERVER-5450 Reorganize FieldRangeVectorIterator::validateCurrentInterval() a bit.
Branch: master
https://github.com/mongodb/mongo/commit/3ddea194923c9dd6f75999707d4445d5f59fe189

Comment by auto [ 07/Apr/12 ]

Author:

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

Message: SERVER-5450 Extract validateCurrentInterval() from FieldRangeVectorIterator::advance().
Branch: master
https://github.com/mongodb/mongo/commit/a4cd061f60ed902ffd4e4f7aae688623565a2d78

Comment by auto [ 07/Apr/12 ]

Author:

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

Message: SERVER-5450 Refactor FieldRangeVectorIterator's current position within a vector of ranges into a counter class.
Branch: master
https://github.com/mongodb/mongo/commit/6a8f01b10c055ca8a3bf3ce1eaf7893a1b92b1c6

Comment by auto [ 07/Apr/12 ]

Author:

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

Message: SERVER-5450 Add some initial descriptive unit tests for FieldRangeVectorIterator, with a focus on cases where the cached interval position _i is modified.
Branch: master
https://github.com/mongodb/mongo/commit/c38f075321524306f8913f6c76a5a85180b3d901

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