#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RemoteTablePhysicalPlanNode {
#[prost(
oneof = "remote_table_physical_plan_node::RemoteTablePhysicalPlanType",
tags = "1, 2"
)]
pub remote_table_physical_plan_type:
::core::option::Option<remote_table_physical_plan_node::RemoteTablePhysicalPlanType>,
}
pub mod remote_table_physical_plan_node {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum RemoteTablePhysicalPlanType {
#[prost(message, tag = "1")]
Scan(super::RemoteTableScanExec),
#[prost(message, tag = "2")]
Insert(super::RemoteTableInsertExec),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RemoteTableScanExec {
#[prost(message, optional, tag = "1")]
pub conn_options: ::core::option::Option<ConnectionOptions>,
#[prost(message, optional, tag = "2")]
pub source: ::core::option::Option<RemoteSource>,
#[prost(message, optional, tag = "3")]
pub table_schema: ::core::option::Option<::datafusion_proto::protobuf::Schema>,
#[prost(message, optional, tag = "4")]
pub remote_schema: ::core::option::Option<RemoteSchema>,
#[prost(message, optional, tag = "5")]
pub projection: ::core::option::Option<Projection>,
#[prost(string, repeated, tag = "6")]
pub unparsed_filters: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(uint32, optional, tag = "7")]
pub limit: ::core::option::Option<u32>,
#[prost(bytes = "vec", tag = "8")]
pub transform: ::prost::alloc::vec::Vec<u8>,
#[prost(uint32, optional, tag = "9")]
pub row_count: ::core::option::Option<u32>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RemoteTableInsertExec {
#[prost(message, optional, tag = "1")]
pub conn_options: ::core::option::Option<ConnectionOptions>,
#[prost(message, optional, tag = "2")]
pub table: ::core::option::Option<Identifiers>,
#[prost(message, optional, tag = "3")]
pub remote_schema: ::core::option::Option<RemoteSchema>,
#[prost(bytes = "vec", tag = "4")]
pub literalizer: ::prost::alloc::vec::Vec<u8>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ConnectionOptions {
#[prost(
oneof = "connection_options::ConnectionOptions",
tags = "1, 2, 3, 4, 5"
)]
pub connection_options: ::core::option::Option<connection_options::ConnectionOptions>,
}
pub mod connection_options {
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)]
pub enum ConnectionOptions {
#[prost(message, tag = "1")]
Postgres(super::PostgresConnectionOptions),
#[prost(message, tag = "2")]
Mysql(super::MysqlConnectionOptions),
#[prost(message, tag = "3")]
Oracle(super::OracleConnectionOptions),
#[prost(message, tag = "4")]
Sqlite(super::SqliteConnectionOptions),
#[prost(message, tag = "5")]
Dm(super::DmConnectionOptions),
}
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RemoteSource {
#[prost(oneof = "remote_source::Source", tags = "1, 2")]
pub source: ::core::option::Option<remote_source::Source>,
}
pub mod remote_source {
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)]
pub enum Source {
#[prost(string, tag = "1")]
Query(::prost::alloc::string::String),
#[prost(message, tag = "2")]
Table(super::Identifiers),
}
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Identifiers {
#[prost(string, repeated, tag = "1")]
pub idents: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct PostgresConnectionOptions {
#[prost(string, tag = "1")]
pub host: ::prost::alloc::string::String,
#[prost(uint32, tag = "2")]
pub port: u32,
#[prost(string, tag = "3")]
pub username: ::prost::alloc::string::String,
#[prost(string, tag = "4")]
pub password: ::prost::alloc::string::String,
#[prost(string, optional, tag = "5")]
pub database: ::core::option::Option<::prost::alloc::string::String>,
#[prost(uint32, tag = "6")]
pub pool_max_size: u32,
#[prost(uint32, tag = "7")]
pub pool_min_idle: u32,
#[prost(message, optional, tag = "8")]
pub pool_idle_timeout: ::core::option::Option<Duration>,
#[prost(message, optional, tag = "9")]
pub pool_ttl_check_interval: ::core::option::Option<Duration>,
#[prost(uint32, tag = "10")]
pub stream_chunk_size: u32,
#[prost(int32, tag = "11")]
pub default_numeric_scale: i32,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct MysqlConnectionOptions {
#[prost(string, tag = "1")]
pub host: ::prost::alloc::string::String,
#[prost(uint32, tag = "2")]
pub port: u32,
#[prost(string, tag = "3")]
pub username: ::prost::alloc::string::String,
#[prost(string, tag = "4")]
pub password: ::prost::alloc::string::String,
#[prost(string, optional, tag = "5")]
pub database: ::core::option::Option<::prost::alloc::string::String>,
#[prost(uint32, tag = "6")]
pub pool_max_size: u32,
#[prost(uint32, tag = "7")]
pub pool_min_idle: u32,
#[prost(message, optional, tag = "8")]
pub pool_idle_timeout: ::core::option::Option<Duration>,
#[prost(message, optional, tag = "9")]
pub pool_ttl_check_interval: ::core::option::Option<Duration>,
#[prost(uint32, tag = "10")]
pub stream_chunk_size: u32,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct OracleConnectionOptions {
#[prost(string, tag = "1")]
pub host: ::prost::alloc::string::String,
#[prost(uint32, tag = "2")]
pub port: u32,
#[prost(string, tag = "3")]
pub username: ::prost::alloc::string::String,
#[prost(string, tag = "4")]
pub password: ::prost::alloc::string::String,
#[prost(string, tag = "5")]
pub service_name: ::prost::alloc::string::String,
#[prost(uint32, tag = "6")]
pub pool_max_size: u32,
#[prost(uint32, tag = "7")]
pub pool_min_idle: u32,
#[prost(message, optional, tag = "8")]
pub pool_idle_timeout: ::core::option::Option<Duration>,
#[prost(message, optional, tag = "9")]
pub pool_ttl_check_interval: ::core::option::Option<Duration>,
#[prost(uint32, tag = "10")]
pub stream_chunk_size: u32,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SqliteConnectionOptions {
#[prost(string, tag = "1")]
pub path: ::prost::alloc::string::String,
#[prost(uint32, tag = "2")]
pub stream_chunk_size: u32,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct DmConnectionOptions {
#[prost(string, tag = "1")]
pub host: ::prost::alloc::string::String,
#[prost(uint32, tag = "2")]
pub port: u32,
#[prost(string, tag = "3")]
pub username: ::prost::alloc::string::String,
#[prost(string, tag = "4")]
pub password: ::prost::alloc::string::String,
#[prost(string, optional, tag = "5")]
pub schema: ::core::option::Option<::prost::alloc::string::String>,
#[prost(uint32, tag = "6")]
pub stream_chunk_size: u32,
#[prost(string, tag = "7")]
pub driver: ::prost::alloc::string::String,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Duration {
#[prost(uint64, tag = "1")]
pub secs: u64,
#[prost(uint32, tag = "2")]
pub nanos: u32,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Projection {
#[prost(uint32, repeated, tag = "1")]
pub projection: ::prost::alloc::vec::Vec<u32>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RemoteSchema {
#[prost(message, repeated, tag = "1")]
pub fields: ::prost::alloc::vec::Vec<RemoteField>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RemoteField {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(message, optional, tag = "2")]
pub remote_type: ::core::option::Option<RemoteType>,
#[prost(bool, tag = "3")]
pub nullable: bool,
#[prost(bool, tag = "4")]
pub auto_increment: bool,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RemoteType {
#[prost(
oneof = "remote_type::Type",
tags = "1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 301, 302, 303, 304, 305, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418"
)]
pub r#type: ::core::option::Option<remote_type::Type>,
}
pub mod remote_type {
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Oneof)]
pub enum Type {
#[prost(message, tag = "1")]
PostgresInt2(super::Empty),
#[prost(message, tag = "2")]
PostgresInt4(super::Empty),
#[prost(message, tag = "3")]
PostgresInt8(super::Empty),
#[prost(message, tag = "4")]
PostgresFloat4(super::Empty),
#[prost(message, tag = "5")]
PostgresFloat8(super::Empty),
#[prost(message, tag = "6")]
PostgresNumeric(super::PostgresNumeric),
#[prost(message, tag = "7")]
PostgresName(super::Empty),
#[prost(message, tag = "8")]
PostgresVarchar(super::Empty),
#[prost(message, tag = "9")]
PostgresBpchar(super::Empty),
#[prost(message, tag = "10")]
PostgresText(super::Empty),
#[prost(message, tag = "11")]
PostgresBytea(super::Empty),
#[prost(message, tag = "12")]
PostgresDate(super::Empty),
#[prost(message, tag = "13")]
PostgresTime(super::Empty),
#[prost(message, tag = "14")]
PostgresTimestamp(super::Empty),
#[prost(message, tag = "15")]
PostgresTimestampTz(super::Empty),
#[prost(message, tag = "16")]
PostgresInterval(super::Empty),
#[prost(message, tag = "17")]
PostgresBool(super::Empty),
#[prost(message, tag = "18")]
PostgresJson(super::Empty),
#[prost(message, tag = "19")]
PostgresJsonb(super::Empty),
#[prost(message, tag = "20")]
PostgresInt2Array(super::Empty),
#[prost(message, tag = "21")]
PostgresInt4Array(super::Empty),
#[prost(message, tag = "22")]
PostgresInt8Array(super::Empty),
#[prost(message, tag = "23")]
PostgresFloat4Array(super::Empty),
#[prost(message, tag = "24")]
PostgresFloat8Array(super::Empty),
#[prost(message, tag = "25")]
PostgresVarcharArray(super::Empty),
#[prost(message, tag = "26")]
PostgresBpcharArray(super::Empty),
#[prost(message, tag = "27")]
PostgresTextArray(super::Empty),
#[prost(message, tag = "28")]
PostgresByteaArray(super::Empty),
#[prost(message, tag = "29")]
PostgresBoolArray(super::Empty),
#[prost(message, tag = "30")]
PostgresPostgisGeometry(super::Empty),
#[prost(message, tag = "31")]
PostgresOid(super::Empty),
#[prost(message, tag = "32")]
PostgresXml(super::Empty),
#[prost(message, tag = "33")]
PostgresUuid(super::Empty),
#[prost(message, tag = "101")]
MysqlTinyInt(super::Empty),
#[prost(message, tag = "102")]
MysqlTinyIntUnsigned(super::Empty),
#[prost(message, tag = "103")]
MysqlSmallInt(super::Empty),
#[prost(message, tag = "104")]
MysqlSmallIntUnsigned(super::Empty),
#[prost(message, tag = "105")]
MysqlMediumInt(super::Empty),
#[prost(message, tag = "106")]
MysqlMediumIntUnsigned(super::Empty),
#[prost(message, tag = "107")]
MysqlInteger(super::Empty),
#[prost(message, tag = "108")]
MysqlIntegerUnsigned(super::Empty),
#[prost(message, tag = "109")]
MysqlBigInt(super::Empty),
#[prost(message, tag = "110")]
MysqlBigIntUnsigned(super::Empty),
#[prost(message, tag = "111")]
MysqlFloat(super::Empty),
#[prost(message, tag = "112")]
MysqlDouble(super::Empty),
#[prost(message, tag = "113")]
MysqlDecimal(super::MysqlDecimal),
#[prost(message, tag = "114")]
MysqlDate(super::Empty),
#[prost(message, tag = "115")]
MysqlDateTime(super::Empty),
#[prost(message, tag = "116")]
MysqlTime(super::Empty),
#[prost(message, tag = "117")]
MysqlTimestamp(super::Empty),
#[prost(message, tag = "118")]
MysqlYear(super::Empty),
#[prost(message, tag = "119")]
MysqlChar(super::Empty),
#[prost(message, tag = "120")]
MysqlVarchar(super::Empty),
#[prost(message, tag = "121")]
MysqlBinary(super::Empty),
#[prost(message, tag = "122")]
MysqlVarbinary(super::Empty),
#[prost(message, tag = "123")]
MysqlText(super::MysqlText),
#[prost(message, tag = "124")]
MysqlBlob(super::MysqlBlob),
#[prost(message, tag = "125")]
MysqlJson(super::Empty),
#[prost(message, tag = "126")]
MysqlGeometry(super::Empty),
#[prost(message, tag = "201")]
OracleVarchar2(super::OracleVarchar2),
#[prost(message, tag = "202")]
OracleChar(super::OracleChar),
#[prost(message, tag = "203")]
OracleNumber(super::OracleNumber),
#[prost(message, tag = "204")]
OracleDate(super::Empty),
#[prost(message, tag = "205")]
OracleTimestamp(super::Empty),
#[prost(message, tag = "206")]
OracleBoolean(super::Empty),
#[prost(message, tag = "207")]
OracleBinaryFloat(super::Empty),
#[prost(message, tag = "208")]
OracleBinaryDouble(super::Empty),
#[prost(message, tag = "209")]
OracleBlob(super::Empty),
#[prost(message, tag = "210")]
OracleFloat(super::OracleFloat),
#[prost(message, tag = "211")]
OracleNchar(super::OracleNChar),
#[prost(message, tag = "212")]
OracleNvarchar2(super::OracleNVarchar2),
#[prost(message, tag = "213")]
OracleRaw(super::OracleRaw),
#[prost(message, tag = "214")]
OracleLongRaw(super::Empty),
#[prost(message, tag = "215")]
OracleLong(super::Empty),
#[prost(message, tag = "216")]
OracleClob(super::Empty),
#[prost(message, tag = "217")]
OracleNclob(super::Empty),
#[prost(message, tag = "218")]
OracleSdeGeometry(super::Empty),
#[prost(message, tag = "301")]
SqliteNull(super::Empty),
#[prost(message, tag = "302")]
SqliteInteger(super::Empty),
#[prost(message, tag = "303")]
SqliteReal(super::Empty),
#[prost(message, tag = "304")]
SqliteText(super::Empty),
#[prost(message, tag = "305")]
SqliteBlob(super::Empty),
#[prost(message, tag = "401")]
DmTinyInt(super::Empty),
#[prost(message, tag = "402")]
DmSmallInt(super::Empty),
#[prost(message, tag = "403")]
DmInteger(super::Empty),
#[prost(message, tag = "404")]
DmBigInt(super::Empty),
#[prost(message, tag = "405")]
DmReal(super::Empty),
#[prost(message, tag = "406")]
DmDouble(super::Empty),
#[prost(message, tag = "407")]
DmNumeric(super::DmNumeric),
#[prost(message, tag = "408")]
DmDecimal(super::DmDecimal),
#[prost(message, tag = "409")]
DmChar(super::DmChar),
#[prost(message, tag = "410")]
DmVarchar(super::DmVarchar),
#[prost(message, tag = "411")]
DmText(super::Empty),
#[prost(message, tag = "412")]
DmBinary(super::DmBinary),
#[prost(message, tag = "413")]
DmVarbinary(super::DmVarbinary),
#[prost(message, tag = "414")]
DmImage(super::Empty),
#[prost(message, tag = "415")]
DmBit(super::Empty),
#[prost(message, tag = "416")]
DmTimestamp(super::DmTimestamp),
#[prost(message, tag = "417")]
DmTime(super::DmTime),
#[prost(message, tag = "418")]
DmDate(super::Empty),
}
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Empty {}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct PostgresNumeric {
#[prost(uint32, tag = "1")]
pub precision: u32,
#[prost(int32, tag = "2")]
pub scale: i32,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct MysqlDecimal {
#[prost(uint32, tag = "1")]
pub precision: u32,
#[prost(uint32, tag = "2")]
pub scale: u32,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct MysqlText {
#[prost(uint32, tag = "1")]
pub length: u32,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct MysqlBlob {
#[prost(uint32, tag = "1")]
pub length: u32,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct OracleVarchar2 {
#[prost(uint32, tag = "1")]
pub length: u32,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct OracleChar {
#[prost(uint32, tag = "1")]
pub length: u32,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct OracleNumber {
#[prost(uint32, tag = "1")]
pub precision: u32,
#[prost(int32, tag = "2")]
pub scale: i32,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct OracleFloat {
#[prost(uint32, tag = "1")]
pub precision: u32,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct OracleNChar {
#[prost(uint32, tag = "1")]
pub length: u32,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct OracleNVarchar2 {
#[prost(uint32, tag = "1")]
pub length: u32,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct OracleRaw {
#[prost(uint32, tag = "1")]
pub length: u32,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct DmNumeric {
#[prost(uint32, tag = "1")]
pub precision: u32,
#[prost(int32, tag = "2")]
pub scale: i32,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct DmDecimal {
#[prost(uint32, tag = "1")]
pub precision: u32,
#[prost(int32, tag = "2")]
pub scale: i32,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct DmChar {
#[prost(uint32, optional, tag = "1")]
pub length: ::core::option::Option<u32>,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct DmVarchar {
#[prost(uint32, optional, tag = "1")]
pub length: ::core::option::Option<u32>,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct DmBinary {
#[prost(uint32, tag = "1")]
pub length: u32,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct DmVarbinary {
#[prost(uint32, optional, tag = "1")]
pub length: ::core::option::Option<u32>,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct DmTimestamp {
#[prost(uint32, tag = "1")]
pub precision: u32,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct DmTime {
#[prost(uint32, tag = "1")]
pub precision: u32,
}