Skip to content

Commit a8fe810

Browse files
committed
CDRIVER-945: Change of hearts. Remove _set_write_concern
For consistency with all other helpers, the write concern should be set at the collection level, not per command.
1 parent 38cf613 commit a8fe810

9 files changed

+4
-35
lines changed

build/autotools/versions.ldscript

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -283,7 +283,6 @@ LIBMONGOC_1.3 {
283283
mongoc_find_and_modify_opts_set_flags;
284284
mongoc_find_and_modify_opts_set_sort;
285285
mongoc_find_and_modify_opts_set_update;
286-
mongoc_find_and_modify_opts_set_write_concern;
287286
mongoc_read_concern_copy;
288287
mongoc_read_concern_destroy;
289288
mongoc_read_concern_get_level;

build/cmake/libmongoc-ssl.def

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,6 @@ mongoc_find_and_modify_opts_set_fields
125125
mongoc_find_and_modify_opts_set_flags
126126
mongoc_find_and_modify_opts_set_sort
127127
mongoc_find_and_modify_opts_set_update
128-
mongoc_find_and_modify_opts_set_write_concern
129128
mongoc_get_major_version
130129
mongoc_get_micro_version
131130
mongoc_get_minor_version

build/cmake/libmongoc.def

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,6 @@ mongoc_find_and_modify_opts_set_fields
123123
mongoc_find_and_modify_opts_set_flags
124124
mongoc_find_and_modify_opts_set_sort
125125
mongoc_find_and_modify_opts_set_update
126-
mongoc_find_and_modify_opts_set_write_concern
127126
mongoc_get_major_version
128127
mongoc_get_micro_version
129128
mongoc_get_minor_version

src/libmongoc.symbols

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,6 @@ mongoc_find_and_modify_opts_set_fields
128128
mongoc_find_and_modify_opts_set_flags
129129
mongoc_find_and_modify_opts_set_sort
130130
mongoc_find_and_modify_opts_set_update
131-
mongoc_find_and_modify_opts_set_write_concern
132131
mongoc_get_major_version
133132
mongoc_get_micro_version
134133
mongoc_get_minor_version

src/mongoc/mongoc-collection.c

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2064,7 +2064,6 @@ mongoc_collection_find_and_modify_with_opts (mongoc_collection_t
20642064
const char *name;
20652065
bool ret;
20662066
bson_t command = BSON_INITIALIZER;
2067-
mongoc_write_concern_t *wc;
20682067

20692068
ENTRY;
20702069

@@ -2112,10 +2111,8 @@ mongoc_collection_find_and_modify_with_opts (mongoc_collection_t
21122111
!!opts->bypass_document_validation);
21132112
}
21142113

2115-
wc = opts->write_concern ? opts->write_concern : collection->write_concern;
2116-
21172114
if (server_stream->sd->max_wire_version >= WIRE_VERSION_FAM_WRITE_CONCERN) {
2118-
if (!_mongoc_write_concern_is_valid (wc)) {
2115+
if (!_mongoc_write_concern_is_valid (collection->write_concern)) {
21192116
bson_set_error (error,
21202117
MONGOC_ERROR_COMMAND,
21212118
MONGOC_ERROR_COMMAND_INVALID_ARG,
@@ -2125,8 +2122,8 @@ mongoc_collection_find_and_modify_with_opts (mongoc_collection_t
21252122
RETURN (false);
21262123
}
21272124

2128-
if (_mongoc_write_concern_needs_gle (wc)) {
2129-
_BSON_APPEND_WRITE_CONCERN (&command, wc);
2125+
if (_mongoc_write_concern_needs_gle (collection->write_concern)) {
2126+
_BSON_APPEND_WRITE_CONCERN (&command, collection->write_concern);
21302127
}
21312128
}
21322129

@@ -2211,7 +2208,6 @@ mongoc_collection_find_and_modify (mongoc_collection_t *collection,
22112208
mongoc_find_and_modify_opts_set_update (opts, update);
22122209
mongoc_find_and_modify_opts_set_fields (opts, fields);
22132210
mongoc_find_and_modify_opts_set_flags (opts, flags);
2214-
mongoc_find_and_modify_opts_set_write_concern (opts, collection->write_concern);
22152211

22162212
ret = mongoc_collection_find_and_modify_with_opts (collection, query, opts, reply, error);
22172213
mongoc_find_and_modify_opts_destroy (opts);

src/mongoc/mongoc-find-and-modify-private.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@ struct _mongoc_find_and_modify_opts_t
3131
bson_t *sort;
3232
bson_t *update;
3333
bson_t *fields;
34-
mongoc_write_concern_t *write_concern;
3534
mongoc_find_and_modify_flags_t flags;
3635
mongoc_write_bypass_document_validation_t bypass_document_validation;
3736
};

src/mongoc/mongoc-find-and-modify.c

Lines changed: 0 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -105,22 +105,6 @@ mongoc_find_and_modify_opts_set_bypass_document_validation (mongoc_find_and_modi
105105
return true;
106106
}
107107

108-
bool
109-
mongoc_find_and_modify_opts_set_write_concern (mongoc_find_and_modify_opts_t *opts,
110-
const mongoc_write_concern_t *write_concern)
111-
{
112-
BSON_ASSERT (opts);
113-
114-
if (_mongoc_write_concern_is_valid (write_concern)) {
115-
if (opts->write_concern) {
116-
mongoc_write_concern_destroy (opts->write_concern);
117-
}
118-
opts->write_concern = mongoc_write_concern_copy (write_concern);
119-
return true;
120-
}
121-
return false;
122-
}
123-
124108
/**
125109
* mongoc_find_and_modify_opts_destroy:
126110
* @opts: A mongoc_find_and_modify_opts_t.
@@ -134,9 +118,6 @@ mongoc_find_and_modify_opts_destroy (mongoc_find_and_modify_opts_t *opts)
134118
_mongoc_bson_destroy_if_set (opts->sort);
135119
_mongoc_bson_destroy_if_set (opts->update);
136120
_mongoc_bson_destroy_if_set (opts->fields);
137-
if (opts->write_concern) {
138-
mongoc_write_concern_destroy (opts->write_concern);
139-
}
140121
bson_free (opts);
141122
}
142123
}

src/mongoc/mongoc-find-and-modify.h

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -53,9 +53,6 @@ mongoc_find_and_modify_opts_set_flags (mongoc_find_and_modify_opts_t
5353
bool
5454
mongoc_find_and_modify_opts_set_bypass_document_validation (mongoc_find_and_modify_opts_t *opts,
5555
bool bypass);
56-
bool
57-
mongoc_find_and_modify_opts_set_write_concern (mongoc_find_and_modify_opts_t *opts,
58-
const mongoc_write_concern_t *write_concern);
5956
void
6057
mongoc_find_and_modify_opts_destroy (mongoc_find_and_modify_opts_t *opts);
6158

tests/test-mongoc-find-and-modify.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ test_find_and_modify_write_concern (int wire_version)
8383
write_concern = mongoc_write_concern_new ();
8484
mongoc_write_concern_set_w (write_concern, 42);
8585
opts = mongoc_find_and_modify_opts_new ();
86-
mongoc_find_and_modify_opts_set_write_concern (opts, write_concern);
86+
mongoc_collection_set_write_concern (collection, write_concern);
8787
mongoc_find_and_modify_opts_set_update (opts, update);
8888
mongoc_find_and_modify_opts_set_flags (opts, MONGOC_FIND_AND_MODIFY_RETURN_NEW);
8989

0 commit comments

Comments
 (0)