diff --git a/NEWS b/NEWS index 3a6e5d5a79..b2fc6b287f 100644 --- a/NEWS +++ b/NEWS @@ -97,6 +97,9 @@ Unreleased (2.0.0) * Deprecated API for `mongoc_database_t` is removed: * `mongoc_database_find_collections` is removed. Use `mongoc_database_find_collections_with_opts` instead. * `mongoc_database_get_collection_names` is removed. Use `mongoc_database_get_collection_names_with_opts` instead. +* Deprecated GridFS API has been removed: + * `mongoc_gridfs_find` is removed. Use `mongoc_gridfs_find_with_opts` instead. + * `mongoc_gridfs_find_one` is removed. Use `mongoc_gridfs_find_one_with_opts` instead. ### Forwarding headers (`#include ` and `#include `) diff --git a/build/generate-future-functions.py b/build/generate-future-functions.py index 5465efe15e..a4088e2c2d 100644 --- a/build/generate-future-functions.py +++ b/build/generate-future-functions.py @@ -399,12 +399,6 @@ param("size_t", "min_bytes"), param("uint32_t", "timeout_msec")]), - future_function("mongoc_gridfs_file_ptr", - "mongoc_gridfs_find_one", - [param("mongoc_gridfs_ptr", "gridfs"), - param("const_bson_ptr", "query"), - param("bson_error_ptr", "error")]), - future_function("bool", "mongoc_gridfs_file_remove", [param("mongoc_gridfs_file_ptr", "file"), diff --git a/src/libmongoc/doc/mongoc_gridfs_file_list_t.rst b/src/libmongoc/doc/mongoc_gridfs_file_list_t.rst index 19281021c9..dce76afe7a 100644 --- a/src/libmongoc/doc/mongoc_gridfs_file_list_t.rst +++ b/src/libmongoc/doc/mongoc_gridfs_file_list_t.rst @@ -25,7 +25,7 @@ Example mongoc_gridfs_file_list_t *list; mongoc_gridfs_file_t *file; - list = mongoc_gridfs_find (gridfs, query); + list = mongoc_gridfs_find_with_opts (gridfs, query, NULL); while ((file = mongoc_gridfs_file_list_next (list))) { do_something (file); diff --git a/src/libmongoc/doc/mongoc_gridfs_find.rst b/src/libmongoc/doc/mongoc_gridfs_find.rst deleted file mode 100644 index feac210978..0000000000 --- a/src/libmongoc/doc/mongoc_gridfs_find.rst +++ /dev/null @@ -1,37 +0,0 @@ -:man_page: mongoc_gridfs_find - -mongoc_gridfs_find() -==================== - -.. warning:: - .. deprecated:: 1.5.0 - - This function is deprecated, use :symbol:`mongoc_gridfs_find_with_opts` instead. - -Synopsis --------- - -.. code-block:: c - - mongoc_gridfs_file_list_t * - mongoc_gridfs_find (mongoc_gridfs_t *gridfs, - const bson_t *query); - -Parameters ----------- - -* ``gridfs``: A :symbol:`mongoc_gridfs_t`. -* ``query``: A :symbol:`bson:bson_t`. - -Description ------------ - -Finds all gridfs files matching ``query``. You can iterate the matched gridfs files with the resulting file list. - -.. include:: includes/retryable-read.txt - -Returns -------- - -A newly allocated :symbol:`mongoc_gridfs_file_list_t` that should be freed with :symbol:`mongoc_gridfs_file_list_destroy()` when no longer in use. - diff --git a/src/libmongoc/doc/mongoc_gridfs_find_one.rst b/src/libmongoc/doc/mongoc_gridfs_find_one.rst deleted file mode 100644 index 2912178426..0000000000 --- a/src/libmongoc/doc/mongoc_gridfs_find_one.rst +++ /dev/null @@ -1,44 +0,0 @@ -:man_page: mongoc_gridfs_find_one - -mongoc_gridfs_find_one() -======================== - -.. warning:: - .. deprecated:: 1.5.0 - - This function is deprecated, use :symbol:`mongoc_gridfs_find_one_with_opts` instead. - -Synopsis --------- - -.. code-block:: c - - mongoc_gridfs_file_t * - mongoc_gridfs_find_one (mongoc_gridfs_t *gridfs, - const bson_t *query, - bson_error_t *error); - -Parameters ----------- - -* ``gridfs``: A :symbol:`mongoc_gridfs_t`. -* ``query``: A :symbol:`bson:bson_t`. -* ``error``: An optional location for a :symbol:`bson_error_t ` or ``NULL``. - -Description ------------ - -This function shall execute a query on the underlying gridfs implementation. The first file matching ``query`` will be returned. If there is an error, NULL is returned and ``error`` is filled out; if there is no error but no matching file is found, NULL is returned and the error code and domain are 0. - -.. include:: includes/retryable-read.txt - -Errors ------- - -Errors are propagated via the ``error`` parameter. - -Returns -------- - -A newly allocated :symbol:`mongoc_gridfs_file_t` or ``NULL`` if no file could be found. You must free the resulting file with :symbol:`mongoc_gridfs_file_destroy()` if non-NULL. - diff --git a/src/libmongoc/doc/mongoc_gridfs_t.rst b/src/libmongoc/doc/mongoc_gridfs_t.rst index 616abba2f8..bfd557a5b7 100644 --- a/src/libmongoc/doc/mongoc_gridfs_t.rst +++ b/src/libmongoc/doc/mongoc_gridfs_t.rst @@ -65,8 +65,6 @@ Example mongoc_gridfs_create_file_from_stream mongoc_gridfs_destroy mongoc_gridfs_drop - mongoc_gridfs_find - mongoc_gridfs_find_one mongoc_gridfs_find_one_by_filename mongoc_gridfs_find_one_with_opts mongoc_gridfs_find_with_opts diff --git a/src/libmongoc/src/mongoc/mongoc-gridfs.c b/src/libmongoc/src/mongoc/mongoc-gridfs.c index 1f493b4328..91c63e9c0c 100644 --- a/src/libmongoc/src/mongoc/mongoc-gridfs.c +++ b/src/libmongoc/src/mongoc/mongoc-gridfs.c @@ -174,37 +174,6 @@ mongoc_gridfs_destroy (mongoc_gridfs_t *gridfs) } -/** find all matching gridfs files */ -mongoc_gridfs_file_list_t * -mongoc_gridfs_find (mongoc_gridfs_t *gridfs, const bson_t *query) -{ - return _mongoc_gridfs_file_list_new (gridfs, query, 0); -} - - -/** find a single gridfs file */ -mongoc_gridfs_file_t * -mongoc_gridfs_find_one (mongoc_gridfs_t *gridfs, const bson_t *query, bson_error_t *error) -{ - mongoc_gridfs_file_list_t *list; - mongoc_gridfs_file_t *file; - - ENTRY; - - list = _mongoc_gridfs_file_list_new (gridfs, query, 1); - - file = mongoc_gridfs_file_list_next (list); - if (!mongoc_gridfs_file_list_error (list, error) && error) { - /* no error, but an error out-pointer was provided - clear it */ - memset (error, 0, sizeof (*error)); - } - - mongoc_gridfs_file_list_destroy (list); - - RETURN (file); -} - - /** find all matching gridfs files */ mongoc_gridfs_file_list_t * mongoc_gridfs_find_with_opts (mongoc_gridfs_t *gridfs, const bson_t *filter, const bson_t *opts) diff --git a/src/libmongoc/src/mongoc/mongoc-gridfs.h b/src/libmongoc/src/mongoc/mongoc-gridfs.h index 6fb2fba5c3..c957449f52 100644 --- a/src/libmongoc/src/mongoc/mongoc-gridfs.h +++ b/src/libmongoc/src/mongoc/mongoc-gridfs.h @@ -40,15 +40,6 @@ mongoc_gridfs_create_file_from_stream (mongoc_gridfs_t *gridfs, mongoc_stream_t MONGOC_EXPORT (mongoc_gridfs_file_t *) mongoc_gridfs_create_file (mongoc_gridfs_t *gridfs, mongoc_gridfs_file_opt_t *opt) BSON_GNUC_WARN_UNUSED_RESULT; -BSON_DEPRECATED_FOR (mongoc_gridfs_find_with_opts) -MONGOC_EXPORT (mongoc_gridfs_file_list_t *) mongoc_gridfs_find (mongoc_gridfs_t *gridfs, const bson_t *query) - BSON_GNUC_WARN_UNUSED_RESULT; - -BSON_DEPRECATED_FOR (mongoc_gridfs_find_one_with_opts) -MONGOC_EXPORT (mongoc_gridfs_file_t *) - mongoc_gridfs_find_one (mongoc_gridfs_t *gridfs, const bson_t *query, bson_error_t *error) - BSON_GNUC_WARN_UNUSED_RESULT; - MONGOC_EXPORT (mongoc_gridfs_file_list_t *) mongoc_gridfs_find_with_opts (mongoc_gridfs_t *gridfs, const bson_t *filter, const bson_t *opts) BSON_GNUC_WARN_UNUSED_RESULT; diff --git a/src/libmongoc/tests/mock_server/future-functions.c b/src/libmongoc/tests/mock_server/future-functions.c index 50a8a7f10a..e6c424cc78 100644 --- a/src/libmongoc/tests/mock_server/future-functions.c +++ b/src/libmongoc/tests/mock_server/future-functions.c @@ -851,27 +851,6 @@ BSON_THREAD_FUN (background_mongoc_gridfs_file_readv, data) BSON_THREAD_RETURN; } -static -BSON_THREAD_FUN (background_mongoc_gridfs_find_one, data) -{ - future_t *future = (future_t *) data; - future_value_t return_value; - - return_value.type = future_value_mongoc_gridfs_file_ptr_type; - - future_value_set_mongoc_gridfs_file_ptr ( - &return_value, - mongoc_gridfs_find_one ( - future_value_get_mongoc_gridfs_ptr (future_get_param (future, 0)), - future_value_get_const_bson_ptr (future_get_param (future, 1)), - future_value_get_bson_error_ptr (future_get_param (future, 2)) - )); - - future_resolve (future, return_value); - - BSON_THREAD_RETURN; -} - static BSON_THREAD_FUN (background_mongoc_gridfs_file_remove, data) { @@ -2304,28 +2283,6 @@ future_gridfs_file_readv ( return future; } -future_t * -future_gridfs_find_one ( - mongoc_gridfs_ptr gridfs, - const_bson_ptr query, - bson_error_ptr error) -{ - future_t *future = future_new (future_value_mongoc_gridfs_file_ptr_type, - 3); - - future_value_set_mongoc_gridfs_ptr ( - future_get_param (future, 0), gridfs); - - future_value_set_const_bson_ptr ( - future_get_param (future, 1), query); - - future_value_set_bson_error_ptr ( - future_get_param (future, 2), error); - - future_start (future, background_mongoc_gridfs_find_one); - return future; -} - future_t * future_gridfs_file_remove ( mongoc_gridfs_file_ptr file, diff --git a/src/libmongoc/tests/mock_server/future-functions.h b/src/libmongoc/tests/mock_server/future-functions.h index 377f5d6139..1a46c21a56 100644 --- a/src/libmongoc/tests/mock_server/future-functions.h +++ b/src/libmongoc/tests/mock_server/future-functions.h @@ -408,15 +408,6 @@ future_gridfs_file_readv ( ); -future_t * -future_gridfs_find_one ( - - mongoc_gridfs_ptr gridfs, - const_bson_ptr query, - bson_error_ptr error -); - - future_t * future_gridfs_file_remove ( diff --git a/src/libmongoc/tests/test-mongoc-gridfs.c b/src/libmongoc/tests/test-mongoc-gridfs.c index def92107e4..328a81d369 100644 --- a/src/libmongoc/tests/test-mongoc-gridfs.c +++ b/src/libmongoc/tests/test-mongoc-gridfs.c @@ -275,7 +275,7 @@ test_list (void) mongoc_client_t *client; bson_error_t error; mongoc_gridfs_file_list_t *list; - bson_t query, child; + bson_t query, opts, child; char buf[100]; int i = 0; @@ -287,14 +287,14 @@ test_list (void) prep_files (gridfs); bson_init (&query); - bson_append_document_begin (&query, "$orderby", -1, &child); + bson_init (&opts); + bson_append_document_begin (&opts, "sort", -1, &child); bson_append_int32 (&child, "filename", -1, 1); - bson_append_document_end (&query, &child); - bson_append_document_begin (&query, "$query", -1, &child); - bson_append_document_end (&query, &child); + bson_append_document_end (&opts, &child); - list = mongoc_gridfs_find (gridfs, &query); + list = mongoc_gridfs_find_with_opts (gridfs, &query, NULL); + bson_destroy (&opts); bson_destroy (&query); i = 0; @@ -310,7 +310,7 @@ test_list (void) bson_init (&query); bson_append_utf8 (&query, "filename", -1, "file.1", -1); - ASSERT_OR_PRINT (file = mongoc_gridfs_find_one (gridfs, &query, &error), error); + ASSERT_OR_PRINT (file = mongoc_gridfs_find_one_with_opts (gridfs, &query, NULL, &error), error); bson_destroy (&query); ASSERT_CMPINT (strcmp (mongoc_gridfs_file_get_filename (file), "file.1"), ==, 0); @@ -494,7 +494,7 @@ test_properties (void) ASSERT (mongoc_collection_insert_one (mongoc_gridfs_get_files (gridfs), doc_in, NULL, NULL, NULL)); - list = mongoc_gridfs_find (gridfs, &query); + list = mongoc_gridfs_find_with_opts (gridfs, &query, NULL); file = mongoc_gridfs_file_list_next (list); file_id = mongoc_gridfs_file_get_id (file); ASSERT (file_id); @@ -859,7 +859,7 @@ test_write_past_end (void) ASSERT (mlib_cmp (expected_chunks, ==, cnt)); mongoc_gridfs_file_destroy (file); - file = mongoc_gridfs_find_one (gridfs, tmp_bson (NULL), &error); + file = mongoc_gridfs_find_one_with_opts (gridfs, tmp_bson (NULL), NULL, &error); ASSERT_OR_PRINT (file, error); BSON_ASSERT (mlib_in_range (size_t, delta + len)); @@ -1021,7 +1021,7 @@ test_long_seek (void *ctx) /* new file handle */ mongoc_gridfs_file_save (file); mongoc_gridfs_file_destroy (file); - file = mongoc_gridfs_find_one (gridfs, tmp_bson ("{'filename': 'filename'}"), &error); + file = mongoc_gridfs_find_one_with_opts (gridfs, tmp_bson ("{'filename': 'filename'}"), NULL, &error); ASSERT_OR_PRINT (file, error); @@ -1306,7 +1306,7 @@ test_set_id (void) /* if we find a file with new id, then file_set_id worked */ ASSERT_OR_PRINT (mongoc_gridfs_file_set_id (file, &id, &error), error); ASSERT (mongoc_gridfs_file_save (file)); - result = mongoc_gridfs_find_one (gridfs, query, &error); + result = mongoc_gridfs_find_one_with_opts (gridfs, query, NULL, &error); ASSERT_OR_PRINT (result, error); mongoc_gridfs_file_destroy (result); @@ -1352,7 +1352,7 @@ test_inherit_client_config (void) gridfs = _get_gridfs (server, client, MONGOC_QUERY_NONE); /* test read prefs and read concern */ - future = future_gridfs_find_one (gridfs, tmp_bson ("{}"), &error); + future = future_gridfs_find_one_with_opts (gridfs, tmp_bson ("{}"), NULL, &error); request = mock_server_receives_msg (server, MONGOC_MSG_NONE, tmp_bson ("{'$db': 'db'," @@ -1406,7 +1406,7 @@ test_find_one_empty (void) client = test_framework_new_default_client (); gridfs = get_test_gridfs (client, "list", &error); ASSERT_OR_PRINT (gridfs, error); - ASSERT (!mongoc_gridfs_find_one (gridfs, tmp_bson ("{'x': 'doesntexist'}"), &error)); + ASSERT (!mongoc_gridfs_find_one_with_opts (gridfs, tmp_bson ("{'x': 'doesntexist'}"), NULL, &error)); /* ensure "error" is cleared if we successfully find no file */ ASSERT_CMPUINT32 (error.domain, ==, 0);