feat: remote dyn filter (#314)

* feat: remote dyn filter

Signed-off-by: discord9 <discord9@163.com>

* make all

Signed-off-by: discord9 <discord9@163.com>

---------

Signed-off-by: discord9 <discord9@163.com>
This commit is contained in:
discord9
2026-05-13 20:12:10 +08:00
committed by GitHub
parent a107830d0c
commit dfd2a6d7d3
7 changed files with 5829 additions and 639 deletions
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+20
View File
@@ -61,6 +61,7 @@ message RegionRequest {
ListMetadataRequest list_metadata = 18; ListMetadataRequest list_metadata = 18;
BuildIndexRequest build_index = 19; BuildIndexRequest build_index = 19;
ApplyStagingManifestRequest apply_staging_manifest = 20; ApplyStagingManifestRequest apply_staging_manifest = 20;
RemoteDynFilterRequest remote_dyn_filter = 21;
} }
} }
@@ -303,3 +304,22 @@ message ApplyStagingManifestRequest {
// Path to the staging manifest file. // Path to the staging manifest file.
string manifest_path = 4; string manifest_path = 4;
} }
message RemoteDynFilterRequest {
string query_id = 1;
oneof action {
RemoteDynFilterUpdate update = 2;
RemoteDynFilterUnregister unregister = 3;
}
}
message RemoteDynFilterUpdate {
string filter_id = 1;
bytes payload = 2;
uint64 generation = 3;
bool is_complete = 4;
}
message RemoteDynFilterUnregister {
string filter_id = 1;
}
+36 -1
View File
@@ -36,7 +36,7 @@ pub struct RegionRequest {
/// query request is handled in flight services. /// query request is handled in flight services.
#[prost( #[prost(
oneof = "region_request::Body", oneof = "region_request::Body",
tags = "3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20" tags = "3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21"
)] )]
pub body: ::core::option::Option<region_request::Body>, pub body: ::core::option::Option<region_request::Body>,
} }
@@ -82,6 +82,8 @@ pub mod region_request {
BuildIndex(super::BuildIndexRequest), BuildIndex(super::BuildIndexRequest),
#[prost(message, tag = "20")] #[prost(message, tag = "20")]
ApplyStagingManifest(super::ApplyStagingManifestRequest), ApplyStagingManifest(super::ApplyStagingManifestRequest),
#[prost(message, tag = "21")]
RemoteDynFilter(super::RemoteDynFilterRequest),
} }
} }
#[derive(Clone, PartialEq, ::prost::Message)] #[derive(Clone, PartialEq, ::prost::Message)]
@@ -448,6 +450,39 @@ pub struct ApplyStagingManifestRequest {
#[prost(string, tag = "4")] #[prost(string, tag = "4")]
pub manifest_path: ::prost::alloc::string::String, pub manifest_path: ::prost::alloc::string::String,
} }
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RemoteDynFilterRequest {
#[prost(string, tag = "1")]
pub query_id: ::prost::alloc::string::String,
#[prost(oneof = "remote_dyn_filter_request::Action", tags = "2, 3")]
pub action: ::core::option::Option<remote_dyn_filter_request::Action>,
}
/// Nested message and enum types in `RemoteDynFilterRequest`.
pub mod remote_dyn_filter_request {
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)]
pub enum Action {
#[prost(message, tag = "2")]
Update(super::RemoteDynFilterUpdate),
#[prost(message, tag = "3")]
Unregister(super::RemoteDynFilterUnregister),
}
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RemoteDynFilterUpdate {
#[prost(string, tag = "1")]
pub filter_id: ::prost::alloc::string::String,
#[prost(bytes = "vec", tag = "2")]
pub payload: ::prost::alloc::vec::Vec<u8>,
#[prost(uint64, tag = "3")]
pub generation: u64,
#[prost(bool, tag = "4")]
pub is_complete: bool,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RemoteDynFilterUnregister {
#[prost(string, tag = "1")]
pub filter_id: ::prost::alloc::string::String,
}
/// Generated client implementations. /// Generated client implementations.
pub mod region_client { pub mod region_client {
#![allow( #![allow(
Binary file not shown.