[DRIVERS-2270] Use $$unsetOrMatches for upsert and multi in update command expectations Created: 07/Apr/22  Updated: 20/May/22

Status: Implementing
Project: Drivers
Component/s: CRUD
Fix Version/s: None

Type: Spec Change Priority: Unknown
Reporter: Jeremy Mikola Assignee: Jeremy Mikola
Resolution: Unresolved Votes: 0
Labels: yaml-test
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Issue split
split to PHPLIB-748 Support 'let' option for multiple CRU... Closed
split to JAVA-4568 Use $$unsetOrMatches for upsert and m... Closed
split to CDRIVER-4330 Use $$unsetOrMatches for upsert and m... Backlog
split to RUST-1260 Use $$unsetOrMatches for upsert and m... Backlog
split to CSHARP-4134 Use $$unsetOrMatches for upsert and m... Closed
split to CXX-2486 Use $$unsetOrMatches for upsert and m... Closed
split to GODRIVER-2376 Use $$unsetOrMatches for upsert and m... Closed
split to MOTOR-928 Use $$unsetOrMatches for upsert and m... Closed
split to NODE-4174 Use $$unsetOrMatches for upsert and m... Closed
split to PYTHON-3219 Use $$unsetOrMatches for upsert and m... Closed
split to RUBY-2950 Use $$unsetOrMatches for upsert and m... Closed
Related
related to CDRIVER-4329 Do not permit extra fields when match... Closed
related to DRIVERS-2271 Omit upsert and multi options in upda... Backlog
is related to DRIVERS-2192 Fix comment helper specification tests Closed
is related to DRIVERS-604 Re-sync APM tests for removed upsert/... Implementing
is related to DRIVERS-742 Add support for the comment field to ... Closed
Driver Changes: Needed
Downstream Changes Summary:

Sync unified CRUD spec tests with mongodb/specifications@51ca03b.

Driver Compliance:
Key Status/Resolution FixVersion
PHPLIB-748 Fixed 1.13.0-beta1, 1.13.0
CDRIVER-4330 Backlog
CXX-2486 Fixed 3.7.0
CSHARP-4134 Fixed 2.16.0
GODRIVER-2376 Done
JAVA-4568 Fixed 4.6.0
NODE-4174 Done
MOTOR-928 Won't Do
PYTHON-3219 Duplicate
RUBY-2950 Fixed 2.18.0
RUST-1260 Backlog
SWIFT-1541 Won't Do

 Description   

Summary

The update command expectations in various let and comment option tests from DRIVERS-1788 and DRIVERS-742 (and related follow-up tickets) are missing $$unsetOrMatches for the upsert and multi options within expected update statements. Those are necessary since some drivers explicitly send false for these options.

Ultimately, we can consider requiring drivers to leave these fields unset by default (DRIVERS-2271), but for now spec tests will need to use $$unsetOrMatches for portability.

Motivation

Who is the affected end user?

Drivers that explicitly specify false for upsert and/or multi options in update statements.

How does this affect the end user?

APM assertions fail.

Is this issue urgent?

This is only urgent for drivers that explicitly send false for upsert and multi options.

Is this ticket required by a downstream team?

No.

Is this ticket only for tests?

Yes.



 Comments   
Comment by Githook User [ 11/Apr/22 ]

Author:

{'name': 'Jeremy Mikola', 'email': 'jmikola@gmail.com', 'username': 'jmikola'}

Message: DRIVERS-2270: Use $$unsetOrMatches for upsert and multi (#1174)
Branch: master
https://github.com/mongodb/specifications/commit/51ca03b07d0c6681951d82043aa5b49869a66e87

Comment by Jeremy Mikola [ 08/Apr/22 ]

https://github.com/mongodb/specifications/pull/1174

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