Skip to content

Commit 1b6b6d4

Browse files
authored
CDRIVER-5949 remove deprecated database API (#1960)
* remove `mongoc_database_find_collections` * remove `mongoc_database_get_collection_names`
1 parent 7deb768 commit 1b6b6d4

File tree

7 files changed

+6
-204
lines changed

7 files changed

+6
-204
lines changed

NEWS

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -64,11 +64,6 @@ Unreleased (2.0.0)
6464
* `mongoc_client_find_databases` is removed. Use `mongoc_client_find_databases_with_opts` instead.
6565
* `mongoc_client_get_max_message_size` is removed.
6666
* `mongoc_client_get_max_bson_size` is removed.
67-
* Deprecated API for `mongoc_bulk_operation_t` is removed:
68-
* `mongoc_bulk_operation_delete` is removed. Use `mongoc_bulk_operation_remove()` instead.
69-
* `mongoc_bulk_operation_delete_one` is removed. Use `mongoc_bulk_operation_remove_one` instead.
70-
* `mongoc_bulk_operation_get_hint` is removed. Use `mongoc_bulk_operation_get_server_id` instead.
71-
* `mongoc_bulk_operation_set_hint` is removed. Use `mongoc_bulk_operation_set_server_id` instead.
7267
* Deprecated `mongoc_apm_command_*_get_server_connection_id` functions are removed. Use `mongoc_apm_command_*_get_server_connection_id_int64` instead.
7368
* Deprecated index management API is removed:
7469
* `mongoc_collection_create_index_with_opts`, `mongoc_collection_create_index`, and `mongoc_collection_ensure_index` are removed. Use `mongoc_collection_create_indexes_with_opts` instead.
@@ -99,6 +94,9 @@ Unreleased (2.0.0)
9994
* `mongoc_bulk_operation_t`
10095
* `mongoc_collection_stats` is removed. Use the [$collStats aggregation pipeline stage](https://www.mongodb.com/docs/manual/reference/operator/aggregation/collStats/) with `mongoc_collection_aggregate` instead.
10196
* `mongoc_collection_validate` is removed. Run the [validate](https://www.mongodb.com/docs/manual/reference/command/validate/) command directly with `mongoc_client_read_command_with_opts` instead.
97+
* Deprecated API for `mongoc_database_t` is removed:
98+
* `mongoc_database_find_collections` is removed. Use `mongoc_database_find_collections_with_opts` instead.
99+
* `mongoc_database_get_collection_names` is removed. Use `mongoc_database_get_collection_names_with_opts` instead.
102100

103101
### Forwarding headers (`#include <bson.h>` and `#include <mongoc.h>`)
104102

src/libmongoc/doc/mongoc_database_find_collections.rst

Lines changed: 0 additions & 47 deletions
This file was deleted.

src/libmongoc/doc/mongoc_database_get_collection_names.rst

Lines changed: 0 additions & 41 deletions
This file was deleted.

src/libmongoc/doc/mongoc_database_t.rst

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,10 +34,8 @@ Read preferences and write concerns are inherited from the parent client. They c
3434
mongoc_database_destroy
3535
mongoc_database_drop
3636
mongoc_database_drop_with_opts
37-
mongoc_database_find_collections
3837
mongoc_database_find_collections_with_opts
3938
mongoc_database_get_collection
40-
mongoc_database_get_collection_names
4139
mongoc_database_get_collection_names_with_opts
4240
mongoc_database_get_name
4341
mongoc_database_get_read_concern

src/libmongoc/src/mongoc/mongoc-database.c

Lines changed: 0 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -674,36 +674,6 @@ mongoc_database_has_collection (mongoc_database_t *database, const char *name, b
674674
}
675675

676676

677-
mongoc_cursor_t *
678-
mongoc_database_find_collections (mongoc_database_t *database, const bson_t *filter, bson_error_t *error)
679-
{
680-
bson_t opts = BSON_INITIALIZER;
681-
mongoc_cursor_t *cursor;
682-
683-
BSON_ASSERT_PARAM (database);
684-
685-
if (filter) {
686-
if (!BSON_APPEND_DOCUMENT (&opts, "filter", filter)) {
687-
_mongoc_set_error (error, MONGOC_ERROR_BSON, MONGOC_ERROR_BSON_INVALID, "Invalid 'filter' parameter.");
688-
bson_destroy (&opts);
689-
return NULL;
690-
}
691-
}
692-
693-
cursor = mongoc_database_find_collections_with_opts (database, &opts);
694-
695-
bson_destroy (&opts);
696-
697-
/* this deprecated API returns NULL on error */
698-
if (mongoc_cursor_error (cursor, error)) {
699-
mongoc_cursor_destroy (cursor);
700-
return NULL;
701-
}
702-
703-
return cursor;
704-
}
705-
706-
707677
mongoc_cursor_t *
708678
mongoc_database_find_collections_with_opts (mongoc_database_t *database, const bson_t *opts)
709679
{
@@ -726,13 +696,6 @@ mongoc_database_find_collections_with_opts (mongoc_database_t *database, const b
726696
}
727697

728698

729-
char **
730-
mongoc_database_get_collection_names (mongoc_database_t *database, bson_error_t *error)
731-
{
732-
return mongoc_database_get_collection_names_with_opts (database, NULL, error);
733-
}
734-
735-
736699
char **
737700
mongoc_database_get_collection_names_with_opts (mongoc_database_t *database, const bson_t *opts, bson_error_t *error)
738701
{

src/libmongoc/src/mongoc/mongoc-database.h

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -133,19 +133,10 @@ mongoc_database_get_read_concern (const mongoc_database_t *database);
133133
MONGOC_EXPORT (void)
134134
mongoc_database_set_read_concern (mongoc_database_t *database, const mongoc_read_concern_t *read_concern);
135135

136-
BSON_DEPRECATED_FOR (mongoc_database_find_collections_with_opts)
137-
MONGOC_EXPORT (mongoc_cursor_t *)
138-
mongoc_database_find_collections (mongoc_database_t *database, const bson_t *filter, bson_error_t *error)
139-
BSON_GNUC_WARN_UNUSED_RESULT;
140-
141136
MONGOC_EXPORT (mongoc_cursor_t *)
142137
mongoc_database_find_collections_with_opts (mongoc_database_t *database, const bson_t *opts)
143138
BSON_GNUC_WARN_UNUSED_RESULT;
144139

145-
BSON_DEPRECATED_FOR (mongoc_database_get_collection_names_with_opts)
146-
MONGOC_EXPORT (char **) mongoc_database_get_collection_names (mongoc_database_t *database, bson_error_t *error)
147-
BSON_GNUC_WARN_UNUSED_RESULT;
148-
149140
MONGOC_EXPORT (char **)
150141
mongoc_database_get_collection_names_with_opts (mongoc_database_t *database, const bson_t *opts, bson_error_t *error)
151142
BSON_GNUC_WARN_UNUSED_RESULT;

src/libmongoc/tests/test-mongoc-database.c

Lines changed: 3 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -518,7 +518,6 @@ test_get_collection_info (void)
518518
bson_iter_t col_iter;
519519
bson_t capped_options = BSON_INITIALIZER;
520520
bson_t noopts_options = BSON_INITIALIZER;
521-
bson_t name_filter = BSON_INITIALIZER;
522521
const bson_t *doc;
523522
int num_infos = 0;
524523

@@ -551,19 +550,12 @@ test_get_collection_info (void)
551550
ASSERT_OR_PRINT (collection, error);
552551
mongoc_collection_destroy (collection);
553552

554-
/* first we filter on collection name. */
555-
BSON_APPEND_UTF8 (&name_filter, "name", noopts_name);
556-
557553
/* We only test with filters since get_collection_names will
558554
* test w/o filters for us. */
559555

560556
/* Filter on an exact match of name */
561-
BEGIN_IGNORE_DEPRECATIONS
562-
cursor = mongoc_database_find_collections (database, &name_filter, &error);
563-
END_IGNORE_DEPRECATIONS
557+
cursor = mongoc_database_find_collections_with_opts (database, tmp_bson ("{'filter': {'name': '%s'}}", noopts_name));
564558
BSON_ASSERT (cursor);
565-
BSON_ASSERT (!error.domain);
566-
BSON_ASSERT (!error.code);
567559

568560
while (mongoc_cursor_next (cursor, &doc)) {
569561
if (bson_iter_init (&col_iter, doc) && bson_iter_find (&col_iter, "name") && BSON_ITER_HOLDS_UTF8 (&col_iter) &&
@@ -575,6 +567,8 @@ test_get_collection_info (void)
575567
}
576568
}
577569

570+
ASSERT_OR_PRINT (!mongoc_cursor_error (cursor, &error), error);
571+
578572
BSON_ASSERT (1 == num_infos);
579573

580574
mongoc_cursor_destroy (cursor);
@@ -588,64 +582,11 @@ test_get_collection_info (void)
588582

589583
bson_destroy (&capped_options);
590584
bson_destroy (&noopts_options);
591-
bson_destroy (&name_filter);
592585

593586
mongoc_database_destroy (database);
594587
mongoc_client_destroy (client);
595588
}
596589

597-
static void
598-
test_get_collection_info_regex (void)
599-
{
600-
mongoc_database_t *database;
601-
mongoc_collection_t *collection;
602-
mongoc_client_t *client;
603-
mongoc_cursor_t *cursor;
604-
bson_error_t error = {0};
605-
bson_iter_t col_iter;
606-
bson_t name_filter = BSON_INITIALIZER;
607-
const bson_t *doc;
608-
char *dbname;
609-
610-
client = test_framework_new_default_client ();
611-
BSON_ASSERT (client);
612-
613-
dbname = gen_collection_name ("test_get_collection_info_regex");
614-
database = mongoc_client_get_database (client, dbname);
615-
mongoc_database_drop_with_opts (database, NULL, NULL);
616-
617-
collection = mongoc_database_create_collection (database, "abbbc", NULL, &error);
618-
ASSERT_OR_PRINT (collection, error);
619-
mongoc_collection_destroy (collection);
620-
621-
collection = mongoc_database_create_collection (database, "foo", NULL, &error);
622-
ASSERT_OR_PRINT (collection, error);
623-
624-
BSON_APPEND_REGEX (&name_filter, "name", "ab+c", NULL);
625-
626-
BEGIN_IGNORE_DEPRECATIONS
627-
cursor = mongoc_database_find_collections (database, &name_filter, &error);
628-
END_IGNORE_DEPRECATIONS
629-
630-
BSON_ASSERT (cursor);
631-
BSON_ASSERT (!error.domain);
632-
BSON_ASSERT (!error.code);
633-
634-
BSON_ASSERT (mongoc_cursor_next (cursor, &doc));
635-
BSON_ASSERT (bson_iter_init_find (&col_iter, doc, "name"));
636-
BSON_ASSERT (0 == strcmp (bson_iter_utf8 (&col_iter, NULL), "abbbc"));
637-
638-
/* only one match */
639-
BSON_ASSERT (!mongoc_cursor_next (cursor, &doc));
640-
ASSERT_OR_PRINT (!mongoc_cursor_error (cursor, &error), error);
641-
mongoc_cursor_destroy (cursor);
642-
643-
bson_destroy (&name_filter);
644-
mongoc_collection_destroy (collection);
645-
bson_free (dbname);
646-
mongoc_database_destroy (database);
647-
mongoc_client_destroy (client);
648-
}
649590

650591
static void
651592
test_get_collection_info_with_opts_regex (void)
@@ -986,7 +927,6 @@ test_database_install (TestSuite *suite)
986927
TestSuite_AddLive (suite, "/Database/drop", test_drop);
987928
TestSuite_AddLive (suite, "/Database/create_collection", test_create_collection);
988929
TestSuite_AddLive (suite, "/Database/get_collection_info", test_get_collection_info);
989-
TestSuite_AddLive (suite, "/Database/get_collection_info_regex", test_get_collection_info_regex);
990930
TestSuite_AddLive (suite, "/Database/get_collection_info_with_opts_regex", test_get_collection_info_with_opts_regex);
991931
TestSuite_AddMockServerTest (suite, "/Database/get_collection/getmore_cmd", test_get_collection_info_getmore_cmd);
992932
TestSuite_AddLive (suite, "/Database/get_collection", test_get_collection);

0 commit comments

Comments
 (0)