#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DatabaseChanges {
#[prost(message, repeated, tag = "1")]
pub table_changes: ::prost::alloc::vec::Vec<TableChange>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TableChange {
#[prost(string, tag = "1")]
pub table: ::prost::alloc::string::String,
#[prost(uint64, tag = "3")]
pub ordinal: u64,
#[prost(enumeration = "table_change::Operation", tag = "4")]
pub operation: i32,
#[prost(message, repeated, tag = "5")]
pub fields: ::prost::alloc::vec::Vec<Field>,
#[prost(oneof = "table_change::PrimaryKey", tags = "2, 6")]
pub primary_key: ::core::option::Option<table_change::PrimaryKey>,
}
pub mod table_change {
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Operation {
Unspecified = 0,
Create = 1,
Update = 2,
Delete = 3,
Upsert = 4,
}
impl Operation {
pub fn as_str_name(&self) -> &'static str {
match self {
Operation::Unspecified => "OPERATION_UNSPECIFIED",
Operation::Create => "OPERATION_CREATE",
Operation::Update => "OPERATION_UPDATE",
Operation::Delete => "OPERATION_DELETE",
Operation::Upsert => "OPERATION_UPSERT",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"OPERATION_UNSPECIFIED" => Some(Self::Unspecified),
"OPERATION_CREATE" => Some(Self::Create),
"OPERATION_UPDATE" => Some(Self::Update),
"OPERATION_DELETE" => Some(Self::Delete),
"OPERATION_UPSERT" => Some(Self::Upsert),
_ => None,
}
}
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum PrimaryKey {
#[prost(string, tag = "2")]
Pk(::prost::alloc::string::String),
#[prost(message, tag = "6")]
CompositePk(super::CompositePrimaryKey),
}
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CompositePrimaryKey {
#[prost(map = "string, string", tag = "1")]
pub keys:
::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Field {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub value: ::prost::alloc::string::String,
#[prost(enumeration = "field::UpdateOp", tag = "4")]
pub update_op: i32,
}
pub mod field {
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum UpdateOp {
Unspecified = 0,
Set = 1,
Add = 2,
Max = 3,
Min = 4,
SetIfNull = 5,
}
impl UpdateOp {
pub fn as_str_name(&self) -> &'static str {
match self {
UpdateOp::Unspecified => "UPDATE_OP_UNSPECIFIED",
UpdateOp::Set => "UPDATE_OP_SET",
UpdateOp::Add => "UPDATE_OP_ADD",
UpdateOp::Max => "UPDATE_OP_MAX",
UpdateOp::Min => "UPDATE_OP_MIN",
UpdateOp::SetIfNull => "UPDATE_OP_SET_IF_NULL",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"UPDATE_OP_UNSPECIFIED" => Some(Self::Unspecified),
"UPDATE_OP_SET" => Some(Self::Set),
"UPDATE_OP_ADD" => Some(Self::Add),
"UPDATE_OP_MAX" => Some(Self::Max),
"UPDATE_OP_MIN" => Some(Self::Min),
"UPDATE_OP_SET_IF_NULL" => Some(Self::SetIfNull),
_ => None,
}
}
}
}