Drop the AGPL license in favor of a source-available license. See the blog post [1] for details. [1] https://www.scylladb.com/2024/12/18/why-were-moving-to-a-source-available-license/
36 lines
882 B
C++
36 lines
882 B
C++
/*
|
|
* Copyright (C) 2017-present ScyllaDB
|
|
*
|
|
* Modified by ScyllaDB
|
|
*/
|
|
|
|
/*
|
|
* SPDX-License-Identifier: (LicenseRef-ScyllaDB-Source-Available-1.0 and Apache-2.0)
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#include "cql3/statements/index_target.hh"
|
|
|
|
namespace secondary_index {
|
|
|
|
struct target_parser {
|
|
struct target_info {
|
|
std::vector<const column_definition*> pk_columns;
|
|
std::vector<const column_definition*> ck_columns;
|
|
cql3::statements::index_target::target_type type;
|
|
};
|
|
|
|
static target_info parse(schema_ptr schema, const index_metadata& im);
|
|
|
|
static target_info parse(schema_ptr schema, const sstring& target);
|
|
|
|
static bool is_local(sstring target_string);
|
|
|
|
static sstring get_target_column_name_from_string(const sstring& targets);
|
|
|
|
static sstring serialize_targets(const std::vector<::shared_ptr<cql3::statements::index_target>>& targets);
|
|
};
|
|
|
|
}
|