[CXX-971] Support providing collation per operation Created: 12/Jul/16  Updated: 29/Nov/16  Resolved: 19/Oct/16

Status: Closed
Project: C++ Driver
Component/s: API
Affects Version/s: None
Fix Version/s: 3.1.0

Type: New Feature Priority: Major - P3
Reporter: Rathi Gnanasekaran Assignee: J Rassi
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
depends on CDRIVER-1551 Collation: Raise error for command he... Closed
depends on CDRIVER-1751 mongoc_collection_find_with_opts() sh... Closed
depends on CDRIVER-1779 mongoc_collection_find_and_modify_wit... Closed
depends on CXX-1044 collection::find() ignores find optio... Closed
depends on CXX-1045 collection::count() serializes option... Closed
depends on CDRIVER-1372 Support providing collation per opera... Closed
depends on CDRIVER-1527 Add mongoc_client_[read|write|read_wr... Closed
depends on CXX-1051 Add new top-level find options and de... Closed
depends on CXX-1052 Port CRUD methods to use C driver 1.5... Closed
depends on CXX-1092 Rename mongocxx::mock namespace to mo... Closed
is depended on by DRIVERS-291 Support providing collation per opera... Closed
Related
is related to CXX-1093 collection::distinct() should return ... Closed
is related to CXX-1039 Update link to final collation page i... Closed
Epic Link: C++11 Driver MongoDB 3.4 Support

 Description   

As of server version 3.4 (max wire version 5), a collation option is supported for some commands. Helpers for the following commands therefore must be updated:

  • create
  • createIndexes
  • aggregate
  • count
  • distinct
  • find (command only)
  • findAndModify
  • geoNear
  • group
  • mapReduce
  • remove (command)
  • update (command)

See spec changes in:

Note that the driver must not automatically add a collation to any of the Bulk Write Models; the user must explicitly provide the collation to each.



 Comments   
Comment by Githook User [ 29/Nov/16 ]

Author:

{u'username': u'jrassi', u'name': u'J. Rassi', u'email': u'rassi@10gen.com'}

Message: CXX-971 Add database::create_view() collation integration test
Branch: master
https://github.com/mongodb/mongo-cxx-driver/commit/b81e47bc123aa0dbe36c41b3c4a9e819e899bb71

Comment by Githook User [ 29/Nov/16 ]

Author:

{u'username': u'jrassi', u'name': u'J. Rassi', u'email': u'rassi@10gen.com'}

Message: CXX-971 Break down "A view can be created on a database" test section

Groundwork for adding a collation section.
Branch: master
https://github.com/mongodb/mongo-cxx-driver/commit/5c593cfe07e93d1009ada1089c14af0ea43407e3

Comment by Githook User [ 29/Nov/16 ]

Author:

{u'username': u'jrassi', u'name': u'J. Rassi', u'email': u'rassi@10gen.com'}

Message: CXX-971 Add database::create_collection() collation integration test
Branch: master
https://github.com/mongodb/mongo-cxx-driver/commit/53f7dbe5b7679b3f7f36dc71163337a5fc21ec66

Comment by Githook User [ 29/Nov/16 ]

Author:

{u'username': u'jrassi', u'name': u'J. Rassi', u'email': u'rassi@10gen.com'}

Message: CXX-971 "Database integration tests": drop collection at section start

This improves consistency with other integration tests.
Branch: master
https://github.com/mongodb/mongo-cxx-driver/commit/f06f6edb925397caaaf095750fe5dbe168698364

Comment by Githook User [ 29/Nov/16 ]

Author:

{u'username': u'jrassi', u'name': u'J. Rassi', u'email': u'rassi@10gen.com'}

Message: CXX-971 Add collation support for collection::create_index()
Branch: master
https://github.com/mongodb/mongo-cxx-driver/commit/cff394e3328ee3a7b567758edb2d3de6ecce9b5f

Comment by Githook User [ 29/Nov/16 ]

Author:

{u'username': u'jrassi', u'name': u'J. Rassi', u'email': u'rassi@10gen.com'}

Message: CXX-971 Break "create_index returns index name" test into sections

Groundwork for adding a collation section.
Branch: master
https://github.com/mongodb/mongo-cxx-driver/commit/159c1480c630d10c5b8c186b11dca94de0a468bf

Comment by Githook User [ 29/Nov/16 ]

Author:

{u'username': u'jrassi', u'name': u'J. Rassi', u'email': u'rassi@10gen.com'}

Message: CXX-971 Add collation support for collection::find_one_and_delete()
Branch: master
https://github.com/mongodb/mongo-cxx-driver/commit/c42237bfa4d7bb2f276e65a74474089e768eeb27

Comment by Githook User [ 29/Nov/16 ]

Author:

{u'username': u'jrassi', u'name': u'J. Rassi', u'email': u'rassi@10gen.com'}

Message: CXX-971 Add collation support for collection::find_one_and_update()
Branch: master
https://github.com/mongodb/mongo-cxx-driver/commit/00ab4c7e2bca256a488cb3dc65ae92d1ca2d35f9

Comment by Githook User [ 29/Nov/16 ]

Author:

{u'username': u'jrassi', u'name': u'J. Rassi', u'email': u'rassi@10gen.com'}

Message: CXX-971 Add collation support for collection::find_one_and_replace()
Branch: master
https://github.com/mongodb/mongo-cxx-driver/commit/1f473a2852a646d377a6059031cdf8c811ce0b3e

Comment by Githook User [ 29/Nov/16 ]

Author:

{u'username': u'jrassi', u'name': u'J. Rassi', u'email': u'rassi@10gen.com'}

Message: CXX-971 Change collection::find_one_and_*() tests to use string data

Groundwork for adding collation sections to these test cases.
Branch: master
https://github.com/mongodb/mongo-cxx-driver/commit/067681b6d8e7415bb0ab4f76b6eb77c2e45fde7f

Comment by Githook User [ 29/Nov/16 ]

Author:

{u'username': u'jrassi', u'name': u'J. Rassi', u'email': u'rassi@10gen.com'}

Message: CXX-971 Minor restructuring of collection::find_one_and_*() impl.

Scopes some variables more tightly to their relevant
blocks/statements.
Branch: master
https://github.com/mongodb/mongo-cxx-driver/commit/7becad7a238cd476c013a97aefb4e3570766eb1d

Comment by Githook User [ 29/Nov/16 ]

Author:

{u'username': u'jrassi', u'name': u'J. Rassi', u'email': u'rassi@10gen.com'}

Message: CXX-971 Add collation support for collection::delete_many()
Branch: master
https://github.com/mongodb/mongo-cxx-driver/commit/bc5caf640c939f1f7cfc6beac22bed934b471146

Comment by Githook User [ 29/Nov/16 ]

Author:

{u'username': u'jrassi', u'name': u'J. Rassi', u'email': u'rassi@10gen.com'}

Message: CXX-971 Add collation support for collection::delete_one()
Branch: master
https://github.com/mongodb/mongo-cxx-driver/commit/0e400953881058cbad3f22ec23ca692c7a5c1907

Comment by Githook User [ 29/Nov/16 ]

Author:

{u'username': u'jrassi', u'name': u'J. Rassi', u'email': u'rassi@10gen.com'}

Message: CXX-971 Add collation support for collection::replace_one()
Branch: master
https://github.com/mongodb/mongo-cxx-driver/commit/68ec40853712216f41a52683d01969272173582d

Comment by Githook User [ 29/Nov/16 ]

Author:

{u'username': u'jrassi', u'name': u'J. Rassi', u'email': u'rassi@10gen.com'}

Message: CXX-971 Add collation support for collection::update_many()
Branch: master
https://github.com/mongodb/mongo-cxx-driver/commit/862e5b49d6b8a91eff3d379798fe4eada01ff678

Comment by Githook User [ 29/Nov/16 ]

Author:

{u'username': u'jrassi', u'name': u'J. Rassi', u'email': u'rassi@10gen.com'}

Message: CXX-971 Add collation support for collection::update_one()
Branch: master
https://github.com/mongodb/mongo-cxx-driver/commit/afb51fd2a2dcfc8a5f88dddb79a305ee38b330b4

Comment by Githook User [ 29/Nov/16 ]

Author:

{u'username': u'jrassi', u'name': u'J. Rassi', u'email': u'rassi@10gen.com'}

Message: CXX-971 Consistent style for one-line conditionals in collection.cpp
Branch: master
https://github.com/mongodb/mongo-cxx-driver/commit/3becc49ccd6adab2d871693c45a958cb4f044e07

Comment by Githook User [ 29/Nov/16 ]

Author:

{u'username': u'jrassi', u'name': u'J. Rassi', u'email': u'rassi@10gen.com'}

Message: CXX-971 Add collation support for collection::distinct()
Branch: master
https://github.com/mongodb/mongo-cxx-driver/commit/56c54ccdbb3d752653ba2aceff5db0d9f9f2ff6c

Comment by Githook User [ 29/Nov/16 ]

Author:

{u'username': u'jrassi', u'name': u'J. Rassi', u'email': u'rassi@10gen.com'}

Message: CXX-971 Minor cleanup of integration test for distinct
Branch: master
https://github.com/mongodb/mongo-cxx-driver/commit/ccf2538ba4b810489a1468e63030faca4eb6d071

Comment by Githook User [ 29/Nov/16 ]

Author:

{u'username': u'jrassi', u'name': u'J. Rassi', u'email': u'rassi@10gen.com'}

Message: CXX-971 Add collation support for collection::count()
Branch: master
https://github.com/mongodb/mongo-cxx-driver/commit/ee8607eae06873875ecd3b4fabb329cd749f9039

Comment by Githook User [ 29/Nov/16 ]

Author:

{u'username': u'jrassi', u'name': u'J. Rassi', u'email': u'rassi@10gen.com'}

Message: CXX-971 Add collation support for collection::aggregate()
Branch: master
https://github.com/mongodb/mongo-cxx-driver/commit/d0dc725cd45dbd39e721a1e701871c59033b263f

Comment by Githook User [ 29/Nov/16 ]

Author:

{u'username': u'jrassi', u'name': u'J. Rassi', u'email': u'rassi@10gen.com'}

Message: CXX-971 Add collation support for collection find/find_one
Branch: master
https://github.com/mongodb/mongo-cxx-driver/commit/0360c052218097fec246a5bccb42cd413597eda7

Comment by Githook User [ 29/Nov/16 ]

Author:

{u'username': u'jrassi', u'name': u'J. Rassi', u'email': u'rassi@10gen.com'}

Message: CXX-971 Add new helper test_util::supports_collation
Branch: master
https://github.com/mongodb/mongo-cxx-driver/commit/af385d071776e03290445726b652afb9332272a2

Comment by Githook User [ 29/Nov/16 ]

Author:

{u'username': u'jrassi', u'name': u'J. Rassi', u'email': u'rassi@10gen.com'}

Message: CXX-971 Fix issue w/ test_util::get_max_wire_version() on old servers
Branch: master
https://github.com/mongodb/mongo-cxx-driver/commit/33b6c95305ca860c66bc67126083b905e2181e36

Comment by Githook User [ 29/Nov/16 ]

Author:

{u'username': u'jrassi', u'name': u'J. Rassi', u'email': u'rassi@10gen.com'}

Message: CXX-971 Move get_max_wire_version() helper into test_util/
Branch: master
https://github.com/mongodb/mongo-cxx-driver/commit/bc619fe6cc9973ceac8f9ea74a35de3573348fbe

Comment by Githook User [ 29/Nov/16 ]

Author:

{u'username': u'jrassi', u'name': u'J. Rassi', u'email': u'rassi@10gen.com'}

Message: CXX-971 Fix incorrect comment in mock.hh
Branch: master
https://github.com/mongodb/mongo-cxx-driver/commit/602578ab8d149e0ad710e6e8cdde8677c82617f6

Comment by Githook User [ 29/Nov/16 ]

Author:

{u'username': u'jrassi', u'name': u'J. Rassi', u'email': u'rassi@10gen.com'}

Message: CXX-971 Move test_util namespace into ABI namespace

While test_util is not part of the ABI, this makes the mock class
consistent with other private code that is declared within the ABI
namespace (such as mongocxx::libbson).
Branch: master
https://github.com/mongodb/mongo-cxx-driver/commit/3ba16d699696f1bcf8cf27ca41240641abf8a3d9

Comment by Githook User [ 29/Nov/16 ]

Author:

{u'username': u'jrassi', u'name': u'J. Rassi', u'email': u'rassi@10gen.com'}

Message: CXX-971 Add collation support for bulk_write class
Branch: master
https://github.com/mongodb/mongo-cxx-driver/commit/ad81a90a704ba4ce6326e37bfbb98c377e04d07b

Comment by Githook User [ 29/Nov/16 ]

Author:

{u'username': u'jrassi', u'name': u'J. Rassi', u'email': u'rassi@10gen.com'}

Message: CXX-971 Add collation to create_view options
Branch: master
https://github.com/mongodb/mongo-cxx-driver/commit/4c3fcb293f5b6f1621254f2453c349098a99c737

Comment by Githook User [ 29/Nov/16 ]

Author:

{u'username': u'jrassi', u'name': u'J. Rassi', u'email': u'rassi@10gen.com'}

Message: CXX-971 Add collation to model::delete_one, model::delete_many
Branch: master
https://github.com/mongodb/mongo-cxx-driver/commit/3b83c9b39734e427508c6f020c2e578f6ecdfae2

Comment by Githook User [ 29/Nov/16 ]

Author:

{u'username': u'jrassi', u'name': u'J. Rassi', u'email': u'rassi@10gen.com'}

Message: CXX-971 Add collation to model::update_many, model::replace_one
Branch: master
https://github.com/mongodb/mongo-cxx-driver/commit/cdbdd12366a00cff416a682b6e29fe86dad1efa3

Comment by Githook User [ 29/Nov/16 ]

Author:

{u'username': u'jrassi', u'name': u'J. Rassi', u'email': u'rassi@10gen.com'}

Message: CXX-971 Add collation to create_collection options
Branch: master
https://github.com/mongodb/mongo-cxx-driver/commit/000eb806a8d3dfba60e6895ff22377e4b46bee5b

Comment by Githook User [ 29/Nov/16 ]

Author:

{u'username': u'jrassi', u'name': u'J. Rassi', u'email': u'rassi@10gen.com'}

Message: CXX-971 Add collation to index options
Branch: master
https://github.com/mongodb/mongo-cxx-driver/commit/ff0cd0e4812e769bafa92a7a8feae2c4d3c5e57a

Comment by Githook User [ 29/Nov/16 ]

Author:

{u'username': u'jrassi', u'name': u'J. Rassi', u'email': u'rassi@10gen.com'}

Message: CXX-971 Add collation to options classes for find_one_and_*
Branch: master
https://github.com/mongodb/mongo-cxx-driver/commit/8b551d86ad8e7c35c14996f9ce62fe71a68484a3

Comment by Githook User [ 29/Nov/16 ]

Author:

{u'username': u'jrassi', u'name': u'J. Rassi', u'email': u'rassi@10gen.com'}

Message: CXX-971 Add collation to options classes for delete/update
Branch: master
https://github.com/mongodb/mongo-cxx-driver/commit/08cf81ea68cfe415933b85e6b642abe7c348f8e7

Comment by Githook User [ 29/Nov/16 ]

Author:

{u'username': u'jrassi', u'name': u'J. Rassi', u'email': u'rassi@10gen.com'}

Message: CXX-971 Add collation to options classes for aggregate/count/distinct
Branch: master
https://github.com/mongodb/mongo-cxx-driver/commit/3bb0d0723313261c267ee63ba42ffa6cb1fa6bb6

Comment by Githook User [ 29/Nov/16 ]

Author:

{u'username': u'jrassi', u'name': u'J. Rassi', u'email': u'rassi@10gen.com'}

Message: CXX-971 Add collation to model::update_one
Branch: master
https://github.com/mongodb/mongo-cxx-driver/commit/d6db05283e26958d190d4df579bdc63254b45fc3

Comment by Githook User [ 29/Nov/16 ]

Author:

{u'username': u'jrassi', u'name': u'J. Rassi', u'email': u'rassi@10gen.com'}

Message: CXX-971 Add unit tests for model classes that were missing coverage
Branch: master
https://github.com/mongodb/mongo-cxx-driver/commit/24062b8379e5d5e58f9cb7251fa233770a4c5573

Comment by Githook User [ 29/Nov/16 ]

Author:

{u'username': u'jrassi', u'name': u'J. Rassi', u'email': u'rassi@10gen.com'}

Message: CXX-971 Clean up test file for model::update_many
Branch: master
https://github.com/mongodb/mongo-cxx-driver/commit/34128126f343d9df0dfd8aced6b2f3ecead7adea

Comment by Githook User [ 29/Nov/16 ]

Author:

{u'username': u'jrassi', u'name': u'J. Rassi', u'email': u'rassi@10gen.com'}

Message: CXX-971 Re-order model method definitions to match declaration order
Branch: master
https://github.com/mongodb/mongo-cxx-driver/commit/fde019648d522d446d36c438a36cf49777526b11

Comment by Githook User [ 29/Nov/16 ]

Author:

{u'username': u'jrassi', u'name': u'J. Rassi', u'email': u'rassi@10gen.com'}

Message: CXX-971 Remove superfluous member section comments in model classes
Branch: master
https://github.com/mongodb/mongo-cxx-driver/commit/003e2e6d83eebd57c888939621f0ccf46284f9d0

Comment by Githook User [ 29/Nov/16 ]

Author:

{u'username': u'jrassi', u'name': u'J. Rassi', u'email': u'rassi@10gen.com'}

Message: CXX-971 Add collation to options::find
Branch: master
https://github.com/mongodb/mongo-cxx-driver/commit/b73345e4a1370cc66a3ad46ab0dd0ef8c0b6f715

Comment by Githook User [ 29/Nov/16 ]

Author:

{u'username': u'jrassi', u'name': u'J. Rassi', u'email': u'rassi@10gen.com'}

Message: CXX-971 Add unit tests for count/delete/distinct options classes
Branch: master
https://github.com/mongodb/mongo-cxx-driver/commit/5e3214ea9380803a09d3d6e9cfbfcf842f24070f

Comment by Githook User [ 29/Nov/16 ]

Author:

{u'username': u'jrassi', u'name': u'J. Rassi', u'email': u'rassi@10gen.com'}

Message: CXX-971 Improve consistency of options tests with one another
Branch: master
https://github.com/mongodb/mongo-cxx-driver/commit/6cbb3f4ef04c2a2c2aee812ea2230ed3af74ce99

Comment by Githook User [ 29/Nov/16 ]

Author:

{u'username': u'jrassi', u'name': u'J. Rassi', u'email': u'rassi@10gen.com'}

Message: CXX-971 Alphabetize members/methods in options::update
Branch: master
https://github.com/mongodb/mongo-cxx-driver/commit/2dc64c58ee27e35d3174bc3663ece44a802227a8

Comment by Githook User [ 29/Nov/16 ]

Author:

{u'username': u'jrassi', u'name': u'J. Rassi', u'email': u'rassi@10gen.com'}

Message: CXX-971 options classes: fix whitespace, remove unused includes
Branch: master
https://github.com/mongodb/mongo-cxx-driver/commit/69d1743741b34679cb50e59e863dfacf2698e609

Comment by J Rassi [ 19/Oct/16 ]

Resolving as fixed.

As of resolution time, there are three bugs outstanding:

  • CDRIVER-1751 mongoc_collection_find_with_opts() should return error if collation specified and connection does not support read commands
  • CDRIVER-1779
    mongoc_collection_find_and_modify_with_opts() should return error if collation specified and connection max wire version < 5
  • CXX-1093
    collection::distinct() should return error to user if collation specified and connection max wire version < 5 (blocked on CDRIVER-1527).

And one documentation fix:

  • CXX-1039 Update link to final collation page in 3.4 manual

david.golden: per above, I believe this work is otherwise spec-compliant, though please re-open if you see any missing required functionality.

Comment by Githook User [ 19/Oct/16 ]

Author:

{u'username': u'jrassi', u'name': u'J. Rassi', u'email': u'rassi@10gen.com'}

Message: CXX-971 Add database::create_view() collation integration test
Branch: 3.1-dev
https://github.com/mongodb/mongo-cxx-driver/commit/b81e47bc123aa0dbe36c41b3c4a9e819e899bb71

Comment by Githook User [ 19/Oct/16 ]

Author:

{u'username': u'jrassi', u'name': u'J. Rassi', u'email': u'rassi@10gen.com'}

Message: CXX-971 Break down "A view can be created on a database" test section

Groundwork for adding a collation section.
Branch: 3.1-dev
https://github.com/mongodb/mongo-cxx-driver/commit/5c593cfe07e93d1009ada1089c14af0ea43407e3

Comment by Githook User [ 19/Oct/16 ]

Author:

{u'username': u'jrassi', u'name': u'J. Rassi', u'email': u'rassi@10gen.com'}

Message: CXX-971 Add database::create_collection() collation integration test
Branch: 3.1-dev
https://github.com/mongodb/mongo-cxx-driver/commit/53f7dbe5b7679b3f7f36dc71163337a5fc21ec66

Comment by Githook User [ 19/Oct/16 ]

Author:

{u'username': u'jrassi', u'name': u'J. Rassi', u'email': u'rassi@10gen.com'}

Message: CXX-971 "Database integration tests": drop collection at section start

This improves consistency with other integration tests.
Branch: 3.1-dev
https://github.com/mongodb/mongo-cxx-driver/commit/f06f6edb925397caaaf095750fe5dbe168698364

Comment by Githook User [ 19/Oct/16 ]

Author:

{u'username': u'jrassi', u'name': u'J. Rassi', u'email': u'rassi@10gen.com'}

Message: CXX-971 Add collation support for collection::create_index()
Branch: 3.1-dev
https://github.com/mongodb/mongo-cxx-driver/commit/cff394e3328ee3a7b567758edb2d3de6ecce9b5f

Comment by Githook User [ 19/Oct/16 ]

Author:

{u'username': u'jrassi', u'name': u'J. Rassi', u'email': u'rassi@10gen.com'}

Message: CXX-971 Break "create_index returns index name" test into sections

Groundwork for adding a collation section.
Branch: 3.1-dev
https://github.com/mongodb/mongo-cxx-driver/commit/159c1480c630d10c5b8c186b11dca94de0a468bf

Comment by Githook User [ 19/Oct/16 ]

Author:

{u'username': u'jrassi', u'name': u'J. Rassi', u'email': u'rassi@10gen.com'}

Message: CXX-971 Add collation support for collection::find_one_and_delete()
Branch: 3.1-dev
https://github.com/mongodb/mongo-cxx-driver/commit/c42237bfa4d7bb2f276e65a74474089e768eeb27

Comment by Githook User [ 19/Oct/16 ]

Author:

{u'username': u'jrassi', u'name': u'J. Rassi', u'email': u'rassi@10gen.com'}

Message: CXX-971 Add collation support for collection::find_one_and_update()
Branch: 3.1-dev
https://github.com/mongodb/mongo-cxx-driver/commit/00ab4c7e2bca256a488cb3dc65ae92d1ca2d35f9

Comment by Githook User [ 19/Oct/16 ]

Author:

{u'username': u'jrassi', u'name': u'J. Rassi', u'email': u'rassi@10gen.com'}

Message: CXX-971 Add collation support for collection::find_one_and_replace()
Branch: 3.1-dev
https://github.com/mongodb/mongo-cxx-driver/commit/1f473a2852a646d377a6059031cdf8c811ce0b3e

Comment by Githook User [ 19/Oct/16 ]

Author:

{u'username': u'jrassi', u'name': u'J. Rassi', u'email': u'rassi@10gen.com'}

Message: CXX-971 Change collection::find_one_and_*() tests to use string data

Groundwork for adding collation sections to these test cases.
Branch: 3.1-dev
https://github.com/mongodb/mongo-cxx-driver/commit/067681b6d8e7415bb0ab4f76b6eb77c2e45fde7f

Comment by Githook User [ 19/Oct/16 ]

Author:

{u'username': u'jrassi', u'name': u'J. Rassi', u'email': u'rassi@10gen.com'}

Message: CXX-971 Minor restructuring of collection::find_one_and_*() impl.

Scopes some variables more tightly to their relevant
blocks/statements.
Branch: 3.1-dev
https://github.com/mongodb/mongo-cxx-driver/commit/7becad7a238cd476c013a97aefb4e3570766eb1d

Comment by Githook User [ 19/Oct/16 ]

Author:

{u'username': u'jrassi', u'name': u'J. Rassi', u'email': u'rassi@10gen.com'}

Message: CXX-971 Add collation support for collection::delete_many()
Branch: 3.1-dev
https://github.com/mongodb/mongo-cxx-driver/commit/bc5caf640c939f1f7cfc6beac22bed934b471146

Comment by Githook User [ 19/Oct/16 ]

Author:

{u'username': u'jrassi', u'name': u'J. Rassi', u'email': u'rassi@10gen.com'}

Message: CXX-971 Add collation support for collection::delete_one()
Branch: 3.1-dev
https://github.com/mongodb/mongo-cxx-driver/commit/0e400953881058cbad3f22ec23ca692c7a5c1907

Comment by Githook User [ 19/Oct/16 ]

Author:

{u'username': u'jrassi', u'name': u'J. Rassi', u'email': u'rassi@10gen.com'}

Message: CXX-971 Add collation support for collection::replace_one()
Branch: 3.1-dev
https://github.com/mongodb/mongo-cxx-driver/commit/68ec40853712216f41a52683d01969272173582d

Comment by Githook User [ 19/Oct/16 ]

Author:

{u'username': u'jrassi', u'name': u'J. Rassi', u'email': u'rassi@10gen.com'}

Message: CXX-971 Add collation support for collection::update_many()
Branch: 3.1-dev
https://github.com/mongodb/mongo-cxx-driver/commit/862e5b49d6b8a91eff3d379798fe4eada01ff678

Comment by Githook User [ 19/Oct/16 ]

Author:

{u'username': u'jrassi', u'name': u'J. Rassi', u'email': u'rassi@10gen.com'}

Message: CXX-971 Add collation support for collection::update_one()
Branch: 3.1-dev
https://github.com/mongodb/mongo-cxx-driver/commit/afb51fd2a2dcfc8a5f88dddb79a305ee38b330b4

Comment by Githook User [ 19/Oct/16 ]

Author:

{u'username': u'jrassi', u'name': u'J. Rassi', u'email': u'rassi@10gen.com'}

Message: CXX-971 Consistent style for one-line conditionals in collection.cpp
Branch: 3.1-dev
https://github.com/mongodb/mongo-cxx-driver/commit/3becc49ccd6adab2d871693c45a958cb4f044e07

Comment by Githook User [ 19/Oct/16 ]

Author:

{u'username': u'jrassi', u'name': u'J. Rassi', u'email': u'rassi@10gen.com'}

Message: CXX-971 Add collation support for collection::distinct()
Branch: 3.1-dev
https://github.com/mongodb/mongo-cxx-driver/commit/56c54ccdbb3d752653ba2aceff5db0d9f9f2ff6c

Comment by Githook User [ 19/Oct/16 ]

Author:

{u'username': u'jrassi', u'name': u'J. Rassi', u'email': u'rassi@10gen.com'}

Message: CXX-971 Minor cleanup of integration test for distinct
Branch: 3.1-dev
https://github.com/mongodb/mongo-cxx-driver/commit/ccf2538ba4b810489a1468e63030faca4eb6d071

Comment by Githook User [ 19/Oct/16 ]

Author:

{u'username': u'jrassi', u'name': u'J. Rassi', u'email': u'rassi@10gen.com'}

Message: CXX-971 Add collation support for collection::count()
Branch: 3.1-dev
https://github.com/mongodb/mongo-cxx-driver/commit/ee8607eae06873875ecd3b4fabb329cd749f9039

Comment by Githook User [ 19/Oct/16 ]

Author:

{u'username': u'jrassi', u'name': u'J. Rassi', u'email': u'rassi@10gen.com'}

Message: CXX-971 Add collation support for collection::aggregate()
Branch: 3.1-dev
https://github.com/mongodb/mongo-cxx-driver/commit/d0dc725cd45dbd39e721a1e701871c59033b263f

Comment by Githook User [ 19/Oct/16 ]

Author:

{u'username': u'jrassi', u'name': u'J. Rassi', u'email': u'rassi@10gen.com'}

Message: CXX-971 Add collation support for collection find/find_one
Branch: 3.1-dev
https://github.com/mongodb/mongo-cxx-driver/commit/0360c052218097fec246a5bccb42cd413597eda7

Comment by J Rassi [ 19/Oct/16 ]

rassi Could you please put together a table/list summarizing the PRs and functions affected? That would make it easier to correlate back to the spec document. (No need to include PRs that were just background work to support implementation). Thank you.

Sure. See below.

bulk_write::append() #567
collection::find() #568
collection::find_one() #568
collection::aggregate() #569
collection::count() #569
collection::distinct() #569
collection::update_one() #570
collection::update_many() #570
collection::replace_one() #570
collection::delete_one() #570
collection::delete_many() #570
collection::find_one_and_replace() #571
collection::find_one_and_update() #571
collection::find_one_and_delete() #571
collection::create_index() #572
database::create_collection() #573
database::create_view() #573

Regarding collection::distinct(), I don't plan on releasing our beta until 1.5.0-rc3 is released, but I don't want to add more work/CRs until after the beta, so I suggest opening a bug ticket to track it with the rest of the 3.1-required tickets and scheduling it for the next sprint.

Noted. Opened CXX-1093, scheduled it for next sprint.

Comment by David Golden [ 19/Oct/16 ]

rassi Could you please put together a table/list summarizing the PRs and functions affected? That would make it easier to correlate back to the spec document. (No need to include PRs that were just background work to support implementation). Thank you.

Regarding collection::distinct(), I don't plan on releasing our beta until 1.5.0-rc3 is released, but I don't want to add more work/CRs until after the beta, so I suggest opening a bug ticket to track it with the rest of the 3.1-required tickets and scheduling it for the next sprint.

Comment by J Rassi [ 19/Oct/16 ]

https://github.com/mongodb/mongo-cxx-driver/pull/573

Comment by J Rassi [ 19/Oct/16 ]

david.golden, I've changed the status of this ticket to "In Code Review", and do not intend to send out any further reviews. Please let me know if you believe I've missed any required functionality.

The one exception to the above is that collection::distinct() needs to be migrated to use mongoc_collection_read_command_with_opts(), in order to be able to return an error to the user when a collation is provided in the case that the server does not support collation. If C driver 1.5.0-rc3 is cut tomorrow, I will add a new review for this work. Otherwise, I will open a new CXX ticket of type "Bug" to track this issue post-beta.

Comment by J Rassi [ 19/Oct/16 ]

https://github.com/mongodb/mongo-cxx-driver/pull/572

Comment by J Rassi [ 19/Oct/16 ]

https://github.com/mongodb/mongo-cxx-driver/pull/571

Comment by J Rassi [ 19/Oct/16 ]

https://github.com/mongodb/mongo-cxx-driver/pull/570

Comment by J Rassi [ 19/Oct/16 ]

https://github.com/mongodb/mongo-cxx-driver/pull/569

Comment by J Rassi [ 18/Oct/16 ]

https://github.com/mongodb/mongo-cxx-driver/pull/568

Comment by Githook User [ 18/Oct/16 ]

Author:

{u'username': u'jrassi', u'name': u'J. Rassi', u'email': u'rassi@10gen.com'}

Message: CXX-971 Add new helper test_util::supports_collation
Branch: 3.1-dev
https://github.com/mongodb/mongo-cxx-driver/commit/af385d071776e03290445726b652afb9332272a2

Comment by Githook User [ 18/Oct/16 ]

Author:

{u'username': u'jrassi', u'name': u'J. Rassi', u'email': u'rassi@10gen.com'}

Message: CXX-971 Fix issue w/ test_util::get_max_wire_version() on old servers
Branch: 3.1-dev
https://github.com/mongodb/mongo-cxx-driver/commit/33b6c95305ca860c66bc67126083b905e2181e36

Comment by Githook User [ 18/Oct/16 ]

Author:

{u'username': u'jrassi', u'name': u'J. Rassi', u'email': u'rassi@10gen.com'}

Message: CXX-971 Move get_max_wire_version() helper into test_util/
Branch: 3.1-dev
https://github.com/mongodb/mongo-cxx-driver/commit/bc619fe6cc9973ceac8f9ea74a35de3573348fbe

Comment by Githook User [ 18/Oct/16 ]

Author:

{u'username': u'jrassi', u'name': u'J. Rassi', u'email': u'rassi@10gen.com'}

Message: CXX-971 Fix incorrect comment in mock.hh
Branch: 3.1-dev
https://github.com/mongodb/mongo-cxx-driver/commit/602578ab8d149e0ad710e6e8cdde8677c82617f6

Comment by Githook User [ 18/Oct/16 ]

Author:

{u'username': u'jrassi', u'name': u'J. Rassi', u'email': u'rassi@10gen.com'}

Message: CXX-971 Move test_util namespace into ABI namespace

While test_util is not part of the ABI, this makes the mock class
consistent with other private code that is declared within the ABI
namespace (such as mongocxx::libbson).
Branch: 3.1-dev
https://github.com/mongodb/mongo-cxx-driver/commit/3ba16d699696f1bcf8cf27ca41240641abf8a3d9

Comment by Githook User [ 18/Oct/16 ]

Author:

{u'username': u'jrassi', u'name': u'J. Rassi', u'email': u'rassi@10gen.com'}

Message: CXX-971 Add collation support for bulk_write class
Branch: 3.1-dev
https://github.com/mongodb/mongo-cxx-driver/commit/ad81a90a704ba4ce6326e37bfbb98c377e04d07b

Comment by J Rassi [ 18/Oct/16 ]

https://github.com/mongodb/mongo-cxx-driver/pull/567

Comment by J Rassi [ 18/Oct/16 ]

https://github.com/mongodb/mongo-cxx-driver/pull/566

Comment by J Rassi [ 18/Oct/16 ]

https://github.com/mongodb/mongo-cxx-driver/pull/564

Comment by J Rassi [ 18/Oct/16 ]

https://github.com/mongodb/mongo-cxx-driver/pull/549

Comment by J Rassi [ 18/Oct/16 ]

https://github.com/mongodb/mongo-cxx-driver/pull/548

Comment by Githook User [ 18/Oct/16 ]

Author:

{u'username': u'jrassi', u'name': u'J. Rassi', u'email': u'rassi@10gen.com'}

Message: CXX-971 Add collation to create_view options
Branch: 3.1-dev
https://github.com/mongodb/mongo-cxx-driver/commit/4c3fcb293f5b6f1621254f2453c349098a99c737

Comment by Githook User [ 08/Oct/16 ]

Author:

{u'username': u'jrassi', u'name': u'J. Rassi', u'email': u'rassi@10gen.com'}

Message: CXX-971 Add collation to model::delete_one, model::delete_many
Branch: 3.1-dev
https://github.com/mongodb/mongo-cxx-driver/commit/3b83c9b39734e427508c6f020c2e578f6ecdfae2

Comment by Githook User [ 08/Oct/16 ]

Author:

{u'username': u'jrassi', u'name': u'J. Rassi', u'email': u'rassi@10gen.com'}

Message: CXX-971 Add collation to model::update_many, model::replace_one
Branch: 3.1-dev
https://github.com/mongodb/mongo-cxx-driver/commit/cdbdd12366a00cff416a682b6e29fe86dad1efa3

Comment by Githook User [ 08/Oct/16 ]

Author:

{u'username': u'jrassi', u'name': u'J. Rassi', u'email': u'rassi@10gen.com'}

Message: CXX-971 Add collation to create_collection options
Branch: 3.1-dev
https://github.com/mongodb/mongo-cxx-driver/commit/000eb806a8d3dfba60e6895ff22377e4b46bee5b

Comment by Githook User [ 08/Oct/16 ]

Author:

{u'username': u'jrassi', u'name': u'J. Rassi', u'email': u'rassi@10gen.com'}

Message: CXX-971 Add collation to index options
Branch: 3.1-dev
https://github.com/mongodb/mongo-cxx-driver/commit/ff0cd0e4812e769bafa92a7a8feae2c4d3c5e57a

Comment by Githook User [ 08/Oct/16 ]

Author:

{u'username': u'jrassi', u'name': u'J. Rassi', u'email': u'rassi@10gen.com'}

Message: CXX-971 Add collation to options classes for find_one_and_*
Branch: 3.1-dev
https://github.com/mongodb/mongo-cxx-driver/commit/8b551d86ad8e7c35c14996f9ce62fe71a68484a3

Comment by Githook User [ 08/Oct/16 ]

Author:

{u'username': u'jrassi', u'name': u'J. Rassi', u'email': u'rassi@10gen.com'}

Message: CXX-971 Add collation to options classes for delete/update
Branch: 3.1-dev
https://github.com/mongodb/mongo-cxx-driver/commit/08cf81ea68cfe415933b85e6b642abe7c348f8e7

Comment by Githook User [ 08/Oct/16 ]

Author:

{u'username': u'jrassi', u'name': u'J. Rassi', u'email': u'rassi@10gen.com'}

Message: CXX-971 Add collation to options classes for aggregate/count/distinct
Branch: 3.1-dev
https://github.com/mongodb/mongo-cxx-driver/commit/3bb0d0723313261c267ee63ba42ffa6cb1fa6bb6

Comment by Githook User [ 01/Oct/16 ]

Author:

{u'username': u'jrassi', u'name': u'J. Rassi', u'email': u'rassi@10gen.com'}

Message: CXX-971 Add collation to model::update_one
Branch: 3.1-dev
https://github.com/mongodb/mongo-cxx-driver/commit/d6db05283e26958d190d4df579bdc63254b45fc3

Comment by Githook User [ 26/Sep/16 ]

Author:

{u'username': u'jrassi', u'name': u'J. Rassi', u'email': u'rassi@10gen.com'}

Message: CXX-971 Add unit tests for model classes that were missing coverage
Branch: 3.1-dev
https://github.com/mongodb/mongo-cxx-driver/commit/24062b8379e5d5e58f9cb7251fa233770a4c5573

Comment by Githook User [ 26/Sep/16 ]

Author:

{u'username': u'jrassi', u'name': u'J. Rassi', u'email': u'rassi@10gen.com'}

Message: CXX-971 Clean up test file for model::update_many
Branch: 3.1-dev
https://github.com/mongodb/mongo-cxx-driver/commit/34128126f343d9df0dfd8aced6b2f3ecead7adea

Comment by Githook User [ 26/Sep/16 ]

Author:

{u'username': u'jrassi', u'name': u'J. Rassi', u'email': u'rassi@10gen.com'}

Message: CXX-971 Re-order model method definitions to match declaration order
Branch: 3.1-dev
https://github.com/mongodb/mongo-cxx-driver/commit/fde019648d522d446d36c438a36cf49777526b11

Comment by Githook User [ 26/Sep/16 ]

Author:

{u'username': u'jrassi', u'name': u'J. Rassi', u'email': u'rassi@10gen.com'}

Message: CXX-971 Remove superfluous member section comments in model classes
Branch: 3.1-dev
https://github.com/mongodb/mongo-cxx-driver/commit/003e2e6d83eebd57c888939621f0ccf46284f9d0

Comment by Githook User [ 22/Sep/16 ]

Author:

{u'username': u'jrassi', u'name': u'J. Rassi', u'email': u'rassi@10gen.com'}

Message: CXX-971 Add collation to options::find
Branch: 3.1-dev
https://github.com/mongodb/mongo-cxx-driver/commit/b73345e4a1370cc66a3ad46ab0dd0ef8c0b6f715

Comment by Githook User [ 22/Sep/16 ]

Author:

{u'username': u'jrassi', u'name': u'J. Rassi', u'email': u'rassi@10gen.com'}

Message: CXX-971 Add unit tests for count/delete/distinct options classes
Branch: 3.1-dev
https://github.com/mongodb/mongo-cxx-driver/commit/5e3214ea9380803a09d3d6e9cfbfcf842f24070f

Comment by Githook User [ 22/Sep/16 ]

Author:

{u'username': u'jrassi', u'name': u'J. Rassi', u'email': u'rassi@10gen.com'}

Message: CXX-971 Improve consistency of options tests with one another
Branch: 3.1-dev
https://github.com/mongodb/mongo-cxx-driver/commit/6cbb3f4ef04c2a2c2aee812ea2230ed3af74ce99

Comment by Githook User [ 22/Sep/16 ]

Author:

{u'username': u'jrassi', u'name': u'J. Rassi', u'email': u'rassi@10gen.com'}

Message: CXX-971 Alphabetize members/methods in options::update
Branch: 3.1-dev
https://github.com/mongodb/mongo-cxx-driver/commit/2dc64c58ee27e35d3174bc3663ece44a802227a8

Comment by Githook User [ 22/Sep/16 ]

Author:

{u'username': u'jrassi', u'name': u'J. Rassi', u'email': u'rassi@10gen.com'}

Message: CXX-971 options classes: fix whitespace, remove unused includes
Branch: 3.1-dev
https://github.com/mongodb/mongo-cxx-driver/commit/69d1743741b34679cb50e59e863dfacf2698e609

Comment by J Rassi [ 16/Sep/16 ]

https://github.com/mongodb/mongo-cxx-driver/pull/538

Comment by J Rassi [ 16/Sep/16 ]

https://github.com/mongodb/mongo-cxx-driver/pull/537

Comment by J Rassi [ 16/Sep/16 ]

https://github.com/mongodb/mongo-cxx-driver/pull/536

Comment by J Rassi [ 16/Sep/16 ]

https://github.com/mongodb/mongo-cxx-driver/pull/535

Generated at Wed Feb 07 22:00:56 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.