/* * Copyright (C) 2022-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/statements/select_statement.hh" namespace cql3 { namespace statements { namespace broadcast_tables { struct prepared_select { expr::expression key; }; } class strongly_consistent_select_statement : public select_statement { const broadcast_tables::prepared_select _query; broadcast_tables::prepared_select prepare_query() const; public: strongly_consistent_select_statement(schema_ptr schema, uint32_t bound_terms, lw_shared_ptr parameters, ::shared_ptr selection, ::shared_ptr restrictions, ::shared_ptr> group_by_cell_indices, bool is_reversed, ordering_comparator_type ordering_comparator, std::optional limit, std::optional per_partition_limit, cql_stats &stats, std::unique_ptr attrs); virtual future<::shared_ptr> execute_without_checking_exception_message(query_processor& qp, service::query_state& qs, const query_options& options, std::optional guard) const override; }; } }