[SERVER-24508] Make BSONObj/BSONElement and Document/Value with collations compatible for use with ordered STL containers Created: 09/Jun/16  Updated: 19/Nov/16  Resolved: 13/Sep/16

Status: Closed
Project: Core Server
Component/s: Internal Code, Querying
Affects Version/s: None
Fix Version/s: 3.3.14

Type: Task Priority: Major - P3
Reporter: David Storch Assignee: David Storch
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Related
related to SERVER-23990 Allow BSONObj/BSONElement and Documen... Closed
is related to SERVER-26093 Remove old BSONElement comparator obj... Backlog
Backwards Compatibility: Fully Compatible
Sprint: Query 16 (06/24/16), Query 17 (07/15/16), Query 2016-08-29, Query 2016-09-19
Participants:

 Comments   
Comment by David Storch [ 13/Sep/16 ]

Remaining related cleanup work will be completed under SERVER-26093. Resolving as fixed in 3.3.13.

Comment by Githook User [ 06/Sep/16 ]

Author:

{u'username': u'dstorch', u'name': u'David Storch', u'email': u'david.storch@10gen.com'}

Message: SERVER-24508 delete BSONElement::valuesEqual() in favor of BSONElementComparator
Branch: master
https://github.com/mongodb/mongo/commit/c55868b9eae498051640c92c5aa91d155d04343a

Comment by Githook User [ 02/Sep/16 ]

Author:

{u'username': u'dstorch', u'name': u'David Storch', u'email': u'david.storch@10gen.com'}

Message: SERVER-24508 BSONElement::ComparatorInterface
Branch: master
https://github.com/mongodb/mongo/commit/231de89b7c8e84b7b6cf638008b483ecab6ba1b6

Comment by Githook User [ 23/Aug/16 ]

Author:

{u'username': u'dstorch', u'name': u'David Storch', u'email': u'david.storch@10gen.com'}

Message: SERVER-24508 delete BSONObjCmp

Instead, use BSONObj::ComparatorInterface.
Branch: master
https://github.com/mongodb/mongo/commit/f3be5348457ff71185ca9fa137ab7c1a8e4761df

Comment by Githook User [ 19/Aug/16 ]

Author:

{u'username': u'dstorch', u'name': u'David Storch', u'email': u'david.storch@10gen.com'}

Message: SERVER-24508 delete BSONObj::equal()

Instead, use comparator.evaluate(obj1 == obj2), where comparator is of
type BSONObj::ComparatorInterface.
Branch: master
https://github.com/mongodb/mongo/commit/9aef6602683af7842e04c025c47d652b3897c541

Comment by Githook User [ 18/Aug/16 ]

Author:

{u'username': u'dstorch', u'name': u'David Storch', u'email': u'david.storch@10gen.com'}

Message: SERVER-24508 audit_metadata_test must use ASSERT_BSONOBJ_EQ()
Branch: master
https://github.com/10gen/mongo-enterprise-modules/commit/f90e1f26103b3365d7a8ce08ac6e6dbd4545538d

Comment by Githook User [ 18/Aug/16 ]

Author:

{u'username': u'dstorch', u'name': u'David Storch', u'email': u'david.storch@10gen.com'}

Message: SERVER-24508 BSONObj::ComparatorInterface

BSONObj instances should now be compared via the comparator
interface's evaluate() method. This preferred over using
BSONObj::woCompare() directly. If the comparison doesn't
require any database semantics (e.g. there is no collation),
there is a global instance of the SimpleBSONObjComparator
which should be used for BSONObj comparisons. If the
comparison requires special semantics, then callers must
instantiate their own comparator object.
Branch: master
https://github.com/mongodb/mongo/commit/26543060c852aac22f26143a04bf7789ec8fec53

Comment by Githook User [ 15/Jul/16 ]

Author:

{u'username': u'dstorch', u'name': u'David Storch', u'email': u'david.storch@10gen.com'}

Message: SERVER-24508 DocumentComparator and ValueComparator

  • Changes the Document/Value library to require comparisons
    to be made in the context of a comparator object. This is
    prep work for full collation support in the aggregation
    system.
  • Adds injectExpressionContext() to propagate the
    ExpressionContext containing the comparator object to all
    DocumentSource, Accumulator, and Expression instances
    involved in the Pipeline.
    Branch: master
    https://github.com/mongodb/mongo/commit/5e504b81ab84274db75f868cf1559cee015beddd
Comment by Githook User [ 15/Jun/16 ]

Author:

{u'username': u'dstorch', u'name': u'David Storch', u'email': u'david.storch@10gen.com'}

Message: SERVER-24508 move collation serialization into the CollationSpec
Branch: master
https://github.com/mongodb/mongo/commit/207dbd2324a643d12729f2060aa59f64e0de52fb

Generated at Thu Feb 08 04:06:33 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.