/* * Copyright (C) 2021-present ScyllaDB */ /* * SPDX-License-Identifier: LicenseRef-ScyllaDB-Source-Available-1.0 */ #pragma once #include #include "cql3/statements/service_level_statement.hh" #include "cql3/statements/sl_prop_defs.hh" #include "service/qos/qos_common.hh" namespace cql3 { namespace statements { class create_service_level_statement final : public service_level_statement { sstring _service_level; qos::service_level_options _slo; bool _if_not_exists; public: create_service_level_statement(sstring service_level, shared_ptr attrs, bool if_not_exists); std::unique_ptr prepare(data_dictionary::database db, cql_stats &stats) override; virtual future<> check_access(query_processor& qp, const service::client_state&) const override; virtual future<::shared_ptr> execute(query_processor&, service::query_state&, const query_options&, std::optional guard) const override; }; } }