static void test_rename (void) { mongoc_collection_t *collection; mongoc_client_t *client; bson_error_t error; bson_t doc = BSON_INITIALIZER; bool r; client = mongoc_client_new (gTestUri); ASSERT (client); collection = get_test_collection (client, "test_rename"); ASSERT (collection); r = mongoc_collection_insert (collection, MONGOC_INSERT_NONE, &doc, NULL, &error); assert (r); r = mongoc_collection_rename (collection, "test", "test_rename_2", false, &error); assert (r); r = mongoc_collection_drop (collection, &error); assert (r); mongoc_collection_destroy (collection); mongoc_client_destroy (client); bson_destroy (&doc); }
SEXP R_mongo_collection_rename(SEXP ptr_col, SEXP db, SEXP name) { mongoc_collection_t *col = r2col(ptr_col); bson_error_t err; const char *new_db = NULL; if(db != R_NilValue) new_db = Rf_translateCharUTF8(Rf_asChar(db)); if(!mongoc_collection_rename(col, new_db, Rf_translateCharUTF8(Rf_asChar(name)), false, &err)) stop(err.message); return Rf_ScalarLogical(1); }