/* * Copyright (C) 2016-present ScyllaDB * * Modified by ScyllaDB */ /* * SPDX-License-Identifier: (LicenseRef-ScyllaDB-Source-Available-1.1 and Apache-2.0) */ #include "utils/assert.hh" #include "cql3/column_specification.hh" #include "cql3/column_identifier.hh" namespace cql3 { column_specification::column_specification(std::string_view ks_name_, std::string_view cf_name_, ::shared_ptr name_, data_type type_) : ks_name(ks_name_) , cf_name(cf_name_) , name(name_) , type(type_) { } bool column_specification::all_in_same_table(const std::vector>& names) { throwing_assert(!names.empty()); auto first = names.front(); return std::all_of(std::next(names.begin()), names.end(), [first] (auto&& spec) { return spec->ks_name == first->ks_name && spec->cf_name == first->cf_name; }); } lw_shared_ptr make_column_spec(std::string_view ks_name, std::string_view cf_name, sstring name, data_type type) { return make_lw_shared( ks_name, cf_name, ::make_shared(std::move(name), true), std::move(type)); } }