#[cfg_attr(feature = "python", ::pyo3::pyclass(get_all, set_all))]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct FunctionParameterInfo {
#[prost(string, tag="1")]
pub name: ::prost::alloc::string::String,
#[prost(string, tag="2")]
pub type_text: ::prost::alloc::string::String,
#[prost(string, optional, tag="3")]
pub type_json: ::core::option::Option<::prost::alloc::string::String>,
#[prost(enumeration="super::super::tables::v1::ColumnTypeName", tag="4")]
pub type_name: i32,
#[prost(int32, optional, tag="5")]
pub type_precision: ::core::option::Option<i32>,
#[prost(int32, optional, tag="6")]
pub type_scale: ::core::option::Option<i32>,
#[prost(string, optional, tag="7")]
pub type_interval_type: ::core::option::Option<::prost::alloc::string::String>,
#[prost(int32, optional, tag="8")]
pub position: ::core::option::Option<i32>,
#[prost(enumeration="ParameterMode", tag="9")]
pub parameter_mode: i32,
#[prost(enumeration="FunctionParameterType", tag="10")]
pub parameter_type: i32,
#[prost(string, optional, tag="11")]
pub parameter_default: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag="12")]
pub comment: ::core::option::Option<::prost::alloc::string::String>,
}
#[cfg_attr(feature = "python", ::pyo3::pyclass(get_all, set_all))]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FunctionParameterInfos {
#[prost(message, repeated, tag="1")]
pub parameters: ::prost::alloc::vec::Vec<FunctionParameterInfo>,
}
#[cfg_attr(feature = "python", ::pyo3::pyclass(get_all, set_all))]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Function {
#[prost(string, tag="1")]
pub name: ::prost::alloc::string::String,
#[prost(string, tag="2")]
pub catalog_name: ::prost::alloc::string::String,
#[prost(string, tag="3")]
pub schema_name: ::prost::alloc::string::String,
#[prost(string, tag="4")]
pub full_name: ::prost::alloc::string::String,
#[prost(string, tag="5")]
pub data_type: ::prost::alloc::string::String,
#[prost(string, tag="6")]
pub full_data_type: ::prost::alloc::string::String,
#[prost(message, optional, tag="7")]
pub input_params: ::core::option::Option<FunctionParameterInfos>,
#[prost(string, optional, tag="8")]
pub return_params: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag="9")]
pub routine_body_language: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag="10")]
pub routine_definition: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag="11")]
pub routine_dependencies: ::core::option::Option<::prost::alloc::string::String>,
#[prost(enumeration="ParameterStyle", tag="12")]
pub parameter_style: i32,
#[prost(bool, tag="13")]
pub is_deterministic: bool,
#[prost(enumeration="SqlDataAccess", tag="14")]
pub sql_data_access: i32,
#[prost(bool, tag="15")]
pub is_null_call: bool,
#[prost(enumeration="SecurityType", tag="16")]
pub security_type: i32,
#[prost(string, optional, tag="17")]
pub specific_name: ::core::option::Option<::prost::alloc::string::String>,
#[prost(enumeration="RoutineBody", tag="18")]
pub routine_body: i32,
#[prost(string, optional, tag="19")]
pub comment: ::core::option::Option<::prost::alloc::string::String>,
#[prost(map="string, string", tag="20")]
pub properties: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
#[prost(string, optional, tag="21")]
pub owner: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag="22")]
pub function_id: ::core::option::Option<::prost::alloc::string::String>,
#[prost(int64, optional, tag="1000")]
pub created_at: ::core::option::Option<i64>,
#[prost(string, optional, tag="1001")]
pub created_by: ::core::option::Option<::prost::alloc::string::String>,
#[prost(int64, optional, tag="1002")]
pub updated_at: ::core::option::Option<i64>,
#[prost(string, optional, tag="1003")]
pub updated_by: ::core::option::Option<::prost::alloc::string::String>,
}
#[cfg_attr(feature = "python", ::pyo3::pyclass)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum RoutineBody {
Unspecified = 0,
Sql = 1,
External = 2,
}
impl RoutineBody {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "ROUTINE_BODY_UNSPECIFIED",
Self::Sql => "SQL",
Self::External => "EXTERNAL",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"ROUTINE_BODY_UNSPECIFIED" => Some(Self::Unspecified),
"SQL" => Some(Self::Sql),
"EXTERNAL" => Some(Self::External),
_ => None,
}
}
}
#[cfg_attr(feature = "python", ::pyo3::pyclass)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ParameterStyle {
Unspecified = 0,
S = 1,
}
impl ParameterStyle {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "PARAMETER_STYLE_UNSPECIFIED",
Self::S => "S",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"PARAMETER_STYLE_UNSPECIFIED" => Some(Self::Unspecified),
"S" => Some(Self::S),
_ => None,
}
}
}
#[cfg_attr(feature = "python", ::pyo3::pyclass)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum SecurityType {
Unspecified = 0,
Definer = 1,
}
impl SecurityType {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "SECURITY_TYPE_UNSPECIFIED",
Self::Definer => "DEFINER",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"SECURITY_TYPE_UNSPECIFIED" => Some(Self::Unspecified),
"DEFINER" => Some(Self::Definer),
_ => None,
}
}
}
#[cfg_attr(feature = "python", ::pyo3::pyclass)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum SqlDataAccess {
Unspecified = 0,
ContainsSql = 1,
ReadsSqlData = 2,
NoSql = 3,
}
impl SqlDataAccess {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "SQL_DATA_ACCESS_UNSPECIFIED",
Self::ContainsSql => "CONTAINS_SQL",
Self::ReadsSqlData => "READS_SQL_DATA",
Self::NoSql => "NO_SQL",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"SQL_DATA_ACCESS_UNSPECIFIED" => Some(Self::Unspecified),
"CONTAINS_SQL" => Some(Self::ContainsSql),
"READS_SQL_DATA" => Some(Self::ReadsSqlData),
"NO_SQL" => Some(Self::NoSql),
_ => None,
}
}
}
#[cfg_attr(feature = "python", ::pyo3::pyclass)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ParameterMode {
Unspecified = 0,
In = 1,
}
impl ParameterMode {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "PARAMETER_MODE_UNSPECIFIED",
Self::In => "IN",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"PARAMETER_MODE_UNSPECIFIED" => Some(Self::Unspecified),
"IN" => Some(Self::In),
_ => None,
}
}
}
#[cfg_attr(feature = "python", ::pyo3::pyclass)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum FunctionParameterType {
Unspecified = 0,
Column = 1,
Param = 2,
}
impl FunctionParameterType {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "FUNCTION_PARAMETER_TYPE_UNSPECIFIED",
Self::Column => "COLUMN",
Self::Param => "PARAM",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"FUNCTION_PARAMETER_TYPE_UNSPECIFIED" => Some(Self::Unspecified),
"COLUMN" => Some(Self::Column),
"PARAM" => Some(Self::Param),
_ => None,
}
}
}
#[cfg_attr(feature = "python", ::pyo3::pyclass(get_all, set_all))]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ListFunctionsRequest {
#[prost(string, tag="1")]
pub catalog_name: ::prost::alloc::string::String,
#[prost(string, tag="2")]
pub schema_name: ::prost::alloc::string::String,
#[prost(int32, optional, tag="3")]
pub max_results: ::core::option::Option<i32>,
#[prost(string, optional, tag="4")]
pub page_token: ::core::option::Option<::prost::alloc::string::String>,
#[prost(bool, optional, tag="5")]
pub include_browse: ::core::option::Option<bool>,
}
#[cfg_attr(feature = "python", ::pyo3::pyclass(get_all, set_all))]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListFunctionsResponse {
#[prost(message, repeated, tag="1")]
pub functions: ::prost::alloc::vec::Vec<Function>,
#[prost(string, optional, tag="2")]
pub next_page_token: ::core::option::Option<::prost::alloc::string::String>,
}
#[cfg_attr(feature = "python", ::pyo3::pyclass(get_all, set_all))]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CreateFunctionRequest {
#[prost(string, tag="1")]
pub name: ::prost::alloc::string::String,
#[prost(string, tag="2")]
pub catalog_name: ::prost::alloc::string::String,
#[prost(string, tag="3")]
pub schema_name: ::prost::alloc::string::String,
#[prost(string, tag="4")]
pub data_type: ::prost::alloc::string::String,
#[prost(string, tag="5")]
pub full_data_type: ::prost::alloc::string::String,
#[prost(message, optional, tag="6")]
pub input_params: ::core::option::Option<FunctionParameterInfos>,
#[prost(enumeration="ParameterStyle", tag="7")]
pub parameter_style: i32,
#[prost(bool, tag="8")]
pub is_deterministic: bool,
#[prost(enumeration="SqlDataAccess", tag="9")]
pub sql_data_access: i32,
#[prost(bool, tag="10")]
pub is_null_call: bool,
#[prost(enumeration="SecurityType", tag="11")]
pub security_type: i32,
#[prost(enumeration="RoutineBody", tag="12")]
pub routine_body: i32,
#[prost(string, optional, tag="13")]
pub routine_definition: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag="14")]
pub routine_body_language: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag="15")]
pub comment: ::core::option::Option<::prost::alloc::string::String>,
#[prost(map="string, string", tag="16")]
pub properties: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
}
#[cfg_attr(feature = "python", ::pyo3::pyclass(get_all, set_all))]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetFunctionRequest {
#[prost(string, tag="1")]
pub name: ::prost::alloc::string::String,
}
#[cfg_attr(feature = "python", ::pyo3::pyclass(get_all, set_all))]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct UpdateFunctionRequest {
#[prost(string, tag="1")]
pub name: ::prost::alloc::string::String,
#[prost(string, optional, tag="2")]
pub owner: ::core::option::Option<::prost::alloc::string::String>,
}
#[cfg_attr(feature = "python", ::pyo3::pyclass(get_all, set_all))]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct DeleteFunctionRequest {
#[prost(string, tag="1")]
pub name: ::prost::alloc::string::String,
#[prost(bool, optional, tag="2")]
pub force: ::core::option::Option<bool>,
}
include!("unitycatalog.functions.v1.serde.rs");