diff --git a/src/store-api/src/storage/descriptors.rs b/src/store-api/src/storage/descriptors.rs index 030f8c83b7..f7dbb854e9 100644 --- a/src/store-api/src/storage/descriptors.rs +++ b/src/store-api/src/storage/descriptors.rs @@ -59,7 +59,7 @@ impl From<&ColumnDescriptor> for ColumnSchema { #[derive(Debug, Clone, PartialEq, Builder)] #[builder(pattern = "owned")] pub struct RowKeyDescriptor { - #[builder(default)] + #[builder(default, setter(each(name = "push_column")))] pub columns: Vec, /// Timestamp key column. pub timestamp: ColumnDescriptor, @@ -72,13 +72,14 @@ pub struct RowKeyDescriptor { /// A [ColumnFamilyDescriptor] contains information to create a column family. #[derive(Debug, Clone, PartialEq, Builder)] +#[builder(pattern = "owned")] pub struct ColumnFamilyDescriptor { #[builder(default = "consts::DEFAULT_CF_ID")] pub cf_id: ColumnFamilyId, #[builder(default = "consts::DEFAULT_CF_NAME.to_string()", setter(into))] pub name: String, /// Descriptors of columns in this column family. - #[builder(default)] + #[builder(default, setter(each(name = "push_column")))] pub columns: Vec, } @@ -95,6 +96,7 @@ pub struct RegionDescriptor { /// Default column family. pub default_cf: ColumnFamilyDescriptor, /// Extra column families defined by user. + #[builder(default, setter(each(name = "push_extra_column_family")))] pub extra_cfs: Vec, } @@ -110,12 +112,6 @@ impl RowKeyDescriptorBuilder { self.columns = Some(Vec::with_capacity(capacity)); self } - - pub fn push_column(mut self, column: ColumnDescriptor) -> Self { - let columns = self.columns.get_or_insert_with(Vec::new); - columns.push(column); - self - } } impl ColumnFamilyDescriptorBuilder { @@ -123,12 +119,6 @@ impl ColumnFamilyDescriptorBuilder { self.columns = Some(Vec::with_capacity(capacity)); self } - - pub fn push_column(mut self, column: ColumnDescriptor) -> Self { - let columns = self.columns.get_or_insert_with(Vec::new); - columns.push(column); - self - } } #[cfg(test)]