migration_manager: add prepare_function_drop_announcement() function

The function only generates mutations for the announcement, but does not
send them out. Will be used by the later patches.
This commit is contained in:
Gleb Natapov
2021-11-24 10:53:39 +02:00
parent 9d1d54bc93
commit 25ae8a6376
2 changed files with 7 additions and 3 deletions

View File

@@ -778,12 +778,15 @@ future<> migration_manager::announce_new_function(shared_ptr<cql3::functions::us
co_return co_await announce(co_await prepare_new_function_announcement(std::move(func)));
}
future<> migration_manager::announce_function_drop(
shared_ptr<cql3::functions::user_function> func) {
future<std::vector<mutation>> migration_manager::prepare_function_drop_announcement(shared_ptr<cql3::functions::user_function> func) {
auto& db = get_local_storage_proxy().get_db().local();
auto&& keyspace = db.find_keyspace(func->name().keyspace);
auto mutations = db::schema_tables::make_drop_function_mutations(func, api::new_timestamp());
return include_keyspace_and_announce(*keyspace.metadata(), std::move(mutations));
return include_keyspace(*keyspace.metadata(), std::move(mutations));
}
future<> migration_manager::announce_function_drop(shared_ptr<cql3::functions::user_function> func) {
co_return co_await announce(co_await prepare_function_drop_announcement(std::move(func)));
}
future<std::vector<mutation>> migration_manager::prepare_new_aggregate_announcement(shared_ptr<cql3::functions::user_aggregate> aggregate) {

View File

@@ -156,6 +156,7 @@ public:
future<std::vector<mutation>> prepare_new_aggregate_announcement(shared_ptr<cql3::functions::user_aggregate> aggregate);
future<> announce_function_drop(shared_ptr<cql3::functions::user_function> func);
future<std::vector<mutation>> prepare_function_drop_announcement(shared_ptr<cql3::functions::user_function> func);
future<> announce_aggregate_drop(shared_ptr<cql3::functions::user_aggregate> aggregate);