Skip to content

Commit 1a4c4bb

Browse files
committed
feat: Declare aliasMember in open specification
1 parent 07be00f commit 1a4c4bb

File tree

4 files changed

+22
-39
lines changed

4 files changed

+22
-39
lines changed

packages/cubejs-api-gateway/openspec.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -129,6 +129,9 @@ components:
129129
type: "string"
130130
type:
131131
type: "string"
132+
aliasMember:
133+
description: "When dimension is defined in View, it keeps the original path: Cube.dimension"
134+
type: "string"
132135
granularities:
133136
type: array
134137
items:

rust/cubesql/cubeclient/src/models/v1_cube_meta_dimension.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,9 @@ pub struct V1CubeMetaDimension {
1616
pub description: Option<String>,
1717
#[serde(rename = "type")]
1818
pub r#type: String,
19+
/// When dimension is defined in View, it keeps the original path: Cube.dimension
20+
#[serde(rename = "aliasMember", skip_serializing_if = "Option::is_none")]
21+
pub alias_member: Option<String>,
1922
#[serde(rename = "granularities", skip_serializing_if = "Option::is_none")]
2023
pub granularities: Option<Vec<crate::models::V1CubeMetaDimensionGranularity>>,
2124
#[serde(rename = "meta", skip_serializing_if = "Option::is_none")]
@@ -28,6 +31,7 @@ impl V1CubeMetaDimension {
2831
name,
2932
description: None,
3033
r#type,
34+
alias_member: None,
3135
granularities: None,
3236
meta: None,
3337
}

rust/cubesql/cubesql/benches/large_model.rs

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ use cubesql::{
1111
},
1212
sql_generator,
1313
},
14-
transport::MetaContext,
14+
transport::{CubeMetaDimension, MetaContext},
1515
};
1616
use egg::StopReason;
1717
use itertools::Itertools;
@@ -94,10 +94,8 @@ pub fn get_large_model_test_meta(dims: usize) -> Vec<V1CubeMeta> {
9494
dimensions: (1..=dims)
9595
.map(|n| V1CubeMetaDimension {
9696
name: format!("{}.n{}", cube_name, n),
97-
description: None,
9897
r#type: "number".to_string(),
99-
granularities: None,
100-
meta: None,
98+
..CubeMetaDimension::default()
10199
})
102100
.collect(),
103101
segments: vec![],

rust/cubesql/cubesql/src/compile/test/mod.rs

Lines changed: 13 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -52,45 +52,34 @@ pub fn get_test_meta() -> Vec<CubeMeta> {
5252
dimensions: vec![
5353
CubeMetaDimension {
5454
name: "KibanaSampleDataEcommerce.order_date".to_string(),
55-
description: None,
5655
r#type: "time".to_string(),
57-
granularities: None,
58-
meta: None,
56+
..CubeMetaDimension::default()
5957
},
6058
CubeMetaDimension {
6159
name: "KibanaSampleDataEcommerce.last_mod".to_string(),
62-
description: None,
6360
r#type: "time".to_string(),
64-
granularities: None,
65-
meta: None,
61+
..CubeMetaDimension::default()
6662
},
6763
CubeMetaDimension {
6864
name: "KibanaSampleDataEcommerce.customer_gender".to_string(),
6965
description: Some("Customer gender".to_string()),
7066
r#type: "string".to_string(),
71-
granularities: None,
72-
meta: None,
67+
..CubeMetaDimension::default()
7368
},
7469
CubeMetaDimension {
7570
name: "KibanaSampleDataEcommerce.notes".to_string(),
76-
description: None,
7771
r#type: "string".to_string(),
78-
granularities: None,
79-
meta: None,
72+
..CubeMetaDimension::default()
8073
},
8174
CubeMetaDimension {
8275
name: "KibanaSampleDataEcommerce.taxful_total_price".to_string(),
83-
description: None,
8476
r#type: "number".to_string(),
85-
granularities: None,
86-
meta: None,
77+
..CubeMetaDimension::default()
8778
},
8879
CubeMetaDimension {
8980
name: "KibanaSampleDataEcommerce.has_subscription".to_string(),
90-
description: None,
9181
r#type: "boolean".to_string(),
92-
granularities: None,
93-
meta: None,
82+
..CubeMetaDimension::default()
9483
},
9584
],
9685
measures: vec![
@@ -173,24 +162,18 @@ pub fn get_test_meta() -> Vec<CubeMeta> {
173162
dimensions: vec![
174163
CubeMetaDimension {
175164
name: "Logs.id".to_string(),
176-
description: None,
177165
r#type: "number".to_string(),
178-
granularities: None,
179-
meta: None,
166+
..CubeMetaDimension::default()
180167
},
181168
CubeMetaDimension {
182169
name: "Logs.read".to_string(),
183-
description: None,
184170
r#type: "boolean".to_string(),
185-
granularities: None,
186-
meta: None,
171+
..CubeMetaDimension::default()
187172
},
188173
CubeMetaDimension {
189174
name: "Logs.content".to_string(),
190-
description: None,
191175
r#type: "string".to_string(),
192-
granularities: None,
193-
meta: None,
176+
..CubeMetaDimension::default()
194177
},
195178
],
196179
measures: vec![
@@ -244,10 +227,8 @@ pub fn get_test_meta() -> Vec<CubeMeta> {
244227
dimensions: (0..100)
245228
.map(|i| CubeMetaDimension {
246229
name: format!("WideCube.dim{}", i),
247-
description: None,
248230
r#type: "number".to_string(),
249-
granularities: None,
250-
meta: None,
231+
..CubeMetaDimension::default()
251232
})
252233
.collect(),
253234
measures: (0..100)
@@ -321,22 +302,19 @@ pub fn get_test_meta() -> Vec<CubeMeta> {
321302
name: format!("MultiTypeCube.dim_num{}", i),
322303
description: Some(format!("Test numeric dimention {i}")),
323304
r#type: "number".to_string(),
324-
granularities: None,
325-
meta: None,
305+
..CubeMetaDimension::default()
326306
},
327307
CubeMetaDimension {
328308
name: format!("MultiTypeCube.dim_str{}", i),
329309
description: Some(format!("Test string dimention {i}")),
330310
r#type: "string".to_string(),
331-
granularities: None,
332-
meta: None,
311+
..CubeMetaDimension::default()
333312
},
334313
CubeMetaDimension {
335314
name: format!("MultiTypeCube.dim_date{}", i),
336315
description: Some(format!("Test time dimention {i}")),
337316
r#type: "time".to_string(),
338-
granularities: None,
339-
meta: None,
317+
..CubeMetaDimension::default()
340318
},
341319
]
342320
})

0 commit comments

Comments
 (0)