diff --git a/rust/cubesql/cubeclient/.openapi-generator/FILES b/rust/cubesql/cubeclient/.openapi-generator/FILES index 2f288e258b01c..77271cbe4bd13 100644 --- a/rust/cubesql/cubeclient/.openapi-generator/FILES +++ b/rust/cubesql/cubeclient/.openapi-generator/FILES @@ -3,6 +3,7 @@ src/lib.rs src/models/mod.rs src/models/v1_cube_meta.rs src/models/v1_cube_meta_dimension.rs +src/models/v1_cube_meta_dimension_granularity.rs src/models/v1_cube_meta_join.rs src/models/v1_cube_meta_measure.rs src/models/v1_cube_meta_segment.rs diff --git a/rust/cubesql/cubeclient/src/models/mod.rs b/rust/cubesql/cubeclient/src/models/mod.rs index 68be0f1c3c9ef..8d227ab6ffab8 100644 --- a/rust/cubesql/cubeclient/src/models/mod.rs +++ b/rust/cubesql/cubeclient/src/models/mod.rs @@ -2,6 +2,8 @@ pub mod v1_cube_meta; pub use self::v1_cube_meta::V1CubeMeta; pub mod v1_cube_meta_dimension; pub use self::v1_cube_meta_dimension::V1CubeMetaDimension; +pub mod v1_cube_meta_dimension_granularity; +pub use self::v1_cube_meta_dimension_granularity::V1CubeMetaDimensionGranularity; pub mod v1_cube_meta_join; pub use self::v1_cube_meta_join::V1CubeMetaJoin; pub mod v1_cube_meta_measure; diff --git a/rust/cubesql/cubeclient/src/models/v1_cube_meta_dimension.rs b/rust/cubesql/cubeclient/src/models/v1_cube_meta_dimension.rs index 9bf9445d21ce1..e8d0bbe4af033 100644 --- a/rust/cubesql/cubeclient/src/models/v1_cube_meta_dimension.rs +++ b/rust/cubesql/cubeclient/src/models/v1_cube_meta_dimension.rs @@ -16,6 +16,8 @@ pub struct V1CubeMetaDimension { pub description: Option, #[serde(rename = "type")] pub _type: String, + #[serde(rename = "granularities", skip_serializing_if = "Option::is_none")] + pub granularities: Option>, } impl V1CubeMetaDimension { @@ -24,6 +26,7 @@ impl V1CubeMetaDimension { name, description: None, _type, + granularities: None, } } } diff --git a/rust/cubesql/cubeclient/src/models/v1_cube_meta_dimension_granularity.rs b/rust/cubesql/cubeclient/src/models/v1_cube_meta_dimension_granularity.rs new file mode 100644 index 0000000000000..f3f44c9bc3b8e --- /dev/null +++ b/rust/cubesql/cubeclient/src/models/v1_cube_meta_dimension_granularity.rs @@ -0,0 +1,35 @@ +/* + * Cube.js + * + * Cube.js Swagger Schema + * + * The version of the OpenAPI document: 1.0.0 + * + * Generated by: https://openapi-generator.tech + */ + +#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)] +pub struct V1CubeMetaDimensionGranularity { + #[serde(rename = "name")] + pub name: String, + #[serde(rename = "title")] + pub title: String, + #[serde(rename = "interval")] + pub interval: String, + #[serde(rename = "offset", skip_serializing_if = "Option::is_none")] + pub offset: Option, + #[serde(rename = "origin", skip_serializing_if = "Option::is_none")] + pub origin: Option, +} + +impl V1CubeMetaDimensionGranularity { + pub fn new(name: String, title: String, interval: String) -> V1CubeMetaDimensionGranularity { + V1CubeMetaDimensionGranularity { + name, + title, + interval, + offset: None, + origin: None, + } + } +} diff --git a/rust/cubesql/cubesql/benches/large_model.rs b/rust/cubesql/cubesql/benches/large_model.rs index 5d860b710a5fc..2c91a16ce2914 100644 --- a/rust/cubesql/cubesql/benches/large_model.rs +++ b/rust/cubesql/cubesql/benches/large_model.rs @@ -93,6 +93,7 @@ pub fn get_large_model_test_meta(dims: usize) -> Vec { name: format!("{}.n{}", cube_name, n), description: None, _type: "number".to_string(), + granularities: None, }) .collect(), segments: vec![], diff --git a/rust/cubesql/cubesql/src/compile/test/mod.rs b/rust/cubesql/cubesql/src/compile/test/mod.rs index 2ea8d1df0e54d..3b62d2f1ad564 100644 --- a/rust/cubesql/cubesql/src/compile/test/mod.rs +++ b/rust/cubesql/cubesql/src/compile/test/mod.rs @@ -56,31 +56,37 @@ pub fn get_test_meta() -> Vec { name: "KibanaSampleDataEcommerce.order_date".to_string(), description: None, _type: "time".to_string(), + granularities: None, }, CubeMetaDimension { name: "KibanaSampleDataEcommerce.last_mod".to_string(), description: None, _type: "time".to_string(), + granularities: None, }, CubeMetaDimension { name: "KibanaSampleDataEcommerce.customer_gender".to_string(), description: Some("Customer gender".to_string()), _type: "string".to_string(), + granularities: None, }, CubeMetaDimension { name: "KibanaSampleDataEcommerce.notes".to_string(), description: None, _type: "string".to_string(), + granularities: None, }, CubeMetaDimension { name: "KibanaSampleDataEcommerce.taxful_total_price".to_string(), description: None, _type: "number".to_string(), + granularities: None, }, CubeMetaDimension { name: "KibanaSampleDataEcommerce.has_subscription".to_string(), description: None, _type: "boolean".to_string(), + granularities: None, }, ], measures: vec![ @@ -155,16 +161,19 @@ pub fn get_test_meta() -> Vec { name: "Logs.id".to_string(), description: None, _type: "number".to_string(), + granularities: None, }, CubeMetaDimension { name: "Logs.read".to_string(), description: None, _type: "boolean".to_string(), + granularities: None, }, CubeMetaDimension { name: "Logs.content".to_string(), description: None, _type: "string".to_string(), + granularities: None, }, ], measures: vec![ @@ -213,6 +222,7 @@ pub fn get_test_meta() -> Vec { name: format!("WideCube.dim{}", i), description: None, _type: "number".to_string(), + granularities: None, }) .collect(), measures: (0..100) @@ -278,16 +288,19 @@ pub fn get_test_meta() -> Vec { name: format!("MultiTypeCube.dim_num{}", i), description: Some(format!("Test numeric dimention {i}")), _type: "number".to_string(), + granularities: None, }, CubeMetaDimension { name: format!("MultiTypeCube.dim_str{}", i), description: Some(format!("Test string dimention {i}")), _type: "string".to_string(), + granularities: None, }, CubeMetaDimension { name: format!("MultiTypeCube.dim_date{}", i), description: Some(format!("Test time dimention {i}")), _type: "time".to_string(), + granularities: None, }, ] })