Skip to content

Commit 8eb18e2

Browse files
committed
chore: simplify alter and drop cluster key logic
1 parent cce8c74 commit 8eb18e2

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

51 files changed

+178
-358
lines changed

src/common/base/src/runtime/metrics/family_metrics/counter.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ impl<Labels: FamilyLabels> FamilyCounter<Labels> {
4242
FamilyCounter {
4343
index,
4444
labels,
45-
value: Arc::new(Default::default()),
45+
value: Default::default(),
4646
}
4747
}
4848

src/meta/app/src/schema/table.rs

Lines changed: 3 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -262,10 +262,8 @@ pub struct TableMeta {
262262
pub options: BTreeMap<String, String>,
263263
// The default cluster key.
264264
pub default_cluster_key: Option<String>,
265-
// All cluster keys that have been defined.
266-
pub cluster_keys: Vec<String>,
267-
// The sequence number of default_cluster_key in cluster_keys.
268-
pub default_cluster_key_id: Option<u32>,
265+
// The sequence number of default_cluster_key.
266+
pub default_cluster_key_id: u32,
269267
pub created_on: DateTime<Utc>,
270268
pub updated_on: DateTime<Utc>,
271269
pub comment: String,
@@ -419,8 +417,7 @@ impl Default for TableMeta {
419417
part_prefix: "".to_string(),
420418
options: BTreeMap::new(),
421419
default_cluster_key: None,
422-
cluster_keys: vec![],
423-
default_cluster_key_id: None,
420+
default_cluster_key_id: 0,
424421
created_on: Utc::now(),
425422
updated_on: Utc::now(),
426423
comment: "".to_string(),
@@ -434,20 +431,6 @@ impl Default for TableMeta {
434431
}
435432
}
436433

437-
impl TableMeta {
438-
pub fn push_cluster_key(mut self, cluster_key: String) -> Self {
439-
self.cluster_keys.push(cluster_key.clone());
440-
self.default_cluster_key = Some(cluster_key);
441-
self.default_cluster_key_id = Some(self.cluster_keys.len() as u32 - 1);
442-
self
443-
}
444-
445-
pub fn cluster_key(&self) -> Option<(u32, String)> {
446-
self.default_cluster_key_id
447-
.zip(self.default_cluster_key.clone())
448-
}
449-
}
450-
451434
impl Display for TableMeta {
452435
fn fmt(&self, f: &mut Formatter) -> fmt::Result {
453436
write!(

src/meta/proto-conv/src/table_from_to_protobuf_impl.rs

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -192,6 +192,12 @@ impl FromToProto for mt::TableMeta {
192192
indexes.insert(name, mt::TableIndex::from_pb(index)?);
193193
}
194194

195+
let default_cluster_key_id = if let Some(cluster_key_id) = p.default_cluster_key_id {
196+
cluster_key_id
197+
} else {
198+
p.cluster_keys.len() as u32 - 1
199+
};
200+
195201
let v = Self {
196202
schema: Arc::new(ex::TableSchema::from_pb(schema)?),
197203
engine: p.engine,
@@ -203,8 +209,7 @@ impl FromToProto for mt::TableMeta {
203209
part_prefix: p.part_prefix.unwrap_or("".to_string()),
204210
options: p.options,
205211
default_cluster_key: p.default_cluster_key,
206-
cluster_keys: p.cluster_keys,
207-
default_cluster_key_id: p.default_cluster_key_id,
212+
default_cluster_key_id,
208213
created_on: DateTime::<Utc>::from_pb(p.created_on)?,
209214
updated_on: DateTime::<Utc>::from_pb(p.updated_on)?,
210215
drop_on: match p.drop_on {
@@ -251,8 +256,9 @@ impl FromToProto for mt::TableMeta {
251256
},
252257
options: self.options.clone(),
253258
default_cluster_key: self.default_cluster_key.clone(),
254-
cluster_keys: self.cluster_keys.clone(),
255-
default_cluster_key_id: self.default_cluster_key_id,
259+
// cluster_keys is deprecated.
260+
cluster_keys: vec![],
261+
default_cluster_key_id: Some(self.default_cluster_key_id),
256262
created_on: self.created_on.to_pb()?,
257263
updated_on: self.updated_on.to_pb()?,
258264
drop_on: match self.drop_on {

src/meta/proto-conv/tests/it/proto_conv.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -141,8 +141,7 @@ fn new_table_meta() -> mt::TableMeta {
141141
engine_options: btreemap! {s("abc") => s("def")},
142142
options: btreemap! {s("xyz") => s("foo")},
143143
default_cluster_key: Some("(a + 2, b)".to_string()),
144-
cluster_keys: vec!["(a + 2, b)".to_string()],
145-
default_cluster_key_id: Some(0),
144+
default_cluster_key_id: 0,
146145
created_on: Utc.with_ymd_and_hms(2014, 11, 28, 12, 0, 9).unwrap(),
147146
updated_on: Utc.with_ymd_and_hms(2014, 11, 29, 12, 0, 10).unwrap(),
148147
comment: s("table_comment"),

src/meta/proto-conv/tests/it/v002_table_meta.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -132,8 +132,7 @@ fn test_decode_v2_table_meta() -> anyhow::Result<()> {
132132
engine_options: btreemap! {s("abc") => s("def")},
133133
options: btreemap! {s("xyz") => s("foo")},
134134
default_cluster_key: Some("(a + 2, b)".to_string()),
135-
cluster_keys: vec!["(a + 2, b)".to_string()],
136-
default_cluster_key_id: Some(0),
135+
default_cluster_key_id: 0,
137136
created_on: Utc.with_ymd_and_hms(2014, 11, 28, 12, 0, 9).unwrap(),
138137
updated_on: Utc.with_ymd_and_hms(2014, 11, 29, 12, 0, 10).unwrap(),
139138
comment: s("table_comment"),

src/meta/proto-conv/tests/it/v010_table_meta.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -134,8 +134,7 @@ fn test_decode_v10_table_meta() -> anyhow::Result<()> {
134134
part_prefix: "".to_string(),
135135
options: btreemap! {s("xyz") => s("foo")},
136136
default_cluster_key: Some("(a + 2, b)".to_string()),
137-
cluster_keys: vec!["(a + 2, b)".to_string()],
138-
default_cluster_key_id: Some(0),
137+
default_cluster_key_id: 0,
139138
created_on: Utc.with_ymd_and_hms(2014, 11, 28, 12, 0, 9).unwrap(),
140139
updated_on: Utc.with_ymd_and_hms(2014, 11, 29, 12, 0, 10).unwrap(),
141140
comment: s("table_comment"),

src/meta/proto-conv/tests/it/v012_table_meta.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -136,8 +136,7 @@ fn test_decode_v12_table_meta() -> anyhow::Result<()> {
136136
part_prefix: "".to_string(),
137137
options: btreemap! {s("xyz") => s("foo")},
138138
default_cluster_key: Some("(a + 2, b)".to_string()),
139-
cluster_keys: vec!["(a + 2, b)".to_string()],
140-
default_cluster_key_id: Some(0),
139+
default_cluster_key_id: 0,
141140
created_on: Utc.with_ymd_and_hms(2014, 11, 28, 12, 0, 9).unwrap(),
142141
updated_on: Utc.with_ymd_and_hms(2014, 11, 29, 12, 0, 10).unwrap(),
143142
comment: s("table_comment"),

src/meta/proto-conv/tests/it/v023_table_meta.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -136,8 +136,7 @@ fn test_decode_v23_table_meta() -> anyhow::Result<()> {
136136
part_prefix: "lulu_".to_string(),
137137
options: btreemap! {s("xyz") => s("foo")},
138138
default_cluster_key: Some("(a + 2, b)".to_string()),
139-
cluster_keys: vec!["(a + 2, b)".to_string()],
140-
default_cluster_key_id: Some(0),
139+
default_cluster_key_id: 0,
141140
created_on: Utc.with_ymd_and_hms(2014, 11, 28, 12, 0, 9).unwrap(),
142141
updated_on: Utc.with_ymd_and_hms(2014, 11, 29, 12, 0, 10).unwrap(),
143142
comment: s("table_comment"),

src/meta/proto-conv/tests/it/v024_table_meta.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -136,8 +136,7 @@ fn test_decode_v24_table_meta() -> anyhow::Result<()> {
136136
part_prefix: "lulu_".to_string(),
137137
options: btreemap! {s("xyz") => s("foo")},
138138
default_cluster_key: Some("(a + 2, b)".to_string()),
139-
cluster_keys: vec!["(a + 2, b)".to_string()],
140-
default_cluster_key_id: Some(0),
139+
default_cluster_key_id: 0,
141140
created_on: Utc.with_ymd_and_hms(2014, 11, 28, 12, 0, 9).unwrap(),
142141
updated_on: Utc.with_ymd_and_hms(2014, 11, 29, 12, 0, 10).unwrap(),
143142
comment: s("table_comment"),

src/meta/proto-conv/tests/it/v033_table_meta.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -138,8 +138,7 @@ fn test_decode_v33_table_meta() -> anyhow::Result<()> {
138138
engine_options: btreemap! {s("abc") => s("def")},
139139
options: btreemap! {s("xyz") => s("foo")},
140140
default_cluster_key: Some("(a + 2, b)".to_string()),
141-
cluster_keys: vec!["(a + 2, b)".to_string()],
142-
default_cluster_key_id: Some(0),
141+
default_cluster_key_id: 0,
143142
created_on: Utc.with_ymd_and_hms(2014, 11, 28, 12, 0, 9).unwrap(),
144143
updated_on: Utc.with_ymd_and_hms(2014, 11, 29, 12, 0, 10).unwrap(),
145144
comment: s("table_comment"),

0 commit comments

Comments
 (0)