Skip to content

Commit 8bcdc4b

Browse files
committed
rename deletepart to mutationpart
1 parent fcbdf30 commit 8bcdc4b

File tree

7 files changed

+30
-20
lines changed

7 files changed

+30
-20
lines changed

src/query/storages/fuse/fuse/src/operations/delete.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -32,9 +32,9 @@ use common_sql::evaluator::Evaluator;
3232
use common_storages_table_meta::meta::Location;
3333
use common_storages_table_meta::meta::TableSnapshot;
3434

35-
use crate::operations::mutation::DeletionPartInfo;
3635
use crate::operations::mutation::DeletionSource;
3736
use crate::operations::mutation::DeletionTransform;
37+
use crate::operations::mutation::MutationPartInfo;
3838
use crate::operations::mutation::MutationSink;
3939
use crate::pipelines::processors::port::InputPort;
4040
use crate::pipelines::processors::port::OutputPort;
@@ -186,7 +186,7 @@ impl FuseTable {
186186
index_stats
187187
.into_iter()
188188
.zip(inner_parts.partitions.into_iter())
189-
.map(|((a, b), c)| DeletionPartInfo::create(a, b, c))
189+
.map(|((a, b), c)| MutationPartInfo::create(a, b, c))
190190
.collect(),
191191
);
192192
ctx.try_set_partitions(parts)?;

src/query/storages/fuse/fuse/src/operations/mutation/deletion/deletion_source.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -33,10 +33,10 @@ use opendal::Operator;
3333

3434
use super::deletion_meta::Deletion;
3535
use super::deletion_meta::DeletionSourceMeta;
36-
use super::deletion_part::DeletionPartInfo;
3736
use crate::io::write_data;
3837
use crate::io::BlockReader;
3938
use crate::io::TableMetaLocationGenerator;
39+
use crate::operations::mutation::MutationPartInfo;
4040
use crate::operations::util;
4141
use crate::operations::BloomIndexState;
4242
use crate::pipelines::processors::port::OutputPort;
@@ -294,7 +294,7 @@ impl Processor for DeletionSource {
294294
async fn async_process(&mut self) -> Result<()> {
295295
match std::mem::replace(&mut self.state, State::Finish) {
296296
State::ReadData(Some(part)) => {
297-
let deletion_part = DeletionPartInfo::from_part(&part)?;
297+
let deletion_part = MutationPartInfo::from_part(&part)?;
298298
self.index = deletion_part.index;
299299
self.origin_stats = deletion_part.cluster_stats.clone();
300300
let part = deletion_part.inner_part.clone();

src/query/storages/fuse/fuse/src/operations/mutation/deletion/mod.rs

-2
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,9 @@
1313
// limitations under the License.
1414

1515
mod deletion_meta;
16-
mod deletion_part;
1716
mod deletion_source;
1817
mod deletion_transform;
1918

2019
pub use deletion_meta::Deletion;
21-
pub use deletion_part::DeletionPartInfo;
2220
pub use deletion_source::DeletionSource;
2321
pub use deletion_transform::DeletionTransform;

src/query/storages/fuse/fuse/src/operations/mutation/mod.rs

+2-1
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ pub mod base_mutator;
1717
mod compact;
1818
mod deletion;
1919
pub mod mutation_meta;
20+
mod mutation_part;
2021
pub mod mutation_sink;
2122
pub mod recluster_mutator;
2223
mod update;
@@ -30,9 +31,9 @@ pub use compact::MergeSegmentsTransform;
3031
pub use compact::SegmentCompactMutator;
3132
pub use compact::SegmentCompactionState;
3233
pub use compact::SegmentCompactor;
33-
pub use deletion::DeletionPartInfo;
3434
pub use deletion::DeletionSource;
3535
pub use deletion::DeletionTransform;
3636
pub use mutation_meta::MutationMeta;
37+
pub use mutation_part::MutationPartInfo;
3738
pub use mutation_sink::MutationSink;
3839
pub use recluster_mutator::ReclusterMutator;

src/query/storages/fuse/fuse/src/operations/mutation/deletion/deletion_part.rs renamed to src/query/storages/fuse/fuse/src/operations/mutation/mutation_part.rs

+9-9
Original file line numberDiff line numberDiff line change
@@ -24,20 +24,20 @@ use common_storages_table_meta::meta::ClusterStatistics;
2424
use crate::pruning::BlockIndex;
2525

2626
#[derive(serde::Serialize, serde::Deserialize, PartialEq)]
27-
pub struct DeletionPartInfo {
27+
pub struct MutationPartInfo {
2828
pub index: BlockIndex,
2929
pub cluster_stats: Option<ClusterStatistics>,
3030
pub inner_part: PartInfoPtr,
3131
}
3232

33-
#[typetag::serde(name = "deletion")]
34-
impl PartInfo for DeletionPartInfo {
33+
#[typetag::serde(name = "mutation")]
34+
impl PartInfo for MutationPartInfo {
3535
fn as_any(&self) -> &dyn Any {
3636
self
3737
}
3838

3939
fn equals(&self, info: &Box<dyn PartInfo>) -> bool {
40-
match info.as_any().downcast_ref::<DeletionPartInfo>() {
40+
match info.as_any().downcast_ref::<MutationPartInfo>() {
4141
None => false,
4242
Some(other) => self == other,
4343
}
@@ -48,24 +48,24 @@ impl PartInfo for DeletionPartInfo {
4848
}
4949
}
5050

51-
impl DeletionPartInfo {
51+
impl MutationPartInfo {
5252
pub fn create(
5353
index: BlockIndex,
5454
cluster_stats: Option<ClusterStatistics>,
5555
inner_part: PartInfoPtr,
5656
) -> PartInfoPtr {
57-
Arc::new(Box::new(DeletionPartInfo {
57+
Arc::new(Box::new(MutationPartInfo {
5858
index,
5959
cluster_stats,
6060
inner_part,
6161
}))
6262
}
6363

64-
pub fn from_part(info: &PartInfoPtr) -> Result<&DeletionPartInfo> {
65-
match info.as_any().downcast_ref::<DeletionPartInfo>() {
64+
pub fn from_part(info: &PartInfoPtr) -> Result<&MutationPartInfo> {
65+
match info.as_any().downcast_ref::<MutationPartInfo>() {
6666
Some(part_ref) => Ok(part_ref),
6767
None => Err(ErrorCode::Internal(
68-
"Cannot downcast from PartInfo to DeletionPartInfo.",
68+
"Cannot downcast from PartInfo to MutationPartInfo.",
6969
)),
7070
}
7171
}

src/query/storages/fuse/fuse/src/operations/mutation/update/mod.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,4 +12,4 @@
1212
// See the License for the specific language governing permissions and
1313
// limitations under the License.
1414

15-
mod update_source;
15+
mod update_source;

src/query/storages/fuse/fuse/src/operations/mutation/update/update_source.rs

+14-3
Original file line numberDiff line numberDiff line change
@@ -12,14 +12,13 @@
1212
// See the License for the specific language governing permissions and
1313
// limitations under the License.
1414

15-
1615
use std::any::Any;
1716
use std::ops::Not;
1817
use std::sync::Arc;
1918

2019
use common_catalog::plan::PartInfoPtr;
2120
use common_catalog::table_context::TableContext;
22-
use common_datablocks::serialize_data_blocks;
21+
use common_datablocks::serialize_to_parquet;
2322
use common_datablocks::DataBlock;
2423
use common_datavalues::BooleanColumn;
2524
use common_datavalues::ColumnRef;
@@ -35,6 +34,7 @@ use opendal::Operator;
3534
use crate::io::write_data;
3635
use crate::io::BlockReader;
3736
use crate::io::TableMetaLocationGenerator;
37+
use crate::operations::mutation::MutationPartInfo;
3838
use crate::operations::util;
3939
use crate::operations::BloomIndexState;
4040
use crate::pipelines::processors::port::OutputPort;
@@ -57,8 +57,11 @@ pub struct UpdateSource {
5757
state: State,
5858
ctx: Arc<dyn TableContext>,
5959
output: Arc<OutputPort>,
60-
}
6160

61+
index: BlockIndex,
62+
cluster_stats_gen: ClusterStatsGenerator,
63+
origin_stats: Option<ClusterStatistics>,
64+
}
6265

6366
#[async_trait::async_trait]
6467
impl Processor for UpdateSource {
@@ -117,6 +120,14 @@ impl Processor for UpdateSource {
117120

118121
async fn async_process(&mut self) -> Result<()> {
119122
match std::mem::replace(&mut self.state, State::Finish) {
123+
State::ReadData(Some(part)) => {
124+
let part = MutationPartInfo::from_part(&part)?;
125+
self.index = part.index;
126+
self.origin_stats = part.cluster_stats.clone();
127+
let inner_part = part.inner_part.clone();
128+
// let chunks = self.block_reader.read_columns_data(inner_part.clone()).await?;
129+
// self.state = State::FilterData(inner_part, chunks);
130+
}
120131
_ => return Err(ErrorCode::Internal("It's a bug.")),
121132
}
122133
Ok(())

0 commit comments

Comments
 (0)