From 498bb3ff645ea3b70248760fe72631cef7159811 Mon Sep 17 00:00:00 2001 From: Kevin Albertson Date: Thu, 16 May 2024 09:21:14 -0400 Subject: [PATCH 01/18] document `mongoc_bulkwriteopts_t` --- src/libmongoc/doc/api.rst | 1 + .../doc/mongoc_bulkwriteopts_destroy.rst | 17 ++++++++++ .../doc/mongoc_bulkwriteopts_new.rst | 18 +++++++++++ ...writeopts_set_bypassdocumentvalidation.rst | 20 ++++++++++++ .../doc/mongoc_bulkwriteopts_set_comment.rst | 18 +++++++++++ .../doc/mongoc_bulkwriteopts_set_extra.rst | 18 +++++++++++ .../doc/mongoc_bulkwriteopts_set_let.rst | 19 ++++++++++++ .../doc/mongoc_bulkwriteopts_set_ordered.rst | 21 +++++++++++++ .../doc/mongoc_bulkwriteopts_set_serverid.rst | 18 +++++++++++ ...ongoc_bulkwriteopts_set_verboseresults.rst | 25 +++++++++++++++ .../mongoc_bulkwriteopts_set_writeconcern.rst | 18 +++++++++++ src/libmongoc/doc/mongoc_bulkwriteopts_t.rst | 31 +++++++++++++++++++ 12 files changed, 224 insertions(+) create mode 100644 src/libmongoc/doc/mongoc_bulkwriteopts_destroy.rst create mode 100644 src/libmongoc/doc/mongoc_bulkwriteopts_new.rst create mode 100644 src/libmongoc/doc/mongoc_bulkwriteopts_set_bypassdocumentvalidation.rst create mode 100644 src/libmongoc/doc/mongoc_bulkwriteopts_set_comment.rst create mode 100644 src/libmongoc/doc/mongoc_bulkwriteopts_set_extra.rst create mode 100644 src/libmongoc/doc/mongoc_bulkwriteopts_set_let.rst create mode 100644 src/libmongoc/doc/mongoc_bulkwriteopts_set_ordered.rst create mode 100644 src/libmongoc/doc/mongoc_bulkwriteopts_set_serverid.rst create mode 100644 src/libmongoc/doc/mongoc_bulkwriteopts_set_verboseresults.rst create mode 100644 src/libmongoc/doc/mongoc_bulkwriteopts_set_writeconcern.rst create mode 100644 src/libmongoc/doc/mongoc_bulkwriteopts_t.rst diff --git a/src/libmongoc/doc/api.rst b/src/libmongoc/doc/api.rst index 28ff91c0637..c417b1239ec 100644 --- a/src/libmongoc/doc/api.rst +++ b/src/libmongoc/doc/api.rst @@ -11,6 +11,7 @@ API Reference lifecycle gridfs mongoc_auto_encryption_opts_t + mongoc_bulkwriteopts_t mongoc_bulk_operation_t mongoc_change_stream_t mongoc_client_encryption_t diff --git a/src/libmongoc/doc/mongoc_bulkwriteopts_destroy.rst b/src/libmongoc/doc/mongoc_bulkwriteopts_destroy.rst new file mode 100644 index 00000000000..43f06bbea40 --- /dev/null +++ b/src/libmongoc/doc/mongoc_bulkwriteopts_destroy.rst @@ -0,0 +1,17 @@ +:man_page: mongoc_bulkwriteopts_destroy + +mongoc_bulkwriteopts_destroy() +============================== + +Synopsis +-------- + +.. code-block:: c + + void + mongoc_bulkwriteopts_destroy (mongoc_bulkwriteopts_t *self); + +Description +----------- + +Frees a :symbol:`mongoc_bulkwriteopts_t`. diff --git a/src/libmongoc/doc/mongoc_bulkwriteopts_new.rst b/src/libmongoc/doc/mongoc_bulkwriteopts_new.rst new file mode 100644 index 00000000000..cdfc68fdf4f --- /dev/null +++ b/src/libmongoc/doc/mongoc_bulkwriteopts_new.rst @@ -0,0 +1,18 @@ +:man_page: mongoc_bulkwriteopts_new + +mongoc_bulkwriteopts_new() +========================== + +Synopsis +-------- + +.. code-block:: c + + mongoc_bulkwriteopts_t * + mongoc_bulkwriteopts_new (void); + +Description +----------- + +Returns a new :symbol:`mongoc_bulkwriteopts_t`. Free with :symbol:`mongoc_bulkwriteopts_destroy`. + diff --git a/src/libmongoc/doc/mongoc_bulkwriteopts_set_bypassdocumentvalidation.rst b/src/libmongoc/doc/mongoc_bulkwriteopts_set_bypassdocumentvalidation.rst new file mode 100644 index 00000000000..70f63a1ca4b --- /dev/null +++ b/src/libmongoc/doc/mongoc_bulkwriteopts_set_bypassdocumentvalidation.rst @@ -0,0 +1,20 @@ +:man_page: mongoc_bulkwriteopts_set_bypassdocumentvalidation + +mongoc_bulkwriteopts_set_bypassdocumentvalidation() +=================================================== + +Synopsis +-------- + +.. code-block:: c + + void + mongoc_bulkwriteopts_set_bypassdocumentvalidation (mongoc_bulkwriteopts_t *self, bool bypassdocumentvalidation); + +Description +----------- + +If ``bypassdocumentvalidation`` is true, allows the writes to opt out of document-level validation. + +This option is only sent to the server if :symbol:`mongoc_bulkwriteopts_set_bypassdocumentvalidation` is called. The +server's default value is false. diff --git a/src/libmongoc/doc/mongoc_bulkwriteopts_set_comment.rst b/src/libmongoc/doc/mongoc_bulkwriteopts_set_comment.rst new file mode 100644 index 00000000000..493322727d6 --- /dev/null +++ b/src/libmongoc/doc/mongoc_bulkwriteopts_set_comment.rst @@ -0,0 +1,18 @@ +:man_page: mongoc_bulkwriteopts_set_comment + +mongoc_bulkwriteopts_set_comment() +================================== + +Synopsis +-------- + +.. code-block:: c + + void + mongoc_bulkwriteopts_set_comment (mongoc_bulkwriteopts_t *self, const bson_t *comment); + +Description +----------- + +Enables users to specify an arbitrary comment to help trace the operation through the database profiler, currentOp and +logs. diff --git a/src/libmongoc/doc/mongoc_bulkwriteopts_set_extra.rst b/src/libmongoc/doc/mongoc_bulkwriteopts_set_extra.rst new file mode 100644 index 00000000000..a01a3cd58c5 --- /dev/null +++ b/src/libmongoc/doc/mongoc_bulkwriteopts_set_extra.rst @@ -0,0 +1,18 @@ +:man_page: mongoc_bulkwriteopts_set_extra + +mongoc_bulkwriteopts_set_extra() +================================ + +Synopsis +-------- + +.. code-block:: c + + void + mongoc_bulkwriteopts_set_extra (mongoc_bulkwriteopts_t *self, const bson_t *extra); + +Description +----------- + +Appends all fields in ``extra`` to the outgoing ``bulkWrite`` command. Intended to support future server options. Prefer +other ``mongoc_bulkwriteopts_set_*`` helpers to avoid unexpected option conflicts. diff --git a/src/libmongoc/doc/mongoc_bulkwriteopts_set_let.rst b/src/libmongoc/doc/mongoc_bulkwriteopts_set_let.rst new file mode 100644 index 00000000000..7780e974bf1 --- /dev/null +++ b/src/libmongoc/doc/mongoc_bulkwriteopts_set_let.rst @@ -0,0 +1,19 @@ +:man_page: mongoc_bulkwriteopts_set_let + +mongoc_bulkwriteopts_set_let() +============================== + +Synopsis +-------- + +.. code-block:: c + + void + mongoc_bulkwriteopts_set_let (mongoc_bulkwriteopts_t *self, const bson_t *let); + +Description +----------- + +``let`` is a map of parameter names and values to apply to all operations within the bulk write. Value must be constant +or closed expressions that do not reference document fields. Parameters can then be accessed as variables in an +aggregate expression context (e.g. "$$var"). diff --git a/src/libmongoc/doc/mongoc_bulkwriteopts_set_ordered.rst b/src/libmongoc/doc/mongoc_bulkwriteopts_set_ordered.rst new file mode 100644 index 00000000000..2ff1ac85b4d --- /dev/null +++ b/src/libmongoc/doc/mongoc_bulkwriteopts_set_ordered.rst @@ -0,0 +1,21 @@ +:man_page: mongoc_bulkwriteopts_set_ordered + +mongoc_bulkwriteopts_set_ordered() +================================== + +Synopsis +-------- + +.. code-block:: c + + void + mongoc_bulkwriteopts_set_ordered (mongoc_bulkwriteopts_t *self, bool ordered); + +Description +----------- + +``ordered`` specifies whether the operations in this bulk write should be executed in the order in which they were +specified. If false, writes will continue to be executed if an individual write fails. If true, writes will stop +executing if an individual write fails. + +By default, bulk writes are ordered. diff --git a/src/libmongoc/doc/mongoc_bulkwriteopts_set_serverid.rst b/src/libmongoc/doc/mongoc_bulkwriteopts_set_serverid.rst new file mode 100644 index 00000000000..1715eb940d6 --- /dev/null +++ b/src/libmongoc/doc/mongoc_bulkwriteopts_set_serverid.rst @@ -0,0 +1,18 @@ +:man_page: mongoc_bulkwriteopts_set_serverid + +mongoc_bulkwriteopts_set_serverid() +=================================== + +Synopsis +-------- + +.. code-block:: c + + void + mongoc_bulkwriteopts_set_serverid (mongoc_bulkwriteopts_t *self, uint32_t serverid); + +Description +----------- + +Identifies which server to perform the operation. Intended for use by wrapping drivers that select a server before +running the operation. diff --git a/src/libmongoc/doc/mongoc_bulkwriteopts_set_verboseresults.rst b/src/libmongoc/doc/mongoc_bulkwriteopts_set_verboseresults.rst new file mode 100644 index 00000000000..80e0d2dcd34 --- /dev/null +++ b/src/libmongoc/doc/mongoc_bulkwriteopts_set_verboseresults.rst @@ -0,0 +1,25 @@ +:man_page: mongoc_bulkwriteopts_set_verboseresults + +mongoc_bulkwriteopts_set_verboseresults() +========================================= + +Synopsis +-------- + +.. code-block:: c + + void + mongoc_bulkwriteopts_set_verboseresults (mongoc_bulkwriteopts_t *self, bool verboseresults); + +Description +----------- + +If ``verboseresults`` is true, detailed results for each successful operation will be included in the returned results. + +By default, verbose results are not included. + +Verbose results can be obtained with the following: + +- :symbol:`mongoc_bulkwriteresult_insertresults` +- :symbol:`mongoc_bulkwriteresult_updateresults` +- :symbol:`mongoc_bulkwriteresult_deleteresults` diff --git a/src/libmongoc/doc/mongoc_bulkwriteopts_set_writeconcern.rst b/src/libmongoc/doc/mongoc_bulkwriteopts_set_writeconcern.rst new file mode 100644 index 00000000000..6d32626ea70 --- /dev/null +++ b/src/libmongoc/doc/mongoc_bulkwriteopts_set_writeconcern.rst @@ -0,0 +1,18 @@ +:man_page: mongoc_bulkwriteopts_set_writeconcern + +mongoc_bulkwriteopts_set_writeconcern() +======================================= + +Synopsis +-------- + +.. code-block:: c + + void + mongoc_bulkwriteopts_set_writeconcern (mongoc_bulkwriteopts_t *self, const mongoc_write_concern_t *writeconcern); + +Description +----------- + +``writeconcern`` is the write concern to use for this bulk write. If a write concern is not set, defaults to the write +concern set on the :symbol:`mongoc_client_t` passed in :symbol:`mongoc_client_bulkwrite_new`. diff --git a/src/libmongoc/doc/mongoc_bulkwriteopts_t.rst b/src/libmongoc/doc/mongoc_bulkwriteopts_t.rst new file mode 100644 index 00000000000..17a3c2dbe26 --- /dev/null +++ b/src/libmongoc/doc/mongoc_bulkwriteopts_t.rst @@ -0,0 +1,31 @@ +:man_page: mongoc_bulkwriteopts_t + +mongoc_bulkwriteopts_t +====================== + +Synopsis +-------- + +.. code-block:: c + + typedef struct _mongoc_bulkwriteopts_t mongoc_bulkwriteopts_t; + +.. only:: html + + Functions + --------- + + .. toctree:: + :titlesonly: + :maxdepth: 1 + + mongoc_bulkwriteopts_new + mongoc_bulkwriteopts_set_ordered + mongoc_bulkwriteopts_set_bypassdocumentvalidation + mongoc_bulkwriteopts_set_let + mongoc_bulkwriteopts_set_writeconcern + mongoc_bulkwriteopts_set_comment + mongoc_bulkwriteopts_set_verboseresults + mongoc_bulkwriteopts_set_extra + mongoc_bulkwriteopts_set_serverid + mongoc_bulkwriteopts_destroy From c7a8dd41fe14dba80aea719acdae111cd20a62b8 Mon Sep 17 00:00:00 2001 From: Kevin Albertson Date: Thu, 16 May 2024 11:59:02 -0400 Subject: [PATCH 02/18] rename `set_hint_opt` to `set_bson_value_opt` It will be reused for the `comment` option --- src/libmongoc/src/mongoc/mongoc-bulkwrite.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/libmongoc/src/mongoc/mongoc-bulkwrite.c b/src/libmongoc/src/mongoc/mongoc-bulkwrite.c index 766d170a574..50bfa00b3ce 100644 --- a/src/libmongoc/src/mongoc/mongoc-bulkwrite.c +++ b/src/libmongoc/src/mongoc/mongoc-bulkwrite.c @@ -55,7 +55,7 @@ set_bson_opt (bson_t **dst, const bson_t *src) } static void -set_hint_opt (bson_value_t *dst, const bson_value_t *src) +set_bson_value_opt (bson_value_t *dst, const bson_value_t *src) { BSON_ASSERT_PARAM (dst); bson_value_destroy (dst); @@ -351,7 +351,7 @@ mongoc_bulkwrite_updateoneopts_set_hint (mongoc_bulkwrite_updateoneopts_t *self, { BSON_ASSERT_PARAM (self); BSON_OPTIONAL_PARAM (hint); - set_hint_opt (&self->hint, hint); + set_bson_value_opt (&self->hint, hint); } void mongoc_bulkwrite_updateoneopts_set_upsert (mongoc_bulkwrite_updateoneopts_t *self, bool upsert) @@ -454,7 +454,7 @@ mongoc_bulkwrite_replaceoneopts_set_hint (mongoc_bulkwrite_replaceoneopts_t *sel { BSON_ASSERT_PARAM (self); BSON_OPTIONAL_PARAM (hint); - set_hint_opt (&self->hint, hint); + set_bson_value_opt (&self->hint, hint); } void mongoc_bulkwrite_replaceoneopts_set_upsert (mongoc_bulkwrite_replaceoneopts_t *self, bool upsert) @@ -583,7 +583,7 @@ mongoc_bulkwrite_updatemanyopts_set_hint (mongoc_bulkwrite_updatemanyopts_t *sel { BSON_ASSERT_PARAM (self); BSON_OPTIONAL_PARAM (hint); - set_hint_opt (&self->hint, hint); + set_bson_value_opt (&self->hint, hint); } void mongoc_bulkwrite_updatemanyopts_set_upsert (mongoc_bulkwrite_updatemanyopts_t *self, bool upsert) @@ -686,7 +686,7 @@ mongoc_bulkwrite_deleteoneopts_set_hint (mongoc_bulkwrite_deleteoneopts_t *self, { BSON_ASSERT_PARAM (self); BSON_OPTIONAL_PARAM (hint); - set_hint_opt (&self->hint, hint); + set_bson_value_opt (&self->hint, hint); } void mongoc_bulkwrite_deleteoneopts_destroy (mongoc_bulkwrite_deleteoneopts_t *self) @@ -760,7 +760,7 @@ void mongoc_bulkwrite_deletemanyopts_set_hint (mongoc_bulkwrite_deletemanyopts_t *self, const bson_value_t *hint) { BSON_ASSERT_PARAM (self); - set_hint_opt (&self->hint, hint); + set_bson_value_opt (&self->hint, hint); } void mongoc_bulkwrite_deletemanyopts_destroy (mongoc_bulkwrite_deletemanyopts_t *self) From 7bc0f7336642b9b72a2fec682be9c7838b7c4000 Mon Sep 17 00:00:00 2001 From: Kevin Albertson Date: Thu, 16 May 2024 12:04:38 -0400 Subject: [PATCH 03/18] use `bson_value_t` for `comment`, not `bson_t` Matches the spec, and existing C driver representation of `comment` for other functions. --- .../doc/mongoc_bulkwriteopts_set_comment.rst | 2 +- src/libmongoc/src/mongoc/mongoc-bulkwrite.c | 12 ++++++------ src/libmongoc/src/mongoc/mongoc-bulkwrite.h | 2 +- src/libmongoc/tests/unified/operation.c | 6 +++--- 4 files changed, 11 insertions(+), 11 deletions(-) diff --git a/src/libmongoc/doc/mongoc_bulkwriteopts_set_comment.rst b/src/libmongoc/doc/mongoc_bulkwriteopts_set_comment.rst index 493322727d6..7beb38c321e 100644 --- a/src/libmongoc/doc/mongoc_bulkwriteopts_set_comment.rst +++ b/src/libmongoc/doc/mongoc_bulkwriteopts_set_comment.rst @@ -9,7 +9,7 @@ Synopsis .. code-block:: c void - mongoc_bulkwriteopts_set_comment (mongoc_bulkwriteopts_t *self, const bson_t *comment); + mongoc_bulkwriteopts_set_comment (mongoc_bulkwriteopts_t *self, const bson_value_t *comment); Description ----------- diff --git a/src/libmongoc/src/mongoc/mongoc-bulkwrite.c b/src/libmongoc/src/mongoc/mongoc-bulkwrite.c index 50bfa00b3ce..d868d9934a4 100644 --- a/src/libmongoc/src/mongoc/mongoc-bulkwrite.c +++ b/src/libmongoc/src/mongoc/mongoc-bulkwrite.c @@ -37,7 +37,7 @@ struct _mongoc_bulkwriteopts_t { bson_t *let; mongoc_write_concern_t *writeconcern; mongoc_optional_t verboseresults; - bson_t *comment; + bson_value_t comment; bson_t *extra; uint32_t serverid; }; @@ -104,11 +104,11 @@ mongoc_bulkwriteopts_set_verboseresults (mongoc_bulkwriteopts_t *self, bool verb mongoc_optional_set_value (&self->verboseresults, verboseresults); } void -mongoc_bulkwriteopts_set_comment (mongoc_bulkwriteopts_t *self, const bson_t *comment) +mongoc_bulkwriteopts_set_comment (mongoc_bulkwriteopts_t *self, const bson_value_t *comment) { BSON_ASSERT_PARAM (self); BSON_OPTIONAL_PARAM (comment); - set_bson_opt (&self->comment, comment); + set_bson_value_opt (&self->comment, comment); } void mongoc_bulkwriteopts_set_extra (mongoc_bulkwriteopts_t *self, const bson_t *extra) @@ -130,7 +130,7 @@ mongoc_bulkwriteopts_destroy (mongoc_bulkwriteopts_t *self) return; } bson_destroy (self->extra); - bson_destroy (self->comment); + bson_value_destroy (&self->comment); mongoc_write_concern_destroy (self->writeconcern); bson_destroy (self->let); bson_free (self); @@ -1509,8 +1509,8 @@ mongoc_bulkwrite_execute (mongoc_bulkwrite_t *self, const mongoc_bulkwriteopts_t BSON_ASSERT (BSON_APPEND_BOOL ( &cmd, "ordered", (mongoc_optional_is_set (&opts->ordered)) ? mongoc_optional_value (&opts->ordered) : true)); - if (opts->comment) { - BSON_ASSERT (BSON_APPEND_DOCUMENT (&cmd, "comment", opts->comment)); + if (opts->comment.value_type != BSON_TYPE_EOD) { + BSON_ASSERT (BSON_APPEND_VALUE (&cmd, "comment", &opts->comment)); } if (mongoc_optional_is_set (&opts->bypassdocumentvalidation)) { diff --git a/src/libmongoc/src/mongoc/mongoc-bulkwrite.h b/src/libmongoc/src/mongoc/mongoc-bulkwrite.h index 36bb0dee21f..faf0a2e37c8 100644 --- a/src/libmongoc/src/mongoc/mongoc-bulkwrite.h +++ b/src/libmongoc/src/mongoc/mongoc-bulkwrite.h @@ -36,7 +36,7 @@ mongoc_bulkwriteopts_set_let (mongoc_bulkwriteopts_t *self, const bson_t *let); MONGOC_EXPORT (void) mongoc_bulkwriteopts_set_writeconcern (mongoc_bulkwriteopts_t *self, const mongoc_write_concern_t *writeconcern); MONGOC_EXPORT (void) -mongoc_bulkwriteopts_set_comment (mongoc_bulkwriteopts_t *self, const bson_t *comment); +mongoc_bulkwriteopts_set_comment (mongoc_bulkwriteopts_t *self, const bson_value_t *comment); MONGOC_EXPORT (void) mongoc_bulkwriteopts_set_verboseresults (mongoc_bulkwriteopts_t *self, bool verboseresults); // `mongoc_bulkwriteopts_set_extra` appends `extra` to bulkWrite command. diff --git a/src/libmongoc/tests/unified/operation.c b/src/libmongoc/tests/unified/operation.c index 4f025e2161a..1c2bbcbbc13 100644 --- a/src/libmongoc/tests/unified/operation.c +++ b/src/libmongoc/tests/unified/operation.c @@ -421,7 +421,7 @@ operation_client_bulkwrite (test_t *test, operation_t *op, result_t *result, bso bson_t *args_models = NULL; bool *args_verboseResults = NULL; bool *args_ordered = NULL; - bson_t *args_comment = NULL; + bson_val_t *args_comment = NULL; bool *args_bypassDocumentValidation = NULL; bson_t *args_let = NULL; mongoc_write_concern_t *args_wc = NULL; @@ -430,7 +430,7 @@ operation_client_bulkwrite (test_t *test, operation_t *op, result_t *result, bso bson_parser_array (parser, "models", &args_models); bson_parser_bool_optional (parser, "verboseResults", &args_verboseResults); bson_parser_bool_optional (parser, "ordered", &args_ordered); - bson_parser_doc_optional (parser, "comment", &args_comment); + bson_parser_any_optional (parser, "comment", &args_comment); bson_parser_bool_optional (parser, "bypassDocumentValidation", &args_bypassDocumentValidation); bson_parser_doc_optional (parser, "let", &args_let); bson_parser_write_concern_optional (parser, &args_wc); @@ -444,7 +444,7 @@ operation_client_bulkwrite (test_t *test, operation_t *op, result_t *result, bso mongoc_bulkwriteopts_set_ordered (opts, *args_ordered); } if (args_comment) { - mongoc_bulkwriteopts_set_comment (opts, args_comment); + mongoc_bulkwriteopts_set_comment (opts, bson_val_to_value (args_comment)); } if (args_bypassDocumentValidation) { mongoc_bulkwriteopts_set_bypassdocumentvalidation (opts, *args_bypassDocumentValidation); From c359165ca2c409b02f1e60e99d75a9bc79f51e74 Mon Sep 17 00:00:00 2001 From: Kevin Albertson Date: Thu, 16 May 2024 12:45:58 -0400 Subject: [PATCH 04/18] document for `mongoc_bulkwriteresult_t` --- src/libmongoc/doc/api.rst | 1 + .../mongoc_bulkwriteresult_deletedcount.rst | 17 ++++++++++ .../mongoc_bulkwriteresult_deleteresults.rst | 27 ++++++++++++++++ .../doc/mongoc_bulkwriteresult_destroy.rst | 17 ++++++++++ .../mongoc_bulkwriteresult_insertedcount.rst | 17 ++++++++++ .../mongoc_bulkwriteresult_insertresults.rst | 27 ++++++++++++++++ .../mongoc_bulkwriteresult_matchedcount.rst | 17 ++++++++++ .../mongoc_bulkwriteresult_modifiedcount.rst | 17 ++++++++++ .../doc/mongoc_bulkwriteresult_serverid.rst | 19 +++++++++++ .../doc/mongoc_bulkwriteresult_t.rst | 32 +++++++++++++++++++ .../mongoc_bulkwriteresult_updateresults.rst | 27 ++++++++++++++++ .../mongoc_bulkwriteresult_upsertedcount.rst | 17 ++++++++++ 12 files changed, 235 insertions(+) create mode 100644 src/libmongoc/doc/mongoc_bulkwriteresult_deletedcount.rst create mode 100644 src/libmongoc/doc/mongoc_bulkwriteresult_deleteresults.rst create mode 100644 src/libmongoc/doc/mongoc_bulkwriteresult_destroy.rst create mode 100644 src/libmongoc/doc/mongoc_bulkwriteresult_insertedcount.rst create mode 100644 src/libmongoc/doc/mongoc_bulkwriteresult_insertresults.rst create mode 100644 src/libmongoc/doc/mongoc_bulkwriteresult_matchedcount.rst create mode 100644 src/libmongoc/doc/mongoc_bulkwriteresult_modifiedcount.rst create mode 100644 src/libmongoc/doc/mongoc_bulkwriteresult_serverid.rst create mode 100644 src/libmongoc/doc/mongoc_bulkwriteresult_t.rst create mode 100644 src/libmongoc/doc/mongoc_bulkwriteresult_updateresults.rst create mode 100644 src/libmongoc/doc/mongoc_bulkwriteresult_upsertedcount.rst diff --git a/src/libmongoc/doc/api.rst b/src/libmongoc/doc/api.rst index c417b1239ec..6cede1ad7d7 100644 --- a/src/libmongoc/doc/api.rst +++ b/src/libmongoc/doc/api.rst @@ -12,6 +12,7 @@ API Reference gridfs mongoc_auto_encryption_opts_t mongoc_bulkwriteopts_t + mongoc_bulkwriteresult_t mongoc_bulk_operation_t mongoc_change_stream_t mongoc_client_encryption_t diff --git a/src/libmongoc/doc/mongoc_bulkwriteresult_deletedcount.rst b/src/libmongoc/doc/mongoc_bulkwriteresult_deletedcount.rst new file mode 100644 index 00000000000..db2dbaf36b5 --- /dev/null +++ b/src/libmongoc/doc/mongoc_bulkwriteresult_deletedcount.rst @@ -0,0 +1,17 @@ +:man_page: mongoc_bulkwriteresult_deletedcount + +mongoc_bulkwriteresult_deletedcount() +===================================== + +Synopsis +-------- + +.. code-block:: c + + int64_t + mongoc_bulkwriteresult_deletedcount (const mongoc_bulkwriteresult_t *self); + +Description +----------- + +Returns the total number of documents deleted across all delete operations. diff --git a/src/libmongoc/doc/mongoc_bulkwriteresult_deleteresults.rst b/src/libmongoc/doc/mongoc_bulkwriteresult_deleteresults.rst new file mode 100644 index 00000000000..8a4ba6b6f5f --- /dev/null +++ b/src/libmongoc/doc/mongoc_bulkwriteresult_deleteresults.rst @@ -0,0 +1,27 @@ +:man_page: mongoc_bulkwriteresult_deleteresults + +mongoc_bulkwriteresult_deleteresults() +====================================== + +Synopsis +-------- + +.. code-block:: c + + const bson_t * + mongoc_bulkwriteresult_deleteresults (const mongoc_bulkwriteresult_t *self); + +Description +----------- + +Returns the results of each individual delete operation that was successfully performed. Example: + +.. code:: json + + { + "0" : { "deletedCount" : 1 }, + "1" : { "deletedCount" : 2 } + } + +Returns NULL if verbose results were not requested. Request verbose results with +:symbol:`mongoc_bulkwriteopts_set_verboseresults`. diff --git a/src/libmongoc/doc/mongoc_bulkwriteresult_destroy.rst b/src/libmongoc/doc/mongoc_bulkwriteresult_destroy.rst new file mode 100644 index 00000000000..5882f42f570 --- /dev/null +++ b/src/libmongoc/doc/mongoc_bulkwriteresult_destroy.rst @@ -0,0 +1,17 @@ +:man_page: mongoc_bulkwriteresult_destroy + +mongoc_bulkwriteresult_destroy() +================================ + +Synopsis +-------- + +.. code-block:: c + + void + mongoc_bulkwriteresult_destroy (mongoc_bulkwriteresult_t *self); + +Description +----------- + +Frees a :symbol:`mongoc_bulkwriteresult_t`. diff --git a/src/libmongoc/doc/mongoc_bulkwriteresult_insertedcount.rst b/src/libmongoc/doc/mongoc_bulkwriteresult_insertedcount.rst new file mode 100644 index 00000000000..0c67092668c --- /dev/null +++ b/src/libmongoc/doc/mongoc_bulkwriteresult_insertedcount.rst @@ -0,0 +1,17 @@ +:man_page: mongoc_bulkwriteresult_insertedcount + +mongoc_bulkwriteresult_insertedcount() +====================================== + +Synopsis +-------- + +.. code-block:: c + + int64_t + mongoc_bulkwriteresult_insertedcount (const mongoc_bulkwriteresult_t *self); + +Description +----------- + +Returns the total number of documents inserted across all insert operations. diff --git a/src/libmongoc/doc/mongoc_bulkwriteresult_insertresults.rst b/src/libmongoc/doc/mongoc_bulkwriteresult_insertresults.rst new file mode 100644 index 00000000000..d71dbbb8057 --- /dev/null +++ b/src/libmongoc/doc/mongoc_bulkwriteresult_insertresults.rst @@ -0,0 +1,27 @@ +:man_page: mongoc_bulkwriteresult_insertresults + +mongoc_bulkwriteresult_insertresults() +====================================== + +Synopsis +-------- + +.. code-block:: c + + const bson_t * + mongoc_bulkwriteresult_insertresults (const mongoc_bulkwriteresult_t *self); + +Description +----------- + +Returns the results of each individual insert operation that was successfully performed. Example: + +.. code:: json + + { + "0" : { "insertedId" : "foo" }, + "1" : { "insertedId" : "bar" } + } + +Returns NULL if verbose results were not requested. Request verbose results with +:symbol:`mongoc_bulkwriteopts_set_verboseresults`. diff --git a/src/libmongoc/doc/mongoc_bulkwriteresult_matchedcount.rst b/src/libmongoc/doc/mongoc_bulkwriteresult_matchedcount.rst new file mode 100644 index 00000000000..e3465697c4e --- /dev/null +++ b/src/libmongoc/doc/mongoc_bulkwriteresult_matchedcount.rst @@ -0,0 +1,17 @@ +:man_page: mongoc_bulkwriteresult_matchedcount + +mongoc_bulkwriteresult_matchedcount() +===================================== + +Synopsis +-------- + +.. code-block:: c + + int64_t + mongoc_bulkwriteresult_matchedcount (const mongoc_bulkwriteresult_t *self); + +Description +----------- + +Returns the total number of documents matched across all update operations. diff --git a/src/libmongoc/doc/mongoc_bulkwriteresult_modifiedcount.rst b/src/libmongoc/doc/mongoc_bulkwriteresult_modifiedcount.rst new file mode 100644 index 00000000000..7d3a7720604 --- /dev/null +++ b/src/libmongoc/doc/mongoc_bulkwriteresult_modifiedcount.rst @@ -0,0 +1,17 @@ +:man_page: mongoc_bulkwriteresult_modifiedcount + +mongoc_bulkwriteresult_modifiedcount() +====================================== + +Synopsis +-------- + +.. code-block:: c + + int64_t + mongoc_bulkwriteresult_modifiedcount (const mongoc_bulkwriteresult_t *self); + +Description +----------- + +Returns the total number of documents modified across all update operations. diff --git a/src/libmongoc/doc/mongoc_bulkwriteresult_serverid.rst b/src/libmongoc/doc/mongoc_bulkwriteresult_serverid.rst new file mode 100644 index 00000000000..5de85aed218 --- /dev/null +++ b/src/libmongoc/doc/mongoc_bulkwriteresult_serverid.rst @@ -0,0 +1,19 @@ +:man_page: mongoc_bulkwriteresult_serverid + +mongoc_bulkwriteresult_serverid() +================================= + +Synopsis +-------- + +.. code-block:: c + + uint32_t + mongoc_bulkwriteresult_serverid (const mongoc_bulkwriteresult_t *self); + +Description +----------- + +Returns the most recently selected server. The returned value may differ from a ``serverid`` previously set with +:symbol:`mongoc_bulkwriteopts_set_serverid` if a retry occurred. Intended for use by wrapping drivers that select a +server before running the operation. diff --git a/src/libmongoc/doc/mongoc_bulkwriteresult_t.rst b/src/libmongoc/doc/mongoc_bulkwriteresult_t.rst new file mode 100644 index 00000000000..e5740da24ab --- /dev/null +++ b/src/libmongoc/doc/mongoc_bulkwriteresult_t.rst @@ -0,0 +1,32 @@ +:man_page: mongoc_bulkwriteresult_t + +mongoc_bulkwriteresult_t +======================== + +Synopsis +-------- + +.. code-block:: c + + typedef struct _mongoc_bulkwriteresult_t mongoc_bulkwriteresult_t; + +.. only:: html + + Functions + --------- + + .. toctree:: + :titlesonly: + :maxdepth: 1 + + + mongoc_bulkwriteresult_insertedcount + mongoc_bulkwriteresult_upsertedcount + mongoc_bulkwriteresult_matchedcount + mongoc_bulkwriteresult_modifiedcount + mongoc_bulkwriteresult_deletedcount + mongoc_bulkwriteresult_insertresults + mongoc_bulkwriteresult_updateresults + mongoc_bulkwriteresult_deleteresults + mongoc_bulkwriteresult_serverid + mongoc_bulkwriteresult_destroy \ No newline at end of file diff --git a/src/libmongoc/doc/mongoc_bulkwriteresult_updateresults.rst b/src/libmongoc/doc/mongoc_bulkwriteresult_updateresults.rst new file mode 100644 index 00000000000..baee70f4d47 --- /dev/null +++ b/src/libmongoc/doc/mongoc_bulkwriteresult_updateresults.rst @@ -0,0 +1,27 @@ +:man_page: mongoc_bulkwriteresult_updateresults + +mongoc_bulkwriteresult_updateresults() +====================================== + +Synopsis +-------- + +.. code-block:: c + + const bson_t * + mongoc_bulkwriteresult_updateresults (const mongoc_bulkwriteresult_t *self); + +Description +----------- + +Returns the results of each individual update operation that was successfully performed. Example: + +.. code:: json + + { + "0" : { "matchedCount" : 2, "modifiedCount" : 2 }, + "1" : { "matchedCount" : 1, "modifiedCount" : 0, "upsertedId" : "foo" } + } + +Returns NULL if verbose results were not requested. Request verbose results with +:symbol:`mongoc_bulkwriteopts_set_verboseresults`. diff --git a/src/libmongoc/doc/mongoc_bulkwriteresult_upsertedcount.rst b/src/libmongoc/doc/mongoc_bulkwriteresult_upsertedcount.rst new file mode 100644 index 00000000000..c72d9000e07 --- /dev/null +++ b/src/libmongoc/doc/mongoc_bulkwriteresult_upsertedcount.rst @@ -0,0 +1,17 @@ +:man_page: mongoc_bulkwriteresult_upsertedcount + +mongoc_bulkwriteresult_upsertedcount() +====================================== + +Synopsis +-------- + +.. code-block:: c + + int64_t + mongoc_bulkwriteresult_upsertedcount (const mongoc_bulkwriteresult_t *self); + +Description +----------- + +Returns the total number of documents upserted across all update operations. From aa9caf2159999fd9cda20abd9afbde08ec3ca4c4 Mon Sep 17 00:00:00 2001 From: Kevin Albertson Date: Thu, 16 May 2024 13:15:31 -0400 Subject: [PATCH 05/18] document `mongoc_bulkwriteexception_t` --- src/libmongoc/doc/api.rst | 1 + .../doc/mongoc_bulkwriteexception_destroy.rst | 17 ++++++++++++ .../doc/mongoc_bulkwriteexception_error.rst | 17 ++++++++++++ .../mongoc_bulkwriteexception_errorreply.rst | 17 ++++++++++++ .../doc/mongoc_bulkwriteexception_t.rst | 27 +++++++++++++++++++ ..._bulkwriteexception_writeconcernerrors.rst | 26 ++++++++++++++++++ .../mongoc_bulkwriteexception_writeerrors.rst | 26 ++++++++++++++++++ 7 files changed, 131 insertions(+) create mode 100644 src/libmongoc/doc/mongoc_bulkwriteexception_destroy.rst create mode 100644 src/libmongoc/doc/mongoc_bulkwriteexception_error.rst create mode 100644 src/libmongoc/doc/mongoc_bulkwriteexception_errorreply.rst create mode 100644 src/libmongoc/doc/mongoc_bulkwriteexception_t.rst create mode 100644 src/libmongoc/doc/mongoc_bulkwriteexception_writeconcernerrors.rst create mode 100644 src/libmongoc/doc/mongoc_bulkwriteexception_writeerrors.rst diff --git a/src/libmongoc/doc/api.rst b/src/libmongoc/doc/api.rst index 6cede1ad7d7..3fce8748988 100644 --- a/src/libmongoc/doc/api.rst +++ b/src/libmongoc/doc/api.rst @@ -13,6 +13,7 @@ API Reference mongoc_auto_encryption_opts_t mongoc_bulkwriteopts_t mongoc_bulkwriteresult_t + mongoc_bulkwriteexception_t mongoc_bulk_operation_t mongoc_change_stream_t mongoc_client_encryption_t diff --git a/src/libmongoc/doc/mongoc_bulkwriteexception_destroy.rst b/src/libmongoc/doc/mongoc_bulkwriteexception_destroy.rst new file mode 100644 index 00000000000..5d8e8f54a23 --- /dev/null +++ b/src/libmongoc/doc/mongoc_bulkwriteexception_destroy.rst @@ -0,0 +1,17 @@ +:man_page: mongoc_bulkwriteexception_destroy + +mongoc_bulkwriteexception_destroy() +=================================== + +Synopsis +-------- + +.. code-block:: c + + void + mongoc_bulkwriteexception_destroy (mongoc_bulkwriteexception_t *self); + +Description +----------- + +Frees a :symbol:`mongoc_bulkwriteexception_t`. diff --git a/src/libmongoc/doc/mongoc_bulkwriteexception_error.rst b/src/libmongoc/doc/mongoc_bulkwriteexception_error.rst new file mode 100644 index 00000000000..5b7abf4e8a2 --- /dev/null +++ b/src/libmongoc/doc/mongoc_bulkwriteexception_error.rst @@ -0,0 +1,17 @@ +:man_page: mongoc_bulkwriteexception_error + +mongoc_bulkwriteexception_error() +================================= + +Synopsis +-------- + +.. code-block:: c + + bool + mongoc_bulkwriteexception_error (const mongoc_bulkwriteexception_t *self, bson_error_t *error); + +Description +----------- + +Returns true and sets ``error`` if there was a top-level error. Returns false if there was no top-level error. diff --git a/src/libmongoc/doc/mongoc_bulkwriteexception_errorreply.rst b/src/libmongoc/doc/mongoc_bulkwriteexception_errorreply.rst new file mode 100644 index 00000000000..8a6945d9f52 --- /dev/null +++ b/src/libmongoc/doc/mongoc_bulkwriteexception_errorreply.rst @@ -0,0 +1,17 @@ +:man_page: mongoc_bulkwriteexception_errorreply + +mongoc_bulkwriteexception_errorreply() +====================================== + +Synopsis +-------- + +.. code-block:: c + + const bson_t * + mongoc_bulkwriteexception_errorreply (const mongoc_bulkwriteexception_t *self); + +Description +----------- + +Returns a possible server reply related to the error, or an empty document. diff --git a/src/libmongoc/doc/mongoc_bulkwriteexception_t.rst b/src/libmongoc/doc/mongoc_bulkwriteexception_t.rst new file mode 100644 index 00000000000..cab54230569 --- /dev/null +++ b/src/libmongoc/doc/mongoc_bulkwriteexception_t.rst @@ -0,0 +1,27 @@ +:man_page: mongoc_bulkwriteexception_t + +mongoc_bulkwriteexception_t +=========================== + +Synopsis +-------- + +.. code-block:: c + + typedef struct _mongoc_bulkwriteexception_t mongoc_bulkwriteexception_t; + +.. only:: html + + Functions + --------- + + .. toctree:: + :titlesonly: + :maxdepth: 1 + + + mongoc_bulkwriteexception_error + mongoc_bulkwriteexception_writeerrors + mongoc_bulkwriteexception_writeconcernerrors + mongoc_bulkwriteexception_errorreply + mongoc_bulkwriteexception_destroy \ No newline at end of file diff --git a/src/libmongoc/doc/mongoc_bulkwriteexception_writeconcernerrors.rst b/src/libmongoc/doc/mongoc_bulkwriteexception_writeconcernerrors.rst new file mode 100644 index 00000000000..e8d0cb29382 --- /dev/null +++ b/src/libmongoc/doc/mongoc_bulkwriteexception_writeconcernerrors.rst @@ -0,0 +1,26 @@ +:man_page: mongoc_bulkwriteexception_writeconcernerrors + +mongoc_bulkwriteexception_writeconcernerrors() +============================================== + +Synopsis +-------- + +.. code-block:: c + + const bson_t * + mongoc_bulkwriteexception_writeconcernerrors (const mongoc_bulkwriteexception_t *self); + +Description +----------- + +Returns a BSON array of write concern errors. Example: + +.. code:: json + + [ + { "code" : 123, "message" : "foo", "details" : { } }, + { "code" : 456, "message" : "bar", "details" : { } } + ] + +Returns an empty array if there are no write concern errors. diff --git a/src/libmongoc/doc/mongoc_bulkwriteexception_writeerrors.rst b/src/libmongoc/doc/mongoc_bulkwriteexception_writeerrors.rst new file mode 100644 index 00000000000..9efaca59866 --- /dev/null +++ b/src/libmongoc/doc/mongoc_bulkwriteexception_writeerrors.rst @@ -0,0 +1,26 @@ +:man_page: mongoc_bulkwriteexception_writeerrors + +mongoc_bulkwriteexception_writeerrors() +======================================= + +Synopsis +-------- + +.. code-block:: c + + const bson_t * + mongoc_bulkwriteexception_writeerrors (const mongoc_bulkwriteexception_t *self); + +Description +----------- + +Returns a BSON document mapping model indexes to write errors. Example: + +.. code:: json + + { + "0" : { "code" : 123, "message" : "foo", "details" : { } }, + "1" : { "code" : 456, "message" : "bar", "details" : { } } + } + +Returns an empty document if there are no write errors. From 3b1cf17af0d85b5c59b4be850cfd578526660ca8 Mon Sep 17 00:00:00 2001 From: Kevin Albertson Date: Thu, 16 May 2024 13:15:45 -0400 Subject: [PATCH 06/18] document `mongoc_client_bulkwrite_new` --- .../doc/mongoc_client_bulkwrite_new.rst | 18 ++++++++++++++++++ src/libmongoc/doc/mongoc_client_t.rst | 3 +-- 2 files changed, 19 insertions(+), 2 deletions(-) create mode 100644 src/libmongoc/doc/mongoc_client_bulkwrite_new.rst diff --git a/src/libmongoc/doc/mongoc_client_bulkwrite_new.rst b/src/libmongoc/doc/mongoc_client_bulkwrite_new.rst new file mode 100644 index 00000000000..7deadde35c5 --- /dev/null +++ b/src/libmongoc/doc/mongoc_client_bulkwrite_new.rst @@ -0,0 +1,18 @@ +:man_page: mongoc_client_bulkwrite_new + +mongoc_client_bulkwrite_new() +============================= + +Synopsis +-------- + +.. code-block:: c + + mongoc_bulkwrite_t * + mongoc_client_bulkwrite_new (mongoc_client_t *self); + + +Description +----------- + +Returns a new :symbol:`mongoc_bulkwrite_t`. Free with :symbol:`mongoc_bulkwrite_destroy()`. diff --git a/src/libmongoc/doc/mongoc_client_t.rst b/src/libmongoc/doc/mongoc_client_t.rst index d1a06b33342..06747c93b6d 100644 --- a/src/libmongoc/doc/mongoc_client_t.rst +++ b/src/libmongoc/doc/mongoc_client_t.rst @@ -52,6 +52,7 @@ Example :titlesonly: :maxdepth: 1 + mongoc_client_bulkwrite_new mongoc_client_command mongoc_client_command_simple mongoc_client_command_simple_with_server_id @@ -95,5 +96,3 @@ Example mongoc_client_watch mongoc_client_write_command_with_opts mongoc_handshake_data_append - - From 259c7fb9e9152499887e2fd8ec56516ea6cd9279 Mon Sep 17 00:00:00 2001 From: Kevin Albertson Date: Thu, 16 May 2024 13:39:00 -0400 Subject: [PATCH 07/18] document `mongoc_bulkwrite_append_insertone` --- .../doc/mongoc_bulkwrite_append_insertone.rst | 22 ++++++++++++++++++ ...mongoc_bulkwrite_insertoneopts_destroy.rst | 17 ++++++++++++++ .../mongoc_bulkwrite_insertoneopts_new.rst | 17 ++++++++++++++ .../doc/mongoc_bulkwrite_insertoneopts_t.rst | 23 +++++++++++++++++++ 4 files changed, 79 insertions(+) create mode 100644 src/libmongoc/doc/mongoc_bulkwrite_append_insertone.rst create mode 100644 src/libmongoc/doc/mongoc_bulkwrite_insertoneopts_destroy.rst create mode 100644 src/libmongoc/doc/mongoc_bulkwrite_insertoneopts_new.rst create mode 100644 src/libmongoc/doc/mongoc_bulkwrite_insertoneopts_t.rst diff --git a/src/libmongoc/doc/mongoc_bulkwrite_append_insertone.rst b/src/libmongoc/doc/mongoc_bulkwrite_append_insertone.rst new file mode 100644 index 00000000000..212496c0114 --- /dev/null +++ b/src/libmongoc/doc/mongoc_bulkwrite_append_insertone.rst @@ -0,0 +1,22 @@ +:man_page: mongoc_bulkwrite_append_insertone + +mongoc_bulkwrite_append_insertone() +=================================== + +Synopsis +-------- + +.. code-block:: c + + bool + mongoc_bulkwrite_append_insertone (mongoc_bulkwrite_t *self, + const char *ns, + const bson_t *document, + const mongoc_bulkwrite_insertoneopts_t *opts /* May be NULL */, + bson_error_t *error); + +Description +----------- + +Adds a document to insert into the namespace ``ns``. Returns true on success. Returns false and sets ``error`` if an +error occured. diff --git a/src/libmongoc/doc/mongoc_bulkwrite_insertoneopts_destroy.rst b/src/libmongoc/doc/mongoc_bulkwrite_insertoneopts_destroy.rst new file mode 100644 index 00000000000..a26377051cf --- /dev/null +++ b/src/libmongoc/doc/mongoc_bulkwrite_insertoneopts_destroy.rst @@ -0,0 +1,17 @@ +:man_page: mongoc_bulkwrite_insertoneopts_destroy + +mongoc_bulkwrite_insertoneopts_destroy() +======================================== + +Synopsis +-------- + +.. code-block:: c + + void + mongoc_bulkwrite_insertoneopts_destroy (mongoc_bulkwrite_insertoneopts_t *self); + +Description +----------- + +Frees a :symbol:`mongoc_bulkwrite_insertoneopts_t`. diff --git a/src/libmongoc/doc/mongoc_bulkwrite_insertoneopts_new.rst b/src/libmongoc/doc/mongoc_bulkwrite_insertoneopts_new.rst new file mode 100644 index 00000000000..2f5c8bd4224 --- /dev/null +++ b/src/libmongoc/doc/mongoc_bulkwrite_insertoneopts_new.rst @@ -0,0 +1,17 @@ +:man_page: mongoc_bulkwrite_insertoneopts_new + +mongoc_bulkwrite_insertoneopts_new() +==================================== + +Synopsis +-------- + +.. code-block:: c + + mongoc_bulkwrite_insertoneopts_t * + mongoc_bulkwrite_insertoneopts_new (void); + +Description +----------- + +Returns a new :symbol:`mongoc_bulkwrite_insertoneopts_t`. Free with :symbol:`mongoc_bulkwrite_insertoneopts_destroy`. diff --git a/src/libmongoc/doc/mongoc_bulkwrite_insertoneopts_t.rst b/src/libmongoc/doc/mongoc_bulkwrite_insertoneopts_t.rst new file mode 100644 index 00000000000..ba3ed339922 --- /dev/null +++ b/src/libmongoc/doc/mongoc_bulkwrite_insertoneopts_t.rst @@ -0,0 +1,23 @@ +:man_page: mongoc_bulkwrite_insertoneopts_t + +mongoc_bulkwrite_insertoneopts_t +================================ + +Synopsis +-------- + +.. code-block:: c + + typedef struct _mongoc_bulkwrite_insertoneopts_t mongoc_bulkwrite_insertoneopts_t; + +.. only:: html + + Functions + --------- + + .. toctree:: + :titlesonly: + :maxdepth: 1 + + mongoc_bulkwrite_insertoneopts_new + mongoc_bulkwrite_insertoneopts_destroy From 6349ab879c1fa7b6fb4d72a4137d4f642b8ef9e5 Mon Sep 17 00:00:00 2001 From: Kevin Albertson Date: Thu, 16 May 2024 13:39:11 -0400 Subject: [PATCH 08/18] document `mongoc_bulkwrite_append_updateone` --- .../doc/mongoc_bulkwrite_append_updateone.rst | 23 ++++++++++++++++ ...mongoc_bulkwrite_updateoneopts_destroy.rst | 17 ++++++++++++ .../mongoc_bulkwrite_updateoneopts_new.rst | 17 ++++++++++++ ...lkwrite_updateoneopts_set_arrayfilters.rst | 17 ++++++++++++ ..._bulkwrite_updateoneopts_set_collation.rst | 17 ++++++++++++ ...ongoc_bulkwrite_updateoneopts_set_hint.rst | 18 +++++++++++++ ...goc_bulkwrite_updateoneopts_set_upsert.rst | 19 +++++++++++++ .../doc/mongoc_bulkwrite_updateoneopts_t.rst | 27 +++++++++++++++++++ 8 files changed, 155 insertions(+) create mode 100644 src/libmongoc/doc/mongoc_bulkwrite_append_updateone.rst create mode 100644 src/libmongoc/doc/mongoc_bulkwrite_updateoneopts_destroy.rst create mode 100644 src/libmongoc/doc/mongoc_bulkwrite_updateoneopts_new.rst create mode 100644 src/libmongoc/doc/mongoc_bulkwrite_updateoneopts_set_arrayfilters.rst create mode 100644 src/libmongoc/doc/mongoc_bulkwrite_updateoneopts_set_collation.rst create mode 100644 src/libmongoc/doc/mongoc_bulkwrite_updateoneopts_set_hint.rst create mode 100644 src/libmongoc/doc/mongoc_bulkwrite_updateoneopts_set_upsert.rst create mode 100644 src/libmongoc/doc/mongoc_bulkwrite_updateoneopts_t.rst diff --git a/src/libmongoc/doc/mongoc_bulkwrite_append_updateone.rst b/src/libmongoc/doc/mongoc_bulkwrite_append_updateone.rst new file mode 100644 index 00000000000..146bc2c72e0 --- /dev/null +++ b/src/libmongoc/doc/mongoc_bulkwrite_append_updateone.rst @@ -0,0 +1,23 @@ +:man_page: mongoc_bulkwrite_append_updateone + +mongoc_bulkwrite_append_updateone() +=================================== + +Synopsis +-------- + +.. code-block:: c + + bool + mongoc_bulkwrite_append_updateone (mongoc_bulkwrite_t *self, + const char *ns, + const bson_t *filter, + const bson_t *update, + const mongoc_bulkwrite_updateoneopts_t *opts /* May be NULL */, + bson_error_t *error); + +Description +----------- + +Adds a single-document update for the namespace ``ns``. Returns true on success. Returns false and sets ``error`` if an +error occured. diff --git a/src/libmongoc/doc/mongoc_bulkwrite_updateoneopts_destroy.rst b/src/libmongoc/doc/mongoc_bulkwrite_updateoneopts_destroy.rst new file mode 100644 index 00000000000..e8c80197636 --- /dev/null +++ b/src/libmongoc/doc/mongoc_bulkwrite_updateoneopts_destroy.rst @@ -0,0 +1,17 @@ +:man_page: mongoc_bulkwrite_updateoneopts_destroy + +mongoc_bulkwrite_updateoneopts_destroy() +======================================== + +Synopsis +-------- + +.. code-block:: c + + void + mongoc_bulkwrite_updateoneopts_destroy (mongoc_bulkwrite_updateoneopts_t *self); + +Description +----------- + +Frees a :symbol:`mongoc_bulkwrite_updateoneopts_t`. diff --git a/src/libmongoc/doc/mongoc_bulkwrite_updateoneopts_new.rst b/src/libmongoc/doc/mongoc_bulkwrite_updateoneopts_new.rst new file mode 100644 index 00000000000..ccb0e9bbfee --- /dev/null +++ b/src/libmongoc/doc/mongoc_bulkwrite_updateoneopts_new.rst @@ -0,0 +1,17 @@ +:man_page: mongoc_bulkwrite_updateoneopts_new + +mongoc_bulkwrite_updateoneopts_new() +==================================== + +Synopsis +-------- + +.. code-block:: c + + mongoc_bulkwrite_updateoneopts_t * + mongoc_bulkwrite_updateoneopts_new (void); + +Description +----------- + +Returns a new :symbol:`mongoc_bulkwrite_updateoneopts_t`. Free with :symbol:`mongoc_bulkwrite_updateoneopts_destroy`. diff --git a/src/libmongoc/doc/mongoc_bulkwrite_updateoneopts_set_arrayfilters.rst b/src/libmongoc/doc/mongoc_bulkwrite_updateoneopts_set_arrayfilters.rst new file mode 100644 index 00000000000..87bd247bd76 --- /dev/null +++ b/src/libmongoc/doc/mongoc_bulkwrite_updateoneopts_set_arrayfilters.rst @@ -0,0 +1,17 @@ +:man_page: mongoc_bulkwrite_updateoneopts_set_arrayfilters + +mongoc_bulkwrite_updateoneopts_set_arrayfilters() +================================================= + +Synopsis +-------- + +.. code-block:: c + + void + mongoc_bulkwrite_updateoneopts_set_arrayfilters (mongoc_bulkwrite_updateoneopts_t *self, const bson_t *arrayfilters); + +Description +----------- + +Sets a set of filters specifying to which array elements an update should apply. diff --git a/src/libmongoc/doc/mongoc_bulkwrite_updateoneopts_set_collation.rst b/src/libmongoc/doc/mongoc_bulkwrite_updateoneopts_set_collation.rst new file mode 100644 index 00000000000..adb62e034b4 --- /dev/null +++ b/src/libmongoc/doc/mongoc_bulkwrite_updateoneopts_set_collation.rst @@ -0,0 +1,17 @@ +:man_page: mongoc_bulkwrite_updateoneopts_set_collation + +mongoc_bulkwrite_updateoneopts_set_collation() +============================================== + +Synopsis +-------- + +.. code-block:: c + + void + mongoc_bulkwrite_updateoneopts_set_collation (mongoc_bulkwrite_updateoneopts_t *self, const bson_t *collation); + +Description +----------- + +Specifies a collation. diff --git a/src/libmongoc/doc/mongoc_bulkwrite_updateoneopts_set_hint.rst b/src/libmongoc/doc/mongoc_bulkwrite_updateoneopts_set_hint.rst new file mode 100644 index 00000000000..ea423ae7b8a --- /dev/null +++ b/src/libmongoc/doc/mongoc_bulkwrite_updateoneopts_set_hint.rst @@ -0,0 +1,18 @@ +:man_page: mongoc_bulkwrite_updateoneopts_set_hint + +mongoc_bulkwrite_updateoneopts_set_hint() +========================================= + +Synopsis +-------- + +.. code-block:: c + + void + mongoc_bulkwrite_updateoneopts_set_hint (mongoc_bulkwrite_updateoneopts_t *self, const bson_value_t *hint); + +Description +----------- + +Specifies the index to use. Specify either the index name as a string or the index key pattern. If specified, then the +query system will only consider plans using the hinted index. diff --git a/src/libmongoc/doc/mongoc_bulkwrite_updateoneopts_set_upsert.rst b/src/libmongoc/doc/mongoc_bulkwrite_updateoneopts_set_upsert.rst new file mode 100644 index 00000000000..bf6607c66f4 --- /dev/null +++ b/src/libmongoc/doc/mongoc_bulkwrite_updateoneopts_set_upsert.rst @@ -0,0 +1,19 @@ +:man_page: mongoc_bulkwrite_updateoneopts_set_upsert + +mongoc_bulkwrite_updateoneopts_set_upsert() +=========================================== + +Synopsis +-------- + +.. code-block:: c + + void + mongoc_bulkwrite_updateoneopts_set_upsert (mongoc_bulkwrite_updateoneopts_t *self, bool upsert); + +Description +----------- + +If ``upsert`` is true, creates a new document if no document matches the query. + +The ``upsert`` option is not sent if this function is not called. The server's default value is false. diff --git a/src/libmongoc/doc/mongoc_bulkwrite_updateoneopts_t.rst b/src/libmongoc/doc/mongoc_bulkwrite_updateoneopts_t.rst new file mode 100644 index 00000000000..6ffae034aee --- /dev/null +++ b/src/libmongoc/doc/mongoc_bulkwrite_updateoneopts_t.rst @@ -0,0 +1,27 @@ +:man_page: mongoc_bulkwrite_updateoneopts_t + +mongoc_bulkwrite_updateoneopts_t +================================ + +Synopsis +-------- + +.. code-block:: c + + typedef struct _mongoc_bulkwrite_updateoneopts_t mongoc_bulkwrite_updateoneopts_t; + +.. only:: html + + Functions + --------- + + .. toctree:: + :titlesonly: + :maxdepth: 1 + + mongoc_bulkwrite_updateoneopts_new + mongoc_bulkwrite_updateoneopts_set_arrayfilters + mongoc_bulkwrite_updateoneopts_set_collation + mongoc_bulkwrite_updateoneopts_set_hint + mongoc_bulkwrite_updateoneopts_set_upsert + mongoc_bulkwrite_updateoneopts_destroy From f7aa9fa700656667c1bc9affa8d714d09a5e5859 Mon Sep 17 00:00:00 2001 From: Kevin Albertson Date: Thu, 16 May 2024 13:53:47 -0400 Subject: [PATCH 09/18] document `mongoc_bulkwrite_append_updatemany` --- .../mongoc_bulkwrite_append_updatemany.rst | 23 ++++++++++++++++ ...ongoc_bulkwrite_updatemanyopts_destroy.rst | 17 ++++++++++++ .../mongoc_bulkwrite_updatemanyopts_new.rst | 17 ++++++++++++ ...kwrite_updatemanyopts_set_arrayfilters.rst | 17 ++++++++++++ ...bulkwrite_updatemanyopts_set_collation.rst | 17 ++++++++++++ ...ngoc_bulkwrite_updatemanyopts_set_hint.rst | 18 +++++++++++++ ...oc_bulkwrite_updatemanyopts_set_upsert.rst | 19 +++++++++++++ .../doc/mongoc_bulkwrite_updatemanyopts_t.rst | 27 +++++++++++++++++++ 8 files changed, 155 insertions(+) create mode 100644 src/libmongoc/doc/mongoc_bulkwrite_append_updatemany.rst create mode 100644 src/libmongoc/doc/mongoc_bulkwrite_updatemanyopts_destroy.rst create mode 100644 src/libmongoc/doc/mongoc_bulkwrite_updatemanyopts_new.rst create mode 100644 src/libmongoc/doc/mongoc_bulkwrite_updatemanyopts_set_arrayfilters.rst create mode 100644 src/libmongoc/doc/mongoc_bulkwrite_updatemanyopts_set_collation.rst create mode 100644 src/libmongoc/doc/mongoc_bulkwrite_updatemanyopts_set_hint.rst create mode 100644 src/libmongoc/doc/mongoc_bulkwrite_updatemanyopts_set_upsert.rst create mode 100644 src/libmongoc/doc/mongoc_bulkwrite_updatemanyopts_t.rst diff --git a/src/libmongoc/doc/mongoc_bulkwrite_append_updatemany.rst b/src/libmongoc/doc/mongoc_bulkwrite_append_updatemany.rst new file mode 100644 index 00000000000..72c9dd688d7 --- /dev/null +++ b/src/libmongoc/doc/mongoc_bulkwrite_append_updatemany.rst @@ -0,0 +1,23 @@ +:man_page: mongoc_bulkwrite_append_updatemany + +mongoc_bulkwrite_append_updatemany() +==================================== + +Synopsis +-------- + +.. code-block:: c + + bool + mongoc_bulkwrite_append_updatemany (mongoc_bulkwrite_t *self, + const char *ns, + const bson_t *filter, + const bson_t *update, + const mongoc_bulkwrite_updatemanyopts_t *opts /* May be NULL */, + bson_error_t *error); + +Description +----------- + +Adds a multi-document update for the namespace ``ns``. Returns true on success. Returns false and sets ``error`` if an +error occured. diff --git a/src/libmongoc/doc/mongoc_bulkwrite_updatemanyopts_destroy.rst b/src/libmongoc/doc/mongoc_bulkwrite_updatemanyopts_destroy.rst new file mode 100644 index 00000000000..838fff43308 --- /dev/null +++ b/src/libmongoc/doc/mongoc_bulkwrite_updatemanyopts_destroy.rst @@ -0,0 +1,17 @@ +:man_page: mongoc_bulkwrite_updatemanyopts_destroy + +mongoc_bulkwrite_updatemanyopts_destroy() +========================================= + +Synopsis +-------- + +.. code-block:: c + + void + mongoc_bulkwrite_updatemanyopts_destroy (mongoc_bulkwrite_updatemanyopts_t *self); + +Description +----------- + +Frees a :symbol:`mongoc_bulkwrite_updatemanyopts_t`. diff --git a/src/libmongoc/doc/mongoc_bulkwrite_updatemanyopts_new.rst b/src/libmongoc/doc/mongoc_bulkwrite_updatemanyopts_new.rst new file mode 100644 index 00000000000..a3ae1622f45 --- /dev/null +++ b/src/libmongoc/doc/mongoc_bulkwrite_updatemanyopts_new.rst @@ -0,0 +1,17 @@ +:man_page: mongoc_bulkwrite_updatemanyopts_new + +mongoc_bulkwrite_updatemanyopts_new() +===================================== + +Synopsis +-------- + +.. code-block:: c + + mongoc_bulkwrite_updatemanyopts_t * + mongoc_bulkwrite_updatemanyopts_new (void); + +Description +----------- + +Returns a new :symbol:`mongoc_bulkwrite_updatemanyopts_t`. diff --git a/src/libmongoc/doc/mongoc_bulkwrite_updatemanyopts_set_arrayfilters.rst b/src/libmongoc/doc/mongoc_bulkwrite_updatemanyopts_set_arrayfilters.rst new file mode 100644 index 00000000000..70f11a49ab7 --- /dev/null +++ b/src/libmongoc/doc/mongoc_bulkwrite_updatemanyopts_set_arrayfilters.rst @@ -0,0 +1,17 @@ +:man_page: mongoc_bulkwrite_updatemanyopts_set_arrayfilters + +mongoc_bulkwrite_updatemanyopts_set_arrayfilters() +================================================== + +Synopsis +-------- + +.. code-block:: c + + void + mongoc_bulkwrite_updatemanyopts_set_arrayfilters (mongoc_bulkwrite_updatemanyopts_t *self, const bson_t *arrayfilters); + +Description +----------- + +Sets a set of filters specifying to which array elements an update should apply. diff --git a/src/libmongoc/doc/mongoc_bulkwrite_updatemanyopts_set_collation.rst b/src/libmongoc/doc/mongoc_bulkwrite_updatemanyopts_set_collation.rst new file mode 100644 index 00000000000..fc2e5788f1c --- /dev/null +++ b/src/libmongoc/doc/mongoc_bulkwrite_updatemanyopts_set_collation.rst @@ -0,0 +1,17 @@ +:man_page: mongoc_bulkwrite_updatemanyopts_set_collation + +mongoc_bulkwrite_updatemanyopts_set_collation() +=============================================== + +Synopsis +-------- + +.. code-block:: c + + void + mongoc_bulkwrite_updatemanyopts_set_collation (mongoc_bulkwrite_updatemanyopts_t *self, const bson_t *collation); + +Description +----------- + +Specifies a collation. diff --git a/src/libmongoc/doc/mongoc_bulkwrite_updatemanyopts_set_hint.rst b/src/libmongoc/doc/mongoc_bulkwrite_updatemanyopts_set_hint.rst new file mode 100644 index 00000000000..b4413332278 --- /dev/null +++ b/src/libmongoc/doc/mongoc_bulkwrite_updatemanyopts_set_hint.rst @@ -0,0 +1,18 @@ +:man_page: mongoc_bulkwrite_updatemanyopts_set_hint + +mongoc_bulkwrite_updatemanyopts_set_hint() +========================================== + +Synopsis +-------- + +.. code-block:: c + + void + mongoc_bulkwrite_updatemanyopts_set_hint (mongoc_bulkwrite_updatemanyopts_t *self, const bson_value_t *hint); + +Description +----------- + +Specifies the index to use. Specify either the index name as a string or the index key pattern. If specified, then the +query system will only consider plans using the hinted index. diff --git a/src/libmongoc/doc/mongoc_bulkwrite_updatemanyopts_set_upsert.rst b/src/libmongoc/doc/mongoc_bulkwrite_updatemanyopts_set_upsert.rst new file mode 100644 index 00000000000..c441118df5d --- /dev/null +++ b/src/libmongoc/doc/mongoc_bulkwrite_updatemanyopts_set_upsert.rst @@ -0,0 +1,19 @@ +:man_page: mongoc_bulkwrite_updatemanyopts_set_upsert + +mongoc_bulkwrite_updatemanyopts_set_upsert() +============================================ + +Synopsis +-------- + +.. code-block:: c + + void + mongoc_bulkwrite_updatemanyopts_set_upsert (mongoc_bulkwrite_updatemanyopts_t *self, bool upsert); + +Description +----------- + +If ``upsert`` is true, creates a new document if no document matches the query. + +The ``upsert`` option is not sent if this function is not called. The server's default value is false. diff --git a/src/libmongoc/doc/mongoc_bulkwrite_updatemanyopts_t.rst b/src/libmongoc/doc/mongoc_bulkwrite_updatemanyopts_t.rst new file mode 100644 index 00000000000..9888209cb77 --- /dev/null +++ b/src/libmongoc/doc/mongoc_bulkwrite_updatemanyopts_t.rst @@ -0,0 +1,27 @@ +:man_page: mongoc_bulkwrite_updatemanyopts_t + +mongoc_bulkwrite_updatemanyopts_t +================================= + +Synopsis +-------- + +.. code-block:: c + + typedef struct _mongoc_bulkwrite_updatemanyopts_t mongoc_bulkwrite_updatemanyopts_t; + +.. only:: html + + Functions + --------- + + .. toctree:: + :titlesonly: + :maxdepth: 1 + + mongoc_bulkwrite_updatemanyopts_new + mongoc_bulkwrite_updatemanyopts_set_arrayfilters + mongoc_bulkwrite_updatemanyopts_set_collation + mongoc_bulkwrite_updatemanyopts_set_hint + mongoc_bulkwrite_updatemanyopts_set_upsert + mongoc_bulkwrite_updatemanyopts_destroy From 33c7a42bb8e8447002b44d0257f7902c62c044fd Mon Sep 17 00:00:00 2001 From: Kevin Albertson Date: Thu, 16 May 2024 13:54:32 -0400 Subject: [PATCH 10/18] document `mongoc_bulkwrite_append_replaceone` --- .../mongoc_bulkwrite_append_replaceone.rst | 23 ++++++++++++++++ ...ongoc_bulkwrite_replaceoneopts_destroy.rst | 17 ++++++++++++ .../mongoc_bulkwrite_replaceoneopts_new.rst | 17 ++++++++++++ ...bulkwrite_replaceoneopts_set_collation.rst | 17 ++++++++++++ ...ngoc_bulkwrite_replaceoneopts_set_hint.rst | 18 +++++++++++++ ...oc_bulkwrite_replaceoneopts_set_upsert.rst | 19 ++++++++++++++ .../doc/mongoc_bulkwrite_replaceoneopts_t.rst | 26 +++++++++++++++++++ 7 files changed, 137 insertions(+) create mode 100644 src/libmongoc/doc/mongoc_bulkwrite_append_replaceone.rst create mode 100644 src/libmongoc/doc/mongoc_bulkwrite_replaceoneopts_destroy.rst create mode 100644 src/libmongoc/doc/mongoc_bulkwrite_replaceoneopts_new.rst create mode 100644 src/libmongoc/doc/mongoc_bulkwrite_replaceoneopts_set_collation.rst create mode 100644 src/libmongoc/doc/mongoc_bulkwrite_replaceoneopts_set_hint.rst create mode 100644 src/libmongoc/doc/mongoc_bulkwrite_replaceoneopts_set_upsert.rst create mode 100644 src/libmongoc/doc/mongoc_bulkwrite_replaceoneopts_t.rst diff --git a/src/libmongoc/doc/mongoc_bulkwrite_append_replaceone.rst b/src/libmongoc/doc/mongoc_bulkwrite_append_replaceone.rst new file mode 100644 index 00000000000..677ebd8ae80 --- /dev/null +++ b/src/libmongoc/doc/mongoc_bulkwrite_append_replaceone.rst @@ -0,0 +1,23 @@ +:man_page: mongoc_bulkwrite_append_replaceone + +mongoc_bulkwrite_append_replaceone() +==================================== + +Synopsis +-------- + +.. code-block:: c + + bool + mongoc_bulkwrite_append_replaceone (mongoc_bulkwrite_t *self, + const char *ns, + const bson_t *filter, + const bson_t *replacement, + const mongoc_bulkwrite_replaceoneopts_t *opts /* May be NULL */, + bson_error_t *error); + +Description +----------- + +Adds a replace operation for the namespace ``ns``. Returns true on success. Returns false and sets ``error`` if an +error occured. diff --git a/src/libmongoc/doc/mongoc_bulkwrite_replaceoneopts_destroy.rst b/src/libmongoc/doc/mongoc_bulkwrite_replaceoneopts_destroy.rst new file mode 100644 index 00000000000..5c9148c5084 --- /dev/null +++ b/src/libmongoc/doc/mongoc_bulkwrite_replaceoneopts_destroy.rst @@ -0,0 +1,17 @@ +:man_page: mongoc_bulkwrite_replaceoneopts_destroy + +mongoc_bulkwrite_replaceoneopts_destroy() +========================================= + +Synopsis +-------- + +.. code-block:: c + + void + mongoc_bulkwrite_replaceoneopts_destroy (mongoc_bulkwrite_replaceoneopts_t *self); + +Description +----------- + +Frees a :symbol:`mongoc_bulkwrite_replaceoneopts_t`. diff --git a/src/libmongoc/doc/mongoc_bulkwrite_replaceoneopts_new.rst b/src/libmongoc/doc/mongoc_bulkwrite_replaceoneopts_new.rst new file mode 100644 index 00000000000..ecbb45f54a9 --- /dev/null +++ b/src/libmongoc/doc/mongoc_bulkwrite_replaceoneopts_new.rst @@ -0,0 +1,17 @@ +:man_page: mongoc_bulkwrite_replaceoneopts_new + +mongoc_bulkwrite_replaceoneopts_new() +===================================== + +Synopsis +-------- + +.. code-block:: c + + mongoc_bulkwrite_replaceoneopts_t * + mongoc_bulkwrite_replaceoneopts_new (void); + +Description +----------- + +Returns a new :symbol:`mongoc_bulkwrite_replaceoneopts_t`. diff --git a/src/libmongoc/doc/mongoc_bulkwrite_replaceoneopts_set_collation.rst b/src/libmongoc/doc/mongoc_bulkwrite_replaceoneopts_set_collation.rst new file mode 100644 index 00000000000..23c4ee610f8 --- /dev/null +++ b/src/libmongoc/doc/mongoc_bulkwrite_replaceoneopts_set_collation.rst @@ -0,0 +1,17 @@ +:man_page: mongoc_bulkwrite_replaceoneopts_set_collation + +mongoc_bulkwrite_replaceoneopts_set_collation() +=============================================== + +Synopsis +-------- + +.. code-block:: c + + void + mongoc_bulkwrite_replaceoneopts_set_collation (mongoc_bulkwrite_replaceoneopts_t *self, const bson_t *collation); + +Description +----------- + +Specifies a collation. diff --git a/src/libmongoc/doc/mongoc_bulkwrite_replaceoneopts_set_hint.rst b/src/libmongoc/doc/mongoc_bulkwrite_replaceoneopts_set_hint.rst new file mode 100644 index 00000000000..7c520d8d093 --- /dev/null +++ b/src/libmongoc/doc/mongoc_bulkwrite_replaceoneopts_set_hint.rst @@ -0,0 +1,18 @@ +:man_page: mongoc_bulkwrite_replaceoneopts_set_hint + +mongoc_bulkwrite_replaceoneopts_set_hint() +========================================== + +Synopsis +-------- + +.. code-block:: c + + void + mongoc_bulkwrite_replaceoneopts_set_hint (mongoc_bulkwrite_replaceoneopts_t *self, const bson_value_t *hint); + +Description +----------- + +Specifies the index to use. Specify either the index name as a string or the index key pattern. If specified, then the +query system will only consider plans using the hinted index. diff --git a/src/libmongoc/doc/mongoc_bulkwrite_replaceoneopts_set_upsert.rst b/src/libmongoc/doc/mongoc_bulkwrite_replaceoneopts_set_upsert.rst new file mode 100644 index 00000000000..82b58c64747 --- /dev/null +++ b/src/libmongoc/doc/mongoc_bulkwrite_replaceoneopts_set_upsert.rst @@ -0,0 +1,19 @@ +:man_page: mongoc_bulkwrite_replaceoneopts_set_upsert + +mongoc_bulkwrite_replaceoneopts_set_upsert() +============================================ + +Synopsis +-------- + +.. code-block:: c + + void + mongoc_bulkwrite_replaceoneopts_set_upsert (mongoc_bulkwrite_replaceoneopts_t *self, bool upsert); + +Description +----------- + +If ``upsert`` is true, creates a new document if no document matches the query. + +The ``upsert`` option is not sent if this function is not called. The server's default value is false. diff --git a/src/libmongoc/doc/mongoc_bulkwrite_replaceoneopts_t.rst b/src/libmongoc/doc/mongoc_bulkwrite_replaceoneopts_t.rst new file mode 100644 index 00000000000..99041126f2c --- /dev/null +++ b/src/libmongoc/doc/mongoc_bulkwrite_replaceoneopts_t.rst @@ -0,0 +1,26 @@ +:man_page: mongoc_bulkwrite_replaceoneopts_t + +mongoc_bulkwrite_replaceoneopts_t +================================= + +Synopsis +-------- + +.. code-block:: c + + typedef struct _mongoc_bulkwrite_replaceoneopts_t mongoc_bulkwrite_replaceoneopts_t; + +.. only:: html + + Functions + --------- + + .. toctree:: + :titlesonly: + :maxdepth: 1 + + mongoc_bulkwrite_replaceoneopts_new + mongoc_bulkwrite_replaceoneopts_set_collation + mongoc_bulkwrite_replaceoneopts_set_hint + mongoc_bulkwrite_replaceoneopts_set_upsert + mongoc_bulkwrite_replaceoneopts_destroy From 9e8c7e23f81910d5aca67d6d647c95a8a65f602e Mon Sep 17 00:00:00 2001 From: Kevin Albertson Date: Thu, 16 May 2024 14:29:05 -0400 Subject: [PATCH 11/18] document `mongoc_bulkwrite_append_deleteone` --- .../doc/mongoc_bulkwrite_append_deleteone.rst | 22 ++++++++++++++++ ...mongoc_bulkwrite_deleteoneopts_destroy.rst | 17 +++++++++++++ .../mongoc_bulkwrite_deleteoneopts_new.rst | 17 +++++++++++++ ..._bulkwrite_deleteoneopts_set_collation.rst | 17 +++++++++++++ ...ongoc_bulkwrite_deleteoneopts_set_hint.rst | 18 +++++++++++++ .../doc/mongoc_bulkwrite_deleteoneopts_t.rst | 25 +++++++++++++++++++ 6 files changed, 116 insertions(+) create mode 100644 src/libmongoc/doc/mongoc_bulkwrite_append_deleteone.rst create mode 100644 src/libmongoc/doc/mongoc_bulkwrite_deleteoneopts_destroy.rst create mode 100644 src/libmongoc/doc/mongoc_bulkwrite_deleteoneopts_new.rst create mode 100644 src/libmongoc/doc/mongoc_bulkwrite_deleteoneopts_set_collation.rst create mode 100644 src/libmongoc/doc/mongoc_bulkwrite_deleteoneopts_set_hint.rst create mode 100644 src/libmongoc/doc/mongoc_bulkwrite_deleteoneopts_t.rst diff --git a/src/libmongoc/doc/mongoc_bulkwrite_append_deleteone.rst b/src/libmongoc/doc/mongoc_bulkwrite_append_deleteone.rst new file mode 100644 index 00000000000..11820167a0a --- /dev/null +++ b/src/libmongoc/doc/mongoc_bulkwrite_append_deleteone.rst @@ -0,0 +1,22 @@ +:man_page: mongoc_bulkwrite_append_deleteone + +mongoc_bulkwrite_append_deleteone() +=================================== + +Synopsis +-------- + +.. code-block:: c + + bool + mongoc_bulkwrite_append_deleteone (mongoc_bulkwrite_t *self, + const char *ns, + const bson_t *filter, + const mongoc_bulkwrite_deleteoneopts_t *opts /* May be NULL */, + bson_error_t *error); + +Description +----------- + +Adds a single-document delete into the namespace ``ns``. Returns true on success. Returns false and sets ``error`` if an +error occured. diff --git a/src/libmongoc/doc/mongoc_bulkwrite_deleteoneopts_destroy.rst b/src/libmongoc/doc/mongoc_bulkwrite_deleteoneopts_destroy.rst new file mode 100644 index 00000000000..1fd353e9719 --- /dev/null +++ b/src/libmongoc/doc/mongoc_bulkwrite_deleteoneopts_destroy.rst @@ -0,0 +1,17 @@ +:man_page: mongoc_bulkwrite_deleteoneopts_destroy + +mongoc_bulkwrite_deleteoneopts_destroy() +======================================== + +Synopsis +-------- + +.. code-block:: c + + void + mongoc_bulkwrite_deleteoneopts_destroy (mongoc_bulkwrite_deleteoneopts_t *self); + +Description +----------- + +Frees a :symbol:`mongoc_bulkwrite_deleteoneopts_t`. diff --git a/src/libmongoc/doc/mongoc_bulkwrite_deleteoneopts_new.rst b/src/libmongoc/doc/mongoc_bulkwrite_deleteoneopts_new.rst new file mode 100644 index 00000000000..90db990729c --- /dev/null +++ b/src/libmongoc/doc/mongoc_bulkwrite_deleteoneopts_new.rst @@ -0,0 +1,17 @@ +:man_page: mongoc_bulkwrite_deleteoneopts_new + +mongoc_bulkwrite_deleteoneopts_new() +==================================== + +Synopsis +-------- + +.. code-block:: c + + mongoc_bulkwrite_deleteoneopts_t * + mongoc_bulkwrite_deleteoneopts_new (void); + +Description +----------- + +Returns a new :symbol:`mongoc_bulkwrite_deleteoneopts_t`. diff --git a/src/libmongoc/doc/mongoc_bulkwrite_deleteoneopts_set_collation.rst b/src/libmongoc/doc/mongoc_bulkwrite_deleteoneopts_set_collation.rst new file mode 100644 index 00000000000..82359f29564 --- /dev/null +++ b/src/libmongoc/doc/mongoc_bulkwrite_deleteoneopts_set_collation.rst @@ -0,0 +1,17 @@ +:man_page: mongoc_bulkwrite_deleteoneopts_set_collation + +mongoc_bulkwrite_deleteoneopts_set_collation() +============================================== + +Synopsis +-------- + +.. code-block:: c + + void + mongoc_bulkwrite_deleteoneopts_set_collation (mongoc_bulkwrite_deleteoneopts_t *self, const bson_t *collation); + +Description +----------- + +Specifies a collation. diff --git a/src/libmongoc/doc/mongoc_bulkwrite_deleteoneopts_set_hint.rst b/src/libmongoc/doc/mongoc_bulkwrite_deleteoneopts_set_hint.rst new file mode 100644 index 00000000000..48eeeb1200d --- /dev/null +++ b/src/libmongoc/doc/mongoc_bulkwrite_deleteoneopts_set_hint.rst @@ -0,0 +1,18 @@ +:man_page: mongoc_bulkwrite_deleteoneopts_set_hint + +mongoc_bulkwrite_deleteoneopts_set_hint() +========================================= + +Synopsis +-------- + +.. code-block:: c + + void + mongoc_bulkwrite_deleteoneopts_set_hint (mongoc_bulkwrite_deleteoneopts_t *self, const bson_value_t *hint); + +Description +----------- + +Specifies the index to use. Specify either the index name as a string or the index key pattern. If specified, then the +query system will only consider plans using the hinted index. diff --git a/src/libmongoc/doc/mongoc_bulkwrite_deleteoneopts_t.rst b/src/libmongoc/doc/mongoc_bulkwrite_deleteoneopts_t.rst new file mode 100644 index 00000000000..3ad3987e674 --- /dev/null +++ b/src/libmongoc/doc/mongoc_bulkwrite_deleteoneopts_t.rst @@ -0,0 +1,25 @@ +:man_page: mongoc_bulkwrite_deleteoneopts_t + +mongoc_bulkwrite_deleteoneopts_t +================================ + +Synopsis +-------- + +.. code-block:: c + + typedef struct _mongoc_bulkwrite_deleteoneopts_t mongoc_bulkwrite_deleteoneopts_t; + +.. only:: html + + Functions + --------- + + .. toctree:: + :titlesonly: + :maxdepth: 1 + + mongoc_bulkwrite_deleteoneopts_new + mongoc_bulkwrite_deleteoneopts_destroy + mongoc_bulkwrite_deleteoneopts_set_collation + mongoc_bulkwrite_deleteoneopts_set_hint From 4d0c73aa35614e6018e90bd5cf71266a3f6cc03b Mon Sep 17 00:00:00 2001 From: Kevin Albertson Date: Thu, 16 May 2024 14:32:48 -0400 Subject: [PATCH 12/18] document `mongoc_bulkwrite_append_deletemany` --- .../mongoc_bulkwrite_append_deletemany.rst | 22 ++++++++++++++++ ...ongoc_bulkwrite_deletemanyopts_destroy.rst | 17 +++++++++++++ .../mongoc_bulkwrite_deletemanyopts_new.rst | 17 +++++++++++++ ...bulkwrite_deletemanyopts_set_collation.rst | 17 +++++++++++++ ...ngoc_bulkwrite_deletemanyopts_set_hint.rst | 18 +++++++++++++ .../doc/mongoc_bulkwrite_deletemanyopts_t.rst | 25 +++++++++++++++++++ 6 files changed, 116 insertions(+) create mode 100644 src/libmongoc/doc/mongoc_bulkwrite_append_deletemany.rst create mode 100644 src/libmongoc/doc/mongoc_bulkwrite_deletemanyopts_destroy.rst create mode 100644 src/libmongoc/doc/mongoc_bulkwrite_deletemanyopts_new.rst create mode 100644 src/libmongoc/doc/mongoc_bulkwrite_deletemanyopts_set_collation.rst create mode 100644 src/libmongoc/doc/mongoc_bulkwrite_deletemanyopts_set_hint.rst create mode 100644 src/libmongoc/doc/mongoc_bulkwrite_deletemanyopts_t.rst diff --git a/src/libmongoc/doc/mongoc_bulkwrite_append_deletemany.rst b/src/libmongoc/doc/mongoc_bulkwrite_append_deletemany.rst new file mode 100644 index 00000000000..0e18d80d787 --- /dev/null +++ b/src/libmongoc/doc/mongoc_bulkwrite_append_deletemany.rst @@ -0,0 +1,22 @@ +:man_page: mongoc_bulkwrite_append_deletemany + +mongoc_bulkwrite_append_deletemany() +==================================== + +Synopsis +-------- + +.. code-block:: c + + bool + mongoc_bulkwrite_append_deletemany (mongoc_bulkwrite_t *self, + const char *ns, + const bson_t *filter, + const mongoc_bulkwrite_deletemanyopts_t *opts /* May be NULL */, + bson_error_t *error); + +Description +----------- + +Adds a multi-document delete into the namespace ``ns``. Returns true on success. Returns false and sets ``error`` if an +error occured. diff --git a/src/libmongoc/doc/mongoc_bulkwrite_deletemanyopts_destroy.rst b/src/libmongoc/doc/mongoc_bulkwrite_deletemanyopts_destroy.rst new file mode 100644 index 00000000000..ed000340f45 --- /dev/null +++ b/src/libmongoc/doc/mongoc_bulkwrite_deletemanyopts_destroy.rst @@ -0,0 +1,17 @@ +:man_page: mongoc_bulkwrite_deletemanyopts_destroy + +mongoc_bulkwrite_deletemanyopts_destroy() +========================================= + +Synopsis +-------- + +.. code-block:: c + + void + mongoc_bulkwrite_deletemanyopts_destroy (mongoc_bulkwrite_deletemanyopts_t *self); + +Description +----------- + +Frees a :symbol:`mongoc_bulkwrite_deletemanyopts_t`. diff --git a/src/libmongoc/doc/mongoc_bulkwrite_deletemanyopts_new.rst b/src/libmongoc/doc/mongoc_bulkwrite_deletemanyopts_new.rst new file mode 100644 index 00000000000..c20a815520d --- /dev/null +++ b/src/libmongoc/doc/mongoc_bulkwrite_deletemanyopts_new.rst @@ -0,0 +1,17 @@ +:man_page: mongoc_bulkwrite_deletemanyopts_new + +mongoc_bulkwrite_deletemanyopts_new() +===================================== + +Synopsis +-------- + +.. code-block:: c + + mongoc_bulkwrite_deletemanyopts_t * + mongoc_bulkwrite_deletemanyopts_new (void); + +Description +----------- + +Returns a new :symbol:`mongoc_bulkwrite_deletemanyopts_new`. diff --git a/src/libmongoc/doc/mongoc_bulkwrite_deletemanyopts_set_collation.rst b/src/libmongoc/doc/mongoc_bulkwrite_deletemanyopts_set_collation.rst new file mode 100644 index 00000000000..fc4e93a6720 --- /dev/null +++ b/src/libmongoc/doc/mongoc_bulkwrite_deletemanyopts_set_collation.rst @@ -0,0 +1,17 @@ +:man_page: mongoc_bulkwrite_deletemanyopts_set_collation + +mongoc_bulkwrite_deletemanyopts_set_collation() +=============================================== + +Synopsis +-------- + +.. code-block:: c + + void + mongoc_bulkwrite_deletemanyopts_set_collation (mongoc_bulkwrite_deletemanyopts_t *self, const bson_t *collation); + +Description +----------- + +Specifies a collation. diff --git a/src/libmongoc/doc/mongoc_bulkwrite_deletemanyopts_set_hint.rst b/src/libmongoc/doc/mongoc_bulkwrite_deletemanyopts_set_hint.rst new file mode 100644 index 00000000000..6ed2c02290d --- /dev/null +++ b/src/libmongoc/doc/mongoc_bulkwrite_deletemanyopts_set_hint.rst @@ -0,0 +1,18 @@ +:man_page: mongoc_bulkwrite_deletemanyopts_set_hint + +mongoc_bulkwrite_deletemanyopts_set_hint() +========================================== + +Synopsis +-------- + +.. code-block:: c + + void + mongoc_bulkwrite_deletemanyopts_set_hint (mongoc_bulkwrite_deletemanyopts_t *self, const bson_value_t *hint); + +Description +----------- + +Specifies the index to use. Specify either the index name as a string or the index key pattern. If specified, then the +query system will only consider plans using the hinted index. diff --git a/src/libmongoc/doc/mongoc_bulkwrite_deletemanyopts_t.rst b/src/libmongoc/doc/mongoc_bulkwrite_deletemanyopts_t.rst new file mode 100644 index 00000000000..beb5f719894 --- /dev/null +++ b/src/libmongoc/doc/mongoc_bulkwrite_deletemanyopts_t.rst @@ -0,0 +1,25 @@ +:man_page: mongoc_bulkwrite_deletemanyopts_t + +mongoc_bulkwrite_deletemanyopts_t +================================= + +Synopsis +-------- + +.. code-block:: c + + typedef struct _mongoc_bulkwrite_deletemanyopts_t mongoc_bulkwrite_deletemanyopts_t; + +.. only:: html + + Functions + --------- + + .. toctree:: + :titlesonly: + :maxdepth: 1 + + mongoc_bulkwrite_deletemanyopts_new + mongoc_bulkwrite_deletemanyopts_destroy + mongoc_bulkwrite_deletemanyopts_set_collation + mongoc_bulkwrite_deletemanyopts_set_hint From 08c34430f005a1affb4fee331fa6a534c91f1c32 Mon Sep 17 00:00:00 2001 From: Kevin Albertson Date: Thu, 16 May 2024 14:43:10 -0400 Subject: [PATCH 13/18] document `mongoc_bulkwritereturn_t` --- .../doc/mongoc_bulkwritereturn_t.rst | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 src/libmongoc/doc/mongoc_bulkwritereturn_t.rst diff --git a/src/libmongoc/doc/mongoc_bulkwritereturn_t.rst b/src/libmongoc/doc/mongoc_bulkwritereturn_t.rst new file mode 100644 index 00000000000..b5895005485 --- /dev/null +++ b/src/libmongoc/doc/mongoc_bulkwritereturn_t.rst @@ -0,0 +1,30 @@ +:man_page: mongoc_bulkwritereturn_t + +mongoc_bulkwritereturn_t +======================== + +Synopsis +-------- + +.. code-block:: c + + typedef struct { + mongoc_bulkwriteresult_t *res; // NULL if write was unacknowledged. + mongoc_bulkwriteexception_t *exc; // NULL if no error. + } mongoc_bulkwritereturn_t; + +Description +----------- + +:symbol:`mongoc_bulkwritereturn_t` is returned by :symbol:`mongoc_bulkwrite_execute`. + +``res`` or ``exc`` may outlive the :symbol:`mongoc_bulkwrite_t` that was executed. + +``res`` is NULL if the :symbol:`mongoc_bulkwrite_t` was executed with an unacknowledged write concern. + +``res`` must be freed with :symbol:`mongoc_bulkwriteresult_destroy`. + +``exc`` is NULL if no error occurred. + +``exc`` must be freed with :symbol:`mongoc_bulkwriteexception_destroy`. + From ac8104af48f2012b1246238d31317c0ebc555846 Mon Sep 17 00:00:00 2001 From: Kevin Albertson Date: Thu, 16 May 2024 14:44:13 -0400 Subject: [PATCH 14/18] document `mongoc_bulkwrite_t` and add blurb comparing bulk write types --- src/libmongoc/doc/api.rst | 1 + .../includes/bulkwrite-vs-bulk_operation.txt | 10 ++++ src/libmongoc/doc/mongoc_bulk_operation_t.rst | 5 ++ .../doc/mongoc_bulkwrite_destroy.rst | 17 ++++++ .../doc/mongoc_bulkwrite_execute.rst | 18 ++++++ .../doc/mongoc_bulkwrite_set_session.rst | 17 ++++++ src/libmongoc/doc/mongoc_bulkwrite_t.rst | 55 +++++++++++++++++++ 7 files changed, 123 insertions(+) create mode 100644 src/libmongoc/doc/includes/bulkwrite-vs-bulk_operation.txt create mode 100644 src/libmongoc/doc/mongoc_bulkwrite_destroy.rst create mode 100644 src/libmongoc/doc/mongoc_bulkwrite_execute.rst create mode 100644 src/libmongoc/doc/mongoc_bulkwrite_set_session.rst create mode 100644 src/libmongoc/doc/mongoc_bulkwrite_t.rst diff --git a/src/libmongoc/doc/api.rst b/src/libmongoc/doc/api.rst index 3fce8748988..1e797e119f8 100644 --- a/src/libmongoc/doc/api.rst +++ b/src/libmongoc/doc/api.rst @@ -11,6 +11,7 @@ API Reference lifecycle gridfs mongoc_auto_encryption_opts_t + mongoc_bulkwrite_t mongoc_bulkwriteopts_t mongoc_bulkwriteresult_t mongoc_bulkwriteexception_t diff --git a/src/libmongoc/doc/includes/bulkwrite-vs-bulk_operation.txt b/src/libmongoc/doc/includes/bulkwrite-vs-bulk_operation.txt new file mode 100644 index 00000000000..8fc9fe79838 --- /dev/null +++ b/src/libmongoc/doc/includes/bulkwrite-vs-bulk_operation.txt @@ -0,0 +1,10 @@ +If using MongoDB server 8.0+, prefer :symbol:`mongoc_bulkwrite_t` over :symbol:`mongoc_bulk_operation_t` to reduce +network round trips. + +:symbol:`mongoc_bulkwrite_t` uses the ``bulkWrite`` server command introduced in MongoDB server 8.0. ``bulkWrite`` +command supports insert, update, and delete operations in the same payload. ``bulkWrite`` supports use of multiple +collection namespaces in the same payload. + +:symbol:`mongoc_bulk_operation_t` uses the ``insert``, ``update`` and ``delete`` server commands available in all +current MongoDB server versions. Write operations are grouped by type (insert, update, delete) and sent in separate +commands. Only one collection may be specified per bulk write. diff --git a/src/libmongoc/doc/mongoc_bulk_operation_t.rst b/src/libmongoc/doc/mongoc_bulk_operation_t.rst index ffdca14ebfd..2b40279e6a1 100644 --- a/src/libmongoc/doc/mongoc_bulk_operation_t.rst +++ b/src/libmongoc/doc/mongoc_bulk_operation_t.rst @@ -23,6 +23,11 @@ After adding all of the write operations to the ``mongoc_bulk_operation_t``, cal .. seealso:: | `Bulk Write Operations `_ + | :symbol:`mongoc_bulkwrite_t` + +.. note:: + + .. include:: includes/bulkwrite-vs-bulk_operation.txt .. only:: html diff --git a/src/libmongoc/doc/mongoc_bulkwrite_destroy.rst b/src/libmongoc/doc/mongoc_bulkwrite_destroy.rst new file mode 100644 index 00000000000..fba7252f6b0 --- /dev/null +++ b/src/libmongoc/doc/mongoc_bulkwrite_destroy.rst @@ -0,0 +1,17 @@ +:man_page: mongoc_bulkwrite_destroy + +mongoc_bulkwrite_destroy() +========================== + +Synopsis +-------- + +.. code-block:: c + + void + mongoc_bulkwrite_destroy (mongoc_bulkwrite_t *self); + +Description +----------- + +Frees a :symbol:`mongoc_bulkwrite_t`. diff --git a/src/libmongoc/doc/mongoc_bulkwrite_execute.rst b/src/libmongoc/doc/mongoc_bulkwrite_execute.rst new file mode 100644 index 00000000000..ccaea6b2a7c --- /dev/null +++ b/src/libmongoc/doc/mongoc_bulkwrite_execute.rst @@ -0,0 +1,18 @@ +:man_page: mongoc_bulkwrite_execute + +mongoc_bulkwrite_execute() +========================== + +Synopsis +-------- + +.. code-block:: c + + mongoc_bulkwritereturn_t + mongoc_bulkwrite_execute (mongoc_bulkwrite_t *self, const mongoc_bulkwriteopts_t *opts); + +Description +----------- + +Executes a :symbol:`mongoc_bulkwrite_t`. Once executed, it is an error to call other functions on ``self`` aside from +:symbol:`mongoc_bulkwrite_destroy`. diff --git a/src/libmongoc/doc/mongoc_bulkwrite_set_session.rst b/src/libmongoc/doc/mongoc_bulkwrite_set_session.rst new file mode 100644 index 00000000000..5d3b410e96e --- /dev/null +++ b/src/libmongoc/doc/mongoc_bulkwrite_set_session.rst @@ -0,0 +1,17 @@ +:man_page: mongoc_bulkwrite_set_session + +mongoc_bulkwrite_set_session() +============================== + +Synopsis +-------- + +.. code-block:: c + + void + mongoc_bulkwrite_set_session (mongoc_bulkwrite_t *self, mongoc_client_session_t *session); + +Description +----------- + +Sets an explicit session. diff --git a/src/libmongoc/doc/mongoc_bulkwrite_t.rst b/src/libmongoc/doc/mongoc_bulkwrite_t.rst new file mode 100644 index 00000000000..8d2cce9f8ac --- /dev/null +++ b/src/libmongoc/doc/mongoc_bulkwrite_t.rst @@ -0,0 +1,55 @@ +:man_page: mongoc_bulkwrite_t + +mongoc_bulkwrite_t +================== + +Synopsis +-------- + +.. code-block:: c + + typedef struct _mongoc_bulkwrite_t mongoc_bulkwrite_t; + +Description +----------- + +:symbol:`mongoc_bulkwrite_t` provides an abstraction for submitting multiple write operations as a single batch. + +After adding all of the write operations to the :symbol:`mongoc_bulkwrite_t`, call :symbol:`mongoc_bulkwrite_execute()` +to execute the operation. + +.. warning:: + + It is only valid to call :symbol:`mongoc_bulkwrite_execute()` once. The :symbol:`mongoc_bulkwrite_t` must be destroyed + afterwards. + +.. note:: + + .. include:: includes/bulkwrite-vs-bulk_operation.txt + +.. only:: html + + API + --- + + .. toctree:: + :titlesonly: + :maxdepth: 1 + + + mongoc_bulkwrite_insertoneopts_t + mongoc_bulkwrite_append_insertone + mongoc_bulkwrite_updateoneopts_t + mongoc_bulkwrite_append_updateone + mongoc_bulkwrite_updatemanyopts_t + mongoc_bulkwrite_append_updatemany + mongoc_bulkwrite_replaceoneopts_t + mongoc_bulkwrite_append_replaceone + mongoc_bulkwrite_deleteoneopts_t + mongoc_bulkwrite_append_deleteone + mongoc_bulkwrite_deletemanyopts_t + mongoc_bulkwrite_append_deletemany + mongoc_bulkwritereturn_t + mongoc_bulkwrite_set_session + mongoc_bulkwrite_execute + mongoc_bulkwrite_destroy From ca5001e2f5f5c48e9b24157dac5b52fd65554a50 Mon Sep 17 00:00:00 2001 From: Kevin Albertson Date: Thu, 16 May 2024 15:32:47 -0400 Subject: [PATCH 15/18] make `mongo_bulk_operation_t` more consistent with `mongoc_bulkwrite_t` --- src/libmongoc/doc/mongoc_bulk_operation_t.rst | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/libmongoc/doc/mongoc_bulk_operation_t.rst b/src/libmongoc/doc/mongoc_bulk_operation_t.rst index 2b40279e6a1..6e5bb1facd3 100644 --- a/src/libmongoc/doc/mongoc_bulk_operation_t.rst +++ b/src/libmongoc/doc/mongoc_bulk_operation_t.rst @@ -12,9 +12,13 @@ Synopsis typedef struct _mongoc_bulk_operation_t mongoc_bulk_operation_t; -The opaque type ``mongoc_bulk_operation_t`` provides an abstraction for submitting multiple write operations as a single batch. +Description +----------- -After adding all of the write operations to the ``mongoc_bulk_operation_t``, call :symbol:`mongoc_bulk_operation_execute()` to execute the operation. +:symbol:`mongoc_bulk_operation_t` provides an abstraction for submitting multiple write operations as a single batch. + +After adding all of the write operations to the :symbol:`mongoc_bulk_operation_t`, call +:symbol:`mongoc_bulk_operation_execute()` to execute the operation. .. warning:: From df85ff3f77488d7c6feaf6299166afd2a9caf167 Mon Sep 17 00:00:00 2001 From: Kevin Albertson Date: Thu, 16 May 2024 15:52:23 -0400 Subject: [PATCH 16/18] document use of `sphinx-autobuild` --- CONTRIBUTING.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 15dcbf19d99..1f8fa771374 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -127,6 +127,12 @@ documentation to be generated: ./tools/poetry.sh run sphinx-build -WEn -bhtml src/libmongoc/doc/ src/libmongoc/doc/html ``` +`sphinx-autobuild` can be used to serve docs locally. This can be convienient when editing. Files are rebuilt +when changes are detected: + +```sh +./tools/poetry.sh run sphinx-autobuild -b html src/libmongoc/doc/ src/libmongoc/doc/html --re-ignore ".*.pickle" --re-ignore ".*.doctree" -j auto +``` ### Testing From 7ae8973a05bffc6cc54f9f7e3f8f695bf9007c1b Mon Sep 17 00:00:00 2001 From: Kevin Albertson Date: Fri, 17 May 2024 10:01:56 -0400 Subject: [PATCH 17/18] fix typo of `convenient` MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Roberto C. Sánchez --- CONTRIBUTING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 1f8fa771374..032a0ac4987 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -127,7 +127,7 @@ documentation to be generated: ./tools/poetry.sh run sphinx-build -WEn -bhtml src/libmongoc/doc/ src/libmongoc/doc/html ``` -`sphinx-autobuild` can be used to serve docs locally. This can be convienient when editing. Files are rebuilt +`sphinx-autobuild` can be used to serve docs locally. This can be convenient when editing. Files are rebuilt when changes are detected: ```sh From eae96135e2971afe245d9dae28744d77aa41f9d8 Mon Sep 17 00:00:00 2001 From: Kevin Albertson Date: Fri, 17 May 2024 10:03:24 -0400 Subject: [PATCH 18/18] add missing comma MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Roberto C. Sánchez --- src/libmongoc/doc/mongoc_bulkwrite_execute.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libmongoc/doc/mongoc_bulkwrite_execute.rst b/src/libmongoc/doc/mongoc_bulkwrite_execute.rst index ccaea6b2a7c..2bcd0badbe4 100644 --- a/src/libmongoc/doc/mongoc_bulkwrite_execute.rst +++ b/src/libmongoc/doc/mongoc_bulkwrite_execute.rst @@ -14,5 +14,5 @@ Synopsis Description ----------- -Executes a :symbol:`mongoc_bulkwrite_t`. Once executed, it is an error to call other functions on ``self`` aside from +Executes a :symbol:`mongoc_bulkwrite_t`. Once executed, it is an error to call other functions on ``self``, aside from :symbol:`mongoc_bulkwrite_destroy`.