/* * Copyright (C) 2015-present ScyllaDB * * Modified by ScyllaDB */ /* * SPDX-License-Identifier: (LicenseRef-ScyllaDB-Source-Available-1.0 and Apache-2.0) */ #pragma once #include "cql3/expr/expression.hh" #include "cql3/column_identifier.hh" #include "data_dictionary/data_dictionary.hh" namespace cql3 { namespace selection { struct prepared_selector; class raw_selector { public: const expr::expression selectable_; const ::shared_ptr alias; raw_selector(expr::expression selectable__, shared_ptr alias_) : selectable_{std::move(selectable__)} , alias{alias_} { } /** * Converts the specified list of RawSelectors into a list of Selectables. * * @param raws the RawSelectors to converts. * @return a list of Selectables */ static std::vector to_prepared_selectors(const std::vector<::shared_ptr>& raws, const schema& schema, data_dictionary::database db, const sstring& ks); }; } }