refactor: use auto generated collection build function (#128)

* refactor: use auto generated collection build function

* refactor: change functions of ColumeFamilyDescriptorBuilder to be owned
This commit is contained in:
Ning Sun
2022-08-03 09:21:28 +08:00
committed by GitHub
parent 1a06a7be88
commit e3267673a9

View File

@@ -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<ColumnDescriptor>,
/// 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<ColumnDescriptor>,
}
@@ -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<ColumnFamilyDescriptor>,
}
@@ -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)]