#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RoutingRules {
#[prost(message, repeated, tag = "1")]
pub rules: ::prost::alloc::vec::Vec<RoutingRule>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RoutingRule {
#[prost(string, tag = "1")]
pub from_table: ::prost::alloc::string::String,
#[prost(string, repeated, tag = "2")]
pub to_tables: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Keyspace {
#[prost(bool, tag = "1")]
pub sharded: bool,
#[prost(map = "string, message", tag = "2")]
pub vindexes: ::std::collections::HashMap<::prost::alloc::string::String, Vindex>,
#[prost(map = "string, message", tag = "3")]
pub tables: ::std::collections::HashMap<::prost::alloc::string::String, Table>,
#[prost(bool, tag = "4")]
pub require_explicit_routing: bool,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Vindex {
#[prost(string, tag = "1")]
pub r#type: ::prost::alloc::string::String,
#[prost(map = "string, string", tag = "2")]
pub params: ::std::collections::HashMap<
::prost::alloc::string::String,
::prost::alloc::string::String,
>,
#[prost(string, tag = "3")]
pub owner: ::prost::alloc::string::String,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Table {
#[prost(string, tag = "1")]
pub r#type: ::prost::alloc::string::String,
#[prost(message, repeated, tag = "2")]
pub column_vindexes: ::prost::alloc::vec::Vec<ColumnVindex>,
#[prost(message, optional, tag = "3")]
pub auto_increment: ::core::option::Option<AutoIncrement>,
#[prost(message, repeated, tag = "4")]
pub columns: ::prost::alloc::vec::Vec<Column>,
#[prost(string, tag = "5")]
pub pinned: ::prost::alloc::string::String,
#[prost(bool, tag = "6")]
pub column_list_authoritative: bool,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ColumnVindex {
#[prost(string, tag = "1")]
pub column: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub name: ::prost::alloc::string::String,
#[prost(string, repeated, tag = "3")]
pub columns: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AutoIncrement {
#[prost(string, tag = "1")]
pub column: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub sequence: ::prost::alloc::string::String,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Column {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(enumeration = "super::query::Type", tag = "2")]
pub r#type: i32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SrvVSchema {
#[prost(map = "string, message", tag = "1")]
pub keyspaces: ::std::collections::HashMap<::prost::alloc::string::String, Keyspace>,
#[prost(message, optional, tag = "2")]
pub routing_rules: ::core::option::Option<RoutingRules>,
#[prost(message, optional, tag = "3")]
pub shard_routing_rules: ::core::option::Option<ShardRoutingRules>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ShardRoutingRules {
#[prost(message, repeated, tag = "1")]
pub rules: ::prost::alloc::vec::Vec<ShardRoutingRule>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ShardRoutingRule {
#[prost(string, tag = "1")]
pub from_keyspace: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub to_keyspace: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub shard: ::prost::alloc::string::String,
}