From a06a4a0ecaeca139f4c3e32b51e9b534663f0ea5 Mon Sep 17 00:00:00 2001 From: Leon Zhao Date: Sat, 6 Sep 2025 15:58:30 +0800 Subject: [PATCH] refactor: remove unused Strategy enum and related code --- columnar/examples/macro.rs | 2 ++ columnar/src/column/bool_rle.rs | 4 +--- columnar/src/column/delta_of_delta.rs | 4 +--- columnar/src/column/delta_rle.rs | 4 +--- columnar/src/column/mod.rs | 7 +------ columnar/src/column/rle.rs | 4 +--- columnar/src/lib.rs | 2 +- columnar/src/strategy/mod.rs | 27 --------------------------- columnar_derive/src/serde/de.rs | 6 +++--- 9 files changed, 11 insertions(+), 49 deletions(-) diff --git a/columnar/examples/macro.rs b/columnar/examples/macro.rs index ea0ff6a..97db3d6 100644 --- a/columnar/examples/macro.rs +++ b/columnar/examples/macro.rs @@ -2,12 +2,14 @@ use std::collections::BTreeMap; use serde_columnar::columnar; +#[allow(dead_code)] #[columnar(vec, map, ser, de)] #[derive(Debug, Clone, PartialEq)] struct A { a: u64, } +#[allow(dead_code)] #[columnar(vec, map, ser, de)] #[derive(Debug, Clone, PartialEq)] struct B { diff --git a/columnar/src/column/bool_rle.rs b/columnar/src/column/bool_rle.rs index 4f79749..c1f485a 100644 --- a/columnar/src/column/bool_rle.rs +++ b/columnar/src/column/bool_rle.rs @@ -1,6 +1,6 @@ use crate::{ strategy::{BoolRleDecoder, BoolRleEncoder}, - ColumnAttr, ColumnarError, Strategy, + ColumnAttr, ColumnarError, }; use super::ColumnTrait; @@ -19,8 +19,6 @@ impl BoolRleColumn { } impl ColumnTrait for BoolRleColumn { - const STRATEGY: Strategy = Strategy::BoolRle; - fn attr(&self) -> ColumnAttr { self.attr } diff --git a/columnar/src/column/delta_of_delta.rs b/columnar/src/column/delta_of_delta.rs index efd4f31..90f6b7f 100644 --- a/columnar/src/column/delta_of_delta.rs +++ b/columnar/src/column/delta_of_delta.rs @@ -1,6 +1,6 @@ use crate::{ strategy::{DeltaOfDeltaDecoder, DeltaOfDeltaEncoder}, - ColumnAttr, ColumnarError, Strategy, + ColumnAttr, ColumnarError, }; use super::ColumnTrait; @@ -22,8 +22,6 @@ impl DeltaOfDeltaColumn { } impl ColumnTrait for DeltaOfDeltaColumn { - const STRATEGY: Strategy = Strategy::DeltaRle; - fn attr(&self) -> ColumnAttr { self.attr } diff --git a/columnar/src/column/delta_rle.rs b/columnar/src/column/delta_rle.rs index 8dc6b34..79a1f79 100644 --- a/columnar/src/column/delta_rle.rs +++ b/columnar/src/column/delta_rle.rs @@ -1,6 +1,6 @@ use crate::{ strategy::{DeltaRleDecoder, DeltaRleEncoder}, - ColumnAttr, ColumnarError, Strategy, + ColumnAttr, ColumnarError, }; use super::{rle::Rleable, ColumnTrait}; @@ -26,8 +26,6 @@ impl ColumnTrait for DeltaRleColumn where T: DeltaRleable, { - const STRATEGY: Strategy = Strategy::DeltaRle; - fn attr(&self) -> ColumnAttr { self.attr } diff --git a/columnar/src/column/mod.rs b/columnar/src/column/mod.rs index c0de693..da1d4cb 100644 --- a/columnar/src/column/mod.rs +++ b/columnar/src/column/mod.rs @@ -5,15 +5,12 @@ pub mod rle; pub mod serde_impl; use crate::{columnar_internal::ColumnarEncoder, ColumnarDecoder, ColumnarError}; -use crate::{ - BoolRleColumn, DeltaOfDeltaColumn, DeltaRleColumn, DeltaRleable, RleColumn, Rleable, Strategy, -}; +use crate::{BoolRleColumn, DeltaOfDeltaColumn, DeltaRleColumn, DeltaRleable, RleColumn, Rleable}; use serde::{Deserialize, Serialize}; use std::fmt::Debug; use std::ops::DerefMut; pub trait ColumnTrait { - const STRATEGY: Strategy; fn attr(&self) -> ColumnAttr; fn encode(&self) -> Result, ColumnarError>; fn decode(bytes: &[u8]) -> Result @@ -100,8 +97,6 @@ impl ColumnTrait for GenericColumn where T: Serialize + for<'de> Deserialize<'de>, { - const STRATEGY: Strategy = Strategy::None; - fn attr(&self) -> ColumnAttr { ColumnAttr::empty() } diff --git a/columnar/src/column/rle.rs b/columnar/src/column/rle.rs index 61f793f..9a1a8b9 100644 --- a/columnar/src/column/rle.rs +++ b/columnar/src/column/rle.rs @@ -2,7 +2,7 @@ use serde::{Deserialize, Serialize}; use crate::{ strategy::{AnyRleDecoder, AnyRleEncoder}, - ColumnAttr, ColumnarError, Strategy, + ColumnAttr, ColumnarError, }; use super::ColumnTrait; @@ -27,8 +27,6 @@ impl ColumnTrait for RleColumn where T: Rleable, { - const STRATEGY: Strategy = Strategy::Rle; - fn len(&self) -> usize { self.data.len() } diff --git a/columnar/src/lib.rs b/columnar/src/lib.rs index 714ef08..c808d43 100644 --- a/columnar/src/lib.rs +++ b/columnar/src/lib.rs @@ -93,7 +93,7 @@ use serde::{Deserialize, Serialize}; mod strategy; pub use strategy::{ AnyRleDecoder, AnyRleEncoder, BoolRleDecoder, BoolRleEncoder, DeltaOfDeltaDecoder, - DeltaOfDeltaEncoder, DeltaRleDecoder, DeltaRleEncoder, Strategy, + DeltaOfDeltaEncoder, DeltaRleDecoder, DeltaRleEncoder, }; mod wrap; pub use wrap::{ColumnarMap, ColumnarVec}; diff --git a/columnar/src/strategy/mod.rs b/columnar/src/strategy/mod.rs index fbe2a93..f236664 100644 --- a/columnar/src/strategy/mod.rs +++ b/columnar/src/strategy/mod.rs @@ -4,31 +4,4 @@ pub use rle::{ DeltaOfDeltaEncoder, DeltaRleDecoder, DeltaRleEncoder, }; -use crate::ColumnarError; - -/// The enum of Strategy includes `Rle`/`BoolRle`/`DeltaRle` -#[derive(Debug, Clone, Copy, PartialEq, Eq)] -#[repr(u8)] -pub enum Strategy { - Rle = 1, - BoolRle, - DeltaRle, - DeltaOfDelta, - None, -} - -impl TryFrom for Strategy { - type Error = ColumnarError; - - fn try_from(value: u8) -> Result { - match value { - 1 => Ok(Strategy::Rle), - 2 => Ok(Strategy::BoolRle), - 3 => Ok(Strategy::DeltaRle), - 4 => Ok(Strategy::DeltaOfDelta), - _ => Err(ColumnarError::InvalidStrategy(value)), - } - } -} - pub const MAX_RLE_COUNT: usize = 1e9 as usize; diff --git a/columnar_derive/src/serde/de.rs b/columnar_derive/src/serde/de.rs index 3fff026..c0a0a26 100644 --- a/columnar_derive/src/serde/de.rs +++ b/columnar_derive/src/serde/de.rs @@ -355,9 +355,9 @@ impl<'a, P: WithGenericsBorrow> ToTokens for DeTypeGenerics<'a, P> { pub fn split_with_de_lifetime( params: &P, ) -> ( - DeImplGenerics

, - DeTypeGenerics

, - syn::TypeGenerics, + DeImplGenerics<'_, P>, + DeTypeGenerics<'_, P>, + syn::TypeGenerics<'_>, Option<&syn::WhereClause>, ) { let de_impl_generics = DeImplGenerics(params);