From 9bcddf8ba679aa96745068ad27f5ef051a21012b Mon Sep 17 00:00:00 2001 From: Alexander Kolov Date: Tue, 11 Mar 2025 21:26:44 +0900 Subject: [PATCH 01/49] Fix capitalization --- packages/cubejs-docker/definite.Dockerfile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/cubejs-docker/definite.Dockerfile b/packages/cubejs-docker/definite.Dockerfile index af1865624..378ed380a 100644 --- a/packages/cubejs-docker/definite.Dockerfile +++ b/packages/cubejs-docker/definite.Dockerfile @@ -98,17 +98,17 @@ RUN yarn config set network-timeout 120000 -g # We are doing version bump without updating lock files for the docker package. #RUN yarn install --frozen-lockfile -FROM base as prod_base_dependencies +FROM base AS prod_base_dependencies COPY packages/cubejs-databricks-jdbc-driver/package.json packages/cubejs-databricks-jdbc-driver/package.json RUN mkdir packages/cubejs-databricks-jdbc-driver/bin RUN echo '#!/usr/bin/env node' > packages/cubejs-databricks-jdbc-driver/bin/post-install RUN yarn install --prod -FROM prod_base_dependencies as prod_dependencies +FROM prod_base_dependencies AS prod_dependencies COPY packages/cubejs-databricks-jdbc-driver/bin packages/cubejs-databricks-jdbc-driver/bin RUN yarn install --prod --ignore-scripts -FROM base as build +FROM base AS build RUN yarn install From 07bc81c340f69a56002f93d35a472fa41edf025c Mon Sep 17 00:00:00 2001 From: waralexrom <108349432+waralexrom@users.noreply.github.com> Date: Mon, 3 Mar 2025 13:56:07 +0100 Subject: [PATCH 02/49] chore(tesseract): Fix issue with FILTER_PARAMS and issue with multi-stage behavior of non multi-stage members (#9211) --- .../src/adapter/BaseQuery.js | 22 ++++ .../postgres/sql-generation.test.ts | 123 +++++++++++++++++- rust/cubenativeutils/src/wrappers/context.rs | 4 + .../src/wrappers/neon/context.rs | 7 + .../src/wrappers/serializer/serializer.rs | 2 +- .../src/cube_bridge/base_query_options.rs | 2 +- .../src/cube_bridge/base_tools.rs | 11 +- .../cubesqlplanner/src/plan/builder/select.rs | 4 +- .../src/planner/filter/compiler.rs | 2 +- .../src/planner/filter/filter_operator.rs | 28 ++++ .../planners/multi_stage/applied_state.rs | 27 +++- .../planners/multi_stage_query_planner.rs | 27 +++- .../src/planner/sql_evaluator/sql_call.rs | 73 ++++++++++- .../src/planner/sql_evaluator/sql_visitor.rs | 13 +- .../sql_evaluator/symbols/member_symbol.rs | 9 ++ .../symbols/time_dimension_symbol.rs | 4 + .../src/planner/visitor_context.rs | 7 +- 17 files changed, 337 insertions(+), 28 deletions(-) diff --git a/packages/cubejs-schema-compiler/src/adapter/BaseQuery.js b/packages/cubejs-schema-compiler/src/adapter/BaseQuery.js index b84125aba..ad2b18079 100644 --- a/packages/cubejs-schema-compiler/src/adapter/BaseQuery.js +++ b/packages/cubejs-schema-compiler/src/adapter/BaseQuery.js @@ -1855,6 +1855,7 @@ export class BaseQuery { 'collectSubQueryDimensionsFor' ) ), inlineWhereConditions); + return `SELECT ${this.selectAllDimensionsAndMeasures(measures)} FROM ${ query } ${this.baseWhere(filters.concat(inlineWhereConditions))}` + @@ -4001,6 +4002,23 @@ export class BaseQuery { ); } + filtersProxyForRust(usedFilters) { + const filters = this.extractFiltersAsTree(usedFilters || []); + const allFilters = filters.map(this.initFilter.bind(this)); + return BaseQuery.filterProxyFromAllFilters( + allFilters, + this.cubeEvaluator, + this.paramAllocator.allocateParam.bind(this.paramAllocator), + this.newGroupFilter.bind(this), + ); + } + + filterGroupFunctionForRust(usedFilters) { + const filters = this.extractFiltersAsTree(usedFilters || []); + const allFilters = filters.map(this.initFilter.bind(this)); + return this.filterGroupFunctionImpl(allFilters); + } + static renderFilterParams(filter, filterParamArgs, allocateParam, newGroupFilter, aliases) { if (!filter) { return BaseFilter.ALWAYS_TRUE; @@ -4046,6 +4064,10 @@ export class BaseQuery { filterGroupFunction() { const { allFilters } = this; + return this.filterGroupFunctionImpl(allFilters); + } + + filterGroupFunctionImpl(allFilters) { const allocateParam = this.paramAllocator.allocateParam.bind(this.paramAllocator); const newGroupFilter = this.newGroupFilter.bind(this); return (...filterParamArgs) => { diff --git a/packages/cubejs-schema-compiler/test/integration/postgres/sql-generation.test.ts b/packages/cubejs-schema-compiler/test/integration/postgres/sql-generation.test.ts index 1fda04d9c..e11b7f01b 100644 --- a/packages/cubejs-schema-compiler/test/integration/postgres/sql-generation.test.ts +++ b/packages/cubejs-schema-compiler/test/integration/postgres/sql-generation.test.ts @@ -1,3 +1,4 @@ +import { getEnv } from '@cubejs-backend/shared'; import { UserError } from '../../../src/compiler/UserError'; import { PostgresQuery } from '../../../src/adapter/PostgresQuery'; import { BigqueryQuery } from '../../../src/adapter/BigqueryQuery'; @@ -312,9 +313,12 @@ describe('SQL Generation', () => { cube('visitor_checkins', { sql: \` - select * from visitor_checkins WHERE - \${FILTER_PARAMS.visitor_checkins.created_at.filter('created_at')} AND - \${FILTER_GROUP(FILTER_PARAMS.visitor_checkins.created_at.filter("(created_at - INTERVAL '3 DAY')"), FILTER_PARAMS.visitor_checkins.source.filter('source'))} + select visitor_checkins.* from visitor_checkins left join visitors on visitor_checkins.visitor_id = visitors.id WHERE + \${FILTER_PARAMS.visitor_checkins.created_at.filter('visitor_checkins.created_at')} AND + \${FILTER_GROUP(FILTER_PARAMS.visitor_checkins.created_at.filter("(visitor_checkins.created_at - INTERVAL '3 DAY')"), FILTER_PARAMS.visitor_checkins.source.filter('visitor_checkins.source'))} + AND \${SECURITY_CONTEXT.source.filter('visitors.source')} AND + \${SECURITY_CONTEXT.sourceArray.filter(sourceArray => \`visitors.source in (\${sourceArray.join(',')})\`)} + \`, sql_alias: \`vc\`, @@ -567,6 +571,84 @@ describe('SQL Generation', () => { }, } }); + + cube('rollingWindowDates', { + sql: \` + SELECT cast('2024-01-13' AS timestamp) as time UNION ALL + SELECT cast('2024-02-13' AS timestamp) as time UNION ALL + SELECT cast('2024-03-13' AS timestamp) as time UNION ALL + SELECT cast('2024-04-13' AS timestamp) as time UNION ALL + SELECT cast('2024-05-13' AS timestamp) as time UNION ALL + SELECT cast('2024-06-13' AS timestamp) as time UNION ALL + SELECT cast('2024-07-13' AS timestamp) as time UNION ALL + SELECT cast('2024-08-13' AS timestamp) as time UNION ALL + SELECT cast('2024-09-13' AS timestamp) as time UNION ALL + SELECT cast('2024-10-13' AS timestamp) as time UNION ALL + SELECT cast('2024-11-13' AS timestamp) as time UNION ALL + SELECT cast('2024-12-13' AS timestamp) as time + \`, + + dimensions: { + time: { + type: 'time', + sql: 'time', + primaryKey: true + } + } + }); + + cube('rollingWindowTest', { + sql: \` +SELECT 1 AS revenue, cast('2024-01-01' AS timestamp) as time UNION ALL + SELECT 1 AS revenue, cast('2024-02-01' AS timestamp) as time UNION ALL + SELECT 1 AS revenue, cast('2024-03-01' AS timestamp) as time UNION ALL + SELECT 1 AS revenue, cast('2024-04-01' AS timestamp) as time UNION ALL + SELECT 1 AS revenue, cast('2024-05-01' AS timestamp) as time UNION ALL + SELECT 1 AS revenue, cast('2024-06-01' AS timestamp) as time UNION ALL + SELECT 1 AS revenue, cast('2024-07-01' AS timestamp) as time UNION ALL + SELECT 1 AS revenue, cast('2024-08-01' AS timestamp) as time UNION ALL + SELECT 1 AS revenue, cast('2024-09-01' AS timestamp) as time UNION ALL + SELECT 1 AS revenue, cast('2024-10-01' AS timestamp) as time UNION ALL + SELECT 1 AS revenue, cast('2024-11-01' AS timestamp) as time UNION ALL + SELECT 1 AS revenue, cast('2024-12-01' AS timestamp) as time + \`, + + dimensions: { + time: { + type: 'time', + sql: 'time', + primaryKey: true + } + }, + measures: { + revenue: { + sql: 'revenue', + type: 'sum', + filters: [{ + sql: \`\${rollingWindowDates.time} <= current_date\` + }] + }, + revenue_ytd: { + sql: \`\${CUBE.revenue}\`, + type: 'sum', + rolling_window: { + type: 'to_date', + granularity: 'year' + } + }, + revenue_ms: { + sql: \`\${CUBE.revenue}\`, + type: 'sum', + multi_stage: true, + }, + }, + joins: { + rollingWindowDates: { + relationship: 'manyToOne', + sql: \`\${CUBE}.time = date_trunc('month', \${rollingWindowDates.time})\` + } + } + }); `); it('simple join', async () => { @@ -1966,7 +2048,7 @@ describe('SQL Generation', () => { ])); it( - 'contains filter 1', + 'contains filter', () => runQueryTest({ measures: [], dimensions: [ @@ -2761,7 +2843,7 @@ describe('SQL Generation', () => { ] )); - it('rank measure 1', async () => runQueryTest( + it('rank measure', async () => runQueryTest( { measures: ['visitors.revenue_rank'], }, @@ -3152,6 +3234,37 @@ describe('SQL Generation', () => { }] )); + if (getEnv('nativeSqlPlanner')) { + it('nested aggregations with filtered measures and rolling windows', async () => runQueryTest( + { + measures: ['rollingWindowTest.revenue_ms'], + }, + [{ + rolling_window_test__revenue_ms: '12' + }] + )); + } + + it('multiplied sum and count no dimensions through view', async () => runQueryTest( + { + measures: ['visitors_visitors_checkins_view.revenue', 'visitors_visitors_checkins_view.visitor_checkins_count'], + }, + [{ + visitors_visitors_checkins_view__revenue: '2000', + visitors_visitors_checkins_view__visitor_checkins_count: '6' + }] + )); + + it('multiplied sum no dimensions through view', async () => runQueryTest( + { + measures: ['visitors_visitors_checkins_view.revenue', 'visitors_visitors_checkins_view.id_sum'], + }, + [{ + visitors_visitors_checkins_view__revenue: '2000', + visitors_visitors_checkins_view__id_sum: '21' + }] + )); + // Subquery aggregation for multiplied measure (and any `keysSelect` for that matter) // should pick up all dimensions, even through member expressions it('multiplied sum with dimension member expressions', async () => runQueryTest( diff --git a/rust/cubenativeutils/src/wrappers/context.rs b/rust/cubenativeutils/src/wrappers/context.rs index 9695b3071..805e7923f 100644 --- a/rust/cubenativeutils/src/wrappers/context.rs +++ b/rust/cubenativeutils/src/wrappers/context.rs @@ -6,6 +6,7 @@ pub trait NativeContext: Clone { fn string(&self, v: String) -> Result; fn number(&self, v: f64) -> Result; fn undefined(&self) -> Result, CubeError>; + fn null(&self) -> Result, CubeError>; fn empty_array(&self) -> Result; fn empty_struct(&self) -> Result; //fn boxed(&self, value: T) -> impl NativeBox; @@ -36,6 +37,9 @@ impl NativeContextHolder { pub fn undefined(&self) -> Result, CubeError> { self.context.undefined() } + pub fn null(&self) -> Result, CubeError> { + self.context.null() + } pub fn empty_array(&self) -> Result { self.context.empty_array() } diff --git a/rust/cubenativeutils/src/wrappers/neon/context.rs b/rust/cubenativeutils/src/wrappers/neon/context.rs index aff6f55a6..10be1a53f 100644 --- a/rust/cubenativeutils/src/wrappers/neon/context.rs +++ b/rust/cubenativeutils/src/wrappers/neon/context.rs @@ -144,6 +144,13 @@ impl + 'static> NativeContext> for Context ))) } + fn null(&self) -> Result>, CubeError> { + Ok(NativeObjectHandle::new(NeonObject::new( + self.clone(), + self.with_context(|cx| cx.null().upcast())?, + ))) + } + fn empty_array(&self) -> Result, CubeError> { let obj = NeonObject::new( self.clone(), diff --git a/rust/cubenativeutils/src/wrappers/serializer/serializer.rs b/rust/cubenativeutils/src/wrappers/serializer/serializer.rs index 6570df1e3..f8ee638db 100644 --- a/rust/cubenativeutils/src/wrappers/serializer/serializer.rs +++ b/rust/cubenativeutils/src/wrappers/serializer/serializer.rs @@ -138,7 +138,7 @@ impl ser::Serializer for NativeSerdeSerializer { } fn serialize_none(self) -> Result { - Ok(self.context.undefined()?) + Ok(self.context.null()?) } fn serialize_some(self, value: &T) -> Result diff --git a/rust/cubesqlplanner/cubesqlplanner/src/cube_bridge/base_query_options.rs b/rust/cubesqlplanner/cubesqlplanner/src/cube_bridge/base_query_options.rs index e5d75e4fa..1e87da936 100644 --- a/rust/cubesqlplanner/cubesqlplanner/src/cube_bridge/base_query_options.rs +++ b/rust/cubesqlplanner/cubesqlplanner/src/cube_bridge/base_query_options.rs @@ -23,7 +23,7 @@ pub struct TimeDimension { pub struct FilterItem { pub or: Option>, pub and: Option>, - member: Option, + pub member: Option, pub dimension: Option, pub operator: Option, pub values: Option>>, diff --git a/rust/cubesqlplanner/cubesqlplanner/src/cube_bridge/base_tools.rs b/rust/cubesqlplanner/cubesqlplanner/src/cube_bridge/base_tools.rs index 0ccc1567b..94ec487c2 100644 --- a/rust/cubesqlplanner/cubesqlplanner/src/cube_bridge/base_tools.rs +++ b/rust/cubesqlplanner/cubesqlplanner/src/cube_bridge/base_tools.rs @@ -1,3 +1,4 @@ +use super::base_query_options::FilterItem; use super::filter_group::{FilterGroup, NativeFilterGroup}; use super::filter_params::{FilterParams, NativeFilterParams}; use super::member_sql::{MemberSql, NativeMemberSql}; @@ -36,8 +37,14 @@ pub trait BaseTools { ) -> Result, CubeError>; fn security_context_for_rust(&self) -> Result, CubeError>; fn sql_utils_for_rust(&self) -> Result, CubeError>; - fn filters_proxy(&self) -> Result, CubeError>; - fn filter_group_function(&self) -> Result, CubeError>; + fn filters_proxy_for_rust( + &self, + used_filters: Option>, + ) -> Result, CubeError>; + fn filter_group_function_for_rust( + &self, + used_filters: Option>, + ) -> Result, CubeError>; fn timestamp_precision(&self) -> Result; fn in_db_time_zone(&self, date: String) -> Result; fn generate_time_series( diff --git a/rust/cubesqlplanner/cubesqlplanner/src/plan/builder/select.rs b/rust/cubesqlplanner/cubesqlplanner/src/plan/builder/select.rs index 0631a868c..4312aa48f 100644 --- a/rust/cubesqlplanner/cubesqlplanner/src/plan/builder/select.rs +++ b/rust/cubesqlplanner/cubesqlplanner/src/plan/builder/select.rs @@ -193,11 +193,11 @@ impl SelectBuilder { Select { projection_columns: self.projection_columns, from: self.from, - filter: self.filter, + filter: self.filter.clone(), group_by: self.group_by, having: self.having, order_by: self.order_by, - context: Rc::new(VisitorContext::new(&nodes_factory)), + context: Rc::new(VisitorContext::new(&nodes_factory, self.filter)), ctes: self.ctes, is_distinct: self.is_distinct, limit: self.limit, diff --git a/rust/cubesqlplanner/cubesqlplanner/src/planner/filter/compiler.rs b/rust/cubesqlplanner/cubesqlplanner/src/planner/filter/compiler.rs index e918fbb8d..43109bd5f 100644 --- a/rust/cubesqlplanner/cubesqlplanner/src/planner/filter/compiler.rs +++ b/rust/cubesqlplanner/cubesqlplanner/src/planner/filter/compiler.rs @@ -129,7 +129,7 @@ impl<'a> FilterCompiler<'a> { } else { Err(CubeError::user(format!( "Member and operator attributes is required for filter" - ))) //TODO pring condition + ))) //TODO print condition } } } diff --git a/rust/cubesqlplanner/cubesqlplanner/src/planner/filter/filter_operator.rs b/rust/cubesqlplanner/cubesqlplanner/src/planner/filter/filter_operator.rs index 99d946e46..a713e1dee 100644 --- a/rust/cubesqlplanner/cubesqlplanner/src/planner/filter/filter_operator.rs +++ b/rust/cubesqlplanner/cubesqlplanner/src/planner/filter/filter_operator.rs @@ -53,3 +53,31 @@ impl FromStr for FilterOperator { } } } + +impl ToString for FilterOperator { + fn to_string(&self) -> String { + let str = match self { + FilterOperator::Equal => "equals", + FilterOperator::NotEqual => "notEquals", + FilterOperator::InDateRange => "inDateRange", + FilterOperator::RegularRollingWindowDateRange => "inDateRange", + FilterOperator::ToDateRollingWindowDateRange => "inDateRange", + FilterOperator::In => "in", + FilterOperator::NotIn => "notIn", + FilterOperator::Set => "set", + FilterOperator::NotSet => "notSet", + FilterOperator::Gt => "gt", + FilterOperator::Gte => "gte", + FilterOperator::Lt => "lt", + FilterOperator::Lte => "lte", + FilterOperator::Contains => "contains", + FilterOperator::NotContains => "notContains", + FilterOperator::StartsWith => "startsWith", + FilterOperator::NotStartsWith => "notStartsWith", + FilterOperator::NotEndsWith => "notEndsWith", + FilterOperator::EndsWith => "endsWith", + FilterOperator::MeasureFilter => "measureFilter", + }; + str.to_string() + } +} diff --git a/rust/cubesqlplanner/cubesqlplanner/src/planner/planners/multi_stage/applied_state.rs b/rust/cubesqlplanner/cubesqlplanner/src/planner/planners/multi_stage/applied_state.rs index a60b75529..1401d33a0 100644 --- a/rust/cubesqlplanner/cubesqlplanner/src/planner/planners/multi_stage/applied_state.rs +++ b/rust/cubesqlplanner/cubesqlplanner/src/planner/planners/multi_stage/applied_state.rs @@ -173,6 +173,7 @@ impl MultiStageAppliedState { &self.time_dimensions_filters, &operator, &values, + &None, ); } @@ -188,6 +189,24 @@ impl MultiStageAppliedState { &self.time_dimensions_filters, &operator, &values, + &None, + ); + } + + pub fn replace_range_in_date_filter( + &mut self, + member_name: &String, + new_from: String, + new_to: String, + ) { + let operator = FilterOperator::InDateRange; + let replacement_values = vec![Some(new_from), Some(new_to)]; + self.time_dimensions_filters = self.change_date_range_filter_impl( + member_name, + &self.time_dimensions_filters, + &operator, + &vec![], + &Some(replacement_values), ); } @@ -197,6 +216,7 @@ impl MultiStageAppliedState { filters: &Vec, operator: &FilterOperator, additional_values: &Vec>, + replacement_values: &Option>>, ) -> Vec { let mut result = Vec::new(); for item in filters.iter() { @@ -209,6 +229,7 @@ impl MultiStageAppliedState { filters, operator, additional_values, + replacement_values, ), ))); result.push(new_group); @@ -217,7 +238,11 @@ impl MultiStageAppliedState { let itm = if &itm.member_name() == member_name && matches!(itm.filter_operator(), FilterOperator::InDateRange) { - let mut values = itm.values().clone(); + let mut values = if let Some(values) = replacement_values { + values.clone() + } else { + itm.values().clone() + }; values.extend(additional_values.iter().cloned()); itm.change_operator(operator.clone(), values) } else { diff --git a/rust/cubesqlplanner/cubesqlplanner/src/planner/planners/multi_stage_query_planner.rs b/rust/cubesqlplanner/cubesqlplanner/src/planner/planners/multi_stage_query_planner.rs index 0a9218832..79529e600 100644 --- a/rust/cubesqlplanner/cubesqlplanner/src/planner/planners/multi_stage_query_planner.rs +++ b/rust/cubesqlplanner/cubesqlplanner/src/planner/planners/multi_stage_query_planner.rs @@ -248,7 +248,26 @@ impl MultiStageQueryPlanner { &time_dimension.get_granularity(), )?; - new_state.change_time_dimension_granularity(&time_dimension_name, result_granularity); + if time_dimension.get_date_range().is_some() && result_granularity.is_some() { + let granularity = time_dimension.get_granularity().unwrap(); //FIXME remove this unwrap + let date_range = time_dimension.get_date_range().unwrap(); //FIXME remove this unwrap + let series = self + .query_tools + .base_tools() + .generate_time_series(granularity, date_range.clone())?; + if !series.is_empty() { + let new_from_date = series.first().unwrap()[0].clone(); + let new_to_date = series.last().unwrap()[1].clone(); + new_state.replace_range_in_date_filter( + &time_dimension_name, + new_from_date, + new_to_date, + ); + } + } + + new_state + .change_time_dimension_granularity(&time_dimension_name, result_granularity.clone()); if let Some(granularity) = self.get_to_date_rolling_granularity(rolling_window)? { new_state.replace_to_date_date_range_filter(&time_dimension_name, &granularity); @@ -375,9 +394,9 @@ impl MultiStageQueryPlanner { } let childs = member_childs(&member)?; - - let description = if childs.is_empty() { - if has_multi_stage_members(&member, false)? { + let has_multi_stage_members = has_multi_stage_members(&member, false)?; + let description = if childs.is_empty() || !has_multi_stage_members { + if has_multi_stage_members { return Err(CubeError::internal(format!( "Leaf multi stage query cannot contain multi stage member" ))); diff --git a/rust/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/sql_call.rs b/rust/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/sql_call.rs index 63a9a906f..a084abbc6 100644 --- a/rust/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/sql_call.rs +++ b/rust/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/sql_call.rs @@ -1,7 +1,9 @@ use super::dependecy::{ContextSymbolDep, CubeDepProperty, CubeDependency, Dependency}; use super::sql_nodes::SqlNode; use super::{symbols::MemberSymbol, SqlEvaluatorVisitor}; +use crate::cube_bridge::base_query_options::FilterItem as NativeFilterItem; use crate::cube_bridge::member_sql::{ContextSymbolArg, MemberSql, MemberSqlArg, MemberSqlStruct}; +use crate::plan::{Filter, FilterItem}; use crate::planner::query_tools::QueryTools; use crate::planner::sql_templates::PlanSqlTemplates; use cubenativeutils::CubeError; @@ -167,7 +169,7 @@ impl SqlCall { templates, ), Dependency::ContextDependency(contex_symbol) => { - self.apply_context_symbol(contex_symbol, query_tools.clone()) + self.apply_context_symbol(visitor, contex_symbol, query_tools.clone()) } } } @@ -208,6 +210,7 @@ impl SqlCall { pub fn apply_context_symbol( &self, + visitor: &SqlEvaluatorVisitor, context_symbol: &ContextSymbolDep, query_tools: Rc, ) -> Result { @@ -217,16 +220,72 @@ impl SqlCall { query_tools.base_tools().security_context_for_rust()?, )) } - ContextSymbolDep::FilterParams => MemberSqlArg::ContextSymbol( - ContextSymbolArg::FilterParams(query_tools.base_tools().filters_proxy()?), - ), - ContextSymbolDep::FilterGroup => MemberSqlArg::ContextSymbol( - ContextSymbolArg::FilterGroup(query_tools.base_tools().filter_group_function()?), - ), + ContextSymbolDep::FilterParams => { + let filters = visitor.all_filters(); + let native_filters = self.filters_to_native_filter_item(filters); + let r = query_tools + .base_tools() + .filters_proxy_for_rust(native_filters)?; + MemberSqlArg::ContextSymbol(ContextSymbolArg::FilterParams(r)) + } + ContextSymbolDep::FilterGroup => { + let filters = visitor.all_filters(); + let native_filters = self.filters_to_native_filter_item(filters); + let r = query_tools + .base_tools() + .filter_group_function_for_rust(native_filters)?; + MemberSqlArg::ContextSymbol(ContextSymbolArg::FilterGroup(r)) + } ContextSymbolDep::SqlUtils => MemberSqlArg::ContextSymbol(ContextSymbolArg::SqlUtils( query_tools.base_tools().sql_utils_for_rust()?, )), }; Ok(res) } + + fn filters_to_native_filter_item( + &self, + filter: Option, + ) -> Option> { + if let Some(filter) = filter { + let mut res = Vec::new(); + for item in filter.items.iter() { + res.push(self.filters_to_native_filter_item_impl(item)); + } + Some(res) + } else { + None + } + } + + fn filters_to_native_filter_item_impl(&self, filter_item: &FilterItem) -> NativeFilterItem { + match filter_item { + FilterItem::Group(group) => { + let mut native_items = Vec::new(); + for itm in group.items.iter() { + native_items.push(self.filters_to_native_filter_item_impl(itm)); + } + let (or, and) = match group.operator { + crate::plan::filter::FilterGroupOperator::Or => (Some(native_items), None), + crate::plan::filter::FilterGroupOperator::And => (None, Some(native_items)), + }; + NativeFilterItem { + or, + and, + member: None, + dimension: None, + operator: None, + values: None, + } + } + FilterItem::Item(filter) => NativeFilterItem { + or: None, + and: None, + member: Some(filter.member_name()), + dimension: None, + operator: Some(filter.filter_operator().to_string()), + values: Some(filter.values().clone()), + }, + } + } } diff --git a/rust/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/sql_visitor.rs b/rust/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/sql_visitor.rs index 2d9087c91..24d39e732 100644 --- a/rust/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/sql_visitor.rs +++ b/rust/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/sql_visitor.rs @@ -1,5 +1,6 @@ use super::sql_nodes::SqlNode; use super::MemberSymbol; +use crate::plan::Filter; use crate::planner::query_tools::QueryTools; use crate::planner::sql_templates::PlanSqlTemplates; use cubenativeutils::CubeError; @@ -8,11 +9,19 @@ use std::rc::Rc; #[derive(Clone)] pub struct SqlEvaluatorVisitor { query_tools: Rc, + all_filters: Option, //To pass to FILTER_PARAMS and FILTER_GROUP } impl SqlEvaluatorVisitor { - pub fn new(query_tools: Rc) -> Self { - Self { query_tools } + pub fn new(query_tools: Rc, all_filters: Option) -> Self { + Self { + query_tools, + all_filters, + } + } + + pub fn all_filters(&self) -> Option { + self.all_filters.clone() } pub fn apply( diff --git a/rust/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/symbols/member_symbol.rs b/rust/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/symbols/member_symbol.rs index 442e52312..c8eefc7e2 100644 --- a/rust/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/symbols/member_symbol.rs +++ b/rust/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/symbols/member_symbol.rs @@ -62,6 +62,15 @@ impl MemberSymbol { } } + pub fn is_multi_stage(&self) -> bool { + match self { + Self::Dimension(d) => d.is_multi_stage(), + Self::TimeDimension(d) => d.is_multi_stage(), + Self::Measure(m) => m.is_multi_stage(), + _ => false, + } + } + pub fn is_measure(&self) -> bool { matches!(self, Self::Measure(_)) } diff --git a/rust/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/symbols/time_dimension_symbol.rs b/rust/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/symbols/time_dimension_symbol.rs index 590584e87..82a14a8c8 100644 --- a/rust/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/symbols/time_dimension_symbol.rs +++ b/rust/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/symbols/time_dimension_symbol.rs @@ -46,6 +46,10 @@ impl TimeDimensionSymbol { self.base_symbol.cube_name() } + pub fn is_multi_stage(&self) -> bool { + self.base_symbol.is_multi_stage() + } + pub fn name(&self) -> String { self.base_symbol.name() } diff --git a/rust/cubesqlplanner/cubesqlplanner/src/planner/visitor_context.rs b/rust/cubesqlplanner/cubesqlplanner/src/planner/visitor_context.rs index 0eba5e2f4..1e0e9986e 100644 --- a/rust/cubesqlplanner/cubesqlplanner/src/planner/visitor_context.rs +++ b/rust/cubesqlplanner/cubesqlplanner/src/planner/visitor_context.rs @@ -1,6 +1,7 @@ use super::query_tools::QueryTools; use super::sql_evaluator::sql_nodes::{SqlNode, SqlNodesFactory}; use super::sql_evaluator::{MemberSymbol, SqlCall}; +use crate::plan::Filter; use crate::planner::sql_evaluator::SqlEvaluatorVisitor; use crate::planner::sql_templates::PlanSqlTemplates; use cubenativeutils::CubeError; @@ -8,17 +9,19 @@ use std::rc::Rc; pub struct VisitorContext { node_processor: Rc, + all_filters: Option, //To pass to FILTER_PARAMS and FILTER_GROUP } impl VisitorContext { - pub fn new(nodes_factory: &SqlNodesFactory) -> Self { + pub fn new(nodes_factory: &SqlNodesFactory, all_filters: Option) -> Self { Self { node_processor: nodes_factory.default_node_processor(), + all_filters, } } pub fn make_visitor(&self, query_tools: Rc) -> SqlEvaluatorVisitor { - SqlEvaluatorVisitor::new(query_tools) + SqlEvaluatorVisitor::new(query_tools, self.all_filters.clone()) } pub fn node_processor(&self) -> Rc { From 0e83560922fe105f158b1f56d94c062b2fdb1cd4 Mon Sep 17 00:00:00 2001 From: waralexrom <108349432+waralexrom@users.noreply.github.com> Date: Mon, 3 Mar 2025 14:48:13 +0100 Subject: [PATCH 03/49] feat(tesseract): Pre-aggregation planning fallback (#9230) --- packages/cubejs-backend-native/Cargo.lock | 15 +++- packages/cubejs-backend-shared/src/env.ts | 2 +- .../src/adapter/BaseQuery.js | 84 +++++++++++++------ .../src/adapter/PreAggregations.js | 4 - rust/cubenativeutils/src/wrappers/context.rs | 1 - rust/cubesqlplanner/Cargo.lock | 13 ++- rust/cubesqlplanner/cubesqlplanner/Cargo.toml | 2 +- .../src/planner/filter/base_filter.rs | 8 +- .../planner/planners/simple_query_planer.rs | 6 ++ .../cubesqlplanner/src/planner/query_tools.rs | 6 +- .../src/planner/sql_templates/plan.rs | 9 +- 11 files changed, 108 insertions(+), 42 deletions(-) diff --git a/packages/cubejs-backend-native/Cargo.lock b/packages/cubejs-backend-native/Cargo.lock index 91b325fac..1c143cdc5 100644 --- a/packages/cubejs-backend-native/Cargo.lock +++ b/packages/cubejs-backend-native/Cargo.lock @@ -616,6 +616,15 @@ dependencies = [ "unicode-segmentation", ] +[[package]] +name = "convert_case" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb402b8d4c85569410425650ce3eddc7d698ed96d39a73f941b08fb63082f1e7" +dependencies = [ + "unicode-segmentation", +] + [[package]] name = "core-foundation-sys" version = "0.8.6" @@ -739,7 +748,7 @@ dependencies = [ "async-trait", "axum", "bytes", - "convert_case", + "convert_case 0.6.0", "cubenativeutils", "cubeorchestrator", "cubesql", @@ -770,7 +779,7 @@ version = "0.1.0" dependencies = [ "async-channel", "async-trait", - "convert_case", + "convert_case 0.6.0", "cubesql", "lazy_static", "log", @@ -857,7 +866,7 @@ dependencies = [ "async-trait", "chrono", "chrono-tz 0.8.6", - "convert_case", + "convert_case 0.7.1", "cubeclient", "cubenativeutils", "datafusion", diff --git a/packages/cubejs-backend-shared/src/env.ts b/packages/cubejs-backend-shared/src/env.ts index 88af2878f..5b34dac59 100644 --- a/packages/cubejs-backend-shared/src/env.ts +++ b/packages/cubejs-backend-shared/src/env.ts @@ -219,7 +219,7 @@ const variables: Record any> = { scheduledRefreshBatchSize: () => get('CUBEJS_SCHEDULED_REFRESH_BATCH_SIZE') .default('1') .asInt(), - nativeSqlPlanner: () => get('CUBEJS_TESSERACT_SQL_PLANNER').asBool(), + nativeSqlPlanner: () => get('CUBEJS_TESSERACT_SQL_PLANNER').default('false').asBool(), nativeOrchestrator: () => get('CUBEJS_TESSERACT_ORCHESTRATOR') .default('false') .asBoolStrict(), diff --git a/packages/cubejs-schema-compiler/src/adapter/BaseQuery.js b/packages/cubejs-schema-compiler/src/adapter/BaseQuery.js index ad2b18079..33f749eb8 100644 --- a/packages/cubejs-schema-compiler/src/adapter/BaseQuery.js +++ b/packages/cubejs-schema-compiler/src/adapter/BaseQuery.js @@ -286,11 +286,9 @@ export class BaseQuery { return dimension; }).filter(R.identity).map(this.newTimeDimension.bind(this)); this.allFilters = this.timeDimensions.concat(this.segments).concat(this.filters); + this.useNativeSqlPlanner = this.options.useNativeSqlPlanner ?? getEnv('nativeSqlPlanner'); + this.prebuildJoin(); - if (!getEnv('nativeSqlPlanner')) { - // Tesseract doesn't require join to be prebuilt and there's a case where single join can't be built for multi-fact query - this.join = this.joinGraph.buildJoin(this.allJoinHints); - } this.cubeAliasPrefix = this.options.cubeAliasPrefix; this.preAggregationsSchemaOption = this.options.preAggregationsSchema ?? DEFAULT_PREAGGREGATIONS_SCHEMA; this.externalQueryClass = this.options.externalQueryClass; @@ -307,6 +305,15 @@ export class BaseQuery { this.initUngrouped(); } + prebuildJoin() { + /* if (!this.useNativeSqlPlanner) { We still need this join for the follback to preaggregation to work properly. This condition should be returned after the tesseract starts working with pre-aggregations + // Tesseract doesn't require join to be prebuilt and there's a case where single join can't be built for multi-fact query + this.join = this.joinGraph.buildJoin(this.allJoinHints); + } */ + + this.join = this.joinGraph.buildJoin(this.allJoinHints); + } + cacheValue(key, fn, { contextPropNames, inputProps, cache } = {}) { const currentContext = this.safeEvaluateSymbolContext(); if (contextPropNames) { @@ -383,8 +390,7 @@ export class BaseQuery { initUngrouped() { this.ungrouped = this.options.ungrouped; if (this.ungrouped) { - // this.join is not defined for Tesseract - if (!this.options.allowUngroupedWithoutPrimaryKey && !getEnv('nativeSqlPlanner')) { + if (!this.options.allowUngroupedWithoutPrimaryKey) { const cubes = R.uniq([this.join.root].concat(this.join.joins.map(j => j.originalTo))); const primaryKeyNames = cubes.flatMap(c => this.primaryKeyNames(c)); const missingPrimaryKeys = primaryKeyNames.filter(key => !this.dimensions.find(d => d.dimension === key)); @@ -611,33 +617,61 @@ export class BaseQuery { return false; } + newQueryWithoutNative() { + const QueryClass = this.constructor; + return new QueryClass(this.compilers, { ...this.options, useNativeSqlPlanner: false }); + } + /** * Returns a pair of SQL query string and parameter values for the query. * @param {boolean} [exportAnnotatedSql] - returns annotated sql with not rendered params if true * @returns {[string, Array]} */ buildSqlAndParams(exportAnnotatedSql) { - if (getEnv('nativeSqlPlanner')) { - return this.buildSqlAndParamsRust(exportAnnotatedSql); - } else { - if (!this.options.preAggregationQuery && !this.options.disableExternalPreAggregations && this.externalQueryClass) { - if (this.externalPreAggregationQuery()) { // TODO performance - return this.externalQuery().buildSqlAndParams(exportAnnotatedSql); + if (!this.options.preAggregationQuery && !this.options.disableExternalPreAggregations && this.externalQueryClass) { + if (this.externalPreAggregationQuery()) { // TODO performance + return this.externalQuery().buildSqlAndParams(exportAnnotatedSql); + } + } + + if (this.useNativeSqlPlanner) { + let isRelatedToPreAggregation = false; + if (this.options.preAggregationQuery) { + isRelatedToPreAggregation = true; + } else if (!this.options.disableExternalPreAggregations && this.externalQueryClass) { + if (this.externalPreAggregationQuery()) { + isRelatedToPreAggregation = true; + } + } else { + let preAggForQuery = + this.preAggregations.findPreAggregationForQuery(); + if (this.options.disableExternalPreAggregations && preAggForQuery && preAggForQuery.preAggregation.external) { + preAggForQuery = undefined; + } + if (preAggForQuery) { + isRelatedToPreAggregation = true; } } - return this.compilers.compiler.withQuery( - this, - () => this.cacheValue( - ['buildSqlAndParams', exportAnnotatedSql], - () => this.paramAllocator.buildSqlAndParams( - this.buildParamAnnotatedSql(), - exportAnnotatedSql, - this.shouldReuseParams - ), - { cache: this.queryCache } - ) - ); + + if (isRelatedToPreAggregation) { + return this.newQueryWithoutNative().buildSqlAndParams(exportAnnotatedSql); + } + + return this.buildSqlAndParamsRust(exportAnnotatedSql); } + + return this.compilers.compiler.withQuery( + this, + () => this.cacheValue( + ['buildSqlAndParams', exportAnnotatedSql], + () => this.paramAllocator.buildSqlAndParams( + this.buildParamAnnotatedSql(), + exportAnnotatedSql, + this.shouldReuseParams + ), + { cache: this.queryCache } + ) + ); } buildSqlAndParamsRust(exportAnnotatedSql) { @@ -3052,6 +3086,7 @@ export class BaseQuery { } newSubQueryForCube(cube, options) { + options = { ...options, useNativeSqlPlanner: false }; // We don't use tesseract for pre-aggregations generation yet if (this.options.queryFactory) { // When dealing with rollup joins, it's crucial to use the correct parameter allocator for the specific cube in use. // By default, we'll use BaseQuery, but it's important to note that different databases (Oracle, PostgreSQL, MySQL, Druid, etc.) @@ -3075,6 +3110,7 @@ export class BaseQuery { historyQueries: this.options.historyQueries, externalQueryClass: this.options.externalQueryClass, queryFactory: this.options.queryFactory, + useNativeSqlPlanner: this.options.useNativeSqlPlanner, ...options, }; } diff --git a/packages/cubejs-schema-compiler/src/adapter/PreAggregations.js b/packages/cubejs-schema-compiler/src/adapter/PreAggregations.js index c23cfd418..401b52385 100644 --- a/packages/cubejs-schema-compiler/src/adapter/PreAggregations.js +++ b/packages/cubejs-schema-compiler/src/adapter/PreAggregations.js @@ -57,10 +57,6 @@ export class PreAggregations { } preAggregationCubes() { - if (getEnv('nativeSqlPlanner')) { - // No join defined in Tesseract - return []; - } const { join } = this.query; return join.joins.map(j => j.originalTo).concat([join.root]); } diff --git a/rust/cubenativeutils/src/wrappers/context.rs b/rust/cubenativeutils/src/wrappers/context.rs index 805e7923f..964ec4925 100644 --- a/rust/cubenativeutils/src/wrappers/context.rs +++ b/rust/cubenativeutils/src/wrappers/context.rs @@ -9,7 +9,6 @@ pub trait NativeContext: Clone { fn null(&self) -> Result, CubeError>; fn empty_array(&self) -> Result; fn empty_struct(&self) -> Result; - //fn boxed(&self, value: T) -> impl NativeBox; fn to_string_fn(&self, result: String) -> Result; } diff --git a/rust/cubesqlplanner/Cargo.lock b/rust/cubesqlplanner/Cargo.lock index e6ceccebb..79f015520 100644 --- a/rust/cubesqlplanner/Cargo.lock +++ b/rust/cubesqlplanner/Cargo.lock @@ -550,6 +550,15 @@ dependencies = [ "unicode-segmentation", ] +[[package]] +name = "convert_case" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb402b8d4c85569410425650ce3eddc7d698ed96d39a73f941b08fb63082f1e7" +dependencies = [ + "unicode-segmentation", +] + [[package]] name = "core-foundation-sys" version = "0.8.6" @@ -686,7 +695,7 @@ version = "0.1.0" dependencies = [ "async-channel", "async-trait", - "convert_case", + "convert_case 0.6.0", "cubesql", "lazy_static", "log", @@ -753,7 +762,7 @@ dependencies = [ "async-trait", "chrono", "chrono-tz 0.8.6", - "convert_case", + "convert_case 0.7.1", "cubeclient", "cubenativeutils", "datafusion", diff --git a/rust/cubesqlplanner/cubesqlplanner/Cargo.toml b/rust/cubesqlplanner/cubesqlplanner/Cargo.toml index cbf1392da..43ed6ccc5 100644 --- a/rust/cubesqlplanner/cubesqlplanner/Cargo.toml +++ b/rust/cubesqlplanner/cubesqlplanner/Cargo.toml @@ -16,7 +16,7 @@ serde = "1.0.115" serde_json = "1.0.56" cubenativeutils = { path = "../../cubenativeutils/" } minijinja = { version = "1", features = ["json", "loader"] } -convert_case = "0.6" +convert_case = "0.7.1" chrono = "0.4.15" chrono-tz = "0.8.2" lazy_static = "1.4.0" diff --git a/rust/cubesqlplanner/cubesqlplanner/src/planner/filter/base_filter.rs b/rust/cubesqlplanner/cubesqlplanner/src/planner/filter/base_filter.rs index 4b77c9eef..5eb3e24c5 100644 --- a/rust/cubesqlplanner/cubesqlplanner/src/planner/filter/base_filter.rs +++ b/rust/cubesqlplanner/cubesqlplanner/src/planner/filter/base_filter.rs @@ -9,6 +9,10 @@ use lazy_static::lazy_static; use regex::Regex; use std::rc::Rc; +const FROM_PARTITION_RANGE: &'static str = "__FROM_PARTITION_RANGE"; + +const TO_PARTITION_RANGE: &'static str = "__TO_PARTITION_RANGE"; + #[derive(Debug, Clone, PartialEq, Eq)] pub enum FilterType { Dimension, @@ -393,7 +397,7 @@ impl BaseFilter { let from = if let Some(from_str) = &self.values[0] { let from = self.format_from_date(&from_str)?; - if use_db_time_zone { + if use_db_time_zone && &from != FROM_PARTITION_RANGE { self.query_tools.base_tools().in_db_time_zone(from)? } else { from @@ -407,7 +411,7 @@ impl BaseFilter { let to = if let Some(to_str) = &self.values[1] { let to = self.format_to_date(&to_str)?; - if use_db_time_zone { + if use_db_time_zone && &to != TO_PARTITION_RANGE { self.query_tools.base_tools().in_db_time_zone(to)? } else { to diff --git a/rust/cubesqlplanner/cubesqlplanner/src/planner/planners/simple_query_planer.rs b/rust/cubesqlplanner/cubesqlplanner/src/planner/planners/simple_query_planer.rs index cf7d79475..9bb7aa3ce 100644 --- a/rust/cubesqlplanner/cubesqlplanner/src/planner/planners/simple_query_planer.rs +++ b/rust/cubesqlplanner/cubesqlplanner/src/planner/planners/simple_query_planer.rs @@ -65,6 +65,12 @@ impl SimpleQueryPlanner { } let render_references = dimension_subquery_planner.dimensions_refs().clone(); context_factory.set_render_references(render_references); + context_factory.set_rendered_as_multiplied_measures( + self.query_properties + .full_key_aggregate_measures()? + .rendered_as_multiplied_measures + .clone(), + ); select_builder.set_filter(filter); select_builder.set_group_by(self.query_properties.group_by()); select_builder.set_order_by(self.order_planner.default_order()); diff --git a/rust/cubesqlplanner/cubesqlplanner/src/planner/query_tools.rs b/rust/cubesqlplanner/cubesqlplanner/src/planner/query_tools.rs index e75372e7c..da597cbd8 100644 --- a/rust/cubesqlplanner/cubesqlplanner/src/planner/query_tools.rs +++ b/rust/cubesqlplanner/cubesqlplanner/src/planner/query_tools.rs @@ -11,7 +11,7 @@ use crate::plan::FilterItem; use crate::planner::sql_evaluator::collectors::collect_join_hints; use crate::planner::sql_templates::PlanSqlTemplates; use chrono_tz::Tz; -use convert_case::{Case, Casing}; +use convert_case::{Boundary, Case, Casing}; use cubenativeutils::CubeError; use itertools::Itertools; use lazy_static::lazy_static; @@ -187,7 +187,9 @@ impl QueryTools { } pub fn alias_name(&self, name: &str) -> String { - name.to_case(Case::Snake).replace(".", "__") + name.without_boundaries(&[Boundary::LOWER_DIGIT, Boundary::UPPER_DIGIT]) + .to_case(Case::Snake) + .replace(".", "__") } pub fn escaped_alias_name(&self, name: &str) -> String { diff --git a/rust/cubesqlplanner/cubesqlplanner/src/planner/sql_templates/plan.rs b/rust/cubesqlplanner/cubesqlplanner/src/planner/sql_templates/plan.rs index e83ee51d5..ba4e7c01c 100644 --- a/rust/cubesqlplanner/cubesqlplanner/src/planner/sql_templates/plan.rs +++ b/rust/cubesqlplanner/cubesqlplanner/src/planner/sql_templates/plan.rs @@ -1,7 +1,7 @@ use super::{TemplateGroupByColumn, TemplateOrderByColumn, TemplateProjectionColumn}; use crate::cube_bridge::sql_templates_render::SqlTemplatesRender; use crate::plan::join::JoinType; -use convert_case::{Case, Casing}; +use convert_case::{Boundary, Case, Casing}; use cubenativeutils::CubeError; use minijinja::context; use std::rc::Rc; @@ -17,7 +17,12 @@ impl PlanSqlTemplates { } pub fn alias_name(name: &str) -> String { - name.to_case(Case::Snake).replace(".", "__") + let res = name + .from_case(Case::Camel) + .without_boundaries(&[Boundary::LOWER_DIGIT, Boundary::UPPER_DIGIT]) + .to_case(Case::Snake) + .replace(".", "__"); + res } pub fn memeber_alias_name(cube_name: &str, name: &str, suffix: &Option) -> String { From decd143d02d133ebfa230f94708684b9e6086270 Mon Sep 17 00:00:00 2001 From: waralexrom <108349432+waralexrom@users.noreply.github.com> Date: Mon, 3 Mar 2025 16:44:11 +0100 Subject: [PATCH 04/49] chore(tesseract): Some fixes to pass integration tests (#9244) --- packages/cubejs-backend-native/Cargo.lock | 58 +++++----- .../src/adapter/BaseQuery.js | 1 + .../integration/postgres/cube-views.test.ts | 25 ++--- .../postgres/views-join-order-2.test.ts | 85 ++++++++++----- rust/cubesqlplanner/Cargo.lock | 42 ++++---- .../src/cube_bridge/base_query_options.rs | 15 +-- .../src/cube_bridge/case_definition.rs | 19 ++++ .../src/cube_bridge/case_else_item.rs | 15 +++ .../src/cube_bridge/case_item.rs | 18 ++++ .../src/cube_bridge/case_label.rs | 25 +++++ .../src/cube_bridge/cube_definition.rs | 6 +- .../src/cube_bridge/dimension_definition.rs | 13 +-- .../src/cube_bridge/evaluator.rs | 4 +- .../src/cube_bridge/geo_item.rs | 2 +- .../src/cube_bridge/join_definition.rs | 3 +- .../src/cube_bridge/join_item.rs | 2 +- .../src/cube_bridge/join_item_definition.rs | 2 +- .../src/cube_bridge/measure_definition.rs | 21 ++-- .../src/cube_bridge/member_definition.rs | 3 +- .../src/cube_bridge/member_expression.rs | 2 +- .../src/cube_bridge/member_order_by.rs | 4 +- .../cubesqlplanner/src/cube_bridge/mod.rs | 6 +- ...re_filter.rs => struct_with_sql_member.rs} | 4 +- .../src/planner/filter/base_filter.rs | 100 +++++++++++++++--- .../src/planner/filter/filter_operator.rs | 16 +++ .../src/planner/planners/join_planner.rs | 15 ++- .../multi_stage/member_query_planner.rs | 1 + .../planners/multi_stage_query_planner.rs | 18 +++- .../multiplied_measures_query_planner.rs | 6 ++ .../planner/planners/simple_query_planer.rs | 11 +- .../src/planner/query_properties.rs | 41 ++++++- .../cubesqlplanner/src/planner/query_tools.rs | 5 +- .../collectors/sub_query_dimensions.rs | 14 ++- .../src/planner/sql_evaluator/dependecy.rs | 45 +++++--- .../src/planner/sql_evaluator/mod.rs | 5 +- .../sql_evaluator/sql_nodes/case_dimension.rs | 92 ++++++++++++++++ .../sql_evaluator/sql_nodes/factory.rs | 22 ++-- .../planner/sql_evaluator/sql_nodes/mod.rs | 2 + .../sql_evaluator/sql_nodes/rolling_window.rs | 48 ++++++--- .../sql_evaluator/symbols/dimension_symbol.rs | 76 ++++++++++++- .../sql_evaluator/symbols/measure_symbol.rs | 11 ++ .../sql_evaluator/symbols/member_symbol.rs | 20 ++++ .../src/planner/sql_evaluator/symbols/mod.rs | 5 +- .../src/planner/sql_templates/filter.rs | 16 +++ .../src/planner/sql_templates/plan.rs | 36 ++++++- rust/cubesqlplanner/nativebridge/Cargo.toml | 2 +- rust/cubesqlplanner/nativebridge/src/lib.rs | 56 ++++++---- 47 files changed, 797 insertions(+), 241 deletions(-) create mode 100644 rust/cubesqlplanner/cubesqlplanner/src/cube_bridge/case_definition.rs create mode 100644 rust/cubesqlplanner/cubesqlplanner/src/cube_bridge/case_else_item.rs create mode 100644 rust/cubesqlplanner/cubesqlplanner/src/cube_bridge/case_item.rs create mode 100644 rust/cubesqlplanner/cubesqlplanner/src/cube_bridge/case_label.rs rename rust/cubesqlplanner/cubesqlplanner/src/cube_bridge/{measure_filter.rs => struct_with_sql_member.rs} (88%) create mode 100644 rust/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/sql_nodes/case_dimension.rs diff --git a/packages/cubejs-backend-native/Cargo.lock b/packages/cubejs-backend-native/Cargo.lock index 1c143cdc5..3aef173e1 100644 --- a/packages/cubejs-backend-native/Cargo.lock +++ b/packages/cubejs-backend-native/Cargo.lock @@ -176,7 +176,7 @@ checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.98", ] [[package]] @@ -187,7 +187,7 @@ checksum = "531b97fb4cd3dfdce92c35dedbfdc1f0b9d8091c8ca943d6dae340ef5012d514" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.98", ] [[package]] @@ -395,7 +395,7 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.98", "syn_derive", ] @@ -998,7 +998,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.98", ] [[package]] @@ -1219,7 +1219,7 @@ checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.98", ] [[package]] @@ -1650,7 +1650,7 @@ checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.98", ] [[package]] @@ -2076,7 +2076,7 @@ dependencies = [ "itertools 0.10.5", "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.98", ] [[package]] @@ -2101,7 +2101,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c6813fde79b646e47e7ad75f480aa80ef76a5d9599e2717407961531169ee38b" dependencies = [ "quote", - "syn 2.0.90", + "syn 2.0.98", "syn-mid", ] @@ -2335,7 +2335,7 @@ dependencies = [ "pest_meta", "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.98", ] [[package]] @@ -2418,7 +2418,7 @@ checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.98", ] [[package]] @@ -2621,7 +2621,7 @@ dependencies = [ "proc-macro2", "pyo3-macros-backend", "quote", - "syn 2.0.90", + "syn 2.0.98", ] [[package]] @@ -2633,7 +2633,7 @@ dependencies = [ "heck 0.4.1", "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.98", ] [[package]] @@ -3064,7 +3064,7 @@ checksum = "5a9bf7cf98d04a2b28aead066b7496853d4779c9cc183c440dbac457641e19a0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.98", ] [[package]] @@ -3273,7 +3273,7 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.90", + "syn 2.0.98", ] [[package]] @@ -3312,9 +3312,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.90" +version = "2.0.98" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "919d3b74a5dd0ccd15aeb8f93e7006bd9e14c295087c9896a110f490752bcf31" +checksum = "36147f1a48ae0ec2b5b3bc5b537d267457555a10dc06f3dbc8cb11ba3006d3b1" dependencies = [ "proc-macro2", "quote", @@ -3329,7 +3329,7 @@ checksum = "b5dc35bb08dd1ca3dfb09dce91fd2d13294d6711c88897d9a9d60acf39bce049" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.98", ] [[package]] @@ -3341,7 +3341,7 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.98", ] [[package]] @@ -3364,7 +3364,7 @@ checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.98", ] [[package]] @@ -3435,7 +3435,7 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.98", ] [[package]] @@ -3446,7 +3446,7 @@ checksum = "26afc1baea8a989337eeb52b6e72a039780ce45c3edfcc9c5b9d112feeb173c2" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.98", ] [[package]] @@ -3534,7 +3534,7 @@ checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.98", ] [[package]] @@ -3677,7 +3677,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.98", ] [[package]] @@ -3963,7 +3963,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.98", "wasm-bindgen-shared", ] @@ -3997,7 +3997,7 @@ checksum = "f0eb82fcb7930ae6219a7ecfd55b217f5f0893484b7a13022ebb2b2bf20b5283" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.98", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -4289,7 +4289,7 @@ checksum = "2380878cad4ac9aac1e2435f3eb4020e8374b5f13c296cb75b4620ff8e229154" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.98", "synstructure", ] @@ -4310,7 +4310,7 @@ checksum = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.98", ] [[package]] @@ -4330,7 +4330,7 @@ checksum = "595eed982f7d355beb85837f651fa22e90b3c044842dc7f2c2842c086f295808" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.98", "synstructure", ] @@ -4359,7 +4359,7 @@ checksum = "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.90", + "syn 2.0.98", ] [[package]] diff --git a/packages/cubejs-schema-compiler/src/adapter/BaseQuery.js b/packages/cubejs-schema-compiler/src/adapter/BaseQuery.js index 33f749eb8..71a0cdef9 100644 --- a/packages/cubejs-schema-compiler/src/adapter/BaseQuery.js +++ b/packages/cubejs-schema-compiler/src/adapter/BaseQuery.js @@ -3499,6 +3499,7 @@ export class BaseQuery { in: '{{ column }} IN ({{ values_concat }}){{ is_null_check }}', not_in: '{{ column }} NOT IN ({{ values_concat }}){{ is_null_check }}', time_range_filter: '{{ column }} >= {{ from_timestamp }} AND {{ column }} <= {{ to_timestamp }}', + time_not_in_range_filter: '{{ column }} < {{ from_timestamp }} OR {{ column }} > {{ to_timestamp }}', gt: '{{ column }} > {{ param }}', gte: '{{ column }} >= {{ param }}', lt: '{{ column }} < {{ param }}', diff --git a/packages/cubejs-schema-compiler/test/integration/postgres/cube-views.test.ts b/packages/cubejs-schema-compiler/test/integration/postgres/cube-views.test.ts index cb0f60a24..81a70b84b 100644 --- a/packages/cubejs-schema-compiler/test/integration/postgres/cube-views.test.ts +++ b/packages/cubejs-schema-compiler/test/integration/postgres/cube-views.test.ts @@ -1,3 +1,4 @@ +import { getEnv } from '@cubejs-backend/shared'; import { BaseQuery, PostgresQuery } from '../../../src/adapter'; import { prepareCompiler } from '../../unit/PrepareCompiler'; import { dbRunner } from './PostgresDBRunner'; @@ -12,9 +13,9 @@ cube(\`Orders\`, { UNION ALL SELECT 2 as id, 2 as product_id, 'completed' as status, '2022-01-02T00:00:00.000Z'::timestamptz as created_at \`, - + shown: false, - + refreshKey: { sql: \`SELECT MAX(created_at) FROM \${Orders.sql()} orders WHERE \${FILTER_PARAMS.Orders.createdAt.filter('created_at')}\` }, @@ -47,7 +48,7 @@ cube(\`Orders\`, { type: \`count\`, //drillMembers: [id, createdAt] }, - + runningTotal: { type: \`count\`, rollingWindow: { @@ -67,28 +68,28 @@ cube(\`Orders\`, { sql: \`status\`, type: \`string\` }, - + statusProduct: { sql: \`\${CUBE}.status || '_' || \${Products.name}\`, type: \`string\` }, - + createdAt: { sql: \`created_at\`, type: \`time\` }, - + productId: { sql: \`product_id\`, type: \`number\`, }, - + productAndCategory: { sql: \`\${Products.name} || '_' || \${Products.ProductCategories.name}\`, type: \`string\` }, }, - + segments: { potatoOnly: { sql: \`\${CUBE}.product_id = 2 AND \${FILTER_PARAMS.Orders.productId.filter(\`\${CUBE.productId}\`)}\`, @@ -104,7 +105,7 @@ cube(\`Products\`, { UNION ALL SELECT 2 as id, 1 as product_category_id, 'Potato' as name \`, - + joins: { ProductCategories: { sql: \`\${CUBE}.product_category_id = \${ProductCategories}.id\`, @@ -129,7 +130,7 @@ cube(\`Products\`, { sql: \`name\`, type: \`string\` }, - + proxyName: { sql: \`\${name}\`, type: \`string\`, @@ -201,7 +202,7 @@ cube(\`ProductCategories\`, { view(\`OrdersView\`, { includes: [Orders], excludes: [Orders.createdAt], - + measures: { productCategoryCount: { sql: \`\${Orders.ProductsAlt.ProductCategories.count}\`, @@ -224,7 +225,7 @@ view(\`OrdersView\`, { sql: \`\${Orders.ProductsAlt.ProductCategories.name}\`, type: \`string\` }, - + productCategory: { sql: \`\${Orders.ProductsAlt.name} || '_' || \${Orders.ProductsAlt.ProductCategories.name} || '_' || \${categoryName}\`, type: \`string\` diff --git a/packages/cubejs-schema-compiler/test/integration/postgres/views-join-order-2.test.ts b/packages/cubejs-schema-compiler/test/integration/postgres/views-join-order-2.test.ts index d69dff168..27146aed7 100644 --- a/packages/cubejs-schema-compiler/test/integration/postgres/views-join-order-2.test.ts +++ b/packages/cubejs-schema-compiler/test/integration/postgres/views-join-order-2.test.ts @@ -1,3 +1,4 @@ +import { getEnv } from '@cubejs-backend/shared'; import { prepareCompiler } from '../../unit/PrepareCompiler'; import { dbRunner } from './PostgresDBRunner'; @@ -143,31 +144,61 @@ cube('D', { }); `); - it('join order', async () => dbRunner.runQueryTest({ - dimensions: [ - 'View.A_id', - 'View.A_name', - 'View.B_id', - 'View.B_name', - 'View.D_id', - 'View.D_name', - 'View.E_id', - 'View.E_name' - ], - timeDimensions: [], - segments: [], - filters: [], - total: true, - renewQuery: false, - limit: 1 - }, [{ - view___a_id: 1, - view___a_name: 'a', - view___b_id: 2, - view___b_name: 'b', - view___d_id: 3, - view___d_name: 'd', - view___e_id: 4, - view___e_name: 'e', - }], { compiler, joinGraph, cubeEvaluator })); + if (getEnv('nativeSqlPlanner')) { + it('join order', async () => dbRunner.runQueryTest({ + dimensions: [ + 'View.A_id', + 'View.A_name', + 'View.B_id', + 'View.B_name', + 'View.D_id', + 'View.D_name', + 'View.E_id', + 'View.E_name' + ], + timeDimensions: [], + segments: [], + filters: [], + total: true, + renewQuery: false, + limit: 1 + }, [{ + view__a_id: 1, + view__a_name: 'a', + view__b_id: 2, + view__b_name: 'b', + view__d_id: 3, + view__d_name: 'd', + view__e_id: 4, + view__e_name: 'e', + }], { compiler, joinGraph, cubeEvaluator })); + } else { + it('join order', async () => dbRunner.runQueryTest({ + dimensions: [ + 'View.A_id', + 'View.A_name', + 'View.B_id', + 'View.B_name', + 'View.D_id', + 'View.D_name', + 'View.E_id', + 'View.E_name' + ], + timeDimensions: [], + segments: [], + filters: [], + total: true, + renewQuery: false, + limit: 1 + }, [{ + view___a_id: 1, + view___a_name: 'a', + view___b_id: 2, + view___b_name: 'b', + view___d_id: 3, + view___d_name: 'd', + view___e_id: 4, + view___e_name: 'e', + }], { compiler, joinGraph, cubeEvaluator })); + } }); diff --git a/rust/cubesqlplanner/Cargo.lock b/rust/cubesqlplanner/Cargo.lock index 79f015520..f5b32cd1e 100644 --- a/rust/cubesqlplanner/Cargo.lock +++ b/rust/cubesqlplanner/Cargo.lock @@ -175,7 +175,7 @@ checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193" dependencies = [ "proc-macro2", "quote", - "syn 2.0.95", + "syn 2.0.98", ] [[package]] @@ -186,7 +186,7 @@ checksum = "6e0c28dcc82d7c8ead5cb13beb15405b57b8546e93215673ff8ca0349a028107" dependencies = [ "proc-macro2", "quote", - "syn 2.0.95", + "syn 2.0.98", ] [[package]] @@ -336,7 +336,7 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.95", + "syn 2.0.98", "syn_derive", ] @@ -1070,7 +1070,7 @@ checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" dependencies = [ "proc-macro2", "quote", - "syn 2.0.95", + "syn 2.0.98", ] [[package]] @@ -1729,7 +1729,7 @@ dependencies = [ "itertools 0.10.5", "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.98", ] [[package]] @@ -1754,7 +1754,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c6813fde79b646e47e7ad75f480aa80ef76a5d9599e2717407961531169ee38b" dependencies = [ "quote", - "syn 2.0.95", + "syn 2.0.98", "syn-mid", ] @@ -1985,7 +1985,7 @@ dependencies = [ "pest_meta", "proc-macro2", "quote", - "syn 2.0.95", + "syn 2.0.98", ] [[package]] @@ -2068,7 +2068,7 @@ checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" dependencies = [ "proc-macro2", "quote", - "syn 2.0.95", + "syn 2.0.98", ] [[package]] @@ -2588,7 +2588,7 @@ checksum = "5a9bf7cf98d04a2b28aead066b7496853d4779c9cc183c440dbac457641e19a0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.95", + "syn 2.0.98", ] [[package]] @@ -2764,7 +2764,7 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.95", + "syn 2.0.98", ] [[package]] @@ -2803,9 +2803,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.95" +version = "2.0.98" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46f71c0377baf4ef1cc3e3402ded576dccc315800fbc62dfc7fe04b009773b4a" +checksum = "36147f1a48ae0ec2b5b3bc5b537d267457555a10dc06f3dbc8cb11ba3006d3b1" dependencies = [ "proc-macro2", "quote", @@ -2820,7 +2820,7 @@ checksum = "b5dc35bb08dd1ca3dfb09dce91fd2d13294d6711c88897d9a9d60acf39bce049" dependencies = [ "proc-macro2", "quote", - "syn 2.0.95", + "syn 2.0.98", ] [[package]] @@ -2832,7 +2832,7 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.95", + "syn 2.0.98", ] [[package]] @@ -2901,7 +2901,7 @@ checksum = "46c3384250002a6d5af4d114f2845d37b57521033f30d5c3f46c4d70e1197533" dependencies = [ "proc-macro2", "quote", - "syn 2.0.95", + "syn 2.0.98", ] [[package]] @@ -2912,7 +2912,7 @@ checksum = "26afc1baea8a989337eeb52b6e72a039780ce45c3edfcc9c5b9d112feeb173c2" dependencies = [ "proc-macro2", "quote", - "syn 2.0.95", + "syn 2.0.98", ] [[package]] @@ -2980,7 +2980,7 @@ checksum = "5f5ae998a069d4b5aba8ee9dad856af7d520c3699e6159b185c2acd48155d39a" dependencies = [ "proc-macro2", "quote", - "syn 2.0.95", + "syn 2.0.98", ] [[package]] @@ -3082,7 +3082,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.95", + "syn 2.0.98", ] [[package]] @@ -3316,7 +3316,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.95", + "syn 2.0.98", "wasm-bindgen-shared", ] @@ -3350,7 +3350,7 @@ checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.95", + "syn 2.0.98", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -3604,7 +3604,7 @@ checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.95", + "syn 2.0.98", ] [[package]] diff --git a/rust/cubesqlplanner/cubesqlplanner/src/cube_bridge/base_query_options.rs b/rust/cubesqlplanner/cubesqlplanner/src/cube_bridge/base_query_options.rs index 1e87da936..abe3fa8e5 100644 --- a/rust/cubesqlplanner/cubesqlplanner/src/cube_bridge/base_query_options.rs +++ b/rust/cubesqlplanner/cubesqlplanner/src/cube_bridge/base_query_options.rs @@ -49,7 +49,6 @@ impl FilterItem { #[derive(Serialize, Deserialize, Debug)] pub struct BaseQueryOptionsStatic { - pub measures: Option>, #[serde(rename = "timeDimensions")] pub time_dimensions: Option>, pub timezone: Option, @@ -64,18 +63,14 @@ pub struct BaseQueryOptionsStatic { #[nativebridge::native_bridge(BaseQueryOptionsStatic)] pub trait BaseQueryOptions { - #[field] - #[optional] - #[vec] + #[nbridge(field, optional, vec)] fn measures(&self) -> Result>, CubeError>; - #[field] - #[optional] - #[vec] + #[nbridge(field, optional, vec)] fn dimensions(&self) -> Result>, CubeError>; - #[field] + #[nbridge(field)] fn cube_evaluator(&self) -> Result, CubeError>; - #[field] + #[nbridge(field)] fn base_tools(&self) -> Result, CubeError>; - #[field] + #[nbridge(field)] fn join_graph(&self) -> Result, CubeError>; } diff --git a/rust/cubesqlplanner/cubesqlplanner/src/cube_bridge/case_definition.rs b/rust/cubesqlplanner/cubesqlplanner/src/cube_bridge/case_definition.rs new file mode 100644 index 000000000..bb9145c44 --- /dev/null +++ b/rust/cubesqlplanner/cubesqlplanner/src/cube_bridge/case_definition.rs @@ -0,0 +1,19 @@ +use super::case_else_item::{CaseElseItem, NativeCaseElseItem}; +use super::case_item::{CaseItem, NativeCaseItem}; +use cubenativeutils::wrappers::serializer::{ + NativeDeserialize, NativeDeserializer, NativeSerialize, +}; +use cubenativeutils::wrappers::NativeArray; +use cubenativeutils::wrappers::NativeContextHolder; +use cubenativeutils::wrappers::NativeObjectHandle; +use cubenativeutils::CubeError; +use std::any::Any; +use std::rc::Rc; + +#[nativebridge::native_bridge] +pub trait CaseDefinition { + #[nbridge(field, vec)] + fn when(&self) -> Result>, CubeError>; + #[nbridge(field, rename = "else")] + fn else_label(&self) -> Result, CubeError>; +} diff --git a/rust/cubesqlplanner/cubesqlplanner/src/cube_bridge/case_else_item.rs b/rust/cubesqlplanner/cubesqlplanner/src/cube_bridge/case_else_item.rs new file mode 100644 index 000000000..250dbd135 --- /dev/null +++ b/rust/cubesqlplanner/cubesqlplanner/src/cube_bridge/case_else_item.rs @@ -0,0 +1,15 @@ +use super::case_label::CaseLabel; +use cubenativeutils::wrappers::serializer::{ + NativeDeserialize, NativeDeserializer, NativeSerialize, +}; +use cubenativeutils::wrappers::NativeContextHolder; +use cubenativeutils::wrappers::NativeObjectHandle; +use cubenativeutils::CubeError; +use std::any::Any; +use std::rc::Rc; + +#[nativebridge::native_bridge] +pub trait CaseElseItem { + #[nbridge(field)] + fn label(&self) -> Result; +} diff --git a/rust/cubesqlplanner/cubesqlplanner/src/cube_bridge/case_item.rs b/rust/cubesqlplanner/cubesqlplanner/src/cube_bridge/case_item.rs new file mode 100644 index 000000000..2d6d4865c --- /dev/null +++ b/rust/cubesqlplanner/cubesqlplanner/src/cube_bridge/case_item.rs @@ -0,0 +1,18 @@ +use super::case_label::CaseLabel; +use super::member_sql::{MemberSql, NativeMemberSql}; +use cubenativeutils::wrappers::serializer::{ + NativeDeserialize, NativeDeserializer, NativeSerialize, +}; +use cubenativeutils::wrappers::NativeContextHolder; +use cubenativeutils::wrappers::NativeObjectHandle; +use cubenativeutils::CubeError; +use std::any::Any; +use std::rc::Rc; + +#[nativebridge::native_bridge] +pub trait CaseItem { + #[nbridge(field)] + fn sql(&self) -> Result, CubeError>; + #[nbridge(field)] + fn label(&self) -> Result; +} diff --git a/rust/cubesqlplanner/cubesqlplanner/src/cube_bridge/case_label.rs b/rust/cubesqlplanner/cubesqlplanner/src/cube_bridge/case_label.rs new file mode 100644 index 000000000..6f9d8fafb --- /dev/null +++ b/rust/cubesqlplanner/cubesqlplanner/src/cube_bridge/case_label.rs @@ -0,0 +1,25 @@ +use super::struct_with_sql_member::{NativeStructWithSqlMember, StructWithSqlMember}; +use cubenativeutils::wrappers::inner_types::InnerTypes; +use cubenativeutils::wrappers::serializer::NativeDeserialize; +use cubenativeutils::wrappers::NativeObjectHandle; +use cubenativeutils::CubeError; +use std::rc::Rc; + +pub enum CaseLabel { + String(String), + MemberSql(Rc), +} + +impl NativeDeserialize for CaseLabel { + fn from_native(native_object: NativeObjectHandle) -> Result { + match String::from_native(native_object.clone()) { + Ok(label) => Ok(Self::String(label)), + Err(_) => match NativeStructWithSqlMember::from_native(native_object) { + Ok(obj) => Ok(Self::MemberSql(Rc::new(obj))), + Err(_) => Err(CubeError::user(format!( + "String or object with sql property expected as label" + ))), + }, + } + } +} diff --git a/rust/cubesqlplanner/cubesqlplanner/src/cube_bridge/cube_definition.rs b/rust/cubesqlplanner/cubesqlplanner/src/cube_bridge/cube_definition.rs index c8d9d9ef7..075b05896 100644 --- a/rust/cubesqlplanner/cubesqlplanner/src/cube_bridge/cube_definition.rs +++ b/rust/cubesqlplanner/cubesqlplanner/src/cube_bridge/cube_definition.rs @@ -18,10 +18,8 @@ pub struct CubeDefinitionStatic { #[nativebridge::native_bridge(CubeDefinitionStatic)] pub trait CubeDefinition { - #[field] - #[optional] + #[nbridge(field, optional)] fn sql_table(&self) -> Result>, CubeError>; - #[field] - #[optional] + #[nbridge(field, optional)] fn sql(&self) -> Result>, CubeError>; } diff --git a/rust/cubesqlplanner/cubesqlplanner/src/cube_bridge/dimension_definition.rs b/rust/cubesqlplanner/cubesqlplanner/src/cube_bridge/dimension_definition.rs index 6ca6e193e..7604de155 100644 --- a/rust/cubesqlplanner/cubesqlplanner/src/cube_bridge/dimension_definition.rs +++ b/rust/cubesqlplanner/cubesqlplanner/src/cube_bridge/dimension_definition.rs @@ -1,3 +1,4 @@ +use super::case_definition::{CaseDefinition, NativeCaseDefinition}; use super::geo_item::{GeoItem, NativeGeoItem}; use super::member_sql::{MemberSql, NativeMemberSql}; use cubenativeutils::wrappers::serializer::{ @@ -26,15 +27,15 @@ pub struct DimenstionDefinitionStatic { #[nativebridge::native_bridge(DimenstionDefinitionStatic)] pub trait DimensionDefinition { - #[optional] - #[field] + #[nbridge(field, optional)] fn sql(&self) -> Result>, CubeError>; - #[optional] - #[field] + #[nbridge(field, optional)] + fn case(&self) -> Result>, CubeError>; + + #[nbridge(field, optional)] fn latitude(&self) -> Result>, CubeError>; - #[optional] - #[field] + #[nbridge(field, optional)] fn longitude(&self) -> Result>, CubeError>; } diff --git a/rust/cubesqlplanner/cubesqlplanner/src/cube_bridge/evaluator.rs b/rust/cubesqlplanner/cubesqlplanner/src/cube_bridge/evaluator.rs index 7c02a6f7a..cf353e07b 100644 --- a/rust/cubesqlplanner/cubesqlplanner/src/cube_bridge/evaluator.rs +++ b/rust/cubesqlplanner/cubesqlplanner/src/cube_bridge/evaluator.rs @@ -19,7 +19,7 @@ pub struct CubeEvaluatorStatic { pub primary_keys: HashMap>, } -#[derive(Deserialize, Debug)] +#[derive(Deserialize, Clone, Debug, PartialEq, Eq, Hash)] pub struct CallDep { pub name: String, pub parent: Option, @@ -27,7 +27,7 @@ pub struct CallDep { #[nativebridge::native_bridge(CubeEvaluatorStatic)] pub trait CubeEvaluator { - #[field] + #[nbridge(field)] fn primary_keys(&self) -> Result, CubeError>; fn parse_path(&self, path_type: String, path: String) -> Result, CubeError>; fn measure_by_path(&self, measure_path: String) diff --git a/rust/cubesqlplanner/cubesqlplanner/src/cube_bridge/geo_item.rs b/rust/cubesqlplanner/cubesqlplanner/src/cube_bridge/geo_item.rs index 8742686db..b13bc4acf 100644 --- a/rust/cubesqlplanner/cubesqlplanner/src/cube_bridge/geo_item.rs +++ b/rust/cubesqlplanner/cubesqlplanner/src/cube_bridge/geo_item.rs @@ -10,6 +10,6 @@ use std::rc::Rc; #[nativebridge::native_bridge] pub trait GeoItem { - #[field] + #[nbridge(field)] fn sql(&self) -> Result, CubeError>; } diff --git a/rust/cubesqlplanner/cubesqlplanner/src/cube_bridge/join_definition.rs b/rust/cubesqlplanner/cubesqlplanner/src/cube_bridge/join_definition.rs index 020b3dd6b..2ff82aa8c 100644 --- a/rust/cubesqlplanner/cubesqlplanner/src/cube_bridge/join_definition.rs +++ b/rust/cubesqlplanner/cubesqlplanner/src/cube_bridge/join_definition.rs @@ -20,7 +20,6 @@ pub struct JoinDefinitionStatic { #[nativebridge::native_bridge(JoinDefinitionStatic)] pub trait JoinDefinition { - #[field] - #[vec] + #[nbridge(field, vec)] fn joins(&self) -> Result>, CubeError>; } diff --git a/rust/cubesqlplanner/cubesqlplanner/src/cube_bridge/join_item.rs b/rust/cubesqlplanner/cubesqlplanner/src/cube_bridge/join_item.rs index c712cd3c0..922de7cbd 100644 --- a/rust/cubesqlplanner/cubesqlplanner/src/cube_bridge/join_item.rs +++ b/rust/cubesqlplanner/cubesqlplanner/src/cube_bridge/join_item.rs @@ -21,6 +21,6 @@ pub struct JoinItemStatic { #[nativebridge::native_bridge(JoinItemStatic)] pub trait JoinItem { - #[field] + #[nbridge(field)] fn join(&self) -> Result, CubeError>; } diff --git a/rust/cubesqlplanner/cubesqlplanner/src/cube_bridge/join_item_definition.rs b/rust/cubesqlplanner/cubesqlplanner/src/cube_bridge/join_item_definition.rs index cca8d2cce..7d14e64fe 100644 --- a/rust/cubesqlplanner/cubesqlplanner/src/cube_bridge/join_item_definition.rs +++ b/rust/cubesqlplanner/cubesqlplanner/src/cube_bridge/join_item_definition.rs @@ -16,6 +16,6 @@ pub struct JoinItemDefinitionStatic { #[nativebridge::native_bridge(JoinItemDefinitionStatic)] pub trait JoinItemDefinition { - #[field] + #[nbridge(field)] fn sql(&self) -> Result, CubeError>; } diff --git a/rust/cubesqlplanner/cubesqlplanner/src/cube_bridge/measure_definition.rs b/rust/cubesqlplanner/cubesqlplanner/src/cube_bridge/measure_definition.rs index 54329c773..38f7cd6f8 100644 --- a/rust/cubesqlplanner/cubesqlplanner/src/cube_bridge/measure_definition.rs +++ b/rust/cubesqlplanner/cubesqlplanner/src/cube_bridge/measure_definition.rs @@ -1,7 +1,7 @@ use super::cube_definition::{CubeDefinition, NativeCubeDefinition}; -use super::measure_filter::{MeasureFilter, NativeMeasureFilter}; use super::member_order_by::{MemberOrderBy, NativeMemberOrderBy}; use super::member_sql::{MemberSql, NativeMemberSql}; +use super::struct_with_sql_member::{NativeStructWithSqlMember, StructWithSqlMember}; use cubenativeutils::wrappers::serializer::{ NativeDeserialize, NativeDeserializer, NativeSerialize, }; @@ -54,24 +54,17 @@ pub struct MeasureDefinitionStatic { #[nativebridge::native_bridge(MeasureDefinitionStatic)] pub trait MeasureDefinition { - #[optional] - #[field] + #[nbridge(field, optional)] fn sql(&self) -> Result>, CubeError>; fn cube(&self) -> Result, CubeError>; - #[optional] - #[field] - #[vec] - fn filters(&self) -> Result>>, CubeError>; + #[nbridge(field, optional, vec)] + fn filters(&self) -> Result>>, CubeError>; - #[optional] - #[field] - #[vec] - fn drill_filters(&self) -> Result>>, CubeError>; + #[nbridge(field, optional, vec)] + fn drill_filters(&self) -> Result>>, CubeError>; - #[optional] - #[field] - #[vec] + #[nbridge(field, optional, vec)] fn order_by(&self) -> Result>>, CubeError>; } diff --git a/rust/cubesqlplanner/cubesqlplanner/src/cube_bridge/member_definition.rs b/rust/cubesqlplanner/cubesqlplanner/src/cube_bridge/member_definition.rs index a0b829714..275b6ee4e 100644 --- a/rust/cubesqlplanner/cubesqlplanner/src/cube_bridge/member_definition.rs +++ b/rust/cubesqlplanner/cubesqlplanner/src/cube_bridge/member_definition.rs @@ -17,7 +17,6 @@ pub struct MemberDefinitionStatic { #[nativebridge::native_bridge(MemberDefinitionStatic)] pub trait MemberDefinition { - #[optional] - #[field] + #[nbridge(field, optional)] fn sql(&self) -> Result>, CubeError>; } diff --git a/rust/cubesqlplanner/cubesqlplanner/src/cube_bridge/member_expression.rs b/rust/cubesqlplanner/cubesqlplanner/src/cube_bridge/member_expression.rs index 45d2a26dd..58d149671 100644 --- a/rust/cubesqlplanner/cubesqlplanner/src/cube_bridge/member_expression.rs +++ b/rust/cubesqlplanner/cubesqlplanner/src/cube_bridge/member_expression.rs @@ -19,6 +19,6 @@ pub struct MemberExpressionDefinitionStatic { #[nativebridge::native_bridge(MemberExpressionDefinitionStatic)] pub trait MemberExpressionDefinition { - #[field] + #[nbridge(field)] fn expression(&self) -> Result, CubeError>; } diff --git a/rust/cubesqlplanner/cubesqlplanner/src/cube_bridge/member_order_by.rs b/rust/cubesqlplanner/cubesqlplanner/src/cube_bridge/member_order_by.rs index 0f56aeafc..de025bd72 100644 --- a/rust/cubesqlplanner/cubesqlplanner/src/cube_bridge/member_order_by.rs +++ b/rust/cubesqlplanner/cubesqlplanner/src/cube_bridge/member_order_by.rs @@ -10,8 +10,8 @@ use std::rc::Rc; #[nativebridge::native_bridge] pub trait MemberOrderBy { - #[field] + #[nbridge(field)] fn sql(&self) -> Result, CubeError>; - #[field] + #[nbridge(field)] fn dir(&self) -> Result; } diff --git a/rust/cubesqlplanner/cubesqlplanner/src/cube_bridge/mod.rs b/rust/cubesqlplanner/cubesqlplanner/src/cube_bridge/mod.rs index 6fa12c63c..42763f52c 100644 --- a/rust/cubesqlplanner/cubesqlplanner/src/cube_bridge/mod.rs +++ b/rust/cubesqlplanner/cubesqlplanner/src/cube_bridge/mod.rs @@ -1,5 +1,9 @@ pub mod base_query_options; pub mod base_tools; +pub mod case_definition; +pub mod case_else_item; +pub mod case_item; +pub mod case_label; pub mod cube_definition; pub mod dimension_definition; pub mod evaluator; @@ -12,7 +16,6 @@ pub mod join_hints; pub mod join_item; pub mod join_item_definition; pub mod measure_definition; -pub mod measure_filter; pub mod member_definition; pub mod member_expression; pub mod member_order_by; @@ -21,3 +24,4 @@ pub mod options_member; pub mod security_context; pub mod sql_templates_render; pub mod sql_utils; +pub mod struct_with_sql_member; diff --git a/rust/cubesqlplanner/cubesqlplanner/src/cube_bridge/measure_filter.rs b/rust/cubesqlplanner/cubesqlplanner/src/cube_bridge/struct_with_sql_member.rs similarity index 88% rename from rust/cubesqlplanner/cubesqlplanner/src/cube_bridge/measure_filter.rs rename to rust/cubesqlplanner/cubesqlplanner/src/cube_bridge/struct_with_sql_member.rs index 500774e50..3a42acbdd 100644 --- a/rust/cubesqlplanner/cubesqlplanner/src/cube_bridge/measure_filter.rs +++ b/rust/cubesqlplanner/cubesqlplanner/src/cube_bridge/struct_with_sql_member.rs @@ -9,7 +9,7 @@ use std::any::Any; use std::rc::Rc; #[nativebridge::native_bridge] -pub trait MeasureFilter { - #[field] +pub trait StructWithSqlMember { + #[nbridge(field)] fn sql(&self) -> Result, CubeError>; } diff --git a/rust/cubesqlplanner/cubesqlplanner/src/planner/filter/base_filter.rs b/rust/cubesqlplanner/cubesqlplanner/src/planner/filter/base_filter.rs index 5eb3e24c5..c6895eec4 100644 --- a/rust/cubesqlplanner/cubesqlplanner/src/planner/filter/base_filter.rs +++ b/rust/cubesqlplanner/cubesqlplanner/src/planner/filter/base_filter.rs @@ -118,6 +118,11 @@ impl BaseFilter { FilterOperator::Equal => self.equals_where(&member_sql)?, FilterOperator::NotEqual => self.not_equals_where(&member_sql)?, FilterOperator::InDateRange => self.in_date_range(&member_sql)?, + FilterOperator::BeforeDate => self.before_date(&member_sql)?, + FilterOperator::BeforeOrOnDate => self.before_or_on_date(&member_sql)?, + FilterOperator::AfterDate => self.after_date(&member_sql)?, + FilterOperator::AfterOrOnDate => self.after_or_on_date(&member_sql)?, + FilterOperator::NotInDateRange => self.not_in_date_range(&member_sql)?, FilterOperator::RegularRollingWindowDateRange => { self.regular_rolling_window_date_range(&member_sql)? } @@ -225,6 +230,36 @@ impl BaseFilter { .time_range_filter(member_sql.to_string(), from, to) } + fn not_in_date_range(&self, member_sql: &str) -> Result { + let (from, to) = self.allocate_date_params(true)?; + self.templates + .time_not_in_range_filter(member_sql.to_string(), from, to) + } + + fn before_date(&self, member_sql: &str) -> Result { + let value = self.first_timestamp_param(true)?; + + self.templates.lt(member_sql.to_string(), value) + } + + fn before_or_on_date(&self, member_sql: &str) -> Result { + let value = self.first_timestamp_param(true)?; + + self.templates.lte(member_sql.to_string(), value) + } + + fn after_date(&self, member_sql: &str) -> Result { + let value = self.first_timestamp_param(true)?; + + self.templates.gt(member_sql.to_string(), value) + } + + fn after_or_on_date(&self, member_sql: &str) -> Result { + let value = self.first_timestamp_param(true)?; + + self.templates.gte(member_sql.to_string(), value) + } + fn extend_date_range_bound( &self, date: String, @@ -392,16 +427,40 @@ impl BaseFilter { )) } + fn from_date_in_db_time_zone( + &self, + value: &String, + use_db_time_zone: bool, + ) -> Result { + let from = self.format_from_date(value)?; + + let res = if use_db_time_zone && &from != FROM_PARTITION_RANGE { + self.query_tools.base_tools().in_db_time_zone(from)? + } else { + from + }; + Ok(res) + } + + fn to_date_in_db_time_zone( + &self, + value: &String, + use_db_time_zone: bool, + ) -> Result { + let from = self.format_to_date(value)?; + + let res = if use_db_time_zone && &from != TO_PARTITION_RANGE { + self.query_tools.base_tools().in_db_time_zone(from)? + } else { + from + }; + Ok(res) + } + fn allocate_date_params(&self, use_db_time_zone: bool) -> Result<(String, String), CubeError> { if self.values.len() >= 2 { let from = if let Some(from_str) = &self.values[0] { - let from = self.format_from_date(&from_str)?; - - if use_db_time_zone && &from != FROM_PARTITION_RANGE { - self.query_tools.base_tools().in_db_time_zone(from)? - } else { - from - } + self.from_date_in_db_time_zone(from_str, use_db_time_zone)? } else { return Err(CubeError::user(format!( "Arguments for date range is not valid" @@ -409,13 +468,7 @@ impl BaseFilter { }; let to = if let Some(to_str) = &self.values[1] { - let to = self.format_to_date(&to_str)?; - - if use_db_time_zone && &to != TO_PARTITION_RANGE { - self.query_tools.base_tools().in_db_time_zone(to)? - } else { - to - } + self.to_date_in_db_time_zone(to_str, use_db_time_zone)? } else { return Err(CubeError::user(format!( "Arguments for date range is not valid" @@ -517,6 +570,25 @@ impl BaseFilter { } } + fn first_timestamp_param(&self, use_db_time_zone: bool) -> Result { + if self.values.is_empty() { + Err(CubeError::user(format!( + "Expected at least one parameter but nothing found" + ))) + } else { + if let Some(value) = &self.values[0] { + Ok(self.allocate_timestamp_param( + &self.from_date_in_db_time_zone(value, use_db_time_zone)?, + )) + } else { + return Err(CubeError::user(format!( + "Arguments for timestamp parameter for operator {} is not valid", + self.filter_operator().to_string() + ))); + } + } + } + fn is_need_null_chek(&self, is_not: bool) -> bool { let contains_null = self.is_values_contains_null(); if is_not { diff --git a/rust/cubesqlplanner/cubesqlplanner/src/planner/filter/filter_operator.rs b/rust/cubesqlplanner/cubesqlplanner/src/planner/filter/filter_operator.rs index a713e1dee..5c6ca3a66 100644 --- a/rust/cubesqlplanner/cubesqlplanner/src/planner/filter/filter_operator.rs +++ b/rust/cubesqlplanner/cubesqlplanner/src/planner/filter/filter_operator.rs @@ -6,6 +6,11 @@ pub enum FilterOperator { Equal, NotEqual, InDateRange, + NotInDateRange, + BeforeDate, + BeforeOrOnDate, + AfterDate, + AfterOrOnDate, RegularRollingWindowDateRange, ToDateRollingWindowDateRange, In, @@ -33,6 +38,12 @@ impl FromStr for FilterOperator { "equals" => Ok(Self::Equal), "notequals" => Ok(Self::NotEqual), "indaterange" => Ok(Self::InDateRange), + "onthedate" => Ok(Self::InDateRange), + "beforedate" => Ok(Self::BeforeDate), + "beforeorondate" => Ok(Self::BeforeOrOnDate), + "afterdate" => Ok(Self::AfterDate), + "afterorondate" => Ok(Self::AfterOrOnDate), + "notindaterange" => Ok(Self::NotInDateRange), "in" => Ok(Self::In), "notin" => Ok(Self::NotIn), "set" => Ok(Self::Set), @@ -60,6 +71,11 @@ impl ToString for FilterOperator { FilterOperator::Equal => "equals", FilterOperator::NotEqual => "notEquals", FilterOperator::InDateRange => "inDateRange", + FilterOperator::NotInDateRange => "notInDateRange", + FilterOperator::BeforeDate => "beforeDate", + FilterOperator::BeforeOrOnDate => "beforeOrOnDate", + FilterOperator::AfterDate => "afterDate", + FilterOperator::AfterOrOnDate => "afterOrOnDate", FilterOperator::RegularRollingWindowDateRange => "inDateRange", FilterOperator::ToDateRollingWindowDateRange => "inDateRange", FilterOperator::In => "in", diff --git a/rust/cubesqlplanner/cubesqlplanner/src/planner/planners/join_planner.rs b/rust/cubesqlplanner/cubesqlplanner/src/planner/planners/join_planner.rs index 1c1c340ec..4b31708df 100644 --- a/rust/cubesqlplanner/cubesqlplanner/src/planner/planners/join_planner.rs +++ b/rust/cubesqlplanner/cubesqlplanner/src/planner/planners/join_planner.rs @@ -1,7 +1,7 @@ use super::{CommonUtils, DimensionSubqueryPlanner}; use crate::cube_bridge::join_definition::JoinDefinition; use crate::cube_bridge::join_hints::JoinHintItem; -use crate::cube_bridge::member_sql::MemberSql; +use crate::cube_bridge::join_item::JoinItem; use crate::plan::{From, JoinBuilder, JoinCondition}; use crate::planner::query_tools::QueryTools; use crate::planner::sql_evaluator::SqlCall; @@ -49,9 +49,7 @@ impl JoinPlanner { ); dimension_subquery_planner.add_joins_for_cube(&mut join_builder, root.name())?; for join in joins.iter() { - let definition = join.join()?; - let sql_call = self - .compile_join_condition(&join.static_data().original_from, definition.sql()?)?; + let sql_call = self.compile_join_condition(join.clone())?; let on = JoinCondition::new_base_join(SqlJoinCondition::try_new( self.query_tools.clone(), sql_call, @@ -71,13 +69,14 @@ impl JoinPlanner { } } - fn compile_join_condition( + pub fn compile_join_condition( &self, - cube_name: &String, - sql: Rc, + join_item: Rc, ) -> Result, CubeError> { + let definition = join_item.join()?; let evaluator_compiler_cell = self.query_tools.evaluator_compiler().clone(); let mut evaluator_compiler = evaluator_compiler_cell.borrow_mut(); - evaluator_compiler.compile_sql_call(&cube_name, sql) + evaluator_compiler + .compile_sql_call(&join_item.static_data().original_from, definition.sql()?) } } diff --git a/rust/cubesqlplanner/cubesqlplanner/src/planner/planners/multi_stage/member_query_planner.rs b/rust/cubesqlplanner/cubesqlplanner/src/planner/planners/multi_stage/member_query_planner.rs index c673c91fa..4cb249075 100644 --- a/rust/cubesqlplanner/cubesqlplanner/src/planner/planners/multi_stage/member_query_planner.rs +++ b/rust/cubesqlplanner/cubesqlplanner/src/planner/planners/multi_stage/member_query_planner.rs @@ -387,6 +387,7 @@ impl MultiStageMemberQueryPlanner { if self.description.member().has_aggregates_on_top() { node_factory.set_count_approx_as_state(true); } + node_factory.set_ungrouped_measure(self.description.member().is_ungrupped()); if cte_query_properties .full_key_aggregate_measures()? diff --git a/rust/cubesqlplanner/cubesqlplanner/src/planner/planners/multi_stage_query_planner.rs b/rust/cubesqlplanner/cubesqlplanner/src/planner/planners/multi_stage_query_planner.rs index 79529e600..771f61cf0 100644 --- a/rust/cubesqlplanner/cubesqlplanner/src/planner/planners/multi_stage_query_planner.rs +++ b/rust/cubesqlplanner/cubesqlplanner/src/planner/planners/multi_stage_query_planner.rs @@ -189,6 +189,7 @@ impl MultiStageQueryPlanner { &self, member: Rc, state: Rc, + ungrouped: bool, descriptions: &mut Vec>, ) -> Result, CubeError> { let alias = format!("cte_{}", descriptions.len()); @@ -196,7 +197,7 @@ impl MultiStageQueryPlanner { MultiStageMember::new( MultiStageMemberType::Leaf(MultiStageLeafMemberType::Measure), member, - self.query_properties.ungrouped(), + self.query_properties.ungrouped() || ungrouped, true, ), state, @@ -301,10 +302,20 @@ impl MultiStageQueryPlanner { granularity: None, } }; + let ungrouped = match member.as_ref() { + MemberSymbol::Measure(measure_symbol) => { + measure_symbol.is_rolling_window() && !measure_symbol.is_addictive() + } + _ => false, + }; let time_dimensions = self.query_properties.time_dimensions(); if time_dimensions.len() == 0 { - let rolling_base = - self.add_rolling_window_base(member.clone(), state.clone(), descriptions)?; + let rolling_base = self.add_rolling_window_base( + member.clone(), + state.clone(), + ungrouped, + descriptions, + )?; return Ok(Some(rolling_base)); } if time_dimensions.len() != 1 { @@ -323,6 +334,7 @@ impl MultiStageQueryPlanner { &rolling_window, state.clone(), )?, + ungrouped, descriptions, )?, ]; diff --git a/rust/cubesqlplanner/cubesqlplanner/src/planner/planners/multiplied_measures_query_planner.rs b/rust/cubesqlplanner/cubesqlplanner/src/planner/planners/multiplied_measures_query_planner.rs index a4508220d..19e252fe7 100644 --- a/rust/cubesqlplanner/cubesqlplanner/src/planner/planners/multiplied_measures_query_planner.rs +++ b/rust/cubesqlplanner/cubesqlplanner/src/planner/planners/multiplied_measures_query_planner.rs @@ -111,6 +111,8 @@ impl MultipliedMeasuresQueryPlanner { ) -> Result, CubeError> { let subquery_dimensions = collect_sub_query_dimensions_from_members( &BaseMemberHelper::iter_as_base_member(measures).collect_vec(), + &self.join_planner, + &key_join, self.query_tools.clone(), )?; @@ -312,6 +314,8 @@ impl MultipliedMeasuresQueryPlanner { ) -> Result, CubeError> { let subquery_dimensions = collect_sub_query_dimensions_from_symbols( &self.query_properties.all_member_symbols(false), + &self.join_planner, + &join, self.query_tools.clone(), )?; @@ -378,6 +382,8 @@ impl MultipliedMeasuresQueryPlanner { let subquery_dimensions = collect_sub_query_dimensions_from_symbols( &symbols_for_subquery_dimensions, + &self.join_planner, + &key_join, self.query_tools.clone(), )?; diff --git a/rust/cubesqlplanner/cubesqlplanner/src/planner/planners/simple_query_planer.rs b/rust/cubesqlplanner/cubesqlplanner/src/planner/planners/simple_query_planer.rs index 9bb7aa3ce..55ea723ec 100644 --- a/rust/cubesqlplanner/cubesqlplanner/src/planner/planners/simple_query_planer.rs +++ b/rust/cubesqlplanner/cubesqlplanner/src/planner/planners/simple_query_planer.rs @@ -30,8 +30,11 @@ impl SimpleQueryPlanner { } pub fn plan(&self) -> Result, CubeError> { + let join = self.query_properties.simple_query_join()?; let subquery_dimensions = collect_sub_query_dimensions_from_symbols( &self.query_properties.all_member_symbols(false), + &self.join_planner, + &join, self.query_tools.clone(), )?; let dimension_subquery_planner = DimensionSubqueryPlanner::try_new( @@ -49,11 +52,9 @@ impl SimpleQueryPlanner { }) }; let mut context_factory = self.context_factory.clone(); - let from = self.join_planner.make_join_node_impl( - &None, - self.query_properties.simple_query_join()?, - &dimension_subquery_planner, - )?; + let from = + self.join_planner + .make_join_node_impl(&None, join, &dimension_subquery_planner)?; let mut select_builder = SelectBuilder::new(from.clone()); for member in self diff --git a/rust/cubesqlplanner/cubesqlplanner/src/planner/query_properties.rs b/rust/cubesqlplanner/cubesqlplanner/src/planner/query_properties.rs index cbc821b6f..81de25bd2 100644 --- a/rust/cubesqlplanner/cubesqlplanner/src/planner/query_properties.rs +++ b/rust/cubesqlplanner/cubesqlplanner/src/planner/query_properties.rs @@ -135,14 +135,47 @@ impl QueryProperties { Vec::new() }; - let measures = if let Some(measures) = &options.static_data().measures { + let measures = if let Some(measures) = &options.measures()? { measures .iter() - .map(|m| { - let evaluator = evaluator_compiler.add_measure_evaluator(m.clone())?; - BaseMeasure::try_new_required(evaluator, query_tools.clone()) + .map(|d| match d { + OptionsMember::MemberName(member_name) => { + let evaluator = + evaluator_compiler.add_measure_evaluator(member_name.clone())?; + BaseMeasure::try_new_required(evaluator, query_tools.clone()) + } + OptionsMember::MemberExpression(member_expression) => { + let cube_name = + if let Some(name) = &member_expression.static_data().cube_name { + name.clone() + } else { + "".to_string() + }; + let name = + if let Some(name) = &member_expression.static_data().expression_name { + name.clone() + } else { + "".to_string() + }; + let expression_evaluator = evaluator_compiler + .compile_sql_call(&cube_name, member_expression.expression()?)?; + BaseMeasure::try_new_from_expression( + expression_evaluator, + cube_name, + name, + member_expression.static_data().definition.clone(), + query_tools.clone(), + ) + } }) .collect::, _>>()? + /* measures + .iter() + .map(|m| { + let evaluator = evaluator_compiler.add_measure_evaluator(m.clone())?; + BaseMeasure::try_new_required(evaluator, query_tools.clone()) + }) + .collect::, _>>()? */ } else { Vec::new() }; diff --git a/rust/cubesqlplanner/cubesqlplanner/src/planner/query_tools.rs b/rust/cubesqlplanner/cubesqlplanner/src/planner/query_tools.rs index da597cbd8..eec68a482 100644 --- a/rust/cubesqlplanner/cubesqlplanner/src/planner/query_tools.rs +++ b/rust/cubesqlplanner/cubesqlplanner/src/planner/query_tools.rs @@ -11,7 +11,6 @@ use crate::plan::FilterItem; use crate::planner::sql_evaluator::collectors::collect_join_hints; use crate::planner::sql_templates::PlanSqlTemplates; use chrono_tz::Tz; -use convert_case::{Boundary, Case, Casing}; use cubenativeutils::CubeError; use itertools::Itertools; use lazy_static::lazy_static; @@ -187,9 +186,7 @@ impl QueryTools { } pub fn alias_name(&self, name: &str) -> String { - name.without_boundaries(&[Boundary::LOWER_DIGIT, Boundary::UPPER_DIGIT]) - .to_case(Case::Snake) - .replace(".", "__") + PlanSqlTemplates::alias_name(name) } pub fn escaped_alias_name(&self, name: &str) -> String { diff --git a/rust/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/collectors/sub_query_dimensions.rs b/rust/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/collectors/sub_query_dimensions.rs index e5e16d4cd..36c7a364f 100644 --- a/rust/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/collectors/sub_query_dimensions.rs +++ b/rust/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/collectors/sub_query_dimensions.rs @@ -1,3 +1,5 @@ +use crate::cube_bridge::join_definition::JoinDefinition; +use crate::planner::planners::JoinPlanner; use crate::planner::query_tools::QueryTools; use crate::planner::sql_evaluator::{DimensionSymbol, MemberSymbol, TraversalVisitor}; use crate::planner::{BaseDimension, BaseMember}; @@ -60,20 +62,30 @@ impl TraversalVisitor for SubQueryDimensionsCollector { pub fn collect_sub_query_dimensions_from_members( members: &Vec>, + join_planner: &JoinPlanner, + join: &Rc, query_tools: Rc, ) -> Result>, CubeError> { let symbols = members.iter().map(|m| m.member_evaluator()).collect_vec(); - collect_sub_query_dimensions_from_symbols(&symbols, query_tools) + collect_sub_query_dimensions_from_symbols(&symbols, join_planner, join, query_tools) } pub fn collect_sub_query_dimensions_from_symbols( members: &Vec>, + join_planner: &JoinPlanner, + join: &Rc, query_tools: Rc, ) -> Result>, CubeError> { let mut visitor = SubQueryDimensionsCollector::new(); for member in members.iter() { visitor.apply(&member, &())?; } + for join_item in join.joins()? { + let condition = join_planner.compile_join_condition(join_item.clone())?; + for dep in condition.get_dependencies() { + visitor.apply(&dep, &())?; + } + } visitor .extract_result() .into_iter() diff --git a/rust/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/dependecy.rs b/rust/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/dependecy.rs index b1c69f572..59512ba64 100644 --- a/rust/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/dependecy.rs +++ b/rust/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/dependecy.rs @@ -6,13 +6,13 @@ use cubenativeutils::CubeError; use std::collections::HashMap; use std::rc::Rc; -#[derive(Clone)] +#[derive(Clone, Debug)] pub enum CubeDepProperty { CubeDependency(CubeDependency), SymbolDependency(Rc), } -#[derive(Clone)] +#[derive(Clone, Debug)] pub struct CubeDependency { pub cube_symbol: Rc, pub sql_fn: Option>, @@ -36,7 +36,7 @@ impl CubeDependency { } } -#[derive(Clone)] +#[derive(Clone, Debug)] pub enum ContextSymbolDep { SecurityContext, FilterParams, @@ -44,7 +44,7 @@ pub enum ContextSymbolDep { SqlUtils, } -#[derive(Clone)] +#[derive(Clone, Debug)] pub enum Dependency { SymbolDependency(Rc), CubeDependency(CubeDependency), @@ -76,14 +76,7 @@ impl<'a> DependenciesBuilder<'a> { vec![] }; - let mut childs = Vec::new(); - for (i, dep) in call_deps.iter().enumerate() { - childs.push(vec![]); - if let Some(parent) = dep.parent { - childs[parent].push(i); - } - } - + let childs = self.deduplicate_deps_and_make_childs_tree(&call_deps)?; let mut result = Vec::new(); for (i, dep) in call_deps.iter().enumerate() { @@ -107,6 +100,34 @@ impl<'a> DependenciesBuilder<'a> { Ok(result) } + fn deduplicate_deps_and_make_childs_tree( + &self, + call_deps: &Vec, + ) -> Result>, CubeError> { + let mut childs_tree = Vec::new(); + let mut deduplicate_index_map = HashMap::::new(); + let mut deduplicate_map = HashMap::::new(); + for (i, dep) in call_deps.iter().enumerate() { + //If subcube is used twice in function, then call_deps can hold duplicated dependencies + //(for exampls in function ${Orders.ProductsAlt.name} || '_' || ${Orders.ProductsAlt.ProductCategories.name} ProductsAlt appeared twice in call_deps)) + let self_index = if let Some(exists_index) = deduplicate_map.get(&dep) { + deduplicate_index_map.insert(i, *exists_index); + *exists_index + } else { + deduplicate_map.insert(dep.clone(), i); + i + }; + + childs_tree.push(vec![]); + if let Some(parent) = dep.parent { + let deduplecated_parent = deduplicate_index_map.get(&parent).unwrap_or(&parent); + childs_tree[*deduplecated_parent].push(self_index); + } + } + + Ok(childs_tree) + } + fn build_cube_dependency( &mut self, cube_name: &String, diff --git a/rust/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/mod.rs b/rust/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/mod.rs index 83cdce4b7..8aeaaafa8 100644 --- a/rust/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/mod.rs +++ b/rust/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/mod.rs @@ -15,7 +15,8 @@ pub use sql_call::SqlCall; pub use sql_visitor::SqlEvaluatorVisitor; pub use symbols::{ CubeNameSymbol, CubeNameSymbolFactory, CubeTableSymbol, CubeTableSymbolFactory, - DimensionSymbol, DimensionSymbolFactory, MeasureSymbol, MeasureSymbolFactory, - MemberExpressionSymbol, MemberSymbol, SymbolFactory, TimeDimensionSymbol, + DimensionCaseDefinition, DimensionCaseWhenItem, DimensionSymbol, DimensionSymbolFactory, + DimenstionCaseLabel, MeasureSymbol, MeasureSymbolFactory, MemberExpressionSymbol, MemberSymbol, + SymbolFactory, TimeDimensionSymbol, }; pub use visitor::TraversalVisitor; diff --git a/rust/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/sql_nodes/case_dimension.rs b/rust/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/sql_nodes/case_dimension.rs new file mode 100644 index 000000000..640886509 --- /dev/null +++ b/rust/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/sql_nodes/case_dimension.rs @@ -0,0 +1,92 @@ +use super::SqlNode; +use crate::planner::query_tools::QueryTools; +use crate::planner::sql_evaluator::DimenstionCaseLabel; +use crate::planner::sql_evaluator::MemberSymbol; +use crate::planner::sql_evaluator::SqlEvaluatorVisitor; +use crate::planner::sql_templates::PlanSqlTemplates; +use cubenativeutils::CubeError; +use std::any::Any; +use std::rc::Rc; + +pub struct CaseDimensionSqlNode { + input: Rc, +} + +impl CaseDimensionSqlNode { + pub fn new(input: Rc) -> Rc { + Rc::new(Self { input }) + } + + pub fn input(&self) -> &Rc { + &self.input + } +} + +impl SqlNode for CaseDimensionSqlNode { + fn to_sql( + &self, + visitor: &SqlEvaluatorVisitor, + node: &Rc, + query_tools: Rc, + node_processor: Rc, + templates: &PlanSqlTemplates, + ) -> Result { + let res = match node.as_ref() { + MemberSymbol::Dimension(ev) => { + if let Some(case) = ev.case() { + let mut when_then = Vec::new(); + for itm in case.items.iter() { + let when = itm.sql.eval( + visitor, + node_processor.clone(), + query_tools.clone(), + templates, + )?; + let then = match &itm.label { + DimenstionCaseLabel::String(s) => templates.quote_string(&s)?, + DimenstionCaseLabel::Sql(sql) => sql.eval( + visitor, + node_processor.clone(), + query_tools.clone(), + templates, + )?, + }; + when_then.push((when, then)); + } + let else_label = match &case.else_label { + DimenstionCaseLabel::String(s) => templates.quote_string(&s)?, + DimenstionCaseLabel::Sql(sql) => sql.eval( + visitor, + node_processor.clone(), + query_tools.clone(), + templates, + )?, + }; + templates.case(None, when_then, Some(else_label))? + } else { + self.input.to_sql( + visitor, + node, + query_tools.clone(), + node_processor.clone(), + templates, + )? + } + } + _ => { + return Err(CubeError::internal(format!( + "CaseDimension node processor called for wrong node", + ))); + } + }; + Ok(res) + } + + fn as_any(self: Rc) -> Rc { + self.clone() + } + + fn childs(&self) -> Vec> { + vec![self.input.clone()] + } +} diff --git a/rust/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/sql_nodes/factory.rs b/rust/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/sql_nodes/factory.rs index 0c3d4b727..eb1ab1f7f 100644 --- a/rust/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/sql_nodes/factory.rs +++ b/rust/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/sql_nodes/factory.rs @@ -1,8 +1,8 @@ use super::{ - AutoPrefixSqlNode, EvaluateSqlNode, FinalMeasureSqlNode, GeoDimensionSqlNode, - MeasureFilterSqlNode, MultiStageRankNode, MultiStageWindowNode, RenderReferencesSqlNode, - RollingWindowNode, RootSqlNode, SqlNode, TimeShiftSqlNode, UngroupedMeasureSqlNode, - UngroupedQueryFinalMeasureSqlNode, + AutoPrefixSqlNode, CaseDimensionSqlNode, EvaluateSqlNode, FinalMeasureSqlNode, + GeoDimensionSqlNode, MeasureFilterSqlNode, MultiStageRankNode, MultiStageWindowNode, + RenderReferencesSqlNode, RollingWindowNode, RootSqlNode, SqlNode, TimeShiftSqlNode, + UngroupedMeasureSqlNode, UngroupedQueryFinalMeasureSqlNode, }; use crate::plan::schema::QualifiedColumnName; use std::collections::{HashMap, HashSet}; @@ -164,19 +164,23 @@ impl SqlNodesFactory { UngroupedMeasureSqlNode::new(input) } else if self.ungrouped { UngroupedQueryFinalMeasureSqlNode::new(input) - } else if self.rolling_window { - RollingWindowNode::new(input) } else { - FinalMeasureSqlNode::new( - input, + let final_processor = FinalMeasureSqlNode::new( + input.clone(), self.rendered_as_multiplied_measures.clone(), self.count_approx_as_state, - ) + ); + if self.rolling_window { + RollingWindowNode::new(input, final_processor) + } else { + final_processor + } } } fn dimension_processor(&self, input: Rc) -> Rc { let input: Rc = GeoDimensionSqlNode::new(input); + let input: Rc = CaseDimensionSqlNode::new(input); let input: Rc = AutoPrefixSqlNode::new(input, self.cube_name_references.clone()); diff --git a/rust/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/sql_nodes/mod.rs b/rust/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/sql_nodes/mod.rs index 8b1e16cdf..c1a791c63 100644 --- a/rust/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/sql_nodes/mod.rs +++ b/rust/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/sql_nodes/mod.rs @@ -1,4 +1,5 @@ pub mod auto_prefix; +pub mod case_dimension; pub mod evaluate_sql; pub mod factory; pub mod final_measure; @@ -15,6 +16,7 @@ pub mod ungroupped_measure; pub mod ungroupped_query_final_measure; pub use auto_prefix::AutoPrefixSqlNode; +pub use case_dimension::CaseDimensionSqlNode; pub use evaluate_sql::EvaluateSqlNode; pub use factory::SqlNodesFactory; pub use final_measure::FinalMeasureSqlNode; diff --git a/rust/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/sql_nodes/rolling_window.rs b/rust/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/sql_nodes/rolling_window.rs index 18e14c93d..ea1821540 100644 --- a/rust/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/sql_nodes/rolling_window.rs +++ b/rust/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/sql_nodes/rolling_window.rs @@ -8,11 +8,15 @@ use std::rc::Rc; pub struct RollingWindowNode { input: Rc, + default_processor: Rc, } impl RollingWindowNode { - pub fn new(input: Rc) -> Rc { - Rc::new(Self { input }) + pub fn new(input: Rc, default_processor: Rc) -> Rc { + Rc::new(Self { + input, + default_processor, + }) } pub fn input(&self) -> &Rc { @@ -31,30 +35,42 @@ impl SqlNode for RollingWindowNode { ) -> Result { let res = match node.as_ref() { MemberSymbol::Measure(m) => { - let input = self.input.to_sql( - visitor, - node, - query_tools.clone(), - node_processor, - templates, - )?; if m.is_cumulative() { + let input = self.input.to_sql( + visitor, + node, + query_tools.clone(), + node_processor.clone(), + templates, + )?; if m.measure_type() == "countDistinctApprox" { query_tools.base_tools().hll_cardinality_merge(input)? } else { - let aggregate_function = if m.measure_type() == "sum" + if m.measure_type() == "sum" || m.measure_type() == "count" || m.measure_type() == "runningTotal" { - "sum" + format!("sum({})", input) + } else if m.measure_type() == "min" || m.measure_type() == "max" { + format!("{}({})", m.measure_type(), input) } else { - m.measure_type() - }; - - format!("{}({})", aggregate_function, input) + self.default_processor.to_sql( + visitor, + node, + query_tools.clone(), + node_processor, + templates, + )? + } } } else { - input + self.default_processor.to_sql( + visitor, + node, + query_tools.clone(), + node_processor, + templates, + )? } } _ => { diff --git a/rust/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/symbols/dimension_symbol.rs b/rust/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/symbols/dimension_symbol.rs index c574afd0e..38021370a 100644 --- a/rust/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/symbols/dimension_symbol.rs +++ b/rust/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/symbols/dimension_symbol.rs @@ -1,4 +1,5 @@ use super::{MemberSymbol, SymbolFactory}; +use crate::cube_bridge::case_label::CaseLabel; use crate::cube_bridge::dimension_definition::DimensionDefinition; use crate::cube_bridge::evaluator::CubeEvaluator; use crate::cube_bridge::member_sql::MemberSql; @@ -8,12 +9,28 @@ use crate::planner::sql_templates::PlanSqlTemplates; use cubenativeutils::CubeError; use std::rc::Rc; +pub enum DimenstionCaseLabel { + String(String), + Sql(Rc), +} + +pub struct DimensionCaseWhenItem { + pub sql: Rc, + pub label: DimenstionCaseLabel, +} + +pub struct DimensionCaseDefinition { + pub items: Vec, + pub else_label: DimenstionCaseLabel, +} + pub struct DimensionSymbol { cube_name: String, name: String, member_sql: Option>, latitude: Option>, longitude: Option>, + case: Option, #[allow(dead_code)] definition: Rc, } @@ -25,6 +42,7 @@ impl DimensionSymbol { member_sql: Option>, latitude: Option>, longitude: Option>, + case: Option, definition: Rc, ) -> Self { Self { @@ -34,6 +52,7 @@ impl DimensionSymbol { latitude, longitude, definition, + case, } } @@ -63,6 +82,10 @@ impl DimensionSymbol { self.longitude.clone() } + pub fn case(&self) -> &Option { + &self.case + } + pub fn member_sql(&self) -> &Option> { &self.member_sql } @@ -98,6 +121,17 @@ impl DimensionSymbol { if let Some(member_sql) = &self.longitude { member_sql.extract_symbol_deps(&mut deps); } + if let Some(case) = &self.case { + for itm in case.items.iter() { + itm.sql.extract_symbol_deps(&mut deps); + if let DimenstionCaseLabel::Sql(sql) = &itm.label { + sql.extract_symbol_deps(&mut deps); + } + } + if let DimenstionCaseLabel::Sql(sql) = &case.else_label { + sql.extract_symbol_deps(&mut deps); + } + } deps } @@ -112,6 +146,17 @@ impl DimensionSymbol { if let Some(member_sql) = &self.longitude { member_sql.extract_symbol_deps_with_path(&mut deps); } + if let Some(case) = &self.case { + for itm in case.items.iter() { + itm.sql.extract_symbol_deps_with_path(&mut deps); + if let DimenstionCaseLabel::Sql(sql) = &itm.label { + sql.extract_symbol_deps_with_path(&mut deps); + } + } + if let DimenstionCaseLabel::Sql(sql) = &case.else_label { + sql.extract_symbol_deps_with_path(&mut deps); + } + } deps } @@ -212,8 +257,37 @@ impl SymbolFactory for DimensionSymbolFactory { } else { (None, None) }; + + let case = if let Some(native_case) = definition.case()? { + let items = native_case + .when()? + .iter() + .map(|item| -> Result<_, CubeError> { + let sql = compiler.compile_sql_call(&cube_name, item.sql()?)?; + let label = match item.label()? { + CaseLabel::String(s) => DimenstionCaseLabel::String(s.clone()), + CaseLabel::MemberSql(sql_struct) => { + let sql = compiler.compile_sql_call(&cube_name, sql_struct.sql()?)?; + DimenstionCaseLabel::Sql(sql) + } + }; + Ok(DimensionCaseWhenItem { sql, label }) + }) + .collect::, _>>()?; + + let else_label = match native_case.else_label()?.label()? { + CaseLabel::String(s) => DimenstionCaseLabel::String(s.clone()), + CaseLabel::MemberSql(sql_struct) => { + let sql = compiler.compile_sql_call(&cube_name, sql_struct.sql()?)?; + DimenstionCaseLabel::Sql(sql) + } + }; + Some(DimensionCaseDefinition { items, else_label }) + } else { + None + }; Ok(MemberSymbol::new_dimension(DimensionSymbol::new( - cube_name, name, sql, latitude, longitude, definition, + cube_name, name, sql, latitude, longitude, case, definition, ))) } } diff --git a/rust/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/symbols/measure_symbol.rs b/rust/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/symbols/measure_symbol.rs index e827878ae..0b4818df4 100644 --- a/rust/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/symbols/measure_symbol.rs +++ b/rust/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/symbols/measure_symbol.rs @@ -89,6 +89,17 @@ impl MeasureSymbol { } } + pub fn is_addictive(&self) -> bool { + if self.is_multi_stage() { + false + } else { + match self.measure_type().as_str() { + "sum" | "count" | "countDistinctApprox" | "min" | "max" => true, + _ => false, + } + } + } + pub fn evaluate_sql( &self, visitor: &SqlEvaluatorVisitor, diff --git a/rust/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/symbols/member_symbol.rs b/rust/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/symbols/member_symbol.rs index c8eefc7e2..7395515fb 100644 --- a/rust/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/symbols/member_symbol.rs +++ b/rust/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/symbols/member_symbol.rs @@ -2,6 +2,7 @@ use super::{ CubeNameSymbol, CubeTableSymbol, DimensionSymbol, MeasureSymbol, MemberExpressionSymbol, TimeDimensionSymbol, }; +use std::fmt::Debug; use std::rc::Rc; pub enum MemberSymbol { @@ -13,6 +14,25 @@ pub enum MemberSymbol { MemberExpression(MemberExpressionSymbol), } +impl Debug for MemberSymbol { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match self { + Self::Dimension(_) => f.debug_tuple("Dimension").field(&self.full_name()).finish(), + Self::TimeDimension(_) => f + .debug_tuple("TimeDimension") + .field(&self.full_name()) + .finish(), + Self::Measure(_) => f.debug_tuple("Measure").field(&self.full_name()).finish(), + Self::CubeName(_) => f.debug_tuple("CubeName").field(&self.full_name()).finish(), + Self::CubeTable(_) => f.debug_tuple("CubeTable").field(&self.full_name()).finish(), + Self::MemberExpression(_) => f + .debug_tuple("MemberExpression") + .field(&self.full_name()) + .finish(), + } + } +} + impl MemberSymbol { pub fn new_measure(symbol: MeasureSymbol) -> Rc { Rc::new(Self::Measure(symbol)) diff --git a/rust/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/symbols/mod.rs b/rust/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/symbols/mod.rs index 9a47779d4..c05e9d160 100644 --- a/rust/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/symbols/mod.rs +++ b/rust/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/symbols/mod.rs @@ -9,7 +9,10 @@ mod time_dimension_symbol; pub use cube_symbol::{ CubeNameSymbol, CubeNameSymbolFactory, CubeTableSymbol, CubeTableSymbolFactory, }; -pub use dimension_symbol::{DimensionSymbol, DimensionSymbolFactory}; +pub use dimension_symbol::{ + DimensionCaseDefinition, DimensionCaseWhenItem, DimensionSymbol, DimensionSymbolFactory, + DimenstionCaseLabel, +}; pub use measure_symbol::{MeasureSymbol, MeasureSymbolFactory}; pub use member_expression_symbol::MemberExpressionSymbol; pub use member_symbol::MemberSymbol; diff --git a/rust/cubesqlplanner/cubesqlplanner/src/planner/sql_templates/filter.rs b/rust/cubesqlplanner/cubesqlplanner/src/planner/sql_templates/filter.rs index 7b12a74ef..3ab58c46e 100644 --- a/rust/cubesqlplanner/cubesqlplanner/src/planner/sql_templates/filter.rs +++ b/rust/cubesqlplanner/cubesqlplanner/src/planner/sql_templates/filter.rs @@ -61,6 +61,22 @@ impl FilterTemplates { ) } + pub fn time_not_in_range_filter( + &self, + column: String, + from_timestamp: String, + to_timestamp: String, + ) -> Result { + self.render.render_template( + &"filters/time_not_in_range_filter", + context! { + column => column, + from_timestamp => from_timestamp, + to_timestamp => to_timestamp, + }, + ) + } + pub fn in_where( &self, column: String, diff --git a/rust/cubesqlplanner/cubesqlplanner/src/planner/sql_templates/plan.rs b/rust/cubesqlplanner/cubesqlplanner/src/planner/sql_templates/plan.rs index ba4e7c01c..edd4e4d92 100644 --- a/rust/cubesqlplanner/cubesqlplanner/src/planner/sql_templates/plan.rs +++ b/rust/cubesqlplanner/cubesqlplanner/src/planner/sql_templates/plan.rs @@ -10,6 +10,18 @@ use std::rc::Rc; pub struct PlanSqlTemplates { render: Rc, } +pub const UNDERSCORE_UPPER_BOUND: Boundary = Boundary { + name: "LowerUpper", + condition: |s, _| { + s.get(0) == Some(&"_") + && s.get(1) + .map(|c| c.to_uppercase() != c.to_lowercase() && *c == c.to_uppercase()) + == Some(true) + }, + arg: None, + start: 0, + len: 0, +}; impl PlanSqlTemplates { pub fn new(render: Rc) -> Self { @@ -18,8 +30,12 @@ impl PlanSqlTemplates { pub fn alias_name(name: &str) -> String { let res = name - .from_case(Case::Camel) - .without_boundaries(&[Boundary::LOWER_DIGIT, Boundary::UPPER_DIGIT]) + .with_boundaries(&[ + UNDERSCORE_UPPER_BOUND, + Boundary::LOWER_UPPER, + Boundary::DIGIT_LOWER, + Boundary::ACRONYM, + ]) .to_case(Case::Snake) .replace(".", "__"); res @@ -39,6 +55,10 @@ impl PlanSqlTemplates { ) } + pub fn quote_string(&self, string: &str) -> Result { + Ok(format!("'{}'", string)) + } + pub fn quote_identifier(&self, column_name: &str) -> Result { let quote = self.render.get_template("quotes/identifiers")?; let escape = self.render.get_template("quotes/escape")?; @@ -280,6 +300,18 @@ impl PlanSqlTemplates { .render_template("params/param", context! { param_index => param_index }) } + pub fn case( + &self, + expr: Option, + when_then: Vec<(String, String)>, + else_expr: Option, + ) -> Result { + self.render.render_template( + "expressions/case", + context! { expr => expr, when_then => when_then, else_expr => else_expr }, + ) + } + pub fn scalar_function( &self, scalar_function: String, diff --git a/rust/cubesqlplanner/nativebridge/Cargo.toml b/rust/cubesqlplanner/nativebridge/Cargo.toml index 2111236eb..f64165771 100644 --- a/rust/cubesqlplanner/nativebridge/Cargo.toml +++ b/rust/cubesqlplanner/nativebridge/Cargo.toml @@ -20,7 +20,7 @@ version = "1.0" version = "1.0" [dependencies.syn] -version = "1.0" +version = "2.0.98" features = ["full"] [dependencies.async-trait] diff --git a/rust/cubesqlplanner/nativebridge/src/lib.rs b/rust/cubesqlplanner/nativebridge/src/lib.rs index fd2dff5ac..cdba88307 100644 --- a/rust/cubesqlplanner/nativebridge/src/lib.rs +++ b/rust/cubesqlplanner/nativebridge/src/lib.rs @@ -4,10 +4,11 @@ use proc_macro2::Ident; use quote::{format_ident, quote, ToTokens}; use syn::parse::{Parse, ParseStream}; use syn::spanned::Spanned; -use syn::token::Colon2; +use syn::token::PathSep; +use syn::LitStr; use syn::{ parse_macro_input, punctuated::Punctuated, FnArg, Item, Meta, Pat, Path, PathArguments, - PathSegment, ReturnType, TraitItem, TraitItemMethod, Type, + PathSegment, ReturnType, TraitItem, TraitItemFn, Type, }; #[proc_macro_attribute] pub fn native_bridge(args: TokenStream, input: TokenStream) -> proc_macro::TokenStream { @@ -39,6 +40,7 @@ struct NativeMethodParams { pub method_type: NativeMethodType, pub is_optional: bool, pub is_vec: bool, + pub custom_name: Option, } impl Default for NativeMethodParams { @@ -47,6 +49,7 @@ impl Default for NativeMethodParams { method_type: NativeMethodType::Call, is_optional: false, is_vec: false, + custom_name: None, } } } @@ -74,6 +77,7 @@ struct NativeArgumentTyped { struct NativeMethod { ident: Ident, + //custom_js_name: Option args: Vec, typed_args: Vec, output: ReturnType, @@ -90,8 +94,8 @@ impl Parse for NativeService { .items .iter() .filter_map(|item| match item { - TraitItem::Method(method_item) => { - let method_params = Self::parse_method_params(method_item); + TraitItem::Fn(method_item) => { + let method_params = Self::parse_method_params(method_item).unwrap(); let args = method_item.sig.inputs.iter().cloned().collect::>(); let typed_args = Self::parse_method_typed_args(&args).unwrap(); Some(NativeMethod { @@ -150,27 +154,36 @@ impl NativeService { .collect::, _>>() } - fn parse_method_params(method_item: &TraitItemMethod) -> NativeMethodParams { + fn parse_method_params(method_item: &TraitItemFn) -> syn::Result { let mut method_params = NativeMethodParams::default(); if method_item.attrs.len() > 0 { for attr in method_item.attrs.iter() { - let seg = attr.path.segments.last().unwrap(); - match seg.ident.to_string().as_str() { - "optional" => { - method_params.is_optional = true; - } - "field" => { - method_params.method_type = NativeMethodType::Getter; - } - "vec" => { - method_params.is_vec = true; - } - _ => {} + if attr.path().is_ident("nbridge") { + attr.parse_nested_meta(|meta| { + if meta.path.is_ident("optional") { + method_params.is_optional = true; + return Ok(()); + } + if meta.path.is_ident("field") { + method_params.method_type = NativeMethodType::Getter; + return Ok(()); + } + if meta.path.is_ident("vec") { + method_params.is_vec = true; + return Ok(()); + } + if meta.path.is_ident("rename") { + method_params.custom_name = + Some(meta.value()?.parse::()?.value()); + } + + Ok(()) + })?; } } } - method_params + Ok(method_params) } fn get_output_for_deserializer( tp: &ReturnType, @@ -204,7 +217,7 @@ impl NativeService { } fn get_deserializer_output_for_result( - segs: &Punctuated, + segs: &Punctuated, optional: bool, vec: bool, expected_type: &str, @@ -529,7 +542,10 @@ impl NativeMethod { .iter() .map(|arg| Self::js_agr_set(&arg.ident, &arg.downcast_type_path)) .collect::>(); - let js_method_name = self.camel_case_name(); + let js_method_name = method_params + .custom_name + .clone() + .unwrap_or_else(|| self.camel_case_name()); let deseralization = Self::deserialization_impl(&output_params, method_params.is_vec); From c6eba12cfaed8845eb6e4d1784775c76e9b2436b Mon Sep 17 00:00:00 2001 From: waralexrom <108349432+waralexrom@users.noreply.github.com> Date: Mon, 3 Mar 2025 17:38:45 +0100 Subject: [PATCH 05/49] chore(tesseract): Fix for multi stage with sub queries (#9292) --- .../integration/postgres/multi-stage.test.ts | 226 ++++++++++++++++++ .../collectors/sub_query_dimensions.rs | 3 + 2 files changed, 229 insertions(+) create mode 100644 packages/cubejs-schema-compiler/test/integration/postgres/multi-stage.test.ts diff --git a/packages/cubejs-schema-compiler/test/integration/postgres/multi-stage.test.ts b/packages/cubejs-schema-compiler/test/integration/postgres/multi-stage.test.ts new file mode 100644 index 000000000..0b0107f12 --- /dev/null +++ b/packages/cubejs-schema-compiler/test/integration/postgres/multi-stage.test.ts @@ -0,0 +1,226 @@ +import { + getEnv, +} from '@cubejs-backend/shared'; +import { PostgresQuery } from '../../../src/adapter/PostgresQuery'; +import { prepareYamlCompiler } from '../../unit/PrepareCompiler'; +import { dbRunner } from './PostgresDBRunner'; + +describe('Multi-Stage', () => { + jest.setTimeout(200000); + + const { compiler, joinGraph, cubeEvaluator } = prepareYamlCompiler(` +cubes: + - name: orders + sql: > + SELECT 9 as ID, 'completed' as STATUS, '2022-01-12T20:00:00.000Z'::timestamptz as CREATED_AT + union all + SELECT 10 as ID, 'completed' as STATUS, '2023-01-12T20:00:00.000Z'::timestamptz as CREATED_AT + union all + SELECT 11 as ID, 'completed' as STATUS, '2024-01-14T20:00:00.000Z'::timestamptz as CREATED_AT + union all + SELECT 12 as ID, 'completed' as STATUS, '2024-02-14T20:00:00.000Z'::timestamptz as CREATED_AT + union all + SELECT 13 as ID, 'completed' as STATUS, '2025-03-14T20:00:00.000Z'::timestamptz as CREATED_AT + joins: + - name: line_items + sql: "{CUBE}.ID = {line_items}.order_id" + relationship: many_to_one + + dimensions: + - name: id + sql: ID + type: number + primary_key: true + + - name: status + sql: STATUS + type: string + + - name: date + sql: CREATED_AT + type: time + + - name: amount + sql: '{line_items.total_amount}' + type: number + sub_query: true + + measures: + - name: count + type: count + + - name: completed_count + type: count + filters: + - sql: "{CUBE}.STATUS = 'completed'" + + - name: returned_count + type: count + filters: + - sql: "{CUBE}.STATUS = 'returned'" + + - name: return_rate + type: number + sql: "({returned_count} / NULLIF({completed_count}, 0)) * 100.0" + description: "Percentage of returned orders out of completed, exclude just placed orders." + format: percent + + - name: total_amount + sql: '{CUBE.amount}' + type: sum + + - name: revenue + sql: "CASE WHEN {CUBE}.status = 'completed' THEN {CUBE.amount} END" + type: sum + format: currency + + - name: average_order_value + sql: '{CUBE.amount}' + type: avg + + - name: revenue_1_y_ago + sql: "{revenue}" + multi_stage: true + type: number + format: currency + time_shift: + - time_dimension: date + interval: 1 year + type: prior + - time_dimension: orders_view.date + interval: 1 year + type: prior + + - name: cagr_1_y + sql: "(({revenue} / {revenue_1_y_ago}) - 1)" + type: number + format: percent + description: "Annual CAGR, year over year growth in revenue" + + - name: line_items + sql: > + SELECT 9 as ID, '2024-01-12T20:00:00.000Z'::timestamptz as CREATED_AT, 9 as ORDER_ID, 11 as PRODUCT_ID + union all + SELECT 10 as ID, '2024-01-12T20:00:00.000Z'::timestamptz as CREATED_AT, 10 as ORDER_ID, 10 as PRODUCT_ID + union all + SELECT 11 as ID, '2024-01-12T20:00:00.000Z'::timestamptz as CREATED_AT, 10 as ORDER_ID, 11 as PRODUCT_ID + union all + SELECT 12 as ID, '2024-01-12T20:00:00.000Z'::timestamptz as CREATED_AT, 11 as ORDER_ID, 10 as PRODUCT_ID + union all + SELECT 13 as ID, '2024-01-12T20:00:00.000Z'::timestamptz as CREATED_AT, 11 as ORDER_ID, 10 as PRODUCT_ID + union all + SELECT 14 as ID, '2024-01-12T20:00:00.000Z'::timestamptz as CREATED_AT, 12 as ORDER_ID, 10 as PRODUCT_ID + union all + SELECT 15 as ID, '2024-01-12T20:00:00.000Z'::timestamptz as CREATED_AT, 13 as ORDER_ID, 11 as PRODUCT_ID + public: false + + joins: + - name: products + sql: "{CUBE}.PRODUCT_ID = {products}.ID" + relationship: many_to_one + + dimensions: + - name: id + sql: ID + type: number + primary_key: true + + - name: created_at + sql: CREATED_AT + type: time + + - name: price + sql: "{products.price}" + type: number + + measures: + - name: count + type: count + + - name: total_amount + sql: "{price}" + type: sum + + - name: products + sql: > + SELECT 10 as ID, 'some category' as PRODUCT_CATEGORY, 'some name' as NAME, 10 as PRICE + union all + SELECT 11 as ID, 'some category' as PRODUCT_CATEGORY, 'some name' as NAME, 5 as PRICE + public: false + description: > + Products and categories in our e-commerce store. + + dimensions: + - name: id + sql: ID + type: number + primary_key: true + + - name: product_category + sql: PRODUCT_CATEGORY + type: string + + - name: name + sql: NAME + type: string + + - name: price + sql: PRICE + type: number + + measures: + - name: count + type: count +views: + - name: orders_view + + cubes: + - join_path: orders + includes: + - date + - revenue + - cagr_1_y + - return_rate + + - join_path: line_items.products + prefix: true + includes: + - product_category + + `); + + async function runQueryTest(q, expectedResult) { + if (!getEnv('nativeSqlPlanner')) { + return; + } + await compiler.compile(); + const query = new PostgresQuery({ joinGraph, cubeEvaluator, compiler }, q); + + console.log(query.buildSqlAndParams()); + + const res = await dbRunner.testQuery(query.buildSqlAndParams()); + console.log(JSON.stringify(res)); + + expect(res).toEqual( + expectedResult + ); + } + + it('multi stage over sub query', async () => runQueryTest({ + measures: ['orders.revenue', 'orders.revenue_1_y_ago', 'orders.cagr_1_y'], + timeDimensions: [ + { + dimension: 'orders.date', + granularity: 'year' + } + ], + timezone: 'UTC' + }, [ + + { orders__date_year: '2023-01-01T00:00:00.000Z', + orders__revenue: '15', + orders__revenue_1_y_ago: '5', + orders__cagr_1_y: '2.0000000000000000' }, + { orders__date_year: '2024-01-01T00:00:00.000Z', orders__revenue: '30', orders__revenue_1_y_ago: '15', orders__cagr_1_y: '1.0000000000000000' }, + { orders__date_year: '2025-01-01T00:00:00.000Z', orders__revenue: '5', orders__revenue_1_y_ago: '30', orders__cagr_1_y: '-0.83333333333333333333' }])); +}); diff --git a/rust/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/collectors/sub_query_dimensions.rs b/rust/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/collectors/sub_query_dimensions.rs index 36c7a364f..c081e87c1 100644 --- a/rust/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/collectors/sub_query_dimensions.rs +++ b/rust/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/collectors/sub_query_dimensions.rs @@ -20,6 +20,9 @@ impl SubQueryDimensionsCollector { pub fn extract_result(self) -> Vec> { self.sub_query_dimensions + .into_iter() + .unique_by(|m| m.full_name()) + .collect() } fn check_dim_has_measures(&self, dim: &DimensionSymbol) -> bool { From 2149c22073c525f06959798f3681cff0153e0deb Mon Sep 17 00:00:00 2001 From: Konstantin Burkalev Date: Mon, 3 Mar 2025 22:45:12 +0200 Subject: [PATCH 06/49] v1.2.15 --- CHANGELOG.md | 11 ++++ lerna.json | 2 +- packages/cubejs-api-gateway/CHANGELOG.md | 4 ++ packages/cubejs-api-gateway/package.json | 8 +-- packages/cubejs-athena-driver/CHANGELOG.md | 4 ++ packages/cubejs-athena-driver/package.json | 10 +-- packages/cubejs-backend-cloud/CHANGELOG.md | 4 ++ packages/cubejs-backend-cloud/package.json | 6 +- packages/cubejs-backend-maven/CHANGELOG.md | 4 ++ packages/cubejs-backend-maven/package.json | 6 +- packages/cubejs-backend-native/CHANGELOG.md | 6 ++ packages/cubejs-backend-native/package.json | 8 +-- packages/cubejs-backend-shared/CHANGELOG.md | 6 ++ packages/cubejs-backend-shared/package.json | 4 +- packages/cubejs-base-driver/CHANGELOG.md | 4 ++ packages/cubejs-base-driver/package.json | 6 +- packages/cubejs-bigquery-driver/CHANGELOG.md | 4 ++ packages/cubejs-bigquery-driver/package.json | 8 +-- packages/cubejs-cli/CHANGELOG.md | 4 ++ packages/cubejs-cli/package.json | 12 ++-- .../cubejs-clickhouse-driver/CHANGELOG.md | 4 ++ .../cubejs-clickhouse-driver/package.json | 10 +-- packages/cubejs-client-core/CHANGELOG.md | 4 ++ packages/cubejs-client-core/package.json | 2 +- packages/cubejs-client-dx/CHANGELOG.md | 4 ++ packages/cubejs-client-dx/package.json | 2 +- packages/cubejs-client-ngx/CHANGELOG.md | 6 ++ packages/cubejs-client-ngx/package.json | 2 +- packages/cubejs-client-react/CHANGELOG.md | 4 ++ packages/cubejs-client-react/package.json | 4 +- packages/cubejs-client-vue/CHANGELOG.md | 4 ++ packages/cubejs-client-vue/package.json | 4 +- packages/cubejs-client-vue3/CHANGELOG.md | 4 ++ packages/cubejs-client-vue3/package.json | 4 +- .../cubejs-client-ws-transport/CHANGELOG.md | 4 ++ .../cubejs-client-ws-transport/package.json | 6 +- packages/cubejs-crate-driver/CHANGELOG.md | 4 ++ packages/cubejs-crate-driver/package.json | 10 +-- packages/cubejs-cubestore-driver/CHANGELOG.md | 4 ++ packages/cubejs-cubestore-driver/package.json | 12 ++-- .../CHANGELOG.md | 4 ++ .../package.json | 12 ++-- .../cubejs-dbt-schema-extension/CHANGELOG.md | 4 ++ .../cubejs-dbt-schema-extension/package.json | 8 +-- packages/cubejs-docker/CHANGELOG.md | 4 ++ packages/cubejs-docker/package.json | 61 +++++++++---------- packages/cubejs-dremio-driver/CHANGELOG.md | 4 ++ packages/cubejs-dremio-driver/package.json | 12 ++-- packages/cubejs-druid-driver/CHANGELOG.md | 4 ++ packages/cubejs-druid-driver/package.json | 10 +-- packages/cubejs-duckdb-driver/CHANGELOG.md | 4 ++ packages/cubejs-duckdb-driver/package.json | 12 ++-- .../cubejs-elasticsearch-driver/CHANGELOG.md | 4 ++ .../cubejs-elasticsearch-driver/package.json | 8 +-- packages/cubejs-firebolt-driver/CHANGELOG.md | 4 ++ packages/cubejs-firebolt-driver/package.json | 12 ++-- packages/cubejs-hive-driver/CHANGELOG.md | 4 ++ packages/cubejs-hive-driver/package.json | 8 +-- packages/cubejs-jdbc-driver/CHANGELOG.md | 4 ++ packages/cubejs-jdbc-driver/package.json | 8 +-- packages/cubejs-ksql-driver/CHANGELOG.md | 4 ++ packages/cubejs-ksql-driver/package.json | 10 +-- packages/cubejs-linter/CHANGELOG.md | 4 ++ packages/cubejs-linter/package.json | 2 +- .../cubejs-materialize-driver/CHANGELOG.md | 4 ++ .../cubejs-materialize-driver/package.json | 12 ++-- packages/cubejs-mongobi-driver/CHANGELOG.md | 4 ++ packages/cubejs-mongobi-driver/package.json | 8 +-- packages/cubejs-mssql-driver/CHANGELOG.md | 4 ++ packages/cubejs-mssql-driver/package.json | 4 +- .../CHANGELOG.md | 4 ++ .../package.json | 8 +-- packages/cubejs-mysql-driver/CHANGELOG.md | 4 ++ packages/cubejs-mysql-driver/package.json | 10 +-- packages/cubejs-oracle-driver/CHANGELOG.md | 4 ++ packages/cubejs-oracle-driver/package.json | 4 +- packages/cubejs-pinot-driver/CHANGELOG.md | 4 ++ packages/cubejs-pinot-driver/package.json | 10 +-- packages/cubejs-playground/CHANGELOG.md | 4 ++ packages/cubejs-playground/package.json | 6 +- packages/cubejs-postgres-driver/CHANGELOG.md | 4 ++ packages/cubejs-postgres-driver/package.json | 10 +-- packages/cubejs-prestodb-driver/CHANGELOG.md | 4 ++ packages/cubejs-prestodb-driver/package.json | 8 +-- .../cubejs-query-orchestrator/CHANGELOG.md | 4 ++ .../cubejs-query-orchestrator/package.json | 12 ++-- packages/cubejs-questdb-driver/CHANGELOG.md | 4 ++ packages/cubejs-questdb-driver/package.json | 12 ++-- packages/cubejs-redshift-driver/CHANGELOG.md | 4 ++ packages/cubejs-redshift-driver/package.json | 10 +-- packages/cubejs-schema-compiler/CHANGELOG.md | 7 +++ packages/cubejs-schema-compiler/package.json | 10 +-- packages/cubejs-server-core/CHANGELOG.md | 4 ++ packages/cubejs-server-core/package.json | 22 +++---- packages/cubejs-server/CHANGELOG.md | 4 ++ packages/cubejs-server/package.json | 14 ++--- packages/cubejs-snowflake-driver/CHANGELOG.md | 4 ++ packages/cubejs-snowflake-driver/package.json | 8 +-- packages/cubejs-sqlite-driver/CHANGELOG.md | 4 ++ packages/cubejs-sqlite-driver/package.json | 8 +-- packages/cubejs-templates/CHANGELOG.md | 4 ++ packages/cubejs-templates/package.json | 6 +- packages/cubejs-testing-drivers/CHANGELOG.md | 4 ++ packages/cubejs-testing-drivers/package.json | 36 +++++------ packages/cubejs-testing-shared/CHANGELOG.md | 4 ++ packages/cubejs-testing-shared/package.json | 10 +-- packages/cubejs-testing/CHANGELOG.md | 4 ++ packages/cubejs-testing/package.json | 22 +++---- packages/cubejs-trino-driver/CHANGELOG.md | 4 ++ packages/cubejs-trino-driver/package.json | 12 ++-- packages/cubejs-vertica-driver/CHANGELOG.md | 4 ++ packages/cubejs-vertica-driver/package.json | 12 ++-- rust/cubesql/CHANGELOG.md | 4 ++ rust/cubesql/package.json | 2 +- rust/cubestore/CHANGELOG.md | 4 ++ rust/cubestore/package.json | 6 +- 116 files changed, 532 insertions(+), 287 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0f360ec0f..1e33d961e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,17 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.15](https://github.com/cube-js/cube/compare/v1.2.14...v1.2.15) (2025-03-03) + +### Bug Fixes + +- **cubejs-client-ngx:** Configure package-level Lerna publish directory for Angular ([#9189](https://github.com/cube-js/cube/issues/9189)) ([ef799f5](https://github.com/cube-js/cube/commit/ef799f58c21a760a7c51e03803343568634620ee)) + +### Features + +- **schema-compiler:** auto include hierarchy dimensions ([#9288](https://github.com/cube-js/cube/issues/9288)) ([162c5b4](https://github.com/cube-js/cube/commit/162c5b48f6ef489bf9f4bb95a1d4bca168b836c9)) +- **tesseract:** Pre-aggregation planning fallback ([#9230](https://github.com/cube-js/cube/issues/9230)) ([08650e2](https://github.com/cube-js/cube/commit/08650e241e2aa85705e3c68e4993098267f89c82)) + ## [1.2.14](https://github.com/cube-js/cube/compare/v1.2.13...v1.2.14) (2025-02-28) ### Features diff --git a/lerna.json b/lerna.json index 42f1b32a3..6738d5b91 100644 --- a/lerna.json +++ b/lerna.json @@ -1,5 +1,5 @@ { - "version": "1.2.14", + "version": "1.2.15", "npmClient": "yarn", "command": { "bootstrap": { diff --git a/packages/cubejs-api-gateway/CHANGELOG.md b/packages/cubejs-api-gateway/CHANGELOG.md index 0aac302b4..ae0618d95 100644 --- a/packages/cubejs-api-gateway/CHANGELOG.md +++ b/packages/cubejs-api-gateway/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.15](https://github.com/cube-js/cube/compare/v1.2.14...v1.2.15) (2025-03-03) + +**Note:** Version bump only for package @cubejs-backend/api-gateway + ## [1.2.14](https://github.com/cube-js/cube/compare/v1.2.13...v1.2.14) (2025-02-28) **Note:** Version bump only for package @cubejs-backend/api-gateway diff --git a/packages/cubejs-api-gateway/package.json b/packages/cubejs-api-gateway/package.json index a2868bcd8..5fb869af9 100644 --- a/packages/cubejs-api-gateway/package.json +++ b/packages/cubejs-api-gateway/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/api-gateway", "description": "Cube.js API Gateway", "author": "Cube Dev, Inc.", - "version": "1.2.14", + "version": "1.2.15", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -27,8 +27,8 @@ "dist/src/*" ], "dependencies": { - "@cubejs-backend/native": "1.2.14", - "@cubejs-backend/shared": "1.2.14", + "@cubejs-backend/native": "1.2.15", + "@cubejs-backend/shared": "1.2.15", "@ungap/structured-clone": "^0.3.4", "body-parser": "^1.19.0", "chrono-node": "^2.6.2", @@ -50,7 +50,7 @@ "uuid": "^8.3.2" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.14", + "@cubejs-backend/linter": "1.2.15", "@types/express": "^4.17.21", "@types/jest": "^27", "@types/jsonwebtoken": "^9.0.2", diff --git a/packages/cubejs-athena-driver/CHANGELOG.md b/packages/cubejs-athena-driver/CHANGELOG.md index 63ff8b9a6..5f7409892 100644 --- a/packages/cubejs-athena-driver/CHANGELOG.md +++ b/packages/cubejs-athena-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.15](https://github.com/cube-js/cube/compare/v1.2.14...v1.2.15) (2025-03-03) + +**Note:** Version bump only for package @cubejs-backend/athena-driver + ## [1.2.14](https://github.com/cube-js/cube/compare/v1.2.13...v1.2.14) (2025-02-28) **Note:** Version bump only for package @cubejs-backend/athena-driver diff --git a/packages/cubejs-athena-driver/package.json b/packages/cubejs-athena-driver/package.json index 2fbdbe43b..e3d762314 100644 --- a/packages/cubejs-athena-driver/package.json +++ b/packages/cubejs-athena-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/athena-driver", "description": "Cube.js Athena database driver", "author": "Cube Dev, Inc.", - "version": "1.2.14", + "version": "1.2.15", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -29,13 +29,13 @@ "types": "dist/src/index.d.ts", "dependencies": { "@aws-sdk/client-athena": "^3.22.0", - "@cubejs-backend/base-driver": "1.2.14", - "@cubejs-backend/shared": "1.2.14", + "@cubejs-backend/base-driver": "1.2.15", + "@cubejs-backend/shared": "1.2.15", "sqlstring": "^2.3.1" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.14", - "@cubejs-backend/testing-shared": "1.2.14", + "@cubejs-backend/linter": "1.2.15", + "@cubejs-backend/testing-shared": "1.2.15", "@types/ramda": "^0.27.40", "typescript": "~5.2.2" }, diff --git a/packages/cubejs-backend-cloud/CHANGELOG.md b/packages/cubejs-backend-cloud/CHANGELOG.md index 4e9f74cd0..7af18ccd6 100644 --- a/packages/cubejs-backend-cloud/CHANGELOG.md +++ b/packages/cubejs-backend-cloud/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.15](https://github.com/cube-js/cube/compare/v1.2.14...v1.2.15) (2025-03-03) + +**Note:** Version bump only for package @cubejs-backend/cloud + ## [1.2.14](https://github.com/cube-js/cube/compare/v1.2.13...v1.2.14) (2025-02-28) **Note:** Version bump only for package @cubejs-backend/cloud diff --git a/packages/cubejs-backend-cloud/package.json b/packages/cubejs-backend-cloud/package.json index ddbf6875c..26ff10f90 100644 --- a/packages/cubejs-backend-cloud/package.json +++ b/packages/cubejs-backend-cloud/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-backend/cloud", - "version": "1.2.14", + "version": "1.2.15", "description": "Cube Cloud package", "main": "dist/src/index.js", "typings": "dist/src/index.d.ts", @@ -25,7 +25,7 @@ "devDependencies": { "@babel/core": "^7.24.5", "@babel/preset-env": "^7.24.5", - "@cubejs-backend/linter": "1.2.14", + "@cubejs-backend/linter": "1.2.15", "@types/fs-extra": "^9.0.8", "@types/jest": "^27", "jest": "^27", @@ -33,7 +33,7 @@ }, "dependencies": { "@cubejs-backend/dotenv": "^9.0.2", - "@cubejs-backend/shared": "1.2.14", + "@cubejs-backend/shared": "1.2.15", "chokidar": "^3.5.1", "env-var": "^6.3.0", "form-data": "^4.0.0", diff --git a/packages/cubejs-backend-maven/CHANGELOG.md b/packages/cubejs-backend-maven/CHANGELOG.md index 0d6941fd0..c48a4286a 100644 --- a/packages/cubejs-backend-maven/CHANGELOG.md +++ b/packages/cubejs-backend-maven/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.15](https://github.com/cube-js/cube/compare/v1.2.14...v1.2.15) (2025-03-03) + +**Note:** Version bump only for package @cubejs-backend/maven + ## [1.2.14](https://github.com/cube-js/cube/compare/v1.2.13...v1.2.14) (2025-02-28) **Note:** Version bump only for package @cubejs-backend/maven diff --git a/packages/cubejs-backend-maven/package.json b/packages/cubejs-backend-maven/package.json index 734aeb31d..6c2278bab 100644 --- a/packages/cubejs-backend-maven/package.json +++ b/packages/cubejs-backend-maven/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/maven", "description": "Cube.js Maven Wrapper for java dependencies downloading", "author": "Cube Dev, Inc.", - "version": "1.2.14", + "version": "1.2.15", "license": "Apache-2.0", "repository": { "type": "git", @@ -31,12 +31,12 @@ "dist/src/*" ], "dependencies": { - "@cubejs-backend/shared": "1.2.14", + "@cubejs-backend/shared": "1.2.15", "source-map-support": "^0.5.19", "xmlbuilder2": "^2.4.0" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.14", + "@cubejs-backend/linter": "1.2.15", "@types/jest": "^27", "@types/node": "^18", "jest": "^27", diff --git a/packages/cubejs-backend-native/CHANGELOG.md b/packages/cubejs-backend-native/CHANGELOG.md index af5edddb8..9710733bb 100644 --- a/packages/cubejs-backend-native/CHANGELOG.md +++ b/packages/cubejs-backend-native/CHANGELOG.md @@ -3,6 +3,12 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.15](https://github.com/cube-js/cube/compare/v1.2.14...v1.2.15) (2025-03-03) + +### Features + +- **tesseract:** Pre-aggregation planning fallback ([#9230](https://github.com/cube-js/cube/issues/9230)) ([08650e2](https://github.com/cube-js/cube/commit/08650e241e2aa85705e3c68e4993098267f89c82)) + ## [1.2.14](https://github.com/cube-js/cube/compare/v1.2.13...v1.2.14) (2025-02-28) **Note:** Version bump only for package @cubejs-backend/native diff --git a/packages/cubejs-backend-native/package.json b/packages/cubejs-backend-native/package.json index fcb932a81..56c03523c 100644 --- a/packages/cubejs-backend-native/package.json +++ b/packages/cubejs-backend-native/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-backend/native", - "version": "1.2.14", + "version": "1.2.15", "author": "Cube Dev, Inc.", "description": "Native module for Cube.js (binding to Rust codebase)", "main": "dist/js/index.js", @@ -34,7 +34,7 @@ "dist/js" ], "devDependencies": { - "@cubejs-backend/linter": "1.2.14", + "@cubejs-backend/linter": "1.2.15", "@types/jest": "^27", "@types/node": "^18", "cargo-cp-artifact": "^0.1.9", @@ -44,8 +44,8 @@ "uuid": "^8.3.2" }, "dependencies": { - "@cubejs-backend/cubesql": "1.2.14", - "@cubejs-backend/shared": "1.2.14", + "@cubejs-backend/cubesql": "1.2.15", + "@cubejs-backend/shared": "1.2.15", "@cubejs-infra/post-installer": "^0.0.7" }, "resources": { diff --git a/packages/cubejs-backend-shared/CHANGELOG.md b/packages/cubejs-backend-shared/CHANGELOG.md index 8a33d9a5a..2214bccb7 100644 --- a/packages/cubejs-backend-shared/CHANGELOG.md +++ b/packages/cubejs-backend-shared/CHANGELOG.md @@ -3,6 +3,12 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.15](https://github.com/cube-js/cube/compare/v1.2.14...v1.2.15) (2025-03-03) + +### Features + +- **tesseract:** Pre-aggregation planning fallback ([#9230](https://github.com/cube-js/cube/issues/9230)) ([08650e2](https://github.com/cube-js/cube/commit/08650e241e2aa85705e3c68e4993098267f89c82)) + ## [1.2.14](https://github.com/cube-js/cube/compare/v1.2.13...v1.2.14) (2025-02-28) ### Features diff --git a/packages/cubejs-backend-shared/package.json b/packages/cubejs-backend-shared/package.json index dcf05e7f3..837d1b9ea 100644 --- a/packages/cubejs-backend-shared/package.json +++ b/packages/cubejs-backend-shared/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-backend/shared", - "version": "1.2.14", + "version": "1.2.15", "description": "Shared code for Cube.js backend packages", "main": "dist/src/index.js", "typings": "dist/src/index.d.ts", @@ -22,7 +22,7 @@ "author": "Cube Dev, Inc.", "license": "Apache-2.0", "devDependencies": { - "@cubejs-backend/linter": "1.2.14", + "@cubejs-backend/linter": "1.2.15", "@types/bytes": "^3.1.5", "@types/cli-progress": "^3.9.1", "@types/decompress": "^4.2.7", diff --git a/packages/cubejs-base-driver/CHANGELOG.md b/packages/cubejs-base-driver/CHANGELOG.md index 73b7d96c5..1112830d5 100644 --- a/packages/cubejs-base-driver/CHANGELOG.md +++ b/packages/cubejs-base-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.15](https://github.com/cube-js/cube/compare/v1.2.14...v1.2.15) (2025-03-03) + +**Note:** Version bump only for package @cubejs-backend/base-driver + ## [1.2.14](https://github.com/cube-js/cube/compare/v1.2.13...v1.2.14) (2025-02-28) **Note:** Version bump only for package @cubejs-backend/base-driver diff --git a/packages/cubejs-base-driver/package.json b/packages/cubejs-base-driver/package.json index c14813e61..ef73b436f 100644 --- a/packages/cubejs-base-driver/package.json +++ b/packages/cubejs-base-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/base-driver", "description": "Cube.js Base Driver", "author": "Cube Dev, Inc.", - "version": "1.2.14", + "version": "1.2.15", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -33,11 +33,11 @@ "@aws-sdk/s3-request-presigner": "^3.49.0", "@azure/identity": "^4.4.1", "@azure/storage-blob": "^12.9.0", - "@cubejs-backend/shared": "1.2.14", + "@cubejs-backend/shared": "1.2.15", "@google-cloud/storage": "^7.13.0" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.14", + "@cubejs-backend/linter": "1.2.15", "@types/jest": "^27", "@types/node": "^18", "jest": "^27", diff --git a/packages/cubejs-bigquery-driver/CHANGELOG.md b/packages/cubejs-bigquery-driver/CHANGELOG.md index e53524c3d..a47b6426d 100644 --- a/packages/cubejs-bigquery-driver/CHANGELOG.md +++ b/packages/cubejs-bigquery-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.15](https://github.com/cube-js/cube/compare/v1.2.14...v1.2.15) (2025-03-03) + +**Note:** Version bump only for package @cubejs-backend/bigquery-driver + ## [1.2.14](https://github.com/cube-js/cube/compare/v1.2.13...v1.2.14) (2025-02-28) **Note:** Version bump only for package @cubejs-backend/bigquery-driver diff --git a/packages/cubejs-bigquery-driver/package.json b/packages/cubejs-bigquery-driver/package.json index e7e0656a1..4c0ae2bb7 100644 --- a/packages/cubejs-bigquery-driver/package.json +++ b/packages/cubejs-bigquery-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/bigquery-driver", "description": "Cube.js BigQuery database driver", "author": "Cube Dev, Inc.", - "version": "1.2.14", + "version": "1.2.15", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -28,15 +28,15 @@ "main": "index.js", "types": "dist/src/index.d.ts", "dependencies": { - "@cubejs-backend/base-driver": "1.2.14", + "@cubejs-backend/base-driver": "1.2.15", "@cubejs-backend/dotenv": "^9.0.2", - "@cubejs-backend/shared": "1.2.14", + "@cubejs-backend/shared": "1.2.15", "@google-cloud/bigquery": "^7.7.0", "@google-cloud/storage": "^7.13.0", "ramda": "^0.27.2" }, "devDependencies": { - "@cubejs-backend/testing-shared": "1.2.14", + "@cubejs-backend/testing-shared": "1.2.15", "@types/big.js": "^6.2.2", "@types/dedent": "^0.7.0", "@types/jest": "^27", diff --git a/packages/cubejs-cli/CHANGELOG.md b/packages/cubejs-cli/CHANGELOG.md index f68e51a72..dc9c5e560 100644 --- a/packages/cubejs-cli/CHANGELOG.md +++ b/packages/cubejs-cli/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.15](https://github.com/cube-js/cube/compare/v1.2.14...v1.2.15) (2025-03-03) + +**Note:** Version bump only for package cubejs-cli + ## [1.2.14](https://github.com/cube-js/cube/compare/v1.2.13...v1.2.14) (2025-02-28) **Note:** Version bump only for package cubejs-cli diff --git a/packages/cubejs-cli/package.json b/packages/cubejs-cli/package.json index e9a3a4f26..111854196 100644 --- a/packages/cubejs-cli/package.json +++ b/packages/cubejs-cli/package.json @@ -2,7 +2,7 @@ "name": "cubejs-cli", "description": "Cube.js Command Line Interface", "author": "Cube Dev, Inc.", - "version": "1.2.14", + "version": "1.2.15", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -30,10 +30,10 @@ "LICENSE" ], "dependencies": { - "@cubejs-backend/cloud": "1.2.14", + "@cubejs-backend/cloud": "1.2.15", "@cubejs-backend/dotenv": "^9.0.2", - "@cubejs-backend/schema-compiler": "1.2.14", - "@cubejs-backend/shared": "1.2.14", + "@cubejs-backend/schema-compiler": "1.2.15", + "@cubejs-backend/shared": "1.2.15", "chalk": "^2.4.2", "cli-progress": "^3.10", "commander": "^2.19.0", @@ -50,8 +50,8 @@ "colors": "1.4.0" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.14", - "@cubejs-backend/server": "1.2.14", + "@cubejs-backend/linter": "1.2.15", + "@cubejs-backend/server": "1.2.15", "@oclif/command": "^1.8.0", "@types/cli-progress": "^3.8.0", "@types/cross-spawn": "^6.0.2", diff --git a/packages/cubejs-clickhouse-driver/CHANGELOG.md b/packages/cubejs-clickhouse-driver/CHANGELOG.md index 9d2e15afb..28eaabc87 100644 --- a/packages/cubejs-clickhouse-driver/CHANGELOG.md +++ b/packages/cubejs-clickhouse-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.15](https://github.com/cube-js/cube/compare/v1.2.14...v1.2.15) (2025-03-03) + +**Note:** Version bump only for package @cubejs-backend/clickhouse-driver + ## [1.2.14](https://github.com/cube-js/cube/compare/v1.2.13...v1.2.14) (2025-02-28) **Note:** Version bump only for package @cubejs-backend/clickhouse-driver diff --git a/packages/cubejs-clickhouse-driver/package.json b/packages/cubejs-clickhouse-driver/package.json index 0a5f80ba6..8d6a5bc36 100644 --- a/packages/cubejs-clickhouse-driver/package.json +++ b/packages/cubejs-clickhouse-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/clickhouse-driver", "description": "Cube.js ClickHouse database driver", "author": "Cube Dev, Inc.", - "version": "1.2.14", + "version": "1.2.15", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -28,16 +28,16 @@ }, "dependencies": { "@clickhouse/client": "^1.7.0", - "@cubejs-backend/base-driver": "1.2.14", - "@cubejs-backend/shared": "1.2.14", + "@cubejs-backend/base-driver": "1.2.15", + "@cubejs-backend/shared": "1.2.15", "moment": "^2.24.0", "sqlstring": "^2.3.1", "uuid": "^8.3.2" }, "license": "Apache-2.0", "devDependencies": { - "@cubejs-backend/linter": "1.2.14", - "@cubejs-backend/testing-shared": "1.2.14", + "@cubejs-backend/linter": "1.2.15", + "@cubejs-backend/testing-shared": "1.2.15", "@types/jest": "^27", "jest": "^27", "typescript": "~5.2.2" diff --git a/packages/cubejs-client-core/CHANGELOG.md b/packages/cubejs-client-core/CHANGELOG.md index 0c203fc70..589af23b2 100644 --- a/packages/cubejs-client-core/CHANGELOG.md +++ b/packages/cubejs-client-core/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.15](https://github.com/cube-js/cube/compare/v1.2.14...v1.2.15) (2025-03-03) + +**Note:** Version bump only for package @cubejs-client/core + ## [1.2.14](https://github.com/cube-js/cube/compare/v1.2.13...v1.2.14) (2025-02-28) **Note:** Version bump only for package @cubejs-client/core diff --git a/packages/cubejs-client-core/package.json b/packages/cubejs-client-core/package.json index db53a28f1..c0eac0dfa 100644 --- a/packages/cubejs-client-core/package.json +++ b/packages/cubejs-client-core/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-client/core", - "version": "1.2.14", + "version": "1.2.15", "engines": {}, "repository": { "type": "git", diff --git a/packages/cubejs-client-dx/CHANGELOG.md b/packages/cubejs-client-dx/CHANGELOG.md index 44518c41a..a81114f80 100644 --- a/packages/cubejs-client-dx/CHANGELOG.md +++ b/packages/cubejs-client-dx/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.15](https://github.com/cube-js/cube/compare/v1.2.14...v1.2.15) (2025-03-03) + +**Note:** Version bump only for package @cubejs-client/dx + ## [1.2.14](https://github.com/cube-js/cube/compare/v1.2.13...v1.2.14) (2025-02-28) **Note:** Version bump only for package @cubejs-client/dx diff --git a/packages/cubejs-client-dx/package.json b/packages/cubejs-client-dx/package.json index e6ce093f3..9c48eaab9 100644 --- a/packages/cubejs-client-dx/package.json +++ b/packages/cubejs-client-dx/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-client/dx", - "version": "1.2.14", + "version": "1.2.15", "engines": {}, "repository": { "type": "git", diff --git a/packages/cubejs-client-ngx/CHANGELOG.md b/packages/cubejs-client-ngx/CHANGELOG.md index dedb5ca62..45af2599a 100644 --- a/packages/cubejs-client-ngx/CHANGELOG.md +++ b/packages/cubejs-client-ngx/CHANGELOG.md @@ -3,6 +3,12 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.15](https://github.com/cube-js/cube/compare/v1.2.14...v1.2.15) (2025-03-03) + +### Bug Fixes + +- **cubejs-client-ngx:** Configure package-level Lerna publish directory for Angular ([#9189](https://github.com/cube-js/cube/issues/9189)) ([ef799f5](https://github.com/cube-js/cube/commit/ef799f58c21a760a7c51e03803343568634620ee)) + ## [1.2.14](https://github.com/cube-js/cube/compare/v1.2.13...v1.2.14) (2025-02-28) **Note:** Version bump only for package @cubejs-client/ngx diff --git a/packages/cubejs-client-ngx/package.json b/packages/cubejs-client-ngx/package.json index b77c23f8a..29d583290 100644 --- a/packages/cubejs-client-ngx/package.json +++ b/packages/cubejs-client-ngx/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-client/ngx", - "version": "1.2.14", + "version": "1.2.15", "author": "Cube Dev, Inc.", "engines": {}, "repository": { diff --git a/packages/cubejs-client-react/CHANGELOG.md b/packages/cubejs-client-react/CHANGELOG.md index 509210e8f..511c2f68a 100644 --- a/packages/cubejs-client-react/CHANGELOG.md +++ b/packages/cubejs-client-react/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.15](https://github.com/cube-js/cube/compare/v1.2.14...v1.2.15) (2025-03-03) + +**Note:** Version bump only for package @cubejs-client/react + ## [1.2.14](https://github.com/cube-js/cube/compare/v1.2.13...v1.2.14) (2025-02-28) **Note:** Version bump only for package @cubejs-client/react diff --git a/packages/cubejs-client-react/package.json b/packages/cubejs-client-react/package.json index d6d55d81a..b9f88fedb 100644 --- a/packages/cubejs-client-react/package.json +++ b/packages/cubejs-client-react/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-client/react", - "version": "1.2.14", + "version": "1.2.15", "author": "Cube Dev, Inc.", "license": "MIT", "engines": {}, @@ -24,7 +24,7 @@ ], "dependencies": { "@babel/runtime": "^7.1.2", - "@cubejs-client/core": "1.2.14", + "@cubejs-client/core": "1.2.15", "core-js": "^3.6.5", "ramda": "^0.27.2" }, diff --git a/packages/cubejs-client-vue/CHANGELOG.md b/packages/cubejs-client-vue/CHANGELOG.md index 3c2e937dc..f3fc3f15b 100644 --- a/packages/cubejs-client-vue/CHANGELOG.md +++ b/packages/cubejs-client-vue/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.15](https://github.com/cube-js/cube.js/compare/v1.2.14...v1.2.15) (2025-03-03) + +**Note:** Version bump only for package @cubejs-client/vue + ## [1.2.14](https://github.com/cube-js/cube.js/compare/v1.2.13...v1.2.14) (2025-02-28) **Note:** Version bump only for package @cubejs-client/vue diff --git a/packages/cubejs-client-vue/package.json b/packages/cubejs-client-vue/package.json index 000198f14..7f1283ba8 100644 --- a/packages/cubejs-client-vue/package.json +++ b/packages/cubejs-client-vue/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-client/vue", - "version": "1.2.14", + "version": "1.2.15", "engines": {}, "repository": { "type": "git", @@ -28,7 +28,7 @@ "src" ], "dependencies": { - "@cubejs-client/core": "1.2.14", + "@cubejs-client/core": "1.2.15", "core-js": "^3.6.5", "ramda": "^0.27.2" }, diff --git a/packages/cubejs-client-vue3/CHANGELOG.md b/packages/cubejs-client-vue3/CHANGELOG.md index 29316a4d8..33bfe74e5 100644 --- a/packages/cubejs-client-vue3/CHANGELOG.md +++ b/packages/cubejs-client-vue3/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.15](https://github.com/cube-js/cube.js/compare/v1.2.14...v1.2.15) (2025-03-03) + +**Note:** Version bump only for package @cubejs-client/vue3 + ## [1.2.14](https://github.com/cube-js/cube.js/compare/v1.2.13...v1.2.14) (2025-02-28) **Note:** Version bump only for package @cubejs-client/vue3 diff --git a/packages/cubejs-client-vue3/package.json b/packages/cubejs-client-vue3/package.json index 9c7960ba2..f9559259d 100644 --- a/packages/cubejs-client-vue3/package.json +++ b/packages/cubejs-client-vue3/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-client/vue3", - "version": "1.2.14", + "version": "1.2.15", "engines": {}, "repository": { "type": "git", @@ -28,7 +28,7 @@ "src" ], "dependencies": { - "@cubejs-client/core": "1.2.14", + "@cubejs-client/core": "1.2.15", "@vue/compiler-sfc": "^3.0.11", "core-js": "^3.6.5", "flush-promises": "^1.0.2", diff --git a/packages/cubejs-client-ws-transport/CHANGELOG.md b/packages/cubejs-client-ws-transport/CHANGELOG.md index 10a0270c8..41fec089a 100644 --- a/packages/cubejs-client-ws-transport/CHANGELOG.md +++ b/packages/cubejs-client-ws-transport/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.15](https://github.com/cube-js/cube/compare/v1.2.14...v1.2.15) (2025-03-03) + +**Note:** Version bump only for package @cubejs-client/ws-transport + ## [1.2.14](https://github.com/cube-js/cube/compare/v1.2.13...v1.2.14) (2025-02-28) **Note:** Version bump only for package @cubejs-client/ws-transport diff --git a/packages/cubejs-client-ws-transport/package.json b/packages/cubejs-client-ws-transport/package.json index adfc89dbb..ab2702528 100644 --- a/packages/cubejs-client-ws-transport/package.json +++ b/packages/cubejs-client-ws-transport/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-client/ws-transport", - "version": "1.2.14", + "version": "1.2.15", "engines": {}, "repository": { "type": "git", @@ -20,7 +20,7 @@ }, "dependencies": { "@babel/runtime": "^7.1.2", - "@cubejs-client/core": "1.2.14", + "@cubejs-client/core": "1.2.15", "core-js": "^3.6.5", "isomorphic-ws": "^4.0.1", "ws": "^7.3.1" @@ -34,7 +34,7 @@ "@babel/core": "^7.3.3", "@babel/preset-env": "^7.3.1", "@babel/preset-typescript": "^7.12.1", - "@cubejs-backend/linter": "1.2.14", + "@cubejs-backend/linter": "1.2.15", "@types/ws": "^7.2.9", "babel-jest": "^27", "jest": "^27", diff --git a/packages/cubejs-crate-driver/CHANGELOG.md b/packages/cubejs-crate-driver/CHANGELOG.md index 787354be3..21f494c0a 100644 --- a/packages/cubejs-crate-driver/CHANGELOG.md +++ b/packages/cubejs-crate-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.15](https://github.com/cube-js/cube/compare/v1.2.14...v1.2.15) (2025-03-03) + +**Note:** Version bump only for package @cubejs-backend/crate-driver + ## [1.2.14](https://github.com/cube-js/cube/compare/v1.2.13...v1.2.14) (2025-02-28) **Note:** Version bump only for package @cubejs-backend/crate-driver diff --git a/packages/cubejs-crate-driver/package.json b/packages/cubejs-crate-driver/package.json index 32c2496ef..a4e702c89 100644 --- a/packages/cubejs-crate-driver/package.json +++ b/packages/cubejs-crate-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/crate-driver", "description": "Cube.js Crate database driver", "author": "Cube Dev, Inc.", - "version": "1.2.14", + "version": "1.2.15", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -28,14 +28,14 @@ "lint:fix": "eslint --fix src/* --ext .ts" }, "dependencies": { - "@cubejs-backend/postgres-driver": "1.2.14", - "@cubejs-backend/shared": "1.2.14", + "@cubejs-backend/postgres-driver": "1.2.15", + "@cubejs-backend/shared": "1.2.15", "pg": "^8.7.1" }, "license": "Apache-2.0", "devDependencies": { - "@cubejs-backend/linter": "1.2.14", - "@cubejs-backend/testing-shared": "1.2.14", + "@cubejs-backend/linter": "1.2.15", + "@cubejs-backend/testing-shared": "1.2.15", "testcontainers": "^10.10.4", "typescript": "~5.2.2" }, diff --git a/packages/cubejs-cubestore-driver/CHANGELOG.md b/packages/cubejs-cubestore-driver/CHANGELOG.md index 3b99e96f8..1007a77d5 100644 --- a/packages/cubejs-cubestore-driver/CHANGELOG.md +++ b/packages/cubejs-cubestore-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.15](https://github.com/cube-js/cube/compare/v1.2.14...v1.2.15) (2025-03-03) + +**Note:** Version bump only for package @cubejs-backend/cubestore-driver + ## [1.2.14](https://github.com/cube-js/cube/compare/v1.2.13...v1.2.14) (2025-02-28) **Note:** Version bump only for package @cubejs-backend/cubestore-driver diff --git a/packages/cubejs-cubestore-driver/package.json b/packages/cubejs-cubestore-driver/package.json index 9cf43fbc6..f24be86e4 100644 --- a/packages/cubejs-cubestore-driver/package.json +++ b/packages/cubejs-cubestore-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/cubestore-driver", "description": "Cube Store driver", "author": "Cube Dev, Inc.", - "version": "1.2.14", + "version": "1.2.15", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -26,10 +26,10 @@ "lint:fix": "eslint --fix src/*.ts" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.14", - "@cubejs-backend/cubestore": "1.2.14", - "@cubejs-backend/native": "1.2.14", - "@cubejs-backend/shared": "1.2.14", + "@cubejs-backend/base-driver": "1.2.15", + "@cubejs-backend/cubestore": "1.2.15", + "@cubejs-backend/native": "1.2.15", + "@cubejs-backend/shared": "1.2.15", "csv-write-stream": "^2.0.0", "flatbuffers": "23.3.3", "fs-extra": "^9.1.0", @@ -41,7 +41,7 @@ "ws": "^7.4.3" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.14", + "@cubejs-backend/linter": "1.2.15", "@types/csv-write-stream": "^2.0.0", "@types/generic-pool": "^3.1.9", "@types/node": "^18", diff --git a/packages/cubejs-databricks-jdbc-driver/CHANGELOG.md b/packages/cubejs-databricks-jdbc-driver/CHANGELOG.md index 07b06eee4..b637037dc 100644 --- a/packages/cubejs-databricks-jdbc-driver/CHANGELOG.md +++ b/packages/cubejs-databricks-jdbc-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.15](https://github.com/cube-js/cube/compare/v1.2.14...v1.2.15) (2025-03-03) + +**Note:** Version bump only for package @cubejs-backend/databricks-jdbc-driver + ## [1.2.14](https://github.com/cube-js/cube/compare/v1.2.13...v1.2.14) (2025-02-28) **Note:** Version bump only for package @cubejs-backend/databricks-jdbc-driver diff --git a/packages/cubejs-databricks-jdbc-driver/package.json b/packages/cubejs-databricks-jdbc-driver/package.json index d27f794b1..fe346a621 100644 --- a/packages/cubejs-databricks-jdbc-driver/package.json +++ b/packages/cubejs-databricks-jdbc-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/databricks-jdbc-driver", "description": "Cube.js Databricks database driver", "author": "Cube Dev, Inc.", - "version": "1.2.14", + "version": "1.2.15", "license": "Apache-2.0", "repository": { "type": "git", @@ -30,17 +30,17 @@ "bin" ], "dependencies": { - "@cubejs-backend/base-driver": "1.2.14", - "@cubejs-backend/jdbc-driver": "1.2.14", - "@cubejs-backend/schema-compiler": "1.2.14", - "@cubejs-backend/shared": "1.2.14", + "@cubejs-backend/base-driver": "1.2.15", + "@cubejs-backend/jdbc-driver": "1.2.15", + "@cubejs-backend/schema-compiler": "1.2.15", + "@cubejs-backend/shared": "1.2.15", "node-fetch": "^2.6.1", "ramda": "^0.27.2", "source-map-support": "^0.5.19", "uuid": "^8.3.2" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.14", + "@cubejs-backend/linter": "1.2.15", "@types/generic-pool": "^3.1.9", "@types/jest": "^27", "@types/node": "^18", diff --git a/packages/cubejs-dbt-schema-extension/CHANGELOG.md b/packages/cubejs-dbt-schema-extension/CHANGELOG.md index bd68a7937..934b17469 100644 --- a/packages/cubejs-dbt-schema-extension/CHANGELOG.md +++ b/packages/cubejs-dbt-schema-extension/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.15](https://github.com/cube-js/cube/compare/v1.2.14...v1.2.15) (2025-03-03) + +**Note:** Version bump only for package @cubejs-backend/dbt-schema-extension + ## [1.2.14](https://github.com/cube-js/cube/compare/v1.2.13...v1.2.14) (2025-02-28) **Note:** Version bump only for package @cubejs-backend/dbt-schema-extension diff --git a/packages/cubejs-dbt-schema-extension/package.json b/packages/cubejs-dbt-schema-extension/package.json index 936b82f59..994f8c91f 100644 --- a/packages/cubejs-dbt-schema-extension/package.json +++ b/packages/cubejs-dbt-schema-extension/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/dbt-schema-extension", "description": "Cube.js dbt Schema Extension", "author": "Cube Dev, Inc.", - "version": "1.2.14", + "version": "1.2.15", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -25,14 +25,14 @@ "lint:fix": "eslint --fix src/* --ext .ts,.js" }, "dependencies": { - "@cubejs-backend/schema-compiler": "1.2.14", + "@cubejs-backend/schema-compiler": "1.2.15", "fs-extra": "^9.1.0", "inflection": "^1.12.0", "node-fetch": "^2.6.1" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.14", - "@cubejs-backend/testing": "1.2.14", + "@cubejs-backend/linter": "1.2.15", + "@cubejs-backend/testing": "1.2.15", "@types/generic-pool": "^3.1.9", "@types/jest": "^27", "jest": "^27", diff --git a/packages/cubejs-docker/CHANGELOG.md b/packages/cubejs-docker/CHANGELOG.md index 01dfdc90e..fc1f9348c 100644 --- a/packages/cubejs-docker/CHANGELOG.md +++ b/packages/cubejs-docker/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.15](https://github.com/cube-js/cube/compare/v1.2.14...v1.2.15) (2025-03-03) + +**Note:** Version bump only for package @cubejs-backend/docker + ## [1.2.14](https://github.com/cube-js/cube/compare/v1.2.13...v1.2.14) (2025-02-28) **Note:** Version bump only for package @cubejs-backend/docker diff --git a/packages/cubejs-docker/package.json b/packages/cubejs-docker/package.json index 0b358ca52..de8217cbd 100644 --- a/packages/cubejs-docker/package.json +++ b/packages/cubejs-docker/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-backend/docker", - "version": "1.2.14", + "version": "1.2.15", "description": "Cube.js In Docker (virtual package)", "author": "Cube Dev, Inc.", "license": "Apache-2.0", @@ -9,36 +9,35 @@ "node": "^14.0.0 || ^16.0.0 || >=17.0.0" }, "dependencies": { - "@cubejs-backend/athena-driver": "1.2.14", - "@cubejs-backend/bigquery-driver": "1.2.14", - "@cubejs-backend/clickhouse-driver": "1.2.14", - "@cubejs-backend/crate-driver": "1.2.14", - "@cubejs-backend/databricks-jdbc-driver": "1.2.14", - "@cubejs-backend/dbt-schema-extension": "1.2.14", - "@cubejs-backend/dremio-driver": "1.2.14", - "@cubejs-backend/druid-driver": "1.2.14", - "@cubejs-backend/duckdb-driver": "1.2.14", - "@cubejs-backend/duckdb-server-driver": "1.2.14", - "@cubejs-backend/elasticsearch-driver": "1.2.14", - "@cubejs-backend/firebolt-driver": "1.2.14", - "@cubejs-backend/hive-driver": "1.2.14", - "@cubejs-backend/ksql-driver": "1.2.14", - "@cubejs-backend/materialize-driver": "1.2.14", - "@cubejs-backend/mongobi-driver": "1.2.14", - "@cubejs-backend/mssql-driver": "1.2.14", - "@cubejs-backend/mysql-driver": "1.2.14", - "@cubejs-backend/oracle-driver": "1.2.14", - "@cubejs-backend/pinot-driver": "1.2.14", - "@cubejs-backend/postgres-driver": "1.2.14", - "@cubejs-backend/prestodb-driver": "1.2.14", - "@cubejs-backend/questdb-driver": "1.2.14", - "@cubejs-backend/redshift-driver": "1.2.14", - "@cubejs-backend/server": "1.2.14", - "@cubejs-backend/snowflake-driver": "1.2.14", - "@cubejs-backend/sqlite-driver": "1.2.14", - "@cubejs-backend/trino-driver": "1.2.14", - "@cubejs-backend/vertica-driver": "1.2.14", - "cubejs-cli": "1.2.14", + "@cubejs-backend/athena-driver": "1.2.15", + "@cubejs-backend/bigquery-driver": "1.2.15", + "@cubejs-backend/clickhouse-driver": "1.2.15", + "@cubejs-backend/crate-driver": "1.2.15", + "@cubejs-backend/databricks-jdbc-driver": "1.2.15", + "@cubejs-backend/dbt-schema-extension": "1.2.15", + "@cubejs-backend/dremio-driver": "1.2.15", + "@cubejs-backend/druid-driver": "1.2.15", + "@cubejs-backend/duckdb-driver": "1.2.15", + "@cubejs-backend/elasticsearch-driver": "1.2.15", + "@cubejs-backend/firebolt-driver": "1.2.15", + "@cubejs-backend/hive-driver": "1.2.15", + "@cubejs-backend/ksql-driver": "1.2.15", + "@cubejs-backend/materialize-driver": "1.2.15", + "@cubejs-backend/mongobi-driver": "1.2.15", + "@cubejs-backend/mssql-driver": "1.2.15", + "@cubejs-backend/mysql-driver": "1.2.15", + "@cubejs-backend/oracle-driver": "1.2.15", + "@cubejs-backend/pinot-driver": "1.2.15", + "@cubejs-backend/postgres-driver": "1.2.15", + "@cubejs-backend/prestodb-driver": "1.2.15", + "@cubejs-backend/questdb-driver": "1.2.15", + "@cubejs-backend/redshift-driver": "1.2.15", + "@cubejs-backend/server": "1.2.15", + "@cubejs-backend/snowflake-driver": "1.2.15", + "@cubejs-backend/sqlite-driver": "1.2.15", + "@cubejs-backend/trino-driver": "1.2.15", + "@cubejs-backend/vertica-driver": "1.2.15", + "cubejs-cli": "1.2.15", "typescript": "~5.2.2" }, "resolutions": { diff --git a/packages/cubejs-dremio-driver/CHANGELOG.md b/packages/cubejs-dremio-driver/CHANGELOG.md index 3515627ff..8a17d7fcb 100644 --- a/packages/cubejs-dremio-driver/CHANGELOG.md +++ b/packages/cubejs-dremio-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.15](https://github.com/cube-js/cube/compare/v1.2.14...v1.2.15) (2025-03-03) + +**Note:** Version bump only for package @cubejs-backend/dremio-driver + ## [1.2.14](https://github.com/cube-js/cube/compare/v1.2.13...v1.2.14) (2025-02-28) **Note:** Version bump only for package @cubejs-backend/dremio-driver diff --git a/packages/cubejs-dremio-driver/package.json b/packages/cubejs-dremio-driver/package.json index e1d5f0509..7a118943e 100644 --- a/packages/cubejs-dremio-driver/package.json +++ b/packages/cubejs-dremio-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/dremio-driver", "description": "Cube.js Dremio driver", "author": "Cube Dev, Inc.", - "version": "1.2.14", + "version": "1.2.15", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -22,15 +22,15 @@ "lint:fix": "eslint driver/*.js" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.14", - "@cubejs-backend/schema-compiler": "1.2.14", - "@cubejs-backend/shared": "1.2.14", + "@cubejs-backend/base-driver": "1.2.15", + "@cubejs-backend/schema-compiler": "1.2.15", + "@cubejs-backend/shared": "1.2.15", "axios": "^0.28.0", "sqlstring": "^2.3.1" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.14", - "@cubejs-backend/testing-shared": "1.2.14", + "@cubejs-backend/linter": "1.2.15", + "@cubejs-backend/testing-shared": "1.2.15", "jest": "^27" }, "license": "Apache-2.0", diff --git a/packages/cubejs-druid-driver/CHANGELOG.md b/packages/cubejs-druid-driver/CHANGELOG.md index 9ad7d665d..30b229af9 100644 --- a/packages/cubejs-druid-driver/CHANGELOG.md +++ b/packages/cubejs-druid-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.15](https://github.com/cube-js/cube/compare/v1.2.14...v1.2.15) (2025-03-03) + +**Note:** Version bump only for package @cubejs-backend/druid-driver + ## [1.2.14](https://github.com/cube-js/cube/compare/v1.2.13...v1.2.14) (2025-02-28) **Note:** Version bump only for package @cubejs-backend/druid-driver diff --git a/packages/cubejs-druid-driver/package.json b/packages/cubejs-druid-driver/package.json index 9b5586725..0e03b1c8c 100644 --- a/packages/cubejs-druid-driver/package.json +++ b/packages/cubejs-druid-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/druid-driver", "description": "Cube.js Druid database driver", "author": "Cube Dev, Inc.", - "version": "1.2.14", + "version": "1.2.15", "license": "Apache-2.0", "repository": { "type": "git", @@ -28,13 +28,13 @@ "dist/src/*" ], "dependencies": { - "@cubejs-backend/base-driver": "1.2.14", - "@cubejs-backend/schema-compiler": "1.2.14", - "@cubejs-backend/shared": "1.2.14", + "@cubejs-backend/base-driver": "1.2.15", + "@cubejs-backend/schema-compiler": "1.2.15", + "@cubejs-backend/shared": "1.2.15", "axios": "^0.28.0" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.14", + "@cubejs-backend/linter": "1.2.15", "@types/generic-pool": "^3.1.9", "@types/jest": "^27", "@types/node": "^18", diff --git a/packages/cubejs-duckdb-driver/CHANGELOG.md b/packages/cubejs-duckdb-driver/CHANGELOG.md index 87ffc9672..6108e5b87 100644 --- a/packages/cubejs-duckdb-driver/CHANGELOG.md +++ b/packages/cubejs-duckdb-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.15](https://github.com/cube-js/cube/compare/v1.2.14...v1.2.15) (2025-03-03) + +**Note:** Version bump only for package @cubejs-backend/duckdb-driver + ## [1.2.14](https://github.com/cube-js/cube/compare/v1.2.13...v1.2.14) (2025-02-28) **Note:** Version bump only for package @cubejs-backend/duckdb-driver diff --git a/packages/cubejs-duckdb-driver/package.json b/packages/cubejs-duckdb-driver/package.json index 76ae30a69..0c5b4d58c 100644 --- a/packages/cubejs-duckdb-driver/package.json +++ b/packages/cubejs-duckdb-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/duckdb-driver", "description": "Cube DuckDB database driver", "author": "Cube Dev, Inc.", - "version": "1.2.14", + "version": "1.2.15", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -27,15 +27,15 @@ "lint:fix": "eslint --fix src/* --ext .ts" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.14", - "@cubejs-backend/schema-compiler": "1.2.14", - "@cubejs-backend/shared": "1.2.14", + "@cubejs-backend/base-driver": "1.2.15", + "@cubejs-backend/schema-compiler": "1.2.15", + "@cubejs-backend/shared": "1.2.15", "duckdb": "^1.1.3" }, "license": "Apache-2.0", "devDependencies": { - "@cubejs-backend/linter": "1.2.14", - "@cubejs-backend/testing-shared": "1.2.14", + "@cubejs-backend/linter": "1.2.15", + "@cubejs-backend/testing-shared": "1.2.15", "@types/jest": "^27", "@types/node": "^18", "jest": "^27", diff --git a/packages/cubejs-elasticsearch-driver/CHANGELOG.md b/packages/cubejs-elasticsearch-driver/CHANGELOG.md index e43ad705a..94fc6b185 100644 --- a/packages/cubejs-elasticsearch-driver/CHANGELOG.md +++ b/packages/cubejs-elasticsearch-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.15](https://github.com/cube-js/cube/compare/v1.2.14...v1.2.15) (2025-03-03) + +**Note:** Version bump only for package @cubejs-backend/elasticsearch-driver + ## [1.2.14](https://github.com/cube-js/cube/compare/v1.2.13...v1.2.14) (2025-02-28) **Note:** Version bump only for package @cubejs-backend/elasticsearch-driver diff --git a/packages/cubejs-elasticsearch-driver/package.json b/packages/cubejs-elasticsearch-driver/package.json index 5e0eb9954..d2e182bba 100644 --- a/packages/cubejs-elasticsearch-driver/package.json +++ b/packages/cubejs-elasticsearch-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/elasticsearch-driver", "description": "Cube.js elasticsearch database driver", "author": "Cube Dev, Inc.", - "version": "1.2.14", + "version": "1.2.15", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -23,14 +23,14 @@ "driver" ], "dependencies": { - "@cubejs-backend/base-driver": "1.2.14", - "@cubejs-backend/shared": "1.2.14", + "@cubejs-backend/base-driver": "1.2.15", + "@cubejs-backend/shared": "1.2.15", "@elastic/elasticsearch": "7.12.0", "sqlstring": "^2.3.1" }, "license": "Apache-2.0", "devDependencies": { - "@cubejs-backend/linter": "1.2.14", + "@cubejs-backend/linter": "1.2.15", "@types/jest": "^27", "jest": "^27", "testcontainers": "^10.10.4" diff --git a/packages/cubejs-firebolt-driver/CHANGELOG.md b/packages/cubejs-firebolt-driver/CHANGELOG.md index 207a1bc45..74dbd6298 100644 --- a/packages/cubejs-firebolt-driver/CHANGELOG.md +++ b/packages/cubejs-firebolt-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.15](https://github.com/cube-js/cube/compare/v1.2.14...v1.2.15) (2025-03-03) + +**Note:** Version bump only for package @cubejs-backend/firebolt-driver + ## [1.2.14](https://github.com/cube-js/cube/compare/v1.2.13...v1.2.14) (2025-02-28) **Note:** Version bump only for package @cubejs-backend/firebolt-driver diff --git a/packages/cubejs-firebolt-driver/package.json b/packages/cubejs-firebolt-driver/package.json index 6d6a16437..a71724ce2 100644 --- a/packages/cubejs-firebolt-driver/package.json +++ b/packages/cubejs-firebolt-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/firebolt-driver", "description": "Cube.js Firebolt database driver", "author": "Cube Dev, Inc.", - "version": "1.2.14", + "version": "1.2.15", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -28,15 +28,15 @@ "lint:fix": "eslint --fix src/* --ext .ts" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.14", - "@cubejs-backend/schema-compiler": "1.2.14", - "@cubejs-backend/shared": "1.2.14", + "@cubejs-backend/base-driver": "1.2.15", + "@cubejs-backend/schema-compiler": "1.2.15", + "@cubejs-backend/shared": "1.2.15", "firebolt-sdk": "1.10.0" }, "license": "Apache-2.0", "devDependencies": { - "@cubejs-backend/linter": "1.2.14", - "@cubejs-backend/testing-shared": "1.2.14", + "@cubejs-backend/linter": "1.2.15", + "@cubejs-backend/testing-shared": "1.2.15", "typescript": "~5.2.2" }, "publishConfig": { diff --git a/packages/cubejs-hive-driver/CHANGELOG.md b/packages/cubejs-hive-driver/CHANGELOG.md index f667e8d25..7a514b549 100644 --- a/packages/cubejs-hive-driver/CHANGELOG.md +++ b/packages/cubejs-hive-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.15](https://github.com/cube-js/cube/compare/v1.2.14...v1.2.15) (2025-03-03) + +**Note:** Version bump only for package @cubejs-backend/hive-driver + ## [1.2.14](https://github.com/cube-js/cube/compare/v1.2.13...v1.2.14) (2025-02-28) **Note:** Version bump only for package @cubejs-backend/hive-driver diff --git a/packages/cubejs-hive-driver/package.json b/packages/cubejs-hive-driver/package.json index 8d0bff06c..23ef01fde 100644 --- a/packages/cubejs-hive-driver/package.json +++ b/packages/cubejs-hive-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/hive-driver", "description": "Cube.js Hive database driver", "author": "Cube Dev, Inc.", - "version": "1.2.14", + "version": "1.2.15", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -17,8 +17,8 @@ "lint:fix": "eslint --fix src/* --ext .ts" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.14", - "@cubejs-backend/shared": "1.2.14", + "@cubejs-backend/base-driver": "1.2.15", + "@cubejs-backend/shared": "1.2.15", "generic-pool": "^3.6.0", "jshs2": "^0.4.4", "sasl-plain": "^0.1.0", @@ -28,7 +28,7 @@ }, "license": "Apache-2.0", "devDependencies": { - "@cubejs-backend/linter": "1.2.14" + "@cubejs-backend/linter": "1.2.15" }, "publishConfig": { "access": "public" diff --git a/packages/cubejs-jdbc-driver/CHANGELOG.md b/packages/cubejs-jdbc-driver/CHANGELOG.md index 8e3e6ce2b..c58f9bc3a 100644 --- a/packages/cubejs-jdbc-driver/CHANGELOG.md +++ b/packages/cubejs-jdbc-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.15](https://github.com/cube-js/cube/compare/v1.2.14...v1.2.15) (2025-03-03) + +**Note:** Version bump only for package @cubejs-backend/jdbc-driver + ## [1.2.14](https://github.com/cube-js/cube/compare/v1.2.13...v1.2.14) (2025-02-28) **Note:** Version bump only for package @cubejs-backend/jdbc-driver diff --git a/packages/cubejs-jdbc-driver/package.json b/packages/cubejs-jdbc-driver/package.json index 59dfb2782..a1dd782b8 100644 --- a/packages/cubejs-jdbc-driver/package.json +++ b/packages/cubejs-jdbc-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/jdbc-driver", "description": "Cube.js JDBC database driver", "author": "Cube Dev, Inc.", - "version": "1.2.14", + "version": "1.2.15", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -25,8 +25,8 @@ "index.js" ], "dependencies": { - "@cubejs-backend/base-driver": "1.2.14", - "@cubejs-backend/shared": "1.2.14", + "@cubejs-backend/base-driver": "1.2.15", + "@cubejs-backend/shared": "1.2.15", "generic-pool": "^3.1.7", "node-java-maven": "^0.1.2", "sqlstring": "^2.3.0" @@ -43,7 +43,7 @@ "testEnvironment": "node" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.14", + "@cubejs-backend/linter": "1.2.15", "@types/generic-pool": "^3.1.9", "@types/node": "^18", "@types/sqlstring": "^2.3.0", diff --git a/packages/cubejs-ksql-driver/CHANGELOG.md b/packages/cubejs-ksql-driver/CHANGELOG.md index b322a2598..c1921ada5 100644 --- a/packages/cubejs-ksql-driver/CHANGELOG.md +++ b/packages/cubejs-ksql-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.15](https://github.com/cube-js/cube/compare/v1.2.14...v1.2.15) (2025-03-03) + +**Note:** Version bump only for package @cubejs-backend/ksql-driver + ## [1.2.14](https://github.com/cube-js/cube/compare/v1.2.13...v1.2.14) (2025-02-28) **Note:** Version bump only for package @cubejs-backend/ksql-driver diff --git a/packages/cubejs-ksql-driver/package.json b/packages/cubejs-ksql-driver/package.json index 9993d7f86..dbbe5c231 100644 --- a/packages/cubejs-ksql-driver/package.json +++ b/packages/cubejs-ksql-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/ksql-driver", "description": "Cube.js ksql database driver", "author": "Cube Dev, Inc.", - "version": "1.2.14", + "version": "1.2.15", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -25,9 +25,9 @@ "lint:fix": "eslint --fix src/* --ext .ts" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.14", - "@cubejs-backend/schema-compiler": "1.2.14", - "@cubejs-backend/shared": "1.2.14", + "@cubejs-backend/base-driver": "1.2.15", + "@cubejs-backend/schema-compiler": "1.2.15", + "@cubejs-backend/shared": "1.2.15", "async-mutex": "0.3.2", "axios": "^0.28.0", "kafkajs": "^2.2.3", @@ -44,7 +44,7 @@ "testEnvironment": "node" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.14", + "@cubejs-backend/linter": "1.2.15", "typescript": "~5.2.2" } } diff --git a/packages/cubejs-linter/CHANGELOG.md b/packages/cubejs-linter/CHANGELOG.md index 34f85398a..2c9bdda6f 100644 --- a/packages/cubejs-linter/CHANGELOG.md +++ b/packages/cubejs-linter/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.15](https://github.com/cube-js/cube/compare/v1.2.14...v1.2.15) (2025-03-03) + +**Note:** Version bump only for package @cubejs-backend/linter + ## [1.2.14](https://github.com/cube-js/cube/compare/v1.2.13...v1.2.14) (2025-02-28) **Note:** Version bump only for package @cubejs-backend/linter diff --git a/packages/cubejs-linter/package.json b/packages/cubejs-linter/package.json index 6d16a2b07..6e376767e 100644 --- a/packages/cubejs-linter/package.json +++ b/packages/cubejs-linter/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/linter", "description": "Cube.js ESLint (virtual package) for linting code", "author": "Cube Dev, Inc.", - "version": "1.2.14", + "version": "1.2.15", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", diff --git a/packages/cubejs-materialize-driver/CHANGELOG.md b/packages/cubejs-materialize-driver/CHANGELOG.md index c4fdd0804..9683ca069 100644 --- a/packages/cubejs-materialize-driver/CHANGELOG.md +++ b/packages/cubejs-materialize-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.15](https://github.com/cube-js/cube/compare/v1.2.14...v1.2.15) (2025-03-03) + +**Note:** Version bump only for package @cubejs-backend/materialize-driver + ## [1.2.14](https://github.com/cube-js/cube/compare/v1.2.13...v1.2.14) (2025-02-28) **Note:** Version bump only for package @cubejs-backend/materialize-driver diff --git a/packages/cubejs-materialize-driver/package.json b/packages/cubejs-materialize-driver/package.json index 1dd2cb7a7..7f60d0643 100644 --- a/packages/cubejs-materialize-driver/package.json +++ b/packages/cubejs-materialize-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/materialize-driver", "description": "Cube.js Materialize database driver", "author": "Cube Dev, Inc.", - "version": "1.2.14", + "version": "1.2.15", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -27,17 +27,17 @@ "lint:fix": "eslint --fix src/* --ext .ts" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.14", - "@cubejs-backend/postgres-driver": "1.2.14", - "@cubejs-backend/shared": "1.2.14", + "@cubejs-backend/base-driver": "1.2.15", + "@cubejs-backend/postgres-driver": "1.2.15", + "@cubejs-backend/shared": "1.2.15", "@types/pg": "^8.6.0", "pg": "^8.6.0", "semver": "^7.6.3" }, "license": "Apache-2.0", "devDependencies": { - "@cubejs-backend/linter": "1.2.14", - "@cubejs-backend/testing": "1.2.14", + "@cubejs-backend/linter": "1.2.15", + "@cubejs-backend/testing": "1.2.15", "typescript": "~5.2.2" }, "publishConfig": { diff --git a/packages/cubejs-mongobi-driver/CHANGELOG.md b/packages/cubejs-mongobi-driver/CHANGELOG.md index 8bdd66837..b88633995 100644 --- a/packages/cubejs-mongobi-driver/CHANGELOG.md +++ b/packages/cubejs-mongobi-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.15](https://github.com/cube-js/cube/compare/v1.2.14...v1.2.15) (2025-03-03) + +**Note:** Version bump only for package @cubejs-backend/mongobi-driver + ## [1.2.14](https://github.com/cube-js/cube/compare/v1.2.13...v1.2.14) (2025-02-28) **Note:** Version bump only for package @cubejs-backend/mongobi-driver diff --git a/packages/cubejs-mongobi-driver/package.json b/packages/cubejs-mongobi-driver/package.json index adc603f93..cb466993e 100644 --- a/packages/cubejs-mongobi-driver/package.json +++ b/packages/cubejs-mongobi-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/mongobi-driver", "description": "Cube.js MongoBI driver", "author": "krunalsabnis@gmail.com", - "version": "1.2.14", + "version": "1.2.15", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -27,8 +27,8 @@ "integration:mongobi": "jest dist/test" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.14", - "@cubejs-backend/shared": "1.2.14", + "@cubejs-backend/base-driver": "1.2.15", + "@cubejs-backend/shared": "1.2.15", "@types/node": "^18", "generic-pool": "^3.8.2", "moment": "^2.29.1", @@ -39,7 +39,7 @@ "access": "public" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.14", + "@cubejs-backend/linter": "1.2.15", "@types/generic-pool": "^3.1.9", "testcontainers": "^10.10.4", "typescript": "~5.2.2" diff --git a/packages/cubejs-mssql-driver/CHANGELOG.md b/packages/cubejs-mssql-driver/CHANGELOG.md index 5b6707d1e..7ebeaeaa5 100644 --- a/packages/cubejs-mssql-driver/CHANGELOG.md +++ b/packages/cubejs-mssql-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.15](https://github.com/cube-js/cube/compare/v1.2.14...v1.2.15) (2025-03-03) + +**Note:** Version bump only for package @cubejs-backend/mssql-driver + ## [1.2.14](https://github.com/cube-js/cube/compare/v1.2.13...v1.2.14) (2025-02-28) **Note:** Version bump only for package @cubejs-backend/mssql-driver diff --git a/packages/cubejs-mssql-driver/package.json b/packages/cubejs-mssql-driver/package.json index d19f7fa80..2773edca6 100644 --- a/packages/cubejs-mssql-driver/package.json +++ b/packages/cubejs-mssql-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/mssql-driver", "description": "Cube.js MS SQL database driver", "author": "Cube Dev, Inc.", - "version": "1.2.14", + "version": "1.2.15", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -13,7 +13,7 @@ }, "main": "driver/MSSqlDriver.js", "dependencies": { - "@cubejs-backend/base-driver": "1.2.14", + "@cubejs-backend/base-driver": "1.2.15", "mssql": "^10.0.2" }, "devDependencies": { diff --git a/packages/cubejs-mysql-aurora-serverless-driver/CHANGELOG.md b/packages/cubejs-mysql-aurora-serverless-driver/CHANGELOG.md index d8222317c..e80e19c1d 100644 --- a/packages/cubejs-mysql-aurora-serverless-driver/CHANGELOG.md +++ b/packages/cubejs-mysql-aurora-serverless-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.15](https://github.com/cube-js/cube/compare/v1.2.14...v1.2.15) (2025-03-03) + +**Note:** Version bump only for package @cubejs-backend/mysql-aurora-serverless-driver + ## [1.2.14](https://github.com/cube-js/cube/compare/v1.2.13...v1.2.14) (2025-02-28) **Note:** Version bump only for package @cubejs-backend/mysql-aurora-serverless-driver diff --git a/packages/cubejs-mysql-aurora-serverless-driver/package.json b/packages/cubejs-mysql-aurora-serverless-driver/package.json index 7bff960a2..e624e2fa4 100644 --- a/packages/cubejs-mysql-aurora-serverless-driver/package.json +++ b/packages/cubejs-mysql-aurora-serverless-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/mysql-aurora-serverless-driver", "description": "Cube.js Aurora Serverless Mysql database driver", "author": "Cube Dev, Inc.", - "version": "1.2.14", + "version": "1.2.15", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -21,14 +21,14 @@ "lint": "eslint driver/*.js test/*.js" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.14", - "@cubejs-backend/shared": "1.2.14", + "@cubejs-backend/base-driver": "1.2.15", + "@cubejs-backend/shared": "1.2.15", "@types/mysql": "^2.15.15", "aws-sdk": "^2.787.0", "data-api-client": "^1.1.0" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.14", + "@cubejs-backend/linter": "1.2.15", "@types/data-api-client": "^1.2.1", "jest": "^27", "testcontainers": "^10.10.4" diff --git a/packages/cubejs-mysql-driver/CHANGELOG.md b/packages/cubejs-mysql-driver/CHANGELOG.md index eecb3f486..4a82cc67e 100644 --- a/packages/cubejs-mysql-driver/CHANGELOG.md +++ b/packages/cubejs-mysql-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.15](https://github.com/cube-js/cube/compare/v1.2.14...v1.2.15) (2025-03-03) + +**Note:** Version bump only for package @cubejs-backend/mysql-driver + ## [1.2.14](https://github.com/cube-js/cube/compare/v1.2.13...v1.2.14) (2025-02-28) **Note:** Version bump only for package @cubejs-backend/mysql-driver diff --git a/packages/cubejs-mysql-driver/package.json b/packages/cubejs-mysql-driver/package.json index 3123a9bb0..948fb8e9f 100644 --- a/packages/cubejs-mysql-driver/package.json +++ b/packages/cubejs-mysql-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/mysql-driver", "description": "Cube.js Mysql database driver", "author": "Cube Dev, Inc.", - "version": "1.2.14", + "version": "1.2.15", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -27,15 +27,15 @@ "lint:fix": "eslint --fix src/* test/* --ext .ts,.js" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.14", - "@cubejs-backend/shared": "1.2.14", + "@cubejs-backend/base-driver": "1.2.15", + "@cubejs-backend/shared": "1.2.15", "@types/mysql": "^2.15.21", "generic-pool": "^3.6.0", "mysql": "^2.18.1" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.14", - "@cubejs-backend/testing-shared": "1.2.14", + "@cubejs-backend/linter": "1.2.15", + "@cubejs-backend/testing-shared": "1.2.15", "@types/generic-pool": "^3.1.9", "@types/jest": "^27", "jest": "^27", diff --git a/packages/cubejs-oracle-driver/CHANGELOG.md b/packages/cubejs-oracle-driver/CHANGELOG.md index 14b0481fd..8be222a96 100644 --- a/packages/cubejs-oracle-driver/CHANGELOG.md +++ b/packages/cubejs-oracle-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.15](https://github.com/cube-js/cube/compare/v1.2.14...v1.2.15) (2025-03-03) + +**Note:** Version bump only for package @cubejs-backend/oracle-driver + ## [1.2.14](https://github.com/cube-js/cube/compare/v1.2.13...v1.2.14) (2025-02-28) **Note:** Version bump only for package @cubejs-backend/oracle-driver diff --git a/packages/cubejs-oracle-driver/package.json b/packages/cubejs-oracle-driver/package.json index e8ca14fdf..b45d3c01c 100644 --- a/packages/cubejs-oracle-driver/package.json +++ b/packages/cubejs-oracle-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/oracle-driver", "description": "Cube.js oracle database driver", "author": "Cube Dev, Inc.", - "version": "1.2.14", + "version": "1.2.15", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -13,7 +13,7 @@ }, "main": "driver/OracleDriver.js", "dependencies": { - "@cubejs-backend/base-driver": "1.2.14", + "@cubejs-backend/base-driver": "1.2.15", "ramda": "^0.27.0" }, "optionalDependencies": { diff --git a/packages/cubejs-pinot-driver/CHANGELOG.md b/packages/cubejs-pinot-driver/CHANGELOG.md index 3aed9a80e..9b214a87f 100644 --- a/packages/cubejs-pinot-driver/CHANGELOG.md +++ b/packages/cubejs-pinot-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.15](https://github.com/cube-js/cube/compare/v1.2.14...v1.2.15) (2025-03-03) + +**Note:** Version bump only for package @cubejs-backend/pinot-driver + ## [1.2.14](https://github.com/cube-js/cube/compare/v1.2.13...v1.2.14) (2025-02-28) **Note:** Version bump only for package @cubejs-backend/pinot-driver diff --git a/packages/cubejs-pinot-driver/package.json b/packages/cubejs-pinot-driver/package.json index 5d879cf5f..3008279c8 100644 --- a/packages/cubejs-pinot-driver/package.json +++ b/packages/cubejs-pinot-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/pinot-driver", "description": "Cube.js Pinot database driver", "author": "Julian Ronsse, InTheMemory, Cube Dev, Inc.", - "version": "1.2.14", + "version": "1.2.15", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -27,9 +27,9 @@ "lint:fix": "eslint --fix src/* --ext .ts" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.14", - "@cubejs-backend/schema-compiler": "1.2.14", - "@cubejs-backend/shared": "1.2.14", + "@cubejs-backend/base-driver": "1.2.15", + "@cubejs-backend/schema-compiler": "1.2.15", + "@cubejs-backend/shared": "1.2.15", "node-fetch": "^2.6.1", "ramda": "^0.27.2", "sqlstring": "^2.3.3" @@ -39,7 +39,7 @@ "access": "public" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.14", + "@cubejs-backend/linter": "1.2.15", "@types/jest": "^27", "jest": "^27", "should": "^13.2.3", diff --git a/packages/cubejs-playground/CHANGELOG.md b/packages/cubejs-playground/CHANGELOG.md index c0e5fa49d..28dabe9da 100644 --- a/packages/cubejs-playground/CHANGELOG.md +++ b/packages/cubejs-playground/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.15](https://github.com/cube-js/cube/compare/v1.2.14...v1.2.15) (2025-03-03) + +**Note:** Version bump only for package @cubejs-client/playground + ## [1.2.14](https://github.com/cube-js/cube/compare/v1.2.13...v1.2.14) (2025-02-28) **Note:** Version bump only for package @cubejs-client/playground diff --git a/packages/cubejs-playground/package.json b/packages/cubejs-playground/package.json index 52290d7c6..6ba00186a 100644 --- a/packages/cubejs-playground/package.json +++ b/packages/cubejs-playground/package.json @@ -1,7 +1,7 @@ { "name": "@cubejs-client/playground", "author": "Cube Dev, Inc.", - "version": "1.2.14", + "version": "1.2.15", "engines": {}, "repository": { "type": "git", @@ -68,8 +68,8 @@ "@ant-design/compatible": "^1.0.1", "@ant-design/icons": "^5.3.5", "@cube-dev/ui-kit": "0.52.3", - "@cubejs-client/core": "1.2.14", - "@cubejs-client/react": "1.2.14", + "@cubejs-client/core": "1.2.15", + "@cubejs-client/react": "1.2.15", "@types/flexsearch": "^0.7.3", "@types/node": "^18", "@types/react": "^18.3.4", diff --git a/packages/cubejs-postgres-driver/CHANGELOG.md b/packages/cubejs-postgres-driver/CHANGELOG.md index 8ff711012..e3c3e35b4 100644 --- a/packages/cubejs-postgres-driver/CHANGELOG.md +++ b/packages/cubejs-postgres-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.15](https://github.com/cube-js/cube/compare/v1.2.14...v1.2.15) (2025-03-03) + +**Note:** Version bump only for package @cubejs-backend/postgres-driver + ## [1.2.14](https://github.com/cube-js/cube/compare/v1.2.13...v1.2.14) (2025-02-28) **Note:** Version bump only for package @cubejs-backend/postgres-driver diff --git a/packages/cubejs-postgres-driver/package.json b/packages/cubejs-postgres-driver/package.json index a9e6d942b..65b2efca4 100644 --- a/packages/cubejs-postgres-driver/package.json +++ b/packages/cubejs-postgres-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/postgres-driver", "description": "Cube.js Postgres database driver", "author": "Cube Dev, Inc.", - "version": "1.2.14", + "version": "1.2.15", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -27,8 +27,8 @@ "lint:fix": "eslint --fix src/* --ext .ts" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.14", - "@cubejs-backend/shared": "1.2.14", + "@cubejs-backend/base-driver": "1.2.15", + "@cubejs-backend/shared": "1.2.15", "@types/pg": "^8.6.0", "@types/pg-query-stream": "^1.0.3", "moment": "^2.24.0", @@ -37,8 +37,8 @@ }, "license": "Apache-2.0", "devDependencies": { - "@cubejs-backend/linter": "1.2.14", - "@cubejs-backend/testing-shared": "1.2.14", + "@cubejs-backend/linter": "1.2.15", + "@cubejs-backend/testing-shared": "1.2.15", "testcontainers": "^10.10.4", "typescript": "~5.2.2" }, diff --git a/packages/cubejs-prestodb-driver/CHANGELOG.md b/packages/cubejs-prestodb-driver/CHANGELOG.md index ee2b86263..cd13b2ffb 100644 --- a/packages/cubejs-prestodb-driver/CHANGELOG.md +++ b/packages/cubejs-prestodb-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.15](https://github.com/cube-js/cube/compare/v1.2.14...v1.2.15) (2025-03-03) + +**Note:** Version bump only for package @cubejs-backend/prestodb-driver + ## [1.2.14](https://github.com/cube-js/cube/compare/v1.2.13...v1.2.14) (2025-02-28) **Note:** Version bump only for package @cubejs-backend/prestodb-driver diff --git a/packages/cubejs-prestodb-driver/package.json b/packages/cubejs-prestodb-driver/package.json index 8cb892e98..b41c1bef0 100644 --- a/packages/cubejs-prestodb-driver/package.json +++ b/packages/cubejs-prestodb-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/prestodb-driver", "description": "Cube.js Presto database driver", "author": "Cube Dev, Inc.", - "version": "1.2.14", + "version": "1.2.15", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -27,8 +27,8 @@ "lint:fix": "eslint --fix src/* --ext .ts" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.14", - "@cubejs-backend/shared": "1.2.14", + "@cubejs-backend/base-driver": "1.2.15", + "@cubejs-backend/shared": "1.2.15", "presto-client": "^0.12.2", "ramda": "^0.27.0", "sqlstring": "^2.3.1" @@ -38,7 +38,7 @@ "access": "public" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.14", + "@cubejs-backend/linter": "1.2.15", "@types/jest": "^27", "jest": "^27", "should": "^13.2.3", diff --git a/packages/cubejs-query-orchestrator/CHANGELOG.md b/packages/cubejs-query-orchestrator/CHANGELOG.md index 762b1a734..061bd4897 100644 --- a/packages/cubejs-query-orchestrator/CHANGELOG.md +++ b/packages/cubejs-query-orchestrator/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.15](https://github.com/cube-js/cube/compare/v1.2.14...v1.2.15) (2025-03-03) + +**Note:** Version bump only for package @cubejs-backend/query-orchestrator + ## [1.2.14](https://github.com/cube-js/cube/compare/v1.2.13...v1.2.14) (2025-02-28) **Note:** Version bump only for package @cubejs-backend/query-orchestrator diff --git a/packages/cubejs-query-orchestrator/package.json b/packages/cubejs-query-orchestrator/package.json index 63523f4c2..a1c0c2aed 100644 --- a/packages/cubejs-query-orchestrator/package.json +++ b/packages/cubejs-query-orchestrator/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/query-orchestrator", "description": "Cube.js Query Orchestrator and Cache", "author": "Cube Dev, Inc.", - "version": "1.2.14", + "version": "1.2.15", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -29,18 +29,16 @@ "dist/src/*" ], "dependencies": { - "@cubejs-backend/base-driver": "1.2.14", - "@cubejs-backend/cubestore-driver": "1.2.14", - "@cubejs-backend/redis-cache-driver": "1.2.14", - "@cubejs-backend/shared": "1.2.14", + "@cubejs-backend/base-driver": "1.2.15", + "@cubejs-backend/cubestore-driver": "1.2.15", + "@cubejs-backend/shared": "1.2.15", "csv-write-stream": "^2.0.0", "generic-pool": "^3.7.1", - "ioredis": "^5.4.1", "lru-cache": "^5.1.1", "ramda": "^0.27.2" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.14", + "@cubejs-backend/linter": "1.2.15", "@types/generic-pool": "^3.1.9", "@types/jest": "^27", "@types/node": "^18", diff --git a/packages/cubejs-questdb-driver/CHANGELOG.md b/packages/cubejs-questdb-driver/CHANGELOG.md index fe9c44a58..b92b27394 100644 --- a/packages/cubejs-questdb-driver/CHANGELOG.md +++ b/packages/cubejs-questdb-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.15](https://github.com/cube-js/cube/compare/v1.2.14...v1.2.15) (2025-03-03) + +**Note:** Version bump only for package @cubejs-backend/questdb-driver + ## [1.2.14](https://github.com/cube-js/cube/compare/v1.2.13...v1.2.14) (2025-02-28) **Note:** Version bump only for package @cubejs-backend/questdb-driver diff --git a/packages/cubejs-questdb-driver/package.json b/packages/cubejs-questdb-driver/package.json index 9d746adee..b39e29b9a 100644 --- a/packages/cubejs-questdb-driver/package.json +++ b/packages/cubejs-questdb-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/questdb-driver", "description": "Cube.js QuestDB database driver", "author": "Cube Dev, Inc.", - "version": "1.2.14", + "version": "1.2.15", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -27,9 +27,9 @@ "lint:fix": "eslint --fix src/* --ext .ts" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.14", - "@cubejs-backend/schema-compiler": "1.2.14", - "@cubejs-backend/shared": "1.2.14", + "@cubejs-backend/base-driver": "1.2.15", + "@cubejs-backend/schema-compiler": "1.2.15", + "@cubejs-backend/shared": "1.2.15", "@types/pg": "^8.6.0", "moment": "^2.24.0", "pg": "^8.7.0", @@ -37,8 +37,8 @@ }, "license": "Apache-2.0", "devDependencies": { - "@cubejs-backend/linter": "1.2.14", - "@cubejs-backend/testing-shared": "1.2.14", + "@cubejs-backend/linter": "1.2.15", + "@cubejs-backend/testing-shared": "1.2.15", "testcontainers": "^10.10.4", "typescript": "~5.2.2" }, diff --git a/packages/cubejs-redshift-driver/CHANGELOG.md b/packages/cubejs-redshift-driver/CHANGELOG.md index 48ab768f2..d5badd8df 100644 --- a/packages/cubejs-redshift-driver/CHANGELOG.md +++ b/packages/cubejs-redshift-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.15](https://github.com/cube-js/cube/compare/v1.2.14...v1.2.15) (2025-03-03) + +**Note:** Version bump only for package @cubejs-backend/redshift-driver + ## [1.2.14](https://github.com/cube-js/cube/compare/v1.2.13...v1.2.14) (2025-02-28) **Note:** Version bump only for package @cubejs-backend/redshift-driver diff --git a/packages/cubejs-redshift-driver/package.json b/packages/cubejs-redshift-driver/package.json index 61cea8a5f..f0c30aff1 100644 --- a/packages/cubejs-redshift-driver/package.json +++ b/packages/cubejs-redshift-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/redshift-driver", "description": "Cube.js Redshift database driver", "author": "Cube Dev, Inc.", - "version": "1.2.14", + "version": "1.2.15", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -25,13 +25,13 @@ "lint:fix": "eslint --fix src/* --ext .ts" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.14", - "@cubejs-backend/postgres-driver": "1.2.14", - "@cubejs-backend/shared": "1.2.14" + "@cubejs-backend/base-driver": "1.2.15", + "@cubejs-backend/postgres-driver": "1.2.15", + "@cubejs-backend/shared": "1.2.15" }, "license": "Apache-2.0", "devDependencies": { - "@cubejs-backend/linter": "1.2.14", + "@cubejs-backend/linter": "1.2.15", "typescript": "~5.2.2" }, "publishConfig": { diff --git a/packages/cubejs-schema-compiler/CHANGELOG.md b/packages/cubejs-schema-compiler/CHANGELOG.md index 00841e7a0..7bde249c8 100644 --- a/packages/cubejs-schema-compiler/CHANGELOG.md +++ b/packages/cubejs-schema-compiler/CHANGELOG.md @@ -3,6 +3,13 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.15](https://github.com/cube-js/cube/compare/v1.2.14...v1.2.15) (2025-03-03) + +### Features + +- **schema-compiler:** auto include hierarchy dimensions ([#9288](https://github.com/cube-js/cube/issues/9288)) ([162c5b4](https://github.com/cube-js/cube/commit/162c5b48f6ef489bf9f4bb95a1d4bca168b836c9)) +- **tesseract:** Pre-aggregation planning fallback ([#9230](https://github.com/cube-js/cube/issues/9230)) ([08650e2](https://github.com/cube-js/cube/commit/08650e241e2aa85705e3c68e4993098267f89c82)) + ## [1.2.14](https://github.com/cube-js/cube/compare/v1.2.13...v1.2.14) (2025-02-28) **Note:** Version bump only for package @cubejs-backend/schema-compiler diff --git a/packages/cubejs-schema-compiler/package.json b/packages/cubejs-schema-compiler/package.json index 7de33c51d..1dd3b0ccf 100644 --- a/packages/cubejs-schema-compiler/package.json +++ b/packages/cubejs-schema-compiler/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/schema-compiler", "description": "Cube schema compiler", "author": "Cube Dev, Inc.", - "version": "1.2.14", + "version": "1.2.15", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -40,8 +40,8 @@ "@babel/standalone": "^7.24", "@babel/traverse": "^7.24", "@babel/types": "^7.24", - "@cubejs-backend/native": "1.2.14", - "@cubejs-backend/shared": "1.2.14", + "@cubejs-backend/native": "1.2.15", + "@cubejs-backend/shared": "1.2.15", "antlr4ts": "0.5.0-alpha.4", "camelcase": "^6.2.0", "cron-parser": "^4.9.0", @@ -59,8 +59,8 @@ }, "devDependencies": { "@clickhouse/client": "^1.7.0", - "@cubejs-backend/linter": "1.2.14", - "@cubejs-backend/query-orchestrator": "1.2.14", + "@cubejs-backend/linter": "1.2.15", + "@cubejs-backend/query-orchestrator": "1.2.15", "@types/babel__code-frame": "^7.0.6", "@types/babel__generator": "^7.6.8", "@types/babel__traverse": "^7.20.5", diff --git a/packages/cubejs-server-core/CHANGELOG.md b/packages/cubejs-server-core/CHANGELOG.md index 10e0f0721..d953b3221 100644 --- a/packages/cubejs-server-core/CHANGELOG.md +++ b/packages/cubejs-server-core/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.15](https://github.com/cube-js/cube/compare/v1.2.14...v1.2.15) (2025-03-03) + +**Note:** Version bump only for package @cubejs-backend/server-core + ## [1.2.14](https://github.com/cube-js/cube/compare/v1.2.13...v1.2.14) (2025-02-28) ### Features diff --git a/packages/cubejs-server-core/package.json b/packages/cubejs-server-core/package.json index 8af630ef0..e5b3a9cac 100644 --- a/packages/cubejs-server-core/package.json +++ b/packages/cubejs-server-core/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/server-core", "description": "Cube.js base component to wire all backend components together", "author": "Cube Dev, Inc.", - "version": "1.2.14", + "version": "1.2.15", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -29,14 +29,14 @@ "unit": "jest --runInBand --forceExit --coverage dist/test" }, "dependencies": { - "@cubejs-backend/api-gateway": "1.2.14", - "@cubejs-backend/cloud": "1.2.14", + "@cubejs-backend/api-gateway": "1.2.15", + "@cubejs-backend/cloud": "1.2.15", "@cubejs-backend/dotenv": "^9.0.2", - "@cubejs-backend/native": "1.2.14", - "@cubejs-backend/query-orchestrator": "1.2.14", - "@cubejs-backend/schema-compiler": "1.2.14", - "@cubejs-backend/shared": "1.2.14", - "@cubejs-backend/templates": "1.2.14", + "@cubejs-backend/native": "1.2.15", + "@cubejs-backend/query-orchestrator": "1.2.15", + "@cubejs-backend/schema-compiler": "1.2.15", + "@cubejs-backend/shared": "1.2.15", + "@cubejs-backend/templates": "1.2.15", "codesandbox-import-utils": "^2.1.12", "cross-spawn": "^7.0.1", "fs-extra": "^8.1.0", @@ -59,9 +59,9 @@ "ws": "^7.5.3" }, "devDependencies": { - "@cubejs-backend/cubestore-driver": "1.2.14", - "@cubejs-backend/linter": "1.2.14", - "@cubejs-client/playground": "1.2.14", + "@cubejs-backend/cubestore-driver": "1.2.15", + "@cubejs-backend/linter": "1.2.15", + "@cubejs-client/playground": "1.2.15", "@types/cross-spawn": "^6.0.2", "@types/express": "^4.17.21", "@types/fs-extra": "^9.0.8", diff --git a/packages/cubejs-server/CHANGELOG.md b/packages/cubejs-server/CHANGELOG.md index 9bed6d42c..1586dd7b2 100644 --- a/packages/cubejs-server/CHANGELOG.md +++ b/packages/cubejs-server/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.15](https://github.com/cube-js/cube/compare/v1.2.14...v1.2.15) (2025-03-03) + +**Note:** Version bump only for package @cubejs-backend/server + ## [1.2.14](https://github.com/cube-js/cube/compare/v1.2.13...v1.2.14) (2025-02-28) **Note:** Version bump only for package @cubejs-backend/server diff --git a/packages/cubejs-server/package.json b/packages/cubejs-server/package.json index 38ee71ce6..dd7f9b929 100644 --- a/packages/cubejs-server/package.json +++ b/packages/cubejs-server/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/server", "description": "Cube.js all-in-one server", "author": "Cube Dev, Inc.", - "version": "1.2.14", + "version": "1.2.15", "types": "index.d.ts", "repository": { "type": "git", @@ -40,11 +40,11 @@ "jest:shapshot": "jest --updateSnapshot test" }, "dependencies": { - "@cubejs-backend/cubestore-driver": "1.2.14", + "@cubejs-backend/cubestore-driver": "1.2.15", "@cubejs-backend/dotenv": "^9.0.2", - "@cubejs-backend/native": "1.2.14", - "@cubejs-backend/server-core": "1.2.14", - "@cubejs-backend/shared": "1.2.14", + "@cubejs-backend/native": "1.2.15", + "@cubejs-backend/server-core": "1.2.15", + "@cubejs-backend/shared": "1.2.15", "@oclif/color": "^1.0.0", "@oclif/command": "^1.8.13", "@oclif/config": "^1.18.2", @@ -61,8 +61,8 @@ "ws": "^7.1.2" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.14", - "@cubejs-backend/query-orchestrator": "1.2.14", + "@cubejs-backend/linter": "1.2.15", + "@cubejs-backend/query-orchestrator": "1.2.15", "@oclif/dev-cli": "^1.23.1", "@types/body-parser": "^1.19.0", "@types/cors": "^2.8.8", diff --git a/packages/cubejs-snowflake-driver/CHANGELOG.md b/packages/cubejs-snowflake-driver/CHANGELOG.md index 5fb14fec5..c37ac7d62 100644 --- a/packages/cubejs-snowflake-driver/CHANGELOG.md +++ b/packages/cubejs-snowflake-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.15](https://github.com/cube-js/cube/compare/v1.2.14...v1.2.15) (2025-03-03) + +**Note:** Version bump only for package @cubejs-backend/snowflake-driver + ## [1.2.14](https://github.com/cube-js/cube/compare/v1.2.13...v1.2.14) (2025-02-28) **Note:** Version bump only for package @cubejs-backend/snowflake-driver diff --git a/packages/cubejs-snowflake-driver/package.json b/packages/cubejs-snowflake-driver/package.json index bd874f247..147ad0a2f 100644 --- a/packages/cubejs-snowflake-driver/package.json +++ b/packages/cubejs-snowflake-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/snowflake-driver", "description": "Cube.js Snowflake database driver", "author": "Cube Dev, Inc.", - "version": "1.2.14", + "version": "1.2.15", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -25,8 +25,8 @@ "lint:fix": "eslint --fix src/* --ext .ts" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.14", - "@cubejs-backend/shared": "1.2.14", + "@cubejs-backend/base-driver": "1.2.15", + "@cubejs-backend/shared": "1.2.15", "date-fns-timezone": "^0.1.4", "snowflake-sdk": "^1.13.1" }, @@ -38,7 +38,7 @@ "extends": "../cubejs-linter" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.14", + "@cubejs-backend/linter": "1.2.15", "typescript": "~5.2.2" } } diff --git a/packages/cubejs-sqlite-driver/CHANGELOG.md b/packages/cubejs-sqlite-driver/CHANGELOG.md index f9dea76af..b56171a5e 100644 --- a/packages/cubejs-sqlite-driver/CHANGELOG.md +++ b/packages/cubejs-sqlite-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.15](https://github.com/cube-js/cube/compare/v1.2.14...v1.2.15) (2025-03-03) + +**Note:** Version bump only for package @cubejs-backend/sqlite-driver + ## [1.2.14](https://github.com/cube-js/cube/compare/v1.2.13...v1.2.14) (2025-02-28) **Note:** Version bump only for package @cubejs-backend/sqlite-driver diff --git a/packages/cubejs-sqlite-driver/package.json b/packages/cubejs-sqlite-driver/package.json index 0065e0877..3a17562d1 100644 --- a/packages/cubejs-sqlite-driver/package.json +++ b/packages/cubejs-sqlite-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/sqlite-driver", "description": "Cube.js Sqlite database driver", "author": "Cube Dev, Inc.", - "version": "1.2.14", + "version": "1.2.15", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -17,13 +17,13 @@ "lint": "eslint **/*.js" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.14", - "@cubejs-backend/shared": "1.2.14", + "@cubejs-backend/base-driver": "1.2.15", + "@cubejs-backend/shared": "1.2.15", "sqlite3": "^5.1.7" }, "license": "Apache-2.0", "devDependencies": { - "@cubejs-backend/linter": "1.2.14" + "@cubejs-backend/linter": "1.2.15" }, "publishConfig": { "access": "public" diff --git a/packages/cubejs-templates/CHANGELOG.md b/packages/cubejs-templates/CHANGELOG.md index 35a2b5adf..241d106a8 100644 --- a/packages/cubejs-templates/CHANGELOG.md +++ b/packages/cubejs-templates/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.15](https://github.com/cube-js/cube/compare/v1.2.14...v1.2.15) (2025-03-03) + +**Note:** Version bump only for package @cubejs-backend/templates + ## [1.2.14](https://github.com/cube-js/cube/compare/v1.2.13...v1.2.14) (2025-02-28) **Note:** Version bump only for package @cubejs-backend/templates diff --git a/packages/cubejs-templates/package.json b/packages/cubejs-templates/package.json index c23a22bfc..665cfb7a1 100644 --- a/packages/cubejs-templates/package.json +++ b/packages/cubejs-templates/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-backend/templates", - "version": "1.2.14", + "version": "1.2.15", "description": "Cube.js Templates helpers", "author": "Cube Dev, Inc.", "license": "Apache-2.0", @@ -26,7 +26,7 @@ "extends": "../cubejs-linter" }, "dependencies": { - "@cubejs-backend/shared": "1.2.14", + "@cubejs-backend/shared": "1.2.15", "cross-spawn": "^7.0.3", "decompress": "^4.2.1", "decompress-targz": "^4.1.1", @@ -36,7 +36,7 @@ "source-map-support": "^0.5.19" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.14", + "@cubejs-backend/linter": "1.2.15", "typescript": "~5.2.2" } } diff --git a/packages/cubejs-testing-drivers/CHANGELOG.md b/packages/cubejs-testing-drivers/CHANGELOG.md index 5e599787d..fa4ad4054 100644 --- a/packages/cubejs-testing-drivers/CHANGELOG.md +++ b/packages/cubejs-testing-drivers/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.15](https://github.com/cube-js/cube/compare/v1.2.14...v1.2.15) (2025-03-03) + +**Note:** Version bump only for package @cubejs-backend/testing-drivers + ## [1.2.14](https://github.com/cube-js/cube/compare/v1.2.13...v1.2.14) (2025-02-28) **Note:** Version bump only for package @cubejs-backend/testing-drivers diff --git a/packages/cubejs-testing-drivers/package.json b/packages/cubejs-testing-drivers/package.json index 8491f1570..6d159a1f1 100644 --- a/packages/cubejs-testing-drivers/package.json +++ b/packages/cubejs-testing-drivers/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-backend/testing-drivers", - "version": "1.2.14", + "version": "1.2.15", "description": "Cube.js drivers test suite", "author": "Cube Dev, Inc.", "license": "MIT", @@ -56,24 +56,24 @@ "dist/src" ], "dependencies": { - "@cubejs-backend/athena-driver": "1.2.14", - "@cubejs-backend/base-driver": "1.2.14", - "@cubejs-backend/bigquery-driver": "1.2.14", - "@cubejs-backend/clickhouse-driver": "1.2.14", - "@cubejs-backend/cubestore-driver": "1.2.14", - "@cubejs-backend/databricks-jdbc-driver": "1.2.14", + "@cubejs-backend/athena-driver": "1.2.15", + "@cubejs-backend/base-driver": "1.2.15", + "@cubejs-backend/bigquery-driver": "1.2.15", + "@cubejs-backend/clickhouse-driver": "1.2.15", + "@cubejs-backend/cubestore-driver": "1.2.15", + "@cubejs-backend/databricks-jdbc-driver": "1.2.15", "@cubejs-backend/dotenv": "^9.0.2", - "@cubejs-backend/linter": "1.2.14", - "@cubejs-backend/mssql-driver": "1.2.14", - "@cubejs-backend/mysql-driver": "1.2.14", - "@cubejs-backend/postgres-driver": "1.2.14", - "@cubejs-backend/query-orchestrator": "1.2.14", - "@cubejs-backend/server-core": "1.2.14", - "@cubejs-backend/shared": "1.2.14", - "@cubejs-backend/snowflake-driver": "1.2.14", - "@cubejs-backend/testing-shared": "1.2.14", - "@cubejs-client/core": "1.2.14", - "@cubejs-client/ws-transport": "1.2.14", + "@cubejs-backend/linter": "1.2.15", + "@cubejs-backend/mssql-driver": "1.2.15", + "@cubejs-backend/mysql-driver": "1.2.15", + "@cubejs-backend/postgres-driver": "1.2.15", + "@cubejs-backend/query-orchestrator": "1.2.15", + "@cubejs-backend/server-core": "1.2.15", + "@cubejs-backend/shared": "1.2.15", + "@cubejs-backend/snowflake-driver": "1.2.15", + "@cubejs-backend/testing-shared": "1.2.15", + "@cubejs-client/core": "1.2.15", + "@cubejs-client/ws-transport": "1.2.15", "@jest/globals": "^27", "@types/jest": "^27", "@types/node": "^18", diff --git a/packages/cubejs-testing-shared/CHANGELOG.md b/packages/cubejs-testing-shared/CHANGELOG.md index 95d289cc1..321d4ffbd 100644 --- a/packages/cubejs-testing-shared/CHANGELOG.md +++ b/packages/cubejs-testing-shared/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.15](https://github.com/cube-js/cube/compare/v1.2.14...v1.2.15) (2025-03-03) + +**Note:** Version bump only for package @cubejs-backend/testing-shared + ## [1.2.14](https://github.com/cube-js/cube/compare/v1.2.13...v1.2.14) (2025-02-28) **Note:** Version bump only for package @cubejs-backend/testing-shared diff --git a/packages/cubejs-testing-shared/package.json b/packages/cubejs-testing-shared/package.json index c9b39c58b..74aa45b02 100644 --- a/packages/cubejs-testing-shared/package.json +++ b/packages/cubejs-testing-shared/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-backend/testing-shared", - "version": "1.2.14", + "version": "1.2.15", "description": "Cube.js Testing Helpers", "author": "Cube Dev, Inc.", "license": "Apache-2.0", @@ -21,16 +21,16 @@ ], "dependencies": { "@cubejs-backend/dotenv": "^9.0.2", - "@cubejs-backend/query-orchestrator": "1.2.14", - "@cubejs-backend/schema-compiler": "1.2.14", - "@cubejs-backend/shared": "1.2.14", + "@cubejs-backend/query-orchestrator": "1.2.15", + "@cubejs-backend/schema-compiler": "1.2.15", + "@cubejs-backend/shared": "1.2.15", "@testcontainers/kafka": "~10.13.0", "dedent": "^0.7.0", "node-fetch": "^2.6.7", "testcontainers": "^10.13.0" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.14", + "@cubejs-backend/linter": "1.2.15", "@jest/globals": "^27", "@types/dedent": "^0.7.0", "@types/jest": "^27", diff --git a/packages/cubejs-testing/CHANGELOG.md b/packages/cubejs-testing/CHANGELOG.md index a0b419ee4..ff35c0ab4 100644 --- a/packages/cubejs-testing/CHANGELOG.md +++ b/packages/cubejs-testing/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.15](https://github.com/cube-js/cube/compare/v1.2.14...v1.2.15) (2025-03-03) + +**Note:** Version bump only for package @cubejs-backend/testing + ## [1.2.14](https://github.com/cube-js/cube/compare/v1.2.13...v1.2.14) (2025-02-28) **Note:** Version bump only for package @cubejs-backend/testing diff --git a/packages/cubejs-testing/package.json b/packages/cubejs-testing/package.json index 5feebd1cf..317c74f1f 100644 --- a/packages/cubejs-testing/package.json +++ b/packages/cubejs-testing/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-backend/testing", - "version": "1.2.14", + "version": "1.2.15", "description": "Cube.js e2e tests", "author": "Cube Dev, Inc.", "license": "Apache-2.0", @@ -94,15 +94,15 @@ "birdbox-fixtures" ], "dependencies": { - "@cubejs-backend/cubestore-driver": "1.2.14", + "@cubejs-backend/cubestore-driver": "1.2.15", "@cubejs-backend/dotenv": "^9.0.2", - "@cubejs-backend/ksql-driver": "1.2.14", - "@cubejs-backend/postgres-driver": "1.2.14", - "@cubejs-backend/query-orchestrator": "1.2.14", - "@cubejs-backend/schema-compiler": "1.2.14", - "@cubejs-backend/shared": "1.2.14", - "@cubejs-backend/testing-shared": "1.2.14", - "@cubejs-client/ws-transport": "1.2.14", + "@cubejs-backend/ksql-driver": "1.2.15", + "@cubejs-backend/postgres-driver": "1.2.15", + "@cubejs-backend/query-orchestrator": "1.2.15", + "@cubejs-backend/schema-compiler": "1.2.15", + "@cubejs-backend/shared": "1.2.15", + "@cubejs-backend/testing-shared": "1.2.15", + "@cubejs-client/ws-transport": "1.2.15", "dedent": "^0.7.0", "fs-extra": "^8.1.0", "http-proxy": "^1.18.1", @@ -113,8 +113,8 @@ }, "devDependencies": { "@4tw/cypress-drag-drop": "^1.6.0", - "@cubejs-backend/linter": "1.2.14", - "@cubejs-client/core": "1.2.14", + "@cubejs-backend/linter": "1.2.15", + "@cubejs-client/core": "1.2.15", "@jest/globals": "^27", "@types/dedent": "^0.7.0", "@types/http-proxy": "^1.17.5", diff --git a/packages/cubejs-trino-driver/CHANGELOG.md b/packages/cubejs-trino-driver/CHANGELOG.md index 637063f7a..7226edec0 100644 --- a/packages/cubejs-trino-driver/CHANGELOG.md +++ b/packages/cubejs-trino-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.15](https://github.com/cube-js/cube/compare/v1.2.14...v1.2.15) (2025-03-03) + +**Note:** Version bump only for package @cubejs-backend/trino-driver + ## [1.2.14](https://github.com/cube-js/cube/compare/v1.2.13...v1.2.14) (2025-02-28) **Note:** Version bump only for package @cubejs-backend/trino-driver diff --git a/packages/cubejs-trino-driver/package.json b/packages/cubejs-trino-driver/package.json index b917b60a1..4cefd728d 100644 --- a/packages/cubejs-trino-driver/package.json +++ b/packages/cubejs-trino-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/trino-driver", "description": "Cube.js Trino database driver", "author": "Cube Dev, Inc.", - "version": "1.2.14", + "version": "1.2.15", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -25,10 +25,10 @@ "lint:fix": "eslint --fix src/* --ext .ts" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.14", - "@cubejs-backend/prestodb-driver": "1.2.14", - "@cubejs-backend/schema-compiler": "1.2.14", - "@cubejs-backend/shared": "1.2.14", + "@cubejs-backend/base-driver": "1.2.15", + "@cubejs-backend/prestodb-driver": "1.2.15", + "@cubejs-backend/schema-compiler": "1.2.15", + "@cubejs-backend/shared": "1.2.15", "presto-client": "^0.12.2", "sqlstring": "^2.3.1" }, @@ -37,7 +37,7 @@ "access": "public" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.14" + "@cubejs-backend/linter": "1.2.15" }, "eslintConfig": { "extends": "../cubejs-linter" diff --git a/packages/cubejs-vertica-driver/CHANGELOG.md b/packages/cubejs-vertica-driver/CHANGELOG.md index 0419a2b8e..fc96c7d88 100644 --- a/packages/cubejs-vertica-driver/CHANGELOG.md +++ b/packages/cubejs-vertica-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.15](https://github.com/cube-js/cube.js/compare/v1.2.14...v1.2.15) (2025-03-03) + +**Note:** Version bump only for package @cubejs-backend/vertica-driver + ## [1.2.14](https://github.com/cube-js/cube.js/compare/v1.2.13...v1.2.14) (2025-02-28) **Note:** Version bump only for package @cubejs-backend/vertica-driver diff --git a/packages/cubejs-vertica-driver/package.json b/packages/cubejs-vertica-driver/package.json index ef60b0d60..2004787df 100644 --- a/packages/cubejs-vertica-driver/package.json +++ b/packages/cubejs-vertica-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/vertica-driver", "description": "Cube.js Vertica database driver", "author": "Eduard Karacharov, Tim Brown, Cube Dev, Inc.", - "version": "1.2.14", + "version": "1.2.15", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.js.git", @@ -19,15 +19,15 @@ "lint:fix": "eslint --fix **/*.js" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.14", - "@cubejs-backend/query-orchestrator": "1.2.14", - "@cubejs-backend/schema-compiler": "1.2.14", + "@cubejs-backend/base-driver": "1.2.15", + "@cubejs-backend/query-orchestrator": "1.2.15", + "@cubejs-backend/schema-compiler": "1.2.15", "vertica-nodejs": "^1.0.3" }, "license": "Apache-2.0", "devDependencies": { - "@cubejs-backend/linter": "1.2.14", - "@cubejs-backend/testing-shared": "1.2.14", + "@cubejs-backend/linter": "1.2.15", + "@cubejs-backend/testing-shared": "1.2.15", "jest": "^27", "testcontainers": "^10.13.0" }, diff --git a/rust/cubesql/CHANGELOG.md b/rust/cubesql/CHANGELOG.md index 264f98eaf..21cd21682 100644 --- a/rust/cubesql/CHANGELOG.md +++ b/rust/cubesql/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.15](https://github.com/cube-js/cube/compare/v1.2.14...v1.2.15) (2025-03-03) + +**Note:** Version bump only for package @cubejs-backend/cubesql + ## [1.2.14](https://github.com/cube-js/cube/compare/v1.2.13...v1.2.14) (2025-02-28) **Note:** Version bump only for package @cubejs-backend/cubesql diff --git a/rust/cubesql/package.json b/rust/cubesql/package.json index dea74fccb..704e0a4d7 100644 --- a/rust/cubesql/package.json +++ b/rust/cubesql/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-backend/cubesql", - "version": "1.2.14", + "version": "1.2.15", "description": "SQL API for Cube as proxy over MySQL protocol.", "engines": { "node": "^12.0.0 || ^14.0.0 || >=16.0.0" diff --git a/rust/cubestore/CHANGELOG.md b/rust/cubestore/CHANGELOG.md index bd3826066..c08b46088 100644 --- a/rust/cubestore/CHANGELOG.md +++ b/rust/cubestore/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.15](https://github.com/cube-js/cube/compare/v1.2.14...v1.2.15) (2025-03-03) + +**Note:** Version bump only for package @cubejs-backend/cubestore + ## [1.2.14](https://github.com/cube-js/cube/compare/v1.2.13...v1.2.14) (2025-02-28) **Note:** Version bump only for package @cubejs-backend/cubestore diff --git a/rust/cubestore/package.json b/rust/cubestore/package.json index 34b58e4da..f00ad56ee 100644 --- a/rust/cubestore/package.json +++ b/rust/cubestore/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-backend/cubestore", - "version": "1.2.14", + "version": "1.2.15", "description": "Cube.js pre-aggregation storage layer.", "main": "dist/src/index.js", "typings": "dist/src/index.d.ts", @@ -27,7 +27,7 @@ "author": "Cube Dev, Inc.", "license": "Apache-2.0", "devDependencies": { - "@cubejs-backend/linter": "1.2.14", + "@cubejs-backend/linter": "1.2.15", "@types/jest": "^27", "@types/node": "^18", "jest": "^27", @@ -37,7 +37,7 @@ "access": "public" }, "dependencies": { - "@cubejs-backend/shared": "1.2.14", + "@cubejs-backend/shared": "1.2.15", "@octokit/core": "^3.2.5", "source-map-support": "^0.5.19" }, From a65a49d2cac17c0915c7eaca85ff2beec7b6979a Mon Sep 17 00:00:00 2001 From: Alex Vasilev Date: Mon, 3 Mar 2025 21:27:15 -0800 Subject: [PATCH 07/49] fix(cubejs-native): sql over http drop sessions, correct error (#9297) --- .../cubejs-backend-native/src/node_export.rs | 122 ++++++++++-------- rust/cubesql/cubesql/src/compile/plan.rs | 2 +- 2 files changed, 67 insertions(+), 57 deletions(-) diff --git a/packages/cubejs-backend-native/src/node_export.rs b/packages/cubejs-backend-native/src/node_export.rs index 802076279..a826b645f 100644 --- a/packages/cubejs-backend-native/src/node_export.rs +++ b/packages/cubejs-backend-native/src/node_export.rs @@ -222,44 +222,71 @@ async fn handle_sql_query( .state .set_auth_context(Some(native_auth_ctx.clone())); - // todo: can we use compiler_cache? - let meta_context = transport_service - .meta(native_auth_ctx) - .await - .map_err(|err| CubeError::internal(format!("Failed to get meta context: {}", err)))?; - let query_plan = convert_sql_to_cube_query(sql_query, meta_context, session).await?; + let connection_id = session.state.connection_id; - let mut stream = get_df_batches(&query_plan).await?; + let execute = || async move { + // todo: can we use compiler_cache? + let meta_context = transport_service + .meta(native_auth_ctx) + .await + .map_err(|err| CubeError::internal(format!("Failed to get meta context: {}", err)))?; + let query_plan = convert_sql_to_cube_query(sql_query, meta_context, session).await?; - let semaphore = Arc::new(Semaphore::new(0)); + let mut stream = get_df_batches(&query_plan).await?; - let drain_handler = OnDrainHandler::new( - channel.clone(), - stream_methods.stream.clone(), - semaphore.clone(), - ); + let semaphore = Arc::new(Semaphore::new(0)); - drain_handler.handle(stream_methods.on.clone()).await?; + let drain_handler = OnDrainHandler::new( + channel.clone(), + stream_methods.stream.clone(), + semaphore.clone(), + ); - let mut is_first_batch = true; - while let Some(batch) = stream.next().await { - let (columns, data) = batch_to_rows(batch?)?; + drain_handler.handle(stream_methods.on.clone()).await?; + + let mut is_first_batch = true; + while let Some(batch) = stream.next().await { + let (columns, data) = batch_to_rows(batch?)?; + + if is_first_batch { + let mut schema = Map::new(); + schema.insert("schema".into(), columns); + let columns = format!( + "{}{}", + serde_json::to_string(&serde_json::Value::Object(schema))?, + CHUNK_DELIM + ); + is_first_batch = false; + + call_js_fn( + channel.clone(), + stream_methods.write.clone(), + Box::new(|cx| { + let arg = cx.string(columns).upcast::(); + + Ok(vec![arg.upcast::()]) + }), + Box::new(|cx, v| match v.downcast_or_throw::(cx) { + Ok(v) => Ok(v.value(cx)), + Err(_) => Err(CubeError::internal( + "Failed to downcast write response".to_string(), + )), + }), + stream_methods.stream.clone(), + ) + .await?; + } - if is_first_batch { - let mut schema = Map::new(); - schema.insert("schema".into(), columns); - let columns = format!( - "{}{}", - serde_json::to_string(&serde_json::Value::Object(schema))?, - CHUNK_DELIM - ); - is_first_batch = false; + let mut rows = Map::new(); + rows.insert("data".into(), serde_json::Value::Array(data)); + let data = format!("{}{}", serde_json::to_string(&rows)?, CHUNK_DELIM); + let js_stream_write_fn = stream_methods.write.clone(); - call_js_fn( + let should_pause = !call_js_fn( channel.clone(), - stream_methods.write.clone(), + js_stream_write_fn, Box::new(|cx| { - let arg = cx.string(columns).upcast::(); + let arg = cx.string(data).upcast::(); Ok(vec![arg.upcast::()]) }), @@ -272,38 +299,21 @@ async fn handle_sql_query( stream_methods.stream.clone(), ) .await?; + + if should_pause { + let permit = semaphore.acquire().await?; + permit.forget(); + } } - let mut rows = Map::new(); - rows.insert("data".into(), serde_json::Value::Array(data)); - let data = format!("{}{}", serde_json::to_string(&rows)?, CHUNK_DELIM); - let js_stream_write_fn = stream_methods.write.clone(); + Ok::<(), CubeError>(()) + }; - let should_pause = !call_js_fn( - channel.clone(), - js_stream_write_fn, - Box::new(|cx| { - let arg = cx.string(data).upcast::(); - - Ok(vec![arg.upcast::()]) - }), - Box::new(|cx, v| match v.downcast_or_throw::(cx) { - Ok(v) => Ok(v.value(cx)), - Err(_) => Err(CubeError::internal( - "Failed to downcast write response".to_string(), - )), - }), - stream_methods.stream.clone(), - ) - .await?; + let result = execute().await; - if should_pause { - let permit = semaphore.acquire().await.unwrap(); - permit.forget(); - } - } + session_manager.drop_session(connection_id).await; - Ok(()) + result } struct WritableStreamMethods { diff --git a/rust/cubesql/cubesql/src/compile/plan.rs b/rust/cubesql/cubesql/src/compile/plan.rs index bf941cb26..6b5926167 100644 --- a/rust/cubesql/cubesql/src/compile/plan.rs +++ b/rust/cubesql/cubesql/src/compile/plan.rs @@ -138,7 +138,7 @@ pub async fn get_df_batches( Ok(stream) => { return Ok(stream); } - Err(err) => return Err(CubeError::panic(Box::new(err))), + Err(err) => return Err(err.into()), }; } Err(err) => return Err(CubeError::panic(err)), From 2717b443094f259e0880a7c22e3b3fa2121c8514 Mon Sep 17 00:00:00 2001 From: Alex Vasilev Date: Tue, 4 Mar 2025 12:04:32 -0800 Subject: [PATCH 08/49] v1.2.16 --- CHANGELOG.md | 6 ++ lerna.json | 2 +- packages/cubejs-api-gateway/CHANGELOG.md | 4 ++ packages/cubejs-api-gateway/package.json | 8 +-- packages/cubejs-athena-driver/CHANGELOG.md | 4 ++ packages/cubejs-athena-driver/package.json | 10 ++-- packages/cubejs-backend-cloud/CHANGELOG.md | 4 ++ packages/cubejs-backend-cloud/package.json | 6 +- packages/cubejs-backend-maven/CHANGELOG.md | 4 ++ packages/cubejs-backend-maven/package.json | 6 +- packages/cubejs-backend-native/CHANGELOG.md | 6 ++ packages/cubejs-backend-native/package.json | 8 +-- packages/cubejs-backend-shared/CHANGELOG.md | 4 ++ packages/cubejs-backend-shared/package.json | 4 +- packages/cubejs-base-driver/CHANGELOG.md | 4 ++ packages/cubejs-base-driver/package.json | 6 +- packages/cubejs-bigquery-driver/CHANGELOG.md | 4 ++ packages/cubejs-bigquery-driver/package.json | 8 +-- packages/cubejs-cli/CHANGELOG.md | 4 ++ packages/cubejs-cli/package.json | 12 ++-- .../cubejs-clickhouse-driver/CHANGELOG.md | 4 ++ .../cubejs-clickhouse-driver/package.json | 10 ++-- packages/cubejs-client-core/CHANGELOG.md | 4 ++ packages/cubejs-client-core/package.json | 2 +- packages/cubejs-client-dx/CHANGELOG.md | 4 ++ packages/cubejs-client-dx/package.json | 2 +- packages/cubejs-client-ngx/CHANGELOG.md | 4 ++ packages/cubejs-client-ngx/package.json | 2 +- packages/cubejs-client-react/CHANGELOG.md | 4 ++ packages/cubejs-client-react/package.json | 4 +- packages/cubejs-client-vue/CHANGELOG.md | 4 ++ packages/cubejs-client-vue/package.json | 4 +- packages/cubejs-client-vue3/CHANGELOG.md | 4 ++ packages/cubejs-client-vue3/package.json | 4 +- .../cubejs-client-ws-transport/CHANGELOG.md | 4 ++ .../cubejs-client-ws-transport/package.json | 6 +- packages/cubejs-crate-driver/CHANGELOG.md | 4 ++ packages/cubejs-crate-driver/package.json | 10 ++-- packages/cubejs-cubestore-driver/CHANGELOG.md | 4 ++ packages/cubejs-cubestore-driver/package.json | 12 ++-- .../CHANGELOG.md | 4 ++ .../package.json | 12 ++-- .../cubejs-dbt-schema-extension/CHANGELOG.md | 4 ++ .../cubejs-dbt-schema-extension/package.json | 8 +-- packages/cubejs-docker/CHANGELOG.md | 4 ++ packages/cubejs-docker/package.json | 60 +++++++++---------- packages/cubejs-dremio-driver/CHANGELOG.md | 4 ++ packages/cubejs-dremio-driver/package.json | 12 ++-- packages/cubejs-druid-driver/CHANGELOG.md | 4 ++ packages/cubejs-druid-driver/package.json | 10 ++-- packages/cubejs-duckdb-driver/CHANGELOG.md | 4 ++ packages/cubejs-duckdb-driver/package.json | 12 ++-- .../cubejs-elasticsearch-driver/CHANGELOG.md | 4 ++ .../cubejs-elasticsearch-driver/package.json | 8 +-- packages/cubejs-firebolt-driver/CHANGELOG.md | 4 ++ packages/cubejs-firebolt-driver/package.json | 12 ++-- packages/cubejs-hive-driver/CHANGELOG.md | 4 ++ packages/cubejs-hive-driver/package.json | 8 +-- packages/cubejs-jdbc-driver/CHANGELOG.md | 4 ++ packages/cubejs-jdbc-driver/package.json | 8 +-- packages/cubejs-ksql-driver/CHANGELOG.md | 4 ++ packages/cubejs-ksql-driver/package.json | 10 ++-- packages/cubejs-linter/CHANGELOG.md | 4 ++ packages/cubejs-linter/package.json | 2 +- .../cubejs-materialize-driver/CHANGELOG.md | 4 ++ .../cubejs-materialize-driver/package.json | 12 ++-- packages/cubejs-mongobi-driver/CHANGELOG.md | 4 ++ packages/cubejs-mongobi-driver/package.json | 8 +-- packages/cubejs-mssql-driver/CHANGELOG.md | 4 ++ packages/cubejs-mssql-driver/package.json | 4 +- .../CHANGELOG.md | 4 ++ .../package.json | 8 +-- packages/cubejs-mysql-driver/CHANGELOG.md | 4 ++ packages/cubejs-mysql-driver/package.json | 10 ++-- packages/cubejs-oracle-driver/CHANGELOG.md | 4 ++ packages/cubejs-oracle-driver/package.json | 4 +- packages/cubejs-pinot-driver/CHANGELOG.md | 4 ++ packages/cubejs-pinot-driver/package.json | 10 ++-- packages/cubejs-playground/CHANGELOG.md | 4 ++ packages/cubejs-playground/package.json | 6 +- packages/cubejs-postgres-driver/CHANGELOG.md | 4 ++ packages/cubejs-postgres-driver/package.json | 10 ++-- packages/cubejs-prestodb-driver/CHANGELOG.md | 4 ++ packages/cubejs-prestodb-driver/package.json | 8 +-- .../cubejs-query-orchestrator/CHANGELOG.md | 4 ++ .../cubejs-query-orchestrator/package.json | 10 ++-- packages/cubejs-questdb-driver/CHANGELOG.md | 4 ++ packages/cubejs-questdb-driver/package.json | 12 ++-- packages/cubejs-redshift-driver/CHANGELOG.md | 4 ++ packages/cubejs-redshift-driver/package.json | 10 ++-- packages/cubejs-schema-compiler/CHANGELOG.md | 4 ++ packages/cubejs-schema-compiler/package.json | 10 ++-- packages/cubejs-server-core/CHANGELOG.md | 4 ++ packages/cubejs-server-core/package.json | 22 +++---- packages/cubejs-server/CHANGELOG.md | 4 ++ packages/cubejs-server/package.json | 14 ++--- packages/cubejs-snowflake-driver/CHANGELOG.md | 4 ++ packages/cubejs-snowflake-driver/package.json | 8 +-- packages/cubejs-sqlite-driver/CHANGELOG.md | 4 ++ packages/cubejs-sqlite-driver/package.json | 8 +-- packages/cubejs-templates/CHANGELOG.md | 4 ++ packages/cubejs-templates/package.json | 6 +- packages/cubejs-testing-drivers/CHANGELOG.md | 4 ++ packages/cubejs-testing-drivers/package.json | 36 +++++------ packages/cubejs-testing-shared/CHANGELOG.md | 4 ++ packages/cubejs-testing-shared/package.json | 10 ++-- packages/cubejs-testing/CHANGELOG.md | 4 ++ packages/cubejs-testing/package.json | 22 +++---- packages/cubejs-trino-driver/CHANGELOG.md | 4 ++ packages/cubejs-trino-driver/package.json | 12 ++-- packages/cubejs-vertica-driver/CHANGELOG.md | 4 ++ packages/cubejs-vertica-driver/package.json | 12 ++-- rust/cubesql/CHANGELOG.md | 6 ++ rust/cubesql/package.json | 2 +- rust/cubestore/CHANGELOG.md | 4 ++ rust/cubestore/package.json | 6 +- 116 files changed, 522 insertions(+), 284 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1e33d961e..c5c3d73fe 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,12 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.16](https://github.com/cube-js/cube/compare/v1.2.15...v1.2.16) (2025-03-04) + +### Bug Fixes + +- **cubejs-native:** sql over http drop sessions, correct error ([#9297](https://github.com/cube-js/cube/issues/9297)) ([6fad670](https://github.com/cube-js/cube/commit/6fad670c722fd91e29d950a36659ac4630cef64a)) + ## [1.2.15](https://github.com/cube-js/cube/compare/v1.2.14...v1.2.15) (2025-03-03) ### Bug Fixes diff --git a/lerna.json b/lerna.json index 6738d5b91..cd74b4076 100644 --- a/lerna.json +++ b/lerna.json @@ -1,5 +1,5 @@ { - "version": "1.2.15", + "version": "1.2.16", "npmClient": "yarn", "command": { "bootstrap": { diff --git a/packages/cubejs-api-gateway/CHANGELOG.md b/packages/cubejs-api-gateway/CHANGELOG.md index ae0618d95..0f4ac1e34 100644 --- a/packages/cubejs-api-gateway/CHANGELOG.md +++ b/packages/cubejs-api-gateway/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.16](https://github.com/cube-js/cube/compare/v1.2.15...v1.2.16) (2025-03-04) + +**Note:** Version bump only for package @cubejs-backend/api-gateway + ## [1.2.15](https://github.com/cube-js/cube/compare/v1.2.14...v1.2.15) (2025-03-03) **Note:** Version bump only for package @cubejs-backend/api-gateway diff --git a/packages/cubejs-api-gateway/package.json b/packages/cubejs-api-gateway/package.json index 5fb869af9..e4e6a6f37 100644 --- a/packages/cubejs-api-gateway/package.json +++ b/packages/cubejs-api-gateway/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/api-gateway", "description": "Cube.js API Gateway", "author": "Cube Dev, Inc.", - "version": "1.2.15", + "version": "1.2.16", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -27,8 +27,8 @@ "dist/src/*" ], "dependencies": { - "@cubejs-backend/native": "1.2.15", - "@cubejs-backend/shared": "1.2.15", + "@cubejs-backend/native": "1.2.16", + "@cubejs-backend/shared": "1.2.16", "@ungap/structured-clone": "^0.3.4", "body-parser": "^1.19.0", "chrono-node": "^2.6.2", @@ -50,7 +50,7 @@ "uuid": "^8.3.2" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.15", + "@cubejs-backend/linter": "1.2.16", "@types/express": "^4.17.21", "@types/jest": "^27", "@types/jsonwebtoken": "^9.0.2", diff --git a/packages/cubejs-athena-driver/CHANGELOG.md b/packages/cubejs-athena-driver/CHANGELOG.md index 5f7409892..66a10f164 100644 --- a/packages/cubejs-athena-driver/CHANGELOG.md +++ b/packages/cubejs-athena-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.16](https://github.com/cube-js/cube/compare/v1.2.15...v1.2.16) (2025-03-04) + +**Note:** Version bump only for package @cubejs-backend/athena-driver + ## [1.2.15](https://github.com/cube-js/cube/compare/v1.2.14...v1.2.15) (2025-03-03) **Note:** Version bump only for package @cubejs-backend/athena-driver diff --git a/packages/cubejs-athena-driver/package.json b/packages/cubejs-athena-driver/package.json index e3d762314..0782bde57 100644 --- a/packages/cubejs-athena-driver/package.json +++ b/packages/cubejs-athena-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/athena-driver", "description": "Cube.js Athena database driver", "author": "Cube Dev, Inc.", - "version": "1.2.15", + "version": "1.2.16", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -29,13 +29,13 @@ "types": "dist/src/index.d.ts", "dependencies": { "@aws-sdk/client-athena": "^3.22.0", - "@cubejs-backend/base-driver": "1.2.15", - "@cubejs-backend/shared": "1.2.15", + "@cubejs-backend/base-driver": "1.2.16", + "@cubejs-backend/shared": "1.2.16", "sqlstring": "^2.3.1" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.15", - "@cubejs-backend/testing-shared": "1.2.15", + "@cubejs-backend/linter": "1.2.16", + "@cubejs-backend/testing-shared": "1.2.16", "@types/ramda": "^0.27.40", "typescript": "~5.2.2" }, diff --git a/packages/cubejs-backend-cloud/CHANGELOG.md b/packages/cubejs-backend-cloud/CHANGELOG.md index 7af18ccd6..6d152293b 100644 --- a/packages/cubejs-backend-cloud/CHANGELOG.md +++ b/packages/cubejs-backend-cloud/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.16](https://github.com/cube-js/cube/compare/v1.2.15...v1.2.16) (2025-03-04) + +**Note:** Version bump only for package @cubejs-backend/cloud + ## [1.2.15](https://github.com/cube-js/cube/compare/v1.2.14...v1.2.15) (2025-03-03) **Note:** Version bump only for package @cubejs-backend/cloud diff --git a/packages/cubejs-backend-cloud/package.json b/packages/cubejs-backend-cloud/package.json index 26ff10f90..3d815f3b5 100644 --- a/packages/cubejs-backend-cloud/package.json +++ b/packages/cubejs-backend-cloud/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-backend/cloud", - "version": "1.2.15", + "version": "1.2.16", "description": "Cube Cloud package", "main": "dist/src/index.js", "typings": "dist/src/index.d.ts", @@ -25,7 +25,7 @@ "devDependencies": { "@babel/core": "^7.24.5", "@babel/preset-env": "^7.24.5", - "@cubejs-backend/linter": "1.2.15", + "@cubejs-backend/linter": "1.2.16", "@types/fs-extra": "^9.0.8", "@types/jest": "^27", "jest": "^27", @@ -33,7 +33,7 @@ }, "dependencies": { "@cubejs-backend/dotenv": "^9.0.2", - "@cubejs-backend/shared": "1.2.15", + "@cubejs-backend/shared": "1.2.16", "chokidar": "^3.5.1", "env-var": "^6.3.0", "form-data": "^4.0.0", diff --git a/packages/cubejs-backend-maven/CHANGELOG.md b/packages/cubejs-backend-maven/CHANGELOG.md index c48a4286a..a3ca627f7 100644 --- a/packages/cubejs-backend-maven/CHANGELOG.md +++ b/packages/cubejs-backend-maven/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.16](https://github.com/cube-js/cube/compare/v1.2.15...v1.2.16) (2025-03-04) + +**Note:** Version bump only for package @cubejs-backend/maven + ## [1.2.15](https://github.com/cube-js/cube/compare/v1.2.14...v1.2.15) (2025-03-03) **Note:** Version bump only for package @cubejs-backend/maven diff --git a/packages/cubejs-backend-maven/package.json b/packages/cubejs-backend-maven/package.json index 6c2278bab..059640a47 100644 --- a/packages/cubejs-backend-maven/package.json +++ b/packages/cubejs-backend-maven/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/maven", "description": "Cube.js Maven Wrapper for java dependencies downloading", "author": "Cube Dev, Inc.", - "version": "1.2.15", + "version": "1.2.16", "license": "Apache-2.0", "repository": { "type": "git", @@ -31,12 +31,12 @@ "dist/src/*" ], "dependencies": { - "@cubejs-backend/shared": "1.2.15", + "@cubejs-backend/shared": "1.2.16", "source-map-support": "^0.5.19", "xmlbuilder2": "^2.4.0" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.15", + "@cubejs-backend/linter": "1.2.16", "@types/jest": "^27", "@types/node": "^18", "jest": "^27", diff --git a/packages/cubejs-backend-native/CHANGELOG.md b/packages/cubejs-backend-native/CHANGELOG.md index 9710733bb..a0f4b2497 100644 --- a/packages/cubejs-backend-native/CHANGELOG.md +++ b/packages/cubejs-backend-native/CHANGELOG.md @@ -3,6 +3,12 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.16](https://github.com/cube-js/cube/compare/v1.2.15...v1.2.16) (2025-03-04) + +### Bug Fixes + +- **cubejs-native:** sql over http drop sessions, correct error ([#9297](https://github.com/cube-js/cube/issues/9297)) ([6fad670](https://github.com/cube-js/cube/commit/6fad670c722fd91e29d950a36659ac4630cef64a)) + ## [1.2.15](https://github.com/cube-js/cube/compare/v1.2.14...v1.2.15) (2025-03-03) ### Features diff --git a/packages/cubejs-backend-native/package.json b/packages/cubejs-backend-native/package.json index 56c03523c..118e6beab 100644 --- a/packages/cubejs-backend-native/package.json +++ b/packages/cubejs-backend-native/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-backend/native", - "version": "1.2.15", + "version": "1.2.16", "author": "Cube Dev, Inc.", "description": "Native module for Cube.js (binding to Rust codebase)", "main": "dist/js/index.js", @@ -34,7 +34,7 @@ "dist/js" ], "devDependencies": { - "@cubejs-backend/linter": "1.2.15", + "@cubejs-backend/linter": "1.2.16", "@types/jest": "^27", "@types/node": "^18", "cargo-cp-artifact": "^0.1.9", @@ -44,8 +44,8 @@ "uuid": "^8.3.2" }, "dependencies": { - "@cubejs-backend/cubesql": "1.2.15", - "@cubejs-backend/shared": "1.2.15", + "@cubejs-backend/cubesql": "1.2.16", + "@cubejs-backend/shared": "1.2.16", "@cubejs-infra/post-installer": "^0.0.7" }, "resources": { diff --git a/packages/cubejs-backend-shared/CHANGELOG.md b/packages/cubejs-backend-shared/CHANGELOG.md index 2214bccb7..9959e84c6 100644 --- a/packages/cubejs-backend-shared/CHANGELOG.md +++ b/packages/cubejs-backend-shared/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.16](https://github.com/cube-js/cube/compare/v1.2.15...v1.2.16) (2025-03-04) + +**Note:** Version bump only for package @cubejs-backend/shared + ## [1.2.15](https://github.com/cube-js/cube/compare/v1.2.14...v1.2.15) (2025-03-03) ### Features diff --git a/packages/cubejs-backend-shared/package.json b/packages/cubejs-backend-shared/package.json index 837d1b9ea..67875adf7 100644 --- a/packages/cubejs-backend-shared/package.json +++ b/packages/cubejs-backend-shared/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-backend/shared", - "version": "1.2.15", + "version": "1.2.16", "description": "Shared code for Cube.js backend packages", "main": "dist/src/index.js", "typings": "dist/src/index.d.ts", @@ -22,7 +22,7 @@ "author": "Cube Dev, Inc.", "license": "Apache-2.0", "devDependencies": { - "@cubejs-backend/linter": "1.2.15", + "@cubejs-backend/linter": "1.2.16", "@types/bytes": "^3.1.5", "@types/cli-progress": "^3.9.1", "@types/decompress": "^4.2.7", diff --git a/packages/cubejs-base-driver/CHANGELOG.md b/packages/cubejs-base-driver/CHANGELOG.md index 1112830d5..63b6d3674 100644 --- a/packages/cubejs-base-driver/CHANGELOG.md +++ b/packages/cubejs-base-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.16](https://github.com/cube-js/cube/compare/v1.2.15...v1.2.16) (2025-03-04) + +**Note:** Version bump only for package @cubejs-backend/base-driver + ## [1.2.15](https://github.com/cube-js/cube/compare/v1.2.14...v1.2.15) (2025-03-03) **Note:** Version bump only for package @cubejs-backend/base-driver diff --git a/packages/cubejs-base-driver/package.json b/packages/cubejs-base-driver/package.json index ef73b436f..fb3d6c484 100644 --- a/packages/cubejs-base-driver/package.json +++ b/packages/cubejs-base-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/base-driver", "description": "Cube.js Base Driver", "author": "Cube Dev, Inc.", - "version": "1.2.15", + "version": "1.2.16", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -33,11 +33,11 @@ "@aws-sdk/s3-request-presigner": "^3.49.0", "@azure/identity": "^4.4.1", "@azure/storage-blob": "^12.9.0", - "@cubejs-backend/shared": "1.2.15", + "@cubejs-backend/shared": "1.2.16", "@google-cloud/storage": "^7.13.0" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.15", + "@cubejs-backend/linter": "1.2.16", "@types/jest": "^27", "@types/node": "^18", "jest": "^27", diff --git a/packages/cubejs-bigquery-driver/CHANGELOG.md b/packages/cubejs-bigquery-driver/CHANGELOG.md index a47b6426d..e20416a6d 100644 --- a/packages/cubejs-bigquery-driver/CHANGELOG.md +++ b/packages/cubejs-bigquery-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.16](https://github.com/cube-js/cube/compare/v1.2.15...v1.2.16) (2025-03-04) + +**Note:** Version bump only for package @cubejs-backend/bigquery-driver + ## [1.2.15](https://github.com/cube-js/cube/compare/v1.2.14...v1.2.15) (2025-03-03) **Note:** Version bump only for package @cubejs-backend/bigquery-driver diff --git a/packages/cubejs-bigquery-driver/package.json b/packages/cubejs-bigquery-driver/package.json index 4c0ae2bb7..d0be9fadd 100644 --- a/packages/cubejs-bigquery-driver/package.json +++ b/packages/cubejs-bigquery-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/bigquery-driver", "description": "Cube.js BigQuery database driver", "author": "Cube Dev, Inc.", - "version": "1.2.15", + "version": "1.2.16", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -28,15 +28,15 @@ "main": "index.js", "types": "dist/src/index.d.ts", "dependencies": { - "@cubejs-backend/base-driver": "1.2.15", + "@cubejs-backend/base-driver": "1.2.16", "@cubejs-backend/dotenv": "^9.0.2", - "@cubejs-backend/shared": "1.2.15", + "@cubejs-backend/shared": "1.2.16", "@google-cloud/bigquery": "^7.7.0", "@google-cloud/storage": "^7.13.0", "ramda": "^0.27.2" }, "devDependencies": { - "@cubejs-backend/testing-shared": "1.2.15", + "@cubejs-backend/testing-shared": "1.2.16", "@types/big.js": "^6.2.2", "@types/dedent": "^0.7.0", "@types/jest": "^27", diff --git a/packages/cubejs-cli/CHANGELOG.md b/packages/cubejs-cli/CHANGELOG.md index dc9c5e560..ac78fe314 100644 --- a/packages/cubejs-cli/CHANGELOG.md +++ b/packages/cubejs-cli/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.16](https://github.com/cube-js/cube/compare/v1.2.15...v1.2.16) (2025-03-04) + +**Note:** Version bump only for package cubejs-cli + ## [1.2.15](https://github.com/cube-js/cube/compare/v1.2.14...v1.2.15) (2025-03-03) **Note:** Version bump only for package cubejs-cli diff --git a/packages/cubejs-cli/package.json b/packages/cubejs-cli/package.json index 111854196..45e51bfe6 100644 --- a/packages/cubejs-cli/package.json +++ b/packages/cubejs-cli/package.json @@ -2,7 +2,7 @@ "name": "cubejs-cli", "description": "Cube.js Command Line Interface", "author": "Cube Dev, Inc.", - "version": "1.2.15", + "version": "1.2.16", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -30,10 +30,10 @@ "LICENSE" ], "dependencies": { - "@cubejs-backend/cloud": "1.2.15", + "@cubejs-backend/cloud": "1.2.16", "@cubejs-backend/dotenv": "^9.0.2", - "@cubejs-backend/schema-compiler": "1.2.15", - "@cubejs-backend/shared": "1.2.15", + "@cubejs-backend/schema-compiler": "1.2.16", + "@cubejs-backend/shared": "1.2.16", "chalk": "^2.4.2", "cli-progress": "^3.10", "commander": "^2.19.0", @@ -50,8 +50,8 @@ "colors": "1.4.0" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.15", - "@cubejs-backend/server": "1.2.15", + "@cubejs-backend/linter": "1.2.16", + "@cubejs-backend/server": "1.2.16", "@oclif/command": "^1.8.0", "@types/cli-progress": "^3.8.0", "@types/cross-spawn": "^6.0.2", diff --git a/packages/cubejs-clickhouse-driver/CHANGELOG.md b/packages/cubejs-clickhouse-driver/CHANGELOG.md index 28eaabc87..f8a7ae76c 100644 --- a/packages/cubejs-clickhouse-driver/CHANGELOG.md +++ b/packages/cubejs-clickhouse-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.16](https://github.com/cube-js/cube/compare/v1.2.15...v1.2.16) (2025-03-04) + +**Note:** Version bump only for package @cubejs-backend/clickhouse-driver + ## [1.2.15](https://github.com/cube-js/cube/compare/v1.2.14...v1.2.15) (2025-03-03) **Note:** Version bump only for package @cubejs-backend/clickhouse-driver diff --git a/packages/cubejs-clickhouse-driver/package.json b/packages/cubejs-clickhouse-driver/package.json index 8d6a5bc36..273edc634 100644 --- a/packages/cubejs-clickhouse-driver/package.json +++ b/packages/cubejs-clickhouse-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/clickhouse-driver", "description": "Cube.js ClickHouse database driver", "author": "Cube Dev, Inc.", - "version": "1.2.15", + "version": "1.2.16", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -28,16 +28,16 @@ }, "dependencies": { "@clickhouse/client": "^1.7.0", - "@cubejs-backend/base-driver": "1.2.15", - "@cubejs-backend/shared": "1.2.15", + "@cubejs-backend/base-driver": "1.2.16", + "@cubejs-backend/shared": "1.2.16", "moment": "^2.24.0", "sqlstring": "^2.3.1", "uuid": "^8.3.2" }, "license": "Apache-2.0", "devDependencies": { - "@cubejs-backend/linter": "1.2.15", - "@cubejs-backend/testing-shared": "1.2.15", + "@cubejs-backend/linter": "1.2.16", + "@cubejs-backend/testing-shared": "1.2.16", "@types/jest": "^27", "jest": "^27", "typescript": "~5.2.2" diff --git a/packages/cubejs-client-core/CHANGELOG.md b/packages/cubejs-client-core/CHANGELOG.md index 589af23b2..7a53bb8ce 100644 --- a/packages/cubejs-client-core/CHANGELOG.md +++ b/packages/cubejs-client-core/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.16](https://github.com/cube-js/cube/compare/v1.2.15...v1.2.16) (2025-03-04) + +**Note:** Version bump only for package @cubejs-client/core + ## [1.2.15](https://github.com/cube-js/cube/compare/v1.2.14...v1.2.15) (2025-03-03) **Note:** Version bump only for package @cubejs-client/core diff --git a/packages/cubejs-client-core/package.json b/packages/cubejs-client-core/package.json index c0eac0dfa..f97fc4163 100644 --- a/packages/cubejs-client-core/package.json +++ b/packages/cubejs-client-core/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-client/core", - "version": "1.2.15", + "version": "1.2.16", "engines": {}, "repository": { "type": "git", diff --git a/packages/cubejs-client-dx/CHANGELOG.md b/packages/cubejs-client-dx/CHANGELOG.md index a81114f80..3280d13cf 100644 --- a/packages/cubejs-client-dx/CHANGELOG.md +++ b/packages/cubejs-client-dx/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.16](https://github.com/cube-js/cube/compare/v1.2.15...v1.2.16) (2025-03-04) + +**Note:** Version bump only for package @cubejs-client/dx + ## [1.2.15](https://github.com/cube-js/cube/compare/v1.2.14...v1.2.15) (2025-03-03) **Note:** Version bump only for package @cubejs-client/dx diff --git a/packages/cubejs-client-dx/package.json b/packages/cubejs-client-dx/package.json index 9c48eaab9..51bbd714e 100644 --- a/packages/cubejs-client-dx/package.json +++ b/packages/cubejs-client-dx/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-client/dx", - "version": "1.2.15", + "version": "1.2.16", "engines": {}, "repository": { "type": "git", diff --git a/packages/cubejs-client-ngx/CHANGELOG.md b/packages/cubejs-client-ngx/CHANGELOG.md index 45af2599a..5397e0e91 100644 --- a/packages/cubejs-client-ngx/CHANGELOG.md +++ b/packages/cubejs-client-ngx/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.16](https://github.com/cube-js/cube/compare/v1.2.15...v1.2.16) (2025-03-04) + +**Note:** Version bump only for package @cubejs-client/ngx + ## [1.2.15](https://github.com/cube-js/cube/compare/v1.2.14...v1.2.15) (2025-03-03) ### Bug Fixes diff --git a/packages/cubejs-client-ngx/package.json b/packages/cubejs-client-ngx/package.json index 29d583290..4ab6a011b 100644 --- a/packages/cubejs-client-ngx/package.json +++ b/packages/cubejs-client-ngx/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-client/ngx", - "version": "1.2.15", + "version": "1.2.16", "author": "Cube Dev, Inc.", "engines": {}, "repository": { diff --git a/packages/cubejs-client-react/CHANGELOG.md b/packages/cubejs-client-react/CHANGELOG.md index 511c2f68a..8182146e9 100644 --- a/packages/cubejs-client-react/CHANGELOG.md +++ b/packages/cubejs-client-react/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.16](https://github.com/cube-js/cube/compare/v1.2.15...v1.2.16) (2025-03-04) + +**Note:** Version bump only for package @cubejs-client/react + ## [1.2.15](https://github.com/cube-js/cube/compare/v1.2.14...v1.2.15) (2025-03-03) **Note:** Version bump only for package @cubejs-client/react diff --git a/packages/cubejs-client-react/package.json b/packages/cubejs-client-react/package.json index b9f88fedb..f03321d87 100644 --- a/packages/cubejs-client-react/package.json +++ b/packages/cubejs-client-react/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-client/react", - "version": "1.2.15", + "version": "1.2.16", "author": "Cube Dev, Inc.", "license": "MIT", "engines": {}, @@ -24,7 +24,7 @@ ], "dependencies": { "@babel/runtime": "^7.1.2", - "@cubejs-client/core": "1.2.15", + "@cubejs-client/core": "1.2.16", "core-js": "^3.6.5", "ramda": "^0.27.2" }, diff --git a/packages/cubejs-client-vue/CHANGELOG.md b/packages/cubejs-client-vue/CHANGELOG.md index f3fc3f15b..4c5f263a5 100644 --- a/packages/cubejs-client-vue/CHANGELOG.md +++ b/packages/cubejs-client-vue/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.16](https://github.com/cube-js/cube.js/compare/v1.2.15...v1.2.16) (2025-03-04) + +**Note:** Version bump only for package @cubejs-client/vue + ## [1.2.15](https://github.com/cube-js/cube.js/compare/v1.2.14...v1.2.15) (2025-03-03) **Note:** Version bump only for package @cubejs-client/vue diff --git a/packages/cubejs-client-vue/package.json b/packages/cubejs-client-vue/package.json index 7f1283ba8..b4e5a775a 100644 --- a/packages/cubejs-client-vue/package.json +++ b/packages/cubejs-client-vue/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-client/vue", - "version": "1.2.15", + "version": "1.2.16", "engines": {}, "repository": { "type": "git", @@ -28,7 +28,7 @@ "src" ], "dependencies": { - "@cubejs-client/core": "1.2.15", + "@cubejs-client/core": "1.2.16", "core-js": "^3.6.5", "ramda": "^0.27.2" }, diff --git a/packages/cubejs-client-vue3/CHANGELOG.md b/packages/cubejs-client-vue3/CHANGELOG.md index 33bfe74e5..971a1813e 100644 --- a/packages/cubejs-client-vue3/CHANGELOG.md +++ b/packages/cubejs-client-vue3/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.16](https://github.com/cube-js/cube.js/compare/v1.2.15...v1.2.16) (2025-03-04) + +**Note:** Version bump only for package @cubejs-client/vue3 + ## [1.2.15](https://github.com/cube-js/cube.js/compare/v1.2.14...v1.2.15) (2025-03-03) **Note:** Version bump only for package @cubejs-client/vue3 diff --git a/packages/cubejs-client-vue3/package.json b/packages/cubejs-client-vue3/package.json index f9559259d..ff9f8ad6f 100644 --- a/packages/cubejs-client-vue3/package.json +++ b/packages/cubejs-client-vue3/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-client/vue3", - "version": "1.2.15", + "version": "1.2.16", "engines": {}, "repository": { "type": "git", @@ -28,7 +28,7 @@ "src" ], "dependencies": { - "@cubejs-client/core": "1.2.15", + "@cubejs-client/core": "1.2.16", "@vue/compiler-sfc": "^3.0.11", "core-js": "^3.6.5", "flush-promises": "^1.0.2", diff --git a/packages/cubejs-client-ws-transport/CHANGELOG.md b/packages/cubejs-client-ws-transport/CHANGELOG.md index 41fec089a..ef6f33660 100644 --- a/packages/cubejs-client-ws-transport/CHANGELOG.md +++ b/packages/cubejs-client-ws-transport/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.16](https://github.com/cube-js/cube/compare/v1.2.15...v1.2.16) (2025-03-04) + +**Note:** Version bump only for package @cubejs-client/ws-transport + ## [1.2.15](https://github.com/cube-js/cube/compare/v1.2.14...v1.2.15) (2025-03-03) **Note:** Version bump only for package @cubejs-client/ws-transport diff --git a/packages/cubejs-client-ws-transport/package.json b/packages/cubejs-client-ws-transport/package.json index ab2702528..aa1609d9b 100644 --- a/packages/cubejs-client-ws-transport/package.json +++ b/packages/cubejs-client-ws-transport/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-client/ws-transport", - "version": "1.2.15", + "version": "1.2.16", "engines": {}, "repository": { "type": "git", @@ -20,7 +20,7 @@ }, "dependencies": { "@babel/runtime": "^7.1.2", - "@cubejs-client/core": "1.2.15", + "@cubejs-client/core": "1.2.16", "core-js": "^3.6.5", "isomorphic-ws": "^4.0.1", "ws": "^7.3.1" @@ -34,7 +34,7 @@ "@babel/core": "^7.3.3", "@babel/preset-env": "^7.3.1", "@babel/preset-typescript": "^7.12.1", - "@cubejs-backend/linter": "1.2.15", + "@cubejs-backend/linter": "1.2.16", "@types/ws": "^7.2.9", "babel-jest": "^27", "jest": "^27", diff --git a/packages/cubejs-crate-driver/CHANGELOG.md b/packages/cubejs-crate-driver/CHANGELOG.md index 21f494c0a..5823f0c7a 100644 --- a/packages/cubejs-crate-driver/CHANGELOG.md +++ b/packages/cubejs-crate-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.16](https://github.com/cube-js/cube/compare/v1.2.15...v1.2.16) (2025-03-04) + +**Note:** Version bump only for package @cubejs-backend/crate-driver + ## [1.2.15](https://github.com/cube-js/cube/compare/v1.2.14...v1.2.15) (2025-03-03) **Note:** Version bump only for package @cubejs-backend/crate-driver diff --git a/packages/cubejs-crate-driver/package.json b/packages/cubejs-crate-driver/package.json index a4e702c89..7092c592d 100644 --- a/packages/cubejs-crate-driver/package.json +++ b/packages/cubejs-crate-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/crate-driver", "description": "Cube.js Crate database driver", "author": "Cube Dev, Inc.", - "version": "1.2.15", + "version": "1.2.16", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -28,14 +28,14 @@ "lint:fix": "eslint --fix src/* --ext .ts" }, "dependencies": { - "@cubejs-backend/postgres-driver": "1.2.15", - "@cubejs-backend/shared": "1.2.15", + "@cubejs-backend/postgres-driver": "1.2.16", + "@cubejs-backend/shared": "1.2.16", "pg": "^8.7.1" }, "license": "Apache-2.0", "devDependencies": { - "@cubejs-backend/linter": "1.2.15", - "@cubejs-backend/testing-shared": "1.2.15", + "@cubejs-backend/linter": "1.2.16", + "@cubejs-backend/testing-shared": "1.2.16", "testcontainers": "^10.10.4", "typescript": "~5.2.2" }, diff --git a/packages/cubejs-cubestore-driver/CHANGELOG.md b/packages/cubejs-cubestore-driver/CHANGELOG.md index 1007a77d5..a36f28a90 100644 --- a/packages/cubejs-cubestore-driver/CHANGELOG.md +++ b/packages/cubejs-cubestore-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.16](https://github.com/cube-js/cube/compare/v1.2.15...v1.2.16) (2025-03-04) + +**Note:** Version bump only for package @cubejs-backend/cubestore-driver + ## [1.2.15](https://github.com/cube-js/cube/compare/v1.2.14...v1.2.15) (2025-03-03) **Note:** Version bump only for package @cubejs-backend/cubestore-driver diff --git a/packages/cubejs-cubestore-driver/package.json b/packages/cubejs-cubestore-driver/package.json index f24be86e4..406a97d79 100644 --- a/packages/cubejs-cubestore-driver/package.json +++ b/packages/cubejs-cubestore-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/cubestore-driver", "description": "Cube Store driver", "author": "Cube Dev, Inc.", - "version": "1.2.15", + "version": "1.2.16", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -26,10 +26,10 @@ "lint:fix": "eslint --fix src/*.ts" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.15", - "@cubejs-backend/cubestore": "1.2.15", - "@cubejs-backend/native": "1.2.15", - "@cubejs-backend/shared": "1.2.15", + "@cubejs-backend/base-driver": "1.2.16", + "@cubejs-backend/cubestore": "1.2.16", + "@cubejs-backend/native": "1.2.16", + "@cubejs-backend/shared": "1.2.16", "csv-write-stream": "^2.0.0", "flatbuffers": "23.3.3", "fs-extra": "^9.1.0", @@ -41,7 +41,7 @@ "ws": "^7.4.3" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.15", + "@cubejs-backend/linter": "1.2.16", "@types/csv-write-stream": "^2.0.0", "@types/generic-pool": "^3.1.9", "@types/node": "^18", diff --git a/packages/cubejs-databricks-jdbc-driver/CHANGELOG.md b/packages/cubejs-databricks-jdbc-driver/CHANGELOG.md index b637037dc..a29198341 100644 --- a/packages/cubejs-databricks-jdbc-driver/CHANGELOG.md +++ b/packages/cubejs-databricks-jdbc-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.16](https://github.com/cube-js/cube/compare/v1.2.15...v1.2.16) (2025-03-04) + +**Note:** Version bump only for package @cubejs-backend/databricks-jdbc-driver + ## [1.2.15](https://github.com/cube-js/cube/compare/v1.2.14...v1.2.15) (2025-03-03) **Note:** Version bump only for package @cubejs-backend/databricks-jdbc-driver diff --git a/packages/cubejs-databricks-jdbc-driver/package.json b/packages/cubejs-databricks-jdbc-driver/package.json index fe346a621..393f5edb2 100644 --- a/packages/cubejs-databricks-jdbc-driver/package.json +++ b/packages/cubejs-databricks-jdbc-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/databricks-jdbc-driver", "description": "Cube.js Databricks database driver", "author": "Cube Dev, Inc.", - "version": "1.2.15", + "version": "1.2.16", "license": "Apache-2.0", "repository": { "type": "git", @@ -30,17 +30,17 @@ "bin" ], "dependencies": { - "@cubejs-backend/base-driver": "1.2.15", - "@cubejs-backend/jdbc-driver": "1.2.15", - "@cubejs-backend/schema-compiler": "1.2.15", - "@cubejs-backend/shared": "1.2.15", + "@cubejs-backend/base-driver": "1.2.16", + "@cubejs-backend/jdbc-driver": "1.2.16", + "@cubejs-backend/schema-compiler": "1.2.16", + "@cubejs-backend/shared": "1.2.16", "node-fetch": "^2.6.1", "ramda": "^0.27.2", "source-map-support": "^0.5.19", "uuid": "^8.3.2" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.15", + "@cubejs-backend/linter": "1.2.16", "@types/generic-pool": "^3.1.9", "@types/jest": "^27", "@types/node": "^18", diff --git a/packages/cubejs-dbt-schema-extension/CHANGELOG.md b/packages/cubejs-dbt-schema-extension/CHANGELOG.md index 934b17469..006767b93 100644 --- a/packages/cubejs-dbt-schema-extension/CHANGELOG.md +++ b/packages/cubejs-dbt-schema-extension/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.16](https://github.com/cube-js/cube/compare/v1.2.15...v1.2.16) (2025-03-04) + +**Note:** Version bump only for package @cubejs-backend/dbt-schema-extension + ## [1.2.15](https://github.com/cube-js/cube/compare/v1.2.14...v1.2.15) (2025-03-03) **Note:** Version bump only for package @cubejs-backend/dbt-schema-extension diff --git a/packages/cubejs-dbt-schema-extension/package.json b/packages/cubejs-dbt-schema-extension/package.json index 994f8c91f..9dd20a375 100644 --- a/packages/cubejs-dbt-schema-extension/package.json +++ b/packages/cubejs-dbt-schema-extension/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/dbt-schema-extension", "description": "Cube.js dbt Schema Extension", "author": "Cube Dev, Inc.", - "version": "1.2.15", + "version": "1.2.16", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -25,14 +25,14 @@ "lint:fix": "eslint --fix src/* --ext .ts,.js" }, "dependencies": { - "@cubejs-backend/schema-compiler": "1.2.15", + "@cubejs-backend/schema-compiler": "1.2.16", "fs-extra": "^9.1.0", "inflection": "^1.12.0", "node-fetch": "^2.6.1" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.15", - "@cubejs-backend/testing": "1.2.15", + "@cubejs-backend/linter": "1.2.16", + "@cubejs-backend/testing": "1.2.16", "@types/generic-pool": "^3.1.9", "@types/jest": "^27", "jest": "^27", diff --git a/packages/cubejs-docker/CHANGELOG.md b/packages/cubejs-docker/CHANGELOG.md index fc1f9348c..40a99daf0 100644 --- a/packages/cubejs-docker/CHANGELOG.md +++ b/packages/cubejs-docker/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.16](https://github.com/cube-js/cube/compare/v1.2.15...v1.2.16) (2025-03-04) + +**Note:** Version bump only for package @cubejs-backend/docker + ## [1.2.15](https://github.com/cube-js/cube/compare/v1.2.14...v1.2.15) (2025-03-03) **Note:** Version bump only for package @cubejs-backend/docker diff --git a/packages/cubejs-docker/package.json b/packages/cubejs-docker/package.json index de8217cbd..de2030a2f 100644 --- a/packages/cubejs-docker/package.json +++ b/packages/cubejs-docker/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-backend/docker", - "version": "1.2.15", + "version": "1.2.16", "description": "Cube.js In Docker (virtual package)", "author": "Cube Dev, Inc.", "license": "Apache-2.0", @@ -9,35 +9,35 @@ "node": "^14.0.0 || ^16.0.0 || >=17.0.0" }, "dependencies": { - "@cubejs-backend/athena-driver": "1.2.15", - "@cubejs-backend/bigquery-driver": "1.2.15", - "@cubejs-backend/clickhouse-driver": "1.2.15", - "@cubejs-backend/crate-driver": "1.2.15", - "@cubejs-backend/databricks-jdbc-driver": "1.2.15", - "@cubejs-backend/dbt-schema-extension": "1.2.15", - "@cubejs-backend/dremio-driver": "1.2.15", - "@cubejs-backend/druid-driver": "1.2.15", - "@cubejs-backend/duckdb-driver": "1.2.15", - "@cubejs-backend/elasticsearch-driver": "1.2.15", - "@cubejs-backend/firebolt-driver": "1.2.15", - "@cubejs-backend/hive-driver": "1.2.15", - "@cubejs-backend/ksql-driver": "1.2.15", - "@cubejs-backend/materialize-driver": "1.2.15", - "@cubejs-backend/mongobi-driver": "1.2.15", - "@cubejs-backend/mssql-driver": "1.2.15", - "@cubejs-backend/mysql-driver": "1.2.15", - "@cubejs-backend/oracle-driver": "1.2.15", - "@cubejs-backend/pinot-driver": "1.2.15", - "@cubejs-backend/postgres-driver": "1.2.15", - "@cubejs-backend/prestodb-driver": "1.2.15", - "@cubejs-backend/questdb-driver": "1.2.15", - "@cubejs-backend/redshift-driver": "1.2.15", - "@cubejs-backend/server": "1.2.15", - "@cubejs-backend/snowflake-driver": "1.2.15", - "@cubejs-backend/sqlite-driver": "1.2.15", - "@cubejs-backend/trino-driver": "1.2.15", - "@cubejs-backend/vertica-driver": "1.2.15", - "cubejs-cli": "1.2.15", + "@cubejs-backend/athena-driver": "1.2.16", + "@cubejs-backend/bigquery-driver": "1.2.16", + "@cubejs-backend/clickhouse-driver": "1.2.16", + "@cubejs-backend/crate-driver": "1.2.16", + "@cubejs-backend/databricks-jdbc-driver": "1.2.16", + "@cubejs-backend/dbt-schema-extension": "1.2.16", + "@cubejs-backend/dremio-driver": "1.2.16", + "@cubejs-backend/druid-driver": "1.2.16", + "@cubejs-backend/duckdb-driver": "1.2.16", + "@cubejs-backend/elasticsearch-driver": "1.2.16", + "@cubejs-backend/firebolt-driver": "1.2.16", + "@cubejs-backend/hive-driver": "1.2.16", + "@cubejs-backend/ksql-driver": "1.2.16", + "@cubejs-backend/materialize-driver": "1.2.16", + "@cubejs-backend/mongobi-driver": "1.2.16", + "@cubejs-backend/mssql-driver": "1.2.16", + "@cubejs-backend/mysql-driver": "1.2.16", + "@cubejs-backend/oracle-driver": "1.2.16", + "@cubejs-backend/pinot-driver": "1.2.16", + "@cubejs-backend/postgres-driver": "1.2.16", + "@cubejs-backend/prestodb-driver": "1.2.16", + "@cubejs-backend/questdb-driver": "1.2.16", + "@cubejs-backend/redshift-driver": "1.2.16", + "@cubejs-backend/server": "1.2.16", + "@cubejs-backend/snowflake-driver": "1.2.16", + "@cubejs-backend/sqlite-driver": "1.2.16", + "@cubejs-backend/trino-driver": "1.2.16", + "@cubejs-backend/vertica-driver": "1.2.16", + "cubejs-cli": "1.2.16", "typescript": "~5.2.2" }, "resolutions": { diff --git a/packages/cubejs-dremio-driver/CHANGELOG.md b/packages/cubejs-dremio-driver/CHANGELOG.md index 8a17d7fcb..b5f253f6f 100644 --- a/packages/cubejs-dremio-driver/CHANGELOG.md +++ b/packages/cubejs-dremio-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.16](https://github.com/cube-js/cube/compare/v1.2.15...v1.2.16) (2025-03-04) + +**Note:** Version bump only for package @cubejs-backend/dremio-driver + ## [1.2.15](https://github.com/cube-js/cube/compare/v1.2.14...v1.2.15) (2025-03-03) **Note:** Version bump only for package @cubejs-backend/dremio-driver diff --git a/packages/cubejs-dremio-driver/package.json b/packages/cubejs-dremio-driver/package.json index 7a118943e..96428f61c 100644 --- a/packages/cubejs-dremio-driver/package.json +++ b/packages/cubejs-dremio-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/dremio-driver", "description": "Cube.js Dremio driver", "author": "Cube Dev, Inc.", - "version": "1.2.15", + "version": "1.2.16", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -22,15 +22,15 @@ "lint:fix": "eslint driver/*.js" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.15", - "@cubejs-backend/schema-compiler": "1.2.15", - "@cubejs-backend/shared": "1.2.15", + "@cubejs-backend/base-driver": "1.2.16", + "@cubejs-backend/schema-compiler": "1.2.16", + "@cubejs-backend/shared": "1.2.16", "axios": "^0.28.0", "sqlstring": "^2.3.1" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.15", - "@cubejs-backend/testing-shared": "1.2.15", + "@cubejs-backend/linter": "1.2.16", + "@cubejs-backend/testing-shared": "1.2.16", "jest": "^27" }, "license": "Apache-2.0", diff --git a/packages/cubejs-druid-driver/CHANGELOG.md b/packages/cubejs-druid-driver/CHANGELOG.md index 30b229af9..4849c8585 100644 --- a/packages/cubejs-druid-driver/CHANGELOG.md +++ b/packages/cubejs-druid-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.16](https://github.com/cube-js/cube/compare/v1.2.15...v1.2.16) (2025-03-04) + +**Note:** Version bump only for package @cubejs-backend/druid-driver + ## [1.2.15](https://github.com/cube-js/cube/compare/v1.2.14...v1.2.15) (2025-03-03) **Note:** Version bump only for package @cubejs-backend/druid-driver diff --git a/packages/cubejs-druid-driver/package.json b/packages/cubejs-druid-driver/package.json index 0e03b1c8c..b32923834 100644 --- a/packages/cubejs-druid-driver/package.json +++ b/packages/cubejs-druid-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/druid-driver", "description": "Cube.js Druid database driver", "author": "Cube Dev, Inc.", - "version": "1.2.15", + "version": "1.2.16", "license": "Apache-2.0", "repository": { "type": "git", @@ -28,13 +28,13 @@ "dist/src/*" ], "dependencies": { - "@cubejs-backend/base-driver": "1.2.15", - "@cubejs-backend/schema-compiler": "1.2.15", - "@cubejs-backend/shared": "1.2.15", + "@cubejs-backend/base-driver": "1.2.16", + "@cubejs-backend/schema-compiler": "1.2.16", + "@cubejs-backend/shared": "1.2.16", "axios": "^0.28.0" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.15", + "@cubejs-backend/linter": "1.2.16", "@types/generic-pool": "^3.1.9", "@types/jest": "^27", "@types/node": "^18", diff --git a/packages/cubejs-duckdb-driver/CHANGELOG.md b/packages/cubejs-duckdb-driver/CHANGELOG.md index 6108e5b87..20aaa2e40 100644 --- a/packages/cubejs-duckdb-driver/CHANGELOG.md +++ b/packages/cubejs-duckdb-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.16](https://github.com/cube-js/cube/compare/v1.2.15...v1.2.16) (2025-03-04) + +**Note:** Version bump only for package @cubejs-backend/duckdb-driver + ## [1.2.15](https://github.com/cube-js/cube/compare/v1.2.14...v1.2.15) (2025-03-03) **Note:** Version bump only for package @cubejs-backend/duckdb-driver diff --git a/packages/cubejs-duckdb-driver/package.json b/packages/cubejs-duckdb-driver/package.json index 0c5b4d58c..3f5f39d47 100644 --- a/packages/cubejs-duckdb-driver/package.json +++ b/packages/cubejs-duckdb-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/duckdb-driver", "description": "Cube DuckDB database driver", "author": "Cube Dev, Inc.", - "version": "1.2.15", + "version": "1.2.16", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -27,15 +27,15 @@ "lint:fix": "eslint --fix src/* --ext .ts" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.15", - "@cubejs-backend/schema-compiler": "1.2.15", - "@cubejs-backend/shared": "1.2.15", + "@cubejs-backend/base-driver": "1.2.16", + "@cubejs-backend/schema-compiler": "1.2.16", + "@cubejs-backend/shared": "1.2.16", "duckdb": "^1.1.3" }, "license": "Apache-2.0", "devDependencies": { - "@cubejs-backend/linter": "1.2.15", - "@cubejs-backend/testing-shared": "1.2.15", + "@cubejs-backend/linter": "1.2.16", + "@cubejs-backend/testing-shared": "1.2.16", "@types/jest": "^27", "@types/node": "^18", "jest": "^27", diff --git a/packages/cubejs-elasticsearch-driver/CHANGELOG.md b/packages/cubejs-elasticsearch-driver/CHANGELOG.md index 94fc6b185..ca309d9ea 100644 --- a/packages/cubejs-elasticsearch-driver/CHANGELOG.md +++ b/packages/cubejs-elasticsearch-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.16](https://github.com/cube-js/cube/compare/v1.2.15...v1.2.16) (2025-03-04) + +**Note:** Version bump only for package @cubejs-backend/elasticsearch-driver + ## [1.2.15](https://github.com/cube-js/cube/compare/v1.2.14...v1.2.15) (2025-03-03) **Note:** Version bump only for package @cubejs-backend/elasticsearch-driver diff --git a/packages/cubejs-elasticsearch-driver/package.json b/packages/cubejs-elasticsearch-driver/package.json index d2e182bba..fd2f862d6 100644 --- a/packages/cubejs-elasticsearch-driver/package.json +++ b/packages/cubejs-elasticsearch-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/elasticsearch-driver", "description": "Cube.js elasticsearch database driver", "author": "Cube Dev, Inc.", - "version": "1.2.15", + "version": "1.2.16", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -23,14 +23,14 @@ "driver" ], "dependencies": { - "@cubejs-backend/base-driver": "1.2.15", - "@cubejs-backend/shared": "1.2.15", + "@cubejs-backend/base-driver": "1.2.16", + "@cubejs-backend/shared": "1.2.16", "@elastic/elasticsearch": "7.12.0", "sqlstring": "^2.3.1" }, "license": "Apache-2.0", "devDependencies": { - "@cubejs-backend/linter": "1.2.15", + "@cubejs-backend/linter": "1.2.16", "@types/jest": "^27", "jest": "^27", "testcontainers": "^10.10.4" diff --git a/packages/cubejs-firebolt-driver/CHANGELOG.md b/packages/cubejs-firebolt-driver/CHANGELOG.md index 74dbd6298..37f822add 100644 --- a/packages/cubejs-firebolt-driver/CHANGELOG.md +++ b/packages/cubejs-firebolt-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.16](https://github.com/cube-js/cube/compare/v1.2.15...v1.2.16) (2025-03-04) + +**Note:** Version bump only for package @cubejs-backend/firebolt-driver + ## [1.2.15](https://github.com/cube-js/cube/compare/v1.2.14...v1.2.15) (2025-03-03) **Note:** Version bump only for package @cubejs-backend/firebolt-driver diff --git a/packages/cubejs-firebolt-driver/package.json b/packages/cubejs-firebolt-driver/package.json index a71724ce2..39e5f0743 100644 --- a/packages/cubejs-firebolt-driver/package.json +++ b/packages/cubejs-firebolt-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/firebolt-driver", "description": "Cube.js Firebolt database driver", "author": "Cube Dev, Inc.", - "version": "1.2.15", + "version": "1.2.16", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -28,15 +28,15 @@ "lint:fix": "eslint --fix src/* --ext .ts" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.15", - "@cubejs-backend/schema-compiler": "1.2.15", - "@cubejs-backend/shared": "1.2.15", + "@cubejs-backend/base-driver": "1.2.16", + "@cubejs-backend/schema-compiler": "1.2.16", + "@cubejs-backend/shared": "1.2.16", "firebolt-sdk": "1.10.0" }, "license": "Apache-2.0", "devDependencies": { - "@cubejs-backend/linter": "1.2.15", - "@cubejs-backend/testing-shared": "1.2.15", + "@cubejs-backend/linter": "1.2.16", + "@cubejs-backend/testing-shared": "1.2.16", "typescript": "~5.2.2" }, "publishConfig": { diff --git a/packages/cubejs-hive-driver/CHANGELOG.md b/packages/cubejs-hive-driver/CHANGELOG.md index 7a514b549..4f4aa4191 100644 --- a/packages/cubejs-hive-driver/CHANGELOG.md +++ b/packages/cubejs-hive-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.16](https://github.com/cube-js/cube/compare/v1.2.15...v1.2.16) (2025-03-04) + +**Note:** Version bump only for package @cubejs-backend/hive-driver + ## [1.2.15](https://github.com/cube-js/cube/compare/v1.2.14...v1.2.15) (2025-03-03) **Note:** Version bump only for package @cubejs-backend/hive-driver diff --git a/packages/cubejs-hive-driver/package.json b/packages/cubejs-hive-driver/package.json index 23ef01fde..a82122e9f 100644 --- a/packages/cubejs-hive-driver/package.json +++ b/packages/cubejs-hive-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/hive-driver", "description": "Cube.js Hive database driver", "author": "Cube Dev, Inc.", - "version": "1.2.15", + "version": "1.2.16", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -17,8 +17,8 @@ "lint:fix": "eslint --fix src/* --ext .ts" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.15", - "@cubejs-backend/shared": "1.2.15", + "@cubejs-backend/base-driver": "1.2.16", + "@cubejs-backend/shared": "1.2.16", "generic-pool": "^3.6.0", "jshs2": "^0.4.4", "sasl-plain": "^0.1.0", @@ -28,7 +28,7 @@ }, "license": "Apache-2.0", "devDependencies": { - "@cubejs-backend/linter": "1.2.15" + "@cubejs-backend/linter": "1.2.16" }, "publishConfig": { "access": "public" diff --git a/packages/cubejs-jdbc-driver/CHANGELOG.md b/packages/cubejs-jdbc-driver/CHANGELOG.md index c58f9bc3a..df27eeb67 100644 --- a/packages/cubejs-jdbc-driver/CHANGELOG.md +++ b/packages/cubejs-jdbc-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.16](https://github.com/cube-js/cube/compare/v1.2.15...v1.2.16) (2025-03-04) + +**Note:** Version bump only for package @cubejs-backend/jdbc-driver + ## [1.2.15](https://github.com/cube-js/cube/compare/v1.2.14...v1.2.15) (2025-03-03) **Note:** Version bump only for package @cubejs-backend/jdbc-driver diff --git a/packages/cubejs-jdbc-driver/package.json b/packages/cubejs-jdbc-driver/package.json index a1dd782b8..260c8a488 100644 --- a/packages/cubejs-jdbc-driver/package.json +++ b/packages/cubejs-jdbc-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/jdbc-driver", "description": "Cube.js JDBC database driver", "author": "Cube Dev, Inc.", - "version": "1.2.15", + "version": "1.2.16", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -25,8 +25,8 @@ "index.js" ], "dependencies": { - "@cubejs-backend/base-driver": "1.2.15", - "@cubejs-backend/shared": "1.2.15", + "@cubejs-backend/base-driver": "1.2.16", + "@cubejs-backend/shared": "1.2.16", "generic-pool": "^3.1.7", "node-java-maven": "^0.1.2", "sqlstring": "^2.3.0" @@ -43,7 +43,7 @@ "testEnvironment": "node" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.15", + "@cubejs-backend/linter": "1.2.16", "@types/generic-pool": "^3.1.9", "@types/node": "^18", "@types/sqlstring": "^2.3.0", diff --git a/packages/cubejs-ksql-driver/CHANGELOG.md b/packages/cubejs-ksql-driver/CHANGELOG.md index c1921ada5..9392513da 100644 --- a/packages/cubejs-ksql-driver/CHANGELOG.md +++ b/packages/cubejs-ksql-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.16](https://github.com/cube-js/cube/compare/v1.2.15...v1.2.16) (2025-03-04) + +**Note:** Version bump only for package @cubejs-backend/ksql-driver + ## [1.2.15](https://github.com/cube-js/cube/compare/v1.2.14...v1.2.15) (2025-03-03) **Note:** Version bump only for package @cubejs-backend/ksql-driver diff --git a/packages/cubejs-ksql-driver/package.json b/packages/cubejs-ksql-driver/package.json index dbbe5c231..54f3342c3 100644 --- a/packages/cubejs-ksql-driver/package.json +++ b/packages/cubejs-ksql-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/ksql-driver", "description": "Cube.js ksql database driver", "author": "Cube Dev, Inc.", - "version": "1.2.15", + "version": "1.2.16", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -25,9 +25,9 @@ "lint:fix": "eslint --fix src/* --ext .ts" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.15", - "@cubejs-backend/schema-compiler": "1.2.15", - "@cubejs-backend/shared": "1.2.15", + "@cubejs-backend/base-driver": "1.2.16", + "@cubejs-backend/schema-compiler": "1.2.16", + "@cubejs-backend/shared": "1.2.16", "async-mutex": "0.3.2", "axios": "^0.28.0", "kafkajs": "^2.2.3", @@ -44,7 +44,7 @@ "testEnvironment": "node" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.15", + "@cubejs-backend/linter": "1.2.16", "typescript": "~5.2.2" } } diff --git a/packages/cubejs-linter/CHANGELOG.md b/packages/cubejs-linter/CHANGELOG.md index 2c9bdda6f..342c403a3 100644 --- a/packages/cubejs-linter/CHANGELOG.md +++ b/packages/cubejs-linter/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.16](https://github.com/cube-js/cube/compare/v1.2.15...v1.2.16) (2025-03-04) + +**Note:** Version bump only for package @cubejs-backend/linter + ## [1.2.15](https://github.com/cube-js/cube/compare/v1.2.14...v1.2.15) (2025-03-03) **Note:** Version bump only for package @cubejs-backend/linter diff --git a/packages/cubejs-linter/package.json b/packages/cubejs-linter/package.json index 6e376767e..ba0577069 100644 --- a/packages/cubejs-linter/package.json +++ b/packages/cubejs-linter/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/linter", "description": "Cube.js ESLint (virtual package) for linting code", "author": "Cube Dev, Inc.", - "version": "1.2.15", + "version": "1.2.16", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", diff --git a/packages/cubejs-materialize-driver/CHANGELOG.md b/packages/cubejs-materialize-driver/CHANGELOG.md index 9683ca069..14a3c6157 100644 --- a/packages/cubejs-materialize-driver/CHANGELOG.md +++ b/packages/cubejs-materialize-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.16](https://github.com/cube-js/cube/compare/v1.2.15...v1.2.16) (2025-03-04) + +**Note:** Version bump only for package @cubejs-backend/materialize-driver + ## [1.2.15](https://github.com/cube-js/cube/compare/v1.2.14...v1.2.15) (2025-03-03) **Note:** Version bump only for package @cubejs-backend/materialize-driver diff --git a/packages/cubejs-materialize-driver/package.json b/packages/cubejs-materialize-driver/package.json index 7f60d0643..8f600f282 100644 --- a/packages/cubejs-materialize-driver/package.json +++ b/packages/cubejs-materialize-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/materialize-driver", "description": "Cube.js Materialize database driver", "author": "Cube Dev, Inc.", - "version": "1.2.15", + "version": "1.2.16", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -27,17 +27,17 @@ "lint:fix": "eslint --fix src/* --ext .ts" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.15", - "@cubejs-backend/postgres-driver": "1.2.15", - "@cubejs-backend/shared": "1.2.15", + "@cubejs-backend/base-driver": "1.2.16", + "@cubejs-backend/postgres-driver": "1.2.16", + "@cubejs-backend/shared": "1.2.16", "@types/pg": "^8.6.0", "pg": "^8.6.0", "semver": "^7.6.3" }, "license": "Apache-2.0", "devDependencies": { - "@cubejs-backend/linter": "1.2.15", - "@cubejs-backend/testing": "1.2.15", + "@cubejs-backend/linter": "1.2.16", + "@cubejs-backend/testing": "1.2.16", "typescript": "~5.2.2" }, "publishConfig": { diff --git a/packages/cubejs-mongobi-driver/CHANGELOG.md b/packages/cubejs-mongobi-driver/CHANGELOG.md index b88633995..6ebc05184 100644 --- a/packages/cubejs-mongobi-driver/CHANGELOG.md +++ b/packages/cubejs-mongobi-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.16](https://github.com/cube-js/cube/compare/v1.2.15...v1.2.16) (2025-03-04) + +**Note:** Version bump only for package @cubejs-backend/mongobi-driver + ## [1.2.15](https://github.com/cube-js/cube/compare/v1.2.14...v1.2.15) (2025-03-03) **Note:** Version bump only for package @cubejs-backend/mongobi-driver diff --git a/packages/cubejs-mongobi-driver/package.json b/packages/cubejs-mongobi-driver/package.json index cb466993e..2ed3ab74c 100644 --- a/packages/cubejs-mongobi-driver/package.json +++ b/packages/cubejs-mongobi-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/mongobi-driver", "description": "Cube.js MongoBI driver", "author": "krunalsabnis@gmail.com", - "version": "1.2.15", + "version": "1.2.16", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -27,8 +27,8 @@ "integration:mongobi": "jest dist/test" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.15", - "@cubejs-backend/shared": "1.2.15", + "@cubejs-backend/base-driver": "1.2.16", + "@cubejs-backend/shared": "1.2.16", "@types/node": "^18", "generic-pool": "^3.8.2", "moment": "^2.29.1", @@ -39,7 +39,7 @@ "access": "public" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.15", + "@cubejs-backend/linter": "1.2.16", "@types/generic-pool": "^3.1.9", "testcontainers": "^10.10.4", "typescript": "~5.2.2" diff --git a/packages/cubejs-mssql-driver/CHANGELOG.md b/packages/cubejs-mssql-driver/CHANGELOG.md index 7ebeaeaa5..9e736d677 100644 --- a/packages/cubejs-mssql-driver/CHANGELOG.md +++ b/packages/cubejs-mssql-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.16](https://github.com/cube-js/cube/compare/v1.2.15...v1.2.16) (2025-03-04) + +**Note:** Version bump only for package @cubejs-backend/mssql-driver + ## [1.2.15](https://github.com/cube-js/cube/compare/v1.2.14...v1.2.15) (2025-03-03) **Note:** Version bump only for package @cubejs-backend/mssql-driver diff --git a/packages/cubejs-mssql-driver/package.json b/packages/cubejs-mssql-driver/package.json index 2773edca6..01da26743 100644 --- a/packages/cubejs-mssql-driver/package.json +++ b/packages/cubejs-mssql-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/mssql-driver", "description": "Cube.js MS SQL database driver", "author": "Cube Dev, Inc.", - "version": "1.2.15", + "version": "1.2.16", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -13,7 +13,7 @@ }, "main": "driver/MSSqlDriver.js", "dependencies": { - "@cubejs-backend/base-driver": "1.2.15", + "@cubejs-backend/base-driver": "1.2.16", "mssql": "^10.0.2" }, "devDependencies": { diff --git a/packages/cubejs-mysql-aurora-serverless-driver/CHANGELOG.md b/packages/cubejs-mysql-aurora-serverless-driver/CHANGELOG.md index e80e19c1d..e53dd18e1 100644 --- a/packages/cubejs-mysql-aurora-serverless-driver/CHANGELOG.md +++ b/packages/cubejs-mysql-aurora-serverless-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.16](https://github.com/cube-js/cube/compare/v1.2.15...v1.2.16) (2025-03-04) + +**Note:** Version bump only for package @cubejs-backend/mysql-aurora-serverless-driver + ## [1.2.15](https://github.com/cube-js/cube/compare/v1.2.14...v1.2.15) (2025-03-03) **Note:** Version bump only for package @cubejs-backend/mysql-aurora-serverless-driver diff --git a/packages/cubejs-mysql-aurora-serverless-driver/package.json b/packages/cubejs-mysql-aurora-serverless-driver/package.json index e624e2fa4..b95b98140 100644 --- a/packages/cubejs-mysql-aurora-serverless-driver/package.json +++ b/packages/cubejs-mysql-aurora-serverless-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/mysql-aurora-serverless-driver", "description": "Cube.js Aurora Serverless Mysql database driver", "author": "Cube Dev, Inc.", - "version": "1.2.15", + "version": "1.2.16", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -21,14 +21,14 @@ "lint": "eslint driver/*.js test/*.js" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.15", - "@cubejs-backend/shared": "1.2.15", + "@cubejs-backend/base-driver": "1.2.16", + "@cubejs-backend/shared": "1.2.16", "@types/mysql": "^2.15.15", "aws-sdk": "^2.787.0", "data-api-client": "^1.1.0" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.15", + "@cubejs-backend/linter": "1.2.16", "@types/data-api-client": "^1.2.1", "jest": "^27", "testcontainers": "^10.10.4" diff --git a/packages/cubejs-mysql-driver/CHANGELOG.md b/packages/cubejs-mysql-driver/CHANGELOG.md index 4a82cc67e..071473d39 100644 --- a/packages/cubejs-mysql-driver/CHANGELOG.md +++ b/packages/cubejs-mysql-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.16](https://github.com/cube-js/cube/compare/v1.2.15...v1.2.16) (2025-03-04) + +**Note:** Version bump only for package @cubejs-backend/mysql-driver + ## [1.2.15](https://github.com/cube-js/cube/compare/v1.2.14...v1.2.15) (2025-03-03) **Note:** Version bump only for package @cubejs-backend/mysql-driver diff --git a/packages/cubejs-mysql-driver/package.json b/packages/cubejs-mysql-driver/package.json index 948fb8e9f..0d080a5fd 100644 --- a/packages/cubejs-mysql-driver/package.json +++ b/packages/cubejs-mysql-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/mysql-driver", "description": "Cube.js Mysql database driver", "author": "Cube Dev, Inc.", - "version": "1.2.15", + "version": "1.2.16", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -27,15 +27,15 @@ "lint:fix": "eslint --fix src/* test/* --ext .ts,.js" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.15", - "@cubejs-backend/shared": "1.2.15", + "@cubejs-backend/base-driver": "1.2.16", + "@cubejs-backend/shared": "1.2.16", "@types/mysql": "^2.15.21", "generic-pool": "^3.6.0", "mysql": "^2.18.1" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.15", - "@cubejs-backend/testing-shared": "1.2.15", + "@cubejs-backend/linter": "1.2.16", + "@cubejs-backend/testing-shared": "1.2.16", "@types/generic-pool": "^3.1.9", "@types/jest": "^27", "jest": "^27", diff --git a/packages/cubejs-oracle-driver/CHANGELOG.md b/packages/cubejs-oracle-driver/CHANGELOG.md index 8be222a96..5c5d5e61f 100644 --- a/packages/cubejs-oracle-driver/CHANGELOG.md +++ b/packages/cubejs-oracle-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.16](https://github.com/cube-js/cube/compare/v1.2.15...v1.2.16) (2025-03-04) + +**Note:** Version bump only for package @cubejs-backend/oracle-driver + ## [1.2.15](https://github.com/cube-js/cube/compare/v1.2.14...v1.2.15) (2025-03-03) **Note:** Version bump only for package @cubejs-backend/oracle-driver diff --git a/packages/cubejs-oracle-driver/package.json b/packages/cubejs-oracle-driver/package.json index b45d3c01c..8116a4822 100644 --- a/packages/cubejs-oracle-driver/package.json +++ b/packages/cubejs-oracle-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/oracle-driver", "description": "Cube.js oracle database driver", "author": "Cube Dev, Inc.", - "version": "1.2.15", + "version": "1.2.16", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -13,7 +13,7 @@ }, "main": "driver/OracleDriver.js", "dependencies": { - "@cubejs-backend/base-driver": "1.2.15", + "@cubejs-backend/base-driver": "1.2.16", "ramda": "^0.27.0" }, "optionalDependencies": { diff --git a/packages/cubejs-pinot-driver/CHANGELOG.md b/packages/cubejs-pinot-driver/CHANGELOG.md index 9b214a87f..039b09f96 100644 --- a/packages/cubejs-pinot-driver/CHANGELOG.md +++ b/packages/cubejs-pinot-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.16](https://github.com/cube-js/cube/compare/v1.2.15...v1.2.16) (2025-03-04) + +**Note:** Version bump only for package @cubejs-backend/pinot-driver + ## [1.2.15](https://github.com/cube-js/cube/compare/v1.2.14...v1.2.15) (2025-03-03) **Note:** Version bump only for package @cubejs-backend/pinot-driver diff --git a/packages/cubejs-pinot-driver/package.json b/packages/cubejs-pinot-driver/package.json index 3008279c8..53d5f6b13 100644 --- a/packages/cubejs-pinot-driver/package.json +++ b/packages/cubejs-pinot-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/pinot-driver", "description": "Cube.js Pinot database driver", "author": "Julian Ronsse, InTheMemory, Cube Dev, Inc.", - "version": "1.2.15", + "version": "1.2.16", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -27,9 +27,9 @@ "lint:fix": "eslint --fix src/* --ext .ts" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.15", - "@cubejs-backend/schema-compiler": "1.2.15", - "@cubejs-backend/shared": "1.2.15", + "@cubejs-backend/base-driver": "1.2.16", + "@cubejs-backend/schema-compiler": "1.2.16", + "@cubejs-backend/shared": "1.2.16", "node-fetch": "^2.6.1", "ramda": "^0.27.2", "sqlstring": "^2.3.3" @@ -39,7 +39,7 @@ "access": "public" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.15", + "@cubejs-backend/linter": "1.2.16", "@types/jest": "^27", "jest": "^27", "should": "^13.2.3", diff --git a/packages/cubejs-playground/CHANGELOG.md b/packages/cubejs-playground/CHANGELOG.md index 28dabe9da..f171dbcfe 100644 --- a/packages/cubejs-playground/CHANGELOG.md +++ b/packages/cubejs-playground/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.16](https://github.com/cube-js/cube/compare/v1.2.15...v1.2.16) (2025-03-04) + +**Note:** Version bump only for package @cubejs-client/playground + ## [1.2.15](https://github.com/cube-js/cube/compare/v1.2.14...v1.2.15) (2025-03-03) **Note:** Version bump only for package @cubejs-client/playground diff --git a/packages/cubejs-playground/package.json b/packages/cubejs-playground/package.json index 6ba00186a..451b20a51 100644 --- a/packages/cubejs-playground/package.json +++ b/packages/cubejs-playground/package.json @@ -1,7 +1,7 @@ { "name": "@cubejs-client/playground", "author": "Cube Dev, Inc.", - "version": "1.2.15", + "version": "1.2.16", "engines": {}, "repository": { "type": "git", @@ -68,8 +68,8 @@ "@ant-design/compatible": "^1.0.1", "@ant-design/icons": "^5.3.5", "@cube-dev/ui-kit": "0.52.3", - "@cubejs-client/core": "1.2.15", - "@cubejs-client/react": "1.2.15", + "@cubejs-client/core": "1.2.16", + "@cubejs-client/react": "1.2.16", "@types/flexsearch": "^0.7.3", "@types/node": "^18", "@types/react": "^18.3.4", diff --git a/packages/cubejs-postgres-driver/CHANGELOG.md b/packages/cubejs-postgres-driver/CHANGELOG.md index e3c3e35b4..c4cccd7cc 100644 --- a/packages/cubejs-postgres-driver/CHANGELOG.md +++ b/packages/cubejs-postgres-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.16](https://github.com/cube-js/cube/compare/v1.2.15...v1.2.16) (2025-03-04) + +**Note:** Version bump only for package @cubejs-backend/postgres-driver + ## [1.2.15](https://github.com/cube-js/cube/compare/v1.2.14...v1.2.15) (2025-03-03) **Note:** Version bump only for package @cubejs-backend/postgres-driver diff --git a/packages/cubejs-postgres-driver/package.json b/packages/cubejs-postgres-driver/package.json index 65b2efca4..92dc6a888 100644 --- a/packages/cubejs-postgres-driver/package.json +++ b/packages/cubejs-postgres-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/postgres-driver", "description": "Cube.js Postgres database driver", "author": "Cube Dev, Inc.", - "version": "1.2.15", + "version": "1.2.16", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -27,8 +27,8 @@ "lint:fix": "eslint --fix src/* --ext .ts" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.15", - "@cubejs-backend/shared": "1.2.15", + "@cubejs-backend/base-driver": "1.2.16", + "@cubejs-backend/shared": "1.2.16", "@types/pg": "^8.6.0", "@types/pg-query-stream": "^1.0.3", "moment": "^2.24.0", @@ -37,8 +37,8 @@ }, "license": "Apache-2.0", "devDependencies": { - "@cubejs-backend/linter": "1.2.15", - "@cubejs-backend/testing-shared": "1.2.15", + "@cubejs-backend/linter": "1.2.16", + "@cubejs-backend/testing-shared": "1.2.16", "testcontainers": "^10.10.4", "typescript": "~5.2.2" }, diff --git a/packages/cubejs-prestodb-driver/CHANGELOG.md b/packages/cubejs-prestodb-driver/CHANGELOG.md index cd13b2ffb..391906f35 100644 --- a/packages/cubejs-prestodb-driver/CHANGELOG.md +++ b/packages/cubejs-prestodb-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.16](https://github.com/cube-js/cube/compare/v1.2.15...v1.2.16) (2025-03-04) + +**Note:** Version bump only for package @cubejs-backend/prestodb-driver + ## [1.2.15](https://github.com/cube-js/cube/compare/v1.2.14...v1.2.15) (2025-03-03) **Note:** Version bump only for package @cubejs-backend/prestodb-driver diff --git a/packages/cubejs-prestodb-driver/package.json b/packages/cubejs-prestodb-driver/package.json index b41c1bef0..0d8c293f9 100644 --- a/packages/cubejs-prestodb-driver/package.json +++ b/packages/cubejs-prestodb-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/prestodb-driver", "description": "Cube.js Presto database driver", "author": "Cube Dev, Inc.", - "version": "1.2.15", + "version": "1.2.16", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -27,8 +27,8 @@ "lint:fix": "eslint --fix src/* --ext .ts" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.15", - "@cubejs-backend/shared": "1.2.15", + "@cubejs-backend/base-driver": "1.2.16", + "@cubejs-backend/shared": "1.2.16", "presto-client": "^0.12.2", "ramda": "^0.27.0", "sqlstring": "^2.3.1" @@ -38,7 +38,7 @@ "access": "public" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.15", + "@cubejs-backend/linter": "1.2.16", "@types/jest": "^27", "jest": "^27", "should": "^13.2.3", diff --git a/packages/cubejs-query-orchestrator/CHANGELOG.md b/packages/cubejs-query-orchestrator/CHANGELOG.md index 061bd4897..3b6605d11 100644 --- a/packages/cubejs-query-orchestrator/CHANGELOG.md +++ b/packages/cubejs-query-orchestrator/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.16](https://github.com/cube-js/cube/compare/v1.2.15...v1.2.16) (2025-03-04) + +**Note:** Version bump only for package @cubejs-backend/query-orchestrator + ## [1.2.15](https://github.com/cube-js/cube/compare/v1.2.14...v1.2.15) (2025-03-03) **Note:** Version bump only for package @cubejs-backend/query-orchestrator diff --git a/packages/cubejs-query-orchestrator/package.json b/packages/cubejs-query-orchestrator/package.json index a1c0c2aed..f9baa4b44 100644 --- a/packages/cubejs-query-orchestrator/package.json +++ b/packages/cubejs-query-orchestrator/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/query-orchestrator", "description": "Cube.js Query Orchestrator and Cache", "author": "Cube Dev, Inc.", - "version": "1.2.15", + "version": "1.2.16", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -29,16 +29,16 @@ "dist/src/*" ], "dependencies": { - "@cubejs-backend/base-driver": "1.2.15", - "@cubejs-backend/cubestore-driver": "1.2.15", - "@cubejs-backend/shared": "1.2.15", + "@cubejs-backend/base-driver": "1.2.16", + "@cubejs-backend/cubestore-driver": "1.2.16", + "@cubejs-backend/shared": "1.2.16", "csv-write-stream": "^2.0.0", "generic-pool": "^3.7.1", "lru-cache": "^5.1.1", "ramda": "^0.27.2" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.15", + "@cubejs-backend/linter": "1.2.16", "@types/generic-pool": "^3.1.9", "@types/jest": "^27", "@types/node": "^18", diff --git a/packages/cubejs-questdb-driver/CHANGELOG.md b/packages/cubejs-questdb-driver/CHANGELOG.md index b92b27394..ea5c77fd5 100644 --- a/packages/cubejs-questdb-driver/CHANGELOG.md +++ b/packages/cubejs-questdb-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.16](https://github.com/cube-js/cube/compare/v1.2.15...v1.2.16) (2025-03-04) + +**Note:** Version bump only for package @cubejs-backend/questdb-driver + ## [1.2.15](https://github.com/cube-js/cube/compare/v1.2.14...v1.2.15) (2025-03-03) **Note:** Version bump only for package @cubejs-backend/questdb-driver diff --git a/packages/cubejs-questdb-driver/package.json b/packages/cubejs-questdb-driver/package.json index b39e29b9a..2553fc845 100644 --- a/packages/cubejs-questdb-driver/package.json +++ b/packages/cubejs-questdb-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/questdb-driver", "description": "Cube.js QuestDB database driver", "author": "Cube Dev, Inc.", - "version": "1.2.15", + "version": "1.2.16", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -27,9 +27,9 @@ "lint:fix": "eslint --fix src/* --ext .ts" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.15", - "@cubejs-backend/schema-compiler": "1.2.15", - "@cubejs-backend/shared": "1.2.15", + "@cubejs-backend/base-driver": "1.2.16", + "@cubejs-backend/schema-compiler": "1.2.16", + "@cubejs-backend/shared": "1.2.16", "@types/pg": "^8.6.0", "moment": "^2.24.0", "pg": "^8.7.0", @@ -37,8 +37,8 @@ }, "license": "Apache-2.0", "devDependencies": { - "@cubejs-backend/linter": "1.2.15", - "@cubejs-backend/testing-shared": "1.2.15", + "@cubejs-backend/linter": "1.2.16", + "@cubejs-backend/testing-shared": "1.2.16", "testcontainers": "^10.10.4", "typescript": "~5.2.2" }, diff --git a/packages/cubejs-redshift-driver/CHANGELOG.md b/packages/cubejs-redshift-driver/CHANGELOG.md index d5badd8df..99ef78bfa 100644 --- a/packages/cubejs-redshift-driver/CHANGELOG.md +++ b/packages/cubejs-redshift-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.16](https://github.com/cube-js/cube/compare/v1.2.15...v1.2.16) (2025-03-04) + +**Note:** Version bump only for package @cubejs-backend/redshift-driver + ## [1.2.15](https://github.com/cube-js/cube/compare/v1.2.14...v1.2.15) (2025-03-03) **Note:** Version bump only for package @cubejs-backend/redshift-driver diff --git a/packages/cubejs-redshift-driver/package.json b/packages/cubejs-redshift-driver/package.json index f0c30aff1..6c5ff7829 100644 --- a/packages/cubejs-redshift-driver/package.json +++ b/packages/cubejs-redshift-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/redshift-driver", "description": "Cube.js Redshift database driver", "author": "Cube Dev, Inc.", - "version": "1.2.15", + "version": "1.2.16", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -25,13 +25,13 @@ "lint:fix": "eslint --fix src/* --ext .ts" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.15", - "@cubejs-backend/postgres-driver": "1.2.15", - "@cubejs-backend/shared": "1.2.15" + "@cubejs-backend/base-driver": "1.2.16", + "@cubejs-backend/postgres-driver": "1.2.16", + "@cubejs-backend/shared": "1.2.16" }, "license": "Apache-2.0", "devDependencies": { - "@cubejs-backend/linter": "1.2.15", + "@cubejs-backend/linter": "1.2.16", "typescript": "~5.2.2" }, "publishConfig": { diff --git a/packages/cubejs-schema-compiler/CHANGELOG.md b/packages/cubejs-schema-compiler/CHANGELOG.md index 7bde249c8..c4b985c46 100644 --- a/packages/cubejs-schema-compiler/CHANGELOG.md +++ b/packages/cubejs-schema-compiler/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.16](https://github.com/cube-js/cube/compare/v1.2.15...v1.2.16) (2025-03-04) + +**Note:** Version bump only for package @cubejs-backend/schema-compiler + ## [1.2.15](https://github.com/cube-js/cube/compare/v1.2.14...v1.2.15) (2025-03-03) ### Features diff --git a/packages/cubejs-schema-compiler/package.json b/packages/cubejs-schema-compiler/package.json index 1dd3b0ccf..ea9d17d86 100644 --- a/packages/cubejs-schema-compiler/package.json +++ b/packages/cubejs-schema-compiler/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/schema-compiler", "description": "Cube schema compiler", "author": "Cube Dev, Inc.", - "version": "1.2.15", + "version": "1.2.16", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -40,8 +40,8 @@ "@babel/standalone": "^7.24", "@babel/traverse": "^7.24", "@babel/types": "^7.24", - "@cubejs-backend/native": "1.2.15", - "@cubejs-backend/shared": "1.2.15", + "@cubejs-backend/native": "1.2.16", + "@cubejs-backend/shared": "1.2.16", "antlr4ts": "0.5.0-alpha.4", "camelcase": "^6.2.0", "cron-parser": "^4.9.0", @@ -59,8 +59,8 @@ }, "devDependencies": { "@clickhouse/client": "^1.7.0", - "@cubejs-backend/linter": "1.2.15", - "@cubejs-backend/query-orchestrator": "1.2.15", + "@cubejs-backend/linter": "1.2.16", + "@cubejs-backend/query-orchestrator": "1.2.16", "@types/babel__code-frame": "^7.0.6", "@types/babel__generator": "^7.6.8", "@types/babel__traverse": "^7.20.5", diff --git a/packages/cubejs-server-core/CHANGELOG.md b/packages/cubejs-server-core/CHANGELOG.md index d953b3221..0bce89eeb 100644 --- a/packages/cubejs-server-core/CHANGELOG.md +++ b/packages/cubejs-server-core/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.16](https://github.com/cube-js/cube/compare/v1.2.15...v1.2.16) (2025-03-04) + +**Note:** Version bump only for package @cubejs-backend/server-core + ## [1.2.15](https://github.com/cube-js/cube/compare/v1.2.14...v1.2.15) (2025-03-03) **Note:** Version bump only for package @cubejs-backend/server-core diff --git a/packages/cubejs-server-core/package.json b/packages/cubejs-server-core/package.json index e5b3a9cac..edc18b474 100644 --- a/packages/cubejs-server-core/package.json +++ b/packages/cubejs-server-core/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/server-core", "description": "Cube.js base component to wire all backend components together", "author": "Cube Dev, Inc.", - "version": "1.2.15", + "version": "1.2.16", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -29,14 +29,14 @@ "unit": "jest --runInBand --forceExit --coverage dist/test" }, "dependencies": { - "@cubejs-backend/api-gateway": "1.2.15", - "@cubejs-backend/cloud": "1.2.15", + "@cubejs-backend/api-gateway": "1.2.16", + "@cubejs-backend/cloud": "1.2.16", "@cubejs-backend/dotenv": "^9.0.2", - "@cubejs-backend/native": "1.2.15", - "@cubejs-backend/query-orchestrator": "1.2.15", - "@cubejs-backend/schema-compiler": "1.2.15", - "@cubejs-backend/shared": "1.2.15", - "@cubejs-backend/templates": "1.2.15", + "@cubejs-backend/native": "1.2.16", + "@cubejs-backend/query-orchestrator": "1.2.16", + "@cubejs-backend/schema-compiler": "1.2.16", + "@cubejs-backend/shared": "1.2.16", + "@cubejs-backend/templates": "1.2.16", "codesandbox-import-utils": "^2.1.12", "cross-spawn": "^7.0.1", "fs-extra": "^8.1.0", @@ -59,9 +59,9 @@ "ws": "^7.5.3" }, "devDependencies": { - "@cubejs-backend/cubestore-driver": "1.2.15", - "@cubejs-backend/linter": "1.2.15", - "@cubejs-client/playground": "1.2.15", + "@cubejs-backend/cubestore-driver": "1.2.16", + "@cubejs-backend/linter": "1.2.16", + "@cubejs-client/playground": "1.2.16", "@types/cross-spawn": "^6.0.2", "@types/express": "^4.17.21", "@types/fs-extra": "^9.0.8", diff --git a/packages/cubejs-server/CHANGELOG.md b/packages/cubejs-server/CHANGELOG.md index 1586dd7b2..3759d8f61 100644 --- a/packages/cubejs-server/CHANGELOG.md +++ b/packages/cubejs-server/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.16](https://github.com/cube-js/cube/compare/v1.2.15...v1.2.16) (2025-03-04) + +**Note:** Version bump only for package @cubejs-backend/server + ## [1.2.15](https://github.com/cube-js/cube/compare/v1.2.14...v1.2.15) (2025-03-03) **Note:** Version bump only for package @cubejs-backend/server diff --git a/packages/cubejs-server/package.json b/packages/cubejs-server/package.json index dd7f9b929..783354262 100644 --- a/packages/cubejs-server/package.json +++ b/packages/cubejs-server/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/server", "description": "Cube.js all-in-one server", "author": "Cube Dev, Inc.", - "version": "1.2.15", + "version": "1.2.16", "types": "index.d.ts", "repository": { "type": "git", @@ -40,11 +40,11 @@ "jest:shapshot": "jest --updateSnapshot test" }, "dependencies": { - "@cubejs-backend/cubestore-driver": "1.2.15", + "@cubejs-backend/cubestore-driver": "1.2.16", "@cubejs-backend/dotenv": "^9.0.2", - "@cubejs-backend/native": "1.2.15", - "@cubejs-backend/server-core": "1.2.15", - "@cubejs-backend/shared": "1.2.15", + "@cubejs-backend/native": "1.2.16", + "@cubejs-backend/server-core": "1.2.16", + "@cubejs-backend/shared": "1.2.16", "@oclif/color": "^1.0.0", "@oclif/command": "^1.8.13", "@oclif/config": "^1.18.2", @@ -61,8 +61,8 @@ "ws": "^7.1.2" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.15", - "@cubejs-backend/query-orchestrator": "1.2.15", + "@cubejs-backend/linter": "1.2.16", + "@cubejs-backend/query-orchestrator": "1.2.16", "@oclif/dev-cli": "^1.23.1", "@types/body-parser": "^1.19.0", "@types/cors": "^2.8.8", diff --git a/packages/cubejs-snowflake-driver/CHANGELOG.md b/packages/cubejs-snowflake-driver/CHANGELOG.md index c37ac7d62..41fe25585 100644 --- a/packages/cubejs-snowflake-driver/CHANGELOG.md +++ b/packages/cubejs-snowflake-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.16](https://github.com/cube-js/cube/compare/v1.2.15...v1.2.16) (2025-03-04) + +**Note:** Version bump only for package @cubejs-backend/snowflake-driver + ## [1.2.15](https://github.com/cube-js/cube/compare/v1.2.14...v1.2.15) (2025-03-03) **Note:** Version bump only for package @cubejs-backend/snowflake-driver diff --git a/packages/cubejs-snowflake-driver/package.json b/packages/cubejs-snowflake-driver/package.json index 147ad0a2f..6d6581355 100644 --- a/packages/cubejs-snowflake-driver/package.json +++ b/packages/cubejs-snowflake-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/snowflake-driver", "description": "Cube.js Snowflake database driver", "author": "Cube Dev, Inc.", - "version": "1.2.15", + "version": "1.2.16", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -25,8 +25,8 @@ "lint:fix": "eslint --fix src/* --ext .ts" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.15", - "@cubejs-backend/shared": "1.2.15", + "@cubejs-backend/base-driver": "1.2.16", + "@cubejs-backend/shared": "1.2.16", "date-fns-timezone": "^0.1.4", "snowflake-sdk": "^1.13.1" }, @@ -38,7 +38,7 @@ "extends": "../cubejs-linter" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.15", + "@cubejs-backend/linter": "1.2.16", "typescript": "~5.2.2" } } diff --git a/packages/cubejs-sqlite-driver/CHANGELOG.md b/packages/cubejs-sqlite-driver/CHANGELOG.md index b56171a5e..79af1900f 100644 --- a/packages/cubejs-sqlite-driver/CHANGELOG.md +++ b/packages/cubejs-sqlite-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.16](https://github.com/cube-js/cube/compare/v1.2.15...v1.2.16) (2025-03-04) + +**Note:** Version bump only for package @cubejs-backend/sqlite-driver + ## [1.2.15](https://github.com/cube-js/cube/compare/v1.2.14...v1.2.15) (2025-03-03) **Note:** Version bump only for package @cubejs-backend/sqlite-driver diff --git a/packages/cubejs-sqlite-driver/package.json b/packages/cubejs-sqlite-driver/package.json index 3a17562d1..5b8a5d41e 100644 --- a/packages/cubejs-sqlite-driver/package.json +++ b/packages/cubejs-sqlite-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/sqlite-driver", "description": "Cube.js Sqlite database driver", "author": "Cube Dev, Inc.", - "version": "1.2.15", + "version": "1.2.16", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -17,13 +17,13 @@ "lint": "eslint **/*.js" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.15", - "@cubejs-backend/shared": "1.2.15", + "@cubejs-backend/base-driver": "1.2.16", + "@cubejs-backend/shared": "1.2.16", "sqlite3": "^5.1.7" }, "license": "Apache-2.0", "devDependencies": { - "@cubejs-backend/linter": "1.2.15" + "@cubejs-backend/linter": "1.2.16" }, "publishConfig": { "access": "public" diff --git a/packages/cubejs-templates/CHANGELOG.md b/packages/cubejs-templates/CHANGELOG.md index 241d106a8..e8f91e46f 100644 --- a/packages/cubejs-templates/CHANGELOG.md +++ b/packages/cubejs-templates/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.16](https://github.com/cube-js/cube/compare/v1.2.15...v1.2.16) (2025-03-04) + +**Note:** Version bump only for package @cubejs-backend/templates + ## [1.2.15](https://github.com/cube-js/cube/compare/v1.2.14...v1.2.15) (2025-03-03) **Note:** Version bump only for package @cubejs-backend/templates diff --git a/packages/cubejs-templates/package.json b/packages/cubejs-templates/package.json index 665cfb7a1..e8cb66134 100644 --- a/packages/cubejs-templates/package.json +++ b/packages/cubejs-templates/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-backend/templates", - "version": "1.2.15", + "version": "1.2.16", "description": "Cube.js Templates helpers", "author": "Cube Dev, Inc.", "license": "Apache-2.0", @@ -26,7 +26,7 @@ "extends": "../cubejs-linter" }, "dependencies": { - "@cubejs-backend/shared": "1.2.15", + "@cubejs-backend/shared": "1.2.16", "cross-spawn": "^7.0.3", "decompress": "^4.2.1", "decompress-targz": "^4.1.1", @@ -36,7 +36,7 @@ "source-map-support": "^0.5.19" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.15", + "@cubejs-backend/linter": "1.2.16", "typescript": "~5.2.2" } } diff --git a/packages/cubejs-testing-drivers/CHANGELOG.md b/packages/cubejs-testing-drivers/CHANGELOG.md index fa4ad4054..a2d115341 100644 --- a/packages/cubejs-testing-drivers/CHANGELOG.md +++ b/packages/cubejs-testing-drivers/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.16](https://github.com/cube-js/cube/compare/v1.2.15...v1.2.16) (2025-03-04) + +**Note:** Version bump only for package @cubejs-backend/testing-drivers + ## [1.2.15](https://github.com/cube-js/cube/compare/v1.2.14...v1.2.15) (2025-03-03) **Note:** Version bump only for package @cubejs-backend/testing-drivers diff --git a/packages/cubejs-testing-drivers/package.json b/packages/cubejs-testing-drivers/package.json index 6d159a1f1..54f112f10 100644 --- a/packages/cubejs-testing-drivers/package.json +++ b/packages/cubejs-testing-drivers/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-backend/testing-drivers", - "version": "1.2.15", + "version": "1.2.16", "description": "Cube.js drivers test suite", "author": "Cube Dev, Inc.", "license": "MIT", @@ -56,24 +56,24 @@ "dist/src" ], "dependencies": { - "@cubejs-backend/athena-driver": "1.2.15", - "@cubejs-backend/base-driver": "1.2.15", - "@cubejs-backend/bigquery-driver": "1.2.15", - "@cubejs-backend/clickhouse-driver": "1.2.15", - "@cubejs-backend/cubestore-driver": "1.2.15", - "@cubejs-backend/databricks-jdbc-driver": "1.2.15", + "@cubejs-backend/athena-driver": "1.2.16", + "@cubejs-backend/base-driver": "1.2.16", + "@cubejs-backend/bigquery-driver": "1.2.16", + "@cubejs-backend/clickhouse-driver": "1.2.16", + "@cubejs-backend/cubestore-driver": "1.2.16", + "@cubejs-backend/databricks-jdbc-driver": "1.2.16", "@cubejs-backend/dotenv": "^9.0.2", - "@cubejs-backend/linter": "1.2.15", - "@cubejs-backend/mssql-driver": "1.2.15", - "@cubejs-backend/mysql-driver": "1.2.15", - "@cubejs-backend/postgres-driver": "1.2.15", - "@cubejs-backend/query-orchestrator": "1.2.15", - "@cubejs-backend/server-core": "1.2.15", - "@cubejs-backend/shared": "1.2.15", - "@cubejs-backend/snowflake-driver": "1.2.15", - "@cubejs-backend/testing-shared": "1.2.15", - "@cubejs-client/core": "1.2.15", - "@cubejs-client/ws-transport": "1.2.15", + "@cubejs-backend/linter": "1.2.16", + "@cubejs-backend/mssql-driver": "1.2.16", + "@cubejs-backend/mysql-driver": "1.2.16", + "@cubejs-backend/postgres-driver": "1.2.16", + "@cubejs-backend/query-orchestrator": "1.2.16", + "@cubejs-backend/server-core": "1.2.16", + "@cubejs-backend/shared": "1.2.16", + "@cubejs-backend/snowflake-driver": "1.2.16", + "@cubejs-backend/testing-shared": "1.2.16", + "@cubejs-client/core": "1.2.16", + "@cubejs-client/ws-transport": "1.2.16", "@jest/globals": "^27", "@types/jest": "^27", "@types/node": "^18", diff --git a/packages/cubejs-testing-shared/CHANGELOG.md b/packages/cubejs-testing-shared/CHANGELOG.md index 321d4ffbd..1871ecc5f 100644 --- a/packages/cubejs-testing-shared/CHANGELOG.md +++ b/packages/cubejs-testing-shared/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.16](https://github.com/cube-js/cube/compare/v1.2.15...v1.2.16) (2025-03-04) + +**Note:** Version bump only for package @cubejs-backend/testing-shared + ## [1.2.15](https://github.com/cube-js/cube/compare/v1.2.14...v1.2.15) (2025-03-03) **Note:** Version bump only for package @cubejs-backend/testing-shared diff --git a/packages/cubejs-testing-shared/package.json b/packages/cubejs-testing-shared/package.json index 74aa45b02..fa4155de2 100644 --- a/packages/cubejs-testing-shared/package.json +++ b/packages/cubejs-testing-shared/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-backend/testing-shared", - "version": "1.2.15", + "version": "1.2.16", "description": "Cube.js Testing Helpers", "author": "Cube Dev, Inc.", "license": "Apache-2.0", @@ -21,16 +21,16 @@ ], "dependencies": { "@cubejs-backend/dotenv": "^9.0.2", - "@cubejs-backend/query-orchestrator": "1.2.15", - "@cubejs-backend/schema-compiler": "1.2.15", - "@cubejs-backend/shared": "1.2.15", + "@cubejs-backend/query-orchestrator": "1.2.16", + "@cubejs-backend/schema-compiler": "1.2.16", + "@cubejs-backend/shared": "1.2.16", "@testcontainers/kafka": "~10.13.0", "dedent": "^0.7.0", "node-fetch": "^2.6.7", "testcontainers": "^10.13.0" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.15", + "@cubejs-backend/linter": "1.2.16", "@jest/globals": "^27", "@types/dedent": "^0.7.0", "@types/jest": "^27", diff --git a/packages/cubejs-testing/CHANGELOG.md b/packages/cubejs-testing/CHANGELOG.md index ff35c0ab4..3064bbfdc 100644 --- a/packages/cubejs-testing/CHANGELOG.md +++ b/packages/cubejs-testing/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.16](https://github.com/cube-js/cube/compare/v1.2.15...v1.2.16) (2025-03-04) + +**Note:** Version bump only for package @cubejs-backend/testing + ## [1.2.15](https://github.com/cube-js/cube/compare/v1.2.14...v1.2.15) (2025-03-03) **Note:** Version bump only for package @cubejs-backend/testing diff --git a/packages/cubejs-testing/package.json b/packages/cubejs-testing/package.json index 317c74f1f..345d3e464 100644 --- a/packages/cubejs-testing/package.json +++ b/packages/cubejs-testing/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-backend/testing", - "version": "1.2.15", + "version": "1.2.16", "description": "Cube.js e2e tests", "author": "Cube Dev, Inc.", "license": "Apache-2.0", @@ -94,15 +94,15 @@ "birdbox-fixtures" ], "dependencies": { - "@cubejs-backend/cubestore-driver": "1.2.15", + "@cubejs-backend/cubestore-driver": "1.2.16", "@cubejs-backend/dotenv": "^9.0.2", - "@cubejs-backend/ksql-driver": "1.2.15", - "@cubejs-backend/postgres-driver": "1.2.15", - "@cubejs-backend/query-orchestrator": "1.2.15", - "@cubejs-backend/schema-compiler": "1.2.15", - "@cubejs-backend/shared": "1.2.15", - "@cubejs-backend/testing-shared": "1.2.15", - "@cubejs-client/ws-transport": "1.2.15", + "@cubejs-backend/ksql-driver": "1.2.16", + "@cubejs-backend/postgres-driver": "1.2.16", + "@cubejs-backend/query-orchestrator": "1.2.16", + "@cubejs-backend/schema-compiler": "1.2.16", + "@cubejs-backend/shared": "1.2.16", + "@cubejs-backend/testing-shared": "1.2.16", + "@cubejs-client/ws-transport": "1.2.16", "dedent": "^0.7.0", "fs-extra": "^8.1.0", "http-proxy": "^1.18.1", @@ -113,8 +113,8 @@ }, "devDependencies": { "@4tw/cypress-drag-drop": "^1.6.0", - "@cubejs-backend/linter": "1.2.15", - "@cubejs-client/core": "1.2.15", + "@cubejs-backend/linter": "1.2.16", + "@cubejs-client/core": "1.2.16", "@jest/globals": "^27", "@types/dedent": "^0.7.0", "@types/http-proxy": "^1.17.5", diff --git a/packages/cubejs-trino-driver/CHANGELOG.md b/packages/cubejs-trino-driver/CHANGELOG.md index 7226edec0..c4310209b 100644 --- a/packages/cubejs-trino-driver/CHANGELOG.md +++ b/packages/cubejs-trino-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.16](https://github.com/cube-js/cube/compare/v1.2.15...v1.2.16) (2025-03-04) + +**Note:** Version bump only for package @cubejs-backend/trino-driver + ## [1.2.15](https://github.com/cube-js/cube/compare/v1.2.14...v1.2.15) (2025-03-03) **Note:** Version bump only for package @cubejs-backend/trino-driver diff --git a/packages/cubejs-trino-driver/package.json b/packages/cubejs-trino-driver/package.json index 4cefd728d..8e4713f79 100644 --- a/packages/cubejs-trino-driver/package.json +++ b/packages/cubejs-trino-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/trino-driver", "description": "Cube.js Trino database driver", "author": "Cube Dev, Inc.", - "version": "1.2.15", + "version": "1.2.16", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -25,10 +25,10 @@ "lint:fix": "eslint --fix src/* --ext .ts" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.15", - "@cubejs-backend/prestodb-driver": "1.2.15", - "@cubejs-backend/schema-compiler": "1.2.15", - "@cubejs-backend/shared": "1.2.15", + "@cubejs-backend/base-driver": "1.2.16", + "@cubejs-backend/prestodb-driver": "1.2.16", + "@cubejs-backend/schema-compiler": "1.2.16", + "@cubejs-backend/shared": "1.2.16", "presto-client": "^0.12.2", "sqlstring": "^2.3.1" }, @@ -37,7 +37,7 @@ "access": "public" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.15" + "@cubejs-backend/linter": "1.2.16" }, "eslintConfig": { "extends": "../cubejs-linter" diff --git a/packages/cubejs-vertica-driver/CHANGELOG.md b/packages/cubejs-vertica-driver/CHANGELOG.md index fc96c7d88..241859aaf 100644 --- a/packages/cubejs-vertica-driver/CHANGELOG.md +++ b/packages/cubejs-vertica-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.16](https://github.com/cube-js/cube.js/compare/v1.2.15...v1.2.16) (2025-03-04) + +**Note:** Version bump only for package @cubejs-backend/vertica-driver + ## [1.2.15](https://github.com/cube-js/cube.js/compare/v1.2.14...v1.2.15) (2025-03-03) **Note:** Version bump only for package @cubejs-backend/vertica-driver diff --git a/packages/cubejs-vertica-driver/package.json b/packages/cubejs-vertica-driver/package.json index 2004787df..13f75198a 100644 --- a/packages/cubejs-vertica-driver/package.json +++ b/packages/cubejs-vertica-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/vertica-driver", "description": "Cube.js Vertica database driver", "author": "Eduard Karacharov, Tim Brown, Cube Dev, Inc.", - "version": "1.2.15", + "version": "1.2.16", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.js.git", @@ -19,15 +19,15 @@ "lint:fix": "eslint --fix **/*.js" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.15", - "@cubejs-backend/query-orchestrator": "1.2.15", - "@cubejs-backend/schema-compiler": "1.2.15", + "@cubejs-backend/base-driver": "1.2.16", + "@cubejs-backend/query-orchestrator": "1.2.16", + "@cubejs-backend/schema-compiler": "1.2.16", "vertica-nodejs": "^1.0.3" }, "license": "Apache-2.0", "devDependencies": { - "@cubejs-backend/linter": "1.2.15", - "@cubejs-backend/testing-shared": "1.2.15", + "@cubejs-backend/linter": "1.2.16", + "@cubejs-backend/testing-shared": "1.2.16", "jest": "^27", "testcontainers": "^10.13.0" }, diff --git a/rust/cubesql/CHANGELOG.md b/rust/cubesql/CHANGELOG.md index 21cd21682..4722f5497 100644 --- a/rust/cubesql/CHANGELOG.md +++ b/rust/cubesql/CHANGELOG.md @@ -3,6 +3,12 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.16](https://github.com/cube-js/cube/compare/v1.2.15...v1.2.16) (2025-03-04) + +### Bug Fixes + +- **cubejs-native:** sql over http drop sessions, correct error ([#9297](https://github.com/cube-js/cube/issues/9297)) ([6fad670](https://github.com/cube-js/cube/commit/6fad670c722fd91e29d950a36659ac4630cef64a)) + ## [1.2.15](https://github.com/cube-js/cube/compare/v1.2.14...v1.2.15) (2025-03-03) **Note:** Version bump only for package @cubejs-backend/cubesql diff --git a/rust/cubesql/package.json b/rust/cubesql/package.json index 704e0a4d7..6a8cebd2a 100644 --- a/rust/cubesql/package.json +++ b/rust/cubesql/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-backend/cubesql", - "version": "1.2.15", + "version": "1.2.16", "description": "SQL API for Cube as proxy over MySQL protocol.", "engines": { "node": "^12.0.0 || ^14.0.0 || >=16.0.0" diff --git a/rust/cubestore/CHANGELOG.md b/rust/cubestore/CHANGELOG.md index c08b46088..6cd5a8b6a 100644 --- a/rust/cubestore/CHANGELOG.md +++ b/rust/cubestore/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.16](https://github.com/cube-js/cube/compare/v1.2.15...v1.2.16) (2025-03-04) + +**Note:** Version bump only for package @cubejs-backend/cubestore + ## [1.2.15](https://github.com/cube-js/cube/compare/v1.2.14...v1.2.15) (2025-03-03) **Note:** Version bump only for package @cubejs-backend/cubestore diff --git a/rust/cubestore/package.json b/rust/cubestore/package.json index f00ad56ee..cecb948c9 100644 --- a/rust/cubestore/package.json +++ b/rust/cubestore/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-backend/cubestore", - "version": "1.2.15", + "version": "1.2.16", "description": "Cube.js pre-aggregation storage layer.", "main": "dist/src/index.js", "typings": "dist/src/index.d.ts", @@ -27,7 +27,7 @@ "author": "Cube Dev, Inc.", "license": "Apache-2.0", "devDependencies": { - "@cubejs-backend/linter": "1.2.15", + "@cubejs-backend/linter": "1.2.16", "@types/jest": "^27", "@types/node": "^18", "jest": "^27", @@ -37,7 +37,7 @@ "access": "public" }, "dependencies": { - "@cubejs-backend/shared": "1.2.15", + "@cubejs-backend/shared": "1.2.16", "@octokit/core": "^3.2.5", "source-map-support": "^0.5.19" }, From 0c989fcf419cb0c21b4ca46f862879cd210e0bcf Mon Sep 17 00:00:00 2001 From: Michael Astashkevich Date: Wed, 5 Mar 2025 06:52:19 +0100 Subject: [PATCH 09/49] chore(fast-reload): support fastReloadEnabled as a server option (#9294) * chore(fast-reload): support fastReloadEnabled as a server option * rename and add to python and rust --- packages/cubejs-backend-native/python/cube/src/__init__.py | 2 ++ packages/cubejs-backend-native/src/python/cube_config.rs | 1 + packages/cubejs-backend-shared/src/env.ts | 2 +- packages/cubejs-server-core/src/core/CompilerApi.js | 2 +- packages/cubejs-server-core/src/core/OptsHandler.ts | 3 ++- packages/cubejs-server-core/src/core/optionsValidate.ts | 1 + packages/cubejs-server-core/src/core/server.ts | 3 ++- packages/cubejs-server-core/src/core/types.ts | 1 + 8 files changed, 11 insertions(+), 4 deletions(-) diff --git a/packages/cubejs-backend-native/python/cube/src/__init__.py b/packages/cubejs-backend-native/python/cube/src/__init__.py index 6a49f9545..6fee80399 100644 --- a/packages/cubejs-backend-native/python/cube/src/__init__.py +++ b/packages/cubejs-backend-native/python/cube/src/__init__.py @@ -78,6 +78,7 @@ class Configuration: pre_aggregations_schema: Union[Callable[[RequestContext], str], str] orchestrator_options: Union[Dict, Callable[[RequestContext], Dict]] context_to_roles: Callable[[RequestContext], list[str]] + fast_reload: bool def __init__(self): self.web_sockets = None @@ -127,6 +128,7 @@ def __init__(self): self.pre_aggregations_schema = None self.orchestrator_options = None self.context_to_roles = None + self.fast_reload = None def __call__(self, func): if isinstance(func, str): diff --git a/packages/cubejs-backend-native/src/python/cube_config.rs b/packages/cubejs-backend-native/src/python/cube_config.rs index d612ebdc3..f9886dd64 100644 --- a/packages/cubejs-backend-native/src/python/cube_config.rs +++ b/packages/cubejs-backend-native/src/python/cube_config.rs @@ -64,6 +64,7 @@ impl CubeConfigPy { "scheduled_refresh_contexts", "schema_version", "semantic_layer_sync", + "fast_reload", ] } diff --git a/packages/cubejs-backend-shared/src/env.ts b/packages/cubejs-backend-shared/src/env.ts index 5b34dac59..91c0613f0 100644 --- a/packages/cubejs-backend-shared/src/env.ts +++ b/packages/cubejs-backend-shared/src/env.ts @@ -1963,7 +1963,7 @@ const variables: Record any> = { return undefined; }, - fastReloadEnabled: () => get('CUBEJS_FAST_RELOAD_ENABLED') + fastReload: () => get('CUBEJS_FAST_RELOAD_ENABLED') .default('false') .asBoolStrict(), }; diff --git a/packages/cubejs-server-core/src/core/CompilerApi.js b/packages/cubejs-server-core/src/core/CompilerApi.js index 04eabdfed..8e36e4091 100644 --- a/packages/cubejs-server-core/src/core/CompilerApi.js +++ b/packages/cubejs-server-core/src/core/CompilerApi.js @@ -53,7 +53,7 @@ export class CompilerApi { compilerVersion = JSON.stringify(compilerVersion); } - if (this.options.devServer || this.options.fastReloadEnabled) { + if (this.options.devServer || this.options.fastReload) { const files = await this.repository.dataSchemaFiles(); compilerVersion += `_${crypto.createHash('md5').update(JSON.stringify(files)).digest('hex')}`; } diff --git a/packages/cubejs-server-core/src/core/OptsHandler.ts b/packages/cubejs-server-core/src/core/OptsHandler.ts index c0d79990d..5d8278637 100644 --- a/packages/cubejs-server-core/src/core/OptsHandler.ts +++ b/packages/cubejs-server-core/src/core/OptsHandler.ts @@ -488,7 +488,8 @@ export class OptsHandler { jwkUrl: getEnv('jwkUrl'), claimsNamespace: getEnv('jwtClaimsNamespace'), ...opts.jwt, - } + }, + fastReload: getEnv('fastReload'), }; if (opts.contextToAppId && !opts.scheduledRefreshContexts) { diff --git a/packages/cubejs-server-core/src/core/optionsValidate.ts b/packages/cubejs-server-core/src/core/optionsValidate.ts index efe39bf42..f63594394 100644 --- a/packages/cubejs-server-core/src/core/optionsValidate.ts +++ b/packages/cubejs-server-core/src/core/optionsValidate.ts @@ -146,6 +146,7 @@ const schemaOptions = Joi.object().keys({ // Additional system flags serverless: Joi.boolean(), allowNodeRequire: Joi.boolean(), + fastReload: Joi.boolean(), }); export default (options: any) => { diff --git a/packages/cubejs-server-core/src/core/server.ts b/packages/cubejs-server-core/src/core/server.ts index 5f44f0adf..de61bda43 100644 --- a/packages/cubejs-server-core/src/core/server.ts +++ b/packages/cubejs-server-core/src/core/server.ts @@ -539,6 +539,7 @@ export class CubejsServerCore { context, allowJsDuplicatePropsInSchema: this.options.allowJsDuplicatePropsInSchema, allowNodeRequire: this.options.allowNodeRequire, + fastReload: this.options.fastReload, }, ); @@ -712,7 +713,7 @@ export class CubejsServerCore { sqlCache: this.options.sqlCache, standalone: this.standalone, allowNodeRequire: options.allowNodeRequire, - fastReloadEnabled: options.fastReloadEnabled || getEnv('fastReloadEnabled'), + fastReload: options.fastReload || getEnv('fastReload'), }, ); } diff --git a/packages/cubejs-server-core/src/core/types.ts b/packages/cubejs-server-core/src/core/types.ts index 73cdbdd81..2f24d1167 100644 --- a/packages/cubejs-server-core/src/core/types.ts +++ b/packages/cubejs-server-core/src/core/types.ts @@ -227,6 +227,7 @@ export interface CreateOptions { serverless?: boolean; allowNodeRequire?: boolean; semanticLayerSync?: (context: RequestContext) => Promise | BiToolSyncConfig[]; + fastReload?: boolean; } export interface DriverDecoratedOptions extends CreateOptions { From bd27046e2004583eea8e06d64e413555efb08406 Mon Sep 17 00:00:00 2001 From: Joshua Date: Wed, 5 Mar 2025 09:28:47 +0000 Subject: [PATCH 10/49] fix(docker): apt-get install ca-certificates in latest and local Dockerfiles Co-authored-by: Joshua --- packages/cubejs-docker/latest.Dockerfile | 2 +- packages/cubejs-docker/local.Dockerfile | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/cubejs-docker/latest.Dockerfile b/packages/cubejs-docker/latest.Dockerfile index f8029d96b..09b8bfaf2 100644 --- a/packages/cubejs-docker/latest.Dockerfile +++ b/packages/cubejs-docker/latest.Dockerfile @@ -11,7 +11,7 @@ RUN yarn config set network-timeout 120000 -g RUN apt-get update \ # python3 package is necessary to install `python3` executable for node-gyp # libpython3-dev is needed to trigger post-installer to download native with python - && apt-get install -y python3 python3.11 libpython3.11-dev gcc g++ make cmake \ + && apt-get install -y python3 python3.11 libpython3.11-dev gcc g++ make cmake ca-certificates \ && rm -rf /var/lib/apt/lists/* # We are copying root yarn.lock file to the context folder during the Publish GH diff --git a/packages/cubejs-docker/local.Dockerfile b/packages/cubejs-docker/local.Dockerfile index 64d9bd5a8..99679265e 100644 --- a/packages/cubejs-docker/local.Dockerfile +++ b/packages/cubejs-docker/local.Dockerfile @@ -11,7 +11,7 @@ ENV CUBEJS_DOCKER_IMAGE_TAG=latest RUN DEBIAN_FRONTEND=noninteractive \ && apt-get update \ # python3 package is necessary to install `python3` executable for node-gyp - && apt-get install -y --no-install-recommends libssl3 python3 python3.11 libpython3.11-dev \ + && apt-get install -y --no-install-recommends libssl3 python3 python3.11 libpython3.11-dev ca-certificates \ && rm -rf /var/lib/apt/lists/* ENV NODE_ENV=production From b5cdd074aa90747e5e2d5f9fcb2de169ebf87fa3 Mon Sep 17 00:00:00 2001 From: Joshua Date: Wed, 5 Mar 2025 09:33:49 +0000 Subject: [PATCH 11/49] feat(duckdb-driver): Add `databasePath` and `motherDuckToken` config options --- packages/cubejs-duckdb-driver/src/DuckDBDriver.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/packages/cubejs-duckdb-driver/src/DuckDBDriver.ts b/packages/cubejs-duckdb-driver/src/DuckDBDriver.ts index 8fd887f29..e933d777f 100644 --- a/packages/cubejs-duckdb-driver/src/DuckDBDriver.ts +++ b/packages/cubejs-duckdb-driver/src/DuckDBDriver.ts @@ -17,8 +17,10 @@ import { HydrationStream, transformRow } from './HydrationStream'; const { version } = require('../../package.json'); export type DuckDBDriverConfiguration = { + databasePath?: string, dataSource?: string, initSql?: string, + motherDuckToken?: string, schema?: string, }; @@ -56,8 +58,8 @@ export class DuckDBDriver extends BaseDriver implements DriverInterface { } protected async init(): Promise { - const token = getEnv('duckdbMotherDuckToken', this.config); - const dbPath = getEnv('duckdbDatabasePath', this.config); + const token = this.config.motherDuckToken || getEnv('duckdbMotherDuckToken', this.config); + const dbPath = this.config.databasePath || getEnv('duckdbDatabasePath', this.config); // Determine the database URL based on the provided db_path or token let dbUrl: string; From 894f903788cebca2efa58ca5409b3ba6f267655c Mon Sep 17 00:00:00 2001 From: Mikhail Cheshkov Date: Wed, 5 Mar 2025 11:49:15 +0200 Subject: [PATCH 12/49] fix(cubesql): Use pushdown-pullup scheme for FilterSimplifyReplacer (#9278) This should avoid unexpected unifications of simplified expression in unrelated context. For example, same expression can be present in filter and projection, but due to over-unification in filters it can receive different representation in projection, and break aliases later, during extraction Supporting changes: * Remove unnecessary Vec+Box for rules * Add NOW function template A couple of unit tests with NOW and wrapper were relying on over-unification, and broke without a function template. * Bump default rewrite iteration limit to 500 With new rules `select_many_filters` benchmark was hitting iteration limit --- rust/cubesql/cubesql/src/compile/mod.rs | 17 +- .../cubesql/src/compile/rewrite/cost.rs | 2 + .../cubesql/src/compile/rewrite/mod.rs | 13 +- .../cubesql/src/compile/rewrite/rewriter.rs | 20 +- .../src/compile/rewrite/rules/filters.rs | 413 +++++++++++++----- rust/cubesql/cubesql/src/compile/test/mod.rs | 1 + .../cubesql/src/compile/test/test_wrapper.rs | 54 ++- 7 files changed, 382 insertions(+), 138 deletions(-) diff --git a/rust/cubesql/cubesql/src/compile/mod.rs b/rust/cubesql/cubesql/src/compile/mod.rs index 86a0b76db..b0ec639e6 100644 --- a/rust/cubesql/cubesql/src/compile/mod.rs +++ b/rust/cubesql/cubesql/src/compile/mod.rs @@ -12878,7 +12878,7 @@ ORDER BY "source"."str0" ASC } init_testing_logger(); - let logical_plan = convert_select_to_query_plan( + let query_plan = convert_select_to_query_plan( r#" SELECT CAST("public"."KibanaSampleDataEcommerce"."order_date" AS DATE) AS "order_date", @@ -12899,11 +12899,16 @@ ORDER BY "source"."str0" ASC .to_string(), DatabaseProtocol::PostgreSQL, ) - .await - .as_logical_plan(); + .await; + + let physical_plan = query_plan.as_physical_plan().await.unwrap(); + println!( + "Physical plan: {}", + displayable(physical_plan.as_ref()).indent() + ); + + let logical_plan = query_plan.as_logical_plan(); - let end_date = chrono::Utc::now().date_naive(); - let start_date = end_date - chrono::Duration::days(30); assert_eq!( logical_plan.find_cube_scan_wrapped_sql().request, V1LoadRequestQuery { @@ -12930,7 +12935,7 @@ ORDER BY "source"."str0" ASC "cube_name": "KibanaSampleDataEcommerce", "alias": "kibanasampledata", "cube_params": ["KibanaSampleDataEcommerce"], - "expr": format!("(((${{KibanaSampleDataEcommerce.order_date}} >= DATE('{start_date}')) AND (${{KibanaSampleDataEcommerce.order_date}} < DATE('{end_date}'))) AND (((${{KibanaSampleDataEcommerce.notes}} = $0$) OR (${{KibanaSampleDataEcommerce.notes}} = $1$)) OR (${{KibanaSampleDataEcommerce.notes}} = $2$)))"), + "expr": format!("(((${{KibanaSampleDataEcommerce.order_date}} >= CAST((NOW() + INTERVAL '-30 DAY') AS DATE)) AND (${{KibanaSampleDataEcommerce.order_date}} < CAST(NOW() AS DATE))) AND (((${{KibanaSampleDataEcommerce.notes}} = $0$) OR (${{KibanaSampleDataEcommerce.notes}} = $1$)) OR (${{KibanaSampleDataEcommerce.notes}} = $2$)))"), "grouping_set": null, }).to_string(), ]), diff --git a/rust/cubesql/cubesql/src/compile/rewrite/cost.rs b/rust/cubesql/cubesql/src/compile/rewrite/cost.rs index ab22941f7..2a1732849 100644 --- a/rust/cubesql/cubesql/src/compile/rewrite/cost.rs +++ b/rust/cubesql/cubesql/src/compile/rewrite/cost.rs @@ -104,6 +104,8 @@ impl BestCubePlan { LogicalPlanLanguage::OrderReplacer(_) => 1, LogicalPlanLanguage::MemberReplacer(_) => 1, LogicalPlanLanguage::FilterReplacer(_) => 1, + LogicalPlanLanguage::FilterSimplifyPushDownReplacer(_) => 1, + LogicalPlanLanguage::FilterSimplifyPullUpReplacer(_) => 1, LogicalPlanLanguage::TimeDimensionDateRangeReplacer(_) => 1, LogicalPlanLanguage::InnerAggregateSplitReplacer(_) => 1, LogicalPlanLanguage::OuterProjectionSplitReplacer(_) => 1, diff --git a/rust/cubesql/cubesql/src/compile/rewrite/mod.rs b/rust/cubesql/cubesql/src/compile/rewrite/mod.rs index 57bbfa73b..1ff66f33b 100644 --- a/rust/cubesql/cubesql/src/compile/rewrite/mod.rs +++ b/rust/cubesql/cubesql/src/compile/rewrite/mod.rs @@ -405,7 +405,10 @@ crate::plan_to_language! { members: Vec, aliases: Vec<(String, String)>, }, - FilterSimplifyReplacer { + FilterSimplifyPushDownReplacer { + filters: Vec, + }, + FilterSimplifyPullUpReplacer { filters: Vec, }, OrderReplacer { @@ -1901,8 +1904,12 @@ fn filter_replacer( ) } -fn filter_simplify_replacer(members: impl Display) -> String { - format!("(FilterSimplifyReplacer {})", members) +fn filter_simplify_push_down_replacer(members: impl Display) -> String { + format!("(FilterSimplifyPushDownReplacer {})", members) +} + +fn filter_simplify_pull_up_replacer(members: impl Display) -> String { + format!("(FilterSimplifyPullUpReplacer {})", members) } fn inner_aggregate_split_replacer(members: impl Display, alias_to_cube: impl Display) -> String { diff --git a/rust/cubesql/cubesql/src/compile/rewrite/rewriter.rs b/rust/cubesql/cubesql/src/compile/rewrite/rewriter.rs index a3382be31..488ca241e 100644 --- a/rust/cubesql/cubesql/src/compile/rewrite/rewriter.rs +++ b/rust/cubesql/cubesql/src/compile/rewrite/rewriter.rs @@ -208,7 +208,7 @@ impl Rewriter { .with_iter_limit( env::var("CUBESQL_REWRITE_MAX_ITERATIONS") .map(|v| v.parse::().unwrap()) - .unwrap_or(300), + .unwrap_or(500), ) .with_node_limit( env::var("CUBESQL_REWRITE_MAX_NODES") @@ -473,20 +473,16 @@ impl Rewriter { eval_stable_functions: bool, ) -> Vec { let sql_push_down = Self::sql_push_down_enabled(); - let rules: Vec> = vec![ - Box::new(MemberRules::new( - meta_context.clone(), - config_obj.clone(), - sql_push_down, - )), - Box::new(FilterRules::new( + let rules: &[&dyn RewriteRules] = &[ + &MemberRules::new(meta_context.clone(), config_obj.clone(), sql_push_down), + &FilterRules::new( meta_context.clone(), config_obj.clone(), eval_stable_functions, - )), - Box::new(DateRules::new(config_obj.clone())), - Box::new(OrderRules::new()), - Box::new(CommonRules::new(config_obj.clone())), + ), + &DateRules::new(config_obj.clone()), + &OrderRules::new(), + &CommonRules::new(config_obj.clone()), ]; let mut rewrites = Vec::new(); for r in rules { diff --git a/rust/cubesql/cubesql/src/compile/rewrite/rules/filters.rs b/rust/cubesql/cubesql/src/compile/rewrite/rules/filters.rs index 115a2890f..b54d81c94 100644 --- a/rust/cubesql/cubesql/src/compile/rewrite/rules/filters.rs +++ b/rust/cubesql/cubesql/src/compile/rewrite/rules/filters.rs @@ -6,10 +6,11 @@ use crate::{ between_expr, binary_expr, case_expr, case_expr_var_arg, cast_expr, change_user_member, column_expr, cube_scan, cube_scan_filters, cube_scan_filters_empty_tail, cube_scan_members, dimension_expr, expr_column_name, filter, filter_member, filter_op, filter_op_filters, - filter_op_filters_empty_tail, filter_replacer, filter_simplify_replacer, fun_expr, - fun_expr_args_legacy, fun_expr_var_arg, inlist_expr, inlist_expr_list, is_not_null_expr, - is_null_expr, like_expr, limit, list_rewrite, literal_bool, literal_expr, literal_int, - literal_string, measure_expr, negative_expr, not_expr, projection, rewrite, + filter_op_filters_empty_tail, filter_replacer, filter_simplify_pull_up_replacer, + filter_simplify_push_down_replacer, fun_expr, fun_expr_args_legacy, fun_expr_var_arg, + inlist_expr, inlist_expr_list, is_not_null_expr, is_null_expr, like_expr, limit, + list_rewrite, literal_bool, literal_expr, literal_int, literal_string, measure_expr, + negative_expr, not_expr, projection, rewrite, rewriter::{CubeEGraph, CubeRewrite, RewriteRules}, scalar_fun_expr_args_empty_tail, segment_member, time_dimension_date_range_replacer, time_dimension_expr, transform_original_expr_to_alias, transforming_chain_rewrite, @@ -24,6 +25,7 @@ use crate::{ TimeDimensionGranularity, TimeDimensionName, }, config::ConfigObj, + copy_value, transport::{ext::V1CubeMetaExt, MemberType, MetaContext}, var, var_iter, }; @@ -69,7 +71,7 @@ impl RewriteRules for FilterRules { fn rewrite_rules(&self) -> Vec { let mut rules = vec![ transforming_rewrite( - "push-down-filter", + "push-down-filter-simplify", filter( "?expr", cube_scan( @@ -88,15 +90,7 @@ impl RewriteRules for FilterRules { cube_scan( "?alias_to_cube", "?members", - cube_scan_filters( - "?filters", - filter_replacer( - filter_simplify_replacer("?expr"), - "?filter_alias_to_cube", - "?members", - "?filter_aliases", - ), - ), + cube_scan_filters("?filters", filter_simplify_push_down_replacer("?expr")), "?order", "?limit", "?offset", @@ -105,12 +99,7 @@ impl RewriteRules for FilterRules { "?wrapped", "?ungrouped", ), - self.push_down_filter( - "?alias_to_cube", - "?expr", - "?filter_alias_to_cube", - "?filter_aliases", - ), + self.push_down_filter_simplify("?expr"), ), // Transform Filter: Boolean(False) transforming_rewrite( @@ -272,6 +261,42 @@ impl RewriteRules for FilterRules { ), ), ), + transforming_rewrite( + "push-down-filter-pickup-simplified", + cube_scan( + "?alias_to_cube", + "?members", + cube_scan_filters("?filters", filter_simplify_pull_up_replacer("?filter")), + "?order", + "?limit", + "?offset", + "?split", + "?can_pushdown_join", + "?wrapped", + "?ungrouped", + ), + cube_scan( + "?alias_to_cube", + "?members", + cube_scan_filters( + "?filters", + filter_replacer( + "?filter", + "?filter_alias_to_cube", + "?members", + "?filter_aliases", + ), + ), + "?order", + "?limit", + "?offset", + "?split", + "?can_pushdown_join", + "?wrapped", + "?ungrouped", + ), + self.push_down_filter("?alias_to_cube", "?filter_alias_to_cube", "?filter_aliases"), + ), // Transform Filter: Boolean(True) same as TRUE = TRUE, which is useless transforming_rewrite( "filter-truncate-true", @@ -1867,36 +1892,55 @@ impl RewriteRules for FilterRules { // Simplify rules transforming_rewrite( "filter-simplify-cast-unwrap", - filter_simplify_replacer(cast_expr("?expr", "?data_type")), - // TODO alias to make it equivalent transformation - filter_simplify_replacer("?expr"), + filter_simplify_push_down_replacer(cast_expr("?expr", "?data_type")), + filter_simplify_push_down_replacer("?expr"), self.transform_filter_cast_unwrap("?expr", "?data_type", false), ), transforming_rewrite( "filter-simplify-cast-push-down", - filter_simplify_replacer(cast_expr("?expr", "?data_type")), - cast_expr(filter_simplify_replacer("?expr"), "?data_type"), + filter_simplify_push_down_replacer(cast_expr("?expr", "?data_type")), + cast_expr(filter_simplify_push_down_replacer("?expr"), "?data_type"), self.transform_filter_cast_unwrap("?expr", "?data_type", true), ), + rewrite( + "filter-simplify-cast-pull-up", + cast_expr(filter_simplify_pull_up_replacer("?expr"), "?data_type"), + filter_simplify_pull_up_replacer(cast_expr("?expr", "?data_type")), + ), // Alias + // TODO remove alias completely during simplification, they should be irrelevant in filters rewrite( "filter-simplify-alias-push-down", - filter_simplify_replacer(alias_expr("?expr", "?alias")), - alias_expr(filter_simplify_replacer("?expr"), "?alias"), + filter_simplify_push_down_replacer(alias_expr("?expr", "?alias")), + alias_expr(filter_simplify_push_down_replacer("?expr"), "?alias"), + ), + rewrite( + "filter-simplify-alias-pull-up", + alias_expr(filter_simplify_pull_up_replacer("?expr"), "?alias"), + filter_simplify_pull_up_replacer(alias_expr("?expr", "?alias")), ), // Binary expr rewrite( "filter-simplify-binary-push-down", - filter_simplify_replacer(binary_expr("?left", "?op", "?right")), + filter_simplify_push_down_replacer(binary_expr("?left", "?op", "?right")), binary_expr( - filter_simplify_replacer("?left"), + filter_simplify_push_down_replacer("?left"), "?op", - filter_simplify_replacer("?right"), + filter_simplify_push_down_replacer("?right"), ), ), + rewrite( + "filter-simplify-binary-pull-up", + binary_expr( + filter_simplify_pull_up_replacer("?left"), + "?op", + filter_simplify_pull_up_replacer("?right"), + ), + filter_simplify_pull_up_replacer(binary_expr("?left", "?op", "?right")), + ), rewrite( "filter-simplify-like-push-down", - filter_simplify_replacer(like_expr( + filter_simplify_push_down_replacer(like_expr( "?like_type", "?negated", "?expr", @@ -1906,98 +1950,194 @@ impl RewriteRules for FilterRules { like_expr( "?like_type", "?negated", - filter_simplify_replacer("?expr"), - filter_simplify_replacer("?pattern"), + filter_simplify_push_down_replacer("?expr"), + filter_simplify_push_down_replacer("?pattern"), + "?escape_char", + ), + ), + rewrite( + "filter-simplify-like-pull-up", + like_expr( + "?like_type", + "?negated", + filter_simplify_pull_up_replacer("?expr"), + filter_simplify_pull_up_replacer("?pattern"), "?escape_char", ), + filter_simplify_pull_up_replacer(like_expr( + "?like_type", + "?negated", + "?expr", + "?pattern", + "?escape_char", + )), ), rewrite( "filter-simplify-not-push-down", - filter_simplify_replacer(not_expr("?expr")), - not_expr(filter_simplify_replacer("?expr")), + filter_simplify_push_down_replacer(not_expr("?expr")), + not_expr(filter_simplify_push_down_replacer("?expr")), + ), + rewrite( + "filter-simplify-not-pull-up", + not_expr(filter_simplify_pull_up_replacer("?expr")), + filter_simplify_pull_up_replacer(not_expr("?expr")), ), rewrite( "filter-simplify-inlist-push-down", - filter_simplify_replacer(inlist_expr("?expr", "?list", "?negated")), + filter_simplify_push_down_replacer(inlist_expr("?expr", "?list", "?negated")), // TODO unwrap list as well - inlist_expr(filter_simplify_replacer("?expr"), "?list", "?negated"), + inlist_expr( + filter_simplify_push_down_replacer("?expr"), + "?list", + "?negated", + ), + ), + rewrite( + "filter-simplify-inlist-pull-up", + // TODO unwrap list as well + inlist_expr( + filter_simplify_pull_up_replacer("?expr"), + "?list", + "?negated", + ), + filter_simplify_pull_up_replacer(inlist_expr("?expr", "?list", "?negated")), ), rewrite( "filter-simplify-is-null-push-down", - filter_simplify_replacer(is_null_expr("?expr")), - is_null_expr(filter_simplify_replacer("?expr")), + filter_simplify_push_down_replacer(is_null_expr("?expr")), + is_null_expr(filter_simplify_push_down_replacer("?expr")), + ), + rewrite( + "filter-simplify-is-null-pull-up", + is_null_expr(filter_simplify_pull_up_replacer("?expr")), + filter_simplify_pull_up_replacer(is_null_expr("?expr")), ), rewrite( "filter-simplify-is-not-null-push-down", - filter_simplify_replacer(is_not_null_expr("?expr")), - is_not_null_expr(filter_simplify_replacer("?expr")), + filter_simplify_push_down_replacer(is_not_null_expr("?expr")), + is_not_null_expr(filter_simplify_push_down_replacer("?expr")), ), rewrite( - "filter-simplify-literal-push-down", - filter_simplify_replacer(literal_expr("?literal")), - literal_expr("?literal"), + "filter-simplify-is-not-null-pull-up", + is_not_null_expr(filter_simplify_pull_up_replacer("?expr")), + filter_simplify_pull_up_replacer(is_not_null_expr("?expr")), ), rewrite( - "filter-simplify-column-push-down", - filter_simplify_replacer(column_expr("?column")), - column_expr("?column"), + "filter-simplify-literal", + filter_simplify_push_down_replacer(literal_expr("?literal")), + filter_simplify_pull_up_replacer(literal_expr("?literal")), + ), + rewrite( + "filter-simplify-column", + filter_simplify_push_down_replacer(column_expr("?column")), + filter_simplify_pull_up_replacer(column_expr("?column")), ), // scalar rewrite( "filter-simplify-scalar-fun-push-down", - filter_simplify_replacer(fun_expr_var_arg("?fun", "?args")), - fun_expr_var_arg("?fun", filter_simplify_replacer("?args")), + filter_simplify_push_down_replacer(fun_expr_var_arg("?fun", "?args")), + fun_expr_var_arg("?fun", filter_simplify_push_down_replacer("?args")), + ), + rewrite( + "filter-simplify-scalar-fun-pull-up", + fun_expr_var_arg("?fun", filter_simplify_pull_up_replacer("?args")), + filter_simplify_pull_up_replacer(fun_expr_var_arg("?fun", "?args")), ), rewrite( - "filter-simplify-scalar-args-empty-tail-push-down", - filter_simplify_replacer(scalar_fun_expr_args_empty_tail()), - scalar_fun_expr_args_empty_tail(), + "filter-simplify-scalar-args-empty-tail", + filter_simplify_push_down_replacer(scalar_fun_expr_args_empty_tail()), + filter_simplify_pull_up_replacer(scalar_fun_expr_args_empty_tail()), ), // udf rewrite( "filter-simplify-udf-fun-push-down", - filter_simplify_replacer(udf_expr_var_arg("?fun", "?args")), - udf_expr_var_arg("?fun", filter_simplify_replacer("?args")), + filter_simplify_push_down_replacer(udf_expr_var_arg("?fun", "?args")), + udf_expr_var_arg("?fun", filter_simplify_push_down_replacer("?args")), + ), + rewrite( + "filter-simplify-udf-fun-pull-up", + udf_expr_var_arg("?fun", filter_simplify_pull_up_replacer("?args")), + filter_simplify_pull_up_replacer(udf_expr_var_arg("?fun", "?args")), ), rewrite( "filter-simplify-udf-args-push-down", - filter_simplify_replacer(udf_fun_expr_args("?left", "?right")), + filter_simplify_push_down_replacer(udf_fun_expr_args("?left", "?right")), + udf_fun_expr_args( + filter_simplify_push_down_replacer("?left"), + filter_simplify_push_down_replacer("?right"), + ), + ), + rewrite( + "filter-simplify-udf-args-pull-up", udf_fun_expr_args( - filter_simplify_replacer("?left"), - filter_simplify_replacer("?right"), + filter_simplify_pull_up_replacer("?left"), + filter_simplify_pull_up_replacer("?right"), ), + filter_simplify_pull_up_replacer(udf_fun_expr_args("?left", "?right")), ), rewrite( - "filter-simplify-udf-args-empty-tail-push-down", - filter_simplify_replacer(udf_fun_expr_args_empty_tail()), - udf_fun_expr_args_empty_tail(), + "filter-simplify-udf-args-empty-tail", + filter_simplify_push_down_replacer(udf_fun_expr_args_empty_tail()), + filter_simplify_pull_up_replacer(udf_fun_expr_args_empty_tail()), ), // case rewrite( "filter-simplify-case-push-down", - filter_simplify_replacer(case_expr_var_arg("?expr", "?when_then", "?else")), + filter_simplify_push_down_replacer(case_expr_var_arg( + "?expr", + "?when_then", + "?else", + )), + case_expr_var_arg( + filter_simplify_push_down_replacer("?expr"), + filter_simplify_push_down_replacer("?when_then"), + filter_simplify_push_down_replacer("?else"), + ), + ), + rewrite( + "filter-simplify-case-pull-up", case_expr_var_arg( - filter_simplify_replacer("?expr"), - filter_simplify_replacer("?when_then"), - filter_simplify_replacer("?else"), + filter_simplify_pull_up_replacer("?expr"), + filter_simplify_pull_up_replacer("?when_then"), + filter_simplify_pull_up_replacer("?else"), ), + filter_simplify_pull_up_replacer(case_expr_var_arg("?expr", "?when_then", "?else")), ), rewrite( "filter-simplify-between-push-down", - filter_simplify_replacer(between_expr("?expr", "?negated", "?low", "?high")), + filter_simplify_push_down_replacer(between_expr( + "?expr", "?negated", "?low", "?high", + )), between_expr( + // TODO why expr is not simplified? "?expr", "?negated", - filter_simplify_replacer("?low"), - filter_simplify_replacer("?high"), + filter_simplify_push_down_replacer("?low"), + filter_simplify_push_down_replacer("?high"), ), ), + rewrite( + "filter-simplify-between-pull-up", + between_expr( + // TODO why expr is not simplified? + "?expr", + "?negated", + filter_simplify_pull_up_replacer("?low"), + filter_simplify_pull_up_replacer("?high"), + ), + filter_simplify_pull_up_replacer(between_expr( + "?expr", "?negated", "?low", "?high", + )), + ), filter_simplify_push_down("CaseExprExpr"), - filter_simplify_push_down_tail("CaseExprExpr"), + filter_simplify_pull_up("CaseExprExpr"), + filter_simplify_tail("CaseExprExpr"), filter_simplify_push_down("CaseExprWhenThenExpr"), - filter_simplify_push_down_tail("CaseExprWhenThenExpr"), + filter_simplify_pull_up("CaseExprWhenThenExpr"), + filter_simplify_tail("CaseExprWhenThenExpr"), filter_simplify_push_down("CaseExprElseExpr"), - filter_simplify_push_down_tail("CaseExprElseExpr"), + filter_simplify_pull_up("CaseExprElseExpr"), + filter_simplify_tail("CaseExprElseExpr"), rewrite( "filter-flatten-upper-and-left", cube_scan_filters( @@ -2450,45 +2590,74 @@ impl RewriteRules for FilterRules { "filter-simplify-scalar-args-push-down", ListType::ScalarFunctionExprArgs, ListPattern { - pattern: filter_simplify_replacer("?args"), + pattern: filter_simplify_push_down_replacer("?args"), list_var: "?args".to_string(), elem: "?arg".to_string(), }, ListPattern { pattern: "?new_args".to_string(), list_var: "?new_args".to_string(), - elem: filter_simplify_replacer("?arg"), + elem: filter_simplify_push_down_replacer("?arg"), + }, + )); + rules.push(list_rewrite( + "filter-simplify-scalar-args-pull-up", + ListType::ScalarFunctionExprArgs, + ListPattern { + pattern: "?args".to_string(), + list_var: "?args".to_string(), + elem: filter_simplify_pull_up_replacer("?arg"), + }, + ListPattern { + pattern: filter_simplify_pull_up_replacer("?new_args"), + list_var: "?new_args".to_string(), + elem: "?arg".to_string(), }, )); } else { rules.push(rewrite( "filter-simplify-scalar-args-push-down", - filter_simplify_replacer(fun_expr_args_legacy("?left", "?right")), + filter_simplify_push_down_replacer(fun_expr_args_legacy("?left", "?right")), fun_expr_args_legacy( - filter_simplify_replacer("?left"), - filter_simplify_replacer("?right"), + filter_simplify_push_down_replacer("?left"), + filter_simplify_push_down_replacer("?right"), ), )); + rules.push(rewrite( + "filter-simplify-scalar-args-pull-up", + fun_expr_args_legacy( + filter_simplify_pull_up_replacer("?left"), + filter_simplify_pull_up_replacer("?right"), + ), + filter_simplify_pull_up_replacer(fun_expr_args_legacy("?left", "?right")), + )); } if self.eval_stable_functions { rules.extend(vec![ rewrite( "filter-simplify-now", - filter_simplify_replacer(self.fun_expr("Now", Vec::::new())), - // TODO alias to make it equivalent transformation - udf_expr("eval_now", Vec::::new()), + filter_simplify_push_down_replacer(self.fun_expr("Now", Vec::::new())), + filter_simplify_pull_up_replacer(udf_expr("eval_now", Vec::::new())), ), rewrite( "filter-simplify-utc-timestamp", - filter_simplify_replacer(self.fun_expr("UtcTimestamp", Vec::::new())), - // TODO alias to make it equivalent transformation - udf_expr("eval_utc_timestamp", Vec::::new()), + filter_simplify_push_down_replacer( + self.fun_expr("UtcTimestamp", Vec::::new()), + ), + filter_simplify_pull_up_replacer(udf_expr( + "eval_utc_timestamp", + Vec::::new(), + )), ), rewrite( "filter-simplify-current-date", - filter_simplify_replacer(self.fun_expr("CurrentDate", Vec::::new())), - // TODO alias to make it equivalent transformation - udf_expr("eval_current_date", Vec::::new()), + filter_simplify_push_down_replacer( + self.fun_expr("CurrentDate", Vec::::new()), + ), + filter_simplify_pull_up_replacer(udf_expr( + "eval_current_date", + Vec::::new(), + )), ), ]); } @@ -2513,40 +2682,45 @@ impl FilterRules { fun_expr(fun_name, args, self.config_obj.push_down_pull_up_split()) } + fn push_down_filter_simplify( + &self, + exp_var: &'static str, + ) -> impl Fn(&mut CubeEGraph, &mut Subst) -> bool { + let exp_var = var!(exp_var); + move |egraph, subst| { + // TODO check referenced_expr + egraph.index(subst[exp_var]).data.referenced_expr.is_some() + } + } + fn push_down_filter( &self, alias_to_cube_var: &'static str, - exp_var: &'static str, filter_alias_to_cube_var: &'static str, filter_aliases_var: &'static str, ) -> impl Fn(&mut CubeEGraph, &mut Subst) -> bool { let alias_to_cube_var = var!(alias_to_cube_var); - let exp_var = var!(exp_var); let filter_aliases_var = var!(filter_aliases_var); let filter_alias_to_cube_var = var!(filter_alias_to_cube_var); move |egraph, subst| { - for alias_to_cube in - var_iter!(egraph[subst[alias_to_cube_var]], CubeScanAliasToCube).cloned() - { - if let Some(_referenced_expr) = &egraph.index(subst[exp_var]).data.referenced_expr { - // TODO check referenced_expr - subst.insert( - filter_alias_to_cube_var, - egraph.add(LogicalPlanLanguage::FilterReplacerAliasToCube( - FilterReplacerAliasToCube(alias_to_cube), - )), - ); - - let filter_replacer_aliases = egraph.add( - LogicalPlanLanguage::FilterReplacerAliases(FilterReplacerAliases(vec![])), - ); - subst.insert(filter_aliases_var, filter_replacer_aliases); - - return true; - } + if !copy_value!( + egraph, + subst, + Vec<(String, String)>, + alias_to_cube_var, + CubeScanAliasToCube, + filter_alias_to_cube_var, + FilterReplacerAliasToCube + ) { + return false; } - false + let filter_replacer_aliases = egraph.add(LogicalPlanLanguage::FilterReplacerAliases( + FilterReplacerAliases(vec![]), + )); + subst.insert(filter_aliases_var, filter_replacer_aliases); + + true } } @@ -5015,21 +5189,34 @@ impl FilterRules { fn filter_simplify_push_down(node_type: impl Display) -> CubeRewrite { rewrite( &format!("filter-simplify-{}-push-down", node_type), - filter_simplify_replacer(format!("({} ?left ?right)", node_type)), + filter_simplify_push_down_replacer(format!("({} ?left ?right)", node_type)), + format!( + "({} {} {})", + node_type, + filter_simplify_push_down_replacer("?left"), + filter_simplify_push_down_replacer("?right") + ), + ) +} + +fn filter_simplify_pull_up(node_type: impl Display) -> CubeRewrite { + rewrite( + &format!("filter-simplify-{}-pull-up", node_type), format!( "({} {} {})", node_type, - filter_simplify_replacer("?left"), - filter_simplify_replacer("?right") + filter_simplify_pull_up_replacer("?left"), + filter_simplify_pull_up_replacer("?right") ), + filter_simplify_pull_up_replacer(format!("({} ?left ?right)", node_type)), ) } -fn filter_simplify_push_down_tail(node_type: impl Display) -> CubeRewrite { +fn filter_simplify_tail(node_type: impl Display) -> CubeRewrite { rewrite( - &format!("filter-simplify-{}-empty-tail-push-down", node_type), - filter_simplify_replacer(node_type.to_string()), - node_type.to_string(), + &format!("filter-simplify-{}-empty-tail", node_type), + filter_simplify_push_down_replacer(node_type.to_string()), + filter_simplify_pull_up_replacer(node_type.to_string()), ) } diff --git a/rust/cubesql/cubesql/src/compile/test/mod.rs b/rust/cubesql/cubesql/src/compile/test/mod.rs index 44ea0b0db..ccca09d0d 100644 --- a/rust/cubesql/cubesql/src/compile/test/mod.rs +++ b/rust/cubesql/cubesql/src/compile/test/mod.rs @@ -581,6 +581,7 @@ pub fn sql_generator( ("functions/LEAST".to_string(), "LEAST({{ args_concat }})".to_string()), ("functions/DATEDIFF".to_string(), "DATEDIFF({{ date_part }}, {{ args[1] }}, {{ args[2] }})".to_string()), ("functions/CURRENTDATE".to_string(), "CURRENT_DATE({{ args_concat }})".to_string()), + ("functions/NOW".to_string(), "NOW({{ args_concat }})".to_string()), ("functions/DATE_ADD".to_string(), "DATE_ADD({{ args_concat }})".to_string()), ("functions/CONCAT".to_string(), "CONCAT({{ args_concat }})".to_string()), ("functions/DATE".to_string(), "DATE({{ args_concat }})".to_string()), diff --git a/rust/cubesql/cubesql/src/compile/test/test_wrapper.rs b/rust/cubesql/cubesql/src/compile/test/test_wrapper.rs index 489062c80..474933553 100644 --- a/rust/cubesql/cubesql/src/compile/test/test_wrapper.rs +++ b/rust/cubesql/cubesql/src/compile/test/test_wrapper.rs @@ -572,7 +572,7 @@ WHERE )); } -/// Using NOW() in wrapper should render proper timestamptz in SQL +/// Using NOW() in wrapper should render NOW() in SQL #[tokio::test] async fn test_wrapper_now() { if !Rewriter::sql_push_down_enabled() { @@ -611,10 +611,10 @@ GROUP BY .find_cube_scan_wrapped_sql() .wrapped_sql .sql - .contains("${KibanaSampleDataEcommerce.order_date} >= timestamptz")); + .contains("${KibanaSampleDataEcommerce.order_date} >= NOW()")); } -/// Using NOW() in ungrouped wrapper should render proper timestamptz in SQL +/// Using NOW() in ungrouped wrapper should render NOW() in SQL #[tokio::test] async fn test_wrapper_now_ungrouped() { if !Rewriter::sql_push_down_enabled() { @@ -651,7 +651,7 @@ WHERE .find_cube_scan_wrapped_sql() .wrapped_sql .sql - .contains("${KibanaSampleDataEcommerce.order_date} >= timestamptz")); + .contains("${KibanaSampleDataEcommerce.order_date} >= NOW()")); } #[tokio::test] @@ -1598,3 +1598,49 @@ async fn wrapper_typed_null() { .sql .contains("SUM(CAST(NULL AS DOUBLE))")); } + +/// Tests that exactly same expression in projection and filter have correct alias after rewriting +#[tokio::test] +async fn test_same_expression_in_projection_and_filter() { + if !Rewriter::sql_push_down_enabled() { + return; + } + init_testing_logger(); + + let query_plan = convert_select_to_query_plan( + // language=PostgreSQL + r#" +SELECT + DATE_TRUNC('day', CAST(dim_date0 AS TIMESTAMP)) +FROM MultiTypeCube +WHERE + DATE_TRUNC('day', CAST(dim_date0 AS TIMESTAMP)) >= + '2025-01-01' +GROUP BY + 1 +; + "# + .to_string(), + DatabaseProtocol::PostgreSQL, + ) + .await; + + let physical_plan = query_plan.as_physical_plan().await.unwrap(); + println!( + "Physical plan: {}", + displayable(physical_plan.as_ref()).indent() + ); + + let request = query_plan + .as_logical_plan() + .find_cube_scan_wrapped_sql() + .request; + let dimensions = request.dimensions.unwrap(); + assert_eq!(dimensions.len(), 1); + let dimension = &dimensions[0]; + assert!(dimension.contains("DATE_TRUNC")); + let segments = request.segments.unwrap(); + assert_eq!(segments.len(), 1); + let segment = &segments[0]; + assert!(segment.contains("DATE_TRUNC")); +} From 7f83b93ed03f5e110b991860f46979405586fce2 Mon Sep 17 00:00:00 2001 From: Igor Lukanin Date: Wed, 5 Mar 2025 17:27:41 +0100 Subject: [PATCH 13/49] docs: Update the docs for Visual Model (#9304) --- docs/pages/guides/dbt.mdx | 4 +- .../semantic-layer-sync/_meta.js | 2 +- .../concepts/working-with-joins.mdx | 6 +- .../product/data-modeling/dynamic/jinja.mdx | 6 +- .../cloud/create-data-model.mdx | 5 +- .../databricks/create-data-model.mdx | 7 +- docs/pages/product/workspace.mdx | 14 +- docs/pages/product/workspace/_meta.js | 2 +- docs/pages/product/workspace/data-model.mdx | 58 +----- docs/pages/product/workspace/visual-model.mdx | 164 +++++++++++++++ .../product/workspace/visual-modeler.mdx | 191 ------------------ docs/redirects.json | 5 + 12 files changed, 198 insertions(+), 266 deletions(-) create mode 100644 docs/pages/product/workspace/visual-model.mdx delete mode 100644 docs/pages/product/workspace/visual-modeler.mdx diff --git a/docs/pages/guides/dbt.mdx b/docs/pages/guides/dbt.mdx index e338acd61..80c9d9d04 100644 --- a/docs/pages/guides/dbt.mdx +++ b/docs/pages/guides/dbt.mdx @@ -321,7 +321,7 @@ You can easily customize measures, joins, and pre-aggregation that apply to this very cube, mapped to the `orders` dbt model, and have it side-by-side with other cubes, even of they don't come from dbt. -To inspect rendered cubes, you can use [Data Graph][ref-data-graph], +To inspect rendered cubes, you can use [Visual Model][ref-visual-model], [Playground][ref-playground], or the [`meta` endpoint][ref-rest-api-meta] of the REST API. @@ -351,7 +351,7 @@ of the REST API. [ref-template-context]: /reference/python/cube#templatecontext-class [ref-primary-key]: /reference/data-model/dimensions#primary_key [ref-dimension-types]: /reference/data-model/types-and-formats#dimension-types -[ref-data-graph]: /product/workspace/data-model#data-graph +[ref-visual-model]: /product/workspace/visual-model [ref-playground]: /product/workspace/playground [ref-rest-api-meta]: /product/apis-integrations/rest-api/reference#v1meta diff --git a/docs/pages/product/apis-integrations/semantic-layer-sync/_meta.js b/docs/pages/product/apis-integrations/semantic-layer-sync/_meta.js index 2440b6e1d..e492cf2cc 100644 --- a/docs/pages/product/apis-integrations/semantic-layer-sync/_meta.js +++ b/docs/pages/product/apis-integrations/semantic-layer-sync/_meta.js @@ -1,6 +1,6 @@ module.exports = { "superset": "Apache Superset", - "metabase": "Metabase",≈ + "metabase": "Metabase", "preset": "Preset", "tableau": "Tableau" } \ No newline at end of file diff --git a/docs/pages/product/data-modeling/concepts/working-with-joins.mdx b/docs/pages/product/data-modeling/concepts/working-with-joins.mdx index 9502c4093..c2f651660 100644 --- a/docs/pages/product/data-modeling/concepts/working-with-joins.mdx +++ b/docs/pages/product/data-modeling/concepts/working-with-joins.mdx @@ -978,7 +978,7 @@ The root cause is that joins are [directed](#direction-of-joins) and there's no join path that goes *by join definitions in the data model* from `users` to `companies` or in the opposite direction. -In [Data Graph][ref-data-graph], you can see that both `users` and `companies` +In [Visual Model][ref-visual-model], you can see that both `users` and `companies` are to the right of `companies_to_users`, meaning that there's no way to go from `users` to `companies` moving left to right or right to left: @@ -1047,7 +1047,7 @@ cubes: Now there's a join path that goes *by join definitions in the data model* from -`users` to `companies_to_users` to `companies`. [Data Graph][ref-data-graph] +`users` to `companies_to_users` to `companies`. [Visual Model][ref-visual-model] also shows that you can reach `companies` from `cubes` by going left to right. @@ -1057,4 +1057,4 @@ also shows that you can reach `companies` from `cubes` by going left to right. [ref-schema-ref-joins-relationship]: /reference/data-model/joins#relationship [self-many-to-many-no-assoc-table]: #many-to-many-relationship-without-an-associative-table [self-join-direction]: /product/data-modeling/concepts/working-with-joins#directions-of-joins -[ref-data-graph]: /product/workspace/data-model#data-graph \ No newline at end of file +[ref-visual-model]: /product/workspace/visual-model \ No newline at end of file diff --git a/docs/pages/product/data-modeling/dynamic/jinja.mdx b/docs/pages/product/data-modeling/dynamic/jinja.mdx index bd217ced1..7e65ff515 100644 --- a/docs/pages/product/data-modeling/dynamic/jinja.mdx +++ b/docs/pages/product/data-modeling/dynamic/jinja.mdx @@ -17,8 +17,7 @@ Jinja templates. Please [track this issue](https://github.com/cube-js/cube/issues/8134). As a workaround, you can view the resulting data model in -[Playground](/product/workspace/playground) and -[Data Graph](http://localhost:3000/product/workspace/data-model#data-graph). +[Playground](/product/workspace/playground) and [Visual Model][ref-visual-model]. You can also introspect the data model using the [`/v1/meta` REST API endpoint](/product/apis-integrations/rest-api/reference#v1meta). @@ -253,4 +252,5 @@ If you'd like to split your Python code into several files, see https://jinja.palletsprojects.com/en/3.1.x/templates/#macros [jinja-docs-autoescaping]: https://jinja.palletsprojects.com/en/3.1.x/api/#autoescaping [jinja-docs-filters-safe]: https://jinja.palletsprojects.com/en/3.1.x/templates/#jinja-filters.safe -[ref-cube-dbt]: /reference/python/cube_dbt \ No newline at end of file +[ref-cube-dbt]: /reference/python/cube_dbt +[ref-visual-model]: /product/workspace/visual-model \ No newline at end of file diff --git a/docs/pages/product/getting-started/cloud/create-data-model.mdx b/docs/pages/product/getting-started/cloud/create-data-model.mdx index ea070e534..813437ae4 100644 --- a/docs/pages/product/getting-started/cloud/create-data-model.mdx +++ b/docs/pages/product/getting-started/cloud/create-data-model.mdx @@ -37,7 +37,7 @@ environment. In the previous section, we generated four cubes from the Snowflake schema. To see the data graph of these four cubes and how they are connected to each other, -click the Show Graph button on the Data Model page. +navigate to the [Visual Model][ref-visual-model] page. Let's review the `orders` cube first and update it with additional dimensions and measures. @@ -215,4 +215,5 @@ After saving, you can experiment with your newly created view in the Playground. In the next section, we will learn how to query our `orders_view` using a BI tool. -[ref-member-references]: /product/data-modeling/syntax#references \ No newline at end of file +[ref-member-references]: /product/data-modeling/syntax#references +[ref-visual-model]: /product/workspace/visual-model \ No newline at end of file diff --git a/docs/pages/product/getting-started/databricks/create-data-model.mdx b/docs/pages/product/getting-started/databricks/create-data-model.mdx index 8c89d9da9..f5e5d8413 100644 --- a/docs/pages/product/getting-started/databricks/create-data-model.mdx +++ b/docs/pages/product/getting-started/databricks/create-data-model.mdx @@ -31,8 +31,8 @@ safely make changes to your data model without affecting the production environment. In the previous section, we generated four cubes. To see the data graph of these -four cubes and how they are connected to each other, click the Show -Graph button on the Data Model page. +four cubes and how they are connected to each other, navigate to the +[Visual Model][ref-visual-model] page. Let's review the `orders` cube first and update it with additional dimensions and measures. @@ -210,4 +210,5 @@ After saving, you can experiment with your newly created view in the Playground. In the next section, we will learn how to query our `orders_view` using a BI tool. -[ref-member-references]: /product/data-modeling/syntax#references \ No newline at end of file +[ref-member-references]: /product/data-modeling/syntax#references +[ref-visual-model]: /product/workspace/visual-model \ No newline at end of file diff --git a/docs/pages/product/workspace.mdx b/docs/pages/product/workspace.mdx index c57281d97..6e8c8d799 100644 --- a/docs/pages/product/workspace.mdx +++ b/docs/pages/product/workspace.mdx @@ -14,11 +14,10 @@ and are only available in Cube Cloud. In Cube Cloud, you can: -- Use the [data model editor][ref-data-model] with the [development - mode][ref-dev-mode] and [Rollup Designer][ref-rollup-designer] to build - the data model of your semantic layer. -- Use [Visual Modeler][ref-visual-modeler] to build and edit your data model - using a canvas-based UI. +- Use the code-first [data model editor][ref-data-model] or the no-code [Visual Model][ref-visual-model] +editor to build and enhance the data model of your semantic layer. +- Use the [development mode][ref-dev-mode] and [environments][ref-environments] to +collaborate and test features before going to production. - Use [Playground][ref-playground] to run queries and test the data model. - Use [Chart Prototyping][ref-vizard] to generate code of a front-end application that works with Cube. @@ -29,12 +28,11 @@ to BIs, spreadsheets, and other visualization tools. - Use [Query History][ref-query-history] to observe queries and their performance in real-time. - Use the [pre-aggregations page][ref-pre-aggs] to inspect pre-aggregations - and their build history. + and their build history. Add new pre-aggregations via [Rollup Designer][ref-rollup-designer]. - Use [Performance Insights][ref-perf-insights] to analyze the performance of your deployment as a whole. - Use [Monitoring Integrations][ref-monitoring-integrations] to export logs and metrics to external monitoring tools. -- Access the data model through different [environments][ref-environments]. - Use the [access control page][ref-access-control] to manage users of your Cube Cloud account and [single sign-on][ref-sso]. - Use [Audit Log][ref-audit-log] to review security-related events in your @@ -80,4 +78,4 @@ With Cube Core, you can: [ref-semantic-catalog]: /product/workspace/semantic-catalog [ref-encryption-keys]: /product/workspace/encryption-keys [ref-cube-store-encryption]: /product/caching/running-in-production#data-at-rest-encryption -[ref-visual-modeler]: /product/workspace/visual-modeler \ No newline at end of file +[ref-visual-model]: /product/workspace/visual-model \ No newline at end of file diff --git a/docs/pages/product/workspace/_meta.js b/docs/pages/product/workspace/_meta.js index 6e324c427..8e87b1a25 100644 --- a/docs/pages/product/workspace/_meta.js +++ b/docs/pages/product/workspace/_meta.js @@ -2,7 +2,7 @@ module.exports = { "playground": "Playground", "vizard": "Chart Prototyping", "data-model": "Data Model", - "visual-modeler": "Visual Modeler", + "visual-model": "Visual Model", "rollup-designer": "Rollup Designer", "dev-mode": "Development mode", "environments": "Environments", diff --git a/docs/pages/product/workspace/data-model.mdx b/docs/pages/product/workspace/data-model.mdx index bc0e66dac..24da36c48 100644 --- a/docs/pages/product/workspace/data-model.mdx +++ b/docs/pages/product/workspace/data-model.mdx @@ -1,14 +1,10 @@ ---- -redirect_from: - - /cloud/cube-ide - - /cloud/dev-tools/cube-ide - - /cloud/workspace/cube-ide ---- - # Data Model -With the web-based data model editor, you can write and test and your Cube [data -model][ref-data-modeling] from your browser. +Data model editor provides the code-first experience for building and enhancing the +[data model][ref-data-modeling] of your semantic layer from within your web browser. + +Unlike the [Visual Model][ref-visual-model] editor, it provides the freedom to use all +available data modeling features at the expense of a code-centric experience. @@ -61,44 +57,6 @@ there are any unsaved changes: alt="Unsaved changes warning modal" /> -## Data Graph - - - For Cube Cloud customers on the [Enterprise](https://cube.dev/pricing) tier, - the Data Graph is replaced by [Visual Modeler][ref-visual-modeler]. - Please see the [Visual Modeler page][ref-visual-modeler] for more details. - - -In addition to exploring the code of data model files, you can view the visual -representation of the data model, including relations between cubes. -Click Show Graph in the top right part of the data model editor to -open Data Graph: - - - -Data Graph visualizes [cubes][ref-cubes] and [joins][ref-joins] between them as -an [entity-relationship diagram][wiki-erd] (ERD). It allows to have a bird's-eye -view of the data model and visually detect connected parts, i.e., groups of -cubes that don't have any relationships with other groups. - -For clarity, only dimensions and custom SQL expressions used in joins are shown. -Join [relationship types][ref-join-types] are depicted with the crow's foot -notation: - -- Dash represents `one` in `one_to_one` and `one_to_many` types -- Crow's foot represents `many` in `one_to_many` and `many_to_one` types - -You can pan and zoom the visualization, search cubes using the input box, hover -over cubes to highlight their relationships, and click Show Code to -view their code. - - - ## Git integration To add more Git branches to your Cube Cloud deployment and/or switch between @@ -162,10 +120,6 @@ If you'd like to use the UI to create a pre-aggregation, you can click on the /> [ref-data-modeling]: /product/data-modeling/overview -[ref-cubes]: /reference/data-model/cube -[ref-joins]: /reference/data-model/joins -[ref-join-types]: /reference/data-model/joins#relationship -[wiki-erd]: https://en.wikipedia.org/wiki/Entity–relationship_model [ref-rollup-designer]: /product/workspace/rollup-designer [ref-creating-deployment]: /product/deployment/cloud/deployments#creating-a-new-deployment -[ref-visual-modeler]: /product/workspace/visual-modeler \ No newline at end of file +[ref-visual-model]: /product/workspace/visual-model \ No newline at end of file diff --git a/docs/pages/product/workspace/visual-model.mdx b/docs/pages/product/workspace/visual-model.mdx new file mode 100644 index 000000000..26bc72c6b --- /dev/null +++ b/docs/pages/product/workspace/visual-model.mdx @@ -0,0 +1,164 @@ +# Visual Model + +Visual Model editor provides the visual, no-code experience for building and enhancing +the [data model][ref-data-modeling] of your semantic layer from within your web browser. + +Unlike the code-first [data model][ref-data-model] editor, Visual Model allows non-technical +users to participate in data modeling without writing code. However, it does not support +some advanced data modeling features listed as known [limitations](#limitations). + + + +Visual Model is available in Cube Cloud on +[Premium and above](https://cube.dev/pricing) product tiers. + + + + + +Visual Model extends and replaces the [Data Graph](https://cube.dev/blog/introducing-data-graph) +feature. + + + + + +## Prerequisites + +Visual Model integrates with the [development mode][ref-dev-mode], +[environments][ref-environments], and [continuous deployment][ref-continuous-deployment] +in Cube Cloud. + +Once you start editing the data model in Visual Model editor, you will automatically +enter the development mode, so you can safely make changes and test them in +[Playground][ref-playground] without affecting your production deployment. + +When you are ready to deploy your changes, it is recommended to create a pull request, +which should be reviewed before merging to the production environment. + +## Working with cubes + +You can see [cubes][ref-cubes] on the Cubes tab of Visual Model. + +Cubes are represented as rectangles on the canvas with [joins][ref-joins] between them as +an [entity-relationship diagram][wiki-erd] (ERD). You can pan and zoom the canvas and +search cubes using the input box. + +### Adding cubes + +To add a cube from scratch, click the + Add Cube button. + +You can also generate the data model for a new cube based on the database schema. +To do so, click the + Generate Cube button. It will bring up the +modal window where you can select a table from your data source: + + + +### Editing cubes + +To edit a cube, click it on the canvas. Then, in the sidebar, click the Edit +button. This will bring up the modal window where you can edit the cube's details: + + + +Yu can also click + Add → Dimension, + Add → Measure, or ++ Add → Access Policy to quickly add respective members to the cube. + +### Working with joins + +You can add or edit joins via the Relationships tab while you're +[editing a cube](#editing-cube). + +You can also add joins visually by dragging a line on the canvas from the side of one +dimension to another: + + + +## Working with views + +You can see views on the Views tab of Visual Model. + +Views are represented as rectangles on the canvas. Cubes that are involved in a view +and provide members for it, are shown to the left of the view. + +### Adding views + +To add a view, click the + Add View button. It will bring up a dialog where you +can choose the base cube, set the view details such as name and title, and add join paths. + + + +### Editing views + +To edit a views, click it on the canvas. Then, in the sidebar, click the Edit +button. + +## YAML mode + +All modal windows mentioned above provide the option to use the _YAML mode_ which can be +entered by clicking the Edit with YAML button. + +In this mode, you can see and edit the data model represented using the [YAML syntax][ref-yaml-syntax]. +That allows you to work around known [limitations](#limitations) and use all data modeling +features while staying in Visual Model editor. + + + +## Limitations + +Visual Model does not intend to support all available data modeling features. +You always have options to use the [YAML mode](#yaml-mode) in Visual Model or switch the +code-first [data model editor][ref-data-model]. + +Currently, Visual Model does not support the following features in its UI: + +* Editing of [meta information][ref-meta] for cubes, views, and their members. +* Editing [segments][ref-segments], [hierarchies][ref-hierarchies], and [refresh keys][ref-refresh-keys] in cubes. +* Editing [folders][ref-folders] in views. +* Adding [subquery dimensions][ref-sub-query] and time dimensions with [custom granularities][ref-granularities] in cubes. +* Adding [drill members][ref-drill-members] and [rolling window][ref-rolling-window] measures in cubes. +* Adding [pre-aggregations][ref-pre-aggregations]. +* Removing cubes and views. + +Cubes and views using these data modeling features will still be displayed in +Visual Model. However, those features can only be edited via the [YAML mode](#yaml-mode) +or in the code-forst data model editor. + +Additionally, Visual Model only allows editing of cubes and views that are +defined using the [YAML syntax][ref-yaml-syntax] (not JavaScript). Also, it does not +allow editing of [dynamic data models][ref-dynamic-data-models] or models which use +[Jinja][ref-jinja]. + + +[ref-data-modeling]: /product/data-modeling/overview +[ref-data-model]: /product/workspace/data-model +[ref-meta]: /reference/data-model/cube#meta +[ref-segments]: /reference/data-model/segments +[ref-hierarchies]: /reference/data-model/hierarchies +[ref-folders]: /reference/data-model/view#folders +[ref-refresh-keys]: /reference/data-model/cube#refresh_key +[ref-pre-aggregations]: /reference/data-model/pre-aggregations +[ref-sub-query]: /reference/data-model/dimensions#sub_query +[ref-granularities]: /reference/data-model/dimensions#granularities +[ref-drill-members]: /reference/data-model/measures#drill_members +[ref-rolling-window]: /reference/data-model/measures#rolling_window +[ref-dynamic-data-models]: /product/data-modeling/dynamic +[ref-jinja]: /product/data-modeling/dynamic/jinja +[ref-continuous-deployment]: /product/deployment/cloud/continuous-deployment +[ref-yaml-syntax]: /product/data-modeling/syntax#model-syntax +[ref-dev-mode]: /product/workspace/dev-mode +[ref-environments]: /product/workspace/environments +[ref-playground]: /product/workspace/playground +[ref-cubes]: /reference/data-model/cube +[ref-joins]: /reference/data-model/joins +[ref-join-types]: /reference/data-model/joins#relationship +[wiki-erd]: https://en.wikipedia.org/wiki/Entity–relationship_model \ No newline at end of file diff --git a/docs/pages/product/workspace/visual-modeler.mdx b/docs/pages/product/workspace/visual-modeler.mdx deleted file mode 100644 index 83405151c..000000000 --- a/docs/pages/product/workspace/visual-modeler.mdx +++ /dev/null @@ -1,191 +0,0 @@ -# Visual Modeler - -With Cube Visual Modeler, non-technical users can actively participate in data -modeling without writing a single line of code, and code-proficient engineers -have the option of working in code or no-code. - - - -Visual Modeler is available in Cube Cloud on -[Enterprise](https://cube.dev/pricing) tier. -[Contact us](https://cube.dev/contact) for details. - - - - - Cube Visual Modeler is currently in preview. - - - - -## Getting started -Contact your Cube account team to enable Cube Visual Modeler. - - - Cube Visual Modeler replaces the [Data Graph][ref-data-graph] for accounts - where it is enabled. All functionality of the Data Graph is still present in - Visual Modeler plus new features to allow visual editing of your Cube data - model. - - -For existing developers who are comfortable writing code, there is nothing -additional needed to set up Visual Modeler. They can simply use it alongside -their existing code-first workflow. - -If you would like business users to have self-serve access to Visual Modeler, -we recommend the following setup: -1. In your Cube deployment's settings, under the Build & Deploy tab, connect -it to a Git repository. -2. Disable direct commits to the main branch and disable merging to the main branch. - -See the [Continuous deployment][ref-continuous-deployment] page for more information. - -This way, business users can submit pull requests for an admin to review via -Cube's git integration but do not have the ability to merge their own changes. -This allows you to govern your Cube data model while letting users who are less -comfortable with code make contributions via Visual Modeler. - -## Using Visual Modeler - -Cube Visual Modeler lets you see and edit your Cube data model in an easy-to-use, -graphical interface. You can also switch seamlessly between Visual Modeler and -the original code-based [Data Model editor][ref-data-model] depending on your needs. - - - -To open Visual Modeler, click on the Show Canvas button in the top -right of the [Data Model][ref-data-model] page. Visual Modeler will stay open -until you go back to the code editor by clicking the View Code -button or Show Code on any cube or view node. - -## Cubes - -### Adding cubes - -To add a cube, click the Add Cube button in the top left of the Visual Modeler -screen. This brings up the Add Cube dialog where you can select a table from your -database, choose dimensions and primary keys, and review your choices before -submitting. - - - Note that you cannot add measures at this step. To do so, first add your cube, - then follow the instructions in [Editing cubes](#editing-cubes) or [Adding - dimensions and measures](#adding-dimensions-and-measures) below. - - - - -### Editing cubes - -To edit a cube, first select the cube on the canvas by clicking on it. Then, in -the sidebar, click Edit in the top right. This brings up a modal where you can -edit the cube's details (name, title, SQL, etc.), dimensions, measures, and -relationships. - -You may use this dialog to add dimensions, measures, and joins, or do so via the -[Adding dimensions and measures](#adding-dimensions-and-measures) and [Working -with joins](#working-with-joins) sections below. - - - -### Adding dimensions and measures - -To add a dimension or measure, first select a cube on the canvas by clicking on -it. Them, in the sidebar, click Add Dimension or Add Measure. - - - -### Working with joins - -You can add or edit joins via the "Relationships" section of the Edit Cube dialog -(see "[Editing cubes](#editing-cubes)" above). - -Visual Modeler also lets you add joins visually by dragging a line on the canvas -from the side of one dimension to another. - - - -## Views - -### Adding views -To add a view, click the Views tab at the top of the canvas. Then, click Add -View. This brings up a dialog where you can choose the base cube, set the view -details such as name and title, and add joins and join paths. - - - -### Editing views - -The same dialog may be used to edit existing views by selecting the view in the -dropdown, clicking on it in the canvas, and clicking Edit in the sidebar. - -## YAML mode - -All the dialogs mentioned above have a "YAML mode" where you can see and edit -the Cube YAML generated by Visual Modeler. This lets you add properties that -are not natively supported by the Visual Modeler GUI (for example [meta -tags][ref-meta]) or inspect the YAML you've generated before submitting it. - -To access YAML mode, click the Create with YAML or Edit with YAML button -at the bottom of the dialog. - - - -## Limitations - -Cube Visual Modeler does not natively support some features of the Cube data -model when adding or editing cubes and views. However, these may be added via -[YAML mode](#yaml-mode) or in the [data model code editor][ref-data-model]. - -For example, the following are not included in Visual Modeler: -- [Meta tags][ref-meta] -- [Segments][ref-segments] -- [Refresh keys][ref-refresh-keys], [pre-aggregations][ref-pre-aggregations], [subqueries][ref-sub-query], or [granularities][ref-granularities] on dimensions -- [Drill members][ref-drill-members] or [rolling windows][ref-rolling-window] on measures - -Cubes and views using those features will still be displayed in -Visual Modeler, but those fields can only be edited via [YAML mode](#yaml-mode) -or in the code editor. - -Additionally, Visual Modeler only allows editing of cubes and views that are -defined in YAML, not JavaScript, and it does not allow editing of [dynamic data -models][ref-dynamic-data-models] or models which use [Jinja][ref-jinja], although -they will still be displayed on the canvas. - -[ref-data-graph]: /product/workspace/data-model#data-graph -[ref-data-model]: /product/workspace/data-model -[ref-meta]: /reference/data-model/cube#meta -[ref-segments]: /reference/data-model/segments -[ref-refresh-keys]: /reference/data-model/cube#refresh_key -[ref-pre-aggregations]: /reference/data-model/pre-aggregations -[ref-sub-query]: /reference/data-model/dimensions#sub_query -[ref-granularities]: /reference/data-model/dimensions#granularities -[ref-drill-members]: /reference/data-model/measures#drill_members -[ref-rolling-window]: /reference/data-model/measures#rolling_window -[ref-dynamic-data-models]: /product/data-modeling/dynamic -[ref-jinja]: /product/data-modeling/dynamic/jinja -[ref-continuous-deployment]: /product/deployment/cloud/continuous-deployment \ No newline at end of file diff --git a/docs/redirects.json b/docs/redirects.json index dd98aef06..6155b8fb3 100644 --- a/docs/redirects.json +++ b/docs/redirects.json @@ -1,4 +1,9 @@ [ + { + "source": "/product/workspace/visual-modeler", + "destination": "/product/workspace/visual-model", + "permanent": true + }, { "source": "/product/apis-integrations/semantic-layer-sync/power-bi", "destination": "/product/configuration/visualization-tools/powerbi", From a21838d17841c5026ab91dc079cd6824ee4b1e6c Mon Sep 17 00:00:00 2001 From: Konstantin Burkalev Date: Wed, 5 Mar 2025 18:46:35 +0200 Subject: [PATCH 14/49] fix(schema-compiler): Fix ORDER BY clause generation for queries with td with filters (#9296) * fix(schema-compiler): Fix ORDER BY clause generation for queries with td with filters * add tests --- .../src/adapter/BaseQuery.js | 10 +++- .../test/unit/base-query.test.ts | 57 +++++++++++++++++++ 2 files changed, 64 insertions(+), 3 deletions(-) diff --git a/packages/cubejs-schema-compiler/src/adapter/BaseQuery.js b/packages/cubejs-schema-compiler/src/adapter/BaseQuery.js index 71a0cdef9..ecad9eacf 100644 --- a/packages/cubejs-schema-compiler/src/adapter/BaseQuery.js +++ b/packages/cubejs-schema-compiler/src/adapter/BaseQuery.js @@ -2191,9 +2191,13 @@ export class BaseQuery { let index; - index = this.dimensionsForSelect().findIndex( - d => equalIgnoreCase(d.dimension, id) || equalIgnoreCase(d.expressionName, id) - ); + index = this.dimensionsForSelect() + // Not all time dimensions are used in select list, some are just filters, + // but they exist in this.timeDimensions, so need to filter them out + .filter(d => d.selectColumns()) + .findIndex( + d => equalIgnoreCase(d.dimension, id) || equalIgnoreCase(d.expressionName, id) + ); if (index > -1) { return index + 1; diff --git a/packages/cubejs-schema-compiler/test/unit/base-query.test.ts b/packages/cubejs-schema-compiler/test/unit/base-query.test.ts index 6a4752d60..b1c2c27cc 100644 --- a/packages/cubejs-schema-compiler/test/unit/base-query.test.ts +++ b/packages/cubejs-schema-compiler/test/unit/base-query.test.ts @@ -5,6 +5,7 @@ import { createCubeSchema, createCubeSchemaWithCustomGranularities, createCubeSchemaYaml, + createECommerceSchema, createJoinedCubesSchema, createSchemaYaml, createSchemaYamlForGroupFilterParamsTests @@ -360,6 +361,62 @@ describe('SQL Generation', () => { const expectedParams = ['type_value', 'not_type_value', '3']; expect(queryAndParams[1]).toEqual(expectedParams); }); + + it('Simple query - order by for query with filtered timeDimension', async () => { + const compilersLocal = prepareYamlCompiler( + createSchemaYaml(createECommerceSchema()) + ); + + await compilersLocal.compiler.compile(); + + let query = new PostgresQuery(compilersLocal, { + measures: [ + 'orders.count' + ], + timeDimensions: [ + { + dimension: 'orders.updated_at', + granularity: 'week' + }, + { + dimension: 'orders.created_at', + dateRange: [ + '2016-01-01', + '2018-01-01' + ] + }, + ], + order: [{ id: 'orders.updated_at', desc: false }], + }); + + let queryAndParams = query.buildSqlAndParams(); + expect(queryAndParams[0].includes('ORDER BY 1')).toBeTruthy(); + + // The order of time dimensions should have no effect on the `ORDER BY` clause + + query = new PostgresQuery(compilersLocal, { + measures: [ + 'orders.count' + ], + timeDimensions: [ + { + dimension: 'orders.created_at', + dateRange: [ + '2016-01-01', + '2018-01-01' + ] + }, + { + dimension: 'orders.updated_at', + granularity: 'week' + } + ], + order: [{ id: 'orders.updated_at', desc: false }], + }); + + queryAndParams = query.buildSqlAndParams(); + expect(queryAndParams[0].includes('ORDER BY 1')).toBeTruthy(); + }); }); describe('Custom granularities', () => { From 0923075526c53b00f62a6b365587a0b87b34d25e Mon Sep 17 00:00:00 2001 From: Konstantin Burkalev Date: Wed, 5 Mar 2025 19:53:52 +0200 Subject: [PATCH 15/49] fix(query-orchestrator): Fix dropping temp tables during pre-agg creation (#9295) --- .../src/orchestrator/PreAggregationLoader.ts | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/packages/cubejs-query-orchestrator/src/orchestrator/PreAggregationLoader.ts b/packages/cubejs-query-orchestrator/src/orchestrator/PreAggregationLoader.ts index f559998a5..716f5ba2b 100644 --- a/packages/cubejs-query-orchestrator/src/orchestrator/PreAggregationLoader.ts +++ b/packages/cubejs-query-orchestrator/src/orchestrator/PreAggregationLoader.ts @@ -618,7 +618,7 @@ export class PreAggregationLoader { dropSourceTempTable: boolean, ) { if (withTempTable && dropSourceTempTable) { - await this.withDropLock(false, async () => { + await this.withDropLock(`drop-temp-table:${this.preAggregation.dataSource}:${targetTableName}`, async () => { this.logger('Dropping source temp table', queryOptions); const actualTables = await client.getTablesQuery(this.preAggregation.preAggregationsSchema); @@ -965,8 +965,7 @@ export class PreAggregationLoader { }); } - private async withDropLock(external: boolean, lockFn: () => MaybeCancelablePromise): Promise { - const lockKey = this.dropLockKey(external); + private async withDropLock(lockKey: string, lockFn: () => MaybeCancelablePromise): Promise { return this.queryCache.withLock(lockKey, 60 * 5, lockFn); } @@ -979,7 +978,7 @@ export class PreAggregationLoader { ) { await this.preAggregations.addTableUsed(justCreatedTable); - return this.withDropLock(external, async () => { + return this.withDropLock(this.dropOrphanedLockKey(external), async () => { this.logger('Dropping orphaned tables', { ...queryOptions, external }); const actualTables = await client.getTablesQuery( this.preAggregation.preAggregationsSchema, @@ -1039,7 +1038,7 @@ export class PreAggregationLoader { }); } - private dropLockKey(external: boolean) { + private dropOrphanedLockKey(external: boolean) { return external ? 'drop-orphaned-tables-external' : `drop-orphaned-tables:${this.preAggregation.dataSource}`; From 322b50289e3d3ac31375226a302d1bfb35338a85 Mon Sep 17 00:00:00 2001 From: Konstantin Burkalev Date: Wed, 5 Mar 2025 20:15:26 +0200 Subject: [PATCH 16/49] chore(ci): Upgrade outdated GitHub runners (#9298) * bold attempt to upgrade runners * fix mongodb-bi version * drop 2017-latest MSSQL from tests * fix integrations tests CI Run * dedup testcontainers package * fix missed 2017-latest version * attempt to fix Build cross image * enable debug for mongobi * revert mongobi * edit to run integration tests on 2404 * try to update Build cross image to 2404 * use 22.04 for native builds --- .github/actions/integration/mssql.sh | 7 -- .github/workflows/cloud.yml | 4 +- .github/workflows/cross-images.yml | 2 +- .github/workflows/drivers-tests.yml | 8 +- .github/workflows/examples-publish.yml | 56 +++++----- .github/workflows/issue-labeler.yml | 2 +- .github/workflows/master.yml | 9 +- .github/workflows/post-release.yml | 6 +- .github/workflows/pr.yml | 2 +- .github/workflows/publish.yml | 13 +-- .github/workflows/push.yml | 20 ++-- .github/workflows/rust-cubesql.yml | 3 +- .github/workflows/rust-cubestore-master.yml | 7 +- .github/workflows/rust-cubestore.yml | 7 +- packages/cubejs-crate-driver/package.json | 4 +- packages/cubejs-druid-driver/package.json | 2 +- packages/cubejs-mongobi-driver/package.json | 2 +- .../cubejs-mongobi-driver/test/Dockerfile | 2 +- packages/cubejs-mysql-driver/package.json | 2 +- packages/cubejs-pinot-driver/package.json | 2 +- packages/cubejs-postgres-driver/package.json | 4 +- packages/cubejs-prestodb-driver/package.json | 2 +- packages/cubejs-questdb-driver/package.json | 4 +- packages/cubejs-schema-compiler/package.json | 2 +- .../test/integration/mssql/MSSqlDbRunner.js | 2 +- packages/cubejs-testing-drivers/package.json | 2 +- .../src/db-container-runners/mssql.ts | 2 +- yarn.lock | 102 +++--------------- 28 files changed, 101 insertions(+), 179 deletions(-) diff --git a/.github/actions/integration/mssql.sh b/.github/actions/integration/mssql.sh index 1751f4464..7545cdcdc 100755 --- a/.github/actions/integration/mssql.sh +++ b/.github/actions/integration/mssql.sh @@ -4,13 +4,6 @@ set -eo pipefail # Debug log for test containers export DEBUG=testcontainers -export TEST_MSSQL_VERSION=2017-latest - -echo "::group::MSSQL ${TEST_MSSQL_VERSION}"; -docker pull mcr.microsoft.com/mssql/server:${TEST_MSSQL_VERSION} -yarn lerna run --concurrency 1 --stream --no-prefix integration:mssql -echo "::endgroup::" - export TEST_MSSQL_VERSION=2019-latest echo "::group::MSSQL ${TEST_MSSQL_VERSION}"; diff --git a/.github/workflows/cloud.yml b/.github/workflows/cloud.yml index f89759d78..932af98f7 100644 --- a/.github/workflows/cloud.yml +++ b/.github/workflows/cloud.yml @@ -30,7 +30,7 @@ env: jobs: latest-tag-sha: - runs-on: ubuntu-20.04 + runs-on: ubuntu-24.04 outputs: sha: ${{ steps.get-tag.outputs.sha }} steps: @@ -55,7 +55,7 @@ jobs: integration-cloud: needs: latest-tag-sha if: (needs['latest-tag-sha'].outputs.sha != github.sha) - runs-on: ubuntu-20.04 + runs-on: ubuntu-24.04 timeout-minutes: 60 strategy: diff --git a/.github/workflows/cross-images.yml b/.github/workflows/cross-images.yml index 31fd5eece..3a465008a 100644 --- a/.github/workflows/cross-images.yml +++ b/.github/workflows/cross-images.yml @@ -15,7 +15,7 @@ on: jobs: docker-dev: name: Build cross image for ${{ matrix.target }} target - runs-on: ubuntu-20.04 + runs-on: ubuntu-24.04 timeout-minutes: 120 strategy: matrix: diff --git a/.github/workflows/drivers-tests.yml b/.github/workflows/drivers-tests.yml index 1a329a94a..ec9d3a16d 100644 --- a/.github/workflows/drivers-tests.yml +++ b/.github/workflows/drivers-tests.yml @@ -63,7 +63,7 @@ env: jobs: latest-tag-sha: - runs-on: ubuntu-20.04 + runs-on: ubuntu-24.04 outputs: sha: ${{ steps.get-tag.outputs.sha }} steps: @@ -86,7 +86,7 @@ jobs: OUT: ${{ steps.get-tag.outputs.sha }} native_linux: - runs-on: ubuntu-20.04 + runs-on: ubuntu-24.04 timeout-minutes: 60 name: Build native Linux ${{ matrix.node-version }} ${{ matrix.target }} Python ${{ matrix.python-version }} strategy: @@ -149,7 +149,7 @@ jobs: build: needs: [latest-tag-sha, native_linux] if: (needs['latest-tag-sha'].outputs.sha != github.sha) - runs-on: ubuntu-20.04 + runs-on: ubuntu-24.04 timeout-minutes: 30 env: DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }} @@ -196,7 +196,7 @@ jobs: path: image.tar.gz tests: - runs-on: ubuntu-20.04 + runs-on: ubuntu-24.04 timeout-minutes: 30 needs: [latest-tag-sha, build] if: (needs['latest-tag-sha'].outputs.sha != github.sha) diff --git a/.github/workflows/examples-publish.yml b/.github/workflows/examples-publish.yml index 8496925d8..22a453fc7 100644 --- a/.github/workflows/examples-publish.yml +++ b/.github/workflows/examples-publish.yml @@ -12,7 +12,7 @@ on: jobs: clickhouse-multi-tenancy: - runs-on: ubuntu-20.04 + runs-on: ubuntu-24.04 timeout-minutes: 30 steps: @@ -38,7 +38,7 @@ jobs: EXAMPLE_CUBE_SKIP: 1 clickhouse-multiple-sources: - runs-on: ubuntu-20.04 + runs-on: ubuntu-24.04 timeout-minutes: 30 steps: @@ -64,7 +64,7 @@ jobs: EXAMPLE_CUBE_SKIP: 1 apollo-federation: - runs-on: ubuntu-20.04 + runs-on: ubuntu-24.04 timeout-minutes: 30 steps: @@ -89,7 +89,7 @@ jobs: EXAMPLE_CUBE_SKIP: 1 ksql: - runs-on: ubuntu-20.04 + runs-on: ubuntu-24.04 timeout-minutes: 30 steps: @@ -114,7 +114,7 @@ jobs: EXAMPLE_CUBE_SKIP: 1 hasura-remote-schema: - runs-on: ubuntu-20.04 + runs-on: ubuntu-24.04 timeout-minutes: 30 steps: @@ -139,7 +139,7 @@ jobs: EXAMPLE_CUBE_SKIP: 1 angular-dashboard: - runs-on: ubuntu-20.04 + runs-on: ubuntu-24.04 timeout-minutes: 30 steps: @@ -164,7 +164,7 @@ jobs: NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }} compare-date-range: - runs-on: ubuntu-20.04 + runs-on: ubuntu-24.04 timeout-minutes: 30 steps: @@ -188,7 +188,7 @@ jobs: NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }} clickhouse-dashboard: - runs-on: ubuntu-20.04 + runs-on: ubuntu-24.04 timeout-minutes: 30 steps: @@ -212,7 +212,7 @@ jobs: NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }} d3-dashboard: - runs-on: ubuntu-20.04 + runs-on: ubuntu-24.04 timeout-minutes: 30 steps: @@ -236,7 +236,7 @@ jobs: NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }} data-blending: - runs-on: ubuntu-20.04 + runs-on: ubuntu-24.04 timeout-minutes: 30 steps: @@ -260,7 +260,7 @@ jobs: NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }} drill-downs: - runs-on: ubuntu-20.04 + runs-on: ubuntu-24.04 timeout-minutes: 30 steps: @@ -284,7 +284,7 @@ jobs: NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }} ecom-backend: - runs-on: ubuntu-20.04 + runs-on: ubuntu-24.04 timeout-minutes: 30 steps: @@ -309,7 +309,7 @@ jobs: NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }} external-rollups: - runs-on: ubuntu-20.04 + runs-on: ubuntu-24.04 timeout-minutes: 30 steps: @@ -333,7 +333,7 @@ jobs: NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }} hacktoberfest: - runs-on: ubuntu-20.04 + runs-on: ubuntu-24.04 timeout-minutes: 30 steps: @@ -358,7 +358,7 @@ jobs: NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }} mapbox: - runs-on: ubuntu-20.04 + runs-on: ubuntu-24.04 timeout-minutes: 30 steps: @@ -382,7 +382,7 @@ jobs: NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }} react-dashboard: - runs-on: ubuntu-20.04 + runs-on: ubuntu-24.04 timeout-minutes: 30 steps: @@ -406,7 +406,7 @@ jobs: NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }} react-muze: - runs-on: ubuntu-20.04 + runs-on: ubuntu-24.04 timeout-minutes: 30 steps: @@ -430,7 +430,7 @@ jobs: NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }} real-time-dashboard: - runs-on: ubuntu-20.04 + runs-on: ubuntu-24.04 timeout-minutes: 30 steps: @@ -454,7 +454,7 @@ jobs: NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }} web-analytics: - runs-on: ubuntu-20.04 + runs-on: ubuntu-24.04 timeout-minutes: 30 steps: @@ -478,7 +478,7 @@ jobs: NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }} auth0: - runs-on: ubuntu-20.04 + runs-on: ubuntu-24.04 timeout-minutes: 30 steps: @@ -502,7 +502,7 @@ jobs: NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }} bigquery-public-datasets: - runs-on: ubuntu-20.04 + runs-on: ubuntu-24.04 timeout-minutes: 30 steps: @@ -526,7 +526,7 @@ jobs: NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }} google-charts-moma: - runs-on: ubuntu-20.04 + runs-on: ubuntu-24.04 timeout-minutes: 30 steps: @@ -551,7 +551,7 @@ jobs: NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }} deepnote: - runs-on: ubuntu-20.04 + runs-on: ubuntu-24.04 timeout-minutes: 30 steps: @@ -577,7 +577,7 @@ jobs: EXAMPLE_FRONTEND_SUBDIRECTORY: './' graphql-api-metrics-dashboard: - runs-on: ubuntu-20.04 + runs-on: ubuntu-24.04 timeout-minutes: 30 steps: @@ -602,7 +602,7 @@ jobs: EXAMPLE_FRONTEND_SUBDIRECTORY: './' multi-tenant-analytics: - runs-on: ubuntu-20.04 + runs-on: ubuntu-24.04 timeout-minutes: 30 steps: @@ -626,7 +626,7 @@ jobs: NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }} multitenancy-workshop: - runs-on: ubuntu-20.04 + runs-on: ubuntu-24.04 timeout-minutes: 30 steps: @@ -650,7 +650,7 @@ jobs: NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }} aws-web-analytics: - runs-on: ubuntu-20.04 + runs-on: ubuntu-24.04 timeout-minutes: 30 steps: @@ -675,7 +675,7 @@ jobs: EXAMPLE_FRONTEND_SUBDIRECTORY: 'analytics-dashboard' event-analytics: - runs-on: ubuntu-20.04 + runs-on: ubuntu-24.04 timeout-minutes: 30 steps: diff --git a/.github/workflows/issue-labeler.yml b/.github/workflows/issue-labeler.yml index d49296bab..7d6f64ea3 100644 --- a/.github/workflows/issue-labeler.yml +++ b/.github/workflows/issue-labeler.yml @@ -6,7 +6,7 @@ on: jobs: main: name: Process Label Action - runs-on: ubuntu-20.04 + runs-on: ubuntu-24.04 steps: - uses: actions/checkout@v4 - name: Process Label Action diff --git a/.github/workflows/master.yml b/.github/workflows/master.yml index a7fd8342b..6f4d80377 100644 --- a/.github/workflows/master.yml +++ b/.github/workflows/master.yml @@ -20,7 +20,7 @@ env: CUBEJS_TESSERACT_ORCHESTRATOR: true jobs: latest-tag-sha: - runs-on: ubuntu-20.04 + runs-on: ubuntu-24.04 outputs: sha: ${{ steps.get-tag.outputs.sha }} steps: @@ -43,7 +43,8 @@ jobs: OUT: ${{ steps.get-tag.outputs.sha }} build_native_linux: - runs-on: ubuntu-20.04 + # Please use minimal possible version of ubuntu, because it produces constraint on glibc + runs-on: ubuntu-22.04 timeout-minutes: 60 name: Build Linux Native backend for Dev image container: @@ -93,7 +94,7 @@ jobs: docker-image-dev: name: Release :dev image needs: [latest-tag-sha, build_native_linux] - runs-on: ubuntu-20.04 + runs-on: ubuntu-24.04 if: (needs['latest-tag-sha'].outputs.sha != github.sha) steps: - name: Check out the repo @@ -133,7 +134,7 @@ jobs: trigger-test-suites: name: Trigger test suites run - runs-on: ubuntu-20.04 + runs-on: ubuntu-24.04 needs: [docker-image-dev] timeout-minutes: 60 steps: diff --git a/.github/workflows/post-release.yml b/.github/workflows/post-release.yml index 6dc6cdd39..dc5f75028 100644 --- a/.github/workflows/post-release.yml +++ b/.github/workflows/post-release.yml @@ -19,7 +19,7 @@ on: # touch to trigger jobs: cli: - runs-on: ubuntu-20.04 + runs-on: ubuntu-24.04 name: 'E2E tests via CLI' timeout-minutes: 60 strategy: @@ -93,7 +93,7 @@ jobs: SLACK_BOT_TOKEN: ${{ secrets.SLACK_BOT_TOKEN }} docker: - runs-on: ubuntu-20.04 + runs-on: ubuntu-24.04 name: 'E2E tests via Docker' timeout-minutes: 60 strategy: @@ -162,7 +162,7 @@ jobs: browser: [chrome] include: - browser: chrome - os: ubuntu-20.04 + os: ubuntu-24.04 container: cypress/browsers:node18.12.0-chrome107 steps: - name: Checkout diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index 84b591b72..556d53d0c 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -8,7 +8,7 @@ on: jobs: authorDetector: name: Detect PR's author - runs-on: ubuntu-20.04 + runs-on: ubuntu-24.04 steps: - name: Checkout Actions uses: actions/checkout@v4 diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 478970c90..ec68b3d70 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -67,7 +67,8 @@ jobs: run: ./node_modules/.bin/lerna publish from-package --yes native_linux: - runs-on: ubuntu-20.04 + # Please use minimal possible version of ubuntu, because it produces constraint on glibc + runs-on: ubuntu-22.04 timeout-minutes: 60 name: Build native Linux ${{ matrix.node-version }} ${{ matrix.target }} Python ${{ matrix.python-version }} strategy: @@ -590,18 +591,18 @@ jobs: - aarch64-unknown-linux-gnu include: - target: x86_64-unknown-linux-gnu - os: ubuntu-20.04 + os: ubuntu-24.04 executable_name: cubestored strip: true compress: false - target: x86_64-unknown-linux-musl - os: ubuntu-20.04 + os: ubuntu-24.04 executable_name: cubestored strip: true # cubestored: CantPackException: bad DT_HASH nbucket=0x344 len=0x1890 compress: false - target: aarch64-unknown-linux-gnu - os: ubuntu-20.04 + os: ubuntu-24.04 executable_name: cubestored # Unable to recognise the format of the input file `rust/cubestore/target/aarch64-unknown-linux-gnu/release/cubestored' strip: false @@ -764,7 +765,7 @@ jobs: trigger-test-suites: name: Trigger test suites run - runs-on: ubuntu-20.04 + runs-on: ubuntu-24.04 needs: [docker-default] timeout-minutes: 15 steps: @@ -809,7 +810,7 @@ jobs: trigger-repo-sync: name: Trigger runtime repo - runs-on: ubuntu-20.04 + runs-on: ubuntu-24.04 needs: [docker-default, detect_branch] timeout-minutes: 15 steps: diff --git a/.github/workflows/push.yml b/.github/workflows/push.yml index bfe45fa6b..77fe100ce 100644 --- a/.github/workflows/push.yml +++ b/.github/workflows/push.yml @@ -44,7 +44,7 @@ env: jobs: unit: - runs-on: ubuntu-20.04 + runs-on: ubuntu-24.04 timeout-minutes: 60 needs: latest-tag-sha if: (needs['latest-tag-sha'].outputs.sha != github.sha) @@ -141,7 +141,7 @@ jobs: # cargo test --manifest-path rust/cubesqlplanner/cubesqlplanner/Cargo.toml -j 1 lint: - runs-on: ubuntu-20.04 + runs-on: ubuntu-24.04 timeout-minutes: 60 needs: latest-tag-sha if: (needs['latest-tag-sha'].outputs.sha != github.sha) @@ -204,7 +204,7 @@ jobs: # cargo fmt --manifest-path rust/cubesqlplanner/cubesqlplanner/Cargo.toml -- --check build: - runs-on: ubuntu-20.04 + runs-on: ubuntu-24.04 timeout-minutes: 60 needs: latest-tag-sha if: (needs['latest-tag-sha'].outputs.sha != github.sha) @@ -272,7 +272,7 @@ jobs: build-cubestore: needs: [latest-tag-sha] - runs-on: ubuntu-20.04 + runs-on: ubuntu-24.04 timeout-minutes: 60 if: (needs['latest-tag-sha'].outputs.sha != github.sha) container: @@ -292,7 +292,7 @@ jobs: workspaces: ./rust/cubestore -> target # Separate path for release key to protect cache bloating shared-key: cubestore-release - key: ubuntu-20.04 + key: ubuntu-24.04 - name: Build Cube Store run: | cd rust/cubestore @@ -306,7 +306,7 @@ jobs: integration-cubestore: needs: [latest-tag-sha, build-cubestore] - runs-on: ubuntu-20.04 + runs-on: ubuntu-24.04 timeout-minutes: 60 if: (needs['latest-tag-sha'].outputs.sha != github.sha) @@ -389,7 +389,7 @@ jobs: integration: needs: [unit, lint, latest-tag-sha] - runs-on: ubuntu-20.04 + runs-on: ubuntu-24.04 timeout-minutes: 60 if: (needs['latest-tag-sha'].outputs.sha != github.sha) env: @@ -476,7 +476,7 @@ jobs: integration-smoke: needs: [ latest-tag-sha, build-cubestore ] - runs-on: ubuntu-20.04 + runs-on: ubuntu-24.04 timeout-minutes: 90 if: (needs['latest-tag-sha'].outputs.sha != github.sha) @@ -563,7 +563,7 @@ jobs: # At least git should be completed pushed up until this moment needs: [lint, latest-tag-sha] if: (needs['latest-tag-sha'].outputs.sha != github.sha) - runs-on: ubuntu-20.04 + runs-on: ubuntu-24.04 outputs: tag: ${{ steps.get-tag.outputs.tag }} steps: @@ -575,7 +575,7 @@ jobs: GITHUB_SHA: ${{ github.sha }} latest-tag-sha: - runs-on: ubuntu-20.04 + runs-on: ubuntu-24.04 outputs: sha: ${{ steps.get-tag.outputs.sha }} steps: diff --git a/.github/workflows/rust-cubesql.yml b/.github/workflows/rust-cubesql.yml index c0308adfe..6cd78b68d 100644 --- a/.github/workflows/rust-cubesql.yml +++ b/.github/workflows/rust-cubesql.yml @@ -111,7 +111,8 @@ jobs: native_linux: needs: [lint] - runs-on: ubuntu-20.04 + # Please use minimal possible version of ubuntu, because it produces constraint on glibc + runs-on: ubuntu-22.04 timeout-minutes: 60 name: Build Linux GNU ${{ matrix.node-version }}.x ${{ matrix.target }} with Python ${{ matrix.python-version }} strategy: diff --git a/.github/workflows/rust-cubestore-master.yml b/.github/workflows/rust-cubestore-master.yml index 2421d9496..bedc753f7 100644 --- a/.github/workflows/rust-cubestore-master.yml +++ b/.github/workflows/rust-cubestore-master.yml @@ -277,18 +277,19 @@ jobs: - x86_64-unknown-linux-musl - aarch64-unknown-linux-gnu include: - - os: ubuntu-20.04 + # Please use minimal possible version of ubuntu, because it produces constraint on glibc + - os: ubuntu-22.04 target: x86_64-unknown-linux-gnu executable_name: cubestored strip: true compress: false - - os: ubuntu-20.04 + - os: ubuntu-22.04 target: x86_64-unknown-linux-musl executable_name: cubestored strip: true # cubestored: CantPackException: bad DT_HASH nbucket=0x344 len=0x1890 compress: false - - os: ubuntu-20.04 + - os: ubuntu-22.04 target: aarch64-unknown-linux-gnu executable_name: cubestored # Unable to recognise the format of the input file `rust/cubestore/target/aarch64-unknown-linux-gnu/release/cubestored' diff --git a/.github/workflows/rust-cubestore.yml b/.github/workflows/rust-cubestore.yml index 44f929e8a..a2a2cd0ae 100644 --- a/.github/workflows/rust-cubestore.yml +++ b/.github/workflows/rust-cubestore.yml @@ -208,18 +208,19 @@ jobs: - x86_64-unknown-linux-musl - aarch64-unknown-linux-gnu include: - - os: ubuntu-20.04 + # Please use minimal possible version of ubuntu, because it produces constraint on glibc + - os: ubuntu-22.04 target: x86_64-unknown-linux-gnu executable_name: cubestored strip: true compress: false - - os: ubuntu-20.04 + - os: ubuntu-22.04 target: x86_64-unknown-linux-musl executable_name: cubestored strip: true # cubestored: CantPackException: bad DT_HASH nbucket=0x344 len=0x1890 compress: false - - os: ubuntu-20.04 + - os: ubuntu-22.04 target: aarch64-unknown-linux-gnu executable_name: cubestored # Unable to recognise the format of the input file `rust/cubestore/target/aarch64-unknown-linux-gnu/release/cubestored' diff --git a/packages/cubejs-crate-driver/package.json b/packages/cubejs-crate-driver/package.json index 7092c592d..392227544 100644 --- a/packages/cubejs-crate-driver/package.json +++ b/packages/cubejs-crate-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/crate-driver", "description": "Cube.js Crate database driver", "author": "Cube Dev, Inc.", - "version": "1.2.16", + "version": "1.2.15", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -36,7 +36,7 @@ "devDependencies": { "@cubejs-backend/linter": "1.2.16", "@cubejs-backend/testing-shared": "1.2.16", - "testcontainers": "^10.10.4", + "testcontainers": "^10.13.0", "typescript": "~5.2.2" }, "publishConfig": { diff --git a/packages/cubejs-druid-driver/package.json b/packages/cubejs-druid-driver/package.json index b32923834..43a296ab0 100644 --- a/packages/cubejs-druid-driver/package.json +++ b/packages/cubejs-druid-driver/package.json @@ -39,7 +39,7 @@ "@types/jest": "^27", "@types/node": "^18", "jest": "^27", - "testcontainers": "^10.10.4", + "testcontainers": "^10.13.0", "typescript": "~5.2.2" }, "publishConfig": { diff --git a/packages/cubejs-mongobi-driver/package.json b/packages/cubejs-mongobi-driver/package.json index 2ed3ab74c..7da9a000e 100644 --- a/packages/cubejs-mongobi-driver/package.json +++ b/packages/cubejs-mongobi-driver/package.json @@ -41,7 +41,7 @@ "devDependencies": { "@cubejs-backend/linter": "1.2.16", "@types/generic-pool": "^3.1.9", - "testcontainers": "^10.10.4", + "testcontainers": "^10.13.0", "typescript": "~5.2.2" }, "jest": { diff --git a/packages/cubejs-mongobi-driver/test/Dockerfile b/packages/cubejs-mongobi-driver/test/Dockerfile index ad64ba027..416eb3642 100644 --- a/packages/cubejs-mongobi-driver/test/Dockerfile +++ b/packages/cubejs-mongobi-driver/test/Dockerfile @@ -12,4 +12,4 @@ RUN apt update \ COPY config.yaml config.yaml EXPOSE 3307 -CMD ["mongosqld", "--config=config.yaml"] \ No newline at end of file +CMD ["mongosqld", "--config=config.yaml"] diff --git a/packages/cubejs-mysql-driver/package.json b/packages/cubejs-mysql-driver/package.json index 0d080a5fd..d78efbd51 100644 --- a/packages/cubejs-mysql-driver/package.json +++ b/packages/cubejs-mysql-driver/package.json @@ -40,7 +40,7 @@ "@types/jest": "^27", "jest": "^27", "stream-to-array": "^2.3.0", - "testcontainers": "^10.10.4", + "testcontainers": "^10.13.0", "typescript": "~5.2.2" }, "eslintConfig": { diff --git a/packages/cubejs-pinot-driver/package.json b/packages/cubejs-pinot-driver/package.json index 53d5f6b13..2fa8b61a8 100644 --- a/packages/cubejs-pinot-driver/package.json +++ b/packages/cubejs-pinot-driver/package.json @@ -43,7 +43,7 @@ "@types/jest": "^27", "jest": "^27", "should": "^13.2.3", - "testcontainers": "^10.10.4", + "testcontainers": "^10.13.0", "typescript": "~5.2.2" }, "jest": { diff --git a/packages/cubejs-postgres-driver/package.json b/packages/cubejs-postgres-driver/package.json index 92dc6a888..47cb8962d 100644 --- a/packages/cubejs-postgres-driver/package.json +++ b/packages/cubejs-postgres-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/postgres-driver", "description": "Cube.js Postgres database driver", "author": "Cube Dev, Inc.", - "version": "1.2.16", + "version": "1.2.15", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -39,7 +39,7 @@ "devDependencies": { "@cubejs-backend/linter": "1.2.16", "@cubejs-backend/testing-shared": "1.2.16", - "testcontainers": "^10.10.4", + "testcontainers": "^10.13.0", "typescript": "~5.2.2" }, "publishConfig": { diff --git a/packages/cubejs-prestodb-driver/package.json b/packages/cubejs-prestodb-driver/package.json index 0d8c293f9..00ba4771b 100644 --- a/packages/cubejs-prestodb-driver/package.json +++ b/packages/cubejs-prestodb-driver/package.json @@ -42,7 +42,7 @@ "@types/jest": "^27", "jest": "^27", "should": "^13.2.3", - "testcontainers": "^10.10.4", + "testcontainers": "^10.13.0", "typescript": "~5.2.2" }, "jest": { diff --git a/packages/cubejs-questdb-driver/package.json b/packages/cubejs-questdb-driver/package.json index 2553fc845..6b499d389 100644 --- a/packages/cubejs-questdb-driver/package.json +++ b/packages/cubejs-questdb-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/questdb-driver", "description": "Cube.js QuestDB database driver", "author": "Cube Dev, Inc.", - "version": "1.2.16", + "version": "1.2.15", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -39,7 +39,7 @@ "devDependencies": { "@cubejs-backend/linter": "1.2.16", "@cubejs-backend/testing-shared": "1.2.16", - "testcontainers": "^10.10.4", + "testcontainers": "^10.13.0", "typescript": "~5.2.2" }, "publishConfig": { diff --git a/packages/cubejs-schema-compiler/package.json b/packages/cubejs-schema-compiler/package.json index ea9d17d86..86a5fb83c 100644 --- a/packages/cubejs-schema-compiler/package.json +++ b/packages/cubejs-schema-compiler/package.json @@ -80,7 +80,7 @@ "pg-promise": "^10.5.2", "source-map-support": "^0.5.19", "sqlstring": "^2.3.1", - "testcontainers": "^10.10.4", + "testcontainers": "^10.13.0", "typescript": "~5.2.2", "uuid": "^8.3.2" }, diff --git a/packages/cubejs-schema-compiler/test/integration/mssql/MSSqlDbRunner.js b/packages/cubejs-schema-compiler/test/integration/mssql/MSSqlDbRunner.js index 33fd8b049..4e8e09409 100644 --- a/packages/cubejs-schema-compiler/test/integration/mssql/MSSqlDbRunner.js +++ b/packages/cubejs-schema-compiler/test/integration/mssql/MSSqlDbRunner.js @@ -111,7 +111,7 @@ export class MSSqlDbRunner extends BaseDbRunner { } async containerLazyInit() { - const version = process.env.TEST_MSSQL_VERSION || '2017-latest'; + const version = process.env.TEST_MSSQL_VERSION || '2019-latest'; return new GenericContainer(`mcr.microsoft.com/mssql/server:${version}`) .withEnvironment({ diff --git a/packages/cubejs-testing-drivers/package.json b/packages/cubejs-testing-drivers/package.json index 54f112f10..96d60b576 100644 --- a/packages/cubejs-testing-drivers/package.json +++ b/packages/cubejs-testing-drivers/package.json @@ -83,7 +83,7 @@ "jsonwebtoken": "^9.0.2", "pg": "^8.7.3", "ramda": "^0.28.0", - "testcontainers": "^10.10.4", + "testcontainers": "^10.13.0", "typescript": "~5.2.2", "yaml": "^1.10.2", "yargs": "^17.7.1" diff --git a/packages/cubejs-testing-shared/src/db-container-runners/mssql.ts b/packages/cubejs-testing-shared/src/db-container-runners/mssql.ts index ece407116..44864c3c2 100644 --- a/packages/cubejs-testing-shared/src/db-container-runners/mssql.ts +++ b/packages/cubejs-testing-shared/src/db-container-runners/mssql.ts @@ -4,7 +4,7 @@ import { DbRunnerAbstract, DBRunnerContainerOptions } from './db-runner.abstract export class MssqlDbRunner extends DbRunnerAbstract { public static startContainer(options: DBRunnerContainerOptions) { - const version = process.env.TEST_MSSQL_VERSION || options.version || '2017-latest'; + const version = process.env.TEST_MSSQL_VERSION || options.version || '2019-latest'; const container = new GenericContainer(`mcr.microsoft.com/mssql/server:${version}`) .withEnvironment({ diff --git a/yarn.lock b/yarn.lock index c3fb45cd3..d3c7284a7 100644 --- a/yarn.lock +++ b/yarn.lock @@ -11732,22 +11732,6 @@ arch@^2.1.1, arch@^2.2.0: resolved "https://registry.yarnpkg.com/arch/-/arch-2.2.0.tgz#1bc47818f305764f23ab3306b0bfc086c5a29d11" integrity sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ== -archiver-utils@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/archiver-utils/-/archiver-utils-2.1.0.tgz#e8a460e94b693c3e3da182a098ca6285ba9249e2" - integrity sha512-bEL/yUb/fNNiNTuUz979Z0Yg5L+LzLxGJz8x79lYmR54fmTIb6ob/hNQgkQnIUDWIFjZVQwl9Xs356I6BAMHfw== - dependencies: - glob "^7.1.4" - graceful-fs "^4.2.0" - lazystream "^1.0.0" - lodash.defaults "^4.2.0" - lodash.difference "^4.5.0" - lodash.flatten "^4.4.0" - lodash.isplainobject "^4.0.6" - lodash.union "^4.6.0" - normalize-path "^3.0.0" - readable-stream "^2.0.0" - archiver-utils@^5.0.0, archiver-utils@^5.0.2: version "5.0.2" resolved "https://registry.yarnpkg.com/archiver-utils/-/archiver-utils-5.0.2.tgz#63bc719d951803efc72cf961a56ef810760dd14d" @@ -11761,19 +11745,6 @@ archiver-utils@^5.0.0, archiver-utils@^5.0.2: normalize-path "^3.0.0" readable-stream "^4.0.0" -archiver@^5.3.2: - version "5.3.2" - resolved "https://registry.yarnpkg.com/archiver/-/archiver-5.3.2.tgz#99991d5957e53bd0303a392979276ac4ddccf3b0" - integrity sha512-+25nxyyznAXF7Nef3y0EbBeqmGZgeN/BxHX29Rs39djAfaFalmQ89SE6CWyDCHzGL0yt/ycBtNOmGTW0FyGWNw== - dependencies: - archiver-utils "^2.1.0" - async "^3.2.4" - buffer-crc32 "^0.2.1" - readable-stream "^3.6.0" - readdir-glob "^1.1.2" - tar-stream "^2.2.0" - zip-stream "^4.1.0" - archiver@^7.0.1: version "7.0.1" resolved "https://registry.yarnpkg.com/archiver/-/archiver-7.0.1.tgz#c9d91c350362040b8927379c7aa69c0655122f61" @@ -12709,16 +12680,16 @@ buffer-alloc@^1.2.0: buffer-alloc-unsafe "^1.1.0" buffer-fill "^1.0.0" -buffer-crc32@^0.2.1, buffer-crc32@^0.2.13, buffer-crc32@~0.2.3: - version "0.2.13" - resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242" - integrity sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI= - buffer-crc32@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-1.0.0.tgz#a10993b9055081d55304bd9feb4a072de179f405" integrity sha512-Db1SbgBS/fg/392AblrMJk97KggmvYhr4pB5ZIMTWtaivCPMWLkmb7m21cJvpvgK+J3nsU2CmmixNBZx4vFj/w== +buffer-crc32@~0.2.3: + version "0.2.13" + resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242" + integrity sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI= + buffer-equal-constant-time@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz#f8e71132f7ffe6e01a5c9697a4c6f3e48d5cc819" @@ -13651,16 +13622,6 @@ component-inherit@0.0.3: resolved "https://registry.yarnpkg.com/component-inherit/-/component-inherit-0.0.3.tgz#645fc4adf58b72b649d5cae65135619db26ff143" integrity sha1-ZF/ErfWLcrZJ1crmUTVhnbJv8UM= -compress-commons@^4.1.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/compress-commons/-/compress-commons-4.1.1.tgz#df2a09a7ed17447642bad10a85cc9a19e5c42a7d" - integrity sha512-QLdDLCKNV2dtoTorqgxngQCMA+gWXkM/Nwu7FpeBhk/RdkzimqC3jueb/FDmaZeXh+uby1jkBqE3xArsLBE5wQ== - dependencies: - buffer-crc32 "^0.2.13" - crc32-stream "^4.0.2" - normalize-path "^3.0.0" - readable-stream "^3.6.0" - compress-commons@^6.0.2: version "6.0.2" resolved "https://registry.yarnpkg.com/compress-commons/-/compress-commons-6.0.2.tgz#26d31251a66b9d6ba23a84064ecd3a6a71d2609e" @@ -14027,14 +13988,6 @@ crc-32@^1.2.0: exit-on-epipe "~1.0.1" printj "~1.1.0" -crc32-stream@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/crc32-stream/-/crc32-stream-4.0.2.tgz#c922ad22b38395abe9d3870f02fa8134ed709007" - integrity sha512-DxFZ/Hk473b/muq1VJ///PMNLj0ZMnzye9thBpmjpJKCc5eMgB95aK8zCGrGfQ90cWo561Te6HK9D+j4KPdM6w== - dependencies: - crc-32 "^1.2.0" - readable-stream "^3.4.0" - crc32-stream@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/crc32-stream/-/crc32-stream-6.0.0.tgz#8529a3868f8b27abb915f6c3617c0fadedbf9430" @@ -20837,26 +20790,11 @@ lodash.debounce@^4.0.8: resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" integrity sha1-gteb/zCmfEAF/9XiUVMArZyk168= -lodash.defaults@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/lodash.defaults/-/lodash.defaults-4.2.0.tgz#d09178716ffea4dde9e5fb7b37f6f0802274580c" - integrity sha1-0JF4cW/+pN3p5ft7N/bwgCJ0WAw= - lodash.defaultsdeep@^4.6.1: version "4.6.1" resolved "https://registry.yarnpkg.com/lodash.defaultsdeep/-/lodash.defaultsdeep-4.6.1.tgz#512e9bd721d272d94e3d3a63653fa17516741ca6" integrity sha512-3j8wdDzYuWO3lM3Reg03MuQR957t287Rpcxp1njpEa8oDrikb+FwGdW3n+FELh/A6qib6yPit0j/pv9G/yeAqA== -lodash.difference@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.difference/-/lodash.difference-4.5.0.tgz#9ccb4e505d486b91651345772885a2df27fd017c" - integrity sha1-nMtOUF1Ia5FlE0V3KIWi3yf9AXw= - -lodash.flatten@^4.4.0: - version "4.4.0" - resolved "https://registry.yarnpkg.com/lodash.flatten/-/lodash.flatten-4.4.0.tgz#f31c22225a9632d2bbf8e4addbef240aa765a61f" - integrity sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8= - lodash.flow@^3.5.0: version "3.5.0" resolved "https://registry.yarnpkg.com/lodash.flow/-/lodash.flow-3.5.0.tgz#87bf40292b8cf83e4e8ce1a3ae4209e20071675a" @@ -20932,11 +20870,6 @@ lodash.truncate@^4.4.2: resolved "https://registry.yarnpkg.com/lodash.truncate/-/lodash.truncate-4.4.2.tgz#5a350da0b1113b837ecfffd5812cbe58d6eae193" integrity sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM= -lodash.union@^4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/lodash.union/-/lodash.union-4.6.0.tgz#48bb5088409f16f1821666641c44dd1aaae3cd88" - integrity sha1-SLtQiECfFvGCFmZkHETdGqrjzYg= - lodash.uniq@^4.5.0: version "4.5.0" resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" @@ -25582,7 +25515,7 @@ read@^3.0.1: dependencies: mute-stream "^1.0.0" -readable-stream@2.3.7, readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.5, readable-stream@^2.3.0, readable-stream@^2.3.5, readable-stream@^2.3.7, readable-stream@~2.3.6: +readable-stream@2.3.7, readable-stream@^2.0.1, readable-stream@^2.0.5, readable-stream@^2.3.0, readable-stream@^2.3.5, readable-stream@^2.3.7, readable-stream@~2.3.6: version "2.3.7" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== @@ -27744,7 +27677,7 @@ tar-stream@^1.5.2: to-buffer "^1.1.1" xtend "^4.0.0" -tar-stream@^2.0.0, tar-stream@^2.1.4, tar-stream@^2.2.0, tar-stream@~2.2.0: +tar-stream@^2.0.0, tar-stream@^2.1.4, tar-stream@~2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-2.2.0.tgz#acad84c284136b060dc3faa64474aa9aebd77287" integrity sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ== @@ -27909,25 +27842,25 @@ test-exclude@^6.0.0: minimatch "^3.0.4" testcontainers@^10.10.4: - version "10.10.4" - resolved "https://registry.yarnpkg.com/testcontainers/-/testcontainers-10.10.4.tgz#35b39be446f8511029e34429e2854c6464143dae" - integrity sha512-/vAEbFfF0m8oU+LmnRcETxKCQ28t+zC5Mkdi1QfydrR9HCFEsj1M4UrKWwiCbOa1Y2gLUZ3JX6553oxZb6n7zw== + version "10.18.0" + resolved "https://registry.yarnpkg.com/testcontainers/-/testcontainers-10.18.0.tgz#dbd74e1d6e5de431414a06fb2c2ed9d82971739e" + integrity sha512-MnwWsPjsN5QVe+lSU1LwLZVOyjgwSwv1INzkw8FekdwgvOtvJ7FThQEkbmzRcguQootgwmA9FG54NoTChZDRvA== dependencies: "@balena/dockerignore" "^1.0.2" "@types/dockerode" "^3.3.29" - archiver "^5.3.2" + archiver "^7.0.1" async-lock "^1.4.1" byline "^5.0.0" debug "^4.3.5" docker-compose "^0.24.8" dockerode "^3.3.5" get-port "^5.1.1" - node-fetch "^2.7.0" proper-lockfile "^4.1.2" properties-reader "^2.3.0" ssh-remote-port-forward "^1.0.4" tar-fs "^3.0.6" tmp "^0.2.3" + undici "^5.28.5" testcontainers@^10.13.0: version "10.13.0" @@ -28569,7 +28502,7 @@ undici-types@~5.26.4: resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.26.5.tgz#bcd539893d00b56e964fd2657a4866b221a65617" integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== -undici@^5.28.4: +undici@^5.28.4, undici@^5.28.5: version "5.28.5" resolved "https://registry.yarnpkg.com/undici/-/undici-5.28.5.tgz#b2b94b6bf8f1d919bc5a6f31f2c01deb02e54d4b" integrity sha512-zICwjrDrcrUE0pyyJc1I2QzBkLM8FINsgOrt6WjA+BgajVq9Nxu2PbFFXUrAggLfDXlZGZBVZYw7WNV5KiBiBA== @@ -30018,15 +29951,6 @@ zen-observable@0.8.15: resolved "https://registry.yarnpkg.com/zen-observable/-/zen-observable-0.8.15.tgz#96415c512d8e3ffd920afd3889604e30b9eaac15" integrity sha512-PQ2PC7R9rslx84ndNBZB/Dkv8V8fZEpk83RLgXtYd0fwUgEjseMn1Dgajh2x6S8QbZAFa9p2qVCEuYZNgve0dQ== -zip-stream@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/zip-stream/-/zip-stream-4.1.0.tgz#51dd326571544e36aa3f756430b313576dc8fc79" - integrity sha512-zshzwQW7gG7hjpBlgeQP9RuyPGNxvJdzR8SUM3QhxCnLjWN2E7j3dOvpeDcQoETfHx0urRS7EtmVToql7YpU4A== - dependencies: - archiver-utils "^2.1.0" - compress-commons "^4.1.0" - readable-stream "^3.6.0" - zip-stream@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/zip-stream/-/zip-stream-6.0.1.tgz#e141b930ed60ccaf5d7fa9c8260e0d1748a2bbfb" From 412f76bab6f1a93b2a4bb2e59dd2ac2938585007 Mon Sep 17 00:00:00 2001 From: Konstantin Burkalev Date: Wed, 5 Mar 2025 20:41:53 +0200 Subject: [PATCH 17/49] chore(drivers): Update rewritten drivers version (#9305) --- packages/cubejs-crate-driver/package.json | 2 +- packages/cubejs-postgres-driver/package.json | 2 +- packages/cubejs-questdb-driver/package.json | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/cubejs-crate-driver/package.json b/packages/cubejs-crate-driver/package.json index 392227544..74d0adb5b 100644 --- a/packages/cubejs-crate-driver/package.json +++ b/packages/cubejs-crate-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/crate-driver", "description": "Cube.js Crate database driver", "author": "Cube Dev, Inc.", - "version": "1.2.15", + "version": "1.2.16", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", diff --git a/packages/cubejs-postgres-driver/package.json b/packages/cubejs-postgres-driver/package.json index 47cb8962d..03f0026f9 100644 --- a/packages/cubejs-postgres-driver/package.json +++ b/packages/cubejs-postgres-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/postgres-driver", "description": "Cube.js Postgres database driver", "author": "Cube Dev, Inc.", - "version": "1.2.15", + "version": "1.2.16", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", diff --git a/packages/cubejs-questdb-driver/package.json b/packages/cubejs-questdb-driver/package.json index 6b499d389..a1bcc60de 100644 --- a/packages/cubejs-questdb-driver/package.json +++ b/packages/cubejs-questdb-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/questdb-driver", "description": "Cube.js QuestDB database driver", "author": "Cube Dev, Inc.", - "version": "1.2.15", + "version": "1.2.16", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", From 74ffd2dfa54a884640f92b461f4717352b77e775 Mon Sep 17 00:00:00 2001 From: Konstantin Burkalev Date: Wed, 5 Mar 2025 20:55:00 +0200 Subject: [PATCH 18/49] fix(api-gateway): Support proxy when fetching jwk for token validation (#9286) * fix(api-gateway): support proxy when fetching jwk for token validation When fetching the JWK data needed to validate the auth token, the environment proxy settings are not honored. * Move proxy fix to cubejs-backend-shared instead and use that * fix errors and mark getProxySettings() as deprecated * optimize yarn.lock * fix proxy * Cache npm proxy --------- Co-authored-by: Cory Johns Co-authored-by: Cory Johns --- packages/cubejs-api-gateway/src/jwk.ts | 9 +- packages/cubejs-backend-shared/package.json | 3 +- packages/cubejs-backend-shared/src/proxy.ts | 25 +- yarn.lock | 395 +++++++------------- 4 files changed, 169 insertions(+), 263 deletions(-) diff --git a/packages/cubejs-api-gateway/src/jwk.ts b/packages/cubejs-api-gateway/src/jwk.ts index 06ae30ed6..baa249470 100644 --- a/packages/cubejs-api-gateway/src/jwk.ts +++ b/packages/cubejs-api-gateway/src/jwk.ts @@ -1,6 +1,11 @@ /* eslint-disable no-restricted-syntax */ import crypto from 'crypto'; -import { asyncMemoizeBackground, asyncRetry, BackgroundMemoizeOptions } from '@cubejs-backend/shared'; +import { + asyncMemoizeBackground, + asyncRetry, + BackgroundMemoizeOptions, + getHttpAgentForProxySettings +} from '@cubejs-backend/shared'; import fetch from 'node-fetch'; import jwkToPem from 'jwk-to-pem'; import { JWTOptions } from './interfaces'; @@ -51,7 +56,7 @@ export type JWKsFetcherOptions = Pick, 'onBac export const createJWKsFetcher = (jwtOptions: JWTOptions, options: JWKsFetcherOptions) => { const fetchJwkUrl = asyncMemoizeBackground(async (url: string) => { - const response = await asyncRetry(() => fetch(url), { + const response = await asyncRetry(async () => fetch(url, { agent: await getHttpAgentForProxySettings() }), { times: jwtOptions.jwkRetry || 3, }); const json = await response.json(); diff --git a/packages/cubejs-backend-shared/package.json b/packages/cubejs-backend-shared/package.json index 67875adf7..a78a22ade 100644 --- a/packages/cubejs-backend-shared/package.json +++ b/packages/cubejs-backend-shared/package.json @@ -42,10 +42,11 @@ "decompress": "^4.2.1", "env-var": "^6.3.0", "fs-extra": "^9.1.0", - "http-proxy-agent": "^4.0.1", + "https-proxy-agent": "^7.0.6", "moment-range": "^4.0.2", "moment-timezone": "^0.5.47", "node-fetch": "^2.6.1", + "proxy-agent": "^6.5.0", "shelljs": "^0.8.5", "throttle-debounce": "^3.0.1", "uuid": "^8.3.2" diff --git a/packages/cubejs-backend-shared/src/proxy.ts b/packages/cubejs-backend-shared/src/proxy.ts index 5f7ace5a6..55ecf84e8 100644 --- a/packages/cubejs-backend-shared/src/proxy.ts +++ b/packages/cubejs-backend-shared/src/proxy.ts @@ -1,5 +1,9 @@ import { exec } from 'child_process'; -import HttpsProxyAgent from 'http-proxy-agent'; +import { ProxyAgent } from 'proxy-agent'; +import { HttpsProxyAgent } from 'https-proxy-agent'; + +let npmProxy: string; +let npmProxyInitialized = false; function getCommandOutput(command: string) { return new Promise((resolve, reject) => { @@ -14,18 +18,31 @@ function getCommandOutput(command: string) { }); } -export async function getProxySettings() { +/** + * @deprecated + * use ProxyAgent instead + */ +export async function getProxySettings(): Promise { const [proxy] = ( await Promise.all([getCommandOutput('npm config -g get https-proxy'), getCommandOutput('npm config -g get proxy')]) ) .map((s) => s.trim()) .filter((s) => !['null', 'undefined', ''].includes(s)); + npmProxyInitialized = true; + return proxy; } export async function getHttpAgentForProxySettings() { - const proxy = await getProxySettings(); + if (!npmProxyInitialized) { + npmProxy = await getProxySettings(); + } + + if (npmProxy) { + console.warn('Npm proxy settings are deprecated. Please use HTTP_PROXY, HTTPS_PROXY environment variables instead.'); + return new HttpsProxyAgent(npmProxy); + } - return proxy ? HttpsProxyAgent(proxy) : undefined; + return new ProxyAgent(); } diff --git a/yarn.lock b/yarn.lock index d3c7284a7..f6d455adb 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5199,23 +5199,6 @@ usehooks-ts "^3.1.0" valid-url "^1.0.9" -"@cubejs-backend/base-driver@1.1.17": - version "1.1.17" - resolved "https://registry.yarnpkg.com/@cubejs-backend/base-driver/-/base-driver-1.1.17.tgz#d0075db7d3f23c3a7f4778abd8bb665849e68b4e" - integrity sha512-Q8GYOTCrj8PFzmng3zWW3b/lL+Uiv2hQKw4w5/EFuEPC+wT3kMSixfOTR5DS/yW+NaZFQ1etr1CmVL49dWbLZA== - dependencies: - "@aws-sdk/client-s3" "^3.49.0" - "@aws-sdk/s3-request-presigner" "^3.49.0" - "@azure/identity" "^4.4.1" - "@azure/storage-blob" "^12.9.0" - "@cubejs-backend/shared" "1.1.17" - "@google-cloud/storage" "^7.13.0" - -"@cubejs-backend/cubesql@1.1.17": - version "1.1.17" - resolved "https://registry.yarnpkg.com/@cubejs-backend/cubesql/-/cubesql-1.1.17.tgz#b2b3640054090e896b479c6f2892674ff950a102" - integrity sha512-8c1xPgU/tVxFLtxf3/TYAJdF2dHrY+PrE5i2AAonf41LgZWkJYHxxSrP0j2b9oQy48gLxrDCArcIW6c5fMXGiw== - "@cubejs-backend/dotenv@^9.0.2": version "9.0.2" resolved "https://registry.yarnpkg.com/@cubejs-backend/dotenv/-/dotenv-9.0.2.tgz#c3679091b702f0fd38de120c5a63943fcdc0dcbf" @@ -5232,44 +5215,6 @@ uuid "9.0.0" winston "3.8.2" -"@cubejs-backend/native@1.1.17": - version "1.1.17" - resolved "https://registry.yarnpkg.com/@cubejs-backend/native/-/native-1.1.17.tgz#2ade4d3524b784ee287a45404502f181cd192239" - integrity sha512-dBxRhiAPf7EPI9C3AqyLrbkO5ne/OD+Qh9ZlCBRdHRbBuM8Ba+0T4fBEwdCjlEk3o8t+fVQOO/rwSFbK6RkrwQ== - dependencies: - "@cubejs-backend/cubesql" "1.1.17" - "@cubejs-backend/shared" "1.1.17" - "@cubejs-infra/post-installer" "^0.0.7" - -"@cubejs-backend/schema-compiler@1.1.17": - version "1.1.17" - resolved "https://registry.yarnpkg.com/@cubejs-backend/schema-compiler/-/schema-compiler-1.1.17.tgz#ea10b006753c6cd0735f5d0bff064e72cd123b88" - integrity sha512-iK6xbVExughwPUhbJkCLWdefaOILqkHD5joB3BkKxm0tAsp5c1ux3K1Q9zZet1ZEzy/cD2q8j8B/HTMo3Ir1WQ== - dependencies: - "@babel/code-frame" "^7.24" - "@babel/core" "^7.24" - "@babel/generator" "^7.24" - "@babel/parser" "^7.24" - "@babel/preset-env" "^7.24" - "@babel/standalone" "^7.24" - "@babel/traverse" "^7.24" - "@babel/types" "^7.24" - "@cubejs-backend/native" "1.1.17" - "@cubejs-backend/shared" "1.1.17" - antlr4ts "0.5.0-alpha.4" - camelcase "^6.2.0" - cron-parser "^4.9.0" - humps "^2.0.1" - inflection "^1.12.0" - joi "^17.8.3" - js-yaml "^4.1.0" - lru-cache "^5.1.1" - moment-timezone "^0.5.46" - node-dijkstra "^2.5.0" - ramda "^0.27.2" - syntax-error "^1.3.0" - uuid "^8.3.2" - "@cubejs-backend/shared@0.33.20": version "0.33.20" resolved "https://registry.yarnpkg.com/@cubejs-backend/shared/-/shared-0.33.20.tgz#3d9fa60041599cca9fe4c04df05daa4b8ab8675f" @@ -5290,26 +5235,6 @@ throttle-debounce "^3.0.1" uuid "^8.3.2" -"@cubejs-backend/shared@1.1.17": - version "1.1.17" - resolved "https://registry.yarnpkg.com/@cubejs-backend/shared/-/shared-1.1.17.tgz#ae84302dbd3046080c91faba99b9b1f627a627fc" - integrity sha512-ejfVjLMwFcLpWd6rIdEeSUEtv1k6DXQb7F2GEjYH8334pqYwsDklFJAzIafSCTA1Q0krG7sNaEdAkvYsd+R5jQ== - dependencies: - "@oclif/color" "^0.1.2" - bytes "^3.1.0" - cli-progress "^3.9.0" - cross-spawn "^7.0.3" - decompress "^4.2.1" - env-var "^6.3.0" - fs-extra "^9.1.0" - http-proxy-agent "^4.0.1" - moment-range "^4.0.1" - moment-timezone "^0.5.46" - node-fetch "^2.6.1" - shelljs "^0.8.5" - throttle-debounce "^3.0.1" - uuid "^8.3.2" - "@cubejs-infra/post-installer@^0.0.7": version "0.0.7" resolved "https://registry.yarnpkg.com/@cubejs-infra/post-installer/-/post-installer-0.0.7.tgz#a28d2d03e5b7b69a64020d75194a7078cf911d2d" @@ -5829,11 +5754,6 @@ dependencies: "@swc/helpers" "^0.5.0" -"@ioredis/commands@^1.1.1": - version "1.2.0" - resolved "https://registry.yarnpkg.com/@ioredis/commands/-/commands-1.2.0.tgz#6d61b3097470af1fdbbe622795b8921d42018e11" - integrity sha512-Sx1pU8EM64o2BrqNpEO1CNLtKQwyhuXuqyfH7oGKCk+1a33d2r5saW8zNwm3j6BTExtjrv2BxTgzzkMwts6vGg== - "@isaacs/cliui@^8.0.2": version "8.0.2" resolved "https://registry.yarnpkg.com/@isaacs/cliui/-/cliui-8.0.2.tgz#b37667b7bc181c168782259bab42474fbf52b550" @@ -9279,13 +9199,6 @@ dependencies: tslib "^2.4.0" -"@swc/helpers@^0.5.11": - version "0.5.15" - resolved "https://registry.yarnpkg.com/@swc/helpers/-/helpers-0.5.15.tgz#79efab344c5819ecf83a43f3f9f811fc84b516d7" - integrity sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g== - dependencies: - tslib "^2.8.0" - "@techteamer/ocsp@1.0.1": version "1.0.1" resolved "https://registry.yarnpkg.com/@techteamer/ocsp/-/ocsp-1.0.1.tgz#420f80c64ff0f74a70b65c88e4031c03a9da6ded" @@ -9319,6 +9232,11 @@ resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-2.0.0.tgz#f544a148d3ab35801c1f633a7441fd87c2e484bf" integrity sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A== +"@tootallnate/quickjs-emscripten@^0.23.0": + version "0.23.0" + resolved "https://registry.yarnpkg.com/@tootallnate/quickjs-emscripten/-/quickjs-emscripten-0.23.0.tgz#db4ecfd499a9765ab24002c3b696d02e6d32a12c" + integrity sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA== + "@trysound/sax@0.2.0": version "0.2.0" resolved "https://registry.yarnpkg.com/@trysound/sax/-/sax-0.2.0.tgz#cccaab758af56761eb7bf37af6f03f326dd798ad" @@ -9443,16 +9361,6 @@ dependencies: "@types/node" "*" -"@types/command-line-args@^5.2.3": - version "5.2.3" - resolved "https://registry.yarnpkg.com/@types/command-line-args/-/command-line-args-5.2.3.tgz#553ce2fd5acf160b448d307649b38ffc60d39639" - integrity sha512-uv0aG6R0Y8WHZLTamZwtfsDLVRnOa+n+n5rEvFWL5Na5gZ8V2Teab/duDPFzIIIhs9qizDpcavCusCLJZu62Kw== - -"@types/command-line-usage@^5.0.4": - version "5.0.4" - resolved "https://registry.yarnpkg.com/@types/command-line-usage/-/command-line-usage-5.0.4.tgz#374e4c62d78fbc5a670a0f36da10235af879a0d5" - integrity sha512-BwR5KP3Es/CSht0xqBcUXS3qCAUVXwpRKsV2+arxeb65atasuXG9LykC9Ab10Cw3s2raH92ZqOeILaQbsB2ACg== - "@types/connect-history-api-fallback@^1.3.5": version "1.5.3" resolved "https://registry.yarnpkg.com/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.3.tgz#7793aa2160cef7db0ce5fe2b8aab621200f1a470" @@ -9894,7 +9802,7 @@ dependencies: "@types/node" "*" -"@types/node@*", "@types/node@^18", "@types/node@^20.13.0": +"@types/node@*", "@types/node@^18": version "18.19.46" resolved "https://registry.yarnpkg.com/@types/node/-/node-18.19.46.tgz#51801396c01153e0626e36f43386e83bc768b072" integrity sha512-vnRgMS7W6cKa1/0G3/DTtQYpVrZ8c0Xm6UkLaVFrb9jtcVC3okokW09Ki1Qdrj9ISokszD69nY4WDLRlvHlhAA== @@ -11700,21 +11608,6 @@ anymatch@^3.0.3, anymatch@~3.1.2: normalize-path "^3.0.0" picomatch "^2.0.4" -apache-arrow@^19.0.0: - version "19.0.1" - resolved "https://registry.yarnpkg.com/apache-arrow/-/apache-arrow-19.0.1.tgz#aeac6922102e3274f57d97ec72da69d20e55b15c" - integrity sha512-APmMLzS4qbTivLrPdQXexGM4JRr+0g62QDaobzEvip/FdQIrv2qLy0mD5Qdmw4buydtVJgbFeKR8f59I6PPGDg== - dependencies: - "@swc/helpers" "^0.5.11" - "@types/command-line-args" "^5.2.3" - "@types/command-line-usage" "^5.0.4" - "@types/node" "^20.13.0" - command-line-args "^6.0.1" - command-line-usage "^7.0.1" - flatbuffers "^24.3.25" - json-bignum "^0.0.3" - tslib "^2.6.2" - app-path@^3.2.0: version "3.3.0" resolved "https://registry.yarnpkg.com/app-path/-/app-path-3.3.0.tgz#0342a909db37079c593979c720f99e872475eba3" @@ -11786,11 +11679,6 @@ aria-query@^4.2.2: "@babel/runtime" "^7.10.2" "@babel/runtime-corejs3" "^7.10.2" -array-back@^6.2.2: - version "6.2.2" - resolved "https://registry.yarnpkg.com/array-back/-/array-back-6.2.2.tgz#f567d99e9af88a6d3d2f9dfcc21db6f9ba9fd157" - integrity sha512-gUAZ7HPyb4SJczXAMUXMGAvI976JoK3qEx9v1FTmeYuJj0IBiaKttG1ydtGKdkfqWkIkouke7nG8ufGy77+Cvw== - array-buffer-byte-length@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz#1e5583ec16763540a27ae52eed99ff899223568f" @@ -11948,6 +11836,13 @@ ast-types-flow@^0.0.7: resolved "https://registry.yarnpkg.com/ast-types-flow/-/ast-types-flow-0.0.7.tgz#f70b735c6bca1a5c9c22d982c3e39e7feba3bdad" integrity sha1-9wtzXGvKGlycItmCw+Oef+ujva0= +ast-types@^0.13.4: + version "0.13.4" + resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.13.4.tgz#ee0d77b343263965ecc3fb62da16e7222b2b6782" + integrity sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w== + dependencies: + tslib "^2.0.1" + astral-regex@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" @@ -12109,15 +12004,6 @@ axios@^1.6.8, axios@^1.7.4: form-data "^4.0.0" proxy-from-env "^1.1.0" -axios@^1.7.7: - version "1.8.1" - resolved "https://registry.yarnpkg.com/axios/-/axios-1.8.1.tgz#7c118d2146e9ebac512b7d1128771cdd738d11e3" - integrity sha512-NN+fvwH/kV01dYUQ3PTOZns4LWtWhOFCAhQ/pHb88WQ1hNe5V/dvFwc4VJcDL11LT9xSX0QtsR8sWUuyOuOq7g== - dependencies: - follow-redirects "^1.15.6" - form-data "^4.0.0" - proxy-from-env "^1.1.0" - axobject-query@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-2.2.0.tgz#943d47e10c0b704aa42275e20edf3722648989be" @@ -12387,6 +12273,11 @@ base64id@2.0.0: resolved "https://registry.yarnpkg.com/base64id/-/base64id-2.0.0.tgz#2770ac6bc47d312af97a8bf9a634342e0cd25cb6" integrity sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog== +basic-ftp@^5.0.2: + version "5.0.5" + resolved "https://registry.yarnpkg.com/basic-ftp/-/basic-ftp-5.0.5.tgz#14a474f5fffecca1f4f406f1c26b18f800225ac0" + integrity sha512-4Bcg1P8xhUuqcii/S0Z9wiHIrQVPMermM1any+MX5GeGD7faD3/msQUDGLol9wOcz4/jbg/WJnGqoJF6LiBdtg== + batch@0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/batch/-/batch-0.6.1.tgz#dc34314f4e679318093fc760272525f94bf25c16" @@ -13037,13 +12928,6 @@ chai@^4.3.10: pathval "^1.1.1" type-detect "^4.0.8" -chalk-template@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/chalk-template/-/chalk-template-0.4.0.tgz#692c034d0ed62436b9062c1707fadcd0f753204b" - integrity sha512-/ghrgmhfY8RaSdeo43hNXxpoHAtxdbskUHjPpfqUWGttFgycUhYPGx3YZBCnUCvOa7Doivn1IZec3DEGFoMgLg== - dependencies: - chalk "^4.1.2" - chalk@4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.0.tgz#4e14870a618d9e2edd97dd8345fd9d9dc315646a" @@ -13377,11 +13261,6 @@ clsx@^2.0.0: resolved "https://registry.yarnpkg.com/clsx/-/clsx-2.1.0.tgz#e851283bcb5c80ee7608db18487433f7b23f77cb" integrity sha512-m3iNNWpd9rl3jvvcBnu70ylMdrXt8Vlq4HYadnU5fwcOtvkSQWPmj7amUcDT2qYI7risszBjI5AUIUox9D16pg== -cluster-key-slot@^1.1.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/cluster-key-slot/-/cluster-key-slot-1.1.2.tgz#88ddaa46906e303b5de30d3153b7d9fe0a0c19ac" - integrity sha512-RMr0FhtfXemyinomL4hrWcYJxmX6deFdCxpJzhDttxgO1+bcCnkk+9drydLVDmAMG7NE6aN/fl4F7ucU/90gAA== - cmd-shim@6.0.3, cmd-shim@^6.0.0: version "6.0.3" resolved "https://registry.yarnpkg.com/cmd-shim/-/cmd-shim-6.0.3.tgz#c491e9656594ba17ac83c4bd931590a9d6e26033" @@ -13507,26 +13386,6 @@ combined-stream@^1.0.6, combined-stream@^1.0.8, combined-stream@~1.0.6: dependencies: delayed-stream "~1.0.0" -command-line-args@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/command-line-args/-/command-line-args-6.0.1.tgz#cbd1efb4f72b285dbd54bde9a8585c2d9694b070" - integrity sha512-Jr3eByUjqyK0qd8W0SGFW1nZwqCaNCtbXjRo2cRJC1OYxWl3MZ5t1US3jq+cO4sPavqgw4l9BMGX0CBe+trepg== - dependencies: - array-back "^6.2.2" - find-replace "^5.0.2" - lodash.camelcase "^4.3.0" - typical "^7.2.0" - -command-line-usage@^7.0.1: - version "7.0.3" - resolved "https://registry.yarnpkg.com/command-line-usage/-/command-line-usage-7.0.3.tgz#6bce992354f6af10ecea2b631bfdf0c8b3bfaea3" - integrity sha512-PqMLy5+YGwhMh1wS04mVG44oqDsgyLRSKJBdOo1bnYhMKBW65gZF1dRp2OZRhiTjgUHljy99qkO7bsctLaw35Q== - dependencies: - array-back "^6.2.2" - chalk-template "^0.4.0" - table-layout "^4.1.0" - typical "^7.1.1" - commander@2.19.0: version "2.19.0" resolved "https://registry.yarnpkg.com/commander/-/commander-2.19.0.tgz#f6198aa84e5b83c46054b94ddedbfed5ee9ff12a" @@ -14607,6 +14466,11 @@ data-api-client@^1.1.0: dependencies: sqlstring "^2.3.2" +data-uri-to-buffer@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/data-uri-to-buffer/-/data-uri-to-buffer-6.0.2.tgz#8a58bb67384b261a38ef18bea1810cb01badd28b" + integrity sha512-7hvf7/GW8e86rW0ptuwS3OcBGDjIi6SZva7hCyWC0yYry2cOPmLIjXAUHI6DK2HsnwJd9ifmt57i8eV2n4YNpw== + data-urls@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-2.0.0.tgz#156485a72963a970f5d5821aaf642bef2bf2db9b" @@ -14934,6 +14798,15 @@ define-properties@^1.2.0, define-properties@^1.2.1: has-property-descriptors "^1.0.0" object-keys "^1.1.1" +degenerator@^5.0.0: + version "5.0.1" + resolved "https://registry.yarnpkg.com/degenerator/-/degenerator-5.0.1.tgz#9403bf297c6dad9a1ece409b37db27954f91f2f5" + integrity sha512-TllpMR/t0M5sqCXfj85i4XaAzxmS5tVA16dqvdkMwGmzI+dXLXnw3J+3Vdv7VKw+ThlTMboK6i9rnZ6Nntj5CQ== + dependencies: + ast-types "^0.13.4" + escodegen "^2.1.0" + esprima "^4.0.1" + del@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/del/-/del-6.0.0.tgz#0b40d0332cea743f1614f818be4feb717714c952" @@ -16132,6 +16005,17 @@ escodegen@^2.0.0: optionalDependencies: source-map "~0.6.1" +escodegen@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-2.1.0.tgz#ba93bbb7a43986d29d6041f99f5262da773e2e17" + integrity sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w== + dependencies: + esprima "^4.0.1" + estraverse "^5.2.0" + esutils "^2.0.2" + optionalDependencies: + source-map "~0.6.1" + eslint-config-airbnb-base@^13.1.0: version "13.2.0" resolved "https://registry.yarnpkg.com/eslint-config-airbnb-base/-/eslint-config-airbnb-base-13.2.0.tgz#f6ea81459ff4dec2dda200c35f1d8f7419d57943" @@ -16992,11 +16876,6 @@ find-java-home@^2.0.0: which "~1.0.5" winreg "~1.2.2" -find-replace@^5.0.2: - version "5.0.2" - resolved "https://registry.yarnpkg.com/find-replace/-/find-replace-5.0.2.tgz#fe27ff0be05975aef6fc679c1139bbabea564e26" - integrity sha512-Y45BAiE3mz2QsrN2fb5QEtO4qb44NcS7en/0y9PEVsg351HsLeVclP8QPMH79Le9sH3rs5RSwJu99W0WPZO43Q== - find-up@^2.0.0, find-up@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" @@ -17070,11 +16949,6 @@ flatbuffers@23.3.3: resolved "https://registry.yarnpkg.com/flatbuffers/-/flatbuffers-23.3.3.tgz#23654ba7a98d4b866a977ae668fe4f8969f34a66" integrity sha512-jmreOaAT1t55keaf+Z259Tvh8tR/Srry9K8dgCgvizhKSEr6gLGgaOJI2WFL5fkOpGOGRZwxUrlFn0GCmXUy6g== -flatbuffers@^24.3.25: - version "24.12.23" - resolved "https://registry.yarnpkg.com/flatbuffers/-/flatbuffers-24.12.23.tgz#6eea59d2bcda0c5d59bcacefd6216348b3086883" - integrity sha512-dLVCAISd5mhls514keQzmEG6QHmUUsNuWsb4tFafIUwvvgDjXhtfAYSKOzt5SWOy+qByV5pbsDZ+Vb7HUOBEdA== - flatted@^3.1.0: version "3.2.4" resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.4.tgz#28d9969ea90661b5134259f312ab6aa7929ac5e2" @@ -17534,6 +17408,15 @@ get-symbol-description@^1.0.2: es-errors "^1.3.0" get-intrinsic "^1.2.4" +get-uri@^6.0.1: + version "6.0.4" + resolved "https://registry.yarnpkg.com/get-uri/-/get-uri-6.0.4.tgz#6daaee9e12f9759e19e55ba313956883ef50e0a7" + integrity sha512-E1b1lFFLvLgak2whF2xDBcOy6NLVGZBqqjJjsIhvopKfWWEi64pLVTWWehV8KlLerZkfNTA95sTe2OdJKm1OzQ== + dependencies: + basic-ftp "^5.0.2" + data-uri-to-buffer "^6.0.2" + debug "^4.3.4" + getos@^3.2.1: version "3.2.1" resolved "https://registry.yarnpkg.com/getos/-/getos-3.2.1.tgz#0134d1f4e00eb46144c5a9c0ac4dc087cbb27dc5" @@ -18322,15 +18205,7 @@ http-proxy-agent@^5.0.0: agent-base "6" debug "4" -http-proxy-agent@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-7.0.0.tgz#e9096c5afd071a3fce56e6252bb321583c124673" - integrity sha512-+ZT+iBxVUQ1asugqnD6oWoRiS25AkjNfG085dKJGtGxkdwLQrMKU5wJr2bOOFAXzKcTuqq+7fZlTMgG3SRfIYQ== - dependencies: - agent-base "^7.1.0" - debug "^4.3.4" - -http-proxy-agent@^7.0.2: +http-proxy-agent@^7.0.0, http-proxy-agent@^7.0.1, http-proxy-agent@^7.0.2: version "7.0.2" resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz#9a8b1f246866c028509486585f62b8f2c18c270e" integrity sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig== @@ -18388,7 +18263,7 @@ http-signature@~1.4.0: jsprim "^2.0.2" sshpk "^1.18.0" -https-proxy-agent@5.0.0, https-proxy-agent@^5.0.0: +https-proxy-agent@5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz#e2a90542abb68a762e0a0850f6c9edadfd8506b2" integrity sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA== @@ -18396,23 +18271,15 @@ https-proxy-agent@5.0.0, https-proxy-agent@^5.0.0: agent-base "6" debug "4" -https-proxy-agent@^7.0.0, https-proxy-agent@^7.0.2: - version "7.0.4" - resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-7.0.4.tgz#8e97b841a029ad8ddc8731f26595bad868cb4168" - integrity sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg== - dependencies: - agent-base "^7.0.2" - debug "4" - -https-proxy-agent@^7.0.1: - version "7.0.2" - resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-7.0.2.tgz#e2645b846b90e96c6e6f347fb5b2e41f1590b09b" - integrity sha512-NmLNjm6ucYwtcUmL7JQC1ZQ57LmHP4lT15FQ8D61nak1rO6DH+fz5qNK2Ap5UN4ZapYICE3/0KodcLYSPsPbaA== +https-proxy-agent@^5.0.0: + version "5.0.1" + resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz#c59ef224a04fe8b754f3db0063a25ea30d0005d6" + integrity sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA== dependencies: - agent-base "^7.0.2" + agent-base "6" debug "4" -https-proxy-agent@^7.0.6: +https-proxy-agent@^7.0.0, https-proxy-agent@^7.0.1, https-proxy-agent@^7.0.2, https-proxy-agent@^7.0.6: version "7.0.6" resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz#da8dfeac7da130b05c2ba4b59c9b6cd66611a6b9" integrity sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw== @@ -18766,20 +18633,13 @@ intl-messageformat@^10.1.0: "@formatjs/icu-messageformat-parser" "2.7.6" tslib "^2.4.0" -ioredis@^5.4.1: - version "5.5.0" - resolved "https://registry.yarnpkg.com/ioredis/-/ioredis-5.5.0.tgz#ff2332e125ca2ac8e15472ddd14ecdffa6484a2a" - integrity sha512-7CutT89g23FfSa8MDoIFs2GYYa0PaNiW/OrT+nRyjRXHDZd17HmIgy+reOQ/yhh72NznNjGuS8kbCAcA4Ro4mw== +ip-address@^9.0.5: + version "9.0.5" + resolved "https://registry.yarnpkg.com/ip-address/-/ip-address-9.0.5.tgz#117a960819b08780c3bd1f14ef3c1cc1d3f3ea5a" + integrity sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g== dependencies: - "@ioredis/commands" "^1.1.1" - cluster-key-slot "^1.1.0" - debug "^4.3.4" - denque "^2.1.0" - lodash.defaults "^4.2.0" - lodash.isarguments "^3.1.0" - redis-errors "^1.2.0" - redis-parser "^3.0.0" - standard-as-callback "^2.1.0" + jsbn "1.1.0" + sprintf-js "^1.1.3" ip@^1.1.0, ip@^1.1.5: version "1.1.9" @@ -20058,6 +19918,11 @@ jsbi@^4.3.0: resolved "https://registry.yarnpkg.com/jsbi/-/jsbi-4.3.0.tgz#b54ee074fb6fcbc00619559305c8f7e912b04741" integrity sha512-SnZNcinB4RIcnEyZqFPdGPVgrg2AcnykiBy0sHVJQKHYeaLUvi3Exj+iaPpLnFVkDPZIV4U0yvgC9/R4uEAZ9g== +jsbn@1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-1.1.0.tgz#b01307cb29b618a1ed26ec79e911f803c4da0040" + integrity sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A== + jsbn@~0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" @@ -20157,11 +20022,6 @@ json-bigint@^1.0.0: dependencies: bignumber.js "^9.0.0" -json-bignum@^0.0.3: - version "0.0.3" - resolved "https://registry.yarnpkg.com/json-bignum/-/json-bignum-0.0.3.tgz#41163b50436c773d82424dbc20ed70db7604b8d7" - integrity sha512-2WHyXj3OfHSgNyuzDbSxI1w2jgw5gkWSWhS7Qg4bWXx1nLk3jnbwfUeS0PSba3IzpTUWdHxBieELUzXRjQB2zg== - json-parse-better-errors@^1.0.1, json-parse-better-errors@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" @@ -20805,11 +20665,6 @@ lodash.includes@^4.3.0: resolved "https://registry.yarnpkg.com/lodash.includes/-/lodash.includes-4.3.0.tgz#60bb98a87cb923c68ca1e51325483314849f553f" integrity sha1-YLuYqHy5I8aMoeUTJUgzFISfVT8= -lodash.isarguments@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz#2f573d85c6a24289ff00663b491c1d338ff3458a" - integrity sha512-chi4NHZlZqZD18a0imDHnZPrDeBbTtVN7GXMwuGdRH9qotxAjYs3aVLKc7zNOG9eddR5Ksd8rvFEBc9SsggPpg== - lodash.isboolean@^3.0.3: version "3.0.3" resolved "https://registry.yarnpkg.com/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz#6c2e171db2a257cd96802fd43b01b20d5f5870f6" @@ -21860,6 +21715,11 @@ neo-async@^2.6.0, neo-async@^2.6.2: resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== +netmask@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/netmask/-/netmask-2.0.2.tgz#8b01a07644065d536383835823bc52004ebac5e7" + integrity sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg== + next-tick@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.0.0.tgz#ca86d1fe8828169b0120208e3dc8424b9db8342c" @@ -22837,6 +22697,28 @@ p-waterfall@2.1.1: dependencies: p-reduce "^2.0.0" +pac-proxy-agent@^7.1.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/pac-proxy-agent/-/pac-proxy-agent-7.2.0.tgz#9cfaf33ff25da36f6147a20844230ec92c06e5df" + integrity sha512-TEB8ESquiLMc0lV8vcd5Ql/JAKAoyzHFXaStwjkzpOpC5Yv+pIzLfHvjTSdf3vpa2bMiUQrg9i6276yn8666aA== + dependencies: + "@tootallnate/quickjs-emscripten" "^0.23.0" + agent-base "^7.1.2" + debug "^4.3.4" + get-uri "^6.0.1" + http-proxy-agent "^7.0.0" + https-proxy-agent "^7.0.6" + pac-resolver "^7.0.1" + socks-proxy-agent "^8.0.5" + +pac-resolver@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/pac-resolver/-/pac-resolver-7.0.1.tgz#54675558ea368b64d210fd9c92a640b5f3b8abb6" + integrity sha512-5NPgf87AT2STgwa2ntRMr45jTKrYBGkVU36yT0ig/n/GMAa3oPqhZfIQ2kMEimReg0+t9kZViDVZ83qfVUlckg== + dependencies: + degenerator "^5.0.0" + netmask "^2.0.2" + package-json-from-dist@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/package-json-from-dist/-/package-json-from-dist-1.0.0.tgz#e501cd3094b278495eb4258d4c9f6d5ac3019f00" @@ -24560,6 +24442,20 @@ proxy-addr@~2.0.7: forwarded "0.2.0" ipaddr.js "1.9.1" +proxy-agent@^6.5.0: + version "6.5.0" + resolved "https://registry.yarnpkg.com/proxy-agent/-/proxy-agent-6.5.0.tgz#9e49acba8e4ee234aacb539f89ed9c23d02f232d" + integrity sha512-TmatMXdr2KlRiA2CyDu8GqR8EjahTG3aY3nXjdzFyoZbmB8hrBsTyMezhULIXKnC0jpfjlmiZ3+EaCzoInSu/A== + dependencies: + agent-base "^7.1.2" + debug "^4.3.4" + http-proxy-agent "^7.0.1" + https-proxy-agent "^7.0.6" + lru-cache "^7.14.1" + pac-proxy-agent "^7.1.0" + proxy-from-env "^1.1.0" + socks-proxy-agent "^8.0.5" + proxy-from-env@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.0.0.tgz#33c50398f70ea7eb96d21f7b817630a55791c7ee" @@ -25612,18 +25508,6 @@ redeyed@~2.1.0: dependencies: esprima "~4.0.0" -redis-errors@^1.0.0, redis-errors@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/redis-errors/-/redis-errors-1.2.0.tgz#eb62d2adb15e4eaf4610c04afe1529384250abad" - integrity sha512-1qny3OExCf0UvUV/5wpYKf2YwPcOqXzkwKKSmKHiE6ZMQs5heeE/c8eXK+PNllPvmjgAbfnsbpkGZWy8cBpn9w== - -redis-parser@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/redis-parser/-/redis-parser-3.0.0.tgz#b66d828cdcafe6b4b8a428a7def4c6bcac31c8b4" - integrity sha512-DJnGAeenTdpMEH6uAJRK/uiyEIH9WVsUmoLwzudwGJUwZPp80PDBWPHXSAGNPwNvIXAbe7MSUB1zQFugFml66A== - dependencies: - redis-errors "^1.0.0" - redux@^4.0.0, redux@^4.0.4: version "4.1.2" resolved "https://registry.yarnpkg.com/redux/-/redux-4.1.2.tgz#140f35426d99bb4729af760afcf79eaaac407104" @@ -26816,6 +26700,15 @@ socks-proxy-agent@^8.0.1: debug "^4.3.4" socks "^2.7.1" +socks-proxy-agent@^8.0.5: + version "8.0.5" + resolved "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-8.0.5.tgz#b9cdb4e7e998509d7659d689ce7697ac21645bee" + integrity sha512-HehCEsotFqbPW9sJ8WVYB6UbmIMv7kUUORIF2Nncq4VQvBfNBLibW9YZR5dlYCSUhwcD628pRllm7n+E+YTzJw== + dependencies: + agent-base "^7.1.2" + debug "^4.3.4" + socks "^2.8.3" + socks@^2.6.1: version "2.6.1" resolved "https://registry.yarnpkg.com/socks/-/socks-2.6.1.tgz#989e6534a07cf337deb1b1c94aaa44296520d30e" @@ -26832,6 +26725,14 @@ socks@^2.6.2, socks@^2.7.1: ip "^2.0.0" smart-buffer "^4.2.0" +socks@^2.8.3: + version "2.8.4" + resolved "https://registry.yarnpkg.com/socks/-/socks-2.8.4.tgz#07109755cdd4da03269bda4725baa061ab56d5cc" + integrity sha512-D3YaD0aRxR3mEcqnidIs7ReYJFVzWdd6fXJYUM8ixcQcJRGTka/b3saV0KflYhyVJXKhb947GndU35SxYNResQ== + dependencies: + ip-address "^9.0.5" + smart-buffer "^4.2.0" + sort-keys@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-2.0.0.tgz#658535584861ec97d730d6cf41822e1f56684128" @@ -27001,6 +26902,11 @@ sprintf-js@^1.1.2: resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.1.2.tgz#da1765262bf8c0f571749f2ad6c26300207ae673" integrity sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug== +sprintf-js@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.1.3.tgz#4914b903a2f8b685d17fdf78a70e917e872e444a" + integrity sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA== + sprintf-js@~1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" @@ -27144,11 +27050,6 @@ stackframe@^1.1.1: resolved "https://registry.yarnpkg.com/stackframe/-/stackframe-1.2.0.tgz#52429492d63c62eb989804c11552e3d22e779303" integrity sha512-GrdeshiRmS1YLMYgzF16olf2jJ/IzxXY9lhKOskuVziubpTYcYqyOwYeJKzQkwy7uN0fYSsbsC4RQaXf9LCrYA== -standard-as-callback@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/standard-as-callback/-/standard-as-callback-2.1.0.tgz#8953fc05359868a77b5b9739a665c5977bb7df45" - integrity sha512-qoRRSyROncaz1z0mvYqIE4lCd9p2R90i6GxW3uZv5ucSu8tU7B5HXUP1gG8pVZsYNVaXjk8ClXHPttLyxAL48A== - statuses@2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63" @@ -27609,14 +27510,6 @@ syntax-error@^1.3.0: dependencies: acorn-node "^1.2.0" -table-layout@^4.1.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/table-layout/-/table-layout-4.1.1.tgz#0f72965de1a5c0c1419c9ba21cae4e73a2f73a42" - integrity sha512-iK5/YhZxq5GO5z8wb0bY1317uDF3Zjpha0QFFLA8/trAoiLbQD0HUbMesEaxyzUgDxi2QlcbM8IvqOlEjgoXBA== - dependencies: - array-back "^6.2.2" - wordwrapjs "^5.1.0" - table@^6.0.9: version "6.7.5" resolved "https://registry.yarnpkg.com/table/-/table-6.7.5.tgz#f04478c351ef3d8c7904f0e8be90a1b62417d238" @@ -28248,16 +28141,16 @@ tslib@^1, tslib@^1.10.0, tslib@^1.8.1, tslib@^1.9.0: resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== +tslib@^2.0.1: + version "2.8.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.8.1.tgz#612efe4ed235d567e8aba5f2a5fab70280ade83f" + integrity sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w== + tslib@^2.5.0: version "2.7.0" resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.7.0.tgz#d9b40c5c40ab59e8738f297df3087bf1a2690c01" integrity sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA== -tslib@^2.8.0: - version "2.8.1" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.8.1.tgz#612efe4ed235d567e8aba5f2a5fab70280ade83f" - integrity sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w== - tslib@~2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.1.0.tgz#da60860f1c2ecaa5703ab7d39bc05b6bf988b97a" @@ -28444,11 +28337,6 @@ typescript@~5.2.2: resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.2.2.tgz#5ebb5e5a5b75f085f22bc3f8460fba308310fa78" integrity sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w== -typical@^7.1.1, typical@^7.2.0: - version "7.3.0" - resolved "https://registry.yarnpkg.com/typical/-/typical-7.3.0.tgz#930376be344228709f134613911fa22aa09617a4" - integrity sha512-ya4mg/30vm+DOWfBg4YK3j2WD6TWtRkCbasOJr40CseYENzCUby/7rIvXA99JGsQHeNxLbnXdyLLxKSv3tauFw== - ua-parser-js@^0.7.30: version "0.7.40" resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.40.tgz#c87d83b7bb25822ecfa6397a0da5903934ea1562" @@ -29568,11 +29456,6 @@ wordwrap@^1.0.0: resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" integrity sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus= -wordwrapjs@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/wordwrapjs/-/wordwrapjs-5.1.0.tgz#4c4d20446dcc670b14fa115ef4f8fd9947af2b3a" - integrity sha512-JNjcULU2e4KJwUNv6CHgI46UvDGitb6dGryHajXTDiLgg1/RiGoPSDw4kZfYnwGtEXf2ZMeIewDQgFGzkCB2Sg== - workerpool@^9.2.0: version "9.2.0" resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-9.2.0.tgz#f74427cbb61234708332ed8ab9cbf56dcb1c4371" From 9c25c3f64258bf0f4fc7502ef78cf41dcfd87a18 Mon Sep 17 00:00:00 2001 From: Mikhail Cheshkov Date: Wed, 5 Mar 2025 22:26:26 +0200 Subject: [PATCH 19/49] v1.2.17 --- CHANGELOG.md | 14 +++++ lerna.json | 2 +- packages/cubejs-api-gateway/CHANGELOG.md | 6 ++ packages/cubejs-api-gateway/package.json | 8 +-- packages/cubejs-athena-driver/CHANGELOG.md | 4 ++ packages/cubejs-athena-driver/package.json | 10 ++-- packages/cubejs-backend-cloud/CHANGELOG.md | 4 ++ packages/cubejs-backend-cloud/package.json | 6 +- packages/cubejs-backend-maven/CHANGELOG.md | 4 ++ packages/cubejs-backend-maven/package.json | 6 +- packages/cubejs-backend-native/CHANGELOG.md | 4 ++ packages/cubejs-backend-native/package.json | 8 +-- packages/cubejs-backend-shared/CHANGELOG.md | 6 ++ packages/cubejs-backend-shared/package.json | 4 +- packages/cubejs-base-driver/CHANGELOG.md | 4 ++ packages/cubejs-base-driver/package.json | 6 +- packages/cubejs-bigquery-driver/CHANGELOG.md | 4 ++ packages/cubejs-bigquery-driver/package.json | 8 +-- packages/cubejs-cli/CHANGELOG.md | 4 ++ packages/cubejs-cli/package.json | 12 ++-- .../cubejs-clickhouse-driver/CHANGELOG.md | 4 ++ .../cubejs-clickhouse-driver/package.json | 10 ++-- packages/cubejs-client-core/CHANGELOG.md | 4 ++ packages/cubejs-client-core/package.json | 2 +- packages/cubejs-client-dx/CHANGELOG.md | 4 ++ packages/cubejs-client-dx/package.json | 2 +- packages/cubejs-client-ngx/CHANGELOG.md | 4 ++ packages/cubejs-client-ngx/package.json | 2 +- packages/cubejs-client-react/CHANGELOG.md | 4 ++ packages/cubejs-client-react/package.json | 4 +- packages/cubejs-client-vue/CHANGELOG.md | 4 ++ packages/cubejs-client-vue/package.json | 4 +- packages/cubejs-client-vue3/CHANGELOG.md | 4 ++ packages/cubejs-client-vue3/package.json | 4 +- .../cubejs-client-ws-transport/CHANGELOG.md | 4 ++ .../cubejs-client-ws-transport/package.json | 6 +- packages/cubejs-crate-driver/CHANGELOG.md | 4 ++ packages/cubejs-crate-driver/package.json | 10 ++-- packages/cubejs-cubestore-driver/CHANGELOG.md | 4 ++ packages/cubejs-cubestore-driver/package.json | 12 ++-- .../CHANGELOG.md | 4 ++ .../package.json | 12 ++-- .../cubejs-dbt-schema-extension/CHANGELOG.md | 4 ++ .../cubejs-dbt-schema-extension/package.json | 8 +-- packages/cubejs-docker/CHANGELOG.md | 6 ++ packages/cubejs-docker/package.json | 60 +++++++++---------- packages/cubejs-dremio-driver/CHANGELOG.md | 4 ++ packages/cubejs-dremio-driver/package.json | 12 ++-- packages/cubejs-druid-driver/CHANGELOG.md | 4 ++ packages/cubejs-druid-driver/package.json | 10 ++-- packages/cubejs-duckdb-driver/CHANGELOG.md | 6 ++ packages/cubejs-duckdb-driver/package.json | 12 ++-- .../cubejs-elasticsearch-driver/CHANGELOG.md | 4 ++ .../cubejs-elasticsearch-driver/package.json | 8 +-- packages/cubejs-firebolt-driver/CHANGELOG.md | 4 ++ packages/cubejs-firebolt-driver/package.json | 12 ++-- packages/cubejs-hive-driver/CHANGELOG.md | 4 ++ packages/cubejs-hive-driver/package.json | 8 +-- packages/cubejs-jdbc-driver/CHANGELOG.md | 4 ++ packages/cubejs-jdbc-driver/package.json | 8 +-- packages/cubejs-ksql-driver/CHANGELOG.md | 4 ++ packages/cubejs-ksql-driver/package.json | 10 ++-- packages/cubejs-linter/CHANGELOG.md | 4 ++ packages/cubejs-linter/package.json | 2 +- .../cubejs-materialize-driver/CHANGELOG.md | 4 ++ .../cubejs-materialize-driver/package.json | 12 ++-- packages/cubejs-mongobi-driver/CHANGELOG.md | 4 ++ packages/cubejs-mongobi-driver/package.json | 8 +-- packages/cubejs-mssql-driver/CHANGELOG.md | 4 ++ packages/cubejs-mssql-driver/package.json | 4 +- .../CHANGELOG.md | 4 ++ .../package.json | 8 +-- packages/cubejs-mysql-driver/CHANGELOG.md | 4 ++ packages/cubejs-mysql-driver/package.json | 10 ++-- packages/cubejs-oracle-driver/CHANGELOG.md | 4 ++ packages/cubejs-oracle-driver/package.json | 4 +- packages/cubejs-pinot-driver/CHANGELOG.md | 4 ++ packages/cubejs-pinot-driver/package.json | 10 ++-- packages/cubejs-playground/CHANGELOG.md | 4 ++ packages/cubejs-playground/package.json | 6 +- packages/cubejs-postgres-driver/CHANGELOG.md | 4 ++ packages/cubejs-postgres-driver/package.json | 10 ++-- packages/cubejs-prestodb-driver/CHANGELOG.md | 4 ++ packages/cubejs-prestodb-driver/package.json | 8 +-- .../cubejs-query-orchestrator/CHANGELOG.md | 6 ++ .../cubejs-query-orchestrator/package.json | 10 ++-- packages/cubejs-questdb-driver/CHANGELOG.md | 4 ++ packages/cubejs-questdb-driver/package.json | 12 ++-- packages/cubejs-redshift-driver/CHANGELOG.md | 4 ++ packages/cubejs-redshift-driver/package.json | 10 ++-- packages/cubejs-schema-compiler/CHANGELOG.md | 6 ++ packages/cubejs-schema-compiler/package.json | 10 ++-- packages/cubejs-server-core/CHANGELOG.md | 4 ++ packages/cubejs-server-core/package.json | 22 +++---- packages/cubejs-server/CHANGELOG.md | 4 ++ packages/cubejs-server/package.json | 14 ++--- packages/cubejs-snowflake-driver/CHANGELOG.md | 4 ++ packages/cubejs-snowflake-driver/package.json | 8 +-- packages/cubejs-sqlite-driver/CHANGELOG.md | 4 ++ packages/cubejs-sqlite-driver/package.json | 8 +-- packages/cubejs-templates/CHANGELOG.md | 4 ++ packages/cubejs-templates/package.json | 6 +- packages/cubejs-testing-drivers/CHANGELOG.md | 4 ++ packages/cubejs-testing-drivers/package.json | 36 +++++------ packages/cubejs-testing-shared/CHANGELOG.md | 4 ++ packages/cubejs-testing-shared/package.json | 10 ++-- packages/cubejs-testing/CHANGELOG.md | 4 ++ packages/cubejs-testing/package.json | 22 +++---- packages/cubejs-trino-driver/CHANGELOG.md | 4 ++ packages/cubejs-trino-driver/package.json | 12 ++-- packages/cubejs-vertica-driver/CHANGELOG.md | 4 ++ packages/cubejs-vertica-driver/package.json | 12 ++-- rust/cubesql/CHANGELOG.md | 6 ++ rust/cubesql/package.json | 2 +- rust/cubestore/CHANGELOG.md | 4 ++ rust/cubestore/package.json | 6 +- 116 files changed, 540 insertions(+), 284 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c5c3d73fe..86b95a568 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,20 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) + +### Bug Fixes + +- **api-gateway:** Support proxy when fetching jwk for token validation ([#9286](https://github.com/cube-js/cube/issues/9286)) ([60870c8](https://github.com/cube-js/cube/commit/60870c83d704fdbdb496300023daf188a53990f9)) +- **cubesql:** Use pushdown-pullup scheme for FilterSimplifyReplacer ([#9278](https://github.com/cube-js/cube/issues/9278)) ([ab5a64e](https://github.com/cube-js/cube/commit/ab5a64e9cc1b0db5223720f35a26a57d23877332)) +- **docker:** apt-get install ca-certificates in latest and local Dockerfiles ([1fca9ee](https://github.com/cube-js/cube/commit/1fca9ee3e9fdac4a6f0dcfad832afc7a5b398080)) +- **query-orchestrator:** Fix dropping temp tables during pre-agg creation ([#9295](https://github.com/cube-js/cube/issues/9295)) ([eb3d980](https://github.com/cube-js/cube/commit/eb3d980aee42b3077148cc93c56034b0471d2a33)) +- **schema-compiler:** Fix ORDER BY clause generation for queries with td with filters ([#9296](https://github.com/cube-js/cube/issues/9296)) ([1c8ce4f](https://github.com/cube-js/cube/commit/1c8ce4f475a0327fd4dc8fedf24ac9979aa2bffd)) + +### Features + +- **duckdb-driver:** Add `databasePath` and `motherDuckToken` config options ([6f43138](https://github.com/cube-js/cube/commit/6f431388d0c207923ea990bab55c22c79d217e5b)) + ## [1.2.16](https://github.com/cube-js/cube/compare/v1.2.15...v1.2.16) (2025-03-04) ### Bug Fixes diff --git a/lerna.json b/lerna.json index cd74b4076..57d996c54 100644 --- a/lerna.json +++ b/lerna.json @@ -1,5 +1,5 @@ { - "version": "1.2.16", + "version": "1.2.17", "npmClient": "yarn", "command": { "bootstrap": { diff --git a/packages/cubejs-api-gateway/CHANGELOG.md b/packages/cubejs-api-gateway/CHANGELOG.md index 0f4ac1e34..739191e2b 100644 --- a/packages/cubejs-api-gateway/CHANGELOG.md +++ b/packages/cubejs-api-gateway/CHANGELOG.md @@ -3,6 +3,12 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) + +### Bug Fixes + +- **api-gateway:** Support proxy when fetching jwk for token validation ([#9286](https://github.com/cube-js/cube/issues/9286)) ([60870c8](https://github.com/cube-js/cube/commit/60870c83d704fdbdb496300023daf188a53990f9)) + ## [1.2.16](https://github.com/cube-js/cube/compare/v1.2.15...v1.2.16) (2025-03-04) **Note:** Version bump only for package @cubejs-backend/api-gateway diff --git a/packages/cubejs-api-gateway/package.json b/packages/cubejs-api-gateway/package.json index e4e6a6f37..939e97459 100644 --- a/packages/cubejs-api-gateway/package.json +++ b/packages/cubejs-api-gateway/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/api-gateway", "description": "Cube.js API Gateway", "author": "Cube Dev, Inc.", - "version": "1.2.16", + "version": "1.2.17", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -27,8 +27,8 @@ "dist/src/*" ], "dependencies": { - "@cubejs-backend/native": "1.2.16", - "@cubejs-backend/shared": "1.2.16", + "@cubejs-backend/native": "1.2.17", + "@cubejs-backend/shared": "1.2.17", "@ungap/structured-clone": "^0.3.4", "body-parser": "^1.19.0", "chrono-node": "^2.6.2", @@ -50,7 +50,7 @@ "uuid": "^8.3.2" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.16", + "@cubejs-backend/linter": "1.2.17", "@types/express": "^4.17.21", "@types/jest": "^27", "@types/jsonwebtoken": "^9.0.2", diff --git a/packages/cubejs-athena-driver/CHANGELOG.md b/packages/cubejs-athena-driver/CHANGELOG.md index 66a10f164..5671095cd 100644 --- a/packages/cubejs-athena-driver/CHANGELOG.md +++ b/packages/cubejs-athena-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) + +**Note:** Version bump only for package @cubejs-backend/athena-driver + ## [1.2.16](https://github.com/cube-js/cube/compare/v1.2.15...v1.2.16) (2025-03-04) **Note:** Version bump only for package @cubejs-backend/athena-driver diff --git a/packages/cubejs-athena-driver/package.json b/packages/cubejs-athena-driver/package.json index 0782bde57..8a265fcf0 100644 --- a/packages/cubejs-athena-driver/package.json +++ b/packages/cubejs-athena-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/athena-driver", "description": "Cube.js Athena database driver", "author": "Cube Dev, Inc.", - "version": "1.2.16", + "version": "1.2.17", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -29,13 +29,13 @@ "types": "dist/src/index.d.ts", "dependencies": { "@aws-sdk/client-athena": "^3.22.0", - "@cubejs-backend/base-driver": "1.2.16", - "@cubejs-backend/shared": "1.2.16", + "@cubejs-backend/base-driver": "1.2.17", + "@cubejs-backend/shared": "1.2.17", "sqlstring": "^2.3.1" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.16", - "@cubejs-backend/testing-shared": "1.2.16", + "@cubejs-backend/linter": "1.2.17", + "@cubejs-backend/testing-shared": "1.2.17", "@types/ramda": "^0.27.40", "typescript": "~5.2.2" }, diff --git a/packages/cubejs-backend-cloud/CHANGELOG.md b/packages/cubejs-backend-cloud/CHANGELOG.md index 6d152293b..cd45cf2fa 100644 --- a/packages/cubejs-backend-cloud/CHANGELOG.md +++ b/packages/cubejs-backend-cloud/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.17](/compare/v1.2.16...v1.2.17) (2025-03-05) + +**Note:** Version bump only for package @cubejs-backend/cloud + ## [1.2.16](https://github.com/cube-js/cube/compare/v1.2.15...v1.2.16) (2025-03-04) **Note:** Version bump only for package @cubejs-backend/cloud diff --git a/packages/cubejs-backend-cloud/package.json b/packages/cubejs-backend-cloud/package.json index 3d815f3b5..cf0fecfa6 100644 --- a/packages/cubejs-backend-cloud/package.json +++ b/packages/cubejs-backend-cloud/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-backend/cloud", - "version": "1.2.16", + "version": "1.2.17", "description": "Cube Cloud package", "main": "dist/src/index.js", "typings": "dist/src/index.d.ts", @@ -25,7 +25,7 @@ "devDependencies": { "@babel/core": "^7.24.5", "@babel/preset-env": "^7.24.5", - "@cubejs-backend/linter": "1.2.16", + "@cubejs-backend/linter": "1.2.17", "@types/fs-extra": "^9.0.8", "@types/jest": "^27", "jest": "^27", @@ -33,7 +33,7 @@ }, "dependencies": { "@cubejs-backend/dotenv": "^9.0.2", - "@cubejs-backend/shared": "1.2.16", + "@cubejs-backend/shared": "1.2.17", "chokidar": "^3.5.1", "env-var": "^6.3.0", "form-data": "^4.0.0", diff --git a/packages/cubejs-backend-maven/CHANGELOG.md b/packages/cubejs-backend-maven/CHANGELOG.md index a3ca627f7..466f9aba6 100644 --- a/packages/cubejs-backend-maven/CHANGELOG.md +++ b/packages/cubejs-backend-maven/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) + +**Note:** Version bump only for package @cubejs-backend/maven + ## [1.2.16](https://github.com/cube-js/cube/compare/v1.2.15...v1.2.16) (2025-03-04) **Note:** Version bump only for package @cubejs-backend/maven diff --git a/packages/cubejs-backend-maven/package.json b/packages/cubejs-backend-maven/package.json index 059640a47..60a918079 100644 --- a/packages/cubejs-backend-maven/package.json +++ b/packages/cubejs-backend-maven/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/maven", "description": "Cube.js Maven Wrapper for java dependencies downloading", "author": "Cube Dev, Inc.", - "version": "1.2.16", + "version": "1.2.17", "license": "Apache-2.0", "repository": { "type": "git", @@ -31,12 +31,12 @@ "dist/src/*" ], "dependencies": { - "@cubejs-backend/shared": "1.2.16", + "@cubejs-backend/shared": "1.2.17", "source-map-support": "^0.5.19", "xmlbuilder2": "^2.4.0" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.16", + "@cubejs-backend/linter": "1.2.17", "@types/jest": "^27", "@types/node": "^18", "jest": "^27", diff --git a/packages/cubejs-backend-native/CHANGELOG.md b/packages/cubejs-backend-native/CHANGELOG.md index a0f4b2497..046376cf0 100644 --- a/packages/cubejs-backend-native/CHANGELOG.md +++ b/packages/cubejs-backend-native/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) + +**Note:** Version bump only for package @cubejs-backend/native + ## [1.2.16](https://github.com/cube-js/cube/compare/v1.2.15...v1.2.16) (2025-03-04) ### Bug Fixes diff --git a/packages/cubejs-backend-native/package.json b/packages/cubejs-backend-native/package.json index 118e6beab..09f7a59d8 100644 --- a/packages/cubejs-backend-native/package.json +++ b/packages/cubejs-backend-native/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-backend/native", - "version": "1.2.16", + "version": "1.2.17", "author": "Cube Dev, Inc.", "description": "Native module for Cube.js (binding to Rust codebase)", "main": "dist/js/index.js", @@ -34,7 +34,7 @@ "dist/js" ], "devDependencies": { - "@cubejs-backend/linter": "1.2.16", + "@cubejs-backend/linter": "1.2.17", "@types/jest": "^27", "@types/node": "^18", "cargo-cp-artifact": "^0.1.9", @@ -44,8 +44,8 @@ "uuid": "^8.3.2" }, "dependencies": { - "@cubejs-backend/cubesql": "1.2.16", - "@cubejs-backend/shared": "1.2.16", + "@cubejs-backend/cubesql": "1.2.17", + "@cubejs-backend/shared": "1.2.17", "@cubejs-infra/post-installer": "^0.0.7" }, "resources": { diff --git a/packages/cubejs-backend-shared/CHANGELOG.md b/packages/cubejs-backend-shared/CHANGELOG.md index 9959e84c6..b50a1eda5 100644 --- a/packages/cubejs-backend-shared/CHANGELOG.md +++ b/packages/cubejs-backend-shared/CHANGELOG.md @@ -3,6 +3,12 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.17](/compare/v1.2.16...v1.2.17) (2025-03-05) + +### Bug Fixes + +- **api-gateway:** Support proxy when fetching jwk for token validation (#9286) 60870c8, closes #9286 + ## [1.2.16](https://github.com/cube-js/cube/compare/v1.2.15...v1.2.16) (2025-03-04) **Note:** Version bump only for package @cubejs-backend/shared diff --git a/packages/cubejs-backend-shared/package.json b/packages/cubejs-backend-shared/package.json index a78a22ade..51d2d9683 100644 --- a/packages/cubejs-backend-shared/package.json +++ b/packages/cubejs-backend-shared/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-backend/shared", - "version": "1.2.16", + "version": "1.2.17", "description": "Shared code for Cube.js backend packages", "main": "dist/src/index.js", "typings": "dist/src/index.d.ts", @@ -22,7 +22,7 @@ "author": "Cube Dev, Inc.", "license": "Apache-2.0", "devDependencies": { - "@cubejs-backend/linter": "1.2.16", + "@cubejs-backend/linter": "1.2.17", "@types/bytes": "^3.1.5", "@types/cli-progress": "^3.9.1", "@types/decompress": "^4.2.7", diff --git a/packages/cubejs-base-driver/CHANGELOG.md b/packages/cubejs-base-driver/CHANGELOG.md index 63b6d3674..60691fb3b 100644 --- a/packages/cubejs-base-driver/CHANGELOG.md +++ b/packages/cubejs-base-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) + +**Note:** Version bump only for package @cubejs-backend/base-driver + ## [1.2.16](https://github.com/cube-js/cube/compare/v1.2.15...v1.2.16) (2025-03-04) **Note:** Version bump only for package @cubejs-backend/base-driver diff --git a/packages/cubejs-base-driver/package.json b/packages/cubejs-base-driver/package.json index fb3d6c484..f34778a78 100644 --- a/packages/cubejs-base-driver/package.json +++ b/packages/cubejs-base-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/base-driver", "description": "Cube.js Base Driver", "author": "Cube Dev, Inc.", - "version": "1.2.16", + "version": "1.2.17", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -33,11 +33,11 @@ "@aws-sdk/s3-request-presigner": "^3.49.0", "@azure/identity": "^4.4.1", "@azure/storage-blob": "^12.9.0", - "@cubejs-backend/shared": "1.2.16", + "@cubejs-backend/shared": "1.2.17", "@google-cloud/storage": "^7.13.0" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.16", + "@cubejs-backend/linter": "1.2.17", "@types/jest": "^27", "@types/node": "^18", "jest": "^27", diff --git a/packages/cubejs-bigquery-driver/CHANGELOG.md b/packages/cubejs-bigquery-driver/CHANGELOG.md index e20416a6d..fa23c6792 100644 --- a/packages/cubejs-bigquery-driver/CHANGELOG.md +++ b/packages/cubejs-bigquery-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) + +**Note:** Version bump only for package @cubejs-backend/bigquery-driver + ## [1.2.16](https://github.com/cube-js/cube/compare/v1.2.15...v1.2.16) (2025-03-04) **Note:** Version bump only for package @cubejs-backend/bigquery-driver diff --git a/packages/cubejs-bigquery-driver/package.json b/packages/cubejs-bigquery-driver/package.json index d0be9fadd..813ece4d0 100644 --- a/packages/cubejs-bigquery-driver/package.json +++ b/packages/cubejs-bigquery-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/bigquery-driver", "description": "Cube.js BigQuery database driver", "author": "Cube Dev, Inc.", - "version": "1.2.16", + "version": "1.2.17", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -28,15 +28,15 @@ "main": "index.js", "types": "dist/src/index.d.ts", "dependencies": { - "@cubejs-backend/base-driver": "1.2.16", + "@cubejs-backend/base-driver": "1.2.17", "@cubejs-backend/dotenv": "^9.0.2", - "@cubejs-backend/shared": "1.2.16", + "@cubejs-backend/shared": "1.2.17", "@google-cloud/bigquery": "^7.7.0", "@google-cloud/storage": "^7.13.0", "ramda": "^0.27.2" }, "devDependencies": { - "@cubejs-backend/testing-shared": "1.2.16", + "@cubejs-backend/testing-shared": "1.2.17", "@types/big.js": "^6.2.2", "@types/dedent": "^0.7.0", "@types/jest": "^27", diff --git a/packages/cubejs-cli/CHANGELOG.md b/packages/cubejs-cli/CHANGELOG.md index ac78fe314..710f2939b 100644 --- a/packages/cubejs-cli/CHANGELOG.md +++ b/packages/cubejs-cli/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) + +**Note:** Version bump only for package cubejs-cli + ## [1.2.16](https://github.com/cube-js/cube/compare/v1.2.15...v1.2.16) (2025-03-04) **Note:** Version bump only for package cubejs-cli diff --git a/packages/cubejs-cli/package.json b/packages/cubejs-cli/package.json index 45e51bfe6..2debb358b 100644 --- a/packages/cubejs-cli/package.json +++ b/packages/cubejs-cli/package.json @@ -2,7 +2,7 @@ "name": "cubejs-cli", "description": "Cube.js Command Line Interface", "author": "Cube Dev, Inc.", - "version": "1.2.16", + "version": "1.2.17", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -30,10 +30,10 @@ "LICENSE" ], "dependencies": { - "@cubejs-backend/cloud": "1.2.16", + "@cubejs-backend/cloud": "1.2.17", "@cubejs-backend/dotenv": "^9.0.2", - "@cubejs-backend/schema-compiler": "1.2.16", - "@cubejs-backend/shared": "1.2.16", + "@cubejs-backend/schema-compiler": "1.2.17", + "@cubejs-backend/shared": "1.2.17", "chalk": "^2.4.2", "cli-progress": "^3.10", "commander": "^2.19.0", @@ -50,8 +50,8 @@ "colors": "1.4.0" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.16", - "@cubejs-backend/server": "1.2.16", + "@cubejs-backend/linter": "1.2.17", + "@cubejs-backend/server": "1.2.17", "@oclif/command": "^1.8.0", "@types/cli-progress": "^3.8.0", "@types/cross-spawn": "^6.0.2", diff --git a/packages/cubejs-clickhouse-driver/CHANGELOG.md b/packages/cubejs-clickhouse-driver/CHANGELOG.md index f8a7ae76c..7a54c0e45 100644 --- a/packages/cubejs-clickhouse-driver/CHANGELOG.md +++ b/packages/cubejs-clickhouse-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) + +**Note:** Version bump only for package @cubejs-backend/clickhouse-driver + ## [1.2.16](https://github.com/cube-js/cube/compare/v1.2.15...v1.2.16) (2025-03-04) **Note:** Version bump only for package @cubejs-backend/clickhouse-driver diff --git a/packages/cubejs-clickhouse-driver/package.json b/packages/cubejs-clickhouse-driver/package.json index 273edc634..0bfa3255f 100644 --- a/packages/cubejs-clickhouse-driver/package.json +++ b/packages/cubejs-clickhouse-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/clickhouse-driver", "description": "Cube.js ClickHouse database driver", "author": "Cube Dev, Inc.", - "version": "1.2.16", + "version": "1.2.17", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -28,16 +28,16 @@ }, "dependencies": { "@clickhouse/client": "^1.7.0", - "@cubejs-backend/base-driver": "1.2.16", - "@cubejs-backend/shared": "1.2.16", + "@cubejs-backend/base-driver": "1.2.17", + "@cubejs-backend/shared": "1.2.17", "moment": "^2.24.0", "sqlstring": "^2.3.1", "uuid": "^8.3.2" }, "license": "Apache-2.0", "devDependencies": { - "@cubejs-backend/linter": "1.2.16", - "@cubejs-backend/testing-shared": "1.2.16", + "@cubejs-backend/linter": "1.2.17", + "@cubejs-backend/testing-shared": "1.2.17", "@types/jest": "^27", "jest": "^27", "typescript": "~5.2.2" diff --git a/packages/cubejs-client-core/CHANGELOG.md b/packages/cubejs-client-core/CHANGELOG.md index 7a53bb8ce..47d3eba21 100644 --- a/packages/cubejs-client-core/CHANGELOG.md +++ b/packages/cubejs-client-core/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) + +**Note:** Version bump only for package @cubejs-client/core + ## [1.2.16](https://github.com/cube-js/cube/compare/v1.2.15...v1.2.16) (2025-03-04) **Note:** Version bump only for package @cubejs-client/core diff --git a/packages/cubejs-client-core/package.json b/packages/cubejs-client-core/package.json index f97fc4163..2e79bc70c 100644 --- a/packages/cubejs-client-core/package.json +++ b/packages/cubejs-client-core/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-client/core", - "version": "1.2.16", + "version": "1.2.17", "engines": {}, "repository": { "type": "git", diff --git a/packages/cubejs-client-dx/CHANGELOG.md b/packages/cubejs-client-dx/CHANGELOG.md index 3280d13cf..d0838c752 100644 --- a/packages/cubejs-client-dx/CHANGELOG.md +++ b/packages/cubejs-client-dx/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) + +**Note:** Version bump only for package @cubejs-client/dx + ## [1.2.16](https://github.com/cube-js/cube/compare/v1.2.15...v1.2.16) (2025-03-04) **Note:** Version bump only for package @cubejs-client/dx diff --git a/packages/cubejs-client-dx/package.json b/packages/cubejs-client-dx/package.json index 51bbd714e..09b5d0942 100644 --- a/packages/cubejs-client-dx/package.json +++ b/packages/cubejs-client-dx/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-client/dx", - "version": "1.2.16", + "version": "1.2.17", "engines": {}, "repository": { "type": "git", diff --git a/packages/cubejs-client-ngx/CHANGELOG.md b/packages/cubejs-client-ngx/CHANGELOG.md index 5397e0e91..94747d66a 100644 --- a/packages/cubejs-client-ngx/CHANGELOG.md +++ b/packages/cubejs-client-ngx/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) + +**Note:** Version bump only for package @cubejs-client/ngx + ## [1.2.16](https://github.com/cube-js/cube/compare/v1.2.15...v1.2.16) (2025-03-04) **Note:** Version bump only for package @cubejs-client/ngx diff --git a/packages/cubejs-client-ngx/package.json b/packages/cubejs-client-ngx/package.json index 4ab6a011b..85eaec55e 100644 --- a/packages/cubejs-client-ngx/package.json +++ b/packages/cubejs-client-ngx/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-client/ngx", - "version": "1.2.16", + "version": "1.2.17", "author": "Cube Dev, Inc.", "engines": {}, "repository": { diff --git a/packages/cubejs-client-react/CHANGELOG.md b/packages/cubejs-client-react/CHANGELOG.md index 8182146e9..dd8dafd34 100644 --- a/packages/cubejs-client-react/CHANGELOG.md +++ b/packages/cubejs-client-react/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) + +**Note:** Version bump only for package @cubejs-client/react + ## [1.2.16](https://github.com/cube-js/cube/compare/v1.2.15...v1.2.16) (2025-03-04) **Note:** Version bump only for package @cubejs-client/react diff --git a/packages/cubejs-client-react/package.json b/packages/cubejs-client-react/package.json index f03321d87..8b526377b 100644 --- a/packages/cubejs-client-react/package.json +++ b/packages/cubejs-client-react/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-client/react", - "version": "1.2.16", + "version": "1.2.17", "author": "Cube Dev, Inc.", "license": "MIT", "engines": {}, @@ -24,7 +24,7 @@ ], "dependencies": { "@babel/runtime": "^7.1.2", - "@cubejs-client/core": "1.2.16", + "@cubejs-client/core": "1.2.17", "core-js": "^3.6.5", "ramda": "^0.27.2" }, diff --git a/packages/cubejs-client-vue/CHANGELOG.md b/packages/cubejs-client-vue/CHANGELOG.md index 4c5f263a5..b8209107b 100644 --- a/packages/cubejs-client-vue/CHANGELOG.md +++ b/packages/cubejs-client-vue/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.17](https://github.com/cube-js/cube.js/compare/v1.2.16...v1.2.17) (2025-03-05) + +**Note:** Version bump only for package @cubejs-client/vue + ## [1.2.16](https://github.com/cube-js/cube.js/compare/v1.2.15...v1.2.16) (2025-03-04) **Note:** Version bump only for package @cubejs-client/vue diff --git a/packages/cubejs-client-vue/package.json b/packages/cubejs-client-vue/package.json index b4e5a775a..b45a172d4 100644 --- a/packages/cubejs-client-vue/package.json +++ b/packages/cubejs-client-vue/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-client/vue", - "version": "1.2.16", + "version": "1.2.17", "engines": {}, "repository": { "type": "git", @@ -28,7 +28,7 @@ "src" ], "dependencies": { - "@cubejs-client/core": "1.2.16", + "@cubejs-client/core": "1.2.17", "core-js": "^3.6.5", "ramda": "^0.27.2" }, diff --git a/packages/cubejs-client-vue3/CHANGELOG.md b/packages/cubejs-client-vue3/CHANGELOG.md index 971a1813e..22f8f42bf 100644 --- a/packages/cubejs-client-vue3/CHANGELOG.md +++ b/packages/cubejs-client-vue3/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.17](https://github.com/cube-js/cube.js/compare/v1.2.16...v1.2.17) (2025-03-05) + +**Note:** Version bump only for package @cubejs-client/vue3 + ## [1.2.16](https://github.com/cube-js/cube.js/compare/v1.2.15...v1.2.16) (2025-03-04) **Note:** Version bump only for package @cubejs-client/vue3 diff --git a/packages/cubejs-client-vue3/package.json b/packages/cubejs-client-vue3/package.json index ff9f8ad6f..ceb1def71 100644 --- a/packages/cubejs-client-vue3/package.json +++ b/packages/cubejs-client-vue3/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-client/vue3", - "version": "1.2.16", + "version": "1.2.17", "engines": {}, "repository": { "type": "git", @@ -28,7 +28,7 @@ "src" ], "dependencies": { - "@cubejs-client/core": "1.2.16", + "@cubejs-client/core": "1.2.17", "@vue/compiler-sfc": "^3.0.11", "core-js": "^3.6.5", "flush-promises": "^1.0.2", diff --git a/packages/cubejs-client-ws-transport/CHANGELOG.md b/packages/cubejs-client-ws-transport/CHANGELOG.md index ef6f33660..86274c2e0 100644 --- a/packages/cubejs-client-ws-transport/CHANGELOG.md +++ b/packages/cubejs-client-ws-transport/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) + +**Note:** Version bump only for package @cubejs-client/ws-transport + ## [1.2.16](https://github.com/cube-js/cube/compare/v1.2.15...v1.2.16) (2025-03-04) **Note:** Version bump only for package @cubejs-client/ws-transport diff --git a/packages/cubejs-client-ws-transport/package.json b/packages/cubejs-client-ws-transport/package.json index aa1609d9b..44f9a241d 100644 --- a/packages/cubejs-client-ws-transport/package.json +++ b/packages/cubejs-client-ws-transport/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-client/ws-transport", - "version": "1.2.16", + "version": "1.2.17", "engines": {}, "repository": { "type": "git", @@ -20,7 +20,7 @@ }, "dependencies": { "@babel/runtime": "^7.1.2", - "@cubejs-client/core": "1.2.16", + "@cubejs-client/core": "1.2.17", "core-js": "^3.6.5", "isomorphic-ws": "^4.0.1", "ws": "^7.3.1" @@ -34,7 +34,7 @@ "@babel/core": "^7.3.3", "@babel/preset-env": "^7.3.1", "@babel/preset-typescript": "^7.12.1", - "@cubejs-backend/linter": "1.2.16", + "@cubejs-backend/linter": "1.2.17", "@types/ws": "^7.2.9", "babel-jest": "^27", "jest": "^27", diff --git a/packages/cubejs-crate-driver/CHANGELOG.md b/packages/cubejs-crate-driver/CHANGELOG.md index 5823f0c7a..e270db0f7 100644 --- a/packages/cubejs-crate-driver/CHANGELOG.md +++ b/packages/cubejs-crate-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) + +**Note:** Version bump only for package @cubejs-backend/crate-driver + ## [1.2.16](https://github.com/cube-js/cube/compare/v1.2.15...v1.2.16) (2025-03-04) **Note:** Version bump only for package @cubejs-backend/crate-driver diff --git a/packages/cubejs-crate-driver/package.json b/packages/cubejs-crate-driver/package.json index 74d0adb5b..26fbfd074 100644 --- a/packages/cubejs-crate-driver/package.json +++ b/packages/cubejs-crate-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/crate-driver", "description": "Cube.js Crate database driver", "author": "Cube Dev, Inc.", - "version": "1.2.16", + "version": "1.2.17", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -28,14 +28,14 @@ "lint:fix": "eslint --fix src/* --ext .ts" }, "dependencies": { - "@cubejs-backend/postgres-driver": "1.2.16", - "@cubejs-backend/shared": "1.2.16", + "@cubejs-backend/postgres-driver": "1.2.17", + "@cubejs-backend/shared": "1.2.17", "pg": "^8.7.1" }, "license": "Apache-2.0", "devDependencies": { - "@cubejs-backend/linter": "1.2.16", - "@cubejs-backend/testing-shared": "1.2.16", + "@cubejs-backend/linter": "1.2.17", + "@cubejs-backend/testing-shared": "1.2.17", "testcontainers": "^10.13.0", "typescript": "~5.2.2" }, diff --git a/packages/cubejs-cubestore-driver/CHANGELOG.md b/packages/cubejs-cubestore-driver/CHANGELOG.md index a36f28a90..58aa22dfc 100644 --- a/packages/cubejs-cubestore-driver/CHANGELOG.md +++ b/packages/cubejs-cubestore-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) + +**Note:** Version bump only for package @cubejs-backend/cubestore-driver + ## [1.2.16](https://github.com/cube-js/cube/compare/v1.2.15...v1.2.16) (2025-03-04) **Note:** Version bump only for package @cubejs-backend/cubestore-driver diff --git a/packages/cubejs-cubestore-driver/package.json b/packages/cubejs-cubestore-driver/package.json index 406a97d79..b9106ca1e 100644 --- a/packages/cubejs-cubestore-driver/package.json +++ b/packages/cubejs-cubestore-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/cubestore-driver", "description": "Cube Store driver", "author": "Cube Dev, Inc.", - "version": "1.2.16", + "version": "1.2.17", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -26,10 +26,10 @@ "lint:fix": "eslint --fix src/*.ts" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.16", - "@cubejs-backend/cubestore": "1.2.16", - "@cubejs-backend/native": "1.2.16", - "@cubejs-backend/shared": "1.2.16", + "@cubejs-backend/base-driver": "1.2.17", + "@cubejs-backend/cubestore": "1.2.17", + "@cubejs-backend/native": "1.2.17", + "@cubejs-backend/shared": "1.2.17", "csv-write-stream": "^2.0.0", "flatbuffers": "23.3.3", "fs-extra": "^9.1.0", @@ -41,7 +41,7 @@ "ws": "^7.4.3" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.16", + "@cubejs-backend/linter": "1.2.17", "@types/csv-write-stream": "^2.0.0", "@types/generic-pool": "^3.1.9", "@types/node": "^18", diff --git a/packages/cubejs-databricks-jdbc-driver/CHANGELOG.md b/packages/cubejs-databricks-jdbc-driver/CHANGELOG.md index a29198341..d7c8a4162 100644 --- a/packages/cubejs-databricks-jdbc-driver/CHANGELOG.md +++ b/packages/cubejs-databricks-jdbc-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) + +**Note:** Version bump only for package @cubejs-backend/databricks-jdbc-driver + ## [1.2.16](https://github.com/cube-js/cube/compare/v1.2.15...v1.2.16) (2025-03-04) **Note:** Version bump only for package @cubejs-backend/databricks-jdbc-driver diff --git a/packages/cubejs-databricks-jdbc-driver/package.json b/packages/cubejs-databricks-jdbc-driver/package.json index 393f5edb2..6a049145d 100644 --- a/packages/cubejs-databricks-jdbc-driver/package.json +++ b/packages/cubejs-databricks-jdbc-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/databricks-jdbc-driver", "description": "Cube.js Databricks database driver", "author": "Cube Dev, Inc.", - "version": "1.2.16", + "version": "1.2.17", "license": "Apache-2.0", "repository": { "type": "git", @@ -30,17 +30,17 @@ "bin" ], "dependencies": { - "@cubejs-backend/base-driver": "1.2.16", - "@cubejs-backend/jdbc-driver": "1.2.16", - "@cubejs-backend/schema-compiler": "1.2.16", - "@cubejs-backend/shared": "1.2.16", + "@cubejs-backend/base-driver": "1.2.17", + "@cubejs-backend/jdbc-driver": "1.2.17", + "@cubejs-backend/schema-compiler": "1.2.17", + "@cubejs-backend/shared": "1.2.17", "node-fetch": "^2.6.1", "ramda": "^0.27.2", "source-map-support": "^0.5.19", "uuid": "^8.3.2" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.16", + "@cubejs-backend/linter": "1.2.17", "@types/generic-pool": "^3.1.9", "@types/jest": "^27", "@types/node": "^18", diff --git a/packages/cubejs-dbt-schema-extension/CHANGELOG.md b/packages/cubejs-dbt-schema-extension/CHANGELOG.md index 006767b93..396ccf3c4 100644 --- a/packages/cubejs-dbt-schema-extension/CHANGELOG.md +++ b/packages/cubejs-dbt-schema-extension/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) + +**Note:** Version bump only for package @cubejs-backend/dbt-schema-extension + ## [1.2.16](https://github.com/cube-js/cube/compare/v1.2.15...v1.2.16) (2025-03-04) **Note:** Version bump only for package @cubejs-backend/dbt-schema-extension diff --git a/packages/cubejs-dbt-schema-extension/package.json b/packages/cubejs-dbt-schema-extension/package.json index 9dd20a375..17994b270 100644 --- a/packages/cubejs-dbt-schema-extension/package.json +++ b/packages/cubejs-dbt-schema-extension/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/dbt-schema-extension", "description": "Cube.js dbt Schema Extension", "author": "Cube Dev, Inc.", - "version": "1.2.16", + "version": "1.2.17", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -25,14 +25,14 @@ "lint:fix": "eslint --fix src/* --ext .ts,.js" }, "dependencies": { - "@cubejs-backend/schema-compiler": "1.2.16", + "@cubejs-backend/schema-compiler": "1.2.17", "fs-extra": "^9.1.0", "inflection": "^1.12.0", "node-fetch": "^2.6.1" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.16", - "@cubejs-backend/testing": "1.2.16", + "@cubejs-backend/linter": "1.2.17", + "@cubejs-backend/testing": "1.2.17", "@types/generic-pool": "^3.1.9", "@types/jest": "^27", "jest": "^27", diff --git a/packages/cubejs-docker/CHANGELOG.md b/packages/cubejs-docker/CHANGELOG.md index 40a99daf0..4773dc765 100644 --- a/packages/cubejs-docker/CHANGELOG.md +++ b/packages/cubejs-docker/CHANGELOG.md @@ -3,6 +3,12 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.17](/compare/v1.2.16...v1.2.17) (2025-03-05) + +### Bug Fixes + +- **docker:** apt-get install ca-certificates in latest and local Dockerfiles 1fca9ee + ## [1.2.16](https://github.com/cube-js/cube/compare/v1.2.15...v1.2.16) (2025-03-04) **Note:** Version bump only for package @cubejs-backend/docker diff --git a/packages/cubejs-docker/package.json b/packages/cubejs-docker/package.json index de2030a2f..faa869d54 100644 --- a/packages/cubejs-docker/package.json +++ b/packages/cubejs-docker/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-backend/docker", - "version": "1.2.16", + "version": "1.2.17", "description": "Cube.js In Docker (virtual package)", "author": "Cube Dev, Inc.", "license": "Apache-2.0", @@ -9,35 +9,35 @@ "node": "^14.0.0 || ^16.0.0 || >=17.0.0" }, "dependencies": { - "@cubejs-backend/athena-driver": "1.2.16", - "@cubejs-backend/bigquery-driver": "1.2.16", - "@cubejs-backend/clickhouse-driver": "1.2.16", - "@cubejs-backend/crate-driver": "1.2.16", - "@cubejs-backend/databricks-jdbc-driver": "1.2.16", - "@cubejs-backend/dbt-schema-extension": "1.2.16", - "@cubejs-backend/dremio-driver": "1.2.16", - "@cubejs-backend/druid-driver": "1.2.16", - "@cubejs-backend/duckdb-driver": "1.2.16", - "@cubejs-backend/elasticsearch-driver": "1.2.16", - "@cubejs-backend/firebolt-driver": "1.2.16", - "@cubejs-backend/hive-driver": "1.2.16", - "@cubejs-backend/ksql-driver": "1.2.16", - "@cubejs-backend/materialize-driver": "1.2.16", - "@cubejs-backend/mongobi-driver": "1.2.16", - "@cubejs-backend/mssql-driver": "1.2.16", - "@cubejs-backend/mysql-driver": "1.2.16", - "@cubejs-backend/oracle-driver": "1.2.16", - "@cubejs-backend/pinot-driver": "1.2.16", - "@cubejs-backend/postgres-driver": "1.2.16", - "@cubejs-backend/prestodb-driver": "1.2.16", - "@cubejs-backend/questdb-driver": "1.2.16", - "@cubejs-backend/redshift-driver": "1.2.16", - "@cubejs-backend/server": "1.2.16", - "@cubejs-backend/snowflake-driver": "1.2.16", - "@cubejs-backend/sqlite-driver": "1.2.16", - "@cubejs-backend/trino-driver": "1.2.16", - "@cubejs-backend/vertica-driver": "1.2.16", - "cubejs-cli": "1.2.16", + "@cubejs-backend/athena-driver": "1.2.17", + "@cubejs-backend/bigquery-driver": "1.2.17", + "@cubejs-backend/clickhouse-driver": "1.2.17", + "@cubejs-backend/crate-driver": "1.2.17", + "@cubejs-backend/databricks-jdbc-driver": "1.2.17", + "@cubejs-backend/dbt-schema-extension": "1.2.17", + "@cubejs-backend/dremio-driver": "1.2.17", + "@cubejs-backend/druid-driver": "1.2.17", + "@cubejs-backend/duckdb-driver": "1.2.17", + "@cubejs-backend/elasticsearch-driver": "1.2.17", + "@cubejs-backend/firebolt-driver": "1.2.17", + "@cubejs-backend/hive-driver": "1.2.17", + "@cubejs-backend/ksql-driver": "1.2.17", + "@cubejs-backend/materialize-driver": "1.2.17", + "@cubejs-backend/mongobi-driver": "1.2.17", + "@cubejs-backend/mssql-driver": "1.2.17", + "@cubejs-backend/mysql-driver": "1.2.17", + "@cubejs-backend/oracle-driver": "1.2.17", + "@cubejs-backend/pinot-driver": "1.2.17", + "@cubejs-backend/postgres-driver": "1.2.17", + "@cubejs-backend/prestodb-driver": "1.2.17", + "@cubejs-backend/questdb-driver": "1.2.17", + "@cubejs-backend/redshift-driver": "1.2.17", + "@cubejs-backend/server": "1.2.17", + "@cubejs-backend/snowflake-driver": "1.2.17", + "@cubejs-backend/sqlite-driver": "1.2.17", + "@cubejs-backend/trino-driver": "1.2.17", + "@cubejs-backend/vertica-driver": "1.2.17", + "cubejs-cli": "1.2.17", "typescript": "~5.2.2" }, "resolutions": { diff --git a/packages/cubejs-dremio-driver/CHANGELOG.md b/packages/cubejs-dremio-driver/CHANGELOG.md index b5f253f6f..8b2507b2a 100644 --- a/packages/cubejs-dremio-driver/CHANGELOG.md +++ b/packages/cubejs-dremio-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) + +**Note:** Version bump only for package @cubejs-backend/dremio-driver + ## [1.2.16](https://github.com/cube-js/cube/compare/v1.2.15...v1.2.16) (2025-03-04) **Note:** Version bump only for package @cubejs-backend/dremio-driver diff --git a/packages/cubejs-dremio-driver/package.json b/packages/cubejs-dremio-driver/package.json index 96428f61c..850d46933 100644 --- a/packages/cubejs-dremio-driver/package.json +++ b/packages/cubejs-dremio-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/dremio-driver", "description": "Cube.js Dremio driver", "author": "Cube Dev, Inc.", - "version": "1.2.16", + "version": "1.2.17", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -22,15 +22,15 @@ "lint:fix": "eslint driver/*.js" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.16", - "@cubejs-backend/schema-compiler": "1.2.16", - "@cubejs-backend/shared": "1.2.16", + "@cubejs-backend/base-driver": "1.2.17", + "@cubejs-backend/schema-compiler": "1.2.17", + "@cubejs-backend/shared": "1.2.17", "axios": "^0.28.0", "sqlstring": "^2.3.1" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.16", - "@cubejs-backend/testing-shared": "1.2.16", + "@cubejs-backend/linter": "1.2.17", + "@cubejs-backend/testing-shared": "1.2.17", "jest": "^27" }, "license": "Apache-2.0", diff --git a/packages/cubejs-druid-driver/CHANGELOG.md b/packages/cubejs-druid-driver/CHANGELOG.md index 4849c8585..884db8ff0 100644 --- a/packages/cubejs-druid-driver/CHANGELOG.md +++ b/packages/cubejs-druid-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) + +**Note:** Version bump only for package @cubejs-backend/druid-driver + ## [1.2.16](https://github.com/cube-js/cube/compare/v1.2.15...v1.2.16) (2025-03-04) **Note:** Version bump only for package @cubejs-backend/druid-driver diff --git a/packages/cubejs-druid-driver/package.json b/packages/cubejs-druid-driver/package.json index 43a296ab0..0ba787e20 100644 --- a/packages/cubejs-druid-driver/package.json +++ b/packages/cubejs-druid-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/druid-driver", "description": "Cube.js Druid database driver", "author": "Cube Dev, Inc.", - "version": "1.2.16", + "version": "1.2.17", "license": "Apache-2.0", "repository": { "type": "git", @@ -28,13 +28,13 @@ "dist/src/*" ], "dependencies": { - "@cubejs-backend/base-driver": "1.2.16", - "@cubejs-backend/schema-compiler": "1.2.16", - "@cubejs-backend/shared": "1.2.16", + "@cubejs-backend/base-driver": "1.2.17", + "@cubejs-backend/schema-compiler": "1.2.17", + "@cubejs-backend/shared": "1.2.17", "axios": "^0.28.0" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.16", + "@cubejs-backend/linter": "1.2.17", "@types/generic-pool": "^3.1.9", "@types/jest": "^27", "@types/node": "^18", diff --git a/packages/cubejs-duckdb-driver/CHANGELOG.md b/packages/cubejs-duckdb-driver/CHANGELOG.md index 20aaa2e40..238dedfdd 100644 --- a/packages/cubejs-duckdb-driver/CHANGELOG.md +++ b/packages/cubejs-duckdb-driver/CHANGELOG.md @@ -3,6 +3,12 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) + +### Features + +- **duckdb-driver:** Add `databasePath` and `motherDuckToken` config options ([6f43138](https://github.com/cube-js/cube/commit/6f431388d0c207923ea990bab55c22c79d217e5b)) + ## [1.2.16](https://github.com/cube-js/cube/compare/v1.2.15...v1.2.16) (2025-03-04) **Note:** Version bump only for package @cubejs-backend/duckdb-driver diff --git a/packages/cubejs-duckdb-driver/package.json b/packages/cubejs-duckdb-driver/package.json index 3f5f39d47..eceaab31e 100644 --- a/packages/cubejs-duckdb-driver/package.json +++ b/packages/cubejs-duckdb-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/duckdb-driver", "description": "Cube DuckDB database driver", "author": "Cube Dev, Inc.", - "version": "1.2.16", + "version": "1.2.17", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -27,15 +27,15 @@ "lint:fix": "eslint --fix src/* --ext .ts" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.16", - "@cubejs-backend/schema-compiler": "1.2.16", - "@cubejs-backend/shared": "1.2.16", + "@cubejs-backend/base-driver": "1.2.17", + "@cubejs-backend/schema-compiler": "1.2.17", + "@cubejs-backend/shared": "1.2.17", "duckdb": "^1.1.3" }, "license": "Apache-2.0", "devDependencies": { - "@cubejs-backend/linter": "1.2.16", - "@cubejs-backend/testing-shared": "1.2.16", + "@cubejs-backend/linter": "1.2.17", + "@cubejs-backend/testing-shared": "1.2.17", "@types/jest": "^27", "@types/node": "^18", "jest": "^27", diff --git a/packages/cubejs-elasticsearch-driver/CHANGELOG.md b/packages/cubejs-elasticsearch-driver/CHANGELOG.md index ca309d9ea..323a8e1c3 100644 --- a/packages/cubejs-elasticsearch-driver/CHANGELOG.md +++ b/packages/cubejs-elasticsearch-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) + +**Note:** Version bump only for package @cubejs-backend/elasticsearch-driver + ## [1.2.16](https://github.com/cube-js/cube/compare/v1.2.15...v1.2.16) (2025-03-04) **Note:** Version bump only for package @cubejs-backend/elasticsearch-driver diff --git a/packages/cubejs-elasticsearch-driver/package.json b/packages/cubejs-elasticsearch-driver/package.json index fd2f862d6..07feed0ad 100644 --- a/packages/cubejs-elasticsearch-driver/package.json +++ b/packages/cubejs-elasticsearch-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/elasticsearch-driver", "description": "Cube.js elasticsearch database driver", "author": "Cube Dev, Inc.", - "version": "1.2.16", + "version": "1.2.17", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -23,14 +23,14 @@ "driver" ], "dependencies": { - "@cubejs-backend/base-driver": "1.2.16", - "@cubejs-backend/shared": "1.2.16", + "@cubejs-backend/base-driver": "1.2.17", + "@cubejs-backend/shared": "1.2.17", "@elastic/elasticsearch": "7.12.0", "sqlstring": "^2.3.1" }, "license": "Apache-2.0", "devDependencies": { - "@cubejs-backend/linter": "1.2.16", + "@cubejs-backend/linter": "1.2.17", "@types/jest": "^27", "jest": "^27", "testcontainers": "^10.10.4" diff --git a/packages/cubejs-firebolt-driver/CHANGELOG.md b/packages/cubejs-firebolt-driver/CHANGELOG.md index 37f822add..bb7aa58df 100644 --- a/packages/cubejs-firebolt-driver/CHANGELOG.md +++ b/packages/cubejs-firebolt-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) + +**Note:** Version bump only for package @cubejs-backend/firebolt-driver + ## [1.2.16](https://github.com/cube-js/cube/compare/v1.2.15...v1.2.16) (2025-03-04) **Note:** Version bump only for package @cubejs-backend/firebolt-driver diff --git a/packages/cubejs-firebolt-driver/package.json b/packages/cubejs-firebolt-driver/package.json index 39e5f0743..dfcd5d811 100644 --- a/packages/cubejs-firebolt-driver/package.json +++ b/packages/cubejs-firebolt-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/firebolt-driver", "description": "Cube.js Firebolt database driver", "author": "Cube Dev, Inc.", - "version": "1.2.16", + "version": "1.2.17", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -28,15 +28,15 @@ "lint:fix": "eslint --fix src/* --ext .ts" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.16", - "@cubejs-backend/schema-compiler": "1.2.16", - "@cubejs-backend/shared": "1.2.16", + "@cubejs-backend/base-driver": "1.2.17", + "@cubejs-backend/schema-compiler": "1.2.17", + "@cubejs-backend/shared": "1.2.17", "firebolt-sdk": "1.10.0" }, "license": "Apache-2.0", "devDependencies": { - "@cubejs-backend/linter": "1.2.16", - "@cubejs-backend/testing-shared": "1.2.16", + "@cubejs-backend/linter": "1.2.17", + "@cubejs-backend/testing-shared": "1.2.17", "typescript": "~5.2.2" }, "publishConfig": { diff --git a/packages/cubejs-hive-driver/CHANGELOG.md b/packages/cubejs-hive-driver/CHANGELOG.md index 4f4aa4191..35180be41 100644 --- a/packages/cubejs-hive-driver/CHANGELOG.md +++ b/packages/cubejs-hive-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) + +**Note:** Version bump only for package @cubejs-backend/hive-driver + ## [1.2.16](https://github.com/cube-js/cube/compare/v1.2.15...v1.2.16) (2025-03-04) **Note:** Version bump only for package @cubejs-backend/hive-driver diff --git a/packages/cubejs-hive-driver/package.json b/packages/cubejs-hive-driver/package.json index a82122e9f..4d856387e 100644 --- a/packages/cubejs-hive-driver/package.json +++ b/packages/cubejs-hive-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/hive-driver", "description": "Cube.js Hive database driver", "author": "Cube Dev, Inc.", - "version": "1.2.16", + "version": "1.2.17", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -17,8 +17,8 @@ "lint:fix": "eslint --fix src/* --ext .ts" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.16", - "@cubejs-backend/shared": "1.2.16", + "@cubejs-backend/base-driver": "1.2.17", + "@cubejs-backend/shared": "1.2.17", "generic-pool": "^3.6.0", "jshs2": "^0.4.4", "sasl-plain": "^0.1.0", @@ -28,7 +28,7 @@ }, "license": "Apache-2.0", "devDependencies": { - "@cubejs-backend/linter": "1.2.16" + "@cubejs-backend/linter": "1.2.17" }, "publishConfig": { "access": "public" diff --git a/packages/cubejs-jdbc-driver/CHANGELOG.md b/packages/cubejs-jdbc-driver/CHANGELOG.md index df27eeb67..317a71120 100644 --- a/packages/cubejs-jdbc-driver/CHANGELOG.md +++ b/packages/cubejs-jdbc-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) + +**Note:** Version bump only for package @cubejs-backend/jdbc-driver + ## [1.2.16](https://github.com/cube-js/cube/compare/v1.2.15...v1.2.16) (2025-03-04) **Note:** Version bump only for package @cubejs-backend/jdbc-driver diff --git a/packages/cubejs-jdbc-driver/package.json b/packages/cubejs-jdbc-driver/package.json index 260c8a488..d1e14d2e2 100644 --- a/packages/cubejs-jdbc-driver/package.json +++ b/packages/cubejs-jdbc-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/jdbc-driver", "description": "Cube.js JDBC database driver", "author": "Cube Dev, Inc.", - "version": "1.2.16", + "version": "1.2.17", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -25,8 +25,8 @@ "index.js" ], "dependencies": { - "@cubejs-backend/base-driver": "1.2.16", - "@cubejs-backend/shared": "1.2.16", + "@cubejs-backend/base-driver": "1.2.17", + "@cubejs-backend/shared": "1.2.17", "generic-pool": "^3.1.7", "node-java-maven": "^0.1.2", "sqlstring": "^2.3.0" @@ -43,7 +43,7 @@ "testEnvironment": "node" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.16", + "@cubejs-backend/linter": "1.2.17", "@types/generic-pool": "^3.1.9", "@types/node": "^18", "@types/sqlstring": "^2.3.0", diff --git a/packages/cubejs-ksql-driver/CHANGELOG.md b/packages/cubejs-ksql-driver/CHANGELOG.md index 9392513da..e8a9e7d1a 100644 --- a/packages/cubejs-ksql-driver/CHANGELOG.md +++ b/packages/cubejs-ksql-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) + +**Note:** Version bump only for package @cubejs-backend/ksql-driver + ## [1.2.16](https://github.com/cube-js/cube/compare/v1.2.15...v1.2.16) (2025-03-04) **Note:** Version bump only for package @cubejs-backend/ksql-driver diff --git a/packages/cubejs-ksql-driver/package.json b/packages/cubejs-ksql-driver/package.json index 54f3342c3..c637b80a6 100644 --- a/packages/cubejs-ksql-driver/package.json +++ b/packages/cubejs-ksql-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/ksql-driver", "description": "Cube.js ksql database driver", "author": "Cube Dev, Inc.", - "version": "1.2.16", + "version": "1.2.17", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -25,9 +25,9 @@ "lint:fix": "eslint --fix src/* --ext .ts" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.16", - "@cubejs-backend/schema-compiler": "1.2.16", - "@cubejs-backend/shared": "1.2.16", + "@cubejs-backend/base-driver": "1.2.17", + "@cubejs-backend/schema-compiler": "1.2.17", + "@cubejs-backend/shared": "1.2.17", "async-mutex": "0.3.2", "axios": "^0.28.0", "kafkajs": "^2.2.3", @@ -44,7 +44,7 @@ "testEnvironment": "node" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.16", + "@cubejs-backend/linter": "1.2.17", "typescript": "~5.2.2" } } diff --git a/packages/cubejs-linter/CHANGELOG.md b/packages/cubejs-linter/CHANGELOG.md index 342c403a3..390484b9f 100644 --- a/packages/cubejs-linter/CHANGELOG.md +++ b/packages/cubejs-linter/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) + +**Note:** Version bump only for package @cubejs-backend/linter + ## [1.2.16](https://github.com/cube-js/cube/compare/v1.2.15...v1.2.16) (2025-03-04) **Note:** Version bump only for package @cubejs-backend/linter diff --git a/packages/cubejs-linter/package.json b/packages/cubejs-linter/package.json index ba0577069..4a1cc2ce8 100644 --- a/packages/cubejs-linter/package.json +++ b/packages/cubejs-linter/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/linter", "description": "Cube.js ESLint (virtual package) for linting code", "author": "Cube Dev, Inc.", - "version": "1.2.16", + "version": "1.2.17", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", diff --git a/packages/cubejs-materialize-driver/CHANGELOG.md b/packages/cubejs-materialize-driver/CHANGELOG.md index 14a3c6157..0cb5f07f9 100644 --- a/packages/cubejs-materialize-driver/CHANGELOG.md +++ b/packages/cubejs-materialize-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) + +**Note:** Version bump only for package @cubejs-backend/materialize-driver + ## [1.2.16](https://github.com/cube-js/cube/compare/v1.2.15...v1.2.16) (2025-03-04) **Note:** Version bump only for package @cubejs-backend/materialize-driver diff --git a/packages/cubejs-materialize-driver/package.json b/packages/cubejs-materialize-driver/package.json index 8f600f282..e27b83440 100644 --- a/packages/cubejs-materialize-driver/package.json +++ b/packages/cubejs-materialize-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/materialize-driver", "description": "Cube.js Materialize database driver", "author": "Cube Dev, Inc.", - "version": "1.2.16", + "version": "1.2.17", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -27,17 +27,17 @@ "lint:fix": "eslint --fix src/* --ext .ts" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.16", - "@cubejs-backend/postgres-driver": "1.2.16", - "@cubejs-backend/shared": "1.2.16", + "@cubejs-backend/base-driver": "1.2.17", + "@cubejs-backend/postgres-driver": "1.2.17", + "@cubejs-backend/shared": "1.2.17", "@types/pg": "^8.6.0", "pg": "^8.6.0", "semver": "^7.6.3" }, "license": "Apache-2.0", "devDependencies": { - "@cubejs-backend/linter": "1.2.16", - "@cubejs-backend/testing": "1.2.16", + "@cubejs-backend/linter": "1.2.17", + "@cubejs-backend/testing": "1.2.17", "typescript": "~5.2.2" }, "publishConfig": { diff --git a/packages/cubejs-mongobi-driver/CHANGELOG.md b/packages/cubejs-mongobi-driver/CHANGELOG.md index 6ebc05184..34b1363e9 100644 --- a/packages/cubejs-mongobi-driver/CHANGELOG.md +++ b/packages/cubejs-mongobi-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) + +**Note:** Version bump only for package @cubejs-backend/mongobi-driver + ## [1.2.16](https://github.com/cube-js/cube/compare/v1.2.15...v1.2.16) (2025-03-04) **Note:** Version bump only for package @cubejs-backend/mongobi-driver diff --git a/packages/cubejs-mongobi-driver/package.json b/packages/cubejs-mongobi-driver/package.json index 7da9a000e..d988616e1 100644 --- a/packages/cubejs-mongobi-driver/package.json +++ b/packages/cubejs-mongobi-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/mongobi-driver", "description": "Cube.js MongoBI driver", "author": "krunalsabnis@gmail.com", - "version": "1.2.16", + "version": "1.2.17", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -27,8 +27,8 @@ "integration:mongobi": "jest dist/test" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.16", - "@cubejs-backend/shared": "1.2.16", + "@cubejs-backend/base-driver": "1.2.17", + "@cubejs-backend/shared": "1.2.17", "@types/node": "^18", "generic-pool": "^3.8.2", "moment": "^2.29.1", @@ -39,7 +39,7 @@ "access": "public" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.16", + "@cubejs-backend/linter": "1.2.17", "@types/generic-pool": "^3.1.9", "testcontainers": "^10.13.0", "typescript": "~5.2.2" diff --git a/packages/cubejs-mssql-driver/CHANGELOG.md b/packages/cubejs-mssql-driver/CHANGELOG.md index 9e736d677..3e790e36f 100644 --- a/packages/cubejs-mssql-driver/CHANGELOG.md +++ b/packages/cubejs-mssql-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) + +**Note:** Version bump only for package @cubejs-backend/mssql-driver + ## [1.2.16](https://github.com/cube-js/cube/compare/v1.2.15...v1.2.16) (2025-03-04) **Note:** Version bump only for package @cubejs-backend/mssql-driver diff --git a/packages/cubejs-mssql-driver/package.json b/packages/cubejs-mssql-driver/package.json index 01da26743..d52bf58a1 100644 --- a/packages/cubejs-mssql-driver/package.json +++ b/packages/cubejs-mssql-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/mssql-driver", "description": "Cube.js MS SQL database driver", "author": "Cube Dev, Inc.", - "version": "1.2.16", + "version": "1.2.17", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -13,7 +13,7 @@ }, "main": "driver/MSSqlDriver.js", "dependencies": { - "@cubejs-backend/base-driver": "1.2.16", + "@cubejs-backend/base-driver": "1.2.17", "mssql": "^10.0.2" }, "devDependencies": { diff --git a/packages/cubejs-mysql-aurora-serverless-driver/CHANGELOG.md b/packages/cubejs-mysql-aurora-serverless-driver/CHANGELOG.md index e53dd18e1..bc9e18ac7 100644 --- a/packages/cubejs-mysql-aurora-serverless-driver/CHANGELOG.md +++ b/packages/cubejs-mysql-aurora-serverless-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) + +**Note:** Version bump only for package @cubejs-backend/mysql-aurora-serverless-driver + ## [1.2.16](https://github.com/cube-js/cube/compare/v1.2.15...v1.2.16) (2025-03-04) **Note:** Version bump only for package @cubejs-backend/mysql-aurora-serverless-driver diff --git a/packages/cubejs-mysql-aurora-serverless-driver/package.json b/packages/cubejs-mysql-aurora-serverless-driver/package.json index b95b98140..81caf18e2 100644 --- a/packages/cubejs-mysql-aurora-serverless-driver/package.json +++ b/packages/cubejs-mysql-aurora-serverless-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/mysql-aurora-serverless-driver", "description": "Cube.js Aurora Serverless Mysql database driver", "author": "Cube Dev, Inc.", - "version": "1.2.16", + "version": "1.2.17", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -21,14 +21,14 @@ "lint": "eslint driver/*.js test/*.js" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.16", - "@cubejs-backend/shared": "1.2.16", + "@cubejs-backend/base-driver": "1.2.17", + "@cubejs-backend/shared": "1.2.17", "@types/mysql": "^2.15.15", "aws-sdk": "^2.787.0", "data-api-client": "^1.1.0" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.16", + "@cubejs-backend/linter": "1.2.17", "@types/data-api-client": "^1.2.1", "jest": "^27", "testcontainers": "^10.10.4" diff --git a/packages/cubejs-mysql-driver/CHANGELOG.md b/packages/cubejs-mysql-driver/CHANGELOG.md index 071473d39..4acbc1002 100644 --- a/packages/cubejs-mysql-driver/CHANGELOG.md +++ b/packages/cubejs-mysql-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) + +**Note:** Version bump only for package @cubejs-backend/mysql-driver + ## [1.2.16](https://github.com/cube-js/cube/compare/v1.2.15...v1.2.16) (2025-03-04) **Note:** Version bump only for package @cubejs-backend/mysql-driver diff --git a/packages/cubejs-mysql-driver/package.json b/packages/cubejs-mysql-driver/package.json index d78efbd51..0ab325814 100644 --- a/packages/cubejs-mysql-driver/package.json +++ b/packages/cubejs-mysql-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/mysql-driver", "description": "Cube.js Mysql database driver", "author": "Cube Dev, Inc.", - "version": "1.2.16", + "version": "1.2.17", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -27,15 +27,15 @@ "lint:fix": "eslint --fix src/* test/* --ext .ts,.js" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.16", - "@cubejs-backend/shared": "1.2.16", + "@cubejs-backend/base-driver": "1.2.17", + "@cubejs-backend/shared": "1.2.17", "@types/mysql": "^2.15.21", "generic-pool": "^3.6.0", "mysql": "^2.18.1" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.16", - "@cubejs-backend/testing-shared": "1.2.16", + "@cubejs-backend/linter": "1.2.17", + "@cubejs-backend/testing-shared": "1.2.17", "@types/generic-pool": "^3.1.9", "@types/jest": "^27", "jest": "^27", diff --git a/packages/cubejs-oracle-driver/CHANGELOG.md b/packages/cubejs-oracle-driver/CHANGELOG.md index 5c5d5e61f..16bcf1b0e 100644 --- a/packages/cubejs-oracle-driver/CHANGELOG.md +++ b/packages/cubejs-oracle-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) + +**Note:** Version bump only for package @cubejs-backend/oracle-driver + ## [1.2.16](https://github.com/cube-js/cube/compare/v1.2.15...v1.2.16) (2025-03-04) **Note:** Version bump only for package @cubejs-backend/oracle-driver diff --git a/packages/cubejs-oracle-driver/package.json b/packages/cubejs-oracle-driver/package.json index 8116a4822..5d61787f3 100644 --- a/packages/cubejs-oracle-driver/package.json +++ b/packages/cubejs-oracle-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/oracle-driver", "description": "Cube.js oracle database driver", "author": "Cube Dev, Inc.", - "version": "1.2.16", + "version": "1.2.17", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -13,7 +13,7 @@ }, "main": "driver/OracleDriver.js", "dependencies": { - "@cubejs-backend/base-driver": "1.2.16", + "@cubejs-backend/base-driver": "1.2.17", "ramda": "^0.27.0" }, "optionalDependencies": { diff --git a/packages/cubejs-pinot-driver/CHANGELOG.md b/packages/cubejs-pinot-driver/CHANGELOG.md index 039b09f96..a875338ab 100644 --- a/packages/cubejs-pinot-driver/CHANGELOG.md +++ b/packages/cubejs-pinot-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) + +**Note:** Version bump only for package @cubejs-backend/pinot-driver + ## [1.2.16](https://github.com/cube-js/cube/compare/v1.2.15...v1.2.16) (2025-03-04) **Note:** Version bump only for package @cubejs-backend/pinot-driver diff --git a/packages/cubejs-pinot-driver/package.json b/packages/cubejs-pinot-driver/package.json index 2fa8b61a8..a4e3b138e 100644 --- a/packages/cubejs-pinot-driver/package.json +++ b/packages/cubejs-pinot-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/pinot-driver", "description": "Cube.js Pinot database driver", "author": "Julian Ronsse, InTheMemory, Cube Dev, Inc.", - "version": "1.2.16", + "version": "1.2.17", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -27,9 +27,9 @@ "lint:fix": "eslint --fix src/* --ext .ts" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.16", - "@cubejs-backend/schema-compiler": "1.2.16", - "@cubejs-backend/shared": "1.2.16", + "@cubejs-backend/base-driver": "1.2.17", + "@cubejs-backend/schema-compiler": "1.2.17", + "@cubejs-backend/shared": "1.2.17", "node-fetch": "^2.6.1", "ramda": "^0.27.2", "sqlstring": "^2.3.3" @@ -39,7 +39,7 @@ "access": "public" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.16", + "@cubejs-backend/linter": "1.2.17", "@types/jest": "^27", "jest": "^27", "should": "^13.2.3", diff --git a/packages/cubejs-playground/CHANGELOG.md b/packages/cubejs-playground/CHANGELOG.md index f171dbcfe..969553c91 100644 --- a/packages/cubejs-playground/CHANGELOG.md +++ b/packages/cubejs-playground/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) + +**Note:** Version bump only for package @cubejs-client/playground + ## [1.2.16](https://github.com/cube-js/cube/compare/v1.2.15...v1.2.16) (2025-03-04) **Note:** Version bump only for package @cubejs-client/playground diff --git a/packages/cubejs-playground/package.json b/packages/cubejs-playground/package.json index 451b20a51..456f67f6f 100644 --- a/packages/cubejs-playground/package.json +++ b/packages/cubejs-playground/package.json @@ -1,7 +1,7 @@ { "name": "@cubejs-client/playground", "author": "Cube Dev, Inc.", - "version": "1.2.16", + "version": "1.2.17", "engines": {}, "repository": { "type": "git", @@ -68,8 +68,8 @@ "@ant-design/compatible": "^1.0.1", "@ant-design/icons": "^5.3.5", "@cube-dev/ui-kit": "0.52.3", - "@cubejs-client/core": "1.2.16", - "@cubejs-client/react": "1.2.16", + "@cubejs-client/core": "1.2.17", + "@cubejs-client/react": "1.2.17", "@types/flexsearch": "^0.7.3", "@types/node": "^18", "@types/react": "^18.3.4", diff --git a/packages/cubejs-postgres-driver/CHANGELOG.md b/packages/cubejs-postgres-driver/CHANGELOG.md index c4cccd7cc..d97a989cf 100644 --- a/packages/cubejs-postgres-driver/CHANGELOG.md +++ b/packages/cubejs-postgres-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) + +**Note:** Version bump only for package @cubejs-backend/postgres-driver + ## [1.2.16](https://github.com/cube-js/cube/compare/v1.2.15...v1.2.16) (2025-03-04) **Note:** Version bump only for package @cubejs-backend/postgres-driver diff --git a/packages/cubejs-postgres-driver/package.json b/packages/cubejs-postgres-driver/package.json index 03f0026f9..5c0f0136b 100644 --- a/packages/cubejs-postgres-driver/package.json +++ b/packages/cubejs-postgres-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/postgres-driver", "description": "Cube.js Postgres database driver", "author": "Cube Dev, Inc.", - "version": "1.2.16", + "version": "1.2.17", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -27,8 +27,8 @@ "lint:fix": "eslint --fix src/* --ext .ts" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.16", - "@cubejs-backend/shared": "1.2.16", + "@cubejs-backend/base-driver": "1.2.17", + "@cubejs-backend/shared": "1.2.17", "@types/pg": "^8.6.0", "@types/pg-query-stream": "^1.0.3", "moment": "^2.24.0", @@ -37,8 +37,8 @@ }, "license": "Apache-2.0", "devDependencies": { - "@cubejs-backend/linter": "1.2.16", - "@cubejs-backend/testing-shared": "1.2.16", + "@cubejs-backend/linter": "1.2.17", + "@cubejs-backend/testing-shared": "1.2.17", "testcontainers": "^10.13.0", "typescript": "~5.2.2" }, diff --git a/packages/cubejs-prestodb-driver/CHANGELOG.md b/packages/cubejs-prestodb-driver/CHANGELOG.md index 391906f35..1aed99d8e 100644 --- a/packages/cubejs-prestodb-driver/CHANGELOG.md +++ b/packages/cubejs-prestodb-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) + +**Note:** Version bump only for package @cubejs-backend/prestodb-driver + ## [1.2.16](https://github.com/cube-js/cube/compare/v1.2.15...v1.2.16) (2025-03-04) **Note:** Version bump only for package @cubejs-backend/prestodb-driver diff --git a/packages/cubejs-prestodb-driver/package.json b/packages/cubejs-prestodb-driver/package.json index 00ba4771b..eeaa22674 100644 --- a/packages/cubejs-prestodb-driver/package.json +++ b/packages/cubejs-prestodb-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/prestodb-driver", "description": "Cube.js Presto database driver", "author": "Cube Dev, Inc.", - "version": "1.2.16", + "version": "1.2.17", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -27,8 +27,8 @@ "lint:fix": "eslint --fix src/* --ext .ts" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.16", - "@cubejs-backend/shared": "1.2.16", + "@cubejs-backend/base-driver": "1.2.17", + "@cubejs-backend/shared": "1.2.17", "presto-client": "^0.12.2", "ramda": "^0.27.0", "sqlstring": "^2.3.1" @@ -38,7 +38,7 @@ "access": "public" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.16", + "@cubejs-backend/linter": "1.2.17", "@types/jest": "^27", "jest": "^27", "should": "^13.2.3", diff --git a/packages/cubejs-query-orchestrator/CHANGELOG.md b/packages/cubejs-query-orchestrator/CHANGELOG.md index 3b6605d11..cfe53dca6 100644 --- a/packages/cubejs-query-orchestrator/CHANGELOG.md +++ b/packages/cubejs-query-orchestrator/CHANGELOG.md @@ -3,6 +3,12 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) + +### Bug Fixes + +- **query-orchestrator:** Fix dropping temp tables during pre-agg creation ([#9295](https://github.com/cube-js/cube/issues/9295)) ([eb3d980](https://github.com/cube-js/cube/commit/eb3d980aee42b3077148cc93c56034b0471d2a33)) + ## [1.2.16](https://github.com/cube-js/cube/compare/v1.2.15...v1.2.16) (2025-03-04) **Note:** Version bump only for package @cubejs-backend/query-orchestrator diff --git a/packages/cubejs-query-orchestrator/package.json b/packages/cubejs-query-orchestrator/package.json index f9baa4b44..be3c27b04 100644 --- a/packages/cubejs-query-orchestrator/package.json +++ b/packages/cubejs-query-orchestrator/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/query-orchestrator", "description": "Cube.js Query Orchestrator and Cache", "author": "Cube Dev, Inc.", - "version": "1.2.16", + "version": "1.2.17", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -29,16 +29,16 @@ "dist/src/*" ], "dependencies": { - "@cubejs-backend/base-driver": "1.2.16", - "@cubejs-backend/cubestore-driver": "1.2.16", - "@cubejs-backend/shared": "1.2.16", + "@cubejs-backend/base-driver": "1.2.17", + "@cubejs-backend/cubestore-driver": "1.2.17", + "@cubejs-backend/shared": "1.2.17", "csv-write-stream": "^2.0.0", "generic-pool": "^3.7.1", "lru-cache": "^5.1.1", "ramda": "^0.27.2" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.16", + "@cubejs-backend/linter": "1.2.17", "@types/generic-pool": "^3.1.9", "@types/jest": "^27", "@types/node": "^18", diff --git a/packages/cubejs-questdb-driver/CHANGELOG.md b/packages/cubejs-questdb-driver/CHANGELOG.md index ea5c77fd5..e73d7e4c5 100644 --- a/packages/cubejs-questdb-driver/CHANGELOG.md +++ b/packages/cubejs-questdb-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) + +**Note:** Version bump only for package @cubejs-backend/questdb-driver + ## [1.2.16](https://github.com/cube-js/cube/compare/v1.2.15...v1.2.16) (2025-03-04) **Note:** Version bump only for package @cubejs-backend/questdb-driver diff --git a/packages/cubejs-questdb-driver/package.json b/packages/cubejs-questdb-driver/package.json index a1bcc60de..22f94bf57 100644 --- a/packages/cubejs-questdb-driver/package.json +++ b/packages/cubejs-questdb-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/questdb-driver", "description": "Cube.js QuestDB database driver", "author": "Cube Dev, Inc.", - "version": "1.2.16", + "version": "1.2.17", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -27,9 +27,9 @@ "lint:fix": "eslint --fix src/* --ext .ts" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.16", - "@cubejs-backend/schema-compiler": "1.2.16", - "@cubejs-backend/shared": "1.2.16", + "@cubejs-backend/base-driver": "1.2.17", + "@cubejs-backend/schema-compiler": "1.2.17", + "@cubejs-backend/shared": "1.2.17", "@types/pg": "^8.6.0", "moment": "^2.24.0", "pg": "^8.7.0", @@ -37,8 +37,8 @@ }, "license": "Apache-2.0", "devDependencies": { - "@cubejs-backend/linter": "1.2.16", - "@cubejs-backend/testing-shared": "1.2.16", + "@cubejs-backend/linter": "1.2.17", + "@cubejs-backend/testing-shared": "1.2.17", "testcontainers": "^10.13.0", "typescript": "~5.2.2" }, diff --git a/packages/cubejs-redshift-driver/CHANGELOG.md b/packages/cubejs-redshift-driver/CHANGELOG.md index 99ef78bfa..9ad9f3407 100644 --- a/packages/cubejs-redshift-driver/CHANGELOG.md +++ b/packages/cubejs-redshift-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) + +**Note:** Version bump only for package @cubejs-backend/redshift-driver + ## [1.2.16](https://github.com/cube-js/cube/compare/v1.2.15...v1.2.16) (2025-03-04) **Note:** Version bump only for package @cubejs-backend/redshift-driver diff --git a/packages/cubejs-redshift-driver/package.json b/packages/cubejs-redshift-driver/package.json index 6c5ff7829..16205c83a 100644 --- a/packages/cubejs-redshift-driver/package.json +++ b/packages/cubejs-redshift-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/redshift-driver", "description": "Cube.js Redshift database driver", "author": "Cube Dev, Inc.", - "version": "1.2.16", + "version": "1.2.17", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -25,13 +25,13 @@ "lint:fix": "eslint --fix src/* --ext .ts" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.16", - "@cubejs-backend/postgres-driver": "1.2.16", - "@cubejs-backend/shared": "1.2.16" + "@cubejs-backend/base-driver": "1.2.17", + "@cubejs-backend/postgres-driver": "1.2.17", + "@cubejs-backend/shared": "1.2.17" }, "license": "Apache-2.0", "devDependencies": { - "@cubejs-backend/linter": "1.2.16", + "@cubejs-backend/linter": "1.2.17", "typescript": "~5.2.2" }, "publishConfig": { diff --git a/packages/cubejs-schema-compiler/CHANGELOG.md b/packages/cubejs-schema-compiler/CHANGELOG.md index c4b985c46..6911f9015 100644 --- a/packages/cubejs-schema-compiler/CHANGELOG.md +++ b/packages/cubejs-schema-compiler/CHANGELOG.md @@ -3,6 +3,12 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) + +### Bug Fixes + +- **schema-compiler:** Fix ORDER BY clause generation for queries with td with filters ([#9296](https://github.com/cube-js/cube/issues/9296)) ([1c8ce4f](https://github.com/cube-js/cube/commit/1c8ce4f475a0327fd4dc8fedf24ac9979aa2bffd)) + ## [1.2.16](https://github.com/cube-js/cube/compare/v1.2.15...v1.2.16) (2025-03-04) **Note:** Version bump only for package @cubejs-backend/schema-compiler diff --git a/packages/cubejs-schema-compiler/package.json b/packages/cubejs-schema-compiler/package.json index 86a5fb83c..348a0c3cb 100644 --- a/packages/cubejs-schema-compiler/package.json +++ b/packages/cubejs-schema-compiler/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/schema-compiler", "description": "Cube schema compiler", "author": "Cube Dev, Inc.", - "version": "1.2.16", + "version": "1.2.17", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -40,8 +40,8 @@ "@babel/standalone": "^7.24", "@babel/traverse": "^7.24", "@babel/types": "^7.24", - "@cubejs-backend/native": "1.2.16", - "@cubejs-backend/shared": "1.2.16", + "@cubejs-backend/native": "1.2.17", + "@cubejs-backend/shared": "1.2.17", "antlr4ts": "0.5.0-alpha.4", "camelcase": "^6.2.0", "cron-parser": "^4.9.0", @@ -59,8 +59,8 @@ }, "devDependencies": { "@clickhouse/client": "^1.7.0", - "@cubejs-backend/linter": "1.2.16", - "@cubejs-backend/query-orchestrator": "1.2.16", + "@cubejs-backend/linter": "1.2.17", + "@cubejs-backend/query-orchestrator": "1.2.17", "@types/babel__code-frame": "^7.0.6", "@types/babel__generator": "^7.6.8", "@types/babel__traverse": "^7.20.5", diff --git a/packages/cubejs-server-core/CHANGELOG.md b/packages/cubejs-server-core/CHANGELOG.md index 0bce89eeb..4515ef531 100644 --- a/packages/cubejs-server-core/CHANGELOG.md +++ b/packages/cubejs-server-core/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) + +**Note:** Version bump only for package @cubejs-backend/server-core + ## [1.2.16](https://github.com/cube-js/cube/compare/v1.2.15...v1.2.16) (2025-03-04) **Note:** Version bump only for package @cubejs-backend/server-core diff --git a/packages/cubejs-server-core/package.json b/packages/cubejs-server-core/package.json index edc18b474..488dde314 100644 --- a/packages/cubejs-server-core/package.json +++ b/packages/cubejs-server-core/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/server-core", "description": "Cube.js base component to wire all backend components together", "author": "Cube Dev, Inc.", - "version": "1.2.16", + "version": "1.2.17", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -29,14 +29,14 @@ "unit": "jest --runInBand --forceExit --coverage dist/test" }, "dependencies": { - "@cubejs-backend/api-gateway": "1.2.16", - "@cubejs-backend/cloud": "1.2.16", + "@cubejs-backend/api-gateway": "1.2.17", + "@cubejs-backend/cloud": "1.2.17", "@cubejs-backend/dotenv": "^9.0.2", - "@cubejs-backend/native": "1.2.16", - "@cubejs-backend/query-orchestrator": "1.2.16", - "@cubejs-backend/schema-compiler": "1.2.16", - "@cubejs-backend/shared": "1.2.16", - "@cubejs-backend/templates": "1.2.16", + "@cubejs-backend/native": "1.2.17", + "@cubejs-backend/query-orchestrator": "1.2.17", + "@cubejs-backend/schema-compiler": "1.2.17", + "@cubejs-backend/shared": "1.2.17", + "@cubejs-backend/templates": "1.2.17", "codesandbox-import-utils": "^2.1.12", "cross-spawn": "^7.0.1", "fs-extra": "^8.1.0", @@ -59,9 +59,9 @@ "ws": "^7.5.3" }, "devDependencies": { - "@cubejs-backend/cubestore-driver": "1.2.16", - "@cubejs-backend/linter": "1.2.16", - "@cubejs-client/playground": "1.2.16", + "@cubejs-backend/cubestore-driver": "1.2.17", + "@cubejs-backend/linter": "1.2.17", + "@cubejs-client/playground": "1.2.17", "@types/cross-spawn": "^6.0.2", "@types/express": "^4.17.21", "@types/fs-extra": "^9.0.8", diff --git a/packages/cubejs-server/CHANGELOG.md b/packages/cubejs-server/CHANGELOG.md index 3759d8f61..edebf0cc2 100644 --- a/packages/cubejs-server/CHANGELOG.md +++ b/packages/cubejs-server/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) + +**Note:** Version bump only for package @cubejs-backend/server + ## [1.2.16](https://github.com/cube-js/cube/compare/v1.2.15...v1.2.16) (2025-03-04) **Note:** Version bump only for package @cubejs-backend/server diff --git a/packages/cubejs-server/package.json b/packages/cubejs-server/package.json index 783354262..6cf8e9ba5 100644 --- a/packages/cubejs-server/package.json +++ b/packages/cubejs-server/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/server", "description": "Cube.js all-in-one server", "author": "Cube Dev, Inc.", - "version": "1.2.16", + "version": "1.2.17", "types": "index.d.ts", "repository": { "type": "git", @@ -40,11 +40,11 @@ "jest:shapshot": "jest --updateSnapshot test" }, "dependencies": { - "@cubejs-backend/cubestore-driver": "1.2.16", + "@cubejs-backend/cubestore-driver": "1.2.17", "@cubejs-backend/dotenv": "^9.0.2", - "@cubejs-backend/native": "1.2.16", - "@cubejs-backend/server-core": "1.2.16", - "@cubejs-backend/shared": "1.2.16", + "@cubejs-backend/native": "1.2.17", + "@cubejs-backend/server-core": "1.2.17", + "@cubejs-backend/shared": "1.2.17", "@oclif/color": "^1.0.0", "@oclif/command": "^1.8.13", "@oclif/config": "^1.18.2", @@ -61,8 +61,8 @@ "ws": "^7.1.2" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.16", - "@cubejs-backend/query-orchestrator": "1.2.16", + "@cubejs-backend/linter": "1.2.17", + "@cubejs-backend/query-orchestrator": "1.2.17", "@oclif/dev-cli": "^1.23.1", "@types/body-parser": "^1.19.0", "@types/cors": "^2.8.8", diff --git a/packages/cubejs-snowflake-driver/CHANGELOG.md b/packages/cubejs-snowflake-driver/CHANGELOG.md index 41fe25585..76a659881 100644 --- a/packages/cubejs-snowflake-driver/CHANGELOG.md +++ b/packages/cubejs-snowflake-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) + +**Note:** Version bump only for package @cubejs-backend/snowflake-driver + ## [1.2.16](https://github.com/cube-js/cube/compare/v1.2.15...v1.2.16) (2025-03-04) **Note:** Version bump only for package @cubejs-backend/snowflake-driver diff --git a/packages/cubejs-snowflake-driver/package.json b/packages/cubejs-snowflake-driver/package.json index 6d6581355..dabfa0481 100644 --- a/packages/cubejs-snowflake-driver/package.json +++ b/packages/cubejs-snowflake-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/snowflake-driver", "description": "Cube.js Snowflake database driver", "author": "Cube Dev, Inc.", - "version": "1.2.16", + "version": "1.2.17", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -25,8 +25,8 @@ "lint:fix": "eslint --fix src/* --ext .ts" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.16", - "@cubejs-backend/shared": "1.2.16", + "@cubejs-backend/base-driver": "1.2.17", + "@cubejs-backend/shared": "1.2.17", "date-fns-timezone": "^0.1.4", "snowflake-sdk": "^1.13.1" }, @@ -38,7 +38,7 @@ "extends": "../cubejs-linter" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.16", + "@cubejs-backend/linter": "1.2.17", "typescript": "~5.2.2" } } diff --git a/packages/cubejs-sqlite-driver/CHANGELOG.md b/packages/cubejs-sqlite-driver/CHANGELOG.md index 79af1900f..3b93731c1 100644 --- a/packages/cubejs-sqlite-driver/CHANGELOG.md +++ b/packages/cubejs-sqlite-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) + +**Note:** Version bump only for package @cubejs-backend/sqlite-driver + ## [1.2.16](https://github.com/cube-js/cube/compare/v1.2.15...v1.2.16) (2025-03-04) **Note:** Version bump only for package @cubejs-backend/sqlite-driver diff --git a/packages/cubejs-sqlite-driver/package.json b/packages/cubejs-sqlite-driver/package.json index 5b8a5d41e..43f7cb9f5 100644 --- a/packages/cubejs-sqlite-driver/package.json +++ b/packages/cubejs-sqlite-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/sqlite-driver", "description": "Cube.js Sqlite database driver", "author": "Cube Dev, Inc.", - "version": "1.2.16", + "version": "1.2.17", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -17,13 +17,13 @@ "lint": "eslint **/*.js" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.16", - "@cubejs-backend/shared": "1.2.16", + "@cubejs-backend/base-driver": "1.2.17", + "@cubejs-backend/shared": "1.2.17", "sqlite3": "^5.1.7" }, "license": "Apache-2.0", "devDependencies": { - "@cubejs-backend/linter": "1.2.16" + "@cubejs-backend/linter": "1.2.17" }, "publishConfig": { "access": "public" diff --git a/packages/cubejs-templates/CHANGELOG.md b/packages/cubejs-templates/CHANGELOG.md index e8f91e46f..aa8aa394a 100644 --- a/packages/cubejs-templates/CHANGELOG.md +++ b/packages/cubejs-templates/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.17](/compare/v1.2.16...v1.2.17) (2025-03-05) + +**Note:** Version bump only for package @cubejs-backend/templates + ## [1.2.16](https://github.com/cube-js/cube/compare/v1.2.15...v1.2.16) (2025-03-04) **Note:** Version bump only for package @cubejs-backend/templates diff --git a/packages/cubejs-templates/package.json b/packages/cubejs-templates/package.json index e8cb66134..a1c2f2498 100644 --- a/packages/cubejs-templates/package.json +++ b/packages/cubejs-templates/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-backend/templates", - "version": "1.2.16", + "version": "1.2.17", "description": "Cube.js Templates helpers", "author": "Cube Dev, Inc.", "license": "Apache-2.0", @@ -26,7 +26,7 @@ "extends": "../cubejs-linter" }, "dependencies": { - "@cubejs-backend/shared": "1.2.16", + "@cubejs-backend/shared": "1.2.17", "cross-spawn": "^7.0.3", "decompress": "^4.2.1", "decompress-targz": "^4.1.1", @@ -36,7 +36,7 @@ "source-map-support": "^0.5.19" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.16", + "@cubejs-backend/linter": "1.2.17", "typescript": "~5.2.2" } } diff --git a/packages/cubejs-testing-drivers/CHANGELOG.md b/packages/cubejs-testing-drivers/CHANGELOG.md index a2d115341..299304892 100644 --- a/packages/cubejs-testing-drivers/CHANGELOG.md +++ b/packages/cubejs-testing-drivers/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.17](/compare/v1.2.16...v1.2.17) (2025-03-05) + +**Note:** Version bump only for package @cubejs-backend/testing-drivers + ## [1.2.16](https://github.com/cube-js/cube/compare/v1.2.15...v1.2.16) (2025-03-04) **Note:** Version bump only for package @cubejs-backend/testing-drivers diff --git a/packages/cubejs-testing-drivers/package.json b/packages/cubejs-testing-drivers/package.json index 96d60b576..403b8fdb8 100644 --- a/packages/cubejs-testing-drivers/package.json +++ b/packages/cubejs-testing-drivers/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-backend/testing-drivers", - "version": "1.2.16", + "version": "1.2.17", "description": "Cube.js drivers test suite", "author": "Cube Dev, Inc.", "license": "MIT", @@ -56,24 +56,24 @@ "dist/src" ], "dependencies": { - "@cubejs-backend/athena-driver": "1.2.16", - "@cubejs-backend/base-driver": "1.2.16", - "@cubejs-backend/bigquery-driver": "1.2.16", - "@cubejs-backend/clickhouse-driver": "1.2.16", - "@cubejs-backend/cubestore-driver": "1.2.16", - "@cubejs-backend/databricks-jdbc-driver": "1.2.16", + "@cubejs-backend/athena-driver": "1.2.17", + "@cubejs-backend/base-driver": "1.2.17", + "@cubejs-backend/bigquery-driver": "1.2.17", + "@cubejs-backend/clickhouse-driver": "1.2.17", + "@cubejs-backend/cubestore-driver": "1.2.17", + "@cubejs-backend/databricks-jdbc-driver": "1.2.17", "@cubejs-backend/dotenv": "^9.0.2", - "@cubejs-backend/linter": "1.2.16", - "@cubejs-backend/mssql-driver": "1.2.16", - "@cubejs-backend/mysql-driver": "1.2.16", - "@cubejs-backend/postgres-driver": "1.2.16", - "@cubejs-backend/query-orchestrator": "1.2.16", - "@cubejs-backend/server-core": "1.2.16", - "@cubejs-backend/shared": "1.2.16", - "@cubejs-backend/snowflake-driver": "1.2.16", - "@cubejs-backend/testing-shared": "1.2.16", - "@cubejs-client/core": "1.2.16", - "@cubejs-client/ws-transport": "1.2.16", + "@cubejs-backend/linter": "1.2.17", + "@cubejs-backend/mssql-driver": "1.2.17", + "@cubejs-backend/mysql-driver": "1.2.17", + "@cubejs-backend/postgres-driver": "1.2.17", + "@cubejs-backend/query-orchestrator": "1.2.17", + "@cubejs-backend/server-core": "1.2.17", + "@cubejs-backend/shared": "1.2.17", + "@cubejs-backend/snowflake-driver": "1.2.17", + "@cubejs-backend/testing-shared": "1.2.17", + "@cubejs-client/core": "1.2.17", + "@cubejs-client/ws-transport": "1.2.17", "@jest/globals": "^27", "@types/jest": "^27", "@types/node": "^18", diff --git a/packages/cubejs-testing-shared/CHANGELOG.md b/packages/cubejs-testing-shared/CHANGELOG.md index 1871ecc5f..7af2857b8 100644 --- a/packages/cubejs-testing-shared/CHANGELOG.md +++ b/packages/cubejs-testing-shared/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.17](/compare/v1.2.16...v1.2.17) (2025-03-05) + +**Note:** Version bump only for package @cubejs-backend/testing-shared + ## [1.2.16](https://github.com/cube-js/cube/compare/v1.2.15...v1.2.16) (2025-03-04) **Note:** Version bump only for package @cubejs-backend/testing-shared diff --git a/packages/cubejs-testing-shared/package.json b/packages/cubejs-testing-shared/package.json index fa4155de2..48ea63b69 100644 --- a/packages/cubejs-testing-shared/package.json +++ b/packages/cubejs-testing-shared/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-backend/testing-shared", - "version": "1.2.16", + "version": "1.2.17", "description": "Cube.js Testing Helpers", "author": "Cube Dev, Inc.", "license": "Apache-2.0", @@ -21,16 +21,16 @@ ], "dependencies": { "@cubejs-backend/dotenv": "^9.0.2", - "@cubejs-backend/query-orchestrator": "1.2.16", - "@cubejs-backend/schema-compiler": "1.2.16", - "@cubejs-backend/shared": "1.2.16", + "@cubejs-backend/query-orchestrator": "1.2.17", + "@cubejs-backend/schema-compiler": "1.2.17", + "@cubejs-backend/shared": "1.2.17", "@testcontainers/kafka": "~10.13.0", "dedent": "^0.7.0", "node-fetch": "^2.6.7", "testcontainers": "^10.13.0" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.16", + "@cubejs-backend/linter": "1.2.17", "@jest/globals": "^27", "@types/dedent": "^0.7.0", "@types/jest": "^27", diff --git a/packages/cubejs-testing/CHANGELOG.md b/packages/cubejs-testing/CHANGELOG.md index 3064bbfdc..d3de9d2e4 100644 --- a/packages/cubejs-testing/CHANGELOG.md +++ b/packages/cubejs-testing/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.17](/compare/v1.2.16...v1.2.17) (2025-03-05) + +**Note:** Version bump only for package @cubejs-backend/testing + ## [1.2.16](https://github.com/cube-js/cube/compare/v1.2.15...v1.2.16) (2025-03-04) **Note:** Version bump only for package @cubejs-backend/testing diff --git a/packages/cubejs-testing/package.json b/packages/cubejs-testing/package.json index 345d3e464..6c3453a75 100644 --- a/packages/cubejs-testing/package.json +++ b/packages/cubejs-testing/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-backend/testing", - "version": "1.2.16", + "version": "1.2.17", "description": "Cube.js e2e tests", "author": "Cube Dev, Inc.", "license": "Apache-2.0", @@ -94,15 +94,15 @@ "birdbox-fixtures" ], "dependencies": { - "@cubejs-backend/cubestore-driver": "1.2.16", + "@cubejs-backend/cubestore-driver": "1.2.17", "@cubejs-backend/dotenv": "^9.0.2", - "@cubejs-backend/ksql-driver": "1.2.16", - "@cubejs-backend/postgres-driver": "1.2.16", - "@cubejs-backend/query-orchestrator": "1.2.16", - "@cubejs-backend/schema-compiler": "1.2.16", - "@cubejs-backend/shared": "1.2.16", - "@cubejs-backend/testing-shared": "1.2.16", - "@cubejs-client/ws-transport": "1.2.16", + "@cubejs-backend/ksql-driver": "1.2.17", + "@cubejs-backend/postgres-driver": "1.2.17", + "@cubejs-backend/query-orchestrator": "1.2.17", + "@cubejs-backend/schema-compiler": "1.2.17", + "@cubejs-backend/shared": "1.2.17", + "@cubejs-backend/testing-shared": "1.2.17", + "@cubejs-client/ws-transport": "1.2.17", "dedent": "^0.7.0", "fs-extra": "^8.1.0", "http-proxy": "^1.18.1", @@ -113,8 +113,8 @@ }, "devDependencies": { "@4tw/cypress-drag-drop": "^1.6.0", - "@cubejs-backend/linter": "1.2.16", - "@cubejs-client/core": "1.2.16", + "@cubejs-backend/linter": "1.2.17", + "@cubejs-client/core": "1.2.17", "@jest/globals": "^27", "@types/dedent": "^0.7.0", "@types/http-proxy": "^1.17.5", diff --git a/packages/cubejs-trino-driver/CHANGELOG.md b/packages/cubejs-trino-driver/CHANGELOG.md index c4310209b..c91605070 100644 --- a/packages/cubejs-trino-driver/CHANGELOG.md +++ b/packages/cubejs-trino-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) + +**Note:** Version bump only for package @cubejs-backend/trino-driver + ## [1.2.16](https://github.com/cube-js/cube/compare/v1.2.15...v1.2.16) (2025-03-04) **Note:** Version bump only for package @cubejs-backend/trino-driver diff --git a/packages/cubejs-trino-driver/package.json b/packages/cubejs-trino-driver/package.json index 8e4713f79..a8cc8758b 100644 --- a/packages/cubejs-trino-driver/package.json +++ b/packages/cubejs-trino-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/trino-driver", "description": "Cube.js Trino database driver", "author": "Cube Dev, Inc.", - "version": "1.2.16", + "version": "1.2.17", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -25,10 +25,10 @@ "lint:fix": "eslint --fix src/* --ext .ts" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.16", - "@cubejs-backend/prestodb-driver": "1.2.16", - "@cubejs-backend/schema-compiler": "1.2.16", - "@cubejs-backend/shared": "1.2.16", + "@cubejs-backend/base-driver": "1.2.17", + "@cubejs-backend/prestodb-driver": "1.2.17", + "@cubejs-backend/schema-compiler": "1.2.17", + "@cubejs-backend/shared": "1.2.17", "presto-client": "^0.12.2", "sqlstring": "^2.3.1" }, @@ -37,7 +37,7 @@ "access": "public" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.16" + "@cubejs-backend/linter": "1.2.17" }, "eslintConfig": { "extends": "../cubejs-linter" diff --git a/packages/cubejs-vertica-driver/CHANGELOG.md b/packages/cubejs-vertica-driver/CHANGELOG.md index 241859aaf..2510ffc01 100644 --- a/packages/cubejs-vertica-driver/CHANGELOG.md +++ b/packages/cubejs-vertica-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.17](https://github.com/cube-js/cube.js/compare/v1.2.16...v1.2.17) (2025-03-05) + +**Note:** Version bump only for package @cubejs-backend/vertica-driver + ## [1.2.16](https://github.com/cube-js/cube.js/compare/v1.2.15...v1.2.16) (2025-03-04) **Note:** Version bump only for package @cubejs-backend/vertica-driver diff --git a/packages/cubejs-vertica-driver/package.json b/packages/cubejs-vertica-driver/package.json index 13f75198a..83f02045e 100644 --- a/packages/cubejs-vertica-driver/package.json +++ b/packages/cubejs-vertica-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/vertica-driver", "description": "Cube.js Vertica database driver", "author": "Eduard Karacharov, Tim Brown, Cube Dev, Inc.", - "version": "1.2.16", + "version": "1.2.17", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.js.git", @@ -19,15 +19,15 @@ "lint:fix": "eslint --fix **/*.js" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.16", - "@cubejs-backend/query-orchestrator": "1.2.16", - "@cubejs-backend/schema-compiler": "1.2.16", + "@cubejs-backend/base-driver": "1.2.17", + "@cubejs-backend/query-orchestrator": "1.2.17", + "@cubejs-backend/schema-compiler": "1.2.17", "vertica-nodejs": "^1.0.3" }, "license": "Apache-2.0", "devDependencies": { - "@cubejs-backend/linter": "1.2.16", - "@cubejs-backend/testing-shared": "1.2.16", + "@cubejs-backend/linter": "1.2.17", + "@cubejs-backend/testing-shared": "1.2.17", "jest": "^27", "testcontainers": "^10.13.0" }, diff --git a/rust/cubesql/CHANGELOG.md b/rust/cubesql/CHANGELOG.md index 4722f5497..a9fef55e0 100644 --- a/rust/cubesql/CHANGELOG.md +++ b/rust/cubesql/CHANGELOG.md @@ -3,6 +3,12 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.17](/compare/v1.2.16...v1.2.17) (2025-03-05) + +### Bug Fixes + +- **cubesql:** Use pushdown-pullup scheme for FilterSimplifyReplacer (#9278) ab5a64e, closes #9278 + ## [1.2.16](https://github.com/cube-js/cube/compare/v1.2.15...v1.2.16) (2025-03-04) ### Bug Fixes diff --git a/rust/cubesql/package.json b/rust/cubesql/package.json index 6a8cebd2a..a8a473bab 100644 --- a/rust/cubesql/package.json +++ b/rust/cubesql/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-backend/cubesql", - "version": "1.2.16", + "version": "1.2.17", "description": "SQL API for Cube as proxy over MySQL protocol.", "engines": { "node": "^12.0.0 || ^14.0.0 || >=16.0.0" diff --git a/rust/cubestore/CHANGELOG.md b/rust/cubestore/CHANGELOG.md index 6cd5a8b6a..c76ed7c5c 100644 --- a/rust/cubestore/CHANGELOG.md +++ b/rust/cubestore/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.17](/compare/v1.2.16...v1.2.17) (2025-03-05) + +**Note:** Version bump only for package @cubejs-backend/cubestore + ## [1.2.16](https://github.com/cube-js/cube/compare/v1.2.15...v1.2.16) (2025-03-04) **Note:** Version bump only for package @cubejs-backend/cubestore diff --git a/rust/cubestore/package.json b/rust/cubestore/package.json index cecb948c9..763c764d8 100644 --- a/rust/cubestore/package.json +++ b/rust/cubestore/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-backend/cubestore", - "version": "1.2.16", + "version": "1.2.17", "description": "Cube.js pre-aggregation storage layer.", "main": "dist/src/index.js", "typings": "dist/src/index.d.ts", @@ -27,7 +27,7 @@ "author": "Cube Dev, Inc.", "license": "Apache-2.0", "devDependencies": { - "@cubejs-backend/linter": "1.2.16", + "@cubejs-backend/linter": "1.2.17", "@types/jest": "^27", "@types/node": "^18", "jest": "^27", @@ -37,7 +37,7 @@ "access": "public" }, "dependencies": { - "@cubejs-backend/shared": "1.2.16", + "@cubejs-backend/shared": "1.2.17", "@octokit/core": "^3.2.5", "source-map-support": "^0.5.19" }, From e8d94c0915b30ba5e42402037058f6dc7eeee411 Mon Sep 17 00:00:00 2001 From: Mikhail Cheshkov Date: Wed, 5 Mar 2025 23:56:32 +0200 Subject: [PATCH 20/49] feat(cubesql): Support multiple columns on each side in ungrouped-grouped join condition (#9282) Before this only expressions like `CAST(left.dim AS TEXT) = CAST(right.col AS TEXT)` were supported. TopN over calculated fields can actually generate joins with calculated field in condition, so we have to support condition like `CAST(left.dim1 AS TEXT) || CAST(left.dim2 AS TEXT) = CAST(right.col AS TEXT)` --- .../src/compile/rewrite/rules/wrapper/join.rs | 69 ++++++++++------- .../compile/test/test_cube_join_grouped.rs | 77 +++++++++++++++++++ 2 files changed, 120 insertions(+), 26 deletions(-) diff --git a/rust/cubesql/cubesql/src/compile/rewrite/rules/wrapper/join.rs b/rust/cubesql/cubesql/src/compile/rewrite/rules/wrapper/join.rs index eab7a0d1a..1d5188149 100644 --- a/rust/cubesql/cubesql/src/compile/rewrite/rules/wrapper/join.rs +++ b/rust/cubesql/cubesql/src/compile/rewrite/rules/wrapper/join.rs @@ -22,6 +22,7 @@ use datafusion::{ prelude::JoinType, }; use egg::{Id, Subst}; +use itertools::Itertools; impl WrapperRules { pub fn join_rules(&self, rules: &mut Vec) { @@ -831,50 +832,66 @@ impl WrapperRules { // * Both inputs depend on a single data source // * SQL generator for that data source have `expressions/subquery` template // It could be checked later, in WrappedSelect as well - - let left_columns = egraph[subst[left_expr_var]].data.referenced_expr.as_ref(); - let Some(left_columns) = left_columns else { - return false; + // TODO For views: check that each member is coming from same data source (or even cube?) + + let prepare_columns = |var| { + let columns = egraph[subst[var]].data.referenced_expr.as_ref(); + let Some(columns) = columns else { + return Err("Missing referenced_expr"); + }; + let columns = columns + .iter() + .map(|column| { + let column = match column { + Expr::Column(column) => column.clone(), + _ => return Err("Unexpected expression in referenced_expr"), + }; + Ok(column) + }) + .collect::, _>>()?; + Ok(columns) }; - if left_columns.len() != 1 { - return false; + + fn prepare_relation(columns: &[Column]) -> Result<&str, &'static str> { + let relation = columns + .iter() + .map(|column| &column.relation) + .all_equal_value(); + let Ok(Some(relation)) = relation else { + // Outer Err means there's either no values at all, or more than one different value + // Inner Err means that all referenced_expr are not columns + // Inner None means that all columns are without relation, don't support that ATM + return Err("Relation mismatch"); + }; + Ok(relation) } - let left_column = &left_columns[0]; - let right_columns = egraph[subst[right_expr_var]].data.referenced_expr.as_ref(); - let Some(right_columns) = right_columns else { + let Ok(left_columns) = prepare_columns(left_expr_var) else { return false; }; - if right_columns.len() != 1 { + let Ok(left_relation) = prepare_relation(&left_columns) else { return false; - } - let right_column = &right_columns[0]; - - let left_column = match left_column { - Expr::Column(column) => column, - _ => return false, - }; - let right_column = match right_column { - Expr::Column(column) => column, - _ => return false, }; - // Simple check that column expressions reference different join sides - let Some(left_relation) = left_column.relation.as_ref() else { + let Ok(right_columns) = prepare_columns(right_expr_var) else { return false; }; - let Some(right_relation) = right_column.relation.as_ref() else { + let Ok(right_relation) = prepare_relation(&right_columns) else { return false; }; + + // Simple check that column expressions reference different join sides if left_relation == right_relation { return false; } - let left_column = left_column.clone(); - // Don't check right, as it is already grouped - if !Self::are_join_members_supported(egraph, subst[left_members_var], [&left_column]) { + if !Self::are_join_members_supported( + egraph, + subst[left_members_var], + left_columns.iter(), + ) { return false; } diff --git a/rust/cubesql/cubesql/src/compile/test/test_cube_join_grouped.rs b/rust/cubesql/cubesql/src/compile/test/test_cube_join_grouped.rs index 859577497..4f04f3f94 100644 --- a/rust/cubesql/cubesql/src/compile/test/test_cube_join_grouped.rs +++ b/rust/cubesql/cubesql/src/compile/test/test_cube_join_grouped.rs @@ -766,3 +766,80 @@ GROUP BY .sql .contains(r#"\"expr\":\"${KibanaSampleDataEcommerce.sumPrice}\""#)); } + +#[tokio::test] +async fn test_join_on_multiple_columns() { + init_testing_logger(); + + let query_plan = convert_select_to_query_plan( + // language=PostgreSQL + r#" +SELECT + CAST(dim_str0 AS TEXT) || ' - ' || CAST(dim_str1 AS TEXT) AS "concat_dims" +FROM MultiTypeCube +INNER JOIN ( + SELECT + CAST(dim_str0 AS TEXT) || ' - ' || CAST(dim_str1 AS TEXT) AS "concat_dims", + AVG(avgPrice) AS "avg_price" + FROM MultiTypeCube + GROUP BY + 1 + ORDER BY + 2 DESC NULLS LAST, + 1 ASC NULLS FIRST + LIMIT 10 +) "grouped" +ON + CAST(MultiTypeCube.dim_str0 AS TEXT) || ' - ' || CAST(MultiTypeCube.dim_str1 AS TEXT) + = + "grouped"."concat_dims" +GROUP BY + 1 +; + "# + .to_string(), + DatabaseProtocol::PostgreSQL, + ) + .await; + + let physical_plan = query_plan.as_physical_plan().await.unwrap(); + println!( + "Physical plan: {}", + displayable(physical_plan.as_ref()).indent() + ); + + let request = query_plan + .as_logical_plan() + .find_cube_scan_wrapped_sql() + .request; + + assert_eq!(request.ungrouped, None); + + assert_eq!(request.subquery_joins.as_ref().unwrap().len(), 1); + + let subquery = &request.subquery_joins.unwrap()[0]; + + assert!(!subquery.sql.contains("ungrouped")); + assert_eq!(subquery.join_type, "INNER"); + assert!(subquery + .on + .contains(r#"CAST(${MultiTypeCube.dim_str0} AS STRING)"#)); + assert!(subquery + .on + .contains(r#"CAST(${MultiTypeCube.dim_str1} AS STRING)"#)); + assert!(subquery.on.contains(r#" = \"grouped\".\"concat_dims\""#)); + + // Dimension from ungrouped side + assert!(query_plan + .as_logical_plan() + .find_cube_scan_wrapped_sql() + .wrapped_sql + .sql + .contains(r#"CAST(${MultiTypeCube.dim_str0} AS STRING)"#)); + assert!(query_plan + .as_logical_plan() + .find_cube_scan_wrapped_sql() + .wrapped_sql + .sql + .contains(r#"CAST(${MultiTypeCube.dim_str1} AS STRING)"#)); +} From 293d8e8e94390dcd30dfc5f3b525bac7d7dbe834 Mon Sep 17 00:00:00 2001 From: Maxim Date: Wed, 5 Mar 2025 15:19:15 -0800 Subject: [PATCH 21/49] docs: Fix client id in the Azure VPC peering doc (#9307) --- docs/pages/product/deployment/cloud/vpc/azure.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/pages/product/deployment/cloud/vpc/azure.mdx b/docs/pages/product/deployment/cloud/vpc/azure.mdx index 6f056c62c..bd9ef94c5 100644 --- a/docs/pages/product/deployment/cloud/vpc/azure.mdx +++ b/docs/pages/product/deployment/cloud/vpc/azure.mdx @@ -45,7 +45,7 @@ steps: applications. 2. Open a browser tab and go to the following URL, replacing `` with your tenant ID: - `https://login.microsoftonline.com//oauth2/authorize?client_id=0c5d0d4b-6cee-402e-9a08-e5b79f199481&response_type=code&redirect_uri=https%3A%2F%2Fwww.microsoft.com%2F` + `https://login.microsoftonline.com//oauth2/authorize?client_id=7f3afcf3-e061-4e1b-8261-f396646d7fc7&response_type=code&redirect_uri=https%3A%2F%2Fwww.microsoft.com%2F` 3. The Cube Cloud service principal has specific credentials. Check that the following details match exactly what you see on the dialog box that pops up: From 6d142f0e966b62e0c6e639c008007a1872a30ad2 Mon Sep 17 00:00:00 2001 From: Michael Irvine Date: Wed, 5 Mar 2025 15:19:47 -0800 Subject: [PATCH 22/49] docs: Fix bad views usage in the AI API example (#9306) Co-authored-by: Michael Irvine --- docs/pages/product/apis-integrations/ai-api/reference.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/pages/product/apis-integrations/ai-api/reference.mdx b/docs/pages/product/apis-integrations/ai-api/reference.mdx index 776092566..cc023c200 100644 --- a/docs/pages/product/apis-integrations/ai-api/reference.mdx +++ b/docs/pages/product/apis-integrations/ai-api/reference.mdx @@ -38,7 +38,7 @@ curl \ -X POST \ -H "Content-Type: application/json" \ -H "Authorization: EXAMPLE-API-TOKEN" \ - --data '{ "messages": [{ "role": "user", "content": "What cities have the highest aov this year?", "views": ["orders_view"] }]}' \ + --data '{ "messages": [{ "role": "user", "content": "What cities have the highest aov this year?" }], "views": ["orders_view"] }' \ https://YOUR_CUBE_API/cubejs-api/v1/ai/query/completions ``` From d17015beebbb5e0417884bb9c898fb2c7a620b17 Mon Sep 17 00:00:00 2001 From: morgan-at-cube <153563892+morgan-at-cube@users.noreply.github.com> Date: Wed, 5 Mar 2025 15:20:43 -0800 Subject: [PATCH 23/49] docs: Update ai-api.mdx (#9265) Remove verbiage that says Cube team needs to enable AI API Co-authored-by: Igor Lukanin --- docs/pages/product/apis-integrations/ai-api.mdx | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/docs/pages/product/apis-integrations/ai-api.mdx b/docs/pages/product/apis-integrations/ai-api.mdx index 62d075afc..6ca8c2d35 100644 --- a/docs/pages/product/apis-integrations/ai-api.mdx +++ b/docs/pages/product/apis-integrations/ai-api.mdx @@ -7,8 +7,7 @@ Specifically, you can send the AI API a message (or conversation of messages) an The AI API is available on [Cube Cloud](/getting-started#getting-started-with-cube-cloud) only. It is currently - in preview and should not be used for production workloads. Please contact - your Cube representative to have it enabled for your account. + in preview and should not be used for production workloads. See [AI API reference][ref-ref-ai-api] for the list of supported API endpoints. From 7575eec2be20b3e18ca6a4e570e8ee7492af0fe8 Mon Sep 17 00:00:00 2001 From: Mikhail Cheshkov Date: Thu, 6 Mar 2025 01:45:18 +0200 Subject: [PATCH 24/49] fix(cubesql): Calculate proper limit and offset for CubeScan in nested limits case (#8924) Before this in Limit(Limit(CubeScan)) logical plan outer fetch and skip values would win. Now they are calculated properly. --- .../src/compile/rewrite/rules/members.rs | 104 +++++--- rust/cubesql/cubesql/src/compile/test/mod.rs | 2 + .../src/compile/test/test_cube_scan.rs | 226 ++++++++++++++++++ .../cubesql/src/compile/test/test_wrapper.rs | 95 ++++++++ 4 files changed, 400 insertions(+), 27 deletions(-) create mode 100644 rust/cubesql/cubesql/src/compile/test/test_cube_scan.rs diff --git a/rust/cubesql/cubesql/src/compile/rewrite/rules/members.rs b/rust/cubesql/cubesql/src/compile/rewrite/rules/members.rs index 68a0f8b16..90b9ebdd7 100644 --- a/rust/cubesql/cubesql/src/compile/rewrite/rules/members.rs +++ b/rust/cubesql/cubesql/src/compile/rewrite/rules/members.rs @@ -240,8 +240,8 @@ impl RewriteRules for MemberRules { "?members", "?filters", "?orders", - "?cube_fetch", - "?offset", + "?inner_fetch", + "?inner_skip", "?split", "?can_pushdown_join", "CubeScanWrapped:false", @@ -260,7 +260,14 @@ impl RewriteRules for MemberRules { "CubeScanWrapped:false", "?ungrouped", ), - self.push_down_limit("?skip", "?fetch", "?new_skip", "?new_fetch"), + self.push_down_limit( + "?skip", + "?fetch", + "?inner_skip", + "?inner_fetch", + "?new_skip", + "?new_fetch", + ), ), transforming_rewrite( "select-distinct-dimensions", @@ -1694,47 +1701,90 @@ impl MemberRules { &self, skip_var: &'static str, fetch_var: &'static str, + inner_skip_var: &'static str, + inner_fetch_var: &'static str, new_skip_var: &'static str, new_fetch_var: &'static str, ) -> impl Fn(&mut CubeEGraph, &mut Subst) -> bool { let skip_var = var!(skip_var); let fetch_var = var!(fetch_var); + let inner_skip_var = var!(inner_skip_var); + let inner_fetch_var = var!(inner_fetch_var); let new_skip_var = var!(new_skip_var); let new_fetch_var = var!(new_fetch_var); move |egraph, subst| { + // This transform expects only single value in every (eclass, kind) + // No two different values of fetch or skip should ever get unified + let mut skip_value = None; for skip in var_iter!(egraph[subst[skip_var]], LimitSkip) { - if skip.unwrap_or_default() > 0 { - skip_value = *skip; - break; - } + skip_value = *skip; + break; } let mut fetch_value = None; for fetch in var_iter!(egraph[subst[fetch_var]], LimitFetch) { - if fetch.unwrap_or_default() > 0 { - fetch_value = *fetch; - break; - } + fetch_value = *fetch; + break; + } + // TODO support this case + if fetch_value == Some(0) { + // Broken and unsupported case for now + return false; } - if skip_value.is_some() || fetch_value.is_some() { - subst.insert( - new_skip_var, - egraph.add(LogicalPlanLanguage::CubeScanOffset(CubeScanOffset( - skip_value, - ))), - ); - subst.insert( - new_fetch_var, - egraph.add(LogicalPlanLanguage::CubeScanLimit(CubeScanLimit( - fetch_value, - ))), - ); - - return true; + let mut inner_skip_value = None; + for inner_skip in var_iter!(egraph[subst[inner_skip_var]], CubeScanOffset) { + inner_skip_value = *inner_skip; + break; } - false + let mut inner_fetch_value = None; + for inner_fetch in var_iter!(egraph[subst[inner_fetch_var]], CubeScanLimit) { + inner_fetch_value = *inner_fetch; + break; + } + + let new_skip = match (skip_value, inner_skip_value) { + (None, None) => None, + (Some(skip), None) | (None, Some(skip)) => Some(skip), + (Some(outer_skip), Some(inner_skip)) => Some(outer_skip + inner_skip), + }; + // No need to set offset=0, it's same as no offset + let new_skip = if new_skip != Some(0) { new_skip } else { None }; + let new_fetch = match (fetch_value, inner_fetch_value) { + (None, None) => None, + // Inner node have no limit, maybe just offset, result limit is same as for outer node + (Some(outer_fetch), None) => Some(outer_fetch), + // Outer node have no limit, but may have offset + // First, inner offset would apply + // Then inner node would limit rows + // Then outer offset would apply, which would yield no more than `inner_fetch - outer_skip` rows + (None, Some(inner_fetch)) => { + Some(inner_fetch.saturating_sub(skip_value.unwrap_or(0))) + } + // Both nodes have a limit + // First, inner offset would apply + // Then inner node would limit rows + // Then outer offset would apply, which would yield no more than `in_limit - out_offset` rows + // Then outer limit would apply, which would yield no more than minimal of two + (Some(outer_fetch), Some(inner_fetch)) => Some(usize::min( + inner_fetch.saturating_sub(skip_value.unwrap_or(0)), + outer_fetch, + )), + }; + + subst.insert( + new_skip_var, + egraph.add(LogicalPlanLanguage::CubeScanOffset(CubeScanOffset( + new_skip, + ))), + ); + subst.insert( + new_fetch_var, + egraph.add(LogicalPlanLanguage::CubeScanLimit(CubeScanLimit(new_fetch))), + ); + + true } } diff --git a/rust/cubesql/cubesql/src/compile/test/mod.rs b/rust/cubesql/cubesql/src/compile/test/mod.rs index ccca09d0d..9a9315dc5 100644 --- a/rust/cubesql/cubesql/src/compile/test/mod.rs +++ b/rust/cubesql/cubesql/src/compile/test/mod.rs @@ -32,6 +32,8 @@ pub mod test_cube_join; #[cfg(test)] pub mod test_cube_join_grouped; #[cfg(test)] +pub mod test_cube_scan; +#[cfg(test)] pub mod test_df_execution; #[cfg(test)] pub mod test_filters; diff --git a/rust/cubesql/cubesql/src/compile/test/test_cube_scan.rs b/rust/cubesql/cubesql/src/compile/test/test_cube_scan.rs new file mode 100644 index 000000000..0b6143ff0 --- /dev/null +++ b/rust/cubesql/cubesql/src/compile/test/test_cube_scan.rs @@ -0,0 +1,226 @@ +use cubeclient::models::V1LoadRequestQuery; +use pretty_assertions::assert_eq; + +use crate::compile::{ + test::{convert_select_to_query_plan, init_testing_logger, utils::LogicalPlanTestUtils}, + DatabaseProtocol, +}; + +/// LIMIT n OFFSET m should be pushed to CubeScan +#[tokio::test] +async fn cubescan_limit_offset() { + init_testing_logger(); + + let query_plan = convert_select_to_query_plan( + // language=PostgreSQL + r#" + SELECT + customer_gender + FROM + KibanaSampleDataEcommerce + GROUP BY + 1 + LIMIT 2 + OFFSET 3 + "# + .to_string(), + DatabaseProtocol::PostgreSQL, + ) + .await; + + let logical_plan = query_plan.as_logical_plan(); + assert_eq!( + logical_plan.find_cube_scan().request, + V1LoadRequestQuery { + measures: Some(vec![]), + dimensions: Some(vec!["KibanaSampleDataEcommerce.customer_gender".to_string()]), + segments: Some(vec![]), + order: Some(vec![]), + limit: Some(2), + offset: Some(3), + ..Default::default() + } + ); +} + +/// LIMIT over LIMIT should be pushed to single CubeScan +#[tokio::test] +async fn cubescan_limit_limit() { + init_testing_logger(); + + let variants = vec![ + // language=PostgreSQL + r#" + SELECT + customer_gender + FROM ( + SELECT + customer_gender + FROM + KibanaSampleDataEcommerce + GROUP BY + 1 + LIMIT 3 + ) scan + LIMIT 2 + "#, + // language=PostgreSQL + r#" + SELECT + customer_gender + FROM ( + SELECT + customer_gender + FROM + KibanaSampleDataEcommerce + GROUP BY + 1 + LIMIT 2 + ) scan + LIMIT 3 + "#, + ]; + + for variant in variants { + let query_plan = + convert_select_to_query_plan(variant.to_string(), DatabaseProtocol::PostgreSQL).await; + + let logical_plan = query_plan.as_logical_plan(); + assert_eq!( + logical_plan.find_cube_scan().request, + V1LoadRequestQuery { + measures: Some(vec![]), + dimensions: Some(vec!["KibanaSampleDataEcommerce.customer_gender".to_string()]), + segments: Some(vec![]), + order: Some(vec![]), + limit: Some(2), + ..Default::default() + } + ); + } +} + +/// OFFSET over OFFSET should be pushed to single CubeScan +#[tokio::test] +async fn cubescan_offset_offset() { + init_testing_logger(); + + let variants = vec![ + // language=PostgreSQL + r#" + SELECT + customer_gender + FROM ( + SELECT + customer_gender + FROM + KibanaSampleDataEcommerce + GROUP BY + 1 + OFFSET 3 + ) scan + OFFSET 2 + "#, + // language=PostgreSQL + r#" + SELECT + customer_gender + FROM ( + SELECT + customer_gender + FROM + KibanaSampleDataEcommerce + GROUP BY + 1 + OFFSET 2 + ) scan + OFFSET 3 + "#, + ]; + + for variant in variants { + let query_plan = + convert_select_to_query_plan(variant.to_string(), DatabaseProtocol::PostgreSQL).await; + + let logical_plan = query_plan.as_logical_plan(); + assert_eq!( + logical_plan.find_cube_scan().request, + V1LoadRequestQuery { + measures: Some(vec![]), + dimensions: Some(vec!["KibanaSampleDataEcommerce.customer_gender".to_string()]), + segments: Some(vec![]), + order: Some(vec![]), + offset: Some(5), + ..Default::default() + } + ); + } +} + +/// LIMIT OFFSET over LIMIT OFFSET should be pushed to single CubeScan with a proper values +#[tokio::test] +async fn cubescan_limit_offset_limit_offset() { + init_testing_logger(); + + let variants = vec![ + ( + // language=PostgreSQL + r#" + SELECT + customer_gender + FROM ( + SELECT + customer_gender + FROM + KibanaSampleDataEcommerce + GROUP BY + 1 + LIMIT 3 + OFFSET 3 + ) scan + LIMIT 2 + OFFSET 2 + "#, + 1, + ), + ( + // language=PostgreSQL + r#" + SELECT + customer_gender + FROM ( + SELECT + customer_gender + FROM + KibanaSampleDataEcommerce + GROUP BY + 1 + LIMIT 10 + OFFSET 3 + ) scan + LIMIT 2 + OFFSET 2 + "#, + 2, + ), + ]; + + for (variant, limit) in variants { + let query_plan = + convert_select_to_query_plan(variant.to_string(), DatabaseProtocol::PostgreSQL).await; + + let logical_plan = query_plan.as_logical_plan(); + assert_eq!( + logical_plan.find_cube_scan().request, + V1LoadRequestQuery { + measures: Some(vec![]), + dimensions: Some(vec!["KibanaSampleDataEcommerce.customer_gender".to_string()]), + segments: Some(vec![]), + order: Some(vec![]), + limit: Some(limit), + offset: Some(5), + ..Default::default() + } + ); + } +} diff --git a/rust/cubesql/cubesql/src/compile/test/test_wrapper.rs b/rust/cubesql/cubesql/src/compile/test/test_wrapper.rs index 474933553..df6a743e6 100644 --- a/rust/cubesql/cubesql/src/compile/test/test_wrapper.rs +++ b/rust/cubesql/cubesql/src/compile/test/test_wrapper.rs @@ -1644,3 +1644,98 @@ GROUP BY let segment = &segments[0]; assert!(segment.contains("DATE_TRUNC")); } + +/// Aggregation with falsy filter should NOT get pushed to CubeScan with limit=0 +/// This test currently produces WrappedSelect with WHERE FALSE, which is OK for our purposes +#[tokio::test] +async fn select_agg_where_false() { + if !Rewriter::sql_push_down_enabled() { + return; + } + init_testing_logger(); + + let query_plan = convert_select_to_query_plan( + "SELECT SUM(sumPrice) FROM KibanaSampleDataEcommerce WHERE 1 = 0".to_string(), + DatabaseProtocol::PostgreSQL, + ) + .await; + + let physical_plan = query_plan.as_physical_plan().await.unwrap(); + println!( + "Physical plan: {}", + displayable(physical_plan.as_ref()).indent() + ); + + let logical_plan = query_plan.as_logical_plan(); + assert_eq!( + logical_plan.find_cube_scan().request, + V1LoadRequestQuery { + measures: Some(vec![]), + segments: Some(vec![]), + dimensions: Some(vec![]), + order: Some(vec![]), + limit: None, + ungrouped: Some(true), + ..Default::default() + } + ); + + let sql = logical_plan.find_cube_scan_wrapped_sql().wrapped_sql.sql; + + // Final query uses grouped query to Cube.js with WHERE FALSE, but without LIMIT 0 + assert!(!sql.contains("\"ungrouped\":")); + assert!(sql.contains(r#"\"expr\":\"FALSE\""#)); + assert!(sql.contains(r#""limit": 50000"#)); +} + +/// Aggregation(dimension) with falsy filter should NOT get pushed to CubeScan with limit=0 +/// This test currently produces WrappedSelect with WHERE FALSE, which is OK for our purposes +#[tokio::test] +async fn wrapper_dimension_agg_where_false() { + if !Rewriter::sql_push_down_enabled() { + return; + } + init_testing_logger(); + + let query_plan = convert_select_to_query_plan( + // language=PostgreSQL + r#" + SELECT + MAX(customer_gender) + FROM + KibanaSampleDataEcommerce + WHERE 1 = 0 + "# + .to_string(), + DatabaseProtocol::PostgreSQL, + ) + .await; + + let physical_plan = query_plan.as_physical_plan().await.unwrap(); + println!( + "Physical plan: {}", + displayable(physical_plan.as_ref()).indent() + ); + + let logical_plan = query_plan.as_logical_plan(); + assert_eq!( + logical_plan.find_cube_scan().request, + V1LoadRequestQuery { + measures: Some(vec![]), + dimensions: Some(vec![]), + segments: Some(vec![]), + order: Some(vec![]), + limit: None, + ungrouped: Some(true), + ..Default::default() + } + ); + + let sql = logical_plan.find_cube_scan_wrapped_sql().wrapped_sql.sql; + + // Final query uses grouped query to Cube.js with WHERE FALSE, but without LIMIT 0 + assert!(!sql.contains("\"ungrouped\":")); + assert!(sql.contains(r#"\"expr\":\"FALSE\""#)); + assert!(!sql.contains(r#""limit""#)); + assert!(sql.contains("LIMIT 50000")); +} From 8256aa902c9363c47af26ad9898f83587ae69346 Mon Sep 17 00:00:00 2001 From: Mikhail Cheshkov Date: Thu, 6 Mar 2025 16:49:29 +0200 Subject: [PATCH 25/49] fix(cubesql): Make cube join check stricter (#9043) Now it should disallow any plans with ungrouped CubeScan inside, like Join(CubeScan, Projection(CubeScan(ungrouped=true))) test_join_cubes_with_postprocessing was broken: it joined grouped CubeScan with ungrouped CubeScan by __cubeJoinField test_join_cubes_with_postprocessing_and_no_cubejoinfield should already be covered by ungrouped-grouped join pushdown --- .../cubesql/src/compile/engine/df/wrapper.rs | 38 ++++++ .../cubesql/src/compile/rewrite/converter.rs | 83 ++++++++++--- .../src/compile/test/test_cube_join.rs | 114 +----------------- 3 files changed, 105 insertions(+), 130 deletions(-) diff --git a/rust/cubesql/cubesql/src/compile/engine/df/wrapper.rs b/rust/cubesql/cubesql/src/compile/engine/df/wrapper.rs index afae6974c..d4eac2eb5 100644 --- a/rust/cubesql/cubesql/src/compile/engine/df/wrapper.rs +++ b/rust/cubesql/cubesql/src/compile/engine/df/wrapper.rs @@ -553,6 +553,44 @@ macro_rules! generate_sql_for_timestamp { } impl CubeScanWrapperNode { + pub fn has_ungrouped_scan(&self) -> bool { + Self::has_ungrouped_wrapped_node(self.wrapped_plan.as_ref()) + } + + fn has_ungrouped_wrapped_node(node: &LogicalPlan) -> bool { + match node { + LogicalPlan::Extension(Extension { node }) => { + if let Some(cube_scan) = node.as_any().downcast_ref::() { + cube_scan.request.ungrouped == Some(true) + } else if let Some(wrapped_select) = + node.as_any().downcast_ref::() + { + // Don't really care if push-to-Cube or not, any aggregation should be ok here from execution perspective + if wrapped_select.select_type == WrappedSelectType::Aggregate { + false + } else { + Self::has_ungrouped_wrapped_node(wrapped_select.from.as_ref()) + || wrapped_select + .joins + .iter() + .map(|(join, _, _)| join.as_ref()) + .any(Self::has_ungrouped_wrapped_node) + || wrapped_select + .subqueries + .iter() + .map(|subq| subq.as_ref()) + .any(Self::has_ungrouped_wrapped_node) + } + } else { + false + } + } + LogicalPlan::EmptyRelation(_) => false, + // Everything else is unexpected actually + _ => false, + } + } + pub async fn generate_sql( &self, transport: Arc, diff --git a/rust/cubesql/cubesql/src/compile/rewrite/converter.rs b/rust/cubesql/cubesql/src/compile/rewrite/converter.rs index bf301b76e..03b6a5cc2 100644 --- a/rust/cubesql/cubesql/src/compile/rewrite/converter.rs +++ b/rust/cubesql/cubesql/src/compile/rewrite/converter.rs @@ -50,7 +50,7 @@ use datafusion::{ plan::{Aggregate, Extension, Filter, Join, Projection, Sort, TableUDFs, Window}, replace_col_to_expr, Column, CrossJoin, DFField, DFSchema, DFSchemaRef, Distinct, EmptyRelation, Expr, ExprRewritable, ExprRewriter, GroupingSet, Like, Limit, LogicalPlan, - LogicalPlanBuilder, TableScan, Union, + LogicalPlanBuilder, Repartition, Subquery, TableScan, Union, }, physical_plan::planner::DefaultPhysicalPlanner, scalar::ScalarValue, @@ -1350,10 +1350,18 @@ impl LanguageToLogicalPlanConverter { LogicalPlanLanguage::Join(params) => { let left_on = match_data_node!(node_by_id, params[2], JoinLeftOn); let right_on = match_data_node!(node_by_id, params[3], JoinRightOn); - let left = self.to_logical_plan(params[0]); - let right = self.to_logical_plan(params[1]); - - if self.is_cube_scan_node(params[0]) && self.is_cube_scan_node(params[1]) { + let left = self.to_logical_plan(params[0])?; + let right = self.to_logical_plan(params[1])?; + + // It's OK to join two grouped queries: expected row count is not that high, so + // SQL API can, potentially, evaluate it completely + // We don't really want it, so cost function should make WrappedSelect preferable + // but still, we don't want to hard error on that + // But if any one of join sides is ungroued, SQL API does not have much of a choice + // but to process every row from ungrouped query, and that's Not Good + if Self::have_ungrouped_cube_scan_inside(&left) + || Self::have_ungrouped_cube_scan_inside(&right) + { if left_on.iter().any(|c| c.name == "__cubeJoinField") || right_on.iter().any(|c| c.name == "__cubeJoinField") { @@ -1370,8 +1378,8 @@ impl LanguageToLogicalPlanConverter { } } - let left = Arc::new(left?); - let right = Arc::new(right?); + let left = Arc::new(left); + let right = Arc::new(right); let join_type = match_data_node!(node_by_id, params[4], JoinJoinType); let join_constraint = match_data_node!(node_by_id, params[5], JoinJoinConstraint); @@ -1394,7 +1402,18 @@ impl LanguageToLogicalPlanConverter { }) } LogicalPlanLanguage::CrossJoin(params) => { - if self.is_cube_scan_node(params[0]) && self.is_cube_scan_node(params[1]) { + let left = self.to_logical_plan(params[0])?; + let right = self.to_logical_plan(params[1])?; + + // See comment in Join conversion + // Note that DF can generate Filter(CrossJoin(...)) for complex join conditions + // But, from memory or dataset perspective it's the same: DF would buffer left side completely + // And then iterate over right side, evaluting predicate + // Regular join would use hash partitioning here, so it would be quicker, and utilize less CPU, + // but transfer and buffering will be the same + if Self::have_ungrouped_cube_scan_inside(&left) + || Self::have_ungrouped_cube_scan_inside(&right) + { return Err(CubeError::internal( "Can not join Cubes. This is most likely due to one of the following reasons:\n\ • one of the cubes contains a group by\n\ @@ -1403,8 +1422,8 @@ impl LanguageToLogicalPlanConverter { )); } - let left = Arc::new(self.to_logical_plan(params[0])?); - let right = Arc::new(self.to_logical_plan(params[1])?); + let left = Arc::new(left); + let right = Arc::new(right); let schema = Arc::new(left.schema().join(right.schema())?); LogicalPlan::CrossJoin(CrossJoin { @@ -2304,16 +2323,44 @@ impl LanguageToLogicalPlanConverter { }) } - fn is_cube_scan_node(&self, node_id: Id) -> bool { - let node_by_id = &self.best_expr; - match node_by_id.index(node_id) { - LogicalPlanLanguage::CubeScan(_) | LogicalPlanLanguage::CubeScanWrapper(_) => { - return true + fn have_ungrouped_cube_scan_inside(node: &LogicalPlan) -> bool { + match node { + LogicalPlan::Projection(Projection { input, .. }) + | LogicalPlan::Filter(Filter { input, .. }) + | LogicalPlan::Window(Window { input, .. }) + | LogicalPlan::Aggregate(Aggregate { input, .. }) + | LogicalPlan::Sort(Sort { input, .. }) + | LogicalPlan::Repartition(Repartition { input, .. }) + | LogicalPlan::Limit(Limit { input, .. }) => { + Self::have_ungrouped_cube_scan_inside(input) + } + LogicalPlan::Join(Join { left, right, .. }) + | LogicalPlan::CrossJoin(CrossJoin { left, right, .. }) => { + Self::have_ungrouped_cube_scan_inside(left) + || Self::have_ungrouped_cube_scan_inside(right) + } + LogicalPlan::Union(Union { inputs, .. }) => { + inputs.iter().any(Self::have_ungrouped_cube_scan_inside) + } + LogicalPlan::Subquery(Subquery { + input, subqueries, .. + }) => { + Self::have_ungrouped_cube_scan_inside(input) + || subqueries.iter().any(Self::have_ungrouped_cube_scan_inside) + } + LogicalPlan::Extension(Extension { node }) => { + if let Some(cube_scan) = node.as_any().downcast_ref::() { + cube_scan.request.ungrouped == Some(true) + } else if let Some(cube_scan_wrapper) = + node.as_any().downcast_ref::() + { + cube_scan_wrapper.has_ungrouped_scan() + } else { + false + } } - _ => (), + _ => false, } - - return false; } } diff --git a/rust/cubesql/cubesql/src/compile/test/test_cube_join.rs b/rust/cubesql/cubesql/src/compile/test/test_cube_join.rs index 7294609b4..4a8b7463a 100644 --- a/rust/cubesql/cubesql/src/compile/test/test_cube_join.rs +++ b/rust/cubesql/cubesql/src/compile/test/test_cube_join.rs @@ -497,8 +497,8 @@ async fn test_join_cubes_on_wrong_field_error() { let query = convert_sql_to_cube_query( &r#" SELECT * - FROM KibanaSampleDataEcommerce - LEFT JOIN Logs ON (KibanaSampleDataEcommerce.has_subscription = Logs.read) + FROM (SELECT customer_gender, has_subscription FROM KibanaSampleDataEcommerce) kibana + LEFT JOIN (SELECT read, content FROM Logs) logs ON (kibana.has_subscription = logs.read) "# .to_string(), meta.clone(), @@ -566,113 +566,3 @@ async fn test_join_cubes_with_aggr_error() { . Please check logs for additional information.".to_string() ) } - -#[tokio::test] -async fn test_join_cubes_with_postprocessing() { - if !Rewriter::sql_push_down_enabled() { - return; - } - init_testing_logger(); - - let logical_plan = convert_select_to_query_plan( - r#" - SELECT * - FROM (SELECT count(count), __cubeJoinField, extract(MONTH from order_date) FROM KibanaSampleDataEcommerce group by 2, 3) KibanaSampleDataEcommerce - LEFT JOIN (SELECT read, __cubeJoinField FROM Logs) Logs ON (KibanaSampleDataEcommerce.__cubeJoinField = Logs.__cubeJoinField) - "# - .to_string(), - DatabaseProtocol::PostgreSQL, - ) - .await - .as_logical_plan(); - - let cube_scans = logical_plan - .find_cube_scans() - .iter() - .map(|cube| cube.request.clone()) - .collect::>(); - - assert_eq!( - cube_scans.contains(&V1LoadRequestQuery { - measures: Some(vec!["KibanaSampleDataEcommerce.count".to_string()]), - dimensions: Some(vec![]), - segments: Some(vec![]), - time_dimensions: Some(vec![V1LoadRequestQueryTimeDimension { - dimension: "KibanaSampleDataEcommerce.order_date".to_string(), - granularity: Some("month".to_string()), - date_range: None, - }]), - order: Some(vec![]), - ..Default::default() - }), - true - ); - - assert_eq!( - cube_scans.contains(&V1LoadRequestQuery { - measures: Some(vec![]), - dimensions: Some(vec!["Logs.read".to_string()]), - segments: Some(vec![]), - order: Some(vec![]), - ungrouped: Some(true), - ..Default::default() - }), - true - ) -} - -#[tokio::test] -async fn test_join_cubes_with_postprocessing_and_no_cubejoinfield() { - if !Rewriter::sql_push_down_enabled() { - return; - } - init_testing_logger(); - - let logical_plan = convert_select_to_query_plan( - r#" - SELECT * - FROM (SELECT count(count), extract(MONTH from order_date), taxful_total_price FROM KibanaSampleDataEcommerce group by 2, 3) KibanaSampleDataEcommerce - LEFT JOIN (SELECT id, read FROM Logs) Logs ON (KibanaSampleDataEcommerce.taxful_total_price = Logs.id) - "# - .to_string(), - DatabaseProtocol::PostgreSQL, - ) - .await - .as_logical_plan(); - - let cube_scans = logical_plan - .find_cube_scans() - .iter() - .map(|cube| cube.request.clone()) - .collect::>(); - - assert_eq!( - cube_scans.contains(&V1LoadRequestQuery { - measures: Some(vec!["KibanaSampleDataEcommerce.count".to_string()]), - dimensions: Some(vec![ - "KibanaSampleDataEcommerce.taxful_total_price".to_string() - ]), - segments: Some(vec![]), - time_dimensions: Some(vec![V1LoadRequestQueryTimeDimension { - dimension: "KibanaSampleDataEcommerce.order_date".to_string(), - granularity: Some("month".to_string()), - date_range: None, - }]), - order: Some(vec![]), - ..Default::default() - }), - true - ); - - assert_eq!( - cube_scans.contains(&V1LoadRequestQuery { - measures: Some(vec![]), - dimensions: Some(vec!["Logs.id".to_string(), "Logs.read".to_string(),]), - segments: Some(vec![]), - order: Some(vec![]), - ungrouped: Some(true), - ..Default::default() - }), - true - ) -} From 3377207c1b3249f431dd9b2f300d326f80ba8ac1 Mon Sep 17 00:00:00 2001 From: waralexrom <108349432+waralexrom@users.noreply.github.com> Date: Thu, 6 Mar 2025 16:21:47 +0100 Subject: [PATCH 26/49] fix(tesseract): Don't generate COALESCE with single argument (#9300) --- .../postgres/sql-generation.test.ts | 41 ++++++++++++++++++- .../cubesqlplanner/src/plan/builder/select.rs | 29 +++++++++---- .../full_key_query_aggregate_planner.rs | 2 +- 3 files changed, 60 insertions(+), 12 deletions(-) diff --git a/packages/cubejs-schema-compiler/test/integration/postgres/sql-generation.test.ts b/packages/cubejs-schema-compiler/test/integration/postgres/sql-generation.test.ts index e11b7f01b..64e09f258 100644 --- a/packages/cubejs-schema-compiler/test/integration/postgres/sql-generation.test.ts +++ b/packages/cubejs-schema-compiler/test/integration/postgres/sql-generation.test.ts @@ -714,8 +714,6 @@ SELECT 1 AS revenue, cast('2024-01-01' AS timestamp) as time UNION ALL await compiler.compile(); const query = new PostgresQuery({ joinGraph, cubeEvaluator, compiler }, q); - // console.log(query.buildSqlAndParams()); - const res = await dbRunner.testQuery(query.buildSqlAndParams()); console.log(JSON.stringify(res)); @@ -3379,6 +3377,45 @@ SELECT 1 AS revenue, cast('2024-01-01' AS timestamp) as time UNION ALL }); }); + it('don\'t use COALESCE with single argument', async () => { + if (!getEnv('nativeSqlPlanner')) { + return; + } + await compiler.compile(); + + const query = new PostgresQuery({ joinGraph, cubeEvaluator, compiler }, { + measures: [ + 'visitors.visitor_revenue' + ], + dimensions: [ + 'visitors.source' + ], + timeDimensions: [], + timezone: 'America/Los_Angeles', + filters: [{ + dimension: 'visitor_checkins.source', + operator: 'equals', + values: ['google'] + }], + order: [{ + id: 'visitors.source' + }] + }); + const queryAndParams = query.buildSqlAndParams(); + console.log(queryAndParams); + expect(queryAndParams[0]).not.toContain('COALESCE'); + + await dbRunner.testQuery(queryAndParams).then(res => { + console.log(JSON.stringify(res)); + expect(res).toEqual( + [{ + visitors__source: 'some', + visitors__visitor_revenue: '100' + }] + ); + }); + }); + it('expression cube name cache', async () => { await runQueryTest( { diff --git a/rust/cubesqlplanner/cubesqlplanner/src/plan/builder/select.rs b/rust/cubesqlplanner/cubesqlplanner/src/plan/builder/select.rs index 4312aa48f..33b22bb41 100644 --- a/rust/cubesqlplanner/cubesqlplanner/src/plan/builder/select.rs +++ b/rust/cubesqlplanner/cubesqlplanner/src/plan/builder/select.rs @@ -6,6 +6,7 @@ use crate::plan::{ use crate::plan::expression::FunctionExpression; use crate::planner::sql_evaluator::sql_nodes::SqlNodesFactory; use crate::planner::{BaseMember, VisitorContext}; +use cubenativeutils::CubeError; use std::collections::HashMap; use std::rc::Rc; @@ -79,21 +80,30 @@ impl SelectBuilder { member: &Rc, references: Vec, alias: Option, - ) { + ) -> Result<(), CubeError> { let alias = if let Some(alias) = alias { alias } else { member.alias_name() }; - let expr = Expr::Function(FunctionExpression { - function: "COALESCE".to_string(), - arguments: references - .into_iter() - // TODO unwrap - .map(|r| Expr::Reference(r)) - .collect(), - }); + let expr = if references.len() > 1 { + Expr::Function(FunctionExpression { + function: "COALESCE".to_string(), + arguments: references + .into_iter() + // TODO unwrap + .map(|r| Expr::Reference(r)) + .collect(), + }) + } else if references.len() == 1 { + Expr::Reference(references[0].clone()) + } else { + return Err(CubeError::internal( + "Cannot add coalesce projection without references".to_string(), + )); + }; + let aliased_expr = AliasedExpr { expr, alias: alias.clone(), @@ -102,6 +112,7 @@ impl SelectBuilder { self.projection_columns.push(aliased_expr); self.result_schema .add_column(SchemaColumn::new(alias.clone(), Some(member.full_name()))); + Ok(()) } pub fn set_filter(&mut self, filter: Option) { diff --git a/rust/cubesqlplanner/cubesqlplanner/src/planner/planners/full_key_query_aggregate_planner.rs b/rust/cubesqlplanner/cubesqlplanner/src/planner/planners/full_key_query_aggregate_planner.rs index a89db3fe2..837a75137 100644 --- a/rust/cubesqlplanner/cubesqlplanner/src/planner/planners/full_key_query_aggregate_planner.rs +++ b/rust/cubesqlplanner/cubesqlplanner/src/planner/planners/full_key_query_aggregate_planner.rs @@ -127,7 +127,7 @@ impl FullKeyAggregateQueryPlanner { .collect::, _>>()?; let alias = references_builder .resolve_alias_for_member(&member.full_name(), &dimensions_source); - select_builder.add_projection_coalesce_member(member, references, alias); + select_builder.add_projection_coalesce_member(member, references, alias)?; } for member in BaseMemberHelper::iter_as_base_member(&outer_measures) { From 25281fbb0ea665721e446ffd6489309e4eb69e01 Mon Sep 17 00:00:00 2001 From: Konstantin Burkalev Date: Thu, 6 Mar 2025 17:40:58 +0200 Subject: [PATCH 27/49] fix(query-orchestrator): Fix improper pre-aggregation buildRange construction for non UTC timezones (#9284) * improve partitionTableName() in PreAggregationPartitionRangeLoader * make loadBuildRange() timezone-aware + align tests * fix loadBuildRange() to use inDbTimeZone() * return back utcToLocalTimeZone * return back utcToLocalTimeZone in replaceQueryBuildRangeParams * rename inDbTimeZone to localTimestampToUtc * small improvement in BaseFilter format*Date * remove unneeded * another round in loadBuildRange() * optimize to avoid doble ts convertion, add ts format to loadBuildRange() * fix/specify some types * fix invalidateKeyQueries not to be in the future * fix correct extractDate parsing * fix localTimestampToUtc() * tests for all time functions * revert change for sealAt * fix tests * fix extractDate and rename it to parseLocalDate * fix tests for parseLocalDate() * align PreAggregationPartitionRangeLoader with changes * fix BaseDbRunner * fix date formatting in replacePartitionSqlAndParams * fix tests * spelling * add more tests for timeSeries() * add tests for reformatUtcTimestamp() * refactor alignToOrigin() * convert to utc only in replacePartitionSqlAndParams() * remove reformatUtcTimestamp() as oblsolete * code polish * remove unused redis-related utils * move widely used ts format literal to const * more tests for PreAggregationPartitionRangeLoader.intersectDateRanges() * some improvements in tests * some tests for PreAggregationPartitionRangeLoader * some test polishment --- packages/cubejs-backend-shared/src/time.ts | 79 ++-- .../cubejs-backend-shared/test/time.test.ts | 360 +++++++++++++++++- .../src/driver.interface.ts | 2 +- .../src/CubeStoreDriver.ts | 10 +- .../orchestrator/PreAggregationLoadCache.ts | 6 +- .../src/orchestrator/PreAggregationLoader.ts | 12 +- .../PreAggregationPartitionRangeLoader.ts | 105 +++-- .../src/orchestrator/PreAggregations.ts | 17 +- .../src/orchestrator/utils.ts | 179 +-------- .../test/unit/PreAggregations.test.js | 314 ++++++++++++++- .../test/unit/QueryOrchestrator.test.js | 4 +- .../src/adapter/BaseFilter.ts | 12 +- .../src/adapter/BaseQuery.js | 4 +- .../test/integration/utils/BaseDbRunner.ts | 8 +- .../src/core/RefreshScheduler.ts | 10 +- .../test/unit/RefreshScheduler.test.ts | 38 +- 16 files changed, 841 insertions(+), 319 deletions(-) diff --git a/packages/cubejs-backend-shared/src/time.ts b/packages/cubejs-backend-shared/src/time.ts index f6277de9f..1a39ec583 100644 --- a/packages/cubejs-backend-shared/src/time.ts +++ b/packages/cubejs-backend-shared/src/time.ts @@ -78,31 +78,17 @@ export function subtractInterval(date: moment.Moment, interval: ParsedInterval): */ export const alignToOrigin = (startDate: moment.Moment, interval: ParsedInterval, origin: moment.Moment): moment.Moment => { let alignedDate = startDate.clone(); - let intervalOp; - let isIntervalNegative = false; - - let offsetDate = addInterval(origin, interval); - - // The easiest way to check the interval sign - if (offsetDate.isBefore(origin)) { - isIntervalNegative = true; - } - - offsetDate = origin.clone(); + let offsetDate = origin.clone(); if (startDate.isBefore(origin)) { - intervalOp = isIntervalNegative ? addInterval : subtractInterval; - while (offsetDate.isAfter(startDate)) { - offsetDate = intervalOp(offsetDate, interval); + offsetDate = subtractInterval(offsetDate, interval); } alignedDate = offsetDate; } else { - intervalOp = isIntervalNegative ? subtractInterval : addInterval; - while (offsetDate.isBefore(startDate)) { alignedDate = offsetDate.clone(); - offsetDate = intervalOp(offsetDate, interval); + offsetDate = addInterval(offsetDate, interval); } if (offsetDate.isSame(startDate)) { @@ -192,7 +178,13 @@ export const BUILD_RANGE_START_LOCAL = '__BUILD_RANGE_START_LOCAL'; export const BUILD_RANGE_END_LOCAL = '__BUILD_RANGE_END_LOCAL'; -export const inDbTimeZone = (timezone: string, timestampFormat: string, timestamp: string): string => { +/** + * Takes timestamp, treat it as time in provided timezone and returns the corresponding timestamp in UTC + */ +export const localTimestampToUtc = (timezone: string, timestampFormat: string, timestamp?: string): string | null => { + if (!timestamp) { + return null; + } if (timestamp.length === 23 || timestamp.length === 26) { const zone = moment.tz.zone(timezone); if (!zone) { @@ -217,8 +209,14 @@ export const inDbTimeZone = (timezone: string, timestampFormat: string, timestam } else if (timestampFormat === 'YYYY-MM-DDTHH:mm:ss.SSS') { return inDbTimeZoneDate.toJSON().replace('Z', ''); } else if (timestampFormat === 'YYYY-MM-DDTHH:mm:ss.SSSSSS') { + const value = inDbTimeZoneDate.toJSON(); + if (value.endsWith('999Z')) { + // emulate microseconds + return value.replace('Z', '999'); + } + // emulate microseconds - return inDbTimeZoneDate.toJSON().replace('Z', '000'); + return value.replace('Z', '000'); } } @@ -227,7 +225,13 @@ export const inDbTimeZone = (timezone: string, timestampFormat: string, timestam return moment.tz(timestamp, timezone).utc().format(timestampFormat); }; -export const utcToLocalTimeZone = (timezone: string, timestampFormat: string, timestamp: string): string => { +/** + * Takes timestamp in UTC, shift it into provided timezone and returns the corresponding timestamp in UTC + */ +export const utcToLocalTimeZone = (timezone: string, timestampFormat: string, timestamp?: string): string | null => { + if (!timestamp) { + return null; + } if (timestamp.length === 23) { const zone = moment.tz.zone(timezone); if (!zone) { @@ -247,16 +251,45 @@ export const utcToLocalTimeZone = (timezone: string, timestampFormat: string, ti return moment.tz(timestamp, 'UTC').tz(timezone).format(timestampFormat); }; -export const extractDate = (data: any): string | null => { +export const parseLocalDate = (data: any, timezone: string, timestampFormat: string = 'YYYY-MM-DDTHH:mm:ss.SSS'): string | null => { if (!data) { return null; } data = JSON.parse(JSON.stringify(data)); const value = data[0] && data[0][Object.keys(data[0])[0]]; if (!value) { - return value; + return null; + } + + const zone = moment.tz.zone(timezone); + if (!zone) { + throw new Error(`Unknown timezone: ${timezone}`); + } + + // Most common formats + const formats = [ + moment.ISO_8601, + 'YYYY-MM-DD HH:mm:ss', + 'YYYY-MM-DD HH:mm:ss.SSS', + 'YYYY-MM-DDTHH:mm:ss.SSS', + 'YYYY-MM-DDTHH:mm:ss' + ]; + + let parsedMoment; + + if (value.includes('Z') || /([+-]\d{2}:?\d{2})$/.test(value.trim())) { + // We have timezone info + parsedMoment = moment(value, formats, true); + } else { + // If no tz info - use provided timezone + parsedMoment = moment.tz(value, formats, true, timezone); } - return moment.tz(value, 'UTC').utc().format(moment.HTML5_FMT.DATETIME_LOCAL_MS); + + if (!parsedMoment.isValid()) { + return null; + } + + return parsedMoment.tz(timezone).format(timestampFormat); }; export const addSecondsToLocalTimestamp = (timestamp: string, timezone: string, seconds: number): Date => { diff --git a/packages/cubejs-backend-shared/test/time.test.ts b/packages/cubejs-backend-shared/test/time.test.ts index ec300db67..4b90b45bc 100644 --- a/packages/cubejs-backend-shared/test/time.test.ts +++ b/packages/cubejs-backend-shared/test/time.test.ts @@ -1,7 +1,16 @@ import moment from 'moment-timezone'; -import { inDbTimeZone, timeSeries, isPredefinedGranularity, timeSeriesFromCustomInterval } from '../src'; +import { + localTimestampToUtc, + timeSeries, + isPredefinedGranularity, + timeSeriesFromCustomInterval, + parseLocalDate, + utcToLocalTimeZone, + addSecondsToLocalTimestamp, + reformatInIsoLocal, +} from '../src'; -describe('time', () => { +describe('timeSeries', () => { it('time series - day', () => { expect(timeSeries('day', ['2021-01-01', '2021-01-02'])).toEqual([ ['2021-01-01T00:00:00.000', '2021-01-01T23:59:59.999'], @@ -14,6 +23,59 @@ describe('time', () => { ]); }); + it('time series - month', () => { + expect(timeSeries('month', ['2021-01-01', '2021-06-01'])).toEqual([ + ['2021-01-01T00:00:00.000', '2021-01-31T23:59:59.999'], + ['2021-02-01T00:00:00.000', '2021-02-28T23:59:59.999'], + ['2021-03-01T00:00:00.000', '2021-03-31T23:59:59.999'], + ['2021-04-01T00:00:00.000', '2021-04-30T23:59:59.999'], + ['2021-05-01T00:00:00.000', '2021-05-31T23:59:59.999'], + ['2021-06-01T00:00:00.000', '2021-06-30T23:59:59.999'], + ]); + }); + + it('time series - year', () => { + expect(timeSeries('year', ['2019-01-01', '2021-12-31'])).toEqual([ + ['2019-01-01T00:00:00.000', '2019-12-31T23:59:59.999'], + ['2020-01-01T00:00:00.000', '2020-12-31T23:59:59.999'], + ['2021-01-01T00:00:00.000', '2021-12-31T23:59:59.999'], + ]); + }); + + it('time series - hour', () => { + expect(timeSeries('hour', ['2021-01-01T10:00:00', '2021-01-01T12:00:00'])).toEqual([ + ['2021-01-01T10:00:00.000', '2021-01-01T10:59:59.999'], + ['2021-01-01T11:00:00.000', '2021-01-01T11:59:59.999'], + ['2021-01-01T12:00:00.000', '2021-01-01T12:59:59.999'], + ]); + }); + + it('time series - minute', () => { + expect(timeSeries('minute', ['2021-01-01T10:00:00', '2021-01-01T10:02:00'])).toEqual([ + ['2021-01-01T10:00:00.000', '2021-01-01T10:00:59.999'], + ['2021-01-01T10:01:00.000', '2021-01-01T10:01:59.999'], + ['2021-01-01T10:02:00.000', '2021-01-01T10:02:59.999'], + ]); + }); + + it('time series - second', () => { + expect(timeSeries('second', ['2021-01-01T10:00:00', '2021-01-01T10:00:02'])).toEqual([ + ['2021-01-01T10:00:00.000', '2021-01-01T10:00:00.999'], + ['2021-01-01T10:00:01.000', '2021-01-01T10:00:01.999'], + ['2021-01-01T10:00:02.000', '2021-01-01T10:00:02.999'], + ]); + }); + + it('time series - week', () => { + expect(timeSeries('week', ['2021-01-01', '2021-01-31'])).toEqual([ + ['2020-12-28T00:00:00.000', '2021-01-03T23:59:59.999'], + ['2021-01-04T00:00:00.000', '2021-01-10T23:59:59.999'], + ['2021-01-11T00:00:00.000', '2021-01-17T23:59:59.999'], + ['2021-01-18T00:00:00.000', '2021-01-24T23:59:59.999'], + ['2021-01-25T00:00:00.000', '2021-01-31T23:59:59.999'], + ]); + }); + it('time series - quarter', () => { expect(timeSeries('quarter', ['2021-01-01', '2021-12-31'])).toEqual([ ['2021-01-01T00:00:00.000', '2021-03-31T23:59:59.999'], @@ -30,6 +92,18 @@ describe('time', () => { ]); }); + it('should throw an error for unsupported granularity', () => { + expect(() => timeSeries('decade', ['2020-01-01', '2030-01-01'])).toThrowError( + 'Unsupported time granularity: decade' + ); + }); + + it('should throw an error if timestampPrecision is missing', () => { + expect(() => timeSeries('day', ['2021-01-01', '2021-01-02'], { timestampPrecision: 0 })).toThrowError( + 'options.timestampPrecision is required, actual: 0' + ); + }); + it('time series - reach limits', () => { expect(() => { timeSeries('second', ['1970-01-01', '2021-01-02']); @@ -177,19 +251,281 @@ describe('time', () => { timeSeriesFromCustomInterval('10 minutes 15 seconds', ['1970-01-01', '2021-01-02'], moment('2021-02-01 09:59:45')); }).toThrowError(/The count of generated date ranges.*for the request.*is over limit/); }); +}); - it('inDbTimeZone', () => { - expect(inDbTimeZone('UTC', 'YYYY-MM-DD[T]HH:mm:ss.SSSSSS[Z]', '2020-01-01T00:00:00.000000')).toEqual( - '2020-01-01T00:00:00.000000Z' - ); - - expect(inDbTimeZone('UTC', 'YYYY-MM-DD[T]HH:mm:ss.SSSSSS[Z]', '2020-01-31T23:59:59.999999')).toEqual( - '2020-01-31T23:59:59.999999Z' - ); - }); - +describe('predefinedGranularity', () => { it('isPredefinedGranularity', () => { expect(isPredefinedGranularity('day')).toBeTruthy(); expect(isPredefinedGranularity('fiscal_year_by_1st_feb')).toBeFalsy(); }); }); + +describe('extractDate', () => { + const timezone = 'Europe/Kiev'; + + it('should return null if data is empty', () => { + expect(parseLocalDate(null, timezone)).toBeNull(); + expect(parseLocalDate(undefined, timezone)).toBeNull(); + expect(parseLocalDate([], timezone)).toBeNull(); + expect(parseLocalDate('', timezone)).toBeNull(); + }); + + it('should return null if no valid date is found in data', () => { + expect(parseLocalDate([{}], timezone)).toBeNull(); + expect(parseLocalDate([{ someKey: 'invalid date' }], timezone)).toBeNull(); + }); + + it('should throw an error for unknown timezone', () => { + const input = [{ date: '2025-02-28T12:00:00+03:00' }]; + expect(() => parseLocalDate(input, 'Invalid/Timezone')) + .toThrowError('Unknown timezone: Invalid/Timezone'); + }); + + it('should parse a date with UTC timezone', () => { + const input = [{ date: '2025-02-28T12:00:00Z' }]; + const result = parseLocalDate(input, timezone); + expect(result).toBe('2025-02-28T14:00:00.000'); + }); + + it('should parse a date with an offset timezone', () => { + const input = [{ date: '2025-02-28T12:00:00+03:00' }]; + const result = parseLocalDate(input, timezone); + expect(result).toBe('2025-02-28T11:00:00.000'); + }); + + it('should parse a date without timezone as UTC', () => { + const input = [{ date: '2025-02-28 12:00:00' }]; + const result = parseLocalDate(input, timezone); + expect(result).toBe('2025-02-28T12:00:00.000'); + }); + + it('should handle multiple formats', () => { + const input1 = [{ date: '2025-02-28 12:00:00' }]; + const input2 = [{ date: '2025-02-28T12:00:00.000' }]; + const input3 = [{ date: '2025-02-28T12:00:00Z' }]; + const input4 = [{ date: '2025-02-28T12:00:00+03:00' }]; + + expect(parseLocalDate(input1, timezone)).toBe('2025-02-28T12:00:00.000'); + expect(parseLocalDate(input2, timezone)).toBe('2025-02-28T12:00:00.000'); + expect(parseLocalDate(input3, timezone)).toBe('2025-02-28T14:00:00.000'); + expect(parseLocalDate(input4, timezone)).toBe('2025-02-28T11:00:00.000'); + }); +}); + +describe('localTimestampToUtc', () => { + it('should return null if timestamp is empty', () => { + expect(localTimestampToUtc('UTC', 'YYYY-MM-DDTHH:mm:ss.SSS', '')).toBeNull(); + expect(localTimestampToUtc('UTC', 'YYYY-MM-DDTHH:mm:ss.SSS')).toBeNull(); + }); + + it('should throw an error for unknown timezone', () => { + expect(() => localTimestampToUtc('Invalid/Timezone', 'YYYY-MM-DDTHH:mm:ss.SSS', '2025-02-28T12:00:00.000')) + .toThrowError('Unknown timezone: Invalid/Timezone'); + }); + + it('should convert timestamp with timezone to UTC for format YYYY-MM-DD[T]HH:mm:ss.SSS[Z]', () => { + const timestamp = '2025-02-28T11:00:00.000'; + const timezone = 'Europe/Kiev'; + const result = localTimestampToUtc(timezone, 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]', timestamp); + expect(result).toBe('2025-02-28T09:00:00.000Z'); + }); + + it('should convert timestamp with timezone to UTC for format YYYY-MM-DDTHH:mm:ss.SSSZ', () => { + const timestamp = '2025-02-28T11:00:00.000'; + const timezone = 'Europe/Kiev'; + const result = localTimestampToUtc(timezone, 'YYYY-MM-DDTHH:mm:ss.SSSZ', timestamp); + expect(result).toBe('2025-02-28T09:00:00.000Z'); + }); + + it('should convert timestamp with microseconds to UTC for format YYYY-MM-DD[T]HH:mm:ss.SSSSSS[Z]', () => { + const timezone = 'Europe/Kiev'; + let timestamp = '2025-02-28T11:00:00.123456'; + let result = localTimestampToUtc(timezone, 'YYYY-MM-DD[T]HH:mm:ss.SSSSSS[Z]', timestamp); + expect(result).toBe('2025-02-28T09:00:00.123000Z'); // microseconds are zeroed :( + + timestamp = '2025-02-28T11:00:00.000000'; + result = localTimestampToUtc(timezone, 'YYYY-MM-DD[T]HH:mm:ss.SSSSSS[Z]', timestamp); + expect(result).toBe('2025-02-28T09:00:00.000000Z'); // microseconds are zeroed :( + + timestamp = '2025-02-28T11:00:00.999999'; + result = localTimestampToUtc(timezone, 'YYYY-MM-DD[T]HH:mm:ss.SSSSSS[Z]', timestamp); + expect(result).toBe('2025-02-28T09:00:00.999999Z'); // microseconds are zeroed :( + }); + + it('should convert timestamp with timezone to UTC for format YYYY-MM-DDTHH:mm:ss.SSSSSS', () => { + const timezone = 'Europe/Kiev'; + let timestamp = '2025-02-28T11:00:00.123456'; + let result = localTimestampToUtc(timezone, 'YYYY-MM-DDTHH:mm:ss.SSSSSS', timestamp); + expect(result).toBe('2025-02-28T09:00:00.123000'); + + timestamp = '2025-02-28T11:00:00.000000'; + result = localTimestampToUtc(timezone, 'YYYY-MM-DDTHH:mm:ss.SSSSSS', timestamp); + expect(result).toBe('2025-02-28T09:00:00.000000'); + + timestamp = '2025-02-28T11:00:00.999999'; + result = localTimestampToUtc(timezone, 'YYYY-MM-DDTHH:mm:ss.SSSSSS', timestamp); + expect(result).toBe('2025-02-28T09:00:00.999999'); + }); + + it('should convert timestamp without timezone to UTC for format YYYY-MM-DDTHH:mm:ss.SSS', () => { + const timestamp = '2025-02-28T12:00:00.000'; + const timezone = 'UTC'; + const result = localTimestampToUtc(timezone, 'YYYY-MM-DDTHH:mm:ss.SSS', timestamp); + expect(result).toBe('2025-02-28T12:00:00.000'); // UTC + }); + + it('should correctly handle timestamp without time zone', () => { + const timestamp = '2025-02-28T12:00:00.000'; + const timezone = 'America/New_York'; + const result = localTimestampToUtc(timezone, 'YYYY-MM-DDTHH:mm:ss.SSS', timestamp); + expect(result).toBe('2025-02-28T17:00:00.000'); // America/New_York is UTC-5 during daylight saving time + }); +}); + +describe('utcToLocalTimeZone', () => { + it('should return null if no timestamp is provided', () => { + expect(utcToLocalTimeZone('Europe/Kiev', 'YYYY-MM-DDTHH:mm:ss.SSS', undefined)).toBeNull(); + }); + + it('should throw an error for an unknown timezone', () => { + expect(() => utcToLocalTimeZone('Unknown/Zone', 'YYYY-MM-DDTHH:mm:ss.SSS', '2025-02-28T10:00:00.000')) + .toThrow('Unknown timezone: Unknown/Zone'); + }); + + it('should convert UTC to specified timezone with timestamp format "YYYY-MM-DDTHH:mm:ss.SSS"', () => { + const timestamp = '2025-02-28T10:00:00.000'; + const expected = '2025-02-28T12:00:00.000'; + + expect(utcToLocalTimeZone('Europe/Kiev', 'YYYY-MM-DDTHH:mm:ss.SSS', timestamp)).toBe(expected); + }); + + it('should convert UTC to specified timezone with timestamp format "YYYY-MM-DD[T]HH:mm:ss.SSS[Z]"', () => { + const timestamp = '2025-02-28T10:00:00.000'; + const expected = '2025-02-28T12:00:00.000Z'; + + expect(utcToLocalTimeZone('Europe/Kiev', 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]', timestamp)).toBe(expected); + }); + + it('should handle timestamps with microseconds correctly', () => { + const timestamp = '2025-02-28T10:00:00.123456Z'; + const expected = '2025-02-28T12:00:00.123000'; // microseconds are zeroed + + expect(utcToLocalTimeZone('Europe/Kiev', 'YYYY-MM-DDTHH:mm:ss.SSSSSS', timestamp)).toBe(expected); + }); + + it('should handle UTC timestamp and correctly shift to target timezone', () => { + const timestamp = '2025-02-28T12:00:00.000Z'; + const expected = '2025-02-28T14:00:00.000'; + + expect(utcToLocalTimeZone('Europe/Kiev', 'YYYY-MM-DDTHH:mm:ss.SSS', timestamp)).toBe(expected); + }); + + it('should correctly handle UTC to timezone conversion with timestamp format without milliseconds', () => { + const timestamp = '2025-02-28T10:00:00Z'; + const expected = '2025-02-28T12:00:00'; + + expect(utcToLocalTimeZone('Europe/Kiev', 'YYYY-MM-DDTHH:mm:ss', timestamp)).toBe(expected); + }); + + it('should return the local time as UTC format if no milliseconds are present', () => { + const timestamp = '2025-02-28T10:00:00Z'; + const expected = '2025-02-28T12:00:00.000Z'; + + expect(utcToLocalTimeZone('Europe/Kiev', 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]', timestamp)).toBe(expected); + }); +}); + +describe('addSecondsToLocalTimestamp', () => { + it('should throw an error for an unknown timezone', () => { + const timestamp = '2025-02-28T12:00:00.000'; + const unknownTimezone = 'Unknown/Zone'; + const seconds = 10; + + expect(() => addSecondsToLocalTimestamp(timestamp, unknownTimezone, seconds)) + .toThrow('Unknown timezone: Unknown/Zone'); + }); + + it('should correctly add seconds to a timestamp in the specified timezone', () => { + const timestamp = '2025-02-28T12:00:00.000'; + const timezone = 'Europe/Kiev'; + const seconds = 10; + const expected = new Date('2025-02-28T12:00:10.000+0200'); + + expect(addSecondsToLocalTimestamp(timestamp, timezone, seconds)).toEqual(expected); + }); + + it('should correctly add seconds to a timestamp with UTC timezone', () => { + const timestamp = '2025-02-28T12:00:00.000Z'; + const timezone = 'Europe/Kiev'; + const seconds = 60; + const expected = new Date('2025-02-28T14:01:00.000+0200'); + + expect(addSecondsToLocalTimestamp(timestamp, timezone, seconds)).toEqual(expected); + }); + + it('should correctly add seconds to a timestamp without milliseconds', () => { + const timestamp = '2025-02-28T12:00:00'; + const timezone = 'Europe/Kiev'; + const seconds = 30; + const expected = new Date('2025-02-28T12:00:30.000+0200'); + + expect(addSecondsToLocalTimestamp(timestamp, timezone, seconds)).toEqual(expected); + }); + + it('should correctly handle timestamp with microseconds and add seconds', () => { + const timestamp = '2025-02-28T12:00:00.123456Z'; + const timezone = 'Europe/Kiev'; + const seconds = 60; + const expected = new Date('2025-02-28T14:01:00.123456+0200'); + + expect(addSecondsToLocalTimestamp(timestamp, timezone, seconds)).toEqual(expected); + }); + + it('should correctly add seconds to timestamp with long format', () => { + const timestamp = '2025-02-28T12:00:00.000'; + const timezone = 'Europe/Kiev'; + const seconds = 100; + const expected = new Date('2025-02-28T12:01:40.000+0200'); + + expect(addSecondsToLocalTimestamp(timestamp, timezone, seconds)).toEqual(expected); + }); + + it('should return the same time if seconds to add is 0', () => { + const timestamp = '2025-02-28T12:00:00.000'; + const timezone = 'Europe/Kiev'; + const seconds = 0; + const expected = new Date('2025-02-28T12:00:00.000+0200'); + + expect(addSecondsToLocalTimestamp(timestamp, timezone, seconds)).toEqual(expected); + }); +}); + +describe('reformatInIsoLocal', () => { + it('should return the same timestamp if its length is 23 characters', () => { + const timestamp = '2025-02-28T12:00:00.000'; + const expected = '2025-02-28T12:00:00.000'; + + expect(reformatInIsoLocal(timestamp)).toBe(expected); + }); + + it('should return timestamp without the "Z" if its length is 24 characters', () => { + const timestamp = '2025-02-28T12:00:00.000Z'; + const expected = '2025-02-28T12:00:00.000'; + + expect(reformatInIsoLocal(timestamp)).toBe(expected); + }); + + it('should reformat timestamp in UTC to ISO 8601 local format', () => { + const timestamp = '2025-02-28T12:00:00'; + const expected = '2025-02-28T12:00:00.000'; + + expect(reformatInIsoLocal(timestamp)).toBe(expected); + }); + + it('should return the same timestamp if it is an empty string', () => { + const timestamp = ''; + const expected = ''; + + expect(reformatInIsoLocal(timestamp)).toBe(expected); + }); +}); diff --git a/packages/cubejs-base-driver/src/driver.interface.ts b/packages/cubejs-base-driver/src/driver.interface.ts index cbcbad24d..8f6b44181 100644 --- a/packages/cubejs-base-driver/src/driver.interface.ts +++ b/packages/cubejs-base-driver/src/driver.interface.ts @@ -37,7 +37,7 @@ export interface InlineTable { } export type InlineTables = InlineTable[]; -// It's more easy to use this interface with optional method release as a base interface instead of type assertion +// It's easier to use this interface with optional method release as a base interface instead of type assertion export interface DownloadTableBase { /** * Optional function to release stream/cursor/connection diff --git a/packages/cubejs-cubestore-driver/src/CubeStoreDriver.ts b/packages/cubejs-cubestore-driver/src/CubeStoreDriver.ts index a38e4e3cf..2a981dcec 100644 --- a/packages/cubejs-cubestore-driver/src/CubeStoreDriver.ts +++ b/packages/cubejs-cubestore-driver/src/CubeStoreDriver.ts @@ -199,7 +199,7 @@ export class CubeStoreDriver extends BaseDriver implements DriverInterface { public toColumnValue(value: any, genericType: any) { if (genericType === 'timestamp' && typeof value === 'string') { - return value && value.replace('Z', ''); + return value?.replace('Z', ''); } if (genericType === 'boolean' && typeof value === 'string') { if (value.toLowerCase() === 'true') { @@ -216,14 +216,14 @@ export class CubeStoreDriver extends BaseDriver implements DriverInterface { const createTableIndexes = externalOptions?.createTableIndexes; const aggregationsColumns = externalOptions?.aggregationsColumns; - const indexes = createTableIndexes && createTableIndexes.length ? createTableIndexes.map(this.createIndexString).join(' ') : ''; + const indexes = createTableIndexes?.length ? createTableIndexes.map(this.createIndexString).join(' ') : ''; let hasAggregatingIndexes = false; - if (createTableIndexes && createTableIndexes.length) { + if (createTableIndexes?.length) { hasAggregatingIndexes = createTableIndexes.some((index) => index.type === 'aggregate'); } - const aggregations = hasAggregatingIndexes && aggregationsColumns && aggregationsColumns.length ? ` AGGREGATIONS (${aggregationsColumns.join(', ')})` : ''; + const aggregations = hasAggregatingIndexes && aggregationsColumns?.length ? ` AGGREGATIONS (${aggregationsColumns.join(', ')})` : ''; if (tableData.rowStream) { await this.importStream(columns, tableData, table, indexes, aggregations, queryTracingObj); @@ -428,7 +428,7 @@ export class CubeStoreDriver extends BaseDriver implements DriverInterface { locations.push(`stream://${tableData.streamingSource.name}/${tableData.streamingTable}/${i}`); } } - + const options: CreateTableOptions = { buildRangeEnd: queryTracingObj?.buildRangeEnd, uniqueKey: uniqueKeyColumns.join(','), diff --git a/packages/cubejs-query-orchestrator/src/orchestrator/PreAggregationLoadCache.ts b/packages/cubejs-query-orchestrator/src/orchestrator/PreAggregationLoadCache.ts index 5a11b9569..08f77c79b 100644 --- a/packages/cubejs-query-orchestrator/src/orchestrator/PreAggregationLoadCache.ts +++ b/packages/cubejs-query-orchestrator/src/orchestrator/PreAggregationLoadCache.ts @@ -19,9 +19,9 @@ type PreAggregationLoadCacheOptions = { export class PreAggregationLoadCache { private readonly driverFactory: DriverFactory; - private queryCache: QueryCache; + private readonly queryCache: QueryCache; - private preAggregations: PreAggregations; + private readonly preAggregations: PreAggregations; private readonly queryResults: any; @@ -179,7 +179,7 @@ export class PreAggregationLoadCache { throw new Error(`Load cache tries to load table ${preAggregation.tableName} outside of tablePrefixes filter: ${this.tablePrefixes.join(', ')}`); } const redisKey = this.tablesCachePrefixKey(preAggregation); - if (!this.versionEntries[redisKey]) { + if (!(await this.versionEntries[redisKey])) { this.versionEntries[redisKey] = this.calculateVersionEntries(preAggregation).catch(e => { delete this.versionEntries[redisKey]; throw e; diff --git a/packages/cubejs-query-orchestrator/src/orchestrator/PreAggregationLoader.ts b/packages/cubejs-query-orchestrator/src/orchestrator/PreAggregationLoader.ts index 716f5ba2b..5de44242d 100644 --- a/packages/cubejs-query-orchestrator/src/orchestrator/PreAggregationLoader.ts +++ b/packages/cubejs-query-orchestrator/src/orchestrator/PreAggregationLoader.ts @@ -12,7 +12,7 @@ import { UnloadOptions } from '@cubejs-backend/base-driver'; import { DriverFactory } from './DriverFactory'; -import { QueryCache, QueryTuple } from './QueryCache'; +import { PreAggTableToTempTableNames, QueryCache, QueryTuple } from './QueryCache'; import { ContinueWaitError } from './ContinueWaitError'; import { LargeStreamWarning } from './StreamObjectsCounter'; import { @@ -20,6 +20,7 @@ import { InvalidationKeys, LoadPreAggregationResult, PreAggregations, + PreAggregationTableToTempTable, tablesToVersionEntries, version, VersionEntriesObj, @@ -51,7 +52,7 @@ export class PreAggregationLoader { public preAggregation: any; - private preAggregationsTablesToTempTables: any; + private readonly preAggregationsTablesToTempTables: PreAggregationTableToTempTable[]; /** * Determines whether current instance instantiated for a jobbed build query @@ -82,7 +83,7 @@ export class PreAggregationLoader { private readonly queryCache: QueryCache, preAggregations: PreAggregations, preAggregation, - preAggregationsTablesToTempTables, + preAggregationsTablesToTempTables: PreAggregationTableToTempTable[], private readonly loadCache: PreAggregationLoadCache, options: any = {} ) { @@ -922,7 +923,7 @@ export class PreAggregationLoader { await this.dropOrphanedTables(externalDriver, table, saveCancelFn, true, queryOptions); } - protected async createIndexes(driver, newVersionEntry: VersionEntry, saveCancelFn: SaveCancelFn, queryOptions: QueryOptions) { + protected async createIndexes(driver: DriverInterface, newVersionEntry: VersionEntry, saveCancelFn: SaveCancelFn, queryOptions: QueryOptions) { const indexesSql = this.prepareIndexesSql(newVersionEntry, queryOptions); for (let i = 0; i < indexesSql.length; i++) { const [query, params] = indexesSql[i].sql; @@ -941,9 +942,10 @@ export class PreAggregationLoader { table_name: indexName }; this.logger('Creating pre-aggregation index', queryOptions); + const preAggTableToTempTableNames = this.preAggregationsTablesToTempTables as PreAggTableToTempTableNames[]; const resultingSql = QueryCache.replacePreAggregationTableNames( query, - this.preAggregationsTablesToTempTables.concat([ + preAggTableToTempTableNames.concat([ [this.preAggregation.tableName, { targetTableName: this.targetTableName(newVersionEntry) }], [indexName, { targetTableName: this.targetTableName(indexVersionEntry) }] ]) diff --git a/packages/cubejs-query-orchestrator/src/orchestrator/PreAggregationPartitionRangeLoader.ts b/packages/cubejs-query-orchestrator/src/orchestrator/PreAggregationPartitionRangeLoader.ts index 23af06680..b8019ff18 100644 --- a/packages/cubejs-query-orchestrator/src/orchestrator/PreAggregationPartitionRangeLoader.ts +++ b/packages/cubejs-query-orchestrator/src/orchestrator/PreAggregationPartitionRangeLoader.ts @@ -8,8 +8,8 @@ import { reformatInIsoLocal, utcToLocalTimeZone, timeSeries, - inDbTimeZone, - extractDate + localTimestampToUtc, + parseLocalDate, } from '@cubejs-backend/shared'; import { InlineTable, TableStructure } from '@cubejs-backend/base-driver'; import { DriverFactory } from './DriverFactory'; @@ -22,11 +22,14 @@ import { PartitionRanges, PreAggregationDescription, PreAggregations, + PreAggregationTableToTempTable, QueryDateRange } from './PreAggregations'; import { PreAggregationLoader } from './PreAggregationLoader'; import { PreAggregationLoadCache } from './PreAggregationLoadCache'; +const DEFAULT_TS_FORMAT = 'YYYY-MM-DDTHH:mm:ss.SSS'; + interface PreAggsPartitionRangeLoaderOpts { maxPartitions: number; maxSourceRowLimit: number; @@ -63,10 +66,9 @@ export class PreAggregationPartitionRangeLoader { private readonly driverFactory: DriverFactory, private readonly logger: any, private readonly queryCache: QueryCache, - // eslint-disable-next-line no-use-before-define private readonly preAggregations: PreAggregations, private readonly preAggregation: PreAggregationDescription, - private readonly preAggregationsTablesToTempTables: [string, LoadPreAggregationResult][], + private readonly preAggregationsTablesToTempTables: PreAggregationTableToTempTable[], private readonly loadCache: PreAggregationLoadCache, private readonly options: PreAggsPartitionRangeLoaderOpts = { maxPartitions: 10000, @@ -84,8 +86,7 @@ export class PreAggregationPartitionRangeLoader { private async loadRangeQuery(rangeQuery: QueryTuple, partitionRange?: QueryDateRange) { const [query, values, queryOptions]: QueryTuple = rangeQuery; const invalidate = - this.preAggregation.invalidateKeyQueries && - this.preAggregation.invalidateKeyQueries[0] + this.preAggregation.invalidateKeyQueries?.[0] ? this.preAggregation.invalidateKeyQueries[0].slice(0, 2) : false; @@ -128,18 +129,18 @@ export class PreAggregationPartitionRangeLoader { } protected priority(defaultValue) { - return this.preAggregation.priority != null ? this.preAggregation.priority : defaultValue; + return this.preAggregation.priority ?? defaultValue; } public async replaceQueryBuildRangeParams(queryValues: string[]): Promise { - if (queryValues?.find(p => p === BUILD_RANGE_START_LOCAL || p === BUILD_RANGE_END_LOCAL)) { - const [buildRangeStart, buildRangeEnd] = await this.loadBuildRange(); + if (queryValues.find(p => p === BUILD_RANGE_START_LOCAL || p === BUILD_RANGE_END_LOCAL)) { + const [buildRangeStart, buildRangeEnd] = await this.loadBuildRange(this.preAggregation.timestampFormat); return queryValues?.map( param => { if (param === BUILD_RANGE_START_LOCAL) { - return utcToLocalTimeZone(this.preAggregation.timezone, this.preAggregation.timestampFormat, buildRangeStart); + return buildRangeStart; } else if (param === BUILD_RANGE_END_LOCAL) { - return utcToLocalTimeZone(this.preAggregation.timezone, this.preAggregation.timestampFormat, buildRangeEnd); + return buildRangeEnd; } else { return param; } @@ -161,9 +162,10 @@ export class PreAggregationPartitionRangeLoader { return [sql.replace(this.preAggregation.tableName, partitionTableName), params?.map( param => { if (dateRange && param === FROM_PARTITION_RANGE) { - return PreAggregationPartitionRangeLoader.inDbTimeZone(this.preAggregation, dateRange[0]); + // Timestamp is in local timezone, so we need to convert to utc with desired format + return localTimestampToUtc(this.preAggregation.timezone, this.preAggregation.timestampFormat, dateRange[0]); } else if (dateRange && param === TO_PARTITION_RANGE) { - return PreAggregationPartitionRangeLoader.inDbTimeZone(this.preAggregation, dateRange[1]); + return localTimestampToUtc(this.preAggregation.timezone, this.preAggregation.timestampFormat, dateRange[1]); } else { return param; } @@ -207,8 +209,7 @@ export class PreAggregationPartitionRangeLoader { this.replacePartitionSqlAndParams(this.preAggregation.sql, loadRange, partitionTableName), invalidateKeyQueries: (this.preAggregation.invalidateKeyQueries || []) .map(q => this.replacePartitionSqlAndParams(q, range, partitionTableName)), - partitionInvalidateKeyQueries: this.preAggregation.partitionInvalidateKeyQueries && - this.preAggregation.partitionInvalidateKeyQueries.map(q => this.replacePartitionSqlAndParams(q, range, partitionTableName)), + partitionInvalidateKeyQueries: this.preAggregation.partitionInvalidateKeyQueries?.map(q => this.replacePartitionSqlAndParams(q, range, partitionTableName)), indexesSql: (this.preAggregation.indexesSql || []) .map(q => ({ ...q, sql: this.replacePartitionSqlAndParams(q.sql, range, partitionTableName) })), previewSql: this.preAggregation.previewSql && @@ -246,7 +247,7 @@ export class PreAggregationPartitionRangeLoader { let loadResultAndLoaders = await loadPreAggregationsByPartitionRanges(await this.partitionRanges()); if (this.options.externalRefresh && loadResultAndLoaders.loadResults.length === 0) { loadResultAndLoaders = await loadPreAggregationsByPartitionRanges(await this.partitionRanges(true)); - // In case there're no partitions ready at matched time dimension intersection then no data can be retrieved. + // In case there are no partitions ready at matched time dimension intersection then no data can be retrieved. // We need to provide any table so query can just execute successfully. if (loadResultAndLoaders.loadResults.length > 0) { loadResultAndLoaders.loadResults = [loadResultAndLoaders.loadResults[loadResultAndLoaders.loadResults.length - 1]]; @@ -368,41 +369,52 @@ export class PreAggregationPartitionRangeLoader { private async partitionRanges(ignoreMatchedDateRange?: boolean): Promise { const buildRange = await this.loadBuildRange(); - if (!buildRange[0] || !buildRange[1]) { - return { buildRange, partitionRanges: [] }; - } + + // buildRange was localized in loadBuildRange() + // preAggregation.matchedTimeDimensionDateRange is also localized + // in BaseFilter->formatToDate()/formatFromDate() let dateRange = PreAggregationPartitionRangeLoader.intersectDateRanges( buildRange, ignoreMatchedDateRange ? undefined : this.preAggregation.matchedTimeDimensionDateRange, ); + if (!dateRange) { // If there's no date range intersection between query data range and pre-aggregation build range // use last partition so outer query can receive expected table structure. dateRange = [buildRange[1], buildRange[1]]; } - const partitionRanges = this.compilerCacheFn(['timeSeries', this.preAggregation.partitionGranularity, JSON.stringify(dateRange), `${this.preAggregation.timestampPrecision}`], () => PreAggregationPartitionRangeLoader.timeSeries( - this.preAggregation.partitionGranularity, - dateRange, - this.preAggregation.timestampPrecision - )); + + const partitionRanges = this.compilerCacheFn( + ['timeSeries', this.preAggregation.partitionGranularity, JSON.stringify(dateRange), `${this.preAggregation.timestampPrecision}`], + () => PreAggregationPartitionRangeLoader.timeSeries( + this.preAggregation.partitionGranularity, + dateRange, + this.preAggregation.timestampPrecision + ) + ); + if (partitionRanges.length > this.options.maxPartitions) { throw new Error( `Pre-aggregation '${this.preAggregation.tableName}' requested to build ${partitionRanges.length} partitions which exceeds the maximum number of partitions per pre-aggregation of ${this.options.maxPartitions}` ); } + return { buildRange: dateRange, partitionRanges }; } - public async loadBuildRange(): Promise { + public async loadBuildRange(timestampFormat: string = DEFAULT_TS_FORMAT): Promise { const { preAggregationStartEndQueries } = this.preAggregation; const [startDate, endDate] = await Promise.all( preAggregationStartEndQueries.map( - async rangeQuery => PreAggregationPartitionRangeLoader.extractDate(await this.loadRangeQuery(rangeQuery)), + async rangeQuery => PreAggregationPartitionRangeLoader.extractDate(await this.loadRangeQuery(rangeQuery), this.preAggregation.timezone, timestampFormat), ), ); + if (!this.preAggregation.partitionGranularity) { return this.orNowIfEmpty([startDate, endDate]); } + + // startDate & endDate are `localized` here const wholeSeriesRanges = PreAggregationPartitionRangeLoader.timeSeries( this.preAggregation.partitionGranularity, this.orNowIfEmpty([startDate, endDate]), @@ -414,6 +426,8 @@ export class PreAggregationPartitionRangeLoader { await this.loadRangeQuery( rangeQuery, i === 0 ? wholeSeriesRanges[0] : wholeSeriesRanges[wholeSeriesRanges.length - 1], ), + this.preAggregation.timezone, + timestampFormat, ), ), ); @@ -421,7 +435,7 @@ export class PreAggregationPartitionRangeLoader { } private now() { - return utcToLocalTimeZone(this.preAggregation.timezone, 'YYYY-MM-DDTHH:mm:ss.SSS', new Date().toJSON().substring(0, 23)); + return utcToLocalTimeZone(this.preAggregation.timezone, DEFAULT_TS_FORMAT, new Date().toJSON().substring(0, 23)); } private orNowIfEmpty(dateRange: QueryDateRange): QueryDateRange { @@ -452,11 +466,11 @@ export class PreAggregationPartitionRangeLoader { } if ((range[0].length !== 23 && range[0].length !== 26) || (range[1].length !== 23 && range[0].length !== 26)) { - throw new Error(`Date range expected to be in YYYY-MM-DDTHH:mm:ss.SSS format but ${range} found`); + throw new Error(`Date range expected to be in ${DEFAULT_TS_FORMAT} format but ${range} found`); } } - public static intersectDateRanges(rangeA: QueryDateRange | null, rangeB: QueryDateRange | null): QueryDateRange { + public static intersectDateRanges(rangeA: QueryDateRange | null, rangeB: QueryDateRange | null): QueryDateRange | null { PreAggregationPartitionRangeLoader.checkDataRangeType(rangeA); PreAggregationPartitionRangeLoader.checkDataRangeType(rangeB); if (!rangeB) { @@ -476,29 +490,46 @@ export class PreAggregationPartitionRangeLoader { ]; } - public static timeSeries(granularity: string, dateRange: QueryDateRange, timestampPrecision: number): QueryDateRange[] { + public static timeSeries(granularity: string, dateRange: QueryDateRange | null, timestampPrecision: number): QueryDateRange[] { + if (!dateRange) { + return []; + } return timeSeries(granularity, dateRange, { timestampPrecision }); } - public static partitionTableName(tableName: string, partitionGranularity: string, dateRange: string[]) { + public static partitionTableName(tableName: string, partitionGranularity: string, dateRange: QueryDateRange) { + let dateLenCut: number; + switch (partitionGranularity) { + case 'hour': + dateLenCut = 13; + break; + case 'minute': + dateLenCut = 16; + break; + default: + dateLenCut = 10; + break; + } + const partitionSuffix = dateRange[0].substring( 0, - partitionGranularity === 'hour' ? 13 : 10 + dateLenCut ).replace(/[-T:]/g, ''); + return `${tableName}${partitionSuffix}`; } public static inDbTimeZone(preAggregationDescription: any, timestamp: string): string { - return inDbTimeZone(preAggregationDescription.timezone, preAggregationDescription.timestampFormat, timestamp); + return localTimestampToUtc(preAggregationDescription.timezone, preAggregationDescription.timestampFormat, timestamp); } - public static extractDate(data: any): string { - return extractDate(data); + public static extractDate(data: any, timezone: string, timestampFormat: string = DEFAULT_TS_FORMAT): string { + return parseLocalDate(data, timezone, timestampFormat); } - public static FROM_PARTITION_RANGE = FROM_PARTITION_RANGE; + public static readonly FROM_PARTITION_RANGE = FROM_PARTITION_RANGE; - public static TO_PARTITION_RANGE = TO_PARTITION_RANGE; + public static readonly TO_PARTITION_RANGE = TO_PARTITION_RANGE; } diff --git a/packages/cubejs-query-orchestrator/src/orchestrator/PreAggregations.ts b/packages/cubejs-query-orchestrator/src/orchestrator/PreAggregations.ts index 3d3ecaa13..f15cc56ab 100644 --- a/packages/cubejs-query-orchestrator/src/orchestrator/PreAggregations.ts +++ b/packages/cubejs-query-orchestrator/src/orchestrator/PreAggregations.ts @@ -6,7 +6,7 @@ import { BaseDriver, InlineTable, } from '@cubejs-backend/base-driver'; import { CubeStoreDriver } from '@cubejs-backend/cubestore-driver'; import LRUCache from 'lru-cache'; -import { PreAggTableToTempTable, Query, QueryBody, QueryCache, QueryTuple, QueryWithParams } from './QueryCache'; +import { PreAggTableToTempTable, Query, QueryBody, QueryCache, QueryWithParams } from './QueryCache'; import { DriverFactory, DriverFactoryByDataSource } from './DriverFactory'; import { QueryQueue } from './QueryQueue'; import { CacheAndQueryDriverType } from './QueryOrchestrator'; @@ -67,7 +67,7 @@ export function getLastUpdatedAtTimestamp( export function getStructureVersion(preAggregation) { const versionArray = [preAggregation.structureVersionLoadSql || preAggregation.loadSql]; - if (preAggregation.indexesSql && preAggregation.indexesSql.length) { + if (preAggregation.indexesSql?.length) { versionArray.push(preAggregation.indexesSql); } if (preAggregation.streamOffset) { @@ -144,6 +144,8 @@ export type LoadPreAggregationResult = { partitionRange?: QueryDateRange; }; +export type PreAggregationTableToTempTable = [string, LoadPreAggregationResult]; + export type LambdaOptions = { maxSourceRows: number }; @@ -387,7 +389,7 @@ export class PreAggregations { if (tables.length === 1) { status = 'done'; } else { - status = result && result.error + status = result?.error ? `failure: ${result.error}` : 'missing_partition'; } @@ -416,12 +418,12 @@ export class PreAggregations { return [true, status]; } - public loadAllPreAggregationsIfNeeded( + public async loadAllPreAggregationsIfNeeded( queryBody: PreAggregationQueryBody, ): Promise<{ preAggregationsTablesToTempTables: PreAggTableToTempTable[], values: null | string[], - }> { + }> { const preAggregations = queryBody.preAggregations || []; const loadCacheByDataSource = queryBody.preAggregationsLoadCacheByDataSource || {}; @@ -488,7 +490,7 @@ export class PreAggregations { if (i === preAggregations.length - 1 && queryBody.values) { queryParamsReplacement = await loader.replaceQueryBuildRangeParams( - queryBody.values, + queryBody.values, ); } @@ -514,8 +516,7 @@ export class PreAggregations { preAggregations.map(async (preAggregation) => { const { preAggregationStartEndQueries } = preAggregation; const invalidate = - preAggregation.invalidateKeyQueries && - preAggregation.invalidateKeyQueries[0] + preAggregation?.invalidateKeyQueries[0] ? preAggregation.invalidateKeyQueries[0].slice(0, 2) : false; const isCached = preAggregation.partitionGranularity diff --git a/packages/cubejs-query-orchestrator/src/orchestrator/utils.ts b/packages/cubejs-query-orchestrator/src/orchestrator/utils.ts index 82f23e6ec..5cb71266f 100644 --- a/packages/cubejs-query-orchestrator/src/orchestrator/utils.ts +++ b/packages/cubejs-query-orchestrator/src/orchestrator/utils.ts @@ -1,185 +1,8 @@ -/* eslint-disable no-restricted-syntax */ -import * as querystring from 'querystring'; import crypto from 'crypto'; -import { getProcessUid, getNext } from '@cubejs-backend/shared'; +import { getProcessUid } from '@cubejs-backend/shared'; import { QueryKey, QueryKeyHash } from '@cubejs-backend/base-driver'; -function parseHostPort(addr: string): { host: string, port: number } { - if (addr.includes(':')) { - const parts = addr.split(':'); - - if (parts.length === 2) { - return { - host: parts[0], - port: parseInt(parts[1], 10), - }; - } - - throw new Error( - `Unsupported host:port part inside REDIS_URL: ${addr}` - ); - } - - return { - host: addr, - port: 6379, - }; -} - -function parseAddrPart(addr: string): { host: string, port: number, username?: string, password?: string } { - if (addr.includes('@')) { - const parts = addr.split('@'); - if (parts.length !== 2) { - throw new Error( - `Unsupported host part inside REDIS_URL: ${addr}` - ); - } - - const credentials = parts[0].split(':'); - if (credentials.length !== 2) { - throw new Error( - `Unsupported credentials part inside REDIS_URL: ${addr}` - ); - } - - return { - username: credentials[0], - password: credentials[1], - ...parseHostPort(parts[1]), - }; - } - - return parseHostPort(addr); -} - -export interface RedisParsedResult { - ssl: boolean, - password?: string, - username?: string, - host?: string, - port?: number, - /** - * Local domain socket path. If set the port, host and family will be ignored. - */ - path?: string, - sentinels?: { host: string, port: number }[], - db?: number, - name?: string, -} - -function parseHostPartBasic(addUrl: string, result: RedisParsedResult) { - const { host, port, password, username } = parseAddrPart(addUrl); - - result.password = password; - result.username = username; - result.host = host; - result.port = port; - - return result; -} - -function parseHostPartSentinel(addUrl: string, result: RedisParsedResult) { - const servers = addUrl.split(','); - - result.sentinels = servers.map((addr) => parseHostPort(addr)); - - return result; -} - -function parseUrl( - url: string, - result: RedisParsedResult, - parseAddPartFn: (addr: string, result: RedisParsedResult) => RedisParsedResult, -): RedisParsedResult { - if (url.includes('/')) { - const parts = url.split('/'); - if (parts.length === 2) { - result.db = parseInt(parts[1], 10); - } else if (parts.length === 3) { - result.name = parts[1]; - result.db = parseInt(parts[2], 10); - } else { - throw new Error( - `Unsupported REDIS_URL: "${url}"` - ); - } - - return parseAddPartFn(parts[0], result); - } - - return parseAddPartFn(url, result); -} - -function parseUnixUrl(url: string, result: RedisParsedResult) { - if (url.includes('?')) { - const parts = url.split('?'); - if (parts.length === 2) { - const query = querystring.parse(parts[1]); - - for (const key of Object.keys(query)) { - switch (key.toLowerCase()) { - case 'db': - result.db = parseInt(query[key], 10); - break; - default: - break; - } - } - - return { - ...result, - path: parts[0], - }; - } - - throw new Error( - `Unsupported REDIS_URL: "${url}"` - ); - } - - result.path = url; - - return result; -} - -export function parseRedisUrl(url: Readonly): RedisParsedResult { - const result: RedisParsedResult = { - username: undefined, - password: undefined, - host: undefined, - port: undefined, - ssl: false, - sentinels: undefined, - db: undefined, - name: undefined, - }; - - if (!url) { - return result; - } - - if (url.startsWith('redis://')) { - return parseUrl(url.slice('redis://'.length), result, parseHostPartBasic); - } - - if (url.startsWith('rediss://')) { - result.ssl = true; - - return parseUrl(url.slice('rediss://'.length), result, parseHostPartBasic); - } - - if (url.startsWith('redis+sentinel://')) { - return parseUrl(url.slice('redis+sentinel://'.length), result, parseHostPartSentinel); - } - - if (url.startsWith('unix://')) { - return parseUnixUrl(url.slice('unix://'.length), result); - } - - return parseUrl(url, result, parseHostPartBasic); -} - /** * Unique process ID regexp. */ diff --git a/packages/cubejs-query-orchestrator/test/unit/PreAggregations.test.js b/packages/cubejs-query-orchestrator/test/unit/PreAggregations.test.js index a662aaa28..b5ae8ff87 100644 --- a/packages/cubejs-query-orchestrator/test/unit/PreAggregations.test.js +++ b/packages/cubejs-query-orchestrator/test/unit/PreAggregations.test.js @@ -1,7 +1,13 @@ /* eslint-disable global-require */ /* globals describe, jest, beforeEach, test, expect */ import R from 'ramda'; -import { PreAggregationPartitionRangeLoader } from '../../src'; +import { + BUILD_RANGE_END_LOCAL, + BUILD_RANGE_START_LOCAL, + FROM_PARTITION_RANGE, + TO_PARTITION_RANGE +} from '@cubejs-backend/shared'; +import { PreAggregationPartitionRangeLoader, PreAggregations } from '../../src'; class MockDriver { constructor() { @@ -67,6 +73,43 @@ class MockDriver { } } +const mockPreAggregation = (overrides = {}) => ({ + tableName: 'test_table', + partitionGranularity: 'day', + timezone: 'UTC', + timestampFormat: 'YYYY-MM-DDTHH:mm:ss.SSS', + timestampPrecision: 3, + dataSource: 'default', + preAggregationStartEndQueries: [ + ['SELECT MIN(ts)', [], {}], + ['SELECT MAX(ts)', [], {}] + ], + loadSql: ['CREATE TABLE test_table AS SELECT * FROM source_table WHERE ts >= $1 and ts <= $2', [FROM_PARTITION_RANGE, TO_PARTITION_RANGE]], + ...overrides, +}); + +const createLoader = (overrides = {}, options = {}) => { + const loader = new PreAggregationPartitionRangeLoader( + {}, // driverFactory + {}, // logger + { options: {} }, // queryCache + {}, // preAggregations + mockPreAggregation(overrides), + [], // preAggregationsTablesToTempTables + {}, // loadCache + options, + ); + + jest.spyOn(loader, 'loadRangeQuery').mockImplementation(async (query, _partitionRange) => { + if (query[0].includes('MIN')) { + return [{ value: '2024-01-01T00:00:00.000' }]; + } + return [{ value: '2024-01-03T23:59:59.999' }]; + }); + + return loader; +}; + describe('PreAggregations', () => { let mockDriver = null; let mockExternalDriver = null; @@ -139,7 +182,6 @@ describe('PreAggregations', () => { let preAggregations = null; beforeEach(async () => { - const { PreAggregations } = require('../../src/orchestrator/PreAggregations'); preAggregations = new PreAggregations( 'TEST', mockDriverFactory, @@ -155,7 +197,7 @@ describe('PreAggregations', () => { ); }); - test('syncronously create rollup from scratch', async () => { + test('synchronously create rollup from scratch', async () => { mockDriver.now = 12345000; const { preAggregationsTablesToTempTables: result } = await preAggregations.loadAllPreAggregationsIfNeeded(basicQueryWithRenew); expect(result[0][1].targetTableName).toMatch(/stb_pre_aggregations.orders_number_and_count20191101_kjypcoio_5yftl5il/); @@ -167,7 +209,6 @@ describe('PreAggregations', () => { let preAggregations = null; beforeEach(async () => { - const { PreAggregations } = require('../../src/orchestrator/PreAggregations'); preAggregations = new PreAggregations( 'TEST', mockDriverFactory, @@ -195,7 +236,6 @@ describe('PreAggregations', () => { let preAggregations = null; beforeEach(async () => { - const { PreAggregations } = require('../../src/orchestrator/PreAggregations'); preAggregations = new PreAggregations( 'TEST', mockDriverReadOnlyFactory, @@ -223,7 +263,6 @@ describe('PreAggregations', () => { let preAggregations = null; beforeEach(async () => { - const { PreAggregations } = require('../../src/orchestrator/PreAggregations'); preAggregations = new PreAggregations( 'TEST', mockDriverFactory, @@ -255,7 +294,6 @@ describe('PreAggregations', () => { let preAggregations = null; beforeEach(async () => { - const { PreAggregations } = require('../../src/orchestrator/PreAggregations'); preAggregations = new PreAggregations( 'TEST', () => { throw new Error('The source database factory should never be called when externalRefresh is true, as it will trigger testConnection'); }, @@ -289,7 +327,6 @@ describe('PreAggregations', () => { let preAggregations = null; beforeEach(async () => { - const { PreAggregations } = require('../../src/orchestrator/PreAggregations'); preAggregations = new PreAggregations( 'TEST', mockDriverFactory, @@ -312,7 +349,6 @@ describe('PreAggregations', () => { }); test('test for function targetTableName', () => { - const { PreAggregations } = require('../../src/orchestrator/PreAggregations'); let result = PreAggregations.targetTableName({ table_name: 'orders_number_and_count20191101', content_version: 'kjypcoio', @@ -342,7 +378,6 @@ describe('PreAggregations', () => { let preAggregations = null; beforeEach(async () => { - const { PreAggregations } = require('../../src/orchestrator/PreAggregations'); preAggregations = new PreAggregations( 'TEST', mockDriverFactory, @@ -396,5 +431,264 @@ describe('PreAggregations', () => { ['2024-01-05T00:00:00.000', '2024-01-05T23:59:59.999'] ); }); + + test('returns null if ranges do not overlap', () => { + expect( + PreAggregationPartitionRangeLoader.intersectDateRanges( + ['2024-01-01T00:00:00.000', '2024-01-31T23:59:59.999'], + ['2024-02-01T00:00:00.000', '2024-02-28T23:59:59.999'] + ) + ).toBeNull(); + }); + + test('returns rangeA if rangeB is null', () => { + expect( + PreAggregationPartitionRangeLoader.intersectDateRanges( + ['2024-01-01T00:00:00.000', '2024-01-31T23:59:59.999'], + null + ) + ).toEqual(['2024-01-01T00:00:00.000', '2024-01-31T23:59:59.999']); + }); + + test('returns rangeB if rangeA is null', () => { + expect( + PreAggregationPartitionRangeLoader.intersectDateRanges( + null, + ['2024-01-01T00:00:00.000', '2024-01-31T23:59:59.999'] + ) + ).toEqual(['2024-01-01T00:00:00.000', '2024-01-31T23:59:59.999']); + }); + + test('throws error if range is not a tuple of two strings', () => { + expect(() => PreAggregationPartitionRangeLoader.intersectDateRanges( + ['2024-01-01T00:00:00.000'], + ['2024-01-01T00:00:00.000', '2024-01-31T23:59:59.999'] + )).toThrow('Date range expected to be an array with 2 elements'); + + expect(() => PreAggregationPartitionRangeLoader.intersectDateRanges( + ['2024-01-01T00:00:00.000', '2024-01-31T23:59:59.999', '2024-01-01T00:00:00.000'], + ['2024-01-01T00:00:00.000', '2024-01-31T23:59:59.999'] + )) + .toThrow('Date range expected to be an array with 2 elements'); + + expect(() => PreAggregationPartitionRangeLoader.intersectDateRanges( + ['2024-01-01T00:00:00', '2024-01-31T23:59:59.999'], // incorrect format + ['2024-01-01T00:00:00.000', '2024-01-31T23:59:59.999'] + )).toThrow('Date range expected to be in YYYY-MM-DDTHH:mm:ss.SSS format'); + }); + }); + + describe('partitionTableName', () => { + test('should generate correct table names for different granularities', () => { + const testDateRange = ['2024-01-05T12:34:56.789', '2024-01-05T23:59:59.999']; + + // Daily granularity + expect(PreAggregationPartitionRangeLoader.partitionTableName( + 'test_table', + 'day', + testDateRange + )).toBe('test_table20240105'); + + // Hourly granularity + expect(PreAggregationPartitionRangeLoader.partitionTableName( + 'test_table', + 'hour', + testDateRange + )).toBe('test_table2024010512'); + + // Minute granularity + expect(PreAggregationPartitionRangeLoader.partitionTableName( + 'test_table', + 'minute', + testDateRange + )).toBe('test_table202401051234'); + }); + }); + + describe('replaceQueryBuildRangeParams', () => { + test('should replace BUILD_RANGE params with actual dates', async () => { + const loader = createLoader(); + jest.spyOn(loader, 'loadBuildRange').mockResolvedValue([ + '2023-01-01T00:00:00.000', + '2023-01-31T23:59:59.999', + ]); + + const result = await loader.replaceQueryBuildRangeParams([ + 'other_param_that_should_not_be_modified', + BUILD_RANGE_START_LOCAL, + BUILD_RANGE_END_LOCAL, + ]); + + expect(result).toEqual([ + 'other_param_that_should_not_be_modified', + '2023-01-01T00:00:00.000', + '2023-01-31T23:59:59.999', + ]); + }); + + test('should return null when no BUILD_RANGE params', async () => { + const loader = createLoader(); + const result = await loader.replaceQueryBuildRangeParams(['param1', 'param2']); + expect(result).toBeNull(); + }); + }); + + describe('partitionPreAggregations', () => { + test('should construct correct partitionPreAggregations for dateRange in UTC', async () => { + const loader = createLoader({ + timezone: 'UTC', + }); + + const results = await loader.partitionPreAggregations(); + expect(results.length).toEqual(3); + + let [preAggDesc] = results; + expect(preAggDesc.tableName).toEqual('test_table20240101'); // Partition tables are the same for all time zones + expect(preAggDesc.buildRangeStart).toEqual('2024-01-01T00:00:00.000'); // buildRange is the same for all time zones + expect(preAggDesc.buildRangeEnd).toEqual('2024-01-01T23:59:59.999'); + expect(preAggDesc.loadSql[0].includes('test_table20240101')).toBeTruthy(); + expect(preAggDesc.loadSql[1][0]).toEqual('2024-01-01T00:00:00.000'); + expect(preAggDesc.loadSql[1][1]).toEqual('2024-01-01T23:59:59.999'); + expect(preAggDesc.structureVersionLoadSql[0].includes('test_table20240101')).toBeTruthy(); + expect(preAggDesc.structureVersionLoadSql[1][0]).toEqual('2024-01-01T00:00:00.000'); + expect(preAggDesc.structureVersionLoadSql[1][1]).toEqual('2024-01-01T23:59:59.999'); + + [, preAggDesc] = results; + expect(preAggDesc.tableName).toEqual('test_table20240102'); + expect(preAggDesc.buildRangeStart).toEqual('2024-01-02T00:00:00.000'); + expect(preAggDesc.buildRangeEnd).toEqual('2024-01-02T23:59:59.999'); + expect(preAggDesc.loadSql[0].includes('test_table20240102')).toBeTruthy(); + expect(preAggDesc.loadSql[1][0]).toEqual('2024-01-02T00:00:00.000'); + expect(preAggDesc.loadSql[1][1]).toEqual('2024-01-02T23:59:59.999'); + expect(preAggDesc.structureVersionLoadSql[0].includes('test_table20240102')).toBeTruthy(); + expect(preAggDesc.structureVersionLoadSql[1][0]).toEqual('2024-01-02T00:00:00.000'); + expect(preAggDesc.structureVersionLoadSql[1][1]).toEqual('2024-01-02T23:59:59.999'); + + [,, preAggDesc] = results; + expect(preAggDesc.tableName).toEqual('test_table20240103'); + expect(preAggDesc.buildRangeStart).toEqual('2024-01-03T00:00:00.000'); + expect(preAggDesc.buildRangeEnd).toEqual('2024-01-03T23:59:59.999'); + expect(preAggDesc.loadSql[0].includes('test_table20240103')).toBeTruthy(); + expect(preAggDesc.loadSql[1][0]).toEqual('2024-01-03T00:00:00.000'); + expect(preAggDesc.loadSql[1][1]).toEqual('2024-01-03T23:59:59.999'); + expect(preAggDesc.structureVersionLoadSql[0].includes('test_table20240103')).toBeTruthy(); + expect(preAggDesc.structureVersionLoadSql[1][0]).toEqual('2024-01-03T00:00:00.000'); + expect(preAggDesc.structureVersionLoadSql[1][1]).toEqual('2024-01-03T23:59:59.999'); + }); + + test('should construct correct partitionPreAggregations for dateRange in America/New_York', async () => { + const loader = createLoader({ + timezone: 'America/New_York', // UTC-5 + }); + + const results = await loader.partitionPreAggregations(); + expect(results.length).toEqual(3); + + let [preAggDesc] = results; + expect(preAggDesc.tableName).toEqual('test_table20240101'); // Partition tables are the same for all time zones + expect(preAggDesc.buildRangeStart).toEqual('2024-01-01T00:00:00.000'); // buildRange is the same for all time zones + expect(preAggDesc.buildRangeEnd).toEqual('2024-01-01T23:59:59.999'); + expect(preAggDesc.loadSql[0].includes('test_table20240101')).toBeTruthy(); + expect(preAggDesc.loadSql[1][0]).toEqual('2024-01-01T05:00:00.000'); + expect(preAggDesc.loadSql[1][1]).toEqual('2024-01-02T04:59:59.999'); + expect(preAggDesc.structureVersionLoadSql[0].includes('test_table20240101')).toBeTruthy(); + expect(preAggDesc.structureVersionLoadSql[1][0]).toEqual('2024-01-01T05:00:00.000'); + expect(preAggDesc.structureVersionLoadSql[1][1]).toEqual('2024-01-02T04:59:59.999'); + + [, preAggDesc] = results; + expect(preAggDesc.tableName).toEqual('test_table20240102'); + expect(preAggDesc.buildRangeStart).toEqual('2024-01-02T00:00:00.000'); + expect(preAggDesc.buildRangeEnd).toEqual('2024-01-02T23:59:59.999'); + expect(preAggDesc.loadSql[0].includes('test_table20240102')).toBeTruthy(); + expect(preAggDesc.loadSql[1][0]).toEqual('2024-01-02T05:00:00.000'); + expect(preAggDesc.loadSql[1][1]).toEqual('2024-01-03T04:59:59.999'); + expect(preAggDesc.structureVersionLoadSql[0].includes('test_table20240102')).toBeTruthy(); + expect(preAggDesc.structureVersionLoadSql[1][0]).toEqual('2024-01-02T05:00:00.000'); + expect(preAggDesc.structureVersionLoadSql[1][1]).toEqual('2024-01-03T04:59:59.999'); + + [,, preAggDesc] = results; + expect(preAggDesc.tableName).toEqual('test_table20240103'); + expect(preAggDesc.buildRangeStart).toEqual('2024-01-03T00:00:00.000'); + expect(preAggDesc.buildRangeEnd).toEqual('2024-01-03T23:59:59.999'); + expect(preAggDesc.loadSql[0].includes('test_table20240103')).toBeTruthy(); + expect(preAggDesc.loadSql[1][0]).toEqual('2024-01-03T05:00:00.000'); + expect(preAggDesc.loadSql[1][1]).toEqual('2024-01-04T04:59:59.999'); + expect(preAggDesc.structureVersionLoadSql[0].includes('test_table20240103')).toBeTruthy(); + expect(preAggDesc.structureVersionLoadSql[1][0]).toEqual('2024-01-03T05:00:00.000'); + expect(preAggDesc.structureVersionLoadSql[1][1]).toEqual('2024-01-04T04:59:59.999'); + }); + + test('should construct correct partitionPreAggregations for dateRange in Asia/Tokyo', async () => { + const loader = createLoader({ + timezone: 'Asia/Tokyo', // UTC+9 + }); + + const results = await loader.partitionPreAggregations(); + expect(results.length).toEqual(3); + + let [preAggDesc] = results; + expect(preAggDesc.tableName).toEqual('test_table20240101'); // Partition tables are the same for all time zones + expect(preAggDesc.buildRangeStart).toEqual('2024-01-01T00:00:00.000'); // buildRange is the same for all time zones + expect(preAggDesc.buildRangeEnd).toEqual('2024-01-01T23:59:59.999'); + expect(preAggDesc.loadSql[0].includes('test_table20240101')).toBeTruthy(); + expect(preAggDesc.loadSql[1][0]).toEqual('2023-12-31T15:00:00.000'); + expect(preAggDesc.loadSql[1][1]).toEqual('2024-01-01T14:59:59.999'); + expect(preAggDesc.structureVersionLoadSql[0].includes('test_table20240101')).toBeTruthy(); + expect(preAggDesc.structureVersionLoadSql[1][0]).toEqual('2023-12-31T15:00:00.000'); + expect(preAggDesc.structureVersionLoadSql[1][1]).toEqual('2024-01-01T14:59:59.999'); + + [, preAggDesc] = results; + expect(preAggDesc.tableName).toEqual('test_table20240102'); + expect(preAggDesc.buildRangeStart).toEqual('2024-01-02T00:00:00.000'); + expect(preAggDesc.buildRangeEnd).toEqual('2024-01-02T23:59:59.999'); + expect(preAggDesc.loadSql[0].includes('test_table20240102')).toBeTruthy(); + expect(preAggDesc.loadSql[1][0]).toEqual('2024-01-01T15:00:00.000'); + expect(preAggDesc.loadSql[1][1]).toEqual('2024-01-02T14:59:59.999'); + expect(preAggDesc.structureVersionLoadSql[0].includes('test_table20240102')).toBeTruthy(); + expect(preAggDesc.structureVersionLoadSql[1][0]).toEqual('2024-01-01T15:00:00.000'); + expect(preAggDesc.structureVersionLoadSql[1][1]).toEqual('2024-01-02T14:59:59.999'); + + [,, preAggDesc] = results; + expect(preAggDesc.tableName).toEqual('test_table20240103'); + expect(preAggDesc.buildRangeStart).toEqual('2024-01-03T00:00:00.000'); + expect(preAggDesc.buildRangeEnd).toEqual('2024-01-03T23:59:59.999'); + expect(preAggDesc.loadSql[0].includes('test_table20240103')).toBeTruthy(); + expect(preAggDesc.loadSql[1][0]).toEqual('2024-01-02T15:00:00.000'); + expect(preAggDesc.loadSql[1][1]).toEqual('2024-01-03T14:59:59.999'); + expect(preAggDesc.structureVersionLoadSql[0].includes('test_table20240103')).toBeTruthy(); + expect(preAggDesc.structureVersionLoadSql[1][0]).toEqual('2024-01-02T15:00:00.000'); + expect(preAggDesc.structureVersionLoadSql[1][1]).toEqual('2024-01-03T14:59:59.999'); + }); + }); + + describe('partitionPreAggregations', () => { + test('should generate partitioned pre-aggregations', async () => { + const compilerCacheFn = jest.fn((subKey, fn) => fn()); + const loader = createLoader( + { + partitionGranularity: 'day', + matchedTimeDimensionDateRange: ['2023-01-01T00:00:00.000', '2023-01-02T23:59:59.999'], + }, + { compilerCacheFn } + ); + + jest.spyOn(loader, 'partitionRanges').mockResolvedValue({ + buildRange: ['2023-01-01T00:00:00.000', '2023-01-02T23:59:59.999'], + partitionRanges: [ + ['2023-01-01T00:00:00.000', '2023-01-01T23:59:59.999'], + ['2023-01-02T00:00:00.000', '2023-01-02T23:59:59.999'], + ], + }); + + const result = await loader.partitionPreAggregations(); + + expect(result.length).toBe(2); + expect(result[0].tableName).toMatch(/test_table20230101/); + expect(result[1].tableName).toMatch(/test_table20230102/); + expect(compilerCacheFn).toHaveBeenCalledWith( + ['partitions', JSON.stringify(['2023-01-01T00:00:00.000', '2023-01-02T23:59:59.999'])], + expect.any(Function) + ); + }); }); }); diff --git a/packages/cubejs-query-orchestrator/test/unit/QueryOrchestrator.test.js b/packages/cubejs-query-orchestrator/test/unit/QueryOrchestrator.test.js index 8522aab7d..eb6954ad5 100644 --- a/packages/cubejs-query-orchestrator/test/unit/QueryOrchestrator.test.js +++ b/packages/cubejs-query-orchestrator/test/unit/QueryOrchestrator.test.js @@ -177,7 +177,7 @@ class MockDriverUnloadWithoutTempTableSupport extends MockDriver { capabilities() { return { unloadWithoutTempTable: true }; } - + queryColumnTypes() { return []; } @@ -1531,7 +1531,7 @@ describe('QueryOrchestrator', () => { external: true, }], renewQuery: true, - + requestId: 'basic' }; const promise = queryOrchestrator.fetchQuery(query); diff --git a/packages/cubejs-schema-compiler/src/adapter/BaseFilter.ts b/packages/cubejs-schema-compiler/src/adapter/BaseFilter.ts index b3be30233..639eeb5f3 100644 --- a/packages/cubejs-schema-compiler/src/adapter/BaseFilter.ts +++ b/packages/cubejs-schema-compiler/src/adapter/BaseFilter.ts @@ -394,10 +394,10 @@ export class BaseFilter extends BaseDimension { } else { throw new Error(`Unsupported timestamp precision: ${this.query.timestampPrecision()}`); } - } - if (date && date.match(dateRegex)) { - return `${date}T00:00:00.${'0'.repeat(this.query.timestampPrecision())}`; + if (date.match(dateRegex)) { + return `${date}T00:00:00.${'0'.repeat(this.query.timestampPrecision())}`; + } } if (!date) { @@ -434,10 +434,10 @@ export class BaseFilter extends BaseDimension { } else { throw new Error(`Unsupported timestamp precision: ${this.query.timestampPrecision()}`); } - } - if (date && date.match(dateRegex)) { - return `${date}T23:59:59.${'9'.repeat(this.query.timestampPrecision())}`; + if (date.match(dateRegex)) { + return `${date}T23:59:59.${'9'.repeat(this.query.timestampPrecision())}`; + } } if (!date) { diff --git a/packages/cubejs-schema-compiler/src/adapter/BaseQuery.js b/packages/cubejs-schema-compiler/src/adapter/BaseQuery.js index ecad9eacf..0039850a3 100644 --- a/packages/cubejs-schema-compiler/src/adapter/BaseQuery.js +++ b/packages/cubejs-schema-compiler/src/adapter/BaseQuery.js @@ -14,7 +14,7 @@ import inflection from 'inflection'; import { FROM_PARTITION_RANGE, MAX_SOURCE_ROW_LIMIT, - inDbTimeZone, + localTimestampToUtc, QueryAlias, getEnv, timeSeries as timeSeriesBase @@ -2960,7 +2960,7 @@ export class BaseQuery { } inDbTimeZone(date) { - return inDbTimeZone(this.timezone, this.timestampFormat(), date); + return localTimestampToUtc(this.timezone, this.timestampFormat(), date); } /** diff --git a/packages/cubejs-schema-compiler/test/integration/utils/BaseDbRunner.ts b/packages/cubejs-schema-compiler/test/integration/utils/BaseDbRunner.ts index 9ed814bcd..939badf6a 100644 --- a/packages/cubejs-schema-compiler/test/integration/utils/BaseDbRunner.ts +++ b/packages/cubejs-schema-compiler/test/integration/utils/BaseDbRunner.ts @@ -109,7 +109,7 @@ export class BaseDbRunner { desc, suffix, partitionGranularity: string | null = null, - dateRange: string[] | null = null + dateRange: [string, string] | null = null ) { const [toReplace, params] = query; const tableName = partitionGranularity && dateRange ? PreAggregationPartitionRangeLoader.partitionTableName( @@ -178,10 +178,12 @@ export class BaseDbRunner { if (desc.partitionGranularity) { desc.dateRange = [ PreAggregationPartitionRangeLoader.extractDate( - await this.testQueries([desc.preAggregationStartEndQueries[0]]) + await this.testQueries([desc.preAggregationStartEndQueries[0]]), + desc.timezone, ), PreAggregationPartitionRangeLoader.extractDate( - await this.testQueries([desc.preAggregationStartEndQueries[1]]) + await this.testQueries([desc.preAggregationStartEndQueries[1]]), + desc.timezone, ) ]; // console.log(desc); diff --git a/packages/cubejs-server-core/src/core/RefreshScheduler.ts b/packages/cubejs-server-core/src/core/RefreshScheduler.ts index d6692b583..4cd0f0cb9 100644 --- a/packages/cubejs-server-core/src/core/RefreshScheduler.ts +++ b/packages/cubejs-server-core/src/core/RefreshScheduler.ts @@ -254,7 +254,7 @@ export class RefreshScheduler { authInfo: null, ...ctx, securityContext: ctx?.securityContext ? ctx.securityContext : {}, - requestId: `scheduler-${ctx && ctx.requestId || uuidv4()}`, + requestId: `scheduler-${ctx?.requestId || uuidv4()}`, }; const concurrency = @@ -424,7 +424,7 @@ export class RefreshScheduler { return { dependencies, partitions: query.groupedPartitions.length && query.groupedPartitions[query.groupedPartitions.length - 1] - .filter(p => !partitionsFilter || !partitionsFilter.length || partitionsFilter.includes(p?.tableName)) || [] + .filter(p => !partitionsFilter?.length || partitionsFilter.includes(p?.tableName)) || [] }; }); @@ -486,7 +486,7 @@ export class RefreshScheduler { }); const queriesForPreAggregation = async (preAggregationIndex, timezone) => { const key = `${preAggregationIndex}_${timezone}`; - if (!queriesCache[key]) { + if (!(await queriesCache[key])) { const preAggregation = scheduledPreAggregations[preAggregationIndex]; queriesCache[key] = this.refreshQueriesForPreAggregation( context, compilerApi, preAggregation, { ...queryingOptions, timezone } @@ -591,7 +591,7 @@ export class RefreshScheduler { .filter(workerIndex => workerIndices.indexOf(workerIndex) !== -1) .map(async workerIndex => { const queryIteratorStateKey = JSON.stringify({ ...securityContext, workerIndex }); - const queryIterator = queryIteratorState && queryIteratorState[queryIteratorStateKey] || + const queryIterator = queryIteratorState?.[queryIteratorStateKey] || (await this.roundRobinRefreshPreAggregationsQueryIterator( context, compilerApi, queryingOptions, queriesCache )); @@ -631,7 +631,7 @@ export class RefreshScheduler { preAggregations: dependencies.concat([partition]), continueWait: true, renewQuery: true, - forceBuildPreAggregations: queryingOptions.forceBuildPreAggregations != null ? queryingOptions.forceBuildPreAggregations : true, + forceBuildPreAggregations: queryingOptions.forceBuildPreAggregations ?? true, orphanedTimeout: 60 * 60, requestId: context.requestId, timezone: partition.timezone, diff --git a/packages/cubejs-server-core/test/unit/RefreshScheduler.test.ts b/packages/cubejs-server-core/test/unit/RefreshScheduler.test.ts index 1ca72533d..6e2f42bb7 100644 --- a/packages/cubejs-server-core/test/unit/RefreshScheduler.test.ts +++ b/packages/cubejs-server-core/test/unit/RefreshScheduler.test.ts @@ -8,25 +8,25 @@ import { CompilerApi } from '../../src/core/CompilerApi'; const schemaContent = ` cube('Foo', { sql: \`select * from foo_\${SECURITY_CONTEXT.tenantId.unsafeValue()}\`, - + measures: { count: { type: 'count' }, - + total: { sql: 'amount', type: 'sum' }, }, - + dimensions: { time: { sql: 'timestamp', type: 'time' } }, - + preAggregations: { main: { type: 'originalSql', @@ -87,20 +87,20 @@ cube('Foo', { cube('Bar', { sql: 'select * from bar', - + measures: { count: { type: 'count' } }, - + dimensions: { time: { sql: 'timestamp', type: 'time' } }, - + preAggregations: { first: { type: 'rollup', @@ -131,42 +131,42 @@ const repositoryWithRollupJoin: SchemaFileRepository = { { fileName: 'main.js', content: ` cube(\`Users\`, { sql: \`SELECT * FROM public.users\`, - + preAggregations: { usersRollup: { dimensions: [CUBE.id], }, }, - + measures: { count: { type: \`count\`, }, }, - + dimensions: { id: { sql: \`id\`, type: \`string\`, primaryKey: true, }, - + name: { sql: \`name\`, type: \`string\`, }, }, }); - + cube('Orders', { sql: \`SELECT * FROM orders\`, - + preAggregations: { ordersRollup: { measures: [CUBE.count], dimensions: [CUBE.userId, CUBE.status], }, - + ordersRollupJoin: { type: \`rollupJoin\`, measures: [CUBE.count], @@ -174,20 +174,20 @@ const repositoryWithRollupJoin: SchemaFileRepository = { rollups: [Users.usersRollup, CUBE.ordersRollup], }, }, - + joins: { Users: { relationship: \`belongsTo\`, sql: \`\${CUBE.userId} = \${Users.id}\`, }, }, - + measures: { count: { type: \`count\`, }, }, - + dimensions: { id: { sql: \`id\`, @@ -215,13 +215,13 @@ const repositoryWithoutPreAggregations: SchemaFileRepository = { fileName: 'main.js', content: ` cube('Bar', { sql: 'select * from bar', - + measures: { count: { type: 'count' } }, - + dimensions: { time: { sql: 'timestamp', From 6fcf4288da78e32b3eafe3f7cb48be62b888b594 Mon Sep 17 00:00:00 2001 From: waralexrom <108349432+waralexrom@users.noreply.github.com> Date: Thu, 6 Mar 2025 17:10:41 +0100 Subject: [PATCH 28/49] fix(tesseract): fix wrong default alias for symbols with digits in name (#9299) --- .../integration/postgres/sql-generation.test.ts | 13 +++++++++++++ .../src/planner/sql_templates/plan.rs | 2 +- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/packages/cubejs-schema-compiler/test/integration/postgres/sql-generation.test.ts b/packages/cubejs-schema-compiler/test/integration/postgres/sql-generation.test.ts index 64e09f258..34b8e5b09 100644 --- a/packages/cubejs-schema-compiler/test/integration/postgres/sql-generation.test.ts +++ b/packages/cubejs-schema-compiler/test/integration/postgres/sql-generation.test.ts @@ -45,6 +45,10 @@ describe('SQL Generation', () => { type: 'sum', sql: 'amount', }, + revenue_1d_d1_dd: { + type: 'sum', + sql: 'amount', + }, visitor_revenue: { type: 'sum', sql: 'amount', @@ -3263,6 +3267,15 @@ SELECT 1 AS revenue, cast('2024-01-01' AS timestamp) as time UNION ALL }] )); + it('aliases for columns with digits and underscores', async () => runQueryTest( + { + measures: ['visitors.revenue_1d_d1_dd'], + }, + [{ + visitors__revenue_1d_d1_dd: '2000', + }] + )); + // Subquery aggregation for multiplied measure (and any `keysSelect` for that matter) // should pick up all dimensions, even through member expressions it('multiplied sum with dimension member expressions', async () => runQueryTest( diff --git a/rust/cubesqlplanner/cubesqlplanner/src/planner/sql_templates/plan.rs b/rust/cubesqlplanner/cubesqlplanner/src/planner/sql_templates/plan.rs index edd4e4d92..7ef0e6e1f 100644 --- a/rust/cubesqlplanner/cubesqlplanner/src/planner/sql_templates/plan.rs +++ b/rust/cubesqlplanner/cubesqlplanner/src/planner/sql_templates/plan.rs @@ -33,7 +33,7 @@ impl PlanSqlTemplates { .with_boundaries(&[ UNDERSCORE_UPPER_BOUND, Boundary::LOWER_UPPER, - Boundary::DIGIT_LOWER, + Boundary::DIGIT_UPPER, Boundary::ACRONYM, ]) .to_case(Case::Snake) From bebea84879e1c210ab74109414d0e995c69b7c71 Mon Sep 17 00:00:00 2001 From: Pavel Tiunov Date: Thu, 6 Mar 2025 10:01:16 -0800 Subject: [PATCH 29/49] v1.2.18 --- CHANGELOG.md | 20 +++++++ lerna.json | 11 +++- packages/cubejs-api-gateway/CHANGELOG.md | 8 +++ packages/cubejs-api-gateway/package.json | 8 +-- packages/cubejs-athena-driver/CHANGELOG.md | 8 +++ packages/cubejs-athena-driver/package.json | 10 ++-- packages/cubejs-backend-cloud/CHANGELOG.md | 8 +++ packages/cubejs-backend-cloud/package.json | 6 +- packages/cubejs-backend-maven/CHANGELOG.md | 8 +++ packages/cubejs-backend-maven/package.json | 6 +- packages/cubejs-backend-native/CHANGELOG.md | 8 +++ packages/cubejs-backend-native/package.json | 6 +- packages/cubejs-backend-shared/CHANGELOG.md | 11 ++++ packages/cubejs-backend-shared/package.json | 4 +- packages/cubejs-base-driver/CHANGELOG.md | 11 ++++ packages/cubejs-base-driver/package.json | 6 +- packages/cubejs-bigquery-driver/CHANGELOG.md | 8 +++ packages/cubejs-bigquery-driver/package.json | 8 +-- packages/cubejs-cli/CHANGELOG.md | 8 +++ packages/cubejs-cli/package.json | 12 ++-- .../cubejs-clickhouse-driver/CHANGELOG.md | 8 +++ .../cubejs-clickhouse-driver/package.json | 10 ++-- packages/cubejs-client-core/CHANGELOG.md | 8 +++ packages/cubejs-client-core/package.json | 2 +- packages/cubejs-client-dx/CHANGELOG.md | 8 +++ packages/cubejs-client-dx/package.json | 2 +- packages/cubejs-client-ngx/CHANGELOG.md | 8 +++ packages/cubejs-client-ngx/package.json | 2 +- packages/cubejs-client-react/CHANGELOG.md | 8 +++ packages/cubejs-client-react/package.json | 4 +- packages/cubejs-client-vue/CHANGELOG.md | 8 +++ packages/cubejs-client-vue/package.json | 4 +- packages/cubejs-client-vue3/CHANGELOG.md | 8 +++ packages/cubejs-client-vue3/package.json | 4 +- .../cubejs-client-ws-transport/CHANGELOG.md | 8 +++ .../cubejs-client-ws-transport/package.json | 6 +- packages/cubejs-crate-driver/CHANGELOG.md | 8 +++ packages/cubejs-crate-driver/package.json | 10 ++-- packages/cubejs-cubestore-driver/CHANGELOG.md | 11 ++++ packages/cubejs-cubestore-driver/package.json | 10 ++-- .../CHANGELOG.md | 8 +++ .../package.json | 12 ++-- .../cubejs-dbt-schema-extension/CHANGELOG.md | 8 +++ .../cubejs-dbt-schema-extension/package.json | 8 +-- packages/cubejs-docker/CHANGELOG.md | 8 +++ packages/cubejs-docker/package.json | 60 +++++++++---------- packages/cubejs-dremio-driver/CHANGELOG.md | 8 +++ packages/cubejs-dremio-driver/package.json | 12 ++-- packages/cubejs-druid-driver/CHANGELOG.md | 8 +++ packages/cubejs-druid-driver/package.json | 10 ++-- packages/cubejs-duckdb-driver/CHANGELOG.md | 8 +++ packages/cubejs-duckdb-driver/package.json | 12 ++-- .../cubejs-elasticsearch-driver/CHANGELOG.md | 8 +++ .../cubejs-elasticsearch-driver/package.json | 8 +-- packages/cubejs-firebolt-driver/CHANGELOG.md | 8 +++ packages/cubejs-firebolt-driver/package.json | 12 ++-- packages/cubejs-hive-driver/CHANGELOG.md | 8 +++ packages/cubejs-hive-driver/package.json | 8 +-- packages/cubejs-jdbc-driver/CHANGELOG.md | 8 +++ packages/cubejs-jdbc-driver/package.json | 8 +-- packages/cubejs-ksql-driver/CHANGELOG.md | 8 +++ packages/cubejs-ksql-driver/package.json | 10 ++-- packages/cubejs-linter/CHANGELOG.md | 8 +++ packages/cubejs-linter/package.json | 2 +- .../cubejs-materialize-driver/CHANGELOG.md | 8 +++ .../cubejs-materialize-driver/package.json | 12 ++-- packages/cubejs-mongobi-driver/CHANGELOG.md | 8 +++ packages/cubejs-mongobi-driver/package.json | 8 +-- packages/cubejs-mssql-driver/CHANGELOG.md | 8 +++ packages/cubejs-mssql-driver/package.json | 4 +- .../CHANGELOG.md | 8 +++ .../package.json | 8 +-- packages/cubejs-mysql-driver/CHANGELOG.md | 8 +++ packages/cubejs-mysql-driver/package.json | 10 ++-- packages/cubejs-oracle-driver/CHANGELOG.md | 8 +++ packages/cubejs-oracle-driver/package.json | 4 +- packages/cubejs-pinot-driver/CHANGELOG.md | 8 +++ packages/cubejs-pinot-driver/package.json | 10 ++-- packages/cubejs-playground/CHANGELOG.md | 8 +++ packages/cubejs-playground/package.json | 6 +- packages/cubejs-postgres-driver/CHANGELOG.md | 8 +++ packages/cubejs-postgres-driver/package.json | 10 ++-- packages/cubejs-prestodb-driver/CHANGELOG.md | 8 +++ packages/cubejs-prestodb-driver/package.json | 8 +-- .../cubejs-query-orchestrator/CHANGELOG.md | 11 ++++ .../cubejs-query-orchestrator/package.json | 10 ++-- packages/cubejs-questdb-driver/CHANGELOG.md | 8 +++ packages/cubejs-questdb-driver/package.json | 12 ++-- packages/cubejs-redshift-driver/CHANGELOG.md | 8 +++ packages/cubejs-redshift-driver/package.json | 10 ++-- packages/cubejs-schema-compiler/CHANGELOG.md | 13 ++++ packages/cubejs-schema-compiler/package.json | 10 ++-- packages/cubejs-server-core/CHANGELOG.md | 11 ++++ packages/cubejs-server-core/package.json | 22 +++---- packages/cubejs-server/CHANGELOG.md | 8 +++ packages/cubejs-server/package.json | 14 ++--- packages/cubejs-snowflake-driver/CHANGELOG.md | 8 +++ packages/cubejs-snowflake-driver/package.json | 8 +-- packages/cubejs-sqlite-driver/CHANGELOG.md | 8 +++ packages/cubejs-sqlite-driver/package.json | 8 +-- packages/cubejs-templates/CHANGELOG.md | 8 +++ packages/cubejs-templates/package.json | 6 +- packages/cubejs-testing-drivers/CHANGELOG.md | 8 +++ packages/cubejs-testing-drivers/package.json | 36 +++++------ packages/cubejs-testing-shared/CHANGELOG.md | 8 +++ packages/cubejs-testing-shared/package.json | 10 ++-- packages/cubejs-testing/CHANGELOG.md | 8 +++ packages/cubejs-testing/package.json | 22 +++---- packages/cubejs-trino-driver/CHANGELOG.md | 8 +++ packages/cubejs-trino-driver/package.json | 12 ++-- packages/cubejs-vertica-driver/CHANGELOG.md | 8 +++ packages/cubejs-vertica-driver/package.json | 12 ++-- 112 files changed, 765 insertions(+), 280 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 86b95a568..69f8c6b22 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,26 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) + + +### Bug Fixes + +* **cubesql:** Calculate proper limit and offset for CubeScan in nested limits case ([#8924](https://github.com/cube-js/cube/issues/8924)) ([0e95f18](https://github.com/cube-js/cube/commit/0e95f18bede4d2c79c8c3b729004715aa8aa7a58)) +* **cubesql:** Make cube join check stricter ([#9043](https://github.com/cube-js/cube/issues/9043)) ([feaf03b](https://github.com/cube-js/cube/commit/feaf03b5a0199abda5e6d1f41ae5487c509a1276)) +* **query-orchestrator:** Fix improper pre-aggregation buildRange construction for non UTC timezones ([#9284](https://github.com/cube-js/cube/issues/9284)) ([ef12d8d](https://github.com/cube-js/cube/commit/ef12d8d02702df7dcc1e6531c1b0aee6afa576ef)) +* **tesseract:** Don't generate COALESCE with single argument ([#9300](https://github.com/cube-js/cube/issues/9300)) ([3174be1](https://github.com/cube-js/cube/commit/3174be17cd1d9ba6aa1c0ec3ccbd0c5426342dc0)) +* **tesseract:** fix wrong default alias for symbols with digits in name ([#9299](https://github.com/cube-js/cube/issues/9299)) ([329d228](https://github.com/cube-js/cube/commit/329d2289e115a5f71714755323a8b8a92a260519)) + + +### Features + +* **cubesql:** Support multiple columns on each side in ungrouped-grouped join condition ([#9282](https://github.com/cube-js/cube/issues/9282)) ([e25d5c1](https://github.com/cube-js/cube/commit/e25d5c1ce686e743c67fce45ae596270c9e1ddbe)) + + + + + ## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) ### Bug Fixes diff --git a/lerna.json b/lerna.json index 57d996c54..396152b13 100644 --- a/lerna.json +++ b/lerna.json @@ -1,13 +1,18 @@ { - "version": "1.2.17", + "version": "1.2.18", "npmClient": "yarn", "command": { "bootstrap": { "npmClient": "yarn", - "npmClientArgs": ["--frozen-lockfile"] + "npmClientArgs": [ + "--frozen-lockfile" + ] }, "version": { - "allowBranch": ["master", "lts/*"] + "allowBranch": [ + "master", + "lts/*" + ] } }, "$schema": "node_modules/lerna/schemas/lerna-schema.json" diff --git a/packages/cubejs-api-gateway/CHANGELOG.md b/packages/cubejs-api-gateway/CHANGELOG.md index 739191e2b..fc8dbddde 100644 --- a/packages/cubejs-api-gateway/CHANGELOG.md +++ b/packages/cubejs-api-gateway/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) + +**Note:** Version bump only for package @cubejs-backend/api-gateway + + + + + ## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) ### Bug Fixes diff --git a/packages/cubejs-api-gateway/package.json b/packages/cubejs-api-gateway/package.json index 939e97459..4a3522bde 100644 --- a/packages/cubejs-api-gateway/package.json +++ b/packages/cubejs-api-gateway/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/api-gateway", "description": "Cube.js API Gateway", "author": "Cube Dev, Inc.", - "version": "1.2.17", + "version": "1.2.18", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -27,8 +27,8 @@ "dist/src/*" ], "dependencies": { - "@cubejs-backend/native": "1.2.17", - "@cubejs-backend/shared": "1.2.17", + "@cubejs-backend/native": "1.2.18", + "@cubejs-backend/shared": "1.2.18", "@ungap/structured-clone": "^0.3.4", "body-parser": "^1.19.0", "chrono-node": "^2.6.2", @@ -50,7 +50,7 @@ "uuid": "^8.3.2" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.17", + "@cubejs-backend/linter": "1.2.18", "@types/express": "^4.17.21", "@types/jest": "^27", "@types/jsonwebtoken": "^9.0.2", diff --git a/packages/cubejs-athena-driver/CHANGELOG.md b/packages/cubejs-athena-driver/CHANGELOG.md index 5671095cd..e98b1a09c 100644 --- a/packages/cubejs-athena-driver/CHANGELOG.md +++ b/packages/cubejs-athena-driver/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) + +**Note:** Version bump only for package @cubejs-backend/athena-driver + + + + + ## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) **Note:** Version bump only for package @cubejs-backend/athena-driver diff --git a/packages/cubejs-athena-driver/package.json b/packages/cubejs-athena-driver/package.json index 8a265fcf0..c2f8c7a7f 100644 --- a/packages/cubejs-athena-driver/package.json +++ b/packages/cubejs-athena-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/athena-driver", "description": "Cube.js Athena database driver", "author": "Cube Dev, Inc.", - "version": "1.2.17", + "version": "1.2.18", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -29,13 +29,13 @@ "types": "dist/src/index.d.ts", "dependencies": { "@aws-sdk/client-athena": "^3.22.0", - "@cubejs-backend/base-driver": "1.2.17", - "@cubejs-backend/shared": "1.2.17", + "@cubejs-backend/base-driver": "1.2.18", + "@cubejs-backend/shared": "1.2.18", "sqlstring": "^2.3.1" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.17", - "@cubejs-backend/testing-shared": "1.2.17", + "@cubejs-backend/linter": "1.2.18", + "@cubejs-backend/testing-shared": "1.2.18", "@types/ramda": "^0.27.40", "typescript": "~5.2.2" }, diff --git a/packages/cubejs-backend-cloud/CHANGELOG.md b/packages/cubejs-backend-cloud/CHANGELOG.md index cd45cf2fa..bc0c9ca59 100644 --- a/packages/cubejs-backend-cloud/CHANGELOG.md +++ b/packages/cubejs-backend-cloud/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) + +**Note:** Version bump only for package @cubejs-backend/cloud + + + + + ## [1.2.17](/compare/v1.2.16...v1.2.17) (2025-03-05) **Note:** Version bump only for package @cubejs-backend/cloud diff --git a/packages/cubejs-backend-cloud/package.json b/packages/cubejs-backend-cloud/package.json index cf0fecfa6..6f08871f9 100644 --- a/packages/cubejs-backend-cloud/package.json +++ b/packages/cubejs-backend-cloud/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-backend/cloud", - "version": "1.2.17", + "version": "1.2.18", "description": "Cube Cloud package", "main": "dist/src/index.js", "typings": "dist/src/index.d.ts", @@ -25,7 +25,7 @@ "devDependencies": { "@babel/core": "^7.24.5", "@babel/preset-env": "^7.24.5", - "@cubejs-backend/linter": "1.2.17", + "@cubejs-backend/linter": "1.2.18", "@types/fs-extra": "^9.0.8", "@types/jest": "^27", "jest": "^27", @@ -33,7 +33,7 @@ }, "dependencies": { "@cubejs-backend/dotenv": "^9.0.2", - "@cubejs-backend/shared": "1.2.17", + "@cubejs-backend/shared": "1.2.18", "chokidar": "^3.5.1", "env-var": "^6.3.0", "form-data": "^4.0.0", diff --git a/packages/cubejs-backend-maven/CHANGELOG.md b/packages/cubejs-backend-maven/CHANGELOG.md index 466f9aba6..9b4e4a02f 100644 --- a/packages/cubejs-backend-maven/CHANGELOG.md +++ b/packages/cubejs-backend-maven/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) + +**Note:** Version bump only for package @cubejs-backend/maven + + + + + ## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) **Note:** Version bump only for package @cubejs-backend/maven diff --git a/packages/cubejs-backend-maven/package.json b/packages/cubejs-backend-maven/package.json index 60a918079..9998d2ed2 100644 --- a/packages/cubejs-backend-maven/package.json +++ b/packages/cubejs-backend-maven/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/maven", "description": "Cube.js Maven Wrapper for java dependencies downloading", "author": "Cube Dev, Inc.", - "version": "1.2.17", + "version": "1.2.18", "license": "Apache-2.0", "repository": { "type": "git", @@ -31,12 +31,12 @@ "dist/src/*" ], "dependencies": { - "@cubejs-backend/shared": "1.2.17", + "@cubejs-backend/shared": "1.2.18", "source-map-support": "^0.5.19", "xmlbuilder2": "^2.4.0" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.17", + "@cubejs-backend/linter": "1.2.18", "@types/jest": "^27", "@types/node": "^18", "jest": "^27", diff --git a/packages/cubejs-backend-native/CHANGELOG.md b/packages/cubejs-backend-native/CHANGELOG.md index 046376cf0..042cfca33 100644 --- a/packages/cubejs-backend-native/CHANGELOG.md +++ b/packages/cubejs-backend-native/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) + +**Note:** Version bump only for package @cubejs-backend/native + + + + + ## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) **Note:** Version bump only for package @cubejs-backend/native diff --git a/packages/cubejs-backend-native/package.json b/packages/cubejs-backend-native/package.json index 09f7a59d8..6e2638da7 100644 --- a/packages/cubejs-backend-native/package.json +++ b/packages/cubejs-backend-native/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-backend/native", - "version": "1.2.17", + "version": "1.2.18", "author": "Cube Dev, Inc.", "description": "Native module for Cube.js (binding to Rust codebase)", "main": "dist/js/index.js", @@ -34,7 +34,7 @@ "dist/js" ], "devDependencies": { - "@cubejs-backend/linter": "1.2.17", + "@cubejs-backend/linter": "1.2.18", "@types/jest": "^27", "@types/node": "^18", "cargo-cp-artifact": "^0.1.9", @@ -45,7 +45,7 @@ }, "dependencies": { "@cubejs-backend/cubesql": "1.2.17", - "@cubejs-backend/shared": "1.2.17", + "@cubejs-backend/shared": "1.2.18", "@cubejs-infra/post-installer": "^0.0.7" }, "resources": { diff --git a/packages/cubejs-backend-shared/CHANGELOG.md b/packages/cubejs-backend-shared/CHANGELOG.md index b50a1eda5..9d0e53468 100644 --- a/packages/cubejs-backend-shared/CHANGELOG.md +++ b/packages/cubejs-backend-shared/CHANGELOG.md @@ -3,6 +3,17 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) + + +### Bug Fixes + +* **query-orchestrator:** Fix improper pre-aggregation buildRange construction for non UTC timezones ([#9284](https://github.com/cube-js/cube/issues/9284)) ([ef12d8d](https://github.com/cube-js/cube/commit/ef12d8d02702df7dcc1e6531c1b0aee6afa576ef)) + + + + + ## [1.2.17](/compare/v1.2.16...v1.2.17) (2025-03-05) ### Bug Fixes diff --git a/packages/cubejs-backend-shared/package.json b/packages/cubejs-backend-shared/package.json index 51d2d9683..72fa34e5e 100644 --- a/packages/cubejs-backend-shared/package.json +++ b/packages/cubejs-backend-shared/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-backend/shared", - "version": "1.2.17", + "version": "1.2.18", "description": "Shared code for Cube.js backend packages", "main": "dist/src/index.js", "typings": "dist/src/index.d.ts", @@ -22,7 +22,7 @@ "author": "Cube Dev, Inc.", "license": "Apache-2.0", "devDependencies": { - "@cubejs-backend/linter": "1.2.17", + "@cubejs-backend/linter": "1.2.18", "@types/bytes": "^3.1.5", "@types/cli-progress": "^3.9.1", "@types/decompress": "^4.2.7", diff --git a/packages/cubejs-base-driver/CHANGELOG.md b/packages/cubejs-base-driver/CHANGELOG.md index 60691fb3b..736f53519 100644 --- a/packages/cubejs-base-driver/CHANGELOG.md +++ b/packages/cubejs-base-driver/CHANGELOG.md @@ -3,6 +3,17 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) + + +### Bug Fixes + +* **query-orchestrator:** Fix improper pre-aggregation buildRange construction for non UTC timezones ([#9284](https://github.com/cube-js/cube/issues/9284)) ([ef12d8d](https://github.com/cube-js/cube/commit/ef12d8d02702df7dcc1e6531c1b0aee6afa576ef)) + + + + + ## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) **Note:** Version bump only for package @cubejs-backend/base-driver diff --git a/packages/cubejs-base-driver/package.json b/packages/cubejs-base-driver/package.json index f34778a78..9033c9bca 100644 --- a/packages/cubejs-base-driver/package.json +++ b/packages/cubejs-base-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/base-driver", "description": "Cube.js Base Driver", "author": "Cube Dev, Inc.", - "version": "1.2.17", + "version": "1.2.18", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -33,11 +33,11 @@ "@aws-sdk/s3-request-presigner": "^3.49.0", "@azure/identity": "^4.4.1", "@azure/storage-blob": "^12.9.0", - "@cubejs-backend/shared": "1.2.17", + "@cubejs-backend/shared": "1.2.18", "@google-cloud/storage": "^7.13.0" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.17", + "@cubejs-backend/linter": "1.2.18", "@types/jest": "^27", "@types/node": "^18", "jest": "^27", diff --git a/packages/cubejs-bigquery-driver/CHANGELOG.md b/packages/cubejs-bigquery-driver/CHANGELOG.md index fa23c6792..0b79a67b1 100644 --- a/packages/cubejs-bigquery-driver/CHANGELOG.md +++ b/packages/cubejs-bigquery-driver/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) + +**Note:** Version bump only for package @cubejs-backend/bigquery-driver + + + + + ## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) **Note:** Version bump only for package @cubejs-backend/bigquery-driver diff --git a/packages/cubejs-bigquery-driver/package.json b/packages/cubejs-bigquery-driver/package.json index 813ece4d0..bbbecae88 100644 --- a/packages/cubejs-bigquery-driver/package.json +++ b/packages/cubejs-bigquery-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/bigquery-driver", "description": "Cube.js BigQuery database driver", "author": "Cube Dev, Inc.", - "version": "1.2.17", + "version": "1.2.18", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -28,15 +28,15 @@ "main": "index.js", "types": "dist/src/index.d.ts", "dependencies": { - "@cubejs-backend/base-driver": "1.2.17", + "@cubejs-backend/base-driver": "1.2.18", "@cubejs-backend/dotenv": "^9.0.2", - "@cubejs-backend/shared": "1.2.17", + "@cubejs-backend/shared": "1.2.18", "@google-cloud/bigquery": "^7.7.0", "@google-cloud/storage": "^7.13.0", "ramda": "^0.27.2" }, "devDependencies": { - "@cubejs-backend/testing-shared": "1.2.17", + "@cubejs-backend/testing-shared": "1.2.18", "@types/big.js": "^6.2.2", "@types/dedent": "^0.7.0", "@types/jest": "^27", diff --git a/packages/cubejs-cli/CHANGELOG.md b/packages/cubejs-cli/CHANGELOG.md index 710f2939b..6f09eb4b6 100644 --- a/packages/cubejs-cli/CHANGELOG.md +++ b/packages/cubejs-cli/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) + +**Note:** Version bump only for package cubejs-cli + + + + + ## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) **Note:** Version bump only for package cubejs-cli diff --git a/packages/cubejs-cli/package.json b/packages/cubejs-cli/package.json index 2debb358b..e59ef2840 100644 --- a/packages/cubejs-cli/package.json +++ b/packages/cubejs-cli/package.json @@ -2,7 +2,7 @@ "name": "cubejs-cli", "description": "Cube.js Command Line Interface", "author": "Cube Dev, Inc.", - "version": "1.2.17", + "version": "1.2.18", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -30,10 +30,10 @@ "LICENSE" ], "dependencies": { - "@cubejs-backend/cloud": "1.2.17", + "@cubejs-backend/cloud": "1.2.18", "@cubejs-backend/dotenv": "^9.0.2", - "@cubejs-backend/schema-compiler": "1.2.17", - "@cubejs-backend/shared": "1.2.17", + "@cubejs-backend/schema-compiler": "1.2.18", + "@cubejs-backend/shared": "1.2.18", "chalk": "^2.4.2", "cli-progress": "^3.10", "commander": "^2.19.0", @@ -50,8 +50,8 @@ "colors": "1.4.0" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.17", - "@cubejs-backend/server": "1.2.17", + "@cubejs-backend/linter": "1.2.18", + "@cubejs-backend/server": "1.2.18", "@oclif/command": "^1.8.0", "@types/cli-progress": "^3.8.0", "@types/cross-spawn": "^6.0.2", diff --git a/packages/cubejs-clickhouse-driver/CHANGELOG.md b/packages/cubejs-clickhouse-driver/CHANGELOG.md index 7a54c0e45..1b89d8030 100644 --- a/packages/cubejs-clickhouse-driver/CHANGELOG.md +++ b/packages/cubejs-clickhouse-driver/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) + +**Note:** Version bump only for package @cubejs-backend/clickhouse-driver + + + + + ## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) **Note:** Version bump only for package @cubejs-backend/clickhouse-driver diff --git a/packages/cubejs-clickhouse-driver/package.json b/packages/cubejs-clickhouse-driver/package.json index 0bfa3255f..b3d825be6 100644 --- a/packages/cubejs-clickhouse-driver/package.json +++ b/packages/cubejs-clickhouse-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/clickhouse-driver", "description": "Cube.js ClickHouse database driver", "author": "Cube Dev, Inc.", - "version": "1.2.17", + "version": "1.2.18", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -28,16 +28,16 @@ }, "dependencies": { "@clickhouse/client": "^1.7.0", - "@cubejs-backend/base-driver": "1.2.17", - "@cubejs-backend/shared": "1.2.17", + "@cubejs-backend/base-driver": "1.2.18", + "@cubejs-backend/shared": "1.2.18", "moment": "^2.24.0", "sqlstring": "^2.3.1", "uuid": "^8.3.2" }, "license": "Apache-2.0", "devDependencies": { - "@cubejs-backend/linter": "1.2.17", - "@cubejs-backend/testing-shared": "1.2.17", + "@cubejs-backend/linter": "1.2.18", + "@cubejs-backend/testing-shared": "1.2.18", "@types/jest": "^27", "jest": "^27", "typescript": "~5.2.2" diff --git a/packages/cubejs-client-core/CHANGELOG.md b/packages/cubejs-client-core/CHANGELOG.md index 47d3eba21..3096000be 100644 --- a/packages/cubejs-client-core/CHANGELOG.md +++ b/packages/cubejs-client-core/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) + +**Note:** Version bump only for package @cubejs-client/core + + + + + ## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) **Note:** Version bump only for package @cubejs-client/core diff --git a/packages/cubejs-client-core/package.json b/packages/cubejs-client-core/package.json index 2e79bc70c..bfd4de758 100644 --- a/packages/cubejs-client-core/package.json +++ b/packages/cubejs-client-core/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-client/core", - "version": "1.2.17", + "version": "1.2.18", "engines": {}, "repository": { "type": "git", diff --git a/packages/cubejs-client-dx/CHANGELOG.md b/packages/cubejs-client-dx/CHANGELOG.md index d0838c752..ee10153ae 100644 --- a/packages/cubejs-client-dx/CHANGELOG.md +++ b/packages/cubejs-client-dx/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) + +**Note:** Version bump only for package @cubejs-client/dx + + + + + ## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) **Note:** Version bump only for package @cubejs-client/dx diff --git a/packages/cubejs-client-dx/package.json b/packages/cubejs-client-dx/package.json index 09b5d0942..f6fa545b9 100644 --- a/packages/cubejs-client-dx/package.json +++ b/packages/cubejs-client-dx/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-client/dx", - "version": "1.2.17", + "version": "1.2.18", "engines": {}, "repository": { "type": "git", diff --git a/packages/cubejs-client-ngx/CHANGELOG.md b/packages/cubejs-client-ngx/CHANGELOG.md index 94747d66a..a399d3421 100644 --- a/packages/cubejs-client-ngx/CHANGELOG.md +++ b/packages/cubejs-client-ngx/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) + +**Note:** Version bump only for package @cubejs-client/ngx + + + + + ## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) **Note:** Version bump only for package @cubejs-client/ngx diff --git a/packages/cubejs-client-ngx/package.json b/packages/cubejs-client-ngx/package.json index 85eaec55e..2f6695cd2 100644 --- a/packages/cubejs-client-ngx/package.json +++ b/packages/cubejs-client-ngx/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-client/ngx", - "version": "1.2.17", + "version": "1.2.18", "author": "Cube Dev, Inc.", "engines": {}, "repository": { diff --git a/packages/cubejs-client-react/CHANGELOG.md b/packages/cubejs-client-react/CHANGELOG.md index dd8dafd34..2cd365058 100644 --- a/packages/cubejs-client-react/CHANGELOG.md +++ b/packages/cubejs-client-react/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) + +**Note:** Version bump only for package @cubejs-client/react + + + + + ## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) **Note:** Version bump only for package @cubejs-client/react diff --git a/packages/cubejs-client-react/package.json b/packages/cubejs-client-react/package.json index 8b526377b..01eef504f 100644 --- a/packages/cubejs-client-react/package.json +++ b/packages/cubejs-client-react/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-client/react", - "version": "1.2.17", + "version": "1.2.18", "author": "Cube Dev, Inc.", "license": "MIT", "engines": {}, @@ -24,7 +24,7 @@ ], "dependencies": { "@babel/runtime": "^7.1.2", - "@cubejs-client/core": "1.2.17", + "@cubejs-client/core": "1.2.18", "core-js": "^3.6.5", "ramda": "^0.27.2" }, diff --git a/packages/cubejs-client-vue/CHANGELOG.md b/packages/cubejs-client-vue/CHANGELOG.md index b8209107b..d35432e9a 100644 --- a/packages/cubejs-client-vue/CHANGELOG.md +++ b/packages/cubejs-client-vue/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.18](https://github.com/cube-js/cube.js/compare/v1.2.17...v1.2.18) (2025-03-06) + +**Note:** Version bump only for package @cubejs-client/vue + + + + + ## [1.2.17](https://github.com/cube-js/cube.js/compare/v1.2.16...v1.2.17) (2025-03-05) **Note:** Version bump only for package @cubejs-client/vue diff --git a/packages/cubejs-client-vue/package.json b/packages/cubejs-client-vue/package.json index b45a172d4..abb99b8b3 100644 --- a/packages/cubejs-client-vue/package.json +++ b/packages/cubejs-client-vue/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-client/vue", - "version": "1.2.17", + "version": "1.2.18", "engines": {}, "repository": { "type": "git", @@ -28,7 +28,7 @@ "src" ], "dependencies": { - "@cubejs-client/core": "1.2.17", + "@cubejs-client/core": "1.2.18", "core-js": "^3.6.5", "ramda": "^0.27.2" }, diff --git a/packages/cubejs-client-vue3/CHANGELOG.md b/packages/cubejs-client-vue3/CHANGELOG.md index 22f8f42bf..2eb3340e6 100644 --- a/packages/cubejs-client-vue3/CHANGELOG.md +++ b/packages/cubejs-client-vue3/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.18](https://github.com/cube-js/cube.js/compare/v1.2.17...v1.2.18) (2025-03-06) + +**Note:** Version bump only for package @cubejs-client/vue3 + + + + + ## [1.2.17](https://github.com/cube-js/cube.js/compare/v1.2.16...v1.2.17) (2025-03-05) **Note:** Version bump only for package @cubejs-client/vue3 diff --git a/packages/cubejs-client-vue3/package.json b/packages/cubejs-client-vue3/package.json index ceb1def71..3ab1be525 100644 --- a/packages/cubejs-client-vue3/package.json +++ b/packages/cubejs-client-vue3/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-client/vue3", - "version": "1.2.17", + "version": "1.2.18", "engines": {}, "repository": { "type": "git", @@ -28,7 +28,7 @@ "src" ], "dependencies": { - "@cubejs-client/core": "1.2.17", + "@cubejs-client/core": "1.2.18", "@vue/compiler-sfc": "^3.0.11", "core-js": "^3.6.5", "flush-promises": "^1.0.2", diff --git a/packages/cubejs-client-ws-transport/CHANGELOG.md b/packages/cubejs-client-ws-transport/CHANGELOG.md index 86274c2e0..759878ec2 100644 --- a/packages/cubejs-client-ws-transport/CHANGELOG.md +++ b/packages/cubejs-client-ws-transport/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) + +**Note:** Version bump only for package @cubejs-client/ws-transport + + + + + ## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) **Note:** Version bump only for package @cubejs-client/ws-transport diff --git a/packages/cubejs-client-ws-transport/package.json b/packages/cubejs-client-ws-transport/package.json index 44f9a241d..270289426 100644 --- a/packages/cubejs-client-ws-transport/package.json +++ b/packages/cubejs-client-ws-transport/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-client/ws-transport", - "version": "1.2.17", + "version": "1.2.18", "engines": {}, "repository": { "type": "git", @@ -20,7 +20,7 @@ }, "dependencies": { "@babel/runtime": "^7.1.2", - "@cubejs-client/core": "1.2.17", + "@cubejs-client/core": "1.2.18", "core-js": "^3.6.5", "isomorphic-ws": "^4.0.1", "ws": "^7.3.1" @@ -34,7 +34,7 @@ "@babel/core": "^7.3.3", "@babel/preset-env": "^7.3.1", "@babel/preset-typescript": "^7.12.1", - "@cubejs-backend/linter": "1.2.17", + "@cubejs-backend/linter": "1.2.18", "@types/ws": "^7.2.9", "babel-jest": "^27", "jest": "^27", diff --git a/packages/cubejs-crate-driver/CHANGELOG.md b/packages/cubejs-crate-driver/CHANGELOG.md index e270db0f7..5f4617c06 100644 --- a/packages/cubejs-crate-driver/CHANGELOG.md +++ b/packages/cubejs-crate-driver/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) + +**Note:** Version bump only for package @cubejs-backend/crate-driver + + + + + ## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) **Note:** Version bump only for package @cubejs-backend/crate-driver diff --git a/packages/cubejs-crate-driver/package.json b/packages/cubejs-crate-driver/package.json index 26fbfd074..6c8fd75e2 100644 --- a/packages/cubejs-crate-driver/package.json +++ b/packages/cubejs-crate-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/crate-driver", "description": "Cube.js Crate database driver", "author": "Cube Dev, Inc.", - "version": "1.2.17", + "version": "1.2.18", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -28,14 +28,14 @@ "lint:fix": "eslint --fix src/* --ext .ts" }, "dependencies": { - "@cubejs-backend/postgres-driver": "1.2.17", - "@cubejs-backend/shared": "1.2.17", + "@cubejs-backend/postgres-driver": "1.2.18", + "@cubejs-backend/shared": "1.2.18", "pg": "^8.7.1" }, "license": "Apache-2.0", "devDependencies": { - "@cubejs-backend/linter": "1.2.17", - "@cubejs-backend/testing-shared": "1.2.17", + "@cubejs-backend/linter": "1.2.18", + "@cubejs-backend/testing-shared": "1.2.18", "testcontainers": "^10.13.0", "typescript": "~5.2.2" }, diff --git a/packages/cubejs-cubestore-driver/CHANGELOG.md b/packages/cubejs-cubestore-driver/CHANGELOG.md index 58aa22dfc..ab77191b7 100644 --- a/packages/cubejs-cubestore-driver/CHANGELOG.md +++ b/packages/cubejs-cubestore-driver/CHANGELOG.md @@ -3,6 +3,17 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) + + +### Bug Fixes + +* **query-orchestrator:** Fix improper pre-aggregation buildRange construction for non UTC timezones ([#9284](https://github.com/cube-js/cube/issues/9284)) ([ef12d8d](https://github.com/cube-js/cube/commit/ef12d8d02702df7dcc1e6531c1b0aee6afa576ef)) + + + + + ## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) **Note:** Version bump only for package @cubejs-backend/cubestore-driver diff --git a/packages/cubejs-cubestore-driver/package.json b/packages/cubejs-cubestore-driver/package.json index b9106ca1e..4239aa676 100644 --- a/packages/cubejs-cubestore-driver/package.json +++ b/packages/cubejs-cubestore-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/cubestore-driver", "description": "Cube Store driver", "author": "Cube Dev, Inc.", - "version": "1.2.17", + "version": "1.2.18", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -26,10 +26,10 @@ "lint:fix": "eslint --fix src/*.ts" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.17", + "@cubejs-backend/base-driver": "1.2.18", "@cubejs-backend/cubestore": "1.2.17", - "@cubejs-backend/native": "1.2.17", - "@cubejs-backend/shared": "1.2.17", + "@cubejs-backend/native": "1.2.18", + "@cubejs-backend/shared": "1.2.18", "csv-write-stream": "^2.0.0", "flatbuffers": "23.3.3", "fs-extra": "^9.1.0", @@ -41,7 +41,7 @@ "ws": "^7.4.3" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.17", + "@cubejs-backend/linter": "1.2.18", "@types/csv-write-stream": "^2.0.0", "@types/generic-pool": "^3.1.9", "@types/node": "^18", diff --git a/packages/cubejs-databricks-jdbc-driver/CHANGELOG.md b/packages/cubejs-databricks-jdbc-driver/CHANGELOG.md index d7c8a4162..7a3f1a823 100644 --- a/packages/cubejs-databricks-jdbc-driver/CHANGELOG.md +++ b/packages/cubejs-databricks-jdbc-driver/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) + +**Note:** Version bump only for package @cubejs-backend/databricks-jdbc-driver + + + + + ## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) **Note:** Version bump only for package @cubejs-backend/databricks-jdbc-driver diff --git a/packages/cubejs-databricks-jdbc-driver/package.json b/packages/cubejs-databricks-jdbc-driver/package.json index 6a049145d..31d62ec8f 100644 --- a/packages/cubejs-databricks-jdbc-driver/package.json +++ b/packages/cubejs-databricks-jdbc-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/databricks-jdbc-driver", "description": "Cube.js Databricks database driver", "author": "Cube Dev, Inc.", - "version": "1.2.17", + "version": "1.2.18", "license": "Apache-2.0", "repository": { "type": "git", @@ -30,17 +30,17 @@ "bin" ], "dependencies": { - "@cubejs-backend/base-driver": "1.2.17", - "@cubejs-backend/jdbc-driver": "1.2.17", - "@cubejs-backend/schema-compiler": "1.2.17", - "@cubejs-backend/shared": "1.2.17", + "@cubejs-backend/base-driver": "1.2.18", + "@cubejs-backend/jdbc-driver": "1.2.18", + "@cubejs-backend/schema-compiler": "1.2.18", + "@cubejs-backend/shared": "1.2.18", "node-fetch": "^2.6.1", "ramda": "^0.27.2", "source-map-support": "^0.5.19", "uuid": "^8.3.2" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.17", + "@cubejs-backend/linter": "1.2.18", "@types/generic-pool": "^3.1.9", "@types/jest": "^27", "@types/node": "^18", diff --git a/packages/cubejs-dbt-schema-extension/CHANGELOG.md b/packages/cubejs-dbt-schema-extension/CHANGELOG.md index 396ccf3c4..8c663c353 100644 --- a/packages/cubejs-dbt-schema-extension/CHANGELOG.md +++ b/packages/cubejs-dbt-schema-extension/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) + +**Note:** Version bump only for package @cubejs-backend/dbt-schema-extension + + + + + ## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) **Note:** Version bump only for package @cubejs-backend/dbt-schema-extension diff --git a/packages/cubejs-dbt-schema-extension/package.json b/packages/cubejs-dbt-schema-extension/package.json index 17994b270..bede468da 100644 --- a/packages/cubejs-dbt-schema-extension/package.json +++ b/packages/cubejs-dbt-schema-extension/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/dbt-schema-extension", "description": "Cube.js dbt Schema Extension", "author": "Cube Dev, Inc.", - "version": "1.2.17", + "version": "1.2.18", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -25,14 +25,14 @@ "lint:fix": "eslint --fix src/* --ext .ts,.js" }, "dependencies": { - "@cubejs-backend/schema-compiler": "1.2.17", + "@cubejs-backend/schema-compiler": "1.2.18", "fs-extra": "^9.1.0", "inflection": "^1.12.0", "node-fetch": "^2.6.1" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.17", - "@cubejs-backend/testing": "1.2.17", + "@cubejs-backend/linter": "1.2.18", + "@cubejs-backend/testing": "1.2.18", "@types/generic-pool": "^3.1.9", "@types/jest": "^27", "jest": "^27", diff --git a/packages/cubejs-docker/CHANGELOG.md b/packages/cubejs-docker/CHANGELOG.md index 4773dc765..c72fad64b 100644 --- a/packages/cubejs-docker/CHANGELOG.md +++ b/packages/cubejs-docker/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) + +**Note:** Version bump only for package @cubejs-backend/docker + + + + + ## [1.2.17](/compare/v1.2.16...v1.2.17) (2025-03-05) ### Bug Fixes diff --git a/packages/cubejs-docker/package.json b/packages/cubejs-docker/package.json index faa869d54..be307b7d8 100644 --- a/packages/cubejs-docker/package.json +++ b/packages/cubejs-docker/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-backend/docker", - "version": "1.2.17", + "version": "1.2.18", "description": "Cube.js In Docker (virtual package)", "author": "Cube Dev, Inc.", "license": "Apache-2.0", @@ -9,35 +9,35 @@ "node": "^14.0.0 || ^16.0.0 || >=17.0.0" }, "dependencies": { - "@cubejs-backend/athena-driver": "1.2.17", - "@cubejs-backend/bigquery-driver": "1.2.17", - "@cubejs-backend/clickhouse-driver": "1.2.17", - "@cubejs-backend/crate-driver": "1.2.17", - "@cubejs-backend/databricks-jdbc-driver": "1.2.17", - "@cubejs-backend/dbt-schema-extension": "1.2.17", - "@cubejs-backend/dremio-driver": "1.2.17", - "@cubejs-backend/druid-driver": "1.2.17", - "@cubejs-backend/duckdb-driver": "1.2.17", - "@cubejs-backend/elasticsearch-driver": "1.2.17", - "@cubejs-backend/firebolt-driver": "1.2.17", - "@cubejs-backend/hive-driver": "1.2.17", - "@cubejs-backend/ksql-driver": "1.2.17", - "@cubejs-backend/materialize-driver": "1.2.17", - "@cubejs-backend/mongobi-driver": "1.2.17", - "@cubejs-backend/mssql-driver": "1.2.17", - "@cubejs-backend/mysql-driver": "1.2.17", - "@cubejs-backend/oracle-driver": "1.2.17", - "@cubejs-backend/pinot-driver": "1.2.17", - "@cubejs-backend/postgres-driver": "1.2.17", - "@cubejs-backend/prestodb-driver": "1.2.17", - "@cubejs-backend/questdb-driver": "1.2.17", - "@cubejs-backend/redshift-driver": "1.2.17", - "@cubejs-backend/server": "1.2.17", - "@cubejs-backend/snowflake-driver": "1.2.17", - "@cubejs-backend/sqlite-driver": "1.2.17", - "@cubejs-backend/trino-driver": "1.2.17", - "@cubejs-backend/vertica-driver": "1.2.17", - "cubejs-cli": "1.2.17", + "@cubejs-backend/athena-driver": "1.2.18", + "@cubejs-backend/bigquery-driver": "1.2.18", + "@cubejs-backend/clickhouse-driver": "1.2.18", + "@cubejs-backend/crate-driver": "1.2.18", + "@cubejs-backend/databricks-jdbc-driver": "1.2.18", + "@cubejs-backend/dbt-schema-extension": "1.2.18", + "@cubejs-backend/dremio-driver": "1.2.18", + "@cubejs-backend/druid-driver": "1.2.18", + "@cubejs-backend/duckdb-driver": "1.2.18", + "@cubejs-backend/elasticsearch-driver": "1.2.18", + "@cubejs-backend/firebolt-driver": "1.2.18", + "@cubejs-backend/hive-driver": "1.2.18", + "@cubejs-backend/ksql-driver": "1.2.18", + "@cubejs-backend/materialize-driver": "1.2.18", + "@cubejs-backend/mongobi-driver": "1.2.18", + "@cubejs-backend/mssql-driver": "1.2.18", + "@cubejs-backend/mysql-driver": "1.2.18", + "@cubejs-backend/oracle-driver": "1.2.18", + "@cubejs-backend/pinot-driver": "1.2.18", + "@cubejs-backend/postgres-driver": "1.2.18", + "@cubejs-backend/prestodb-driver": "1.2.18", + "@cubejs-backend/questdb-driver": "1.2.18", + "@cubejs-backend/redshift-driver": "1.2.18", + "@cubejs-backend/server": "1.2.18", + "@cubejs-backend/snowflake-driver": "1.2.18", + "@cubejs-backend/sqlite-driver": "1.2.18", + "@cubejs-backend/trino-driver": "1.2.18", + "@cubejs-backend/vertica-driver": "1.2.18", + "cubejs-cli": "1.2.18", "typescript": "~5.2.2" }, "resolutions": { diff --git a/packages/cubejs-dremio-driver/CHANGELOG.md b/packages/cubejs-dremio-driver/CHANGELOG.md index 8b2507b2a..e2a936d9b 100644 --- a/packages/cubejs-dremio-driver/CHANGELOG.md +++ b/packages/cubejs-dremio-driver/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) + +**Note:** Version bump only for package @cubejs-backend/dremio-driver + + + + + ## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) **Note:** Version bump only for package @cubejs-backend/dremio-driver diff --git a/packages/cubejs-dremio-driver/package.json b/packages/cubejs-dremio-driver/package.json index 850d46933..d6a5a3271 100644 --- a/packages/cubejs-dremio-driver/package.json +++ b/packages/cubejs-dremio-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/dremio-driver", "description": "Cube.js Dremio driver", "author": "Cube Dev, Inc.", - "version": "1.2.17", + "version": "1.2.18", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -22,15 +22,15 @@ "lint:fix": "eslint driver/*.js" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.17", - "@cubejs-backend/schema-compiler": "1.2.17", - "@cubejs-backend/shared": "1.2.17", + "@cubejs-backend/base-driver": "1.2.18", + "@cubejs-backend/schema-compiler": "1.2.18", + "@cubejs-backend/shared": "1.2.18", "axios": "^0.28.0", "sqlstring": "^2.3.1" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.17", - "@cubejs-backend/testing-shared": "1.2.17", + "@cubejs-backend/linter": "1.2.18", + "@cubejs-backend/testing-shared": "1.2.18", "jest": "^27" }, "license": "Apache-2.0", diff --git a/packages/cubejs-druid-driver/CHANGELOG.md b/packages/cubejs-druid-driver/CHANGELOG.md index 884db8ff0..1302a127d 100644 --- a/packages/cubejs-druid-driver/CHANGELOG.md +++ b/packages/cubejs-druid-driver/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) + +**Note:** Version bump only for package @cubejs-backend/druid-driver + + + + + ## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) **Note:** Version bump only for package @cubejs-backend/druid-driver diff --git a/packages/cubejs-druid-driver/package.json b/packages/cubejs-druid-driver/package.json index 0ba787e20..46cefcdd2 100644 --- a/packages/cubejs-druid-driver/package.json +++ b/packages/cubejs-druid-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/druid-driver", "description": "Cube.js Druid database driver", "author": "Cube Dev, Inc.", - "version": "1.2.17", + "version": "1.2.18", "license": "Apache-2.0", "repository": { "type": "git", @@ -28,13 +28,13 @@ "dist/src/*" ], "dependencies": { - "@cubejs-backend/base-driver": "1.2.17", - "@cubejs-backend/schema-compiler": "1.2.17", - "@cubejs-backend/shared": "1.2.17", + "@cubejs-backend/base-driver": "1.2.18", + "@cubejs-backend/schema-compiler": "1.2.18", + "@cubejs-backend/shared": "1.2.18", "axios": "^0.28.0" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.17", + "@cubejs-backend/linter": "1.2.18", "@types/generic-pool": "^3.1.9", "@types/jest": "^27", "@types/node": "^18", diff --git a/packages/cubejs-duckdb-driver/CHANGELOG.md b/packages/cubejs-duckdb-driver/CHANGELOG.md index 238dedfdd..461432508 100644 --- a/packages/cubejs-duckdb-driver/CHANGELOG.md +++ b/packages/cubejs-duckdb-driver/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) + +**Note:** Version bump only for package @cubejs-backend/duckdb-driver + + + + + ## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) ### Features diff --git a/packages/cubejs-duckdb-driver/package.json b/packages/cubejs-duckdb-driver/package.json index eceaab31e..51c58cfcf 100644 --- a/packages/cubejs-duckdb-driver/package.json +++ b/packages/cubejs-duckdb-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/duckdb-driver", "description": "Cube DuckDB database driver", "author": "Cube Dev, Inc.", - "version": "1.2.17", + "version": "1.2.18", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -27,15 +27,15 @@ "lint:fix": "eslint --fix src/* --ext .ts" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.17", - "@cubejs-backend/schema-compiler": "1.2.17", - "@cubejs-backend/shared": "1.2.17", + "@cubejs-backend/base-driver": "1.2.18", + "@cubejs-backend/schema-compiler": "1.2.18", + "@cubejs-backend/shared": "1.2.18", "duckdb": "^1.1.3" }, "license": "Apache-2.0", "devDependencies": { - "@cubejs-backend/linter": "1.2.17", - "@cubejs-backend/testing-shared": "1.2.17", + "@cubejs-backend/linter": "1.2.18", + "@cubejs-backend/testing-shared": "1.2.18", "@types/jest": "^27", "@types/node": "^18", "jest": "^27", diff --git a/packages/cubejs-elasticsearch-driver/CHANGELOG.md b/packages/cubejs-elasticsearch-driver/CHANGELOG.md index 323a8e1c3..447a55e51 100644 --- a/packages/cubejs-elasticsearch-driver/CHANGELOG.md +++ b/packages/cubejs-elasticsearch-driver/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) + +**Note:** Version bump only for package @cubejs-backend/elasticsearch-driver + + + + + ## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) **Note:** Version bump only for package @cubejs-backend/elasticsearch-driver diff --git a/packages/cubejs-elasticsearch-driver/package.json b/packages/cubejs-elasticsearch-driver/package.json index 07feed0ad..d49abdb69 100644 --- a/packages/cubejs-elasticsearch-driver/package.json +++ b/packages/cubejs-elasticsearch-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/elasticsearch-driver", "description": "Cube.js elasticsearch database driver", "author": "Cube Dev, Inc.", - "version": "1.2.17", + "version": "1.2.18", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -23,14 +23,14 @@ "driver" ], "dependencies": { - "@cubejs-backend/base-driver": "1.2.17", - "@cubejs-backend/shared": "1.2.17", + "@cubejs-backend/base-driver": "1.2.18", + "@cubejs-backend/shared": "1.2.18", "@elastic/elasticsearch": "7.12.0", "sqlstring": "^2.3.1" }, "license": "Apache-2.0", "devDependencies": { - "@cubejs-backend/linter": "1.2.17", + "@cubejs-backend/linter": "1.2.18", "@types/jest": "^27", "jest": "^27", "testcontainers": "^10.10.4" diff --git a/packages/cubejs-firebolt-driver/CHANGELOG.md b/packages/cubejs-firebolt-driver/CHANGELOG.md index bb7aa58df..24040d052 100644 --- a/packages/cubejs-firebolt-driver/CHANGELOG.md +++ b/packages/cubejs-firebolt-driver/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) + +**Note:** Version bump only for package @cubejs-backend/firebolt-driver + + + + + ## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) **Note:** Version bump only for package @cubejs-backend/firebolt-driver diff --git a/packages/cubejs-firebolt-driver/package.json b/packages/cubejs-firebolt-driver/package.json index dfcd5d811..ea2e9e0d9 100644 --- a/packages/cubejs-firebolt-driver/package.json +++ b/packages/cubejs-firebolt-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/firebolt-driver", "description": "Cube.js Firebolt database driver", "author": "Cube Dev, Inc.", - "version": "1.2.17", + "version": "1.2.18", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -28,15 +28,15 @@ "lint:fix": "eslint --fix src/* --ext .ts" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.17", - "@cubejs-backend/schema-compiler": "1.2.17", - "@cubejs-backend/shared": "1.2.17", + "@cubejs-backend/base-driver": "1.2.18", + "@cubejs-backend/schema-compiler": "1.2.18", + "@cubejs-backend/shared": "1.2.18", "firebolt-sdk": "1.10.0" }, "license": "Apache-2.0", "devDependencies": { - "@cubejs-backend/linter": "1.2.17", - "@cubejs-backend/testing-shared": "1.2.17", + "@cubejs-backend/linter": "1.2.18", + "@cubejs-backend/testing-shared": "1.2.18", "typescript": "~5.2.2" }, "publishConfig": { diff --git a/packages/cubejs-hive-driver/CHANGELOG.md b/packages/cubejs-hive-driver/CHANGELOG.md index 35180be41..2cded9929 100644 --- a/packages/cubejs-hive-driver/CHANGELOG.md +++ b/packages/cubejs-hive-driver/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) + +**Note:** Version bump only for package @cubejs-backend/hive-driver + + + + + ## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) **Note:** Version bump only for package @cubejs-backend/hive-driver diff --git a/packages/cubejs-hive-driver/package.json b/packages/cubejs-hive-driver/package.json index 4d856387e..076b91721 100644 --- a/packages/cubejs-hive-driver/package.json +++ b/packages/cubejs-hive-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/hive-driver", "description": "Cube.js Hive database driver", "author": "Cube Dev, Inc.", - "version": "1.2.17", + "version": "1.2.18", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -17,8 +17,8 @@ "lint:fix": "eslint --fix src/* --ext .ts" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.17", - "@cubejs-backend/shared": "1.2.17", + "@cubejs-backend/base-driver": "1.2.18", + "@cubejs-backend/shared": "1.2.18", "generic-pool": "^3.6.0", "jshs2": "^0.4.4", "sasl-plain": "^0.1.0", @@ -28,7 +28,7 @@ }, "license": "Apache-2.0", "devDependencies": { - "@cubejs-backend/linter": "1.2.17" + "@cubejs-backend/linter": "1.2.18" }, "publishConfig": { "access": "public" diff --git a/packages/cubejs-jdbc-driver/CHANGELOG.md b/packages/cubejs-jdbc-driver/CHANGELOG.md index 317a71120..d24194a82 100644 --- a/packages/cubejs-jdbc-driver/CHANGELOG.md +++ b/packages/cubejs-jdbc-driver/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) + +**Note:** Version bump only for package @cubejs-backend/jdbc-driver + + + + + ## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) **Note:** Version bump only for package @cubejs-backend/jdbc-driver diff --git a/packages/cubejs-jdbc-driver/package.json b/packages/cubejs-jdbc-driver/package.json index d1e14d2e2..ba7ef531a 100644 --- a/packages/cubejs-jdbc-driver/package.json +++ b/packages/cubejs-jdbc-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/jdbc-driver", "description": "Cube.js JDBC database driver", "author": "Cube Dev, Inc.", - "version": "1.2.17", + "version": "1.2.18", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -25,8 +25,8 @@ "index.js" ], "dependencies": { - "@cubejs-backend/base-driver": "1.2.17", - "@cubejs-backend/shared": "1.2.17", + "@cubejs-backend/base-driver": "1.2.18", + "@cubejs-backend/shared": "1.2.18", "generic-pool": "^3.1.7", "node-java-maven": "^0.1.2", "sqlstring": "^2.3.0" @@ -43,7 +43,7 @@ "testEnvironment": "node" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.17", + "@cubejs-backend/linter": "1.2.18", "@types/generic-pool": "^3.1.9", "@types/node": "^18", "@types/sqlstring": "^2.3.0", diff --git a/packages/cubejs-ksql-driver/CHANGELOG.md b/packages/cubejs-ksql-driver/CHANGELOG.md index e8a9e7d1a..18e0e58c5 100644 --- a/packages/cubejs-ksql-driver/CHANGELOG.md +++ b/packages/cubejs-ksql-driver/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) + +**Note:** Version bump only for package @cubejs-backend/ksql-driver + + + + + ## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) **Note:** Version bump only for package @cubejs-backend/ksql-driver diff --git a/packages/cubejs-ksql-driver/package.json b/packages/cubejs-ksql-driver/package.json index c637b80a6..0270fd961 100644 --- a/packages/cubejs-ksql-driver/package.json +++ b/packages/cubejs-ksql-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/ksql-driver", "description": "Cube.js ksql database driver", "author": "Cube Dev, Inc.", - "version": "1.2.17", + "version": "1.2.18", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -25,9 +25,9 @@ "lint:fix": "eslint --fix src/* --ext .ts" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.17", - "@cubejs-backend/schema-compiler": "1.2.17", - "@cubejs-backend/shared": "1.2.17", + "@cubejs-backend/base-driver": "1.2.18", + "@cubejs-backend/schema-compiler": "1.2.18", + "@cubejs-backend/shared": "1.2.18", "async-mutex": "0.3.2", "axios": "^0.28.0", "kafkajs": "^2.2.3", @@ -44,7 +44,7 @@ "testEnvironment": "node" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.17", + "@cubejs-backend/linter": "1.2.18", "typescript": "~5.2.2" } } diff --git a/packages/cubejs-linter/CHANGELOG.md b/packages/cubejs-linter/CHANGELOG.md index 390484b9f..8134de9f0 100644 --- a/packages/cubejs-linter/CHANGELOG.md +++ b/packages/cubejs-linter/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) + +**Note:** Version bump only for package @cubejs-backend/linter + + + + + ## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) **Note:** Version bump only for package @cubejs-backend/linter diff --git a/packages/cubejs-linter/package.json b/packages/cubejs-linter/package.json index 4a1cc2ce8..88a0caa8d 100644 --- a/packages/cubejs-linter/package.json +++ b/packages/cubejs-linter/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/linter", "description": "Cube.js ESLint (virtual package) for linting code", "author": "Cube Dev, Inc.", - "version": "1.2.17", + "version": "1.2.18", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", diff --git a/packages/cubejs-materialize-driver/CHANGELOG.md b/packages/cubejs-materialize-driver/CHANGELOG.md index 0cb5f07f9..1e49377b0 100644 --- a/packages/cubejs-materialize-driver/CHANGELOG.md +++ b/packages/cubejs-materialize-driver/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) + +**Note:** Version bump only for package @cubejs-backend/materialize-driver + + + + + ## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) **Note:** Version bump only for package @cubejs-backend/materialize-driver diff --git a/packages/cubejs-materialize-driver/package.json b/packages/cubejs-materialize-driver/package.json index e27b83440..f5e810059 100644 --- a/packages/cubejs-materialize-driver/package.json +++ b/packages/cubejs-materialize-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/materialize-driver", "description": "Cube.js Materialize database driver", "author": "Cube Dev, Inc.", - "version": "1.2.17", + "version": "1.2.18", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -27,17 +27,17 @@ "lint:fix": "eslint --fix src/* --ext .ts" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.17", - "@cubejs-backend/postgres-driver": "1.2.17", - "@cubejs-backend/shared": "1.2.17", + "@cubejs-backend/base-driver": "1.2.18", + "@cubejs-backend/postgres-driver": "1.2.18", + "@cubejs-backend/shared": "1.2.18", "@types/pg": "^8.6.0", "pg": "^8.6.0", "semver": "^7.6.3" }, "license": "Apache-2.0", "devDependencies": { - "@cubejs-backend/linter": "1.2.17", - "@cubejs-backend/testing": "1.2.17", + "@cubejs-backend/linter": "1.2.18", + "@cubejs-backend/testing": "1.2.18", "typescript": "~5.2.2" }, "publishConfig": { diff --git a/packages/cubejs-mongobi-driver/CHANGELOG.md b/packages/cubejs-mongobi-driver/CHANGELOG.md index 34b1363e9..63a343b89 100644 --- a/packages/cubejs-mongobi-driver/CHANGELOG.md +++ b/packages/cubejs-mongobi-driver/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) + +**Note:** Version bump only for package @cubejs-backend/mongobi-driver + + + + + ## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) **Note:** Version bump only for package @cubejs-backend/mongobi-driver diff --git a/packages/cubejs-mongobi-driver/package.json b/packages/cubejs-mongobi-driver/package.json index d988616e1..424b65d3e 100644 --- a/packages/cubejs-mongobi-driver/package.json +++ b/packages/cubejs-mongobi-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/mongobi-driver", "description": "Cube.js MongoBI driver", "author": "krunalsabnis@gmail.com", - "version": "1.2.17", + "version": "1.2.18", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -27,8 +27,8 @@ "integration:mongobi": "jest dist/test" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.17", - "@cubejs-backend/shared": "1.2.17", + "@cubejs-backend/base-driver": "1.2.18", + "@cubejs-backend/shared": "1.2.18", "@types/node": "^18", "generic-pool": "^3.8.2", "moment": "^2.29.1", @@ -39,7 +39,7 @@ "access": "public" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.17", + "@cubejs-backend/linter": "1.2.18", "@types/generic-pool": "^3.1.9", "testcontainers": "^10.13.0", "typescript": "~5.2.2" diff --git a/packages/cubejs-mssql-driver/CHANGELOG.md b/packages/cubejs-mssql-driver/CHANGELOG.md index 3e790e36f..25840ab53 100644 --- a/packages/cubejs-mssql-driver/CHANGELOG.md +++ b/packages/cubejs-mssql-driver/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) + +**Note:** Version bump only for package @cubejs-backend/mssql-driver + + + + + ## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) **Note:** Version bump only for package @cubejs-backend/mssql-driver diff --git a/packages/cubejs-mssql-driver/package.json b/packages/cubejs-mssql-driver/package.json index d52bf58a1..e1acabba5 100644 --- a/packages/cubejs-mssql-driver/package.json +++ b/packages/cubejs-mssql-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/mssql-driver", "description": "Cube.js MS SQL database driver", "author": "Cube Dev, Inc.", - "version": "1.2.17", + "version": "1.2.18", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -13,7 +13,7 @@ }, "main": "driver/MSSqlDriver.js", "dependencies": { - "@cubejs-backend/base-driver": "1.2.17", + "@cubejs-backend/base-driver": "1.2.18", "mssql": "^10.0.2" }, "devDependencies": { diff --git a/packages/cubejs-mysql-aurora-serverless-driver/CHANGELOG.md b/packages/cubejs-mysql-aurora-serverless-driver/CHANGELOG.md index bc9e18ac7..19fdfc354 100644 --- a/packages/cubejs-mysql-aurora-serverless-driver/CHANGELOG.md +++ b/packages/cubejs-mysql-aurora-serverless-driver/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) + +**Note:** Version bump only for package @cubejs-backend/mysql-aurora-serverless-driver + + + + + ## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) **Note:** Version bump only for package @cubejs-backend/mysql-aurora-serverless-driver diff --git a/packages/cubejs-mysql-aurora-serverless-driver/package.json b/packages/cubejs-mysql-aurora-serverless-driver/package.json index 81caf18e2..4a47d56cc 100644 --- a/packages/cubejs-mysql-aurora-serverless-driver/package.json +++ b/packages/cubejs-mysql-aurora-serverless-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/mysql-aurora-serverless-driver", "description": "Cube.js Aurora Serverless Mysql database driver", "author": "Cube Dev, Inc.", - "version": "1.2.17", + "version": "1.2.18", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -21,14 +21,14 @@ "lint": "eslint driver/*.js test/*.js" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.17", - "@cubejs-backend/shared": "1.2.17", + "@cubejs-backend/base-driver": "1.2.18", + "@cubejs-backend/shared": "1.2.18", "@types/mysql": "^2.15.15", "aws-sdk": "^2.787.0", "data-api-client": "^1.1.0" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.17", + "@cubejs-backend/linter": "1.2.18", "@types/data-api-client": "^1.2.1", "jest": "^27", "testcontainers": "^10.10.4" diff --git a/packages/cubejs-mysql-driver/CHANGELOG.md b/packages/cubejs-mysql-driver/CHANGELOG.md index 4acbc1002..c64249aa9 100644 --- a/packages/cubejs-mysql-driver/CHANGELOG.md +++ b/packages/cubejs-mysql-driver/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) + +**Note:** Version bump only for package @cubejs-backend/mysql-driver + + + + + ## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) **Note:** Version bump only for package @cubejs-backend/mysql-driver diff --git a/packages/cubejs-mysql-driver/package.json b/packages/cubejs-mysql-driver/package.json index 0ab325814..9567bfbed 100644 --- a/packages/cubejs-mysql-driver/package.json +++ b/packages/cubejs-mysql-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/mysql-driver", "description": "Cube.js Mysql database driver", "author": "Cube Dev, Inc.", - "version": "1.2.17", + "version": "1.2.18", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -27,15 +27,15 @@ "lint:fix": "eslint --fix src/* test/* --ext .ts,.js" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.17", - "@cubejs-backend/shared": "1.2.17", + "@cubejs-backend/base-driver": "1.2.18", + "@cubejs-backend/shared": "1.2.18", "@types/mysql": "^2.15.21", "generic-pool": "^3.6.0", "mysql": "^2.18.1" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.17", - "@cubejs-backend/testing-shared": "1.2.17", + "@cubejs-backend/linter": "1.2.18", + "@cubejs-backend/testing-shared": "1.2.18", "@types/generic-pool": "^3.1.9", "@types/jest": "^27", "jest": "^27", diff --git a/packages/cubejs-oracle-driver/CHANGELOG.md b/packages/cubejs-oracle-driver/CHANGELOG.md index 16bcf1b0e..87a2bdd7b 100644 --- a/packages/cubejs-oracle-driver/CHANGELOG.md +++ b/packages/cubejs-oracle-driver/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) + +**Note:** Version bump only for package @cubejs-backend/oracle-driver + + + + + ## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) **Note:** Version bump only for package @cubejs-backend/oracle-driver diff --git a/packages/cubejs-oracle-driver/package.json b/packages/cubejs-oracle-driver/package.json index 5d61787f3..0e86a315b 100644 --- a/packages/cubejs-oracle-driver/package.json +++ b/packages/cubejs-oracle-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/oracle-driver", "description": "Cube.js oracle database driver", "author": "Cube Dev, Inc.", - "version": "1.2.17", + "version": "1.2.18", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -13,7 +13,7 @@ }, "main": "driver/OracleDriver.js", "dependencies": { - "@cubejs-backend/base-driver": "1.2.17", + "@cubejs-backend/base-driver": "1.2.18", "ramda": "^0.27.0" }, "optionalDependencies": { diff --git a/packages/cubejs-pinot-driver/CHANGELOG.md b/packages/cubejs-pinot-driver/CHANGELOG.md index a875338ab..ee1303e36 100644 --- a/packages/cubejs-pinot-driver/CHANGELOG.md +++ b/packages/cubejs-pinot-driver/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) + +**Note:** Version bump only for package @cubejs-backend/pinot-driver + + + + + ## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) **Note:** Version bump only for package @cubejs-backend/pinot-driver diff --git a/packages/cubejs-pinot-driver/package.json b/packages/cubejs-pinot-driver/package.json index a4e3b138e..f6365f791 100644 --- a/packages/cubejs-pinot-driver/package.json +++ b/packages/cubejs-pinot-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/pinot-driver", "description": "Cube.js Pinot database driver", "author": "Julian Ronsse, InTheMemory, Cube Dev, Inc.", - "version": "1.2.17", + "version": "1.2.18", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -27,9 +27,9 @@ "lint:fix": "eslint --fix src/* --ext .ts" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.17", - "@cubejs-backend/schema-compiler": "1.2.17", - "@cubejs-backend/shared": "1.2.17", + "@cubejs-backend/base-driver": "1.2.18", + "@cubejs-backend/schema-compiler": "1.2.18", + "@cubejs-backend/shared": "1.2.18", "node-fetch": "^2.6.1", "ramda": "^0.27.2", "sqlstring": "^2.3.3" @@ -39,7 +39,7 @@ "access": "public" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.17", + "@cubejs-backend/linter": "1.2.18", "@types/jest": "^27", "jest": "^27", "should": "^13.2.3", diff --git a/packages/cubejs-playground/CHANGELOG.md b/packages/cubejs-playground/CHANGELOG.md index 969553c91..640d9a56f 100644 --- a/packages/cubejs-playground/CHANGELOG.md +++ b/packages/cubejs-playground/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) + +**Note:** Version bump only for package @cubejs-client/playground + + + + + ## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) **Note:** Version bump only for package @cubejs-client/playground diff --git a/packages/cubejs-playground/package.json b/packages/cubejs-playground/package.json index 456f67f6f..17fa20b12 100644 --- a/packages/cubejs-playground/package.json +++ b/packages/cubejs-playground/package.json @@ -1,7 +1,7 @@ { "name": "@cubejs-client/playground", "author": "Cube Dev, Inc.", - "version": "1.2.17", + "version": "1.2.18", "engines": {}, "repository": { "type": "git", @@ -68,8 +68,8 @@ "@ant-design/compatible": "^1.0.1", "@ant-design/icons": "^5.3.5", "@cube-dev/ui-kit": "0.52.3", - "@cubejs-client/core": "1.2.17", - "@cubejs-client/react": "1.2.17", + "@cubejs-client/core": "1.2.18", + "@cubejs-client/react": "1.2.18", "@types/flexsearch": "^0.7.3", "@types/node": "^18", "@types/react": "^18.3.4", diff --git a/packages/cubejs-postgres-driver/CHANGELOG.md b/packages/cubejs-postgres-driver/CHANGELOG.md index d97a989cf..d53408505 100644 --- a/packages/cubejs-postgres-driver/CHANGELOG.md +++ b/packages/cubejs-postgres-driver/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) + +**Note:** Version bump only for package @cubejs-backend/postgres-driver + + + + + ## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) **Note:** Version bump only for package @cubejs-backend/postgres-driver diff --git a/packages/cubejs-postgres-driver/package.json b/packages/cubejs-postgres-driver/package.json index 5c0f0136b..594f828b0 100644 --- a/packages/cubejs-postgres-driver/package.json +++ b/packages/cubejs-postgres-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/postgres-driver", "description": "Cube.js Postgres database driver", "author": "Cube Dev, Inc.", - "version": "1.2.17", + "version": "1.2.18", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -27,8 +27,8 @@ "lint:fix": "eslint --fix src/* --ext .ts" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.17", - "@cubejs-backend/shared": "1.2.17", + "@cubejs-backend/base-driver": "1.2.18", + "@cubejs-backend/shared": "1.2.18", "@types/pg": "^8.6.0", "@types/pg-query-stream": "^1.0.3", "moment": "^2.24.0", @@ -37,8 +37,8 @@ }, "license": "Apache-2.0", "devDependencies": { - "@cubejs-backend/linter": "1.2.17", - "@cubejs-backend/testing-shared": "1.2.17", + "@cubejs-backend/linter": "1.2.18", + "@cubejs-backend/testing-shared": "1.2.18", "testcontainers": "^10.13.0", "typescript": "~5.2.2" }, diff --git a/packages/cubejs-prestodb-driver/CHANGELOG.md b/packages/cubejs-prestodb-driver/CHANGELOG.md index 1aed99d8e..0259be5db 100644 --- a/packages/cubejs-prestodb-driver/CHANGELOG.md +++ b/packages/cubejs-prestodb-driver/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) + +**Note:** Version bump only for package @cubejs-backend/prestodb-driver + + + + + ## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) **Note:** Version bump only for package @cubejs-backend/prestodb-driver diff --git a/packages/cubejs-prestodb-driver/package.json b/packages/cubejs-prestodb-driver/package.json index eeaa22674..b9067ea87 100644 --- a/packages/cubejs-prestodb-driver/package.json +++ b/packages/cubejs-prestodb-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/prestodb-driver", "description": "Cube.js Presto database driver", "author": "Cube Dev, Inc.", - "version": "1.2.17", + "version": "1.2.18", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -27,8 +27,8 @@ "lint:fix": "eslint --fix src/* --ext .ts" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.17", - "@cubejs-backend/shared": "1.2.17", + "@cubejs-backend/base-driver": "1.2.18", + "@cubejs-backend/shared": "1.2.18", "presto-client": "^0.12.2", "ramda": "^0.27.0", "sqlstring": "^2.3.1" @@ -38,7 +38,7 @@ "access": "public" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.17", + "@cubejs-backend/linter": "1.2.18", "@types/jest": "^27", "jest": "^27", "should": "^13.2.3", diff --git a/packages/cubejs-query-orchestrator/CHANGELOG.md b/packages/cubejs-query-orchestrator/CHANGELOG.md index cfe53dca6..8dda710b9 100644 --- a/packages/cubejs-query-orchestrator/CHANGELOG.md +++ b/packages/cubejs-query-orchestrator/CHANGELOG.md @@ -3,6 +3,17 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) + + +### Bug Fixes + +* **query-orchestrator:** Fix improper pre-aggregation buildRange construction for non UTC timezones ([#9284](https://github.com/cube-js/cube/issues/9284)) ([ef12d8d](https://github.com/cube-js/cube/commit/ef12d8d02702df7dcc1e6531c1b0aee6afa576ef)) + + + + + ## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) ### Bug Fixes diff --git a/packages/cubejs-query-orchestrator/package.json b/packages/cubejs-query-orchestrator/package.json index be3c27b04..1fd87495a 100644 --- a/packages/cubejs-query-orchestrator/package.json +++ b/packages/cubejs-query-orchestrator/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/query-orchestrator", "description": "Cube.js Query Orchestrator and Cache", "author": "Cube Dev, Inc.", - "version": "1.2.17", + "version": "1.2.18", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -29,16 +29,16 @@ "dist/src/*" ], "dependencies": { - "@cubejs-backend/base-driver": "1.2.17", - "@cubejs-backend/cubestore-driver": "1.2.17", - "@cubejs-backend/shared": "1.2.17", + "@cubejs-backend/base-driver": "1.2.18", + "@cubejs-backend/cubestore-driver": "1.2.18", + "@cubejs-backend/shared": "1.2.18", "csv-write-stream": "^2.0.0", "generic-pool": "^3.7.1", "lru-cache": "^5.1.1", "ramda": "^0.27.2" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.17", + "@cubejs-backend/linter": "1.2.18", "@types/generic-pool": "^3.1.9", "@types/jest": "^27", "@types/node": "^18", diff --git a/packages/cubejs-questdb-driver/CHANGELOG.md b/packages/cubejs-questdb-driver/CHANGELOG.md index e73d7e4c5..b582eb5ae 100644 --- a/packages/cubejs-questdb-driver/CHANGELOG.md +++ b/packages/cubejs-questdb-driver/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) + +**Note:** Version bump only for package @cubejs-backend/questdb-driver + + + + + ## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) **Note:** Version bump only for package @cubejs-backend/questdb-driver diff --git a/packages/cubejs-questdb-driver/package.json b/packages/cubejs-questdb-driver/package.json index 22f94bf57..57565e27d 100644 --- a/packages/cubejs-questdb-driver/package.json +++ b/packages/cubejs-questdb-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/questdb-driver", "description": "Cube.js QuestDB database driver", "author": "Cube Dev, Inc.", - "version": "1.2.17", + "version": "1.2.18", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -27,9 +27,9 @@ "lint:fix": "eslint --fix src/* --ext .ts" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.17", - "@cubejs-backend/schema-compiler": "1.2.17", - "@cubejs-backend/shared": "1.2.17", + "@cubejs-backend/base-driver": "1.2.18", + "@cubejs-backend/schema-compiler": "1.2.18", + "@cubejs-backend/shared": "1.2.18", "@types/pg": "^8.6.0", "moment": "^2.24.0", "pg": "^8.7.0", @@ -37,8 +37,8 @@ }, "license": "Apache-2.0", "devDependencies": { - "@cubejs-backend/linter": "1.2.17", - "@cubejs-backend/testing-shared": "1.2.17", + "@cubejs-backend/linter": "1.2.18", + "@cubejs-backend/testing-shared": "1.2.18", "testcontainers": "^10.13.0", "typescript": "~5.2.2" }, diff --git a/packages/cubejs-redshift-driver/CHANGELOG.md b/packages/cubejs-redshift-driver/CHANGELOG.md index 9ad9f3407..4fdd75fbc 100644 --- a/packages/cubejs-redshift-driver/CHANGELOG.md +++ b/packages/cubejs-redshift-driver/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) + +**Note:** Version bump only for package @cubejs-backend/redshift-driver + + + + + ## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) **Note:** Version bump only for package @cubejs-backend/redshift-driver diff --git a/packages/cubejs-redshift-driver/package.json b/packages/cubejs-redshift-driver/package.json index 16205c83a..20bd2c37e 100644 --- a/packages/cubejs-redshift-driver/package.json +++ b/packages/cubejs-redshift-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/redshift-driver", "description": "Cube.js Redshift database driver", "author": "Cube Dev, Inc.", - "version": "1.2.17", + "version": "1.2.18", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -25,13 +25,13 @@ "lint:fix": "eslint --fix src/* --ext .ts" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.17", - "@cubejs-backend/postgres-driver": "1.2.17", - "@cubejs-backend/shared": "1.2.17" + "@cubejs-backend/base-driver": "1.2.18", + "@cubejs-backend/postgres-driver": "1.2.18", + "@cubejs-backend/shared": "1.2.18" }, "license": "Apache-2.0", "devDependencies": { - "@cubejs-backend/linter": "1.2.17", + "@cubejs-backend/linter": "1.2.18", "typescript": "~5.2.2" }, "publishConfig": { diff --git a/packages/cubejs-schema-compiler/CHANGELOG.md b/packages/cubejs-schema-compiler/CHANGELOG.md index 6911f9015..fa23ef264 100644 --- a/packages/cubejs-schema-compiler/CHANGELOG.md +++ b/packages/cubejs-schema-compiler/CHANGELOG.md @@ -3,6 +3,19 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) + + +### Bug Fixes + +* **query-orchestrator:** Fix improper pre-aggregation buildRange construction for non UTC timezones ([#9284](https://github.com/cube-js/cube/issues/9284)) ([ef12d8d](https://github.com/cube-js/cube/commit/ef12d8d02702df7dcc1e6531c1b0aee6afa576ef)) +* **tesseract:** Don't generate COALESCE with single argument ([#9300](https://github.com/cube-js/cube/issues/9300)) ([3174be1](https://github.com/cube-js/cube/commit/3174be17cd1d9ba6aa1c0ec3ccbd0c5426342dc0)) +* **tesseract:** fix wrong default alias for symbols with digits in name ([#9299](https://github.com/cube-js/cube/issues/9299)) ([329d228](https://github.com/cube-js/cube/commit/329d2289e115a5f71714755323a8b8a92a260519)) + + + + + ## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) ### Bug Fixes diff --git a/packages/cubejs-schema-compiler/package.json b/packages/cubejs-schema-compiler/package.json index 348a0c3cb..483f63d95 100644 --- a/packages/cubejs-schema-compiler/package.json +++ b/packages/cubejs-schema-compiler/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/schema-compiler", "description": "Cube schema compiler", "author": "Cube Dev, Inc.", - "version": "1.2.17", + "version": "1.2.18", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -40,8 +40,8 @@ "@babel/standalone": "^7.24", "@babel/traverse": "^7.24", "@babel/types": "^7.24", - "@cubejs-backend/native": "1.2.17", - "@cubejs-backend/shared": "1.2.17", + "@cubejs-backend/native": "1.2.18", + "@cubejs-backend/shared": "1.2.18", "antlr4ts": "0.5.0-alpha.4", "camelcase": "^6.2.0", "cron-parser": "^4.9.0", @@ -59,8 +59,8 @@ }, "devDependencies": { "@clickhouse/client": "^1.7.0", - "@cubejs-backend/linter": "1.2.17", - "@cubejs-backend/query-orchestrator": "1.2.17", + "@cubejs-backend/linter": "1.2.18", + "@cubejs-backend/query-orchestrator": "1.2.18", "@types/babel__code-frame": "^7.0.6", "@types/babel__generator": "^7.6.8", "@types/babel__traverse": "^7.20.5", diff --git a/packages/cubejs-server-core/CHANGELOG.md b/packages/cubejs-server-core/CHANGELOG.md index 4515ef531..4367a4032 100644 --- a/packages/cubejs-server-core/CHANGELOG.md +++ b/packages/cubejs-server-core/CHANGELOG.md @@ -3,6 +3,17 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) + + +### Bug Fixes + +* **query-orchestrator:** Fix improper pre-aggregation buildRange construction for non UTC timezones ([#9284](https://github.com/cube-js/cube/issues/9284)) ([ef12d8d](https://github.com/cube-js/cube/commit/ef12d8d02702df7dcc1e6531c1b0aee6afa576ef)) + + + + + ## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) **Note:** Version bump only for package @cubejs-backend/server-core diff --git a/packages/cubejs-server-core/package.json b/packages/cubejs-server-core/package.json index 488dde314..4a2ed69a5 100644 --- a/packages/cubejs-server-core/package.json +++ b/packages/cubejs-server-core/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/server-core", "description": "Cube.js base component to wire all backend components together", "author": "Cube Dev, Inc.", - "version": "1.2.17", + "version": "1.2.18", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -29,14 +29,14 @@ "unit": "jest --runInBand --forceExit --coverage dist/test" }, "dependencies": { - "@cubejs-backend/api-gateway": "1.2.17", - "@cubejs-backend/cloud": "1.2.17", + "@cubejs-backend/api-gateway": "1.2.18", + "@cubejs-backend/cloud": "1.2.18", "@cubejs-backend/dotenv": "^9.0.2", - "@cubejs-backend/native": "1.2.17", - "@cubejs-backend/query-orchestrator": "1.2.17", - "@cubejs-backend/schema-compiler": "1.2.17", - "@cubejs-backend/shared": "1.2.17", - "@cubejs-backend/templates": "1.2.17", + "@cubejs-backend/native": "1.2.18", + "@cubejs-backend/query-orchestrator": "1.2.18", + "@cubejs-backend/schema-compiler": "1.2.18", + "@cubejs-backend/shared": "1.2.18", + "@cubejs-backend/templates": "1.2.18", "codesandbox-import-utils": "^2.1.12", "cross-spawn": "^7.0.1", "fs-extra": "^8.1.0", @@ -59,9 +59,9 @@ "ws": "^7.5.3" }, "devDependencies": { - "@cubejs-backend/cubestore-driver": "1.2.17", - "@cubejs-backend/linter": "1.2.17", - "@cubejs-client/playground": "1.2.17", + "@cubejs-backend/cubestore-driver": "1.2.18", + "@cubejs-backend/linter": "1.2.18", + "@cubejs-client/playground": "1.2.18", "@types/cross-spawn": "^6.0.2", "@types/express": "^4.17.21", "@types/fs-extra": "^9.0.8", diff --git a/packages/cubejs-server/CHANGELOG.md b/packages/cubejs-server/CHANGELOG.md index edebf0cc2..9863f463d 100644 --- a/packages/cubejs-server/CHANGELOG.md +++ b/packages/cubejs-server/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) + +**Note:** Version bump only for package @cubejs-backend/server + + + + + ## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) **Note:** Version bump only for package @cubejs-backend/server diff --git a/packages/cubejs-server/package.json b/packages/cubejs-server/package.json index 6cf8e9ba5..b120c7a9b 100644 --- a/packages/cubejs-server/package.json +++ b/packages/cubejs-server/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/server", "description": "Cube.js all-in-one server", "author": "Cube Dev, Inc.", - "version": "1.2.17", + "version": "1.2.18", "types": "index.d.ts", "repository": { "type": "git", @@ -40,11 +40,11 @@ "jest:shapshot": "jest --updateSnapshot test" }, "dependencies": { - "@cubejs-backend/cubestore-driver": "1.2.17", + "@cubejs-backend/cubestore-driver": "1.2.18", "@cubejs-backend/dotenv": "^9.0.2", - "@cubejs-backend/native": "1.2.17", - "@cubejs-backend/server-core": "1.2.17", - "@cubejs-backend/shared": "1.2.17", + "@cubejs-backend/native": "1.2.18", + "@cubejs-backend/server-core": "1.2.18", + "@cubejs-backend/shared": "1.2.18", "@oclif/color": "^1.0.0", "@oclif/command": "^1.8.13", "@oclif/config": "^1.18.2", @@ -61,8 +61,8 @@ "ws": "^7.1.2" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.17", - "@cubejs-backend/query-orchestrator": "1.2.17", + "@cubejs-backend/linter": "1.2.18", + "@cubejs-backend/query-orchestrator": "1.2.18", "@oclif/dev-cli": "^1.23.1", "@types/body-parser": "^1.19.0", "@types/cors": "^2.8.8", diff --git a/packages/cubejs-snowflake-driver/CHANGELOG.md b/packages/cubejs-snowflake-driver/CHANGELOG.md index 76a659881..90e0912de 100644 --- a/packages/cubejs-snowflake-driver/CHANGELOG.md +++ b/packages/cubejs-snowflake-driver/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) + +**Note:** Version bump only for package @cubejs-backend/snowflake-driver + + + + + ## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) **Note:** Version bump only for package @cubejs-backend/snowflake-driver diff --git a/packages/cubejs-snowflake-driver/package.json b/packages/cubejs-snowflake-driver/package.json index dabfa0481..e82980f68 100644 --- a/packages/cubejs-snowflake-driver/package.json +++ b/packages/cubejs-snowflake-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/snowflake-driver", "description": "Cube.js Snowflake database driver", "author": "Cube Dev, Inc.", - "version": "1.2.17", + "version": "1.2.18", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -25,8 +25,8 @@ "lint:fix": "eslint --fix src/* --ext .ts" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.17", - "@cubejs-backend/shared": "1.2.17", + "@cubejs-backend/base-driver": "1.2.18", + "@cubejs-backend/shared": "1.2.18", "date-fns-timezone": "^0.1.4", "snowflake-sdk": "^1.13.1" }, @@ -38,7 +38,7 @@ "extends": "../cubejs-linter" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.17", + "@cubejs-backend/linter": "1.2.18", "typescript": "~5.2.2" } } diff --git a/packages/cubejs-sqlite-driver/CHANGELOG.md b/packages/cubejs-sqlite-driver/CHANGELOG.md index 3b93731c1..46a568b39 100644 --- a/packages/cubejs-sqlite-driver/CHANGELOG.md +++ b/packages/cubejs-sqlite-driver/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) + +**Note:** Version bump only for package @cubejs-backend/sqlite-driver + + + + + ## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) **Note:** Version bump only for package @cubejs-backend/sqlite-driver diff --git a/packages/cubejs-sqlite-driver/package.json b/packages/cubejs-sqlite-driver/package.json index 43f7cb9f5..631678ab5 100644 --- a/packages/cubejs-sqlite-driver/package.json +++ b/packages/cubejs-sqlite-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/sqlite-driver", "description": "Cube.js Sqlite database driver", "author": "Cube Dev, Inc.", - "version": "1.2.17", + "version": "1.2.18", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -17,13 +17,13 @@ "lint": "eslint **/*.js" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.17", - "@cubejs-backend/shared": "1.2.17", + "@cubejs-backend/base-driver": "1.2.18", + "@cubejs-backend/shared": "1.2.18", "sqlite3": "^5.1.7" }, "license": "Apache-2.0", "devDependencies": { - "@cubejs-backend/linter": "1.2.17" + "@cubejs-backend/linter": "1.2.18" }, "publishConfig": { "access": "public" diff --git a/packages/cubejs-templates/CHANGELOG.md b/packages/cubejs-templates/CHANGELOG.md index aa8aa394a..4b2b4ba02 100644 --- a/packages/cubejs-templates/CHANGELOG.md +++ b/packages/cubejs-templates/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) + +**Note:** Version bump only for package @cubejs-backend/templates + + + + + ## [1.2.17](/compare/v1.2.16...v1.2.17) (2025-03-05) **Note:** Version bump only for package @cubejs-backend/templates diff --git a/packages/cubejs-templates/package.json b/packages/cubejs-templates/package.json index a1c2f2498..ac5b94cbd 100644 --- a/packages/cubejs-templates/package.json +++ b/packages/cubejs-templates/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-backend/templates", - "version": "1.2.17", + "version": "1.2.18", "description": "Cube.js Templates helpers", "author": "Cube Dev, Inc.", "license": "Apache-2.0", @@ -26,7 +26,7 @@ "extends": "../cubejs-linter" }, "dependencies": { - "@cubejs-backend/shared": "1.2.17", + "@cubejs-backend/shared": "1.2.18", "cross-spawn": "^7.0.3", "decompress": "^4.2.1", "decompress-targz": "^4.1.1", @@ -36,7 +36,7 @@ "source-map-support": "^0.5.19" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.17", + "@cubejs-backend/linter": "1.2.18", "typescript": "~5.2.2" } } diff --git a/packages/cubejs-testing-drivers/CHANGELOG.md b/packages/cubejs-testing-drivers/CHANGELOG.md index 299304892..c5ddfd63a 100644 --- a/packages/cubejs-testing-drivers/CHANGELOG.md +++ b/packages/cubejs-testing-drivers/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) + +**Note:** Version bump only for package @cubejs-backend/testing-drivers + + + + + ## [1.2.17](/compare/v1.2.16...v1.2.17) (2025-03-05) **Note:** Version bump only for package @cubejs-backend/testing-drivers diff --git a/packages/cubejs-testing-drivers/package.json b/packages/cubejs-testing-drivers/package.json index 403b8fdb8..3c60be8d2 100644 --- a/packages/cubejs-testing-drivers/package.json +++ b/packages/cubejs-testing-drivers/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-backend/testing-drivers", - "version": "1.2.17", + "version": "1.2.18", "description": "Cube.js drivers test suite", "author": "Cube Dev, Inc.", "license": "MIT", @@ -56,24 +56,24 @@ "dist/src" ], "dependencies": { - "@cubejs-backend/athena-driver": "1.2.17", - "@cubejs-backend/base-driver": "1.2.17", - "@cubejs-backend/bigquery-driver": "1.2.17", - "@cubejs-backend/clickhouse-driver": "1.2.17", - "@cubejs-backend/cubestore-driver": "1.2.17", - "@cubejs-backend/databricks-jdbc-driver": "1.2.17", + "@cubejs-backend/athena-driver": "1.2.18", + "@cubejs-backend/base-driver": "1.2.18", + "@cubejs-backend/bigquery-driver": "1.2.18", + "@cubejs-backend/clickhouse-driver": "1.2.18", + "@cubejs-backend/cubestore-driver": "1.2.18", + "@cubejs-backend/databricks-jdbc-driver": "1.2.18", "@cubejs-backend/dotenv": "^9.0.2", - "@cubejs-backend/linter": "1.2.17", - "@cubejs-backend/mssql-driver": "1.2.17", - "@cubejs-backend/mysql-driver": "1.2.17", - "@cubejs-backend/postgres-driver": "1.2.17", - "@cubejs-backend/query-orchestrator": "1.2.17", - "@cubejs-backend/server-core": "1.2.17", - "@cubejs-backend/shared": "1.2.17", - "@cubejs-backend/snowflake-driver": "1.2.17", - "@cubejs-backend/testing-shared": "1.2.17", - "@cubejs-client/core": "1.2.17", - "@cubejs-client/ws-transport": "1.2.17", + "@cubejs-backend/linter": "1.2.18", + "@cubejs-backend/mssql-driver": "1.2.18", + "@cubejs-backend/mysql-driver": "1.2.18", + "@cubejs-backend/postgres-driver": "1.2.18", + "@cubejs-backend/query-orchestrator": "1.2.18", + "@cubejs-backend/server-core": "1.2.18", + "@cubejs-backend/shared": "1.2.18", + "@cubejs-backend/snowflake-driver": "1.2.18", + "@cubejs-backend/testing-shared": "1.2.18", + "@cubejs-client/core": "1.2.18", + "@cubejs-client/ws-transport": "1.2.18", "@jest/globals": "^27", "@types/jest": "^27", "@types/node": "^18", diff --git a/packages/cubejs-testing-shared/CHANGELOG.md b/packages/cubejs-testing-shared/CHANGELOG.md index 7af2857b8..d7dca9273 100644 --- a/packages/cubejs-testing-shared/CHANGELOG.md +++ b/packages/cubejs-testing-shared/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) + +**Note:** Version bump only for package @cubejs-backend/testing-shared + + + + + ## [1.2.17](/compare/v1.2.16...v1.2.17) (2025-03-05) **Note:** Version bump only for package @cubejs-backend/testing-shared diff --git a/packages/cubejs-testing-shared/package.json b/packages/cubejs-testing-shared/package.json index 48ea63b69..5a73746f0 100644 --- a/packages/cubejs-testing-shared/package.json +++ b/packages/cubejs-testing-shared/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-backend/testing-shared", - "version": "1.2.17", + "version": "1.2.18", "description": "Cube.js Testing Helpers", "author": "Cube Dev, Inc.", "license": "Apache-2.0", @@ -21,16 +21,16 @@ ], "dependencies": { "@cubejs-backend/dotenv": "^9.0.2", - "@cubejs-backend/query-orchestrator": "1.2.17", - "@cubejs-backend/schema-compiler": "1.2.17", - "@cubejs-backend/shared": "1.2.17", + "@cubejs-backend/query-orchestrator": "1.2.18", + "@cubejs-backend/schema-compiler": "1.2.18", + "@cubejs-backend/shared": "1.2.18", "@testcontainers/kafka": "~10.13.0", "dedent": "^0.7.0", "node-fetch": "^2.6.7", "testcontainers": "^10.13.0" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.17", + "@cubejs-backend/linter": "1.2.18", "@jest/globals": "^27", "@types/dedent": "^0.7.0", "@types/jest": "^27", diff --git a/packages/cubejs-testing/CHANGELOG.md b/packages/cubejs-testing/CHANGELOG.md index d3de9d2e4..08ce7ebdf 100644 --- a/packages/cubejs-testing/CHANGELOG.md +++ b/packages/cubejs-testing/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) + +**Note:** Version bump only for package @cubejs-backend/testing + + + + + ## [1.2.17](/compare/v1.2.16...v1.2.17) (2025-03-05) **Note:** Version bump only for package @cubejs-backend/testing diff --git a/packages/cubejs-testing/package.json b/packages/cubejs-testing/package.json index 6c3453a75..241f6208e 100644 --- a/packages/cubejs-testing/package.json +++ b/packages/cubejs-testing/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-backend/testing", - "version": "1.2.17", + "version": "1.2.18", "description": "Cube.js e2e tests", "author": "Cube Dev, Inc.", "license": "Apache-2.0", @@ -94,15 +94,15 @@ "birdbox-fixtures" ], "dependencies": { - "@cubejs-backend/cubestore-driver": "1.2.17", + "@cubejs-backend/cubestore-driver": "1.2.18", "@cubejs-backend/dotenv": "^9.0.2", - "@cubejs-backend/ksql-driver": "1.2.17", - "@cubejs-backend/postgres-driver": "1.2.17", - "@cubejs-backend/query-orchestrator": "1.2.17", - "@cubejs-backend/schema-compiler": "1.2.17", - "@cubejs-backend/shared": "1.2.17", - "@cubejs-backend/testing-shared": "1.2.17", - "@cubejs-client/ws-transport": "1.2.17", + "@cubejs-backend/ksql-driver": "1.2.18", + "@cubejs-backend/postgres-driver": "1.2.18", + "@cubejs-backend/query-orchestrator": "1.2.18", + "@cubejs-backend/schema-compiler": "1.2.18", + "@cubejs-backend/shared": "1.2.18", + "@cubejs-backend/testing-shared": "1.2.18", + "@cubejs-client/ws-transport": "1.2.18", "dedent": "^0.7.0", "fs-extra": "^8.1.0", "http-proxy": "^1.18.1", @@ -113,8 +113,8 @@ }, "devDependencies": { "@4tw/cypress-drag-drop": "^1.6.0", - "@cubejs-backend/linter": "1.2.17", - "@cubejs-client/core": "1.2.17", + "@cubejs-backend/linter": "1.2.18", + "@cubejs-client/core": "1.2.18", "@jest/globals": "^27", "@types/dedent": "^0.7.0", "@types/http-proxy": "^1.17.5", diff --git a/packages/cubejs-trino-driver/CHANGELOG.md b/packages/cubejs-trino-driver/CHANGELOG.md index c91605070..87431c005 100644 --- a/packages/cubejs-trino-driver/CHANGELOG.md +++ b/packages/cubejs-trino-driver/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) + +**Note:** Version bump only for package @cubejs-backend/trino-driver + + + + + ## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) **Note:** Version bump only for package @cubejs-backend/trino-driver diff --git a/packages/cubejs-trino-driver/package.json b/packages/cubejs-trino-driver/package.json index a8cc8758b..af8cdf160 100644 --- a/packages/cubejs-trino-driver/package.json +++ b/packages/cubejs-trino-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/trino-driver", "description": "Cube.js Trino database driver", "author": "Cube Dev, Inc.", - "version": "1.2.17", + "version": "1.2.18", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -25,10 +25,10 @@ "lint:fix": "eslint --fix src/* --ext .ts" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.17", - "@cubejs-backend/prestodb-driver": "1.2.17", - "@cubejs-backend/schema-compiler": "1.2.17", - "@cubejs-backend/shared": "1.2.17", + "@cubejs-backend/base-driver": "1.2.18", + "@cubejs-backend/prestodb-driver": "1.2.18", + "@cubejs-backend/schema-compiler": "1.2.18", + "@cubejs-backend/shared": "1.2.18", "presto-client": "^0.12.2", "sqlstring": "^2.3.1" }, @@ -37,7 +37,7 @@ "access": "public" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.17" + "@cubejs-backend/linter": "1.2.18" }, "eslintConfig": { "extends": "../cubejs-linter" diff --git a/packages/cubejs-vertica-driver/CHANGELOG.md b/packages/cubejs-vertica-driver/CHANGELOG.md index 2510ffc01..fd1690cc0 100644 --- a/packages/cubejs-vertica-driver/CHANGELOG.md +++ b/packages/cubejs-vertica-driver/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.18](https://github.com/cube-js/cube.js/compare/v1.2.17...v1.2.18) (2025-03-06) + +**Note:** Version bump only for package @cubejs-backend/vertica-driver + + + + + ## [1.2.17](https://github.com/cube-js/cube.js/compare/v1.2.16...v1.2.17) (2025-03-05) **Note:** Version bump only for package @cubejs-backend/vertica-driver diff --git a/packages/cubejs-vertica-driver/package.json b/packages/cubejs-vertica-driver/package.json index 83f02045e..2af560a4c 100644 --- a/packages/cubejs-vertica-driver/package.json +++ b/packages/cubejs-vertica-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/vertica-driver", "description": "Cube.js Vertica database driver", "author": "Eduard Karacharov, Tim Brown, Cube Dev, Inc.", - "version": "1.2.17", + "version": "1.2.18", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.js.git", @@ -19,15 +19,15 @@ "lint:fix": "eslint --fix **/*.js" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.17", - "@cubejs-backend/query-orchestrator": "1.2.17", - "@cubejs-backend/schema-compiler": "1.2.17", + "@cubejs-backend/base-driver": "1.2.18", + "@cubejs-backend/query-orchestrator": "1.2.18", + "@cubejs-backend/schema-compiler": "1.2.18", "vertica-nodejs": "^1.0.3" }, "license": "Apache-2.0", "devDependencies": { - "@cubejs-backend/linter": "1.2.17", - "@cubejs-backend/testing-shared": "1.2.17", + "@cubejs-backend/linter": "1.2.18", + "@cubejs-backend/testing-shared": "1.2.18", "jest": "^27", "testcontainers": "^10.13.0" }, From 29f5e678f9cff7eb9a8e7542d27cecb631597aa3 Mon Sep 17 00:00:00 2001 From: Alex Vasilev Date: Thu, 6 Mar 2025 15:49:24 -0800 Subject: [PATCH 30/49] chore: log cubesql queries (#9311) --- packages/cubejs-api-gateway/src/gateway.ts | 11 ++- .../cubejs-backend-native/src/node_export.rs | 74 ++++++++++++++++++- 2 files changed, 82 insertions(+), 3 deletions(-) diff --git a/packages/cubejs-api-gateway/src/gateway.ts b/packages/cubejs-api-gateway/src/gateway.ts index 914b10f1e..73ed0057b 100644 --- a/packages/cubejs-api-gateway/src/gateway.ts +++ b/packages/cubejs-api-gateway/src/gateway.ts @@ -381,17 +381,26 @@ class ApiGateway { `${this.basePath}/v1/cubesql`, userMiddlewares, userAsyncHandler(async (req, res) => { + const { query } = req.body; + + const requestStarted = new Date(); + res.setHeader('Content-Type', 'application/json'); res.setHeader('Transfer-Encoding', 'chunked'); try { await this.assertApiScope('data', req.context?.securityContext); + await this.sqlServer.execSql(req.body.query, res, req.context?.securityContext); } catch (e: any) { this.handleError({ e, + query: { + sql: query, + }, context: req.context, - res: this.resToResultFn(res) + res: this.resToResultFn(res), + requestStarted }); } }) diff --git a/packages/cubejs-backend-native/src/node_export.rs b/packages/cubejs-backend-native/src/node_export.rs index a826b645f..b4e811444 100644 --- a/packages/cubejs-backend-native/src/node_export.rs +++ b/packages/cubejs-backend-native/src/node_export.rs @@ -30,6 +30,7 @@ use std::net::SocketAddr; use std::rc::Rc; use std::str::FromStr; use std::sync::Arc; +use std::time::SystemTime; use cubesql::{telemetry::ReportingLogger, CubeError}; @@ -185,6 +186,8 @@ async fn handle_sql_query( stream_methods: WritableStreamMethods, sql_query: &String, ) -> Result<(), CubeError> { + let start_time = SystemTime::now(); + let config = services .injector() .get_service_typed::() @@ -222,7 +225,26 @@ async fn handle_sql_query( .state .set_auth_context(Some(native_auth_ctx.clone())); - let connection_id = session.state.connection_id; + if let Some(auth_context) = session.state.auth_context() { + session + .session_manager + .server + .transport + .log_load_state( + None, + auth_context, + session.state.get_load_request_meta("sql"), + "Load Request".to_string(), + serde_json::json!({ + "query": { + "sql": sql_query, + } + }), + ) + .await?; + } + + let session_clone = Arc::clone(&session); let execute = || async move { // todo: can we use compiler_cache? @@ -310,8 +332,56 @@ async fn handle_sql_query( }; let result = execute().await; + let duration = start_time.elapsed().unwrap().as_millis() as u64; + + match &result { + Ok(_) => { + session_clone + .session_manager + .server + .transport + .log_load_state( + None, + session_clone.state.auth_context().unwrap(), + session_clone.state.get_load_request_meta("sql"), + "Load Request Success".to_string(), + serde_json::json!({ + "query": { + "sql": sql_query, + }, + "apiType": "sql", + "duration": duration, + "isDataQuery": true + }), + ) + .await?; + } + Err(err) => { + session_clone + .session_manager + .server + .transport + .log_load_state( + None, + session_clone.state.auth_context().unwrap(), + session_clone.state.get_load_request_meta("sql"), + "Cube SQL Error".to_string(), + serde_json::json!({ + "query": { + "sql": sql_query + }, + "apiType": "sql", + "duration": duration, + "error": err.message, + }), + ) + .await?; + } + } - session_manager.drop_session(connection_id).await; + session_manager + .drop_session(session_clone.state.connection_id) + .await; result } From c5b727ba57f9238ab4968497d13fd4aec1266156 Mon Sep 17 00:00:00 2001 From: marianore-muttdata <115091420+marianore-muttdata@users.noreply.github.com> Date: Fri, 7 Mar 2025 09:48:11 -0300 Subject: [PATCH 31/49] feat(pinot-driver): Add enableNullHandling to query options using env var (#9310) * feat(pinot-driver): Add enableNullHandling=true to query options * Add enableNullHandling=true to query options using env var CUBEJS_DB_NULL_HANDLING * Add 'The Startree/Pinot null value support' to docs * fix reference env var * Update docs/pages/product/configuration/data-sources/pinot.mdx Co-authored-by: Konstantin Burkalev * Update docs/pages/reference/configuration/environment-variables.mdx Co-authored-by: ron-damon <48366185+ron-damon@users.noreply.github.com> * Update docs/pages/reference/configuration/environment-variables.mdx Co-authored-by: ron-damon <48366185+ron-damon@users.noreply.github.com> * Update packages/cubejs-backend-shared/src/env.ts Co-authored-by: Konstantin Burkalev * fix env var name * Add docs for auth token config --------- Co-authored-by: Igor Lukanin Co-authored-by: sergisulca Co-authored-by: Sergio Sulca <104989816+sergisulca@users.noreply.github.com> Co-authored-by: Konstantin Burkalev Co-authored-by: ron-damon <48366185+ron-damon@users.noreply.github.com> --- .../configuration/data-sources/pinot.mdx | 23 ++++++++------- .../configuration/environment-variables.mdx | 16 ++++++++++ packages/cubejs-backend-shared/src/env.ts | 29 +++++++++++++++++++ .../cubejs-pinot-driver/src/PinotDriver.ts | 4 ++- 4 files changed, 61 insertions(+), 11 deletions(-) diff --git a/docs/pages/product/configuration/data-sources/pinot.mdx b/docs/pages/product/configuration/data-sources/pinot.mdx index 4d888e776..6b8eb052c 100644 --- a/docs/pages/product/configuration/data-sources/pinot.mdx +++ b/docs/pages/product/configuration/data-sources/pinot.mdx @@ -14,8 +14,9 @@ workloads. [StarTree][link-startree] is a fully-managed platform for Pinot. - The hostname for the [Pinot][pinot] broker - The port for the [Pinot][pinot] broker -With the current implementation of the Pinot driver, you have to enable the -[multi-stage query engine][link-pinot-msqe] in your Pinot cluster. +Note that the following features should be enabled in your Pinot cluster: +- [Multi-stage query engine][link-pinot-msqe]. +- [Advanced null value support][link-pinot-nvs]. ## Setup @@ -41,14 +42,15 @@ CUBEJS_DB_PASS=********** ## Environment Variables -| Environment Variable | Description | Possible Values | Required | -|----------------------|--------------------------------------------|---------------------|:--------:| -| `CUBEJS_DB_HOST` | The host URL for your Pinot broker | A valid host URL | ✅ | -| `CUBEJS_DB_PORT` | The port for the database connection | A valid port number | ✅ | -| `CUBEJS_DB_USER` | The username used to connect to the broker | A valid username | ❌ | -| `CUBEJS_DB_PASS` | The password used to connect to the broker | A valid password | ❌ | -| `CUBEJS_DB_NAME` | The database name for StarTree | A valid name | ❌ | -| `CUBEJS_DB_PINOT_AUTH_TOKEN` | The authentication token for StarTree | A valid token | ❌ | +| Environment Variable | Description | Possible Values | Required | +|---------------------------------|-------------------------------------------------------|---------------------|:--------:| +| `CUBEJS_DB_HOST` | The host URL for your Pinot broker | A valid host URL | ✅ | +| `CUBEJS_DB_PORT` | The port for the database connection | A valid port number | ✅ | +| `CUBEJS_DB_USER` | The username used to connect to the broker | A valid username | ❌ | +| `CUBEJS_DB_PASS` | The password used to connect to the broker | A valid password | ❌ | +| `CUBEJS_DB_NAME` | The database name for StarTree | A valid name | ❌ | +| `CUBEJS_DB_PINOT_NULL_HANDLING` | If `true`, enables null handling. Default is `false` | `true`, `false` | ❌ | +| `CUBEJS_DB_PINOT_AUTH_TOKEN` | The authentication token for StarTree | A valid token | ❌ | ## Pre-Aggregation Feature Support @@ -97,6 +99,7 @@ Cube does not require any additional configuration to enable SSL as Pinot connec [link-pinot]: https://pinot.apache.org/ [pinot]: https://docs.pinot.apache.org/ [link-pinot-msqe]: https://docs.pinot.apache.org/reference/multi-stage-engine +[link-pinot-nvs]: https://docs.pinot.apache.org/developers/advanced/null-value-support#advanced-null-handling-support [pinot-docs-approx-agg-fns]: https://docs.pinot.apache.org/users/user-guide-query/query-syntax/how-to-handle-unique-counting [ref-recipe-enable-ssl]: diff --git a/docs/pages/reference/configuration/environment-variables.mdx b/docs/pages/reference/configuration/environment-variables.mdx index f227eb192..114ee641c 100644 --- a/docs/pages/reference/configuration/environment-variables.mdx +++ b/docs/pages/reference/configuration/environment-variables.mdx @@ -740,6 +740,22 @@ The Snowflake warehouse to use when connecting to the database. | ---------------------------------------------------------------------- | ---------------------- | --------------------- | | [A valid Snowflake warehouse][snowflake-docs-warehouse] in the account | N/A | N/A | +## `CUBEJS_DB_PINOT_NULL_HANDLING` + +The Startree/Pinot null value support. If `true`, enables null handling. + +| Possible Values | Default in Development | Default in Production | +| --------------- | ---------------------- | --------------------- | +| `true`, `false` | `false` | `false` | + +## `CUBEJS_DB_PINOT_AUTH_TOKEN` + +The authentication token for StarTree to be passed as HTTP headers. + +| Possible Values | Default in Development | Default in Production | +| ----------------------------------- | ---------------------- | --------------------- | +| A valid string containing the token | N/A | N/A | + ## `CUBEJS_DB_SSL` If `true`, enables SSL encryption for database connections from Cube. diff --git a/packages/cubejs-backend-shared/src/env.ts b/packages/cubejs-backend-shared/src/env.ts index 91c0613f0..48bd9d92a 100644 --- a/packages/cubejs-backend-shared/src/env.ts +++ b/packages/cubejs-backend-shared/src/env.ts @@ -1784,6 +1784,35 @@ const variables: Record any> = { ] ), + /** + * Pinot / Startree Null value support + */ + + pinotNullHandling: ({ dataSource }: { dataSource: string }) => { + const val = process.env[ + keyByDataSource('CUBEJS_DB_PINOT_NULL_HANDLING', dataSource) + ]; + + if (val) { + if (val.toLocaleLowerCase() === 'true') { + return true; + } else if (val.toLowerCase() === 'false') { + return false; + } else { + throw new TypeError( + `The ${ + keyByDataSource( + 'CUBEJS_DB_PINOT_NULL_HANDLING', + dataSource, + ) + } must be either 'true' or 'false'.` + ); + } + } else { + return false; + } + }, + /** **************************************************************** * Dremio Driver * ***************************************************************** */ diff --git a/packages/cubejs-pinot-driver/src/PinotDriver.ts b/packages/cubejs-pinot-driver/src/PinotDriver.ts index be0242600..fa7ed2e3d 100644 --- a/packages/cubejs-pinot-driver/src/PinotDriver.ts +++ b/packages/cubejs-pinot-driver/src/PinotDriver.ts @@ -33,6 +33,7 @@ export type PinotDriverConfiguration = { ssl?: string | TLSConnectionOptions; dataSource?: string; queryTimeout?: number; + nullHandling?: boolean; }; type AuthorizationHeaders = { @@ -108,6 +109,7 @@ export class PinotDriver extends BaseDriver implements DriverInterface { : undefined, authToken: getEnv('pinotAuthToken', { dataSource }), ssl: this.getSslOptions(dataSource), + nullHandling: getEnv('pinotNullHandling', { dataSource }), queryTimeout: getEnv('dbQueryTimeout', { dataSource }), ...config }; @@ -167,7 +169,7 @@ export class PinotDriver extends BaseDriver implements DriverInterface { }), body: JSON.stringify({ sql: query, - queryOptions: `useMultistageEngine=true;timeoutMs=${this.config.queryTimeout}` + queryOptions: `useMultistageEngine=true;enableNullHandling=${this.config.nullHandling};timeoutMs=${this.config.queryTimeout}` }) }); From ce44840e2fec2840d7fe431a602b8bbc2e5bc992 Mon Sep 17 00:00:00 2001 From: Konstantin Burkalev Date: Fri, 7 Mar 2025 15:25:45 +0200 Subject: [PATCH 32/49] chore(deps): update missed dependencies (#9313) --- rust/cubestore/package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/rust/cubestore/package.json b/rust/cubestore/package.json index 763c764d8..0679745fb 100644 --- a/rust/cubestore/package.json +++ b/rust/cubestore/package.json @@ -27,7 +27,7 @@ "author": "Cube Dev, Inc.", "license": "Apache-2.0", "devDependencies": { - "@cubejs-backend/linter": "1.2.17", + "@cubejs-backend/linter": "1.2.18", "@types/jest": "^27", "@types/node": "^18", "jest": "^27", @@ -37,7 +37,7 @@ "access": "public" }, "dependencies": { - "@cubejs-backend/shared": "1.2.17", + "@cubejs-backend/shared": "1.2.18", "@octokit/core": "^3.2.5", "source-map-support": "^0.5.19" }, From 2792f4408ca135f2b2f235f9d6ba9e64ca24614b Mon Sep 17 00:00:00 2001 From: Igor Lukanin Date: Fri, 7 Mar 2025 18:20:19 +0100 Subject: [PATCH 33/49] docs: Add actions to Access Control (#9315) * Edits * docs: Add actions to Access Control * Fix --- .../product/workspace/access-control.mdx | 111 +++++++++++++++--- 1 file changed, 94 insertions(+), 17 deletions(-) diff --git a/docs/pages/product/workspace/access-control.mdx b/docs/pages/product/workspace/access-control.mdx index 92e96785a..ef06077aa 100644 --- a/docs/pages/product/workspace/access-control.mdx +++ b/docs/pages/product/workspace/access-control.mdx @@ -1,12 +1,7 @@ ---- -redirect_from: - - /cloud/access-control/ ---- - # Access Control -As an account administrator, you can define roles with specific permissions for -resources and apply those roles to users within the account. +As a Cube Cloud account administrator, you can define roles with specific permissions +for Cube Cloud resources and apply those roles to users within the account. @@ -15,25 +10,59 @@ Access control is available in Cube Cloud on -## List all roles +You can [manage accounts](#managing-accounts) as an account administrator, +[manage roles](#managing-roles), [assign them](#assigning-roles-to-users) to users, +and associate [supported actions](#actions) with those roles. + +## Managing accounts + +Account administrators have ultimate control over the Cube Cloud account, including +[managing roles](#managing-roles) and assigning them to users. + +You can see which users are account administrators on the Members tab of the +Team & Security page in your Cube Cloud. Account administrators have the +Admin toggle enabled next to their name. + +## Managing roles + +In Cube Cloud, users are not assigned permissions directly. Instead, they are assigned +_roles_ that are associated with _policies_. Each policy define what _actions_ they can +perform and on what _resources_ they can perform those actions. This approach makes it +easier to manage permissions at scale. -To see a list of roles in your account, first go to the Team settings page by -clicking on your avatar in the top right corner, then clicking on the "Team" -button. +Each role can be associated with one or more of the following policies: -On the Team settings page, click the "Roles" tab to see all the roles in your -account: +| Policy | Description | +| --- | --- | +| `Global` | Controls account-level functionality, e.g., as Billing. | +| `Deployment` | Controls deployment-level functionality, e.g., as Playground. | +| `Report` | Controls access to specific reports in Saved Reports. | +| `ReportFolder` | Controls access to specific folders in Saved Reports. | + +Each policy can apply to _all resources_ or _specific resources_. For example, a policy +could apply to all deployments or only to a specific deployment. + +Also, each policy can have _all actions_ or only _specific actions_ associated with it. +For example, a policy could allow a user to view, create, or delete one or more +deployments if it's associated with those specific actions. + +See [actions reference](#actions) for a list of available actions. + +### Browsing roles + +To see a list of roles, go to the Team & Security page in your Cube Cloud +account, then navigate to the Roles tab: -## Create a role +### Creating a role -To create a new role, click the "Add Role" button. Enter a name and optional -description for the role, then click "Add Policy" and select either "Deployment" -or "Global" for this policy's scope. +To create a new role, click the Add Role button. Enter a name and an optional +description for the role, then click Add Policy and select either Deployment +or Global for this policy's scope. Deployment policies apply to deployment-level functionality, such as the Playground and Data Model editor. Global policies apply to account-level @@ -63,3 +92,51 @@ Existing users' roles can be modified from the "Members" tab on the Team page: alt="Cube Cloud Team Roles tab" src="https://ucarecdn.com/a72cad30-487b-484a-b557-0f0e157c89b1/" /> + +## Actions + +Policies can have the following actions associated with them. + +Actions for the `Global` policy: + +| Action | Description | +| --- | --- | +| `Alerts Access`
`Alerts Create`
`Alerts Edit`
`Alerts Delete` | View, create, edit, and delete [budgets][ref-budgets]. | +| `Billing Access` | Access the billing data of the Cube Cloud account. | +| `Deployment Manage` | Create and delete deployments in the Cube Cloud account. | + +Actions for the `Deployment` policy: + +| Action | Description | +| --- | --- | +| `Deployment View`
`Deployment Edit` | Access the deployment, change its settings. | +| `Playground Access` | Use [Playground][ref-playground]. | +| `Data Model View` | View the source code in the [data model][ref-data-model] editor, use [Visual Model][ref-visual-model]. | +| `Data Model Edit (all branches)`
`Data Model Edit (dev branches only)` | Use the [development mode][ref-dev-mode], edit the data model, perform Git operations (e.g., commit, pull, push). | +| `Queries & Metrics Access` | Use [Query History][ref-query-history] and [Performance Insights][ref-perf-insights]. | +| `SQL Runner Access` | Use [SQL Runner][ref-sql-runner]. | +| `Data Assets Access` | Use [Semantic Catalog][ref-semantic-catalog] and [AI Assistant][ref-ai-assistant]. | + +Actions for the `Report` policy: + +| Action | Description | +| --- | --- | +| `Report Read`
`Report Manage` | View and create/delete reports. | + +Actions for the `ReportFolder` policy: + +| Action | Description | +| --- | --- | +| `Report Read`
`Report Manage` | View and create/delete report folders. | + + +[ref-budgets]: /product/workspace/budgets +[ref-playground]: /product/workspace/playground +[ref-data-model]: /product/workspace/data-model +[ref-visual-model]: /product/workspace/visual-model +[ref-dev-mode]: /product/workspace/dev-mode +[ref-query-history]: /product/workspace/query-history +[ref-perf-insights]: /product/workspace/performance +[ref-sql-runner]: /product/workspace/sql-runner +[ref-semantic-catalog]: /product/workspace/semantic-catalog +[ref-ai-assistant]: /product/workspace/ai-assistant \ No newline at end of file From 224aace2dd4190f5b4ae8d076a8a26d63967c042 Mon Sep 17 00:00:00 2001 From: Pavel Tiunov Date: Fri, 7 Mar 2025 20:35:02 -0800 Subject: [PATCH 34/49] v1.2.19 --- CHANGELOG.md | 24 ++++---- lerna.json | 11 +--- packages/cubejs-api-gateway/CHANGELOG.md | 6 +- packages/cubejs-api-gateway/package.json | 8 +-- packages/cubejs-athena-driver/CHANGELOG.md | 6 +- packages/cubejs-athena-driver/package.json | 10 ++-- packages/cubejs-backend-cloud/CHANGELOG.md | 6 +- packages/cubejs-backend-cloud/package.json | 6 +- packages/cubejs-backend-maven/CHANGELOG.md | 6 +- packages/cubejs-backend-maven/package.json | 6 +- packages/cubejs-backend-native/CHANGELOG.md | 6 +- packages/cubejs-backend-native/package.json | 8 +-- packages/cubejs-backend-shared/CHANGELOG.md | 11 ++-- packages/cubejs-backend-shared/package.json | 4 +- packages/cubejs-base-driver/CHANGELOG.md | 11 ++-- packages/cubejs-base-driver/package.json | 6 +- packages/cubejs-bigquery-driver/CHANGELOG.md | 6 +- packages/cubejs-bigquery-driver/package.json | 8 +-- packages/cubejs-cli/CHANGELOG.md | 6 +- packages/cubejs-cli/package.json | 12 ++-- .../cubejs-clickhouse-driver/CHANGELOG.md | 6 +- .../cubejs-clickhouse-driver/package.json | 10 ++-- packages/cubejs-client-core/CHANGELOG.md | 6 +- packages/cubejs-client-core/package.json | 2 +- packages/cubejs-client-dx/CHANGELOG.md | 6 +- packages/cubejs-client-dx/package.json | 2 +- packages/cubejs-client-ngx/CHANGELOG.md | 6 +- packages/cubejs-client-ngx/package.json | 2 +- packages/cubejs-client-react/CHANGELOG.md | 6 +- packages/cubejs-client-react/package.json | 4 +- packages/cubejs-client-vue/CHANGELOG.md | 6 +- packages/cubejs-client-vue/package.json | 4 +- packages/cubejs-client-vue3/CHANGELOG.md | 6 +- packages/cubejs-client-vue3/package.json | 4 +- .../cubejs-client-ws-transport/CHANGELOG.md | 6 +- .../cubejs-client-ws-transport/package.json | 6 +- packages/cubejs-crate-driver/CHANGELOG.md | 6 +- packages/cubejs-crate-driver/package.json | 10 ++-- packages/cubejs-cubestore-driver/CHANGELOG.md | 11 ++-- packages/cubejs-cubestore-driver/package.json | 12 ++-- .../CHANGELOG.md | 6 +- .../package.json | 12 ++-- .../cubejs-dbt-schema-extension/CHANGELOG.md | 6 +- .../cubejs-dbt-schema-extension/package.json | 8 +-- packages/cubejs-docker/CHANGELOG.md | 6 +- packages/cubejs-docker/package.json | 60 +++++++++---------- packages/cubejs-dremio-driver/CHANGELOG.md | 6 +- packages/cubejs-dremio-driver/package.json | 12 ++-- packages/cubejs-druid-driver/CHANGELOG.md | 6 +- packages/cubejs-druid-driver/package.json | 10 ++-- packages/cubejs-duckdb-driver/CHANGELOG.md | 6 +- packages/cubejs-duckdb-driver/package.json | 12 ++-- .../cubejs-elasticsearch-driver/CHANGELOG.md | 6 +- .../cubejs-elasticsearch-driver/package.json | 8 +-- packages/cubejs-firebolt-driver/CHANGELOG.md | 6 +- packages/cubejs-firebolt-driver/package.json | 12 ++-- packages/cubejs-hive-driver/CHANGELOG.md | 6 +- packages/cubejs-hive-driver/package.json | 8 +-- packages/cubejs-jdbc-driver/CHANGELOG.md | 6 +- packages/cubejs-jdbc-driver/package.json | 8 +-- packages/cubejs-ksql-driver/CHANGELOG.md | 6 +- packages/cubejs-ksql-driver/package.json | 10 ++-- packages/cubejs-linter/CHANGELOG.md | 6 +- packages/cubejs-linter/package.json | 2 +- .../cubejs-materialize-driver/CHANGELOG.md | 6 +- .../cubejs-materialize-driver/package.json | 12 ++-- packages/cubejs-mongobi-driver/CHANGELOG.md | 6 +- packages/cubejs-mongobi-driver/package.json | 8 +-- packages/cubejs-mssql-driver/CHANGELOG.md | 6 +- packages/cubejs-mssql-driver/package.json | 4 +- .../CHANGELOG.md | 6 +- .../package.json | 8 +-- packages/cubejs-mysql-driver/CHANGELOG.md | 6 +- packages/cubejs-mysql-driver/package.json | 10 ++-- packages/cubejs-oracle-driver/CHANGELOG.md | 6 +- packages/cubejs-oracle-driver/package.json | 4 +- packages/cubejs-pinot-driver/CHANGELOG.md | 8 ++- packages/cubejs-pinot-driver/package.json | 10 ++-- packages/cubejs-playground/CHANGELOG.md | 6 +- packages/cubejs-playground/package.json | 6 +- packages/cubejs-postgres-driver/CHANGELOG.md | 6 +- packages/cubejs-postgres-driver/package.json | 10 ++-- packages/cubejs-prestodb-driver/CHANGELOG.md | 6 +- packages/cubejs-prestodb-driver/package.json | 8 +-- .../cubejs-query-orchestrator/CHANGELOG.md | 11 ++-- .../cubejs-query-orchestrator/package.json | 10 ++-- packages/cubejs-questdb-driver/CHANGELOG.md | 6 +- packages/cubejs-questdb-driver/package.json | 12 ++-- packages/cubejs-redshift-driver/CHANGELOG.md | 6 +- packages/cubejs-redshift-driver/package.json | 10 ++-- packages/cubejs-schema-compiler/CHANGELOG.md | 15 +++-- packages/cubejs-schema-compiler/package.json | 10 ++-- packages/cubejs-server-core/CHANGELOG.md | 11 ++-- packages/cubejs-server-core/package.json | 22 +++---- packages/cubejs-server/CHANGELOG.md | 6 +- packages/cubejs-server/package.json | 14 ++--- packages/cubejs-snowflake-driver/CHANGELOG.md | 6 +- packages/cubejs-snowflake-driver/package.json | 8 +-- packages/cubejs-sqlite-driver/CHANGELOG.md | 6 +- packages/cubejs-sqlite-driver/package.json | 8 +-- packages/cubejs-templates/CHANGELOG.md | 6 +- packages/cubejs-templates/package.json | 6 +- packages/cubejs-testing-drivers/CHANGELOG.md | 6 +- packages/cubejs-testing-drivers/package.json | 36 +++++------ packages/cubejs-testing-shared/CHANGELOG.md | 6 +- packages/cubejs-testing-shared/package.json | 10 ++-- packages/cubejs-testing/CHANGELOG.md | 6 +- packages/cubejs-testing/package.json | 22 +++---- packages/cubejs-trino-driver/CHANGELOG.md | 6 +- packages/cubejs-trino-driver/package.json | 12 ++-- packages/cubejs-vertica-driver/CHANGELOG.md | 6 +- packages/cubejs-vertica-driver/package.json | 12 ++-- rust/cubesql/CHANGELOG.md | 4 ++ rust/cubesql/package.json | 2 +- rust/cubestore/CHANGELOG.md | 4 ++ rust/cubestore/package.json | 6 +- 116 files changed, 488 insertions(+), 487 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 69f8c6b22..19316cce1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,25 +3,25 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) - - -### Bug Fixes - -* **cubesql:** Calculate proper limit and offset for CubeScan in nested limits case ([#8924](https://github.com/cube-js/cube/issues/8924)) ([0e95f18](https://github.com/cube-js/cube/commit/0e95f18bede4d2c79c8c3b729004715aa8aa7a58)) -* **cubesql:** Make cube join check stricter ([#9043](https://github.com/cube-js/cube/issues/9043)) ([feaf03b](https://github.com/cube-js/cube/commit/feaf03b5a0199abda5e6d1f41ae5487c509a1276)) -* **query-orchestrator:** Fix improper pre-aggregation buildRange construction for non UTC timezones ([#9284](https://github.com/cube-js/cube/issues/9284)) ([ef12d8d](https://github.com/cube-js/cube/commit/ef12d8d02702df7dcc1e6531c1b0aee6afa576ef)) -* **tesseract:** Don't generate COALESCE with single argument ([#9300](https://github.com/cube-js/cube/issues/9300)) ([3174be1](https://github.com/cube-js/cube/commit/3174be17cd1d9ba6aa1c0ec3ccbd0c5426342dc0)) -* **tesseract:** fix wrong default alias for symbols with digits in name ([#9299](https://github.com/cube-js/cube/issues/9299)) ([329d228](https://github.com/cube-js/cube/commit/329d2289e115a5f71714755323a8b8a92a260519)) - +## [1.2.19](https://github.com/cube-js/cube/compare/v1.2.18...v1.2.19) (2025-03-08) ### Features -* **cubesql:** Support multiple columns on each side in ungrouped-grouped join condition ([#9282](https://github.com/cube-js/cube/issues/9282)) ([e25d5c1](https://github.com/cube-js/cube/commit/e25d5c1ce686e743c67fce45ae596270c9e1ddbe)) +- **pinot-driver:** Add enableNullHandling to query options using env var ([#9310](https://github.com/cube-js/cube/issues/9310)) ([df763cc](https://github.com/cube-js/cube/commit/df763cc9a375eb656d6ac4dc10adbd9a68082a0e)) +## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) +### Bug Fixes +- **cubesql:** Calculate proper limit and offset for CubeScan in nested limits case ([#8924](https://github.com/cube-js/cube/issues/8924)) ([0e95f18](https://github.com/cube-js/cube/commit/0e95f18bede4d2c79c8c3b729004715aa8aa7a58)) +- **cubesql:** Make cube join check stricter ([#9043](https://github.com/cube-js/cube/issues/9043)) ([feaf03b](https://github.com/cube-js/cube/commit/feaf03b5a0199abda5e6d1f41ae5487c509a1276)) +- **query-orchestrator:** Fix improper pre-aggregation buildRange construction for non UTC timezones ([#9284](https://github.com/cube-js/cube/issues/9284)) ([ef12d8d](https://github.com/cube-js/cube/commit/ef12d8d02702df7dcc1e6531c1b0aee6afa576ef)) +- **tesseract:** Don't generate COALESCE with single argument ([#9300](https://github.com/cube-js/cube/issues/9300)) ([3174be1](https://github.com/cube-js/cube/commit/3174be17cd1d9ba6aa1c0ec3ccbd0c5426342dc0)) +- **tesseract:** fix wrong default alias for symbols with digits in name ([#9299](https://github.com/cube-js/cube/issues/9299)) ([329d228](https://github.com/cube-js/cube/commit/329d2289e115a5f71714755323a8b8a92a260519)) + +### Features +- **cubesql:** Support multiple columns on each side in ungrouped-grouped join condition ([#9282](https://github.com/cube-js/cube/issues/9282)) ([e25d5c1](https://github.com/cube-js/cube/commit/e25d5c1ce686e743c67fce45ae596270c9e1ddbe)) ## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) diff --git a/lerna.json b/lerna.json index 396152b13..6ebb26919 100644 --- a/lerna.json +++ b/lerna.json @@ -1,18 +1,13 @@ { - "version": "1.2.18", + "version": "1.2.19", "npmClient": "yarn", "command": { "bootstrap": { "npmClient": "yarn", - "npmClientArgs": [ - "--frozen-lockfile" - ] + "npmClientArgs": ["--frozen-lockfile"] }, "version": { - "allowBranch": [ - "master", - "lts/*" - ] + "allowBranch": ["master", "lts/*"] } }, "$schema": "node_modules/lerna/schemas/lerna-schema.json" diff --git a/packages/cubejs-api-gateway/CHANGELOG.md b/packages/cubejs-api-gateway/CHANGELOG.md index fc8dbddde..cfb75550d 100644 --- a/packages/cubejs-api-gateway/CHANGELOG.md +++ b/packages/cubejs-api-gateway/CHANGELOG.md @@ -3,13 +3,13 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) +## [1.2.19](https://github.com/cube-js/cube/compare/v1.2.18...v1.2.19) (2025-03-08) **Note:** Version bump only for package @cubejs-backend/api-gateway +## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) - - +**Note:** Version bump only for package @cubejs-backend/api-gateway ## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) diff --git a/packages/cubejs-api-gateway/package.json b/packages/cubejs-api-gateway/package.json index 4a3522bde..fd4add53e 100644 --- a/packages/cubejs-api-gateway/package.json +++ b/packages/cubejs-api-gateway/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/api-gateway", "description": "Cube.js API Gateway", "author": "Cube Dev, Inc.", - "version": "1.2.18", + "version": "1.2.19", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -27,8 +27,8 @@ "dist/src/*" ], "dependencies": { - "@cubejs-backend/native": "1.2.18", - "@cubejs-backend/shared": "1.2.18", + "@cubejs-backend/native": "1.2.19", + "@cubejs-backend/shared": "1.2.19", "@ungap/structured-clone": "^0.3.4", "body-parser": "^1.19.0", "chrono-node": "^2.6.2", @@ -50,7 +50,7 @@ "uuid": "^8.3.2" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.18", + "@cubejs-backend/linter": "1.2.19", "@types/express": "^4.17.21", "@types/jest": "^27", "@types/jsonwebtoken": "^9.0.2", diff --git a/packages/cubejs-athena-driver/CHANGELOG.md b/packages/cubejs-athena-driver/CHANGELOG.md index e98b1a09c..531e1fa61 100644 --- a/packages/cubejs-athena-driver/CHANGELOG.md +++ b/packages/cubejs-athena-driver/CHANGELOG.md @@ -3,13 +3,13 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) +## [1.2.19](https://github.com/cube-js/cube/compare/v1.2.18...v1.2.19) (2025-03-08) **Note:** Version bump only for package @cubejs-backend/athena-driver +## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) - - +**Note:** Version bump only for package @cubejs-backend/athena-driver ## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) diff --git a/packages/cubejs-athena-driver/package.json b/packages/cubejs-athena-driver/package.json index c2f8c7a7f..9cadebe72 100644 --- a/packages/cubejs-athena-driver/package.json +++ b/packages/cubejs-athena-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/athena-driver", "description": "Cube.js Athena database driver", "author": "Cube Dev, Inc.", - "version": "1.2.18", + "version": "1.2.19", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -29,13 +29,13 @@ "types": "dist/src/index.d.ts", "dependencies": { "@aws-sdk/client-athena": "^3.22.0", - "@cubejs-backend/base-driver": "1.2.18", - "@cubejs-backend/shared": "1.2.18", + "@cubejs-backend/base-driver": "1.2.19", + "@cubejs-backend/shared": "1.2.19", "sqlstring": "^2.3.1" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.18", - "@cubejs-backend/testing-shared": "1.2.18", + "@cubejs-backend/linter": "1.2.19", + "@cubejs-backend/testing-shared": "1.2.19", "@types/ramda": "^0.27.40", "typescript": "~5.2.2" }, diff --git a/packages/cubejs-backend-cloud/CHANGELOG.md b/packages/cubejs-backend-cloud/CHANGELOG.md index bc0c9ca59..6bee455b6 100644 --- a/packages/cubejs-backend-cloud/CHANGELOG.md +++ b/packages/cubejs-backend-cloud/CHANGELOG.md @@ -3,13 +3,13 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) +## [1.2.19](https://github.com/cube-js/cube/compare/v1.2.18...v1.2.19) (2025-03-08) **Note:** Version bump only for package @cubejs-backend/cloud +## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) - - +**Note:** Version bump only for package @cubejs-backend/cloud ## [1.2.17](/compare/v1.2.16...v1.2.17) (2025-03-05) diff --git a/packages/cubejs-backend-cloud/package.json b/packages/cubejs-backend-cloud/package.json index 6f08871f9..b82ee9ffd 100644 --- a/packages/cubejs-backend-cloud/package.json +++ b/packages/cubejs-backend-cloud/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-backend/cloud", - "version": "1.2.18", + "version": "1.2.19", "description": "Cube Cloud package", "main": "dist/src/index.js", "typings": "dist/src/index.d.ts", @@ -25,7 +25,7 @@ "devDependencies": { "@babel/core": "^7.24.5", "@babel/preset-env": "^7.24.5", - "@cubejs-backend/linter": "1.2.18", + "@cubejs-backend/linter": "1.2.19", "@types/fs-extra": "^9.0.8", "@types/jest": "^27", "jest": "^27", @@ -33,7 +33,7 @@ }, "dependencies": { "@cubejs-backend/dotenv": "^9.0.2", - "@cubejs-backend/shared": "1.2.18", + "@cubejs-backend/shared": "1.2.19", "chokidar": "^3.5.1", "env-var": "^6.3.0", "form-data": "^4.0.0", diff --git a/packages/cubejs-backend-maven/CHANGELOG.md b/packages/cubejs-backend-maven/CHANGELOG.md index 9b4e4a02f..8a1bb5734 100644 --- a/packages/cubejs-backend-maven/CHANGELOG.md +++ b/packages/cubejs-backend-maven/CHANGELOG.md @@ -3,13 +3,13 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) +## [1.2.19](https://github.com/cube-js/cube/compare/v1.2.18...v1.2.19) (2025-03-08) **Note:** Version bump only for package @cubejs-backend/maven +## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) - - +**Note:** Version bump only for package @cubejs-backend/maven ## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) diff --git a/packages/cubejs-backend-maven/package.json b/packages/cubejs-backend-maven/package.json index 9998d2ed2..b21f7965c 100644 --- a/packages/cubejs-backend-maven/package.json +++ b/packages/cubejs-backend-maven/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/maven", "description": "Cube.js Maven Wrapper for java dependencies downloading", "author": "Cube Dev, Inc.", - "version": "1.2.18", + "version": "1.2.19", "license": "Apache-2.0", "repository": { "type": "git", @@ -31,12 +31,12 @@ "dist/src/*" ], "dependencies": { - "@cubejs-backend/shared": "1.2.18", + "@cubejs-backend/shared": "1.2.19", "source-map-support": "^0.5.19", "xmlbuilder2": "^2.4.0" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.18", + "@cubejs-backend/linter": "1.2.19", "@types/jest": "^27", "@types/node": "^18", "jest": "^27", diff --git a/packages/cubejs-backend-native/CHANGELOG.md b/packages/cubejs-backend-native/CHANGELOG.md index 042cfca33..a3bc0892f 100644 --- a/packages/cubejs-backend-native/CHANGELOG.md +++ b/packages/cubejs-backend-native/CHANGELOG.md @@ -3,13 +3,13 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) +## [1.2.19](https://github.com/cube-js/cube/compare/v1.2.18...v1.2.19) (2025-03-08) **Note:** Version bump only for package @cubejs-backend/native +## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) - - +**Note:** Version bump only for package @cubejs-backend/native ## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) diff --git a/packages/cubejs-backend-native/package.json b/packages/cubejs-backend-native/package.json index 6e2638da7..336938d68 100644 --- a/packages/cubejs-backend-native/package.json +++ b/packages/cubejs-backend-native/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-backend/native", - "version": "1.2.18", + "version": "1.2.19", "author": "Cube Dev, Inc.", "description": "Native module for Cube.js (binding to Rust codebase)", "main": "dist/js/index.js", @@ -34,7 +34,7 @@ "dist/js" ], "devDependencies": { - "@cubejs-backend/linter": "1.2.18", + "@cubejs-backend/linter": "1.2.19", "@types/jest": "^27", "@types/node": "^18", "cargo-cp-artifact": "^0.1.9", @@ -44,8 +44,8 @@ "uuid": "^8.3.2" }, "dependencies": { - "@cubejs-backend/cubesql": "1.2.17", - "@cubejs-backend/shared": "1.2.18", + "@cubejs-backend/cubesql": "1.2.19", + "@cubejs-backend/shared": "1.2.19", "@cubejs-infra/post-installer": "^0.0.7" }, "resources": { diff --git a/packages/cubejs-backend-shared/CHANGELOG.md b/packages/cubejs-backend-shared/CHANGELOG.md index 9d0e53468..a90407798 100644 --- a/packages/cubejs-backend-shared/CHANGELOG.md +++ b/packages/cubejs-backend-shared/CHANGELOG.md @@ -3,16 +3,17 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) - - -### Bug Fixes +## [1.2.19](https://github.com/cube-js/cube/compare/v1.2.18...v1.2.19) (2025-03-08) -* **query-orchestrator:** Fix improper pre-aggregation buildRange construction for non UTC timezones ([#9284](https://github.com/cube-js/cube/issues/9284)) ([ef12d8d](https://github.com/cube-js/cube/commit/ef12d8d02702df7dcc1e6531c1b0aee6afa576ef)) +### Features +- **pinot-driver:** Add enableNullHandling to query options using env var ([#9310](https://github.com/cube-js/cube/issues/9310)) ([df763cc](https://github.com/cube-js/cube/commit/df763cc9a375eb656d6ac4dc10adbd9a68082a0e)) +## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) +### Bug Fixes +- **query-orchestrator:** Fix improper pre-aggregation buildRange construction for non UTC timezones ([#9284](https://github.com/cube-js/cube/issues/9284)) ([ef12d8d](https://github.com/cube-js/cube/commit/ef12d8d02702df7dcc1e6531c1b0aee6afa576ef)) ## [1.2.17](/compare/v1.2.16...v1.2.17) (2025-03-05) diff --git a/packages/cubejs-backend-shared/package.json b/packages/cubejs-backend-shared/package.json index 72fa34e5e..7d682a2dd 100644 --- a/packages/cubejs-backend-shared/package.json +++ b/packages/cubejs-backend-shared/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-backend/shared", - "version": "1.2.18", + "version": "1.2.19", "description": "Shared code for Cube.js backend packages", "main": "dist/src/index.js", "typings": "dist/src/index.d.ts", @@ -22,7 +22,7 @@ "author": "Cube Dev, Inc.", "license": "Apache-2.0", "devDependencies": { - "@cubejs-backend/linter": "1.2.18", + "@cubejs-backend/linter": "1.2.19", "@types/bytes": "^3.1.5", "@types/cli-progress": "^3.9.1", "@types/decompress": "^4.2.7", diff --git a/packages/cubejs-base-driver/CHANGELOG.md b/packages/cubejs-base-driver/CHANGELOG.md index 736f53519..0e3d370e0 100644 --- a/packages/cubejs-base-driver/CHANGELOG.md +++ b/packages/cubejs-base-driver/CHANGELOG.md @@ -3,16 +3,15 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) - - -### Bug Fixes - -* **query-orchestrator:** Fix improper pre-aggregation buildRange construction for non UTC timezones ([#9284](https://github.com/cube-js/cube/issues/9284)) ([ef12d8d](https://github.com/cube-js/cube/commit/ef12d8d02702df7dcc1e6531c1b0aee6afa576ef)) +## [1.2.19](https://github.com/cube-js/cube/compare/v1.2.18...v1.2.19) (2025-03-08) +**Note:** Version bump only for package @cubejs-backend/base-driver +## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) +### Bug Fixes +- **query-orchestrator:** Fix improper pre-aggregation buildRange construction for non UTC timezones ([#9284](https://github.com/cube-js/cube/issues/9284)) ([ef12d8d](https://github.com/cube-js/cube/commit/ef12d8d02702df7dcc1e6531c1b0aee6afa576ef)) ## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) diff --git a/packages/cubejs-base-driver/package.json b/packages/cubejs-base-driver/package.json index 9033c9bca..a2e35a6c4 100644 --- a/packages/cubejs-base-driver/package.json +++ b/packages/cubejs-base-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/base-driver", "description": "Cube.js Base Driver", "author": "Cube Dev, Inc.", - "version": "1.2.18", + "version": "1.2.19", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -33,11 +33,11 @@ "@aws-sdk/s3-request-presigner": "^3.49.0", "@azure/identity": "^4.4.1", "@azure/storage-blob": "^12.9.0", - "@cubejs-backend/shared": "1.2.18", + "@cubejs-backend/shared": "1.2.19", "@google-cloud/storage": "^7.13.0" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.18", + "@cubejs-backend/linter": "1.2.19", "@types/jest": "^27", "@types/node": "^18", "jest": "^27", diff --git a/packages/cubejs-bigquery-driver/CHANGELOG.md b/packages/cubejs-bigquery-driver/CHANGELOG.md index 0b79a67b1..e8cf1eb32 100644 --- a/packages/cubejs-bigquery-driver/CHANGELOG.md +++ b/packages/cubejs-bigquery-driver/CHANGELOG.md @@ -3,13 +3,13 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) +## [1.2.19](https://github.com/cube-js/cube/compare/v1.2.18...v1.2.19) (2025-03-08) **Note:** Version bump only for package @cubejs-backend/bigquery-driver +## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) - - +**Note:** Version bump only for package @cubejs-backend/bigquery-driver ## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) diff --git a/packages/cubejs-bigquery-driver/package.json b/packages/cubejs-bigquery-driver/package.json index bbbecae88..feadd5ba1 100644 --- a/packages/cubejs-bigquery-driver/package.json +++ b/packages/cubejs-bigquery-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/bigquery-driver", "description": "Cube.js BigQuery database driver", "author": "Cube Dev, Inc.", - "version": "1.2.18", + "version": "1.2.19", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -28,15 +28,15 @@ "main": "index.js", "types": "dist/src/index.d.ts", "dependencies": { - "@cubejs-backend/base-driver": "1.2.18", + "@cubejs-backend/base-driver": "1.2.19", "@cubejs-backend/dotenv": "^9.0.2", - "@cubejs-backend/shared": "1.2.18", + "@cubejs-backend/shared": "1.2.19", "@google-cloud/bigquery": "^7.7.0", "@google-cloud/storage": "^7.13.0", "ramda": "^0.27.2" }, "devDependencies": { - "@cubejs-backend/testing-shared": "1.2.18", + "@cubejs-backend/testing-shared": "1.2.19", "@types/big.js": "^6.2.2", "@types/dedent": "^0.7.0", "@types/jest": "^27", diff --git a/packages/cubejs-cli/CHANGELOG.md b/packages/cubejs-cli/CHANGELOG.md index 6f09eb4b6..14c61c09b 100644 --- a/packages/cubejs-cli/CHANGELOG.md +++ b/packages/cubejs-cli/CHANGELOG.md @@ -3,13 +3,13 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) +## [1.2.19](https://github.com/cube-js/cube/compare/v1.2.18...v1.2.19) (2025-03-08) **Note:** Version bump only for package cubejs-cli +## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) - - +**Note:** Version bump only for package cubejs-cli ## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) diff --git a/packages/cubejs-cli/package.json b/packages/cubejs-cli/package.json index e59ef2840..15a5b2e3f 100644 --- a/packages/cubejs-cli/package.json +++ b/packages/cubejs-cli/package.json @@ -2,7 +2,7 @@ "name": "cubejs-cli", "description": "Cube.js Command Line Interface", "author": "Cube Dev, Inc.", - "version": "1.2.18", + "version": "1.2.19", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -30,10 +30,10 @@ "LICENSE" ], "dependencies": { - "@cubejs-backend/cloud": "1.2.18", + "@cubejs-backend/cloud": "1.2.19", "@cubejs-backend/dotenv": "^9.0.2", - "@cubejs-backend/schema-compiler": "1.2.18", - "@cubejs-backend/shared": "1.2.18", + "@cubejs-backend/schema-compiler": "1.2.19", + "@cubejs-backend/shared": "1.2.19", "chalk": "^2.4.2", "cli-progress": "^3.10", "commander": "^2.19.0", @@ -50,8 +50,8 @@ "colors": "1.4.0" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.18", - "@cubejs-backend/server": "1.2.18", + "@cubejs-backend/linter": "1.2.19", + "@cubejs-backend/server": "1.2.19", "@oclif/command": "^1.8.0", "@types/cli-progress": "^3.8.0", "@types/cross-spawn": "^6.0.2", diff --git a/packages/cubejs-clickhouse-driver/CHANGELOG.md b/packages/cubejs-clickhouse-driver/CHANGELOG.md index 1b89d8030..ba82695e8 100644 --- a/packages/cubejs-clickhouse-driver/CHANGELOG.md +++ b/packages/cubejs-clickhouse-driver/CHANGELOG.md @@ -3,13 +3,13 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) +## [1.2.19](https://github.com/cube-js/cube/compare/v1.2.18...v1.2.19) (2025-03-08) **Note:** Version bump only for package @cubejs-backend/clickhouse-driver +## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) - - +**Note:** Version bump only for package @cubejs-backend/clickhouse-driver ## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) diff --git a/packages/cubejs-clickhouse-driver/package.json b/packages/cubejs-clickhouse-driver/package.json index b3d825be6..c50522cac 100644 --- a/packages/cubejs-clickhouse-driver/package.json +++ b/packages/cubejs-clickhouse-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/clickhouse-driver", "description": "Cube.js ClickHouse database driver", "author": "Cube Dev, Inc.", - "version": "1.2.18", + "version": "1.2.19", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -28,16 +28,16 @@ }, "dependencies": { "@clickhouse/client": "^1.7.0", - "@cubejs-backend/base-driver": "1.2.18", - "@cubejs-backend/shared": "1.2.18", + "@cubejs-backend/base-driver": "1.2.19", + "@cubejs-backend/shared": "1.2.19", "moment": "^2.24.0", "sqlstring": "^2.3.1", "uuid": "^8.3.2" }, "license": "Apache-2.0", "devDependencies": { - "@cubejs-backend/linter": "1.2.18", - "@cubejs-backend/testing-shared": "1.2.18", + "@cubejs-backend/linter": "1.2.19", + "@cubejs-backend/testing-shared": "1.2.19", "@types/jest": "^27", "jest": "^27", "typescript": "~5.2.2" diff --git a/packages/cubejs-client-core/CHANGELOG.md b/packages/cubejs-client-core/CHANGELOG.md index 3096000be..9f2d3bd0c 100644 --- a/packages/cubejs-client-core/CHANGELOG.md +++ b/packages/cubejs-client-core/CHANGELOG.md @@ -3,13 +3,13 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) +## [1.2.19](https://github.com/cube-js/cube/compare/v1.2.18...v1.2.19) (2025-03-08) **Note:** Version bump only for package @cubejs-client/core +## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) - - +**Note:** Version bump only for package @cubejs-client/core ## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) diff --git a/packages/cubejs-client-core/package.json b/packages/cubejs-client-core/package.json index bfd4de758..426ad0461 100644 --- a/packages/cubejs-client-core/package.json +++ b/packages/cubejs-client-core/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-client/core", - "version": "1.2.18", + "version": "1.2.19", "engines": {}, "repository": { "type": "git", diff --git a/packages/cubejs-client-dx/CHANGELOG.md b/packages/cubejs-client-dx/CHANGELOG.md index ee10153ae..8262cab36 100644 --- a/packages/cubejs-client-dx/CHANGELOG.md +++ b/packages/cubejs-client-dx/CHANGELOG.md @@ -3,13 +3,13 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) +## [1.2.19](https://github.com/cube-js/cube/compare/v1.2.18...v1.2.19) (2025-03-08) **Note:** Version bump only for package @cubejs-client/dx +## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) - - +**Note:** Version bump only for package @cubejs-client/dx ## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) diff --git a/packages/cubejs-client-dx/package.json b/packages/cubejs-client-dx/package.json index f6fa545b9..ed9374bb7 100644 --- a/packages/cubejs-client-dx/package.json +++ b/packages/cubejs-client-dx/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-client/dx", - "version": "1.2.18", + "version": "1.2.19", "engines": {}, "repository": { "type": "git", diff --git a/packages/cubejs-client-ngx/CHANGELOG.md b/packages/cubejs-client-ngx/CHANGELOG.md index a399d3421..ef17294f1 100644 --- a/packages/cubejs-client-ngx/CHANGELOG.md +++ b/packages/cubejs-client-ngx/CHANGELOG.md @@ -3,13 +3,13 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) +## [1.2.19](https://github.com/cube-js/cube/compare/v1.2.18...v1.2.19) (2025-03-08) **Note:** Version bump only for package @cubejs-client/ngx +## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) - - +**Note:** Version bump only for package @cubejs-client/ngx ## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) diff --git a/packages/cubejs-client-ngx/package.json b/packages/cubejs-client-ngx/package.json index 2f6695cd2..ae77952ee 100644 --- a/packages/cubejs-client-ngx/package.json +++ b/packages/cubejs-client-ngx/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-client/ngx", - "version": "1.2.18", + "version": "1.2.19", "author": "Cube Dev, Inc.", "engines": {}, "repository": { diff --git a/packages/cubejs-client-react/CHANGELOG.md b/packages/cubejs-client-react/CHANGELOG.md index 2cd365058..c5b97c56a 100644 --- a/packages/cubejs-client-react/CHANGELOG.md +++ b/packages/cubejs-client-react/CHANGELOG.md @@ -3,13 +3,13 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) +## [1.2.19](https://github.com/cube-js/cube/compare/v1.2.18...v1.2.19) (2025-03-08) **Note:** Version bump only for package @cubejs-client/react +## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) - - +**Note:** Version bump only for package @cubejs-client/react ## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) diff --git a/packages/cubejs-client-react/package.json b/packages/cubejs-client-react/package.json index 01eef504f..551524458 100644 --- a/packages/cubejs-client-react/package.json +++ b/packages/cubejs-client-react/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-client/react", - "version": "1.2.18", + "version": "1.2.19", "author": "Cube Dev, Inc.", "license": "MIT", "engines": {}, @@ -24,7 +24,7 @@ ], "dependencies": { "@babel/runtime": "^7.1.2", - "@cubejs-client/core": "1.2.18", + "@cubejs-client/core": "1.2.19", "core-js": "^3.6.5", "ramda": "^0.27.2" }, diff --git a/packages/cubejs-client-vue/CHANGELOG.md b/packages/cubejs-client-vue/CHANGELOG.md index d35432e9a..e9388b1af 100644 --- a/packages/cubejs-client-vue/CHANGELOG.md +++ b/packages/cubejs-client-vue/CHANGELOG.md @@ -3,13 +3,13 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.2.18](https://github.com/cube-js/cube.js/compare/v1.2.17...v1.2.18) (2025-03-06) +## [1.2.19](https://github.com/cube-js/cube.js/compare/v1.2.18...v1.2.19) (2025-03-08) **Note:** Version bump only for package @cubejs-client/vue +## [1.2.18](https://github.com/cube-js/cube.js/compare/v1.2.17...v1.2.18) (2025-03-06) - - +**Note:** Version bump only for package @cubejs-client/vue ## [1.2.17](https://github.com/cube-js/cube.js/compare/v1.2.16...v1.2.17) (2025-03-05) diff --git a/packages/cubejs-client-vue/package.json b/packages/cubejs-client-vue/package.json index abb99b8b3..15d1043f0 100644 --- a/packages/cubejs-client-vue/package.json +++ b/packages/cubejs-client-vue/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-client/vue", - "version": "1.2.18", + "version": "1.2.19", "engines": {}, "repository": { "type": "git", @@ -28,7 +28,7 @@ "src" ], "dependencies": { - "@cubejs-client/core": "1.2.18", + "@cubejs-client/core": "1.2.19", "core-js": "^3.6.5", "ramda": "^0.27.2" }, diff --git a/packages/cubejs-client-vue3/CHANGELOG.md b/packages/cubejs-client-vue3/CHANGELOG.md index 2eb3340e6..1b53a2498 100644 --- a/packages/cubejs-client-vue3/CHANGELOG.md +++ b/packages/cubejs-client-vue3/CHANGELOG.md @@ -3,13 +3,13 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.2.18](https://github.com/cube-js/cube.js/compare/v1.2.17...v1.2.18) (2025-03-06) +## [1.2.19](https://github.com/cube-js/cube.js/compare/v1.2.18...v1.2.19) (2025-03-08) **Note:** Version bump only for package @cubejs-client/vue3 +## [1.2.18](https://github.com/cube-js/cube.js/compare/v1.2.17...v1.2.18) (2025-03-06) - - +**Note:** Version bump only for package @cubejs-client/vue3 ## [1.2.17](https://github.com/cube-js/cube.js/compare/v1.2.16...v1.2.17) (2025-03-05) diff --git a/packages/cubejs-client-vue3/package.json b/packages/cubejs-client-vue3/package.json index 3ab1be525..51fddf15d 100644 --- a/packages/cubejs-client-vue3/package.json +++ b/packages/cubejs-client-vue3/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-client/vue3", - "version": "1.2.18", + "version": "1.2.19", "engines": {}, "repository": { "type": "git", @@ -28,7 +28,7 @@ "src" ], "dependencies": { - "@cubejs-client/core": "1.2.18", + "@cubejs-client/core": "1.2.19", "@vue/compiler-sfc": "^3.0.11", "core-js": "^3.6.5", "flush-promises": "^1.0.2", diff --git a/packages/cubejs-client-ws-transport/CHANGELOG.md b/packages/cubejs-client-ws-transport/CHANGELOG.md index 759878ec2..9044de214 100644 --- a/packages/cubejs-client-ws-transport/CHANGELOG.md +++ b/packages/cubejs-client-ws-transport/CHANGELOG.md @@ -3,13 +3,13 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) +## [1.2.19](https://github.com/cube-js/cube/compare/v1.2.18...v1.2.19) (2025-03-08) **Note:** Version bump only for package @cubejs-client/ws-transport +## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) - - +**Note:** Version bump only for package @cubejs-client/ws-transport ## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) diff --git a/packages/cubejs-client-ws-transport/package.json b/packages/cubejs-client-ws-transport/package.json index 270289426..0caa13828 100644 --- a/packages/cubejs-client-ws-transport/package.json +++ b/packages/cubejs-client-ws-transport/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-client/ws-transport", - "version": "1.2.18", + "version": "1.2.19", "engines": {}, "repository": { "type": "git", @@ -20,7 +20,7 @@ }, "dependencies": { "@babel/runtime": "^7.1.2", - "@cubejs-client/core": "1.2.18", + "@cubejs-client/core": "1.2.19", "core-js": "^3.6.5", "isomorphic-ws": "^4.0.1", "ws": "^7.3.1" @@ -34,7 +34,7 @@ "@babel/core": "^7.3.3", "@babel/preset-env": "^7.3.1", "@babel/preset-typescript": "^7.12.1", - "@cubejs-backend/linter": "1.2.18", + "@cubejs-backend/linter": "1.2.19", "@types/ws": "^7.2.9", "babel-jest": "^27", "jest": "^27", diff --git a/packages/cubejs-crate-driver/CHANGELOG.md b/packages/cubejs-crate-driver/CHANGELOG.md index 5f4617c06..05443f004 100644 --- a/packages/cubejs-crate-driver/CHANGELOG.md +++ b/packages/cubejs-crate-driver/CHANGELOG.md @@ -3,13 +3,13 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) +## [1.2.19](https://github.com/cube-js/cube/compare/v1.2.18...v1.2.19) (2025-03-08) **Note:** Version bump only for package @cubejs-backend/crate-driver +## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) - - +**Note:** Version bump only for package @cubejs-backend/crate-driver ## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) diff --git a/packages/cubejs-crate-driver/package.json b/packages/cubejs-crate-driver/package.json index 6c8fd75e2..e3c30b8f9 100644 --- a/packages/cubejs-crate-driver/package.json +++ b/packages/cubejs-crate-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/crate-driver", "description": "Cube.js Crate database driver", "author": "Cube Dev, Inc.", - "version": "1.2.18", + "version": "1.2.19", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -28,14 +28,14 @@ "lint:fix": "eslint --fix src/* --ext .ts" }, "dependencies": { - "@cubejs-backend/postgres-driver": "1.2.18", - "@cubejs-backend/shared": "1.2.18", + "@cubejs-backend/postgres-driver": "1.2.19", + "@cubejs-backend/shared": "1.2.19", "pg": "^8.7.1" }, "license": "Apache-2.0", "devDependencies": { - "@cubejs-backend/linter": "1.2.18", - "@cubejs-backend/testing-shared": "1.2.18", + "@cubejs-backend/linter": "1.2.19", + "@cubejs-backend/testing-shared": "1.2.19", "testcontainers": "^10.13.0", "typescript": "~5.2.2" }, diff --git a/packages/cubejs-cubestore-driver/CHANGELOG.md b/packages/cubejs-cubestore-driver/CHANGELOG.md index ab77191b7..0ce2ae7d1 100644 --- a/packages/cubejs-cubestore-driver/CHANGELOG.md +++ b/packages/cubejs-cubestore-driver/CHANGELOG.md @@ -3,16 +3,15 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) - - -### Bug Fixes - -* **query-orchestrator:** Fix improper pre-aggregation buildRange construction for non UTC timezones ([#9284](https://github.com/cube-js/cube/issues/9284)) ([ef12d8d](https://github.com/cube-js/cube/commit/ef12d8d02702df7dcc1e6531c1b0aee6afa576ef)) +## [1.2.19](https://github.com/cube-js/cube/compare/v1.2.18...v1.2.19) (2025-03-08) +**Note:** Version bump only for package @cubejs-backend/cubestore-driver +## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) +### Bug Fixes +- **query-orchestrator:** Fix improper pre-aggregation buildRange construction for non UTC timezones ([#9284](https://github.com/cube-js/cube/issues/9284)) ([ef12d8d](https://github.com/cube-js/cube/commit/ef12d8d02702df7dcc1e6531c1b0aee6afa576ef)) ## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) diff --git a/packages/cubejs-cubestore-driver/package.json b/packages/cubejs-cubestore-driver/package.json index 4239aa676..cc1c4a4bc 100644 --- a/packages/cubejs-cubestore-driver/package.json +++ b/packages/cubejs-cubestore-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/cubestore-driver", "description": "Cube Store driver", "author": "Cube Dev, Inc.", - "version": "1.2.18", + "version": "1.2.19", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -26,10 +26,10 @@ "lint:fix": "eslint --fix src/*.ts" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.18", - "@cubejs-backend/cubestore": "1.2.17", - "@cubejs-backend/native": "1.2.18", - "@cubejs-backend/shared": "1.2.18", + "@cubejs-backend/base-driver": "1.2.19", + "@cubejs-backend/cubestore": "1.2.19", + "@cubejs-backend/native": "1.2.19", + "@cubejs-backend/shared": "1.2.19", "csv-write-stream": "^2.0.0", "flatbuffers": "23.3.3", "fs-extra": "^9.1.0", @@ -41,7 +41,7 @@ "ws": "^7.4.3" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.18", + "@cubejs-backend/linter": "1.2.19", "@types/csv-write-stream": "^2.0.0", "@types/generic-pool": "^3.1.9", "@types/node": "^18", diff --git a/packages/cubejs-databricks-jdbc-driver/CHANGELOG.md b/packages/cubejs-databricks-jdbc-driver/CHANGELOG.md index 7a3f1a823..1714d725b 100644 --- a/packages/cubejs-databricks-jdbc-driver/CHANGELOG.md +++ b/packages/cubejs-databricks-jdbc-driver/CHANGELOG.md @@ -3,13 +3,13 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) +## [1.2.19](https://github.com/cube-js/cube/compare/v1.2.18...v1.2.19) (2025-03-08) **Note:** Version bump only for package @cubejs-backend/databricks-jdbc-driver +## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) - - +**Note:** Version bump only for package @cubejs-backend/databricks-jdbc-driver ## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) diff --git a/packages/cubejs-databricks-jdbc-driver/package.json b/packages/cubejs-databricks-jdbc-driver/package.json index 31d62ec8f..6e273ba4a 100644 --- a/packages/cubejs-databricks-jdbc-driver/package.json +++ b/packages/cubejs-databricks-jdbc-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/databricks-jdbc-driver", "description": "Cube.js Databricks database driver", "author": "Cube Dev, Inc.", - "version": "1.2.18", + "version": "1.2.19", "license": "Apache-2.0", "repository": { "type": "git", @@ -30,17 +30,17 @@ "bin" ], "dependencies": { - "@cubejs-backend/base-driver": "1.2.18", - "@cubejs-backend/jdbc-driver": "1.2.18", - "@cubejs-backend/schema-compiler": "1.2.18", - "@cubejs-backend/shared": "1.2.18", + "@cubejs-backend/base-driver": "1.2.19", + "@cubejs-backend/jdbc-driver": "1.2.19", + "@cubejs-backend/schema-compiler": "1.2.19", + "@cubejs-backend/shared": "1.2.19", "node-fetch": "^2.6.1", "ramda": "^0.27.2", "source-map-support": "^0.5.19", "uuid": "^8.3.2" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.18", + "@cubejs-backend/linter": "1.2.19", "@types/generic-pool": "^3.1.9", "@types/jest": "^27", "@types/node": "^18", diff --git a/packages/cubejs-dbt-schema-extension/CHANGELOG.md b/packages/cubejs-dbt-schema-extension/CHANGELOG.md index 8c663c353..ea57dfade 100644 --- a/packages/cubejs-dbt-schema-extension/CHANGELOG.md +++ b/packages/cubejs-dbt-schema-extension/CHANGELOG.md @@ -3,13 +3,13 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) +## [1.2.19](https://github.com/cube-js/cube/compare/v1.2.18...v1.2.19) (2025-03-08) **Note:** Version bump only for package @cubejs-backend/dbt-schema-extension +## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) - - +**Note:** Version bump only for package @cubejs-backend/dbt-schema-extension ## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) diff --git a/packages/cubejs-dbt-schema-extension/package.json b/packages/cubejs-dbt-schema-extension/package.json index bede468da..1c0745130 100644 --- a/packages/cubejs-dbt-schema-extension/package.json +++ b/packages/cubejs-dbt-schema-extension/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/dbt-schema-extension", "description": "Cube.js dbt Schema Extension", "author": "Cube Dev, Inc.", - "version": "1.2.18", + "version": "1.2.19", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -25,14 +25,14 @@ "lint:fix": "eslint --fix src/* --ext .ts,.js" }, "dependencies": { - "@cubejs-backend/schema-compiler": "1.2.18", + "@cubejs-backend/schema-compiler": "1.2.19", "fs-extra": "^9.1.0", "inflection": "^1.12.0", "node-fetch": "^2.6.1" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.18", - "@cubejs-backend/testing": "1.2.18", + "@cubejs-backend/linter": "1.2.19", + "@cubejs-backend/testing": "1.2.19", "@types/generic-pool": "^3.1.9", "@types/jest": "^27", "jest": "^27", diff --git a/packages/cubejs-docker/CHANGELOG.md b/packages/cubejs-docker/CHANGELOG.md index c72fad64b..bbc44eca6 100644 --- a/packages/cubejs-docker/CHANGELOG.md +++ b/packages/cubejs-docker/CHANGELOG.md @@ -3,13 +3,13 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) +## [1.2.19](https://github.com/cube-js/cube/compare/v1.2.18...v1.2.19) (2025-03-08) **Note:** Version bump only for package @cubejs-backend/docker +## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) - - +**Note:** Version bump only for package @cubejs-backend/docker ## [1.2.17](/compare/v1.2.16...v1.2.17) (2025-03-05) diff --git a/packages/cubejs-docker/package.json b/packages/cubejs-docker/package.json index be307b7d8..12b416b96 100644 --- a/packages/cubejs-docker/package.json +++ b/packages/cubejs-docker/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-backend/docker", - "version": "1.2.18", + "version": "1.2.19", "description": "Cube.js In Docker (virtual package)", "author": "Cube Dev, Inc.", "license": "Apache-2.0", @@ -9,35 +9,35 @@ "node": "^14.0.0 || ^16.0.0 || >=17.0.0" }, "dependencies": { - "@cubejs-backend/athena-driver": "1.2.18", - "@cubejs-backend/bigquery-driver": "1.2.18", - "@cubejs-backend/clickhouse-driver": "1.2.18", - "@cubejs-backend/crate-driver": "1.2.18", - "@cubejs-backend/databricks-jdbc-driver": "1.2.18", - "@cubejs-backend/dbt-schema-extension": "1.2.18", - "@cubejs-backend/dremio-driver": "1.2.18", - "@cubejs-backend/druid-driver": "1.2.18", - "@cubejs-backend/duckdb-driver": "1.2.18", - "@cubejs-backend/elasticsearch-driver": "1.2.18", - "@cubejs-backend/firebolt-driver": "1.2.18", - "@cubejs-backend/hive-driver": "1.2.18", - "@cubejs-backend/ksql-driver": "1.2.18", - "@cubejs-backend/materialize-driver": "1.2.18", - "@cubejs-backend/mongobi-driver": "1.2.18", - "@cubejs-backend/mssql-driver": "1.2.18", - "@cubejs-backend/mysql-driver": "1.2.18", - "@cubejs-backend/oracle-driver": "1.2.18", - "@cubejs-backend/pinot-driver": "1.2.18", - "@cubejs-backend/postgres-driver": "1.2.18", - "@cubejs-backend/prestodb-driver": "1.2.18", - "@cubejs-backend/questdb-driver": "1.2.18", - "@cubejs-backend/redshift-driver": "1.2.18", - "@cubejs-backend/server": "1.2.18", - "@cubejs-backend/snowflake-driver": "1.2.18", - "@cubejs-backend/sqlite-driver": "1.2.18", - "@cubejs-backend/trino-driver": "1.2.18", - "@cubejs-backend/vertica-driver": "1.2.18", - "cubejs-cli": "1.2.18", + "@cubejs-backend/athena-driver": "1.2.19", + "@cubejs-backend/bigquery-driver": "1.2.19", + "@cubejs-backend/clickhouse-driver": "1.2.19", + "@cubejs-backend/crate-driver": "1.2.19", + "@cubejs-backend/databricks-jdbc-driver": "1.2.19", + "@cubejs-backend/dbt-schema-extension": "1.2.19", + "@cubejs-backend/dremio-driver": "1.2.19", + "@cubejs-backend/druid-driver": "1.2.19", + "@cubejs-backend/duckdb-driver": "1.2.19", + "@cubejs-backend/elasticsearch-driver": "1.2.19", + "@cubejs-backend/firebolt-driver": "1.2.19", + "@cubejs-backend/hive-driver": "1.2.19", + "@cubejs-backend/ksql-driver": "1.2.19", + "@cubejs-backend/materialize-driver": "1.2.19", + "@cubejs-backend/mongobi-driver": "1.2.19", + "@cubejs-backend/mssql-driver": "1.2.19", + "@cubejs-backend/mysql-driver": "1.2.19", + "@cubejs-backend/oracle-driver": "1.2.19", + "@cubejs-backend/pinot-driver": "1.2.19", + "@cubejs-backend/postgres-driver": "1.2.19", + "@cubejs-backend/prestodb-driver": "1.2.19", + "@cubejs-backend/questdb-driver": "1.2.19", + "@cubejs-backend/redshift-driver": "1.2.19", + "@cubejs-backend/server": "1.2.19", + "@cubejs-backend/snowflake-driver": "1.2.19", + "@cubejs-backend/sqlite-driver": "1.2.19", + "@cubejs-backend/trino-driver": "1.2.19", + "@cubejs-backend/vertica-driver": "1.2.19", + "cubejs-cli": "1.2.19", "typescript": "~5.2.2" }, "resolutions": { diff --git a/packages/cubejs-dremio-driver/CHANGELOG.md b/packages/cubejs-dremio-driver/CHANGELOG.md index e2a936d9b..985ec30e7 100644 --- a/packages/cubejs-dremio-driver/CHANGELOG.md +++ b/packages/cubejs-dremio-driver/CHANGELOG.md @@ -3,13 +3,13 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) +## [1.2.19](https://github.com/cube-js/cube/compare/v1.2.18...v1.2.19) (2025-03-08) **Note:** Version bump only for package @cubejs-backend/dremio-driver +## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) - - +**Note:** Version bump only for package @cubejs-backend/dremio-driver ## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) diff --git a/packages/cubejs-dremio-driver/package.json b/packages/cubejs-dremio-driver/package.json index d6a5a3271..85bd9b884 100644 --- a/packages/cubejs-dremio-driver/package.json +++ b/packages/cubejs-dremio-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/dremio-driver", "description": "Cube.js Dremio driver", "author": "Cube Dev, Inc.", - "version": "1.2.18", + "version": "1.2.19", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -22,15 +22,15 @@ "lint:fix": "eslint driver/*.js" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.18", - "@cubejs-backend/schema-compiler": "1.2.18", - "@cubejs-backend/shared": "1.2.18", + "@cubejs-backend/base-driver": "1.2.19", + "@cubejs-backend/schema-compiler": "1.2.19", + "@cubejs-backend/shared": "1.2.19", "axios": "^0.28.0", "sqlstring": "^2.3.1" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.18", - "@cubejs-backend/testing-shared": "1.2.18", + "@cubejs-backend/linter": "1.2.19", + "@cubejs-backend/testing-shared": "1.2.19", "jest": "^27" }, "license": "Apache-2.0", diff --git a/packages/cubejs-druid-driver/CHANGELOG.md b/packages/cubejs-druid-driver/CHANGELOG.md index 1302a127d..b83906678 100644 --- a/packages/cubejs-druid-driver/CHANGELOG.md +++ b/packages/cubejs-druid-driver/CHANGELOG.md @@ -3,13 +3,13 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) +## [1.2.19](https://github.com/cube-js/cube/compare/v1.2.18...v1.2.19) (2025-03-08) **Note:** Version bump only for package @cubejs-backend/druid-driver +## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) - - +**Note:** Version bump only for package @cubejs-backend/druid-driver ## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) diff --git a/packages/cubejs-druid-driver/package.json b/packages/cubejs-druid-driver/package.json index 46cefcdd2..0873b0fb2 100644 --- a/packages/cubejs-druid-driver/package.json +++ b/packages/cubejs-druid-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/druid-driver", "description": "Cube.js Druid database driver", "author": "Cube Dev, Inc.", - "version": "1.2.18", + "version": "1.2.19", "license": "Apache-2.0", "repository": { "type": "git", @@ -28,13 +28,13 @@ "dist/src/*" ], "dependencies": { - "@cubejs-backend/base-driver": "1.2.18", - "@cubejs-backend/schema-compiler": "1.2.18", - "@cubejs-backend/shared": "1.2.18", + "@cubejs-backend/base-driver": "1.2.19", + "@cubejs-backend/schema-compiler": "1.2.19", + "@cubejs-backend/shared": "1.2.19", "axios": "^0.28.0" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.18", + "@cubejs-backend/linter": "1.2.19", "@types/generic-pool": "^3.1.9", "@types/jest": "^27", "@types/node": "^18", diff --git a/packages/cubejs-duckdb-driver/CHANGELOG.md b/packages/cubejs-duckdb-driver/CHANGELOG.md index 461432508..81bfec4b2 100644 --- a/packages/cubejs-duckdb-driver/CHANGELOG.md +++ b/packages/cubejs-duckdb-driver/CHANGELOG.md @@ -3,13 +3,13 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) +## [1.2.19](https://github.com/cube-js/cube/compare/v1.2.18...v1.2.19) (2025-03-08) **Note:** Version bump only for package @cubejs-backend/duckdb-driver +## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) - - +**Note:** Version bump only for package @cubejs-backend/duckdb-driver ## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) diff --git a/packages/cubejs-duckdb-driver/package.json b/packages/cubejs-duckdb-driver/package.json index 51c58cfcf..f5794e587 100644 --- a/packages/cubejs-duckdb-driver/package.json +++ b/packages/cubejs-duckdb-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/duckdb-driver", "description": "Cube DuckDB database driver", "author": "Cube Dev, Inc.", - "version": "1.2.18", + "version": "1.2.19", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -27,15 +27,15 @@ "lint:fix": "eslint --fix src/* --ext .ts" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.18", - "@cubejs-backend/schema-compiler": "1.2.18", - "@cubejs-backend/shared": "1.2.18", + "@cubejs-backend/base-driver": "1.2.19", + "@cubejs-backend/schema-compiler": "1.2.19", + "@cubejs-backend/shared": "1.2.19", "duckdb": "^1.1.3" }, "license": "Apache-2.0", "devDependencies": { - "@cubejs-backend/linter": "1.2.18", - "@cubejs-backend/testing-shared": "1.2.18", + "@cubejs-backend/linter": "1.2.19", + "@cubejs-backend/testing-shared": "1.2.19", "@types/jest": "^27", "@types/node": "^18", "jest": "^27", diff --git a/packages/cubejs-elasticsearch-driver/CHANGELOG.md b/packages/cubejs-elasticsearch-driver/CHANGELOG.md index 447a55e51..2a4af22c7 100644 --- a/packages/cubejs-elasticsearch-driver/CHANGELOG.md +++ b/packages/cubejs-elasticsearch-driver/CHANGELOG.md @@ -3,13 +3,13 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) +## [1.2.19](https://github.com/cube-js/cube/compare/v1.2.18...v1.2.19) (2025-03-08) **Note:** Version bump only for package @cubejs-backend/elasticsearch-driver +## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) - - +**Note:** Version bump only for package @cubejs-backend/elasticsearch-driver ## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) diff --git a/packages/cubejs-elasticsearch-driver/package.json b/packages/cubejs-elasticsearch-driver/package.json index d49abdb69..db5974ea6 100644 --- a/packages/cubejs-elasticsearch-driver/package.json +++ b/packages/cubejs-elasticsearch-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/elasticsearch-driver", "description": "Cube.js elasticsearch database driver", "author": "Cube Dev, Inc.", - "version": "1.2.18", + "version": "1.2.19", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -23,14 +23,14 @@ "driver" ], "dependencies": { - "@cubejs-backend/base-driver": "1.2.18", - "@cubejs-backend/shared": "1.2.18", + "@cubejs-backend/base-driver": "1.2.19", + "@cubejs-backend/shared": "1.2.19", "@elastic/elasticsearch": "7.12.0", "sqlstring": "^2.3.1" }, "license": "Apache-2.0", "devDependencies": { - "@cubejs-backend/linter": "1.2.18", + "@cubejs-backend/linter": "1.2.19", "@types/jest": "^27", "jest": "^27", "testcontainers": "^10.10.4" diff --git a/packages/cubejs-firebolt-driver/CHANGELOG.md b/packages/cubejs-firebolt-driver/CHANGELOG.md index 24040d052..447b42fe1 100644 --- a/packages/cubejs-firebolt-driver/CHANGELOG.md +++ b/packages/cubejs-firebolt-driver/CHANGELOG.md @@ -3,13 +3,13 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) +## [1.2.19](https://github.com/cube-js/cube/compare/v1.2.18...v1.2.19) (2025-03-08) **Note:** Version bump only for package @cubejs-backend/firebolt-driver +## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) - - +**Note:** Version bump only for package @cubejs-backend/firebolt-driver ## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) diff --git a/packages/cubejs-firebolt-driver/package.json b/packages/cubejs-firebolt-driver/package.json index ea2e9e0d9..87a210117 100644 --- a/packages/cubejs-firebolt-driver/package.json +++ b/packages/cubejs-firebolt-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/firebolt-driver", "description": "Cube.js Firebolt database driver", "author": "Cube Dev, Inc.", - "version": "1.2.18", + "version": "1.2.19", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -28,15 +28,15 @@ "lint:fix": "eslint --fix src/* --ext .ts" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.18", - "@cubejs-backend/schema-compiler": "1.2.18", - "@cubejs-backend/shared": "1.2.18", + "@cubejs-backend/base-driver": "1.2.19", + "@cubejs-backend/schema-compiler": "1.2.19", + "@cubejs-backend/shared": "1.2.19", "firebolt-sdk": "1.10.0" }, "license": "Apache-2.0", "devDependencies": { - "@cubejs-backend/linter": "1.2.18", - "@cubejs-backend/testing-shared": "1.2.18", + "@cubejs-backend/linter": "1.2.19", + "@cubejs-backend/testing-shared": "1.2.19", "typescript": "~5.2.2" }, "publishConfig": { diff --git a/packages/cubejs-hive-driver/CHANGELOG.md b/packages/cubejs-hive-driver/CHANGELOG.md index 2cded9929..a24350bb8 100644 --- a/packages/cubejs-hive-driver/CHANGELOG.md +++ b/packages/cubejs-hive-driver/CHANGELOG.md @@ -3,13 +3,13 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) +## [1.2.19](https://github.com/cube-js/cube/compare/v1.2.18...v1.2.19) (2025-03-08) **Note:** Version bump only for package @cubejs-backend/hive-driver +## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) - - +**Note:** Version bump only for package @cubejs-backend/hive-driver ## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) diff --git a/packages/cubejs-hive-driver/package.json b/packages/cubejs-hive-driver/package.json index 076b91721..95c2154f8 100644 --- a/packages/cubejs-hive-driver/package.json +++ b/packages/cubejs-hive-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/hive-driver", "description": "Cube.js Hive database driver", "author": "Cube Dev, Inc.", - "version": "1.2.18", + "version": "1.2.19", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -17,8 +17,8 @@ "lint:fix": "eslint --fix src/* --ext .ts" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.18", - "@cubejs-backend/shared": "1.2.18", + "@cubejs-backend/base-driver": "1.2.19", + "@cubejs-backend/shared": "1.2.19", "generic-pool": "^3.6.0", "jshs2": "^0.4.4", "sasl-plain": "^0.1.0", @@ -28,7 +28,7 @@ }, "license": "Apache-2.0", "devDependencies": { - "@cubejs-backend/linter": "1.2.18" + "@cubejs-backend/linter": "1.2.19" }, "publishConfig": { "access": "public" diff --git a/packages/cubejs-jdbc-driver/CHANGELOG.md b/packages/cubejs-jdbc-driver/CHANGELOG.md index d24194a82..9660ef375 100644 --- a/packages/cubejs-jdbc-driver/CHANGELOG.md +++ b/packages/cubejs-jdbc-driver/CHANGELOG.md @@ -3,13 +3,13 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) +## [1.2.19](https://github.com/cube-js/cube/compare/v1.2.18...v1.2.19) (2025-03-08) **Note:** Version bump only for package @cubejs-backend/jdbc-driver +## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) - - +**Note:** Version bump only for package @cubejs-backend/jdbc-driver ## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) diff --git a/packages/cubejs-jdbc-driver/package.json b/packages/cubejs-jdbc-driver/package.json index ba7ef531a..d0fb4748c 100644 --- a/packages/cubejs-jdbc-driver/package.json +++ b/packages/cubejs-jdbc-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/jdbc-driver", "description": "Cube.js JDBC database driver", "author": "Cube Dev, Inc.", - "version": "1.2.18", + "version": "1.2.19", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -25,8 +25,8 @@ "index.js" ], "dependencies": { - "@cubejs-backend/base-driver": "1.2.18", - "@cubejs-backend/shared": "1.2.18", + "@cubejs-backend/base-driver": "1.2.19", + "@cubejs-backend/shared": "1.2.19", "generic-pool": "^3.1.7", "node-java-maven": "^0.1.2", "sqlstring": "^2.3.0" @@ -43,7 +43,7 @@ "testEnvironment": "node" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.18", + "@cubejs-backend/linter": "1.2.19", "@types/generic-pool": "^3.1.9", "@types/node": "^18", "@types/sqlstring": "^2.3.0", diff --git a/packages/cubejs-ksql-driver/CHANGELOG.md b/packages/cubejs-ksql-driver/CHANGELOG.md index 18e0e58c5..dc0825091 100644 --- a/packages/cubejs-ksql-driver/CHANGELOG.md +++ b/packages/cubejs-ksql-driver/CHANGELOG.md @@ -3,13 +3,13 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) +## [1.2.19](https://github.com/cube-js/cube/compare/v1.2.18...v1.2.19) (2025-03-08) **Note:** Version bump only for package @cubejs-backend/ksql-driver +## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) - - +**Note:** Version bump only for package @cubejs-backend/ksql-driver ## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) diff --git a/packages/cubejs-ksql-driver/package.json b/packages/cubejs-ksql-driver/package.json index 0270fd961..17bacfc27 100644 --- a/packages/cubejs-ksql-driver/package.json +++ b/packages/cubejs-ksql-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/ksql-driver", "description": "Cube.js ksql database driver", "author": "Cube Dev, Inc.", - "version": "1.2.18", + "version": "1.2.19", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -25,9 +25,9 @@ "lint:fix": "eslint --fix src/* --ext .ts" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.18", - "@cubejs-backend/schema-compiler": "1.2.18", - "@cubejs-backend/shared": "1.2.18", + "@cubejs-backend/base-driver": "1.2.19", + "@cubejs-backend/schema-compiler": "1.2.19", + "@cubejs-backend/shared": "1.2.19", "async-mutex": "0.3.2", "axios": "^0.28.0", "kafkajs": "^2.2.3", @@ -44,7 +44,7 @@ "testEnvironment": "node" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.18", + "@cubejs-backend/linter": "1.2.19", "typescript": "~5.2.2" } } diff --git a/packages/cubejs-linter/CHANGELOG.md b/packages/cubejs-linter/CHANGELOG.md index 8134de9f0..8e473926d 100644 --- a/packages/cubejs-linter/CHANGELOG.md +++ b/packages/cubejs-linter/CHANGELOG.md @@ -3,13 +3,13 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) +## [1.2.19](https://github.com/cube-js/cube/compare/v1.2.18...v1.2.19) (2025-03-08) **Note:** Version bump only for package @cubejs-backend/linter +## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) - - +**Note:** Version bump only for package @cubejs-backend/linter ## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) diff --git a/packages/cubejs-linter/package.json b/packages/cubejs-linter/package.json index 88a0caa8d..a279a4855 100644 --- a/packages/cubejs-linter/package.json +++ b/packages/cubejs-linter/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/linter", "description": "Cube.js ESLint (virtual package) for linting code", "author": "Cube Dev, Inc.", - "version": "1.2.18", + "version": "1.2.19", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", diff --git a/packages/cubejs-materialize-driver/CHANGELOG.md b/packages/cubejs-materialize-driver/CHANGELOG.md index 1e49377b0..825dd3e9d 100644 --- a/packages/cubejs-materialize-driver/CHANGELOG.md +++ b/packages/cubejs-materialize-driver/CHANGELOG.md @@ -3,13 +3,13 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) +## [1.2.19](https://github.com/cube-js/cube/compare/v1.2.18...v1.2.19) (2025-03-08) **Note:** Version bump only for package @cubejs-backend/materialize-driver +## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) - - +**Note:** Version bump only for package @cubejs-backend/materialize-driver ## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) diff --git a/packages/cubejs-materialize-driver/package.json b/packages/cubejs-materialize-driver/package.json index f5e810059..a94754453 100644 --- a/packages/cubejs-materialize-driver/package.json +++ b/packages/cubejs-materialize-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/materialize-driver", "description": "Cube.js Materialize database driver", "author": "Cube Dev, Inc.", - "version": "1.2.18", + "version": "1.2.19", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -27,17 +27,17 @@ "lint:fix": "eslint --fix src/* --ext .ts" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.18", - "@cubejs-backend/postgres-driver": "1.2.18", - "@cubejs-backend/shared": "1.2.18", + "@cubejs-backend/base-driver": "1.2.19", + "@cubejs-backend/postgres-driver": "1.2.19", + "@cubejs-backend/shared": "1.2.19", "@types/pg": "^8.6.0", "pg": "^8.6.0", "semver": "^7.6.3" }, "license": "Apache-2.0", "devDependencies": { - "@cubejs-backend/linter": "1.2.18", - "@cubejs-backend/testing": "1.2.18", + "@cubejs-backend/linter": "1.2.19", + "@cubejs-backend/testing": "1.2.19", "typescript": "~5.2.2" }, "publishConfig": { diff --git a/packages/cubejs-mongobi-driver/CHANGELOG.md b/packages/cubejs-mongobi-driver/CHANGELOG.md index 63a343b89..7d42865c5 100644 --- a/packages/cubejs-mongobi-driver/CHANGELOG.md +++ b/packages/cubejs-mongobi-driver/CHANGELOG.md @@ -3,13 +3,13 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) +## [1.2.19](https://github.com/cube-js/cube/compare/v1.2.18...v1.2.19) (2025-03-08) **Note:** Version bump only for package @cubejs-backend/mongobi-driver +## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) - - +**Note:** Version bump only for package @cubejs-backend/mongobi-driver ## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) diff --git a/packages/cubejs-mongobi-driver/package.json b/packages/cubejs-mongobi-driver/package.json index 424b65d3e..68dd8fcfc 100644 --- a/packages/cubejs-mongobi-driver/package.json +++ b/packages/cubejs-mongobi-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/mongobi-driver", "description": "Cube.js MongoBI driver", "author": "krunalsabnis@gmail.com", - "version": "1.2.18", + "version": "1.2.19", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -27,8 +27,8 @@ "integration:mongobi": "jest dist/test" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.18", - "@cubejs-backend/shared": "1.2.18", + "@cubejs-backend/base-driver": "1.2.19", + "@cubejs-backend/shared": "1.2.19", "@types/node": "^18", "generic-pool": "^3.8.2", "moment": "^2.29.1", @@ -39,7 +39,7 @@ "access": "public" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.18", + "@cubejs-backend/linter": "1.2.19", "@types/generic-pool": "^3.1.9", "testcontainers": "^10.13.0", "typescript": "~5.2.2" diff --git a/packages/cubejs-mssql-driver/CHANGELOG.md b/packages/cubejs-mssql-driver/CHANGELOG.md index 25840ab53..3b3b2eacf 100644 --- a/packages/cubejs-mssql-driver/CHANGELOG.md +++ b/packages/cubejs-mssql-driver/CHANGELOG.md @@ -3,13 +3,13 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) +## [1.2.19](https://github.com/cube-js/cube/compare/v1.2.18...v1.2.19) (2025-03-08) **Note:** Version bump only for package @cubejs-backend/mssql-driver +## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) - - +**Note:** Version bump only for package @cubejs-backend/mssql-driver ## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) diff --git a/packages/cubejs-mssql-driver/package.json b/packages/cubejs-mssql-driver/package.json index e1acabba5..39a27a31b 100644 --- a/packages/cubejs-mssql-driver/package.json +++ b/packages/cubejs-mssql-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/mssql-driver", "description": "Cube.js MS SQL database driver", "author": "Cube Dev, Inc.", - "version": "1.2.18", + "version": "1.2.19", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -13,7 +13,7 @@ }, "main": "driver/MSSqlDriver.js", "dependencies": { - "@cubejs-backend/base-driver": "1.2.18", + "@cubejs-backend/base-driver": "1.2.19", "mssql": "^10.0.2" }, "devDependencies": { diff --git a/packages/cubejs-mysql-aurora-serverless-driver/CHANGELOG.md b/packages/cubejs-mysql-aurora-serverless-driver/CHANGELOG.md index 19fdfc354..9b7498581 100644 --- a/packages/cubejs-mysql-aurora-serverless-driver/CHANGELOG.md +++ b/packages/cubejs-mysql-aurora-serverless-driver/CHANGELOG.md @@ -3,13 +3,13 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) +## [1.2.19](https://github.com/cube-js/cube/compare/v1.2.18...v1.2.19) (2025-03-08) **Note:** Version bump only for package @cubejs-backend/mysql-aurora-serverless-driver +## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) - - +**Note:** Version bump only for package @cubejs-backend/mysql-aurora-serverless-driver ## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) diff --git a/packages/cubejs-mysql-aurora-serverless-driver/package.json b/packages/cubejs-mysql-aurora-serverless-driver/package.json index 4a47d56cc..e3737cb69 100644 --- a/packages/cubejs-mysql-aurora-serverless-driver/package.json +++ b/packages/cubejs-mysql-aurora-serverless-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/mysql-aurora-serverless-driver", "description": "Cube.js Aurora Serverless Mysql database driver", "author": "Cube Dev, Inc.", - "version": "1.2.18", + "version": "1.2.19", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -21,14 +21,14 @@ "lint": "eslint driver/*.js test/*.js" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.18", - "@cubejs-backend/shared": "1.2.18", + "@cubejs-backend/base-driver": "1.2.19", + "@cubejs-backend/shared": "1.2.19", "@types/mysql": "^2.15.15", "aws-sdk": "^2.787.0", "data-api-client": "^1.1.0" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.18", + "@cubejs-backend/linter": "1.2.19", "@types/data-api-client": "^1.2.1", "jest": "^27", "testcontainers": "^10.10.4" diff --git a/packages/cubejs-mysql-driver/CHANGELOG.md b/packages/cubejs-mysql-driver/CHANGELOG.md index c64249aa9..b7be45cba 100644 --- a/packages/cubejs-mysql-driver/CHANGELOG.md +++ b/packages/cubejs-mysql-driver/CHANGELOG.md @@ -3,13 +3,13 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) +## [1.2.19](https://github.com/cube-js/cube/compare/v1.2.18...v1.2.19) (2025-03-08) **Note:** Version bump only for package @cubejs-backend/mysql-driver +## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) - - +**Note:** Version bump only for package @cubejs-backend/mysql-driver ## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) diff --git a/packages/cubejs-mysql-driver/package.json b/packages/cubejs-mysql-driver/package.json index 9567bfbed..3537faf3a 100644 --- a/packages/cubejs-mysql-driver/package.json +++ b/packages/cubejs-mysql-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/mysql-driver", "description": "Cube.js Mysql database driver", "author": "Cube Dev, Inc.", - "version": "1.2.18", + "version": "1.2.19", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -27,15 +27,15 @@ "lint:fix": "eslint --fix src/* test/* --ext .ts,.js" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.18", - "@cubejs-backend/shared": "1.2.18", + "@cubejs-backend/base-driver": "1.2.19", + "@cubejs-backend/shared": "1.2.19", "@types/mysql": "^2.15.21", "generic-pool": "^3.6.0", "mysql": "^2.18.1" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.18", - "@cubejs-backend/testing-shared": "1.2.18", + "@cubejs-backend/linter": "1.2.19", + "@cubejs-backend/testing-shared": "1.2.19", "@types/generic-pool": "^3.1.9", "@types/jest": "^27", "jest": "^27", diff --git a/packages/cubejs-oracle-driver/CHANGELOG.md b/packages/cubejs-oracle-driver/CHANGELOG.md index 87a2bdd7b..ef6d93dd7 100644 --- a/packages/cubejs-oracle-driver/CHANGELOG.md +++ b/packages/cubejs-oracle-driver/CHANGELOG.md @@ -3,13 +3,13 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) +## [1.2.19](https://github.com/cube-js/cube/compare/v1.2.18...v1.2.19) (2025-03-08) **Note:** Version bump only for package @cubejs-backend/oracle-driver +## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) - - +**Note:** Version bump only for package @cubejs-backend/oracle-driver ## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) diff --git a/packages/cubejs-oracle-driver/package.json b/packages/cubejs-oracle-driver/package.json index 0e86a315b..e9c35abdc 100644 --- a/packages/cubejs-oracle-driver/package.json +++ b/packages/cubejs-oracle-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/oracle-driver", "description": "Cube.js oracle database driver", "author": "Cube Dev, Inc.", - "version": "1.2.18", + "version": "1.2.19", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -13,7 +13,7 @@ }, "main": "driver/OracleDriver.js", "dependencies": { - "@cubejs-backend/base-driver": "1.2.18", + "@cubejs-backend/base-driver": "1.2.19", "ramda": "^0.27.0" }, "optionalDependencies": { diff --git a/packages/cubejs-pinot-driver/CHANGELOG.md b/packages/cubejs-pinot-driver/CHANGELOG.md index ee1303e36..7c8a76483 100644 --- a/packages/cubejs-pinot-driver/CHANGELOG.md +++ b/packages/cubejs-pinot-driver/CHANGELOG.md @@ -3,13 +3,15 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) - -**Note:** Version bump only for package @cubejs-backend/pinot-driver +## [1.2.19](https://github.com/cube-js/cube/compare/v1.2.18...v1.2.19) (2025-03-08) +### Features +- **pinot-driver:** Add enableNullHandling to query options using env var ([#9310](https://github.com/cube-js/cube/issues/9310)) ([df763cc](https://github.com/cube-js/cube/commit/df763cc9a375eb656d6ac4dc10adbd9a68082a0e)) +## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) +**Note:** Version bump only for package @cubejs-backend/pinot-driver ## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) diff --git a/packages/cubejs-pinot-driver/package.json b/packages/cubejs-pinot-driver/package.json index f6365f791..bfa87af17 100644 --- a/packages/cubejs-pinot-driver/package.json +++ b/packages/cubejs-pinot-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/pinot-driver", "description": "Cube.js Pinot database driver", "author": "Julian Ronsse, InTheMemory, Cube Dev, Inc.", - "version": "1.2.18", + "version": "1.2.19", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -27,9 +27,9 @@ "lint:fix": "eslint --fix src/* --ext .ts" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.18", - "@cubejs-backend/schema-compiler": "1.2.18", - "@cubejs-backend/shared": "1.2.18", + "@cubejs-backend/base-driver": "1.2.19", + "@cubejs-backend/schema-compiler": "1.2.19", + "@cubejs-backend/shared": "1.2.19", "node-fetch": "^2.6.1", "ramda": "^0.27.2", "sqlstring": "^2.3.3" @@ -39,7 +39,7 @@ "access": "public" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.18", + "@cubejs-backend/linter": "1.2.19", "@types/jest": "^27", "jest": "^27", "should": "^13.2.3", diff --git a/packages/cubejs-playground/CHANGELOG.md b/packages/cubejs-playground/CHANGELOG.md index 640d9a56f..9a1795790 100644 --- a/packages/cubejs-playground/CHANGELOG.md +++ b/packages/cubejs-playground/CHANGELOG.md @@ -3,13 +3,13 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) +## [1.2.19](https://github.com/cube-js/cube/compare/v1.2.18...v1.2.19) (2025-03-08) **Note:** Version bump only for package @cubejs-client/playground +## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) - - +**Note:** Version bump only for package @cubejs-client/playground ## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) diff --git a/packages/cubejs-playground/package.json b/packages/cubejs-playground/package.json index 17fa20b12..c1f9c95e3 100644 --- a/packages/cubejs-playground/package.json +++ b/packages/cubejs-playground/package.json @@ -1,7 +1,7 @@ { "name": "@cubejs-client/playground", "author": "Cube Dev, Inc.", - "version": "1.2.18", + "version": "1.2.19", "engines": {}, "repository": { "type": "git", @@ -68,8 +68,8 @@ "@ant-design/compatible": "^1.0.1", "@ant-design/icons": "^5.3.5", "@cube-dev/ui-kit": "0.52.3", - "@cubejs-client/core": "1.2.18", - "@cubejs-client/react": "1.2.18", + "@cubejs-client/core": "1.2.19", + "@cubejs-client/react": "1.2.19", "@types/flexsearch": "^0.7.3", "@types/node": "^18", "@types/react": "^18.3.4", diff --git a/packages/cubejs-postgres-driver/CHANGELOG.md b/packages/cubejs-postgres-driver/CHANGELOG.md index d53408505..995116240 100644 --- a/packages/cubejs-postgres-driver/CHANGELOG.md +++ b/packages/cubejs-postgres-driver/CHANGELOG.md @@ -3,13 +3,13 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) +## [1.2.19](https://github.com/cube-js/cube/compare/v1.2.18...v1.2.19) (2025-03-08) **Note:** Version bump only for package @cubejs-backend/postgres-driver +## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) - - +**Note:** Version bump only for package @cubejs-backend/postgres-driver ## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) diff --git a/packages/cubejs-postgres-driver/package.json b/packages/cubejs-postgres-driver/package.json index 594f828b0..0d4efd3ad 100644 --- a/packages/cubejs-postgres-driver/package.json +++ b/packages/cubejs-postgres-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/postgres-driver", "description": "Cube.js Postgres database driver", "author": "Cube Dev, Inc.", - "version": "1.2.18", + "version": "1.2.19", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -27,8 +27,8 @@ "lint:fix": "eslint --fix src/* --ext .ts" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.18", - "@cubejs-backend/shared": "1.2.18", + "@cubejs-backend/base-driver": "1.2.19", + "@cubejs-backend/shared": "1.2.19", "@types/pg": "^8.6.0", "@types/pg-query-stream": "^1.0.3", "moment": "^2.24.0", @@ -37,8 +37,8 @@ }, "license": "Apache-2.0", "devDependencies": { - "@cubejs-backend/linter": "1.2.18", - "@cubejs-backend/testing-shared": "1.2.18", + "@cubejs-backend/linter": "1.2.19", + "@cubejs-backend/testing-shared": "1.2.19", "testcontainers": "^10.13.0", "typescript": "~5.2.2" }, diff --git a/packages/cubejs-prestodb-driver/CHANGELOG.md b/packages/cubejs-prestodb-driver/CHANGELOG.md index 0259be5db..1501f0520 100644 --- a/packages/cubejs-prestodb-driver/CHANGELOG.md +++ b/packages/cubejs-prestodb-driver/CHANGELOG.md @@ -3,13 +3,13 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) +## [1.2.19](https://github.com/cube-js/cube/compare/v1.2.18...v1.2.19) (2025-03-08) **Note:** Version bump only for package @cubejs-backend/prestodb-driver +## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) - - +**Note:** Version bump only for package @cubejs-backend/prestodb-driver ## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) diff --git a/packages/cubejs-prestodb-driver/package.json b/packages/cubejs-prestodb-driver/package.json index b9067ea87..9b8a4f268 100644 --- a/packages/cubejs-prestodb-driver/package.json +++ b/packages/cubejs-prestodb-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/prestodb-driver", "description": "Cube.js Presto database driver", "author": "Cube Dev, Inc.", - "version": "1.2.18", + "version": "1.2.19", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -27,8 +27,8 @@ "lint:fix": "eslint --fix src/* --ext .ts" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.18", - "@cubejs-backend/shared": "1.2.18", + "@cubejs-backend/base-driver": "1.2.19", + "@cubejs-backend/shared": "1.2.19", "presto-client": "^0.12.2", "ramda": "^0.27.0", "sqlstring": "^2.3.1" @@ -38,7 +38,7 @@ "access": "public" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.18", + "@cubejs-backend/linter": "1.2.19", "@types/jest": "^27", "jest": "^27", "should": "^13.2.3", diff --git a/packages/cubejs-query-orchestrator/CHANGELOG.md b/packages/cubejs-query-orchestrator/CHANGELOG.md index 8dda710b9..8ea03d505 100644 --- a/packages/cubejs-query-orchestrator/CHANGELOG.md +++ b/packages/cubejs-query-orchestrator/CHANGELOG.md @@ -3,16 +3,15 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) - - -### Bug Fixes - -* **query-orchestrator:** Fix improper pre-aggregation buildRange construction for non UTC timezones ([#9284](https://github.com/cube-js/cube/issues/9284)) ([ef12d8d](https://github.com/cube-js/cube/commit/ef12d8d02702df7dcc1e6531c1b0aee6afa576ef)) +## [1.2.19](https://github.com/cube-js/cube/compare/v1.2.18...v1.2.19) (2025-03-08) +**Note:** Version bump only for package @cubejs-backend/query-orchestrator +## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) +### Bug Fixes +- **query-orchestrator:** Fix improper pre-aggregation buildRange construction for non UTC timezones ([#9284](https://github.com/cube-js/cube/issues/9284)) ([ef12d8d](https://github.com/cube-js/cube/commit/ef12d8d02702df7dcc1e6531c1b0aee6afa576ef)) ## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) diff --git a/packages/cubejs-query-orchestrator/package.json b/packages/cubejs-query-orchestrator/package.json index 1fd87495a..46f99ce31 100644 --- a/packages/cubejs-query-orchestrator/package.json +++ b/packages/cubejs-query-orchestrator/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/query-orchestrator", "description": "Cube.js Query Orchestrator and Cache", "author": "Cube Dev, Inc.", - "version": "1.2.18", + "version": "1.2.19", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -29,16 +29,16 @@ "dist/src/*" ], "dependencies": { - "@cubejs-backend/base-driver": "1.2.18", - "@cubejs-backend/cubestore-driver": "1.2.18", - "@cubejs-backend/shared": "1.2.18", + "@cubejs-backend/base-driver": "1.2.19", + "@cubejs-backend/cubestore-driver": "1.2.19", + "@cubejs-backend/shared": "1.2.19", "csv-write-stream": "^2.0.0", "generic-pool": "^3.7.1", "lru-cache": "^5.1.1", "ramda": "^0.27.2" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.18", + "@cubejs-backend/linter": "1.2.19", "@types/generic-pool": "^3.1.9", "@types/jest": "^27", "@types/node": "^18", diff --git a/packages/cubejs-questdb-driver/CHANGELOG.md b/packages/cubejs-questdb-driver/CHANGELOG.md index b582eb5ae..906d33ae5 100644 --- a/packages/cubejs-questdb-driver/CHANGELOG.md +++ b/packages/cubejs-questdb-driver/CHANGELOG.md @@ -3,13 +3,13 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) +## [1.2.19](https://github.com/cube-js/cube/compare/v1.2.18...v1.2.19) (2025-03-08) **Note:** Version bump only for package @cubejs-backend/questdb-driver +## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) - - +**Note:** Version bump only for package @cubejs-backend/questdb-driver ## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) diff --git a/packages/cubejs-questdb-driver/package.json b/packages/cubejs-questdb-driver/package.json index 57565e27d..fc6de2dcb 100644 --- a/packages/cubejs-questdb-driver/package.json +++ b/packages/cubejs-questdb-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/questdb-driver", "description": "Cube.js QuestDB database driver", "author": "Cube Dev, Inc.", - "version": "1.2.18", + "version": "1.2.19", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -27,9 +27,9 @@ "lint:fix": "eslint --fix src/* --ext .ts" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.18", - "@cubejs-backend/schema-compiler": "1.2.18", - "@cubejs-backend/shared": "1.2.18", + "@cubejs-backend/base-driver": "1.2.19", + "@cubejs-backend/schema-compiler": "1.2.19", + "@cubejs-backend/shared": "1.2.19", "@types/pg": "^8.6.0", "moment": "^2.24.0", "pg": "^8.7.0", @@ -37,8 +37,8 @@ }, "license": "Apache-2.0", "devDependencies": { - "@cubejs-backend/linter": "1.2.18", - "@cubejs-backend/testing-shared": "1.2.18", + "@cubejs-backend/linter": "1.2.19", + "@cubejs-backend/testing-shared": "1.2.19", "testcontainers": "^10.13.0", "typescript": "~5.2.2" }, diff --git a/packages/cubejs-redshift-driver/CHANGELOG.md b/packages/cubejs-redshift-driver/CHANGELOG.md index 4fdd75fbc..84c6a10d9 100644 --- a/packages/cubejs-redshift-driver/CHANGELOG.md +++ b/packages/cubejs-redshift-driver/CHANGELOG.md @@ -3,13 +3,13 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) +## [1.2.19](https://github.com/cube-js/cube/compare/v1.2.18...v1.2.19) (2025-03-08) **Note:** Version bump only for package @cubejs-backend/redshift-driver +## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) - - +**Note:** Version bump only for package @cubejs-backend/redshift-driver ## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) diff --git a/packages/cubejs-redshift-driver/package.json b/packages/cubejs-redshift-driver/package.json index 20bd2c37e..18f8e3fa4 100644 --- a/packages/cubejs-redshift-driver/package.json +++ b/packages/cubejs-redshift-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/redshift-driver", "description": "Cube.js Redshift database driver", "author": "Cube Dev, Inc.", - "version": "1.2.18", + "version": "1.2.19", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -25,13 +25,13 @@ "lint:fix": "eslint --fix src/* --ext .ts" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.18", - "@cubejs-backend/postgres-driver": "1.2.18", - "@cubejs-backend/shared": "1.2.18" + "@cubejs-backend/base-driver": "1.2.19", + "@cubejs-backend/postgres-driver": "1.2.19", + "@cubejs-backend/shared": "1.2.19" }, "license": "Apache-2.0", "devDependencies": { - "@cubejs-backend/linter": "1.2.18", + "@cubejs-backend/linter": "1.2.19", "typescript": "~5.2.2" }, "publishConfig": { diff --git a/packages/cubejs-schema-compiler/CHANGELOG.md b/packages/cubejs-schema-compiler/CHANGELOG.md index fa23ef264..757b737b9 100644 --- a/packages/cubejs-schema-compiler/CHANGELOG.md +++ b/packages/cubejs-schema-compiler/CHANGELOG.md @@ -3,18 +3,17 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) - - -### Bug Fixes - -* **query-orchestrator:** Fix improper pre-aggregation buildRange construction for non UTC timezones ([#9284](https://github.com/cube-js/cube/issues/9284)) ([ef12d8d](https://github.com/cube-js/cube/commit/ef12d8d02702df7dcc1e6531c1b0aee6afa576ef)) -* **tesseract:** Don't generate COALESCE with single argument ([#9300](https://github.com/cube-js/cube/issues/9300)) ([3174be1](https://github.com/cube-js/cube/commit/3174be17cd1d9ba6aa1c0ec3ccbd0c5426342dc0)) -* **tesseract:** fix wrong default alias for symbols with digits in name ([#9299](https://github.com/cube-js/cube/issues/9299)) ([329d228](https://github.com/cube-js/cube/commit/329d2289e115a5f71714755323a8b8a92a260519)) +## [1.2.19](https://github.com/cube-js/cube/compare/v1.2.18...v1.2.19) (2025-03-08) +**Note:** Version bump only for package @cubejs-backend/schema-compiler +## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) +### Bug Fixes +- **query-orchestrator:** Fix improper pre-aggregation buildRange construction for non UTC timezones ([#9284](https://github.com/cube-js/cube/issues/9284)) ([ef12d8d](https://github.com/cube-js/cube/commit/ef12d8d02702df7dcc1e6531c1b0aee6afa576ef)) +- **tesseract:** Don't generate COALESCE with single argument ([#9300](https://github.com/cube-js/cube/issues/9300)) ([3174be1](https://github.com/cube-js/cube/commit/3174be17cd1d9ba6aa1c0ec3ccbd0c5426342dc0)) +- **tesseract:** fix wrong default alias for symbols with digits in name ([#9299](https://github.com/cube-js/cube/issues/9299)) ([329d228](https://github.com/cube-js/cube/commit/329d2289e115a5f71714755323a8b8a92a260519)) ## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) diff --git a/packages/cubejs-schema-compiler/package.json b/packages/cubejs-schema-compiler/package.json index 483f63d95..29559006d 100644 --- a/packages/cubejs-schema-compiler/package.json +++ b/packages/cubejs-schema-compiler/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/schema-compiler", "description": "Cube schema compiler", "author": "Cube Dev, Inc.", - "version": "1.2.18", + "version": "1.2.19", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -40,8 +40,8 @@ "@babel/standalone": "^7.24", "@babel/traverse": "^7.24", "@babel/types": "^7.24", - "@cubejs-backend/native": "1.2.18", - "@cubejs-backend/shared": "1.2.18", + "@cubejs-backend/native": "1.2.19", + "@cubejs-backend/shared": "1.2.19", "antlr4ts": "0.5.0-alpha.4", "camelcase": "^6.2.0", "cron-parser": "^4.9.0", @@ -59,8 +59,8 @@ }, "devDependencies": { "@clickhouse/client": "^1.7.0", - "@cubejs-backend/linter": "1.2.18", - "@cubejs-backend/query-orchestrator": "1.2.18", + "@cubejs-backend/linter": "1.2.19", + "@cubejs-backend/query-orchestrator": "1.2.19", "@types/babel__code-frame": "^7.0.6", "@types/babel__generator": "^7.6.8", "@types/babel__traverse": "^7.20.5", diff --git a/packages/cubejs-server-core/CHANGELOG.md b/packages/cubejs-server-core/CHANGELOG.md index 4367a4032..28e99bbb7 100644 --- a/packages/cubejs-server-core/CHANGELOG.md +++ b/packages/cubejs-server-core/CHANGELOG.md @@ -3,16 +3,15 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) - - -### Bug Fixes - -* **query-orchestrator:** Fix improper pre-aggregation buildRange construction for non UTC timezones ([#9284](https://github.com/cube-js/cube/issues/9284)) ([ef12d8d](https://github.com/cube-js/cube/commit/ef12d8d02702df7dcc1e6531c1b0aee6afa576ef)) +## [1.2.19](https://github.com/cube-js/cube/compare/v1.2.18...v1.2.19) (2025-03-08) +**Note:** Version bump only for package @cubejs-backend/server-core +## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) +### Bug Fixes +- **query-orchestrator:** Fix improper pre-aggregation buildRange construction for non UTC timezones ([#9284](https://github.com/cube-js/cube/issues/9284)) ([ef12d8d](https://github.com/cube-js/cube/commit/ef12d8d02702df7dcc1e6531c1b0aee6afa576ef)) ## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) diff --git a/packages/cubejs-server-core/package.json b/packages/cubejs-server-core/package.json index 4a2ed69a5..eca2c4178 100644 --- a/packages/cubejs-server-core/package.json +++ b/packages/cubejs-server-core/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/server-core", "description": "Cube.js base component to wire all backend components together", "author": "Cube Dev, Inc.", - "version": "1.2.18", + "version": "1.2.19", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -29,14 +29,14 @@ "unit": "jest --runInBand --forceExit --coverage dist/test" }, "dependencies": { - "@cubejs-backend/api-gateway": "1.2.18", - "@cubejs-backend/cloud": "1.2.18", + "@cubejs-backend/api-gateway": "1.2.19", + "@cubejs-backend/cloud": "1.2.19", "@cubejs-backend/dotenv": "^9.0.2", - "@cubejs-backend/native": "1.2.18", - "@cubejs-backend/query-orchestrator": "1.2.18", - "@cubejs-backend/schema-compiler": "1.2.18", - "@cubejs-backend/shared": "1.2.18", - "@cubejs-backend/templates": "1.2.18", + "@cubejs-backend/native": "1.2.19", + "@cubejs-backend/query-orchestrator": "1.2.19", + "@cubejs-backend/schema-compiler": "1.2.19", + "@cubejs-backend/shared": "1.2.19", + "@cubejs-backend/templates": "1.2.19", "codesandbox-import-utils": "^2.1.12", "cross-spawn": "^7.0.1", "fs-extra": "^8.1.0", @@ -59,9 +59,9 @@ "ws": "^7.5.3" }, "devDependencies": { - "@cubejs-backend/cubestore-driver": "1.2.18", - "@cubejs-backend/linter": "1.2.18", - "@cubejs-client/playground": "1.2.18", + "@cubejs-backend/cubestore-driver": "1.2.19", + "@cubejs-backend/linter": "1.2.19", + "@cubejs-client/playground": "1.2.19", "@types/cross-spawn": "^6.0.2", "@types/express": "^4.17.21", "@types/fs-extra": "^9.0.8", diff --git a/packages/cubejs-server/CHANGELOG.md b/packages/cubejs-server/CHANGELOG.md index 9863f463d..f860ad81f 100644 --- a/packages/cubejs-server/CHANGELOG.md +++ b/packages/cubejs-server/CHANGELOG.md @@ -3,13 +3,13 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) +## [1.2.19](https://github.com/cube-js/cube/compare/v1.2.18...v1.2.19) (2025-03-08) **Note:** Version bump only for package @cubejs-backend/server +## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) - - +**Note:** Version bump only for package @cubejs-backend/server ## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) diff --git a/packages/cubejs-server/package.json b/packages/cubejs-server/package.json index b120c7a9b..acff2ae33 100644 --- a/packages/cubejs-server/package.json +++ b/packages/cubejs-server/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/server", "description": "Cube.js all-in-one server", "author": "Cube Dev, Inc.", - "version": "1.2.18", + "version": "1.2.19", "types": "index.d.ts", "repository": { "type": "git", @@ -40,11 +40,11 @@ "jest:shapshot": "jest --updateSnapshot test" }, "dependencies": { - "@cubejs-backend/cubestore-driver": "1.2.18", + "@cubejs-backend/cubestore-driver": "1.2.19", "@cubejs-backend/dotenv": "^9.0.2", - "@cubejs-backend/native": "1.2.18", - "@cubejs-backend/server-core": "1.2.18", - "@cubejs-backend/shared": "1.2.18", + "@cubejs-backend/native": "1.2.19", + "@cubejs-backend/server-core": "1.2.19", + "@cubejs-backend/shared": "1.2.19", "@oclif/color": "^1.0.0", "@oclif/command": "^1.8.13", "@oclif/config": "^1.18.2", @@ -61,8 +61,8 @@ "ws": "^7.1.2" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.18", - "@cubejs-backend/query-orchestrator": "1.2.18", + "@cubejs-backend/linter": "1.2.19", + "@cubejs-backend/query-orchestrator": "1.2.19", "@oclif/dev-cli": "^1.23.1", "@types/body-parser": "^1.19.0", "@types/cors": "^2.8.8", diff --git a/packages/cubejs-snowflake-driver/CHANGELOG.md b/packages/cubejs-snowflake-driver/CHANGELOG.md index 90e0912de..31ec48665 100644 --- a/packages/cubejs-snowflake-driver/CHANGELOG.md +++ b/packages/cubejs-snowflake-driver/CHANGELOG.md @@ -3,13 +3,13 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) +## [1.2.19](https://github.com/cube-js/cube/compare/v1.2.18...v1.2.19) (2025-03-08) **Note:** Version bump only for package @cubejs-backend/snowflake-driver +## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) - - +**Note:** Version bump only for package @cubejs-backend/snowflake-driver ## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) diff --git a/packages/cubejs-snowflake-driver/package.json b/packages/cubejs-snowflake-driver/package.json index e82980f68..84f6c56af 100644 --- a/packages/cubejs-snowflake-driver/package.json +++ b/packages/cubejs-snowflake-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/snowflake-driver", "description": "Cube.js Snowflake database driver", "author": "Cube Dev, Inc.", - "version": "1.2.18", + "version": "1.2.19", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -25,8 +25,8 @@ "lint:fix": "eslint --fix src/* --ext .ts" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.18", - "@cubejs-backend/shared": "1.2.18", + "@cubejs-backend/base-driver": "1.2.19", + "@cubejs-backend/shared": "1.2.19", "date-fns-timezone": "^0.1.4", "snowflake-sdk": "^1.13.1" }, @@ -38,7 +38,7 @@ "extends": "../cubejs-linter" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.18", + "@cubejs-backend/linter": "1.2.19", "typescript": "~5.2.2" } } diff --git a/packages/cubejs-sqlite-driver/CHANGELOG.md b/packages/cubejs-sqlite-driver/CHANGELOG.md index 46a568b39..4863e8fcc 100644 --- a/packages/cubejs-sqlite-driver/CHANGELOG.md +++ b/packages/cubejs-sqlite-driver/CHANGELOG.md @@ -3,13 +3,13 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) +## [1.2.19](https://github.com/cube-js/cube/compare/v1.2.18...v1.2.19) (2025-03-08) **Note:** Version bump only for package @cubejs-backend/sqlite-driver +## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) - - +**Note:** Version bump only for package @cubejs-backend/sqlite-driver ## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) diff --git a/packages/cubejs-sqlite-driver/package.json b/packages/cubejs-sqlite-driver/package.json index 631678ab5..c9dfa37f8 100644 --- a/packages/cubejs-sqlite-driver/package.json +++ b/packages/cubejs-sqlite-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/sqlite-driver", "description": "Cube.js Sqlite database driver", "author": "Cube Dev, Inc.", - "version": "1.2.18", + "version": "1.2.19", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -17,13 +17,13 @@ "lint": "eslint **/*.js" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.18", - "@cubejs-backend/shared": "1.2.18", + "@cubejs-backend/base-driver": "1.2.19", + "@cubejs-backend/shared": "1.2.19", "sqlite3": "^5.1.7" }, "license": "Apache-2.0", "devDependencies": { - "@cubejs-backend/linter": "1.2.18" + "@cubejs-backend/linter": "1.2.19" }, "publishConfig": { "access": "public" diff --git a/packages/cubejs-templates/CHANGELOG.md b/packages/cubejs-templates/CHANGELOG.md index 4b2b4ba02..a6e99d364 100644 --- a/packages/cubejs-templates/CHANGELOG.md +++ b/packages/cubejs-templates/CHANGELOG.md @@ -3,13 +3,13 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) +## [1.2.19](https://github.com/cube-js/cube/compare/v1.2.18...v1.2.19) (2025-03-08) **Note:** Version bump only for package @cubejs-backend/templates +## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) - - +**Note:** Version bump only for package @cubejs-backend/templates ## [1.2.17](/compare/v1.2.16...v1.2.17) (2025-03-05) diff --git a/packages/cubejs-templates/package.json b/packages/cubejs-templates/package.json index ac5b94cbd..8e4c664f7 100644 --- a/packages/cubejs-templates/package.json +++ b/packages/cubejs-templates/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-backend/templates", - "version": "1.2.18", + "version": "1.2.19", "description": "Cube.js Templates helpers", "author": "Cube Dev, Inc.", "license": "Apache-2.0", @@ -26,7 +26,7 @@ "extends": "../cubejs-linter" }, "dependencies": { - "@cubejs-backend/shared": "1.2.18", + "@cubejs-backend/shared": "1.2.19", "cross-spawn": "^7.0.3", "decompress": "^4.2.1", "decompress-targz": "^4.1.1", @@ -36,7 +36,7 @@ "source-map-support": "^0.5.19" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.18", + "@cubejs-backend/linter": "1.2.19", "typescript": "~5.2.2" } } diff --git a/packages/cubejs-testing-drivers/CHANGELOG.md b/packages/cubejs-testing-drivers/CHANGELOG.md index c5ddfd63a..dd0b07246 100644 --- a/packages/cubejs-testing-drivers/CHANGELOG.md +++ b/packages/cubejs-testing-drivers/CHANGELOG.md @@ -3,13 +3,13 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) +## [1.2.19](https://github.com/cube-js/cube/compare/v1.2.18...v1.2.19) (2025-03-08) **Note:** Version bump only for package @cubejs-backend/testing-drivers +## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) - - +**Note:** Version bump only for package @cubejs-backend/testing-drivers ## [1.2.17](/compare/v1.2.16...v1.2.17) (2025-03-05) diff --git a/packages/cubejs-testing-drivers/package.json b/packages/cubejs-testing-drivers/package.json index 3c60be8d2..ec8a0dd6c 100644 --- a/packages/cubejs-testing-drivers/package.json +++ b/packages/cubejs-testing-drivers/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-backend/testing-drivers", - "version": "1.2.18", + "version": "1.2.19", "description": "Cube.js drivers test suite", "author": "Cube Dev, Inc.", "license": "MIT", @@ -56,24 +56,24 @@ "dist/src" ], "dependencies": { - "@cubejs-backend/athena-driver": "1.2.18", - "@cubejs-backend/base-driver": "1.2.18", - "@cubejs-backend/bigquery-driver": "1.2.18", - "@cubejs-backend/clickhouse-driver": "1.2.18", - "@cubejs-backend/cubestore-driver": "1.2.18", - "@cubejs-backend/databricks-jdbc-driver": "1.2.18", + "@cubejs-backend/athena-driver": "1.2.19", + "@cubejs-backend/base-driver": "1.2.19", + "@cubejs-backend/bigquery-driver": "1.2.19", + "@cubejs-backend/clickhouse-driver": "1.2.19", + "@cubejs-backend/cubestore-driver": "1.2.19", + "@cubejs-backend/databricks-jdbc-driver": "1.2.19", "@cubejs-backend/dotenv": "^9.0.2", - "@cubejs-backend/linter": "1.2.18", - "@cubejs-backend/mssql-driver": "1.2.18", - "@cubejs-backend/mysql-driver": "1.2.18", - "@cubejs-backend/postgres-driver": "1.2.18", - "@cubejs-backend/query-orchestrator": "1.2.18", - "@cubejs-backend/server-core": "1.2.18", - "@cubejs-backend/shared": "1.2.18", - "@cubejs-backend/snowflake-driver": "1.2.18", - "@cubejs-backend/testing-shared": "1.2.18", - "@cubejs-client/core": "1.2.18", - "@cubejs-client/ws-transport": "1.2.18", + "@cubejs-backend/linter": "1.2.19", + "@cubejs-backend/mssql-driver": "1.2.19", + "@cubejs-backend/mysql-driver": "1.2.19", + "@cubejs-backend/postgres-driver": "1.2.19", + "@cubejs-backend/query-orchestrator": "1.2.19", + "@cubejs-backend/server-core": "1.2.19", + "@cubejs-backend/shared": "1.2.19", + "@cubejs-backend/snowflake-driver": "1.2.19", + "@cubejs-backend/testing-shared": "1.2.19", + "@cubejs-client/core": "1.2.19", + "@cubejs-client/ws-transport": "1.2.19", "@jest/globals": "^27", "@types/jest": "^27", "@types/node": "^18", diff --git a/packages/cubejs-testing-shared/CHANGELOG.md b/packages/cubejs-testing-shared/CHANGELOG.md index d7dca9273..618182682 100644 --- a/packages/cubejs-testing-shared/CHANGELOG.md +++ b/packages/cubejs-testing-shared/CHANGELOG.md @@ -3,13 +3,13 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) +## [1.2.19](https://github.com/cube-js/cube/compare/v1.2.18...v1.2.19) (2025-03-08) **Note:** Version bump only for package @cubejs-backend/testing-shared +## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) - - +**Note:** Version bump only for package @cubejs-backend/testing-shared ## [1.2.17](/compare/v1.2.16...v1.2.17) (2025-03-05) diff --git a/packages/cubejs-testing-shared/package.json b/packages/cubejs-testing-shared/package.json index 5a73746f0..be79834d4 100644 --- a/packages/cubejs-testing-shared/package.json +++ b/packages/cubejs-testing-shared/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-backend/testing-shared", - "version": "1.2.18", + "version": "1.2.19", "description": "Cube.js Testing Helpers", "author": "Cube Dev, Inc.", "license": "Apache-2.0", @@ -21,16 +21,16 @@ ], "dependencies": { "@cubejs-backend/dotenv": "^9.0.2", - "@cubejs-backend/query-orchestrator": "1.2.18", - "@cubejs-backend/schema-compiler": "1.2.18", - "@cubejs-backend/shared": "1.2.18", + "@cubejs-backend/query-orchestrator": "1.2.19", + "@cubejs-backend/schema-compiler": "1.2.19", + "@cubejs-backend/shared": "1.2.19", "@testcontainers/kafka": "~10.13.0", "dedent": "^0.7.0", "node-fetch": "^2.6.7", "testcontainers": "^10.13.0" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.18", + "@cubejs-backend/linter": "1.2.19", "@jest/globals": "^27", "@types/dedent": "^0.7.0", "@types/jest": "^27", diff --git a/packages/cubejs-testing/CHANGELOG.md b/packages/cubejs-testing/CHANGELOG.md index 08ce7ebdf..75e46c17d 100644 --- a/packages/cubejs-testing/CHANGELOG.md +++ b/packages/cubejs-testing/CHANGELOG.md @@ -3,13 +3,13 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) +## [1.2.19](https://github.com/cube-js/cube/compare/v1.2.18...v1.2.19) (2025-03-08) **Note:** Version bump only for package @cubejs-backend/testing +## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) - - +**Note:** Version bump only for package @cubejs-backend/testing ## [1.2.17](/compare/v1.2.16...v1.2.17) (2025-03-05) diff --git a/packages/cubejs-testing/package.json b/packages/cubejs-testing/package.json index 241f6208e..3b6425802 100644 --- a/packages/cubejs-testing/package.json +++ b/packages/cubejs-testing/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-backend/testing", - "version": "1.2.18", + "version": "1.2.19", "description": "Cube.js e2e tests", "author": "Cube Dev, Inc.", "license": "Apache-2.0", @@ -94,15 +94,15 @@ "birdbox-fixtures" ], "dependencies": { - "@cubejs-backend/cubestore-driver": "1.2.18", + "@cubejs-backend/cubestore-driver": "1.2.19", "@cubejs-backend/dotenv": "^9.0.2", - "@cubejs-backend/ksql-driver": "1.2.18", - "@cubejs-backend/postgres-driver": "1.2.18", - "@cubejs-backend/query-orchestrator": "1.2.18", - "@cubejs-backend/schema-compiler": "1.2.18", - "@cubejs-backend/shared": "1.2.18", - "@cubejs-backend/testing-shared": "1.2.18", - "@cubejs-client/ws-transport": "1.2.18", + "@cubejs-backend/ksql-driver": "1.2.19", + "@cubejs-backend/postgres-driver": "1.2.19", + "@cubejs-backend/query-orchestrator": "1.2.19", + "@cubejs-backend/schema-compiler": "1.2.19", + "@cubejs-backend/shared": "1.2.19", + "@cubejs-backend/testing-shared": "1.2.19", + "@cubejs-client/ws-transport": "1.2.19", "dedent": "^0.7.0", "fs-extra": "^8.1.0", "http-proxy": "^1.18.1", @@ -113,8 +113,8 @@ }, "devDependencies": { "@4tw/cypress-drag-drop": "^1.6.0", - "@cubejs-backend/linter": "1.2.18", - "@cubejs-client/core": "1.2.18", + "@cubejs-backend/linter": "1.2.19", + "@cubejs-client/core": "1.2.19", "@jest/globals": "^27", "@types/dedent": "^0.7.0", "@types/http-proxy": "^1.17.5", diff --git a/packages/cubejs-trino-driver/CHANGELOG.md b/packages/cubejs-trino-driver/CHANGELOG.md index 87431c005..3c2c55ab4 100644 --- a/packages/cubejs-trino-driver/CHANGELOG.md +++ b/packages/cubejs-trino-driver/CHANGELOG.md @@ -3,13 +3,13 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) +## [1.2.19](https://github.com/cube-js/cube/compare/v1.2.18...v1.2.19) (2025-03-08) **Note:** Version bump only for package @cubejs-backend/trino-driver +## [1.2.18](https://github.com/cube-js/cube/compare/v1.2.17...v1.2.18) (2025-03-06) - - +**Note:** Version bump only for package @cubejs-backend/trino-driver ## [1.2.17](https://github.com/cube-js/cube/compare/v1.2.16...v1.2.17) (2025-03-05) diff --git a/packages/cubejs-trino-driver/package.json b/packages/cubejs-trino-driver/package.json index af8cdf160..f92ace7fe 100644 --- a/packages/cubejs-trino-driver/package.json +++ b/packages/cubejs-trino-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/trino-driver", "description": "Cube.js Trino database driver", "author": "Cube Dev, Inc.", - "version": "1.2.18", + "version": "1.2.19", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -25,10 +25,10 @@ "lint:fix": "eslint --fix src/* --ext .ts" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.18", - "@cubejs-backend/prestodb-driver": "1.2.18", - "@cubejs-backend/schema-compiler": "1.2.18", - "@cubejs-backend/shared": "1.2.18", + "@cubejs-backend/base-driver": "1.2.19", + "@cubejs-backend/prestodb-driver": "1.2.19", + "@cubejs-backend/schema-compiler": "1.2.19", + "@cubejs-backend/shared": "1.2.19", "presto-client": "^0.12.2", "sqlstring": "^2.3.1" }, @@ -37,7 +37,7 @@ "access": "public" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.18" + "@cubejs-backend/linter": "1.2.19" }, "eslintConfig": { "extends": "../cubejs-linter" diff --git a/packages/cubejs-vertica-driver/CHANGELOG.md b/packages/cubejs-vertica-driver/CHANGELOG.md index fd1690cc0..a06d78071 100644 --- a/packages/cubejs-vertica-driver/CHANGELOG.md +++ b/packages/cubejs-vertica-driver/CHANGELOG.md @@ -3,13 +3,13 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. -## [1.2.18](https://github.com/cube-js/cube.js/compare/v1.2.17...v1.2.18) (2025-03-06) +## [1.2.19](https://github.com/cube-js/cube.js/compare/v1.2.18...v1.2.19) (2025-03-08) **Note:** Version bump only for package @cubejs-backend/vertica-driver +## [1.2.18](https://github.com/cube-js/cube.js/compare/v1.2.17...v1.2.18) (2025-03-06) - - +**Note:** Version bump only for package @cubejs-backend/vertica-driver ## [1.2.17](https://github.com/cube-js/cube.js/compare/v1.2.16...v1.2.17) (2025-03-05) diff --git a/packages/cubejs-vertica-driver/package.json b/packages/cubejs-vertica-driver/package.json index 2af560a4c..d7c887f42 100644 --- a/packages/cubejs-vertica-driver/package.json +++ b/packages/cubejs-vertica-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/vertica-driver", "description": "Cube.js Vertica database driver", "author": "Eduard Karacharov, Tim Brown, Cube Dev, Inc.", - "version": "1.2.18", + "version": "1.2.19", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.js.git", @@ -19,15 +19,15 @@ "lint:fix": "eslint --fix **/*.js" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.18", - "@cubejs-backend/query-orchestrator": "1.2.18", - "@cubejs-backend/schema-compiler": "1.2.18", + "@cubejs-backend/base-driver": "1.2.19", + "@cubejs-backend/query-orchestrator": "1.2.19", + "@cubejs-backend/schema-compiler": "1.2.19", "vertica-nodejs": "^1.0.3" }, "license": "Apache-2.0", "devDependencies": { - "@cubejs-backend/linter": "1.2.18", - "@cubejs-backend/testing-shared": "1.2.18", + "@cubejs-backend/linter": "1.2.19", + "@cubejs-backend/testing-shared": "1.2.19", "jest": "^27", "testcontainers": "^10.13.0" }, diff --git a/rust/cubesql/CHANGELOG.md b/rust/cubesql/CHANGELOG.md index a9fef55e0..8de0dcee0 100644 --- a/rust/cubesql/CHANGELOG.md +++ b/rust/cubesql/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.19](https://github.com/cube-js/cube/compare/v1.2.18...v1.2.19) (2025-03-08) + +**Note:** Version bump only for package @cubejs-backend/cubesql + ## [1.2.17](/compare/v1.2.16...v1.2.17) (2025-03-05) ### Bug Fixes diff --git a/rust/cubesql/package.json b/rust/cubesql/package.json index a8a473bab..7ba6a72c2 100644 --- a/rust/cubesql/package.json +++ b/rust/cubesql/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-backend/cubesql", - "version": "1.2.17", + "version": "1.2.19", "description": "SQL API for Cube as proxy over MySQL protocol.", "engines": { "node": "^12.0.0 || ^14.0.0 || >=16.0.0" diff --git a/rust/cubestore/CHANGELOG.md b/rust/cubestore/CHANGELOG.md index c76ed7c5c..e8d428ac6 100644 --- a/rust/cubestore/CHANGELOG.md +++ b/rust/cubestore/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.19](https://github.com/cube-js/cube/compare/v1.2.18...v1.2.19) (2025-03-08) + +**Note:** Version bump only for package @cubejs-backend/cubestore + ## [1.2.17](/compare/v1.2.16...v1.2.17) (2025-03-05) **Note:** Version bump only for package @cubejs-backend/cubestore diff --git a/rust/cubestore/package.json b/rust/cubestore/package.json index 0679745fb..2a000030e 100644 --- a/rust/cubestore/package.json +++ b/rust/cubestore/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-backend/cubestore", - "version": "1.2.17", + "version": "1.2.19", "description": "Cube.js pre-aggregation storage layer.", "main": "dist/src/index.js", "typings": "dist/src/index.d.ts", @@ -27,7 +27,7 @@ "author": "Cube Dev, Inc.", "license": "Apache-2.0", "devDependencies": { - "@cubejs-backend/linter": "1.2.18", + "@cubejs-backend/linter": "1.2.19", "@types/jest": "^27", "@types/node": "^18", "jest": "^27", @@ -37,7 +37,7 @@ "access": "public" }, "dependencies": { - "@cubejs-backend/shared": "1.2.18", + "@cubejs-backend/shared": "1.2.19", "@octokit/core": "^3.2.5", "source-map-support": "^0.5.19" }, From d36a341ab7bef801b7bade06b7e881d163a8f559 Mon Sep 17 00:00:00 2001 From: Mikhail Cheshkov Date: Sat, 8 Mar 2025 12:06:52 +0200 Subject: [PATCH 35/49] feat: Add SQL queries support in /v1/sql endpoint (#9301) * refactor(cubesql): Use &str instead of &String * refactor(backend-native): Extract create_session function * refactor(backend-native): Extract with_session function * refactor(cubesql): Extract QueryPlan::try_as_logical_plan * feat: Add SQL queries support in /v1/sql endpoint * Add docs * Remove mention of data_source and query_plan response fields from /v1/sql docs --------- Co-authored-by: Igor Lukanin --- .../product/apis-integrations/queries.mdx | 15 +- .../product/apis-integrations/rest-api.mdx | 16 +- .../apis-integrations/rest-api/reference.mdx | 68 +++- packages/cubejs-api-gateway/src/gateway.ts | 43 +++ packages/cubejs-api-gateway/src/sql-server.ts | 6 + packages/cubejs-backend-native/js/index.ts | 22 ++ .../src/cubesql_utils.rs | 76 ++++ packages/cubejs-backend-native/src/lib.rs | 2 + .../cubejs-backend-native/src/node_export.rs | 301 +++++++-------- packages/cubejs-backend-native/src/sql4sql.rs | 228 +++++++++++ .../__snapshots__/smoke-cubesql.test.ts.snap | 356 ++++++++++++++++++ .../cubejs-testing/test/smoke-cubesql.test.ts | 83 ++++ rust/cubesql/cubesql/src/compile/parser.rs | 18 +- rust/cubesql/cubesql/src/compile/plan.rs | 15 +- rust/cubesql/cubesql/src/compile/router.rs | 2 +- rust/cubesql/cubesql/src/sql/postgres/shim.rs | 3 +- 16 files changed, 1045 insertions(+), 209 deletions(-) create mode 100644 packages/cubejs-backend-native/src/cubesql_utils.rs create mode 100644 packages/cubejs-backend-native/src/sql4sql.rs diff --git a/docs/pages/product/apis-integrations/queries.mdx b/docs/pages/product/apis-integrations/queries.mdx index 17ae53d60..6f171ce22 100644 --- a/docs/pages/product/apis-integrations/queries.mdx +++ b/docs/pages/product/apis-integrations/queries.mdx @@ -142,7 +142,7 @@ The same query using the REST API syntax looks as follows: ### Query with post-processing **Queries with post-processing are specific to the [SQL API][ref-sql-api].** -They are structured in such a way that a [regular query](#regular-query) is +Generally, they are structured in such a way that a [regular query](#regular-query) is part of a `FROM` clause or a common table expression (CTE): ```sql @@ -178,8 +178,17 @@ limited set of SQL functions and operators. #### Example -See an example of a query with post-processing. In this query, we derive new -dimensions, post-aggregate measures, and perform additional filtering: +The simplest example of a query with post-processing: + +```sql +SELECT VERSION(); +``` + +This query invokes a function that is implemented by the SQL API and executed without +querying the upstream data source. + +Now, see a more complex example of a query with post-processing. In this query, we derive +new dimensions, post-aggregate measures, and perform additional filtering: ```sql SELECT diff --git a/docs/pages/product/apis-integrations/rest-api.mdx b/docs/pages/product/apis-integrations/rest-api.mdx index bd9a54488..3ccf3d726 100644 --- a/docs/pages/product/apis-integrations/rest-api.mdx +++ b/docs/pages/product/apis-integrations/rest-api.mdx @@ -130,13 +130,7 @@ accessible for everyone. | `data` | [`/v1/load`][ref-ref-load], [`/v1/sql`][ref-ref-sql] | ✅ Yes | | `graphql` | `/graphql` | ✅ Yes | | `jobs` | [`/v1/pre-aggregations/jobs`][ref-ref-paj] | ❌ No | - - - -Exception: `/livez` and `/readyz` endpoints don't belong to any scope. Access to -these endpoints can't be controlled using API scopes. - - +| No scope | `/livez`, `/readyz` | ✅ Yes, always | You can set accessible API scopes _for all requests_ using the `CUBEJS_DEFAULT_API_SCOPES` environment variable. For example, to disallow @@ -282,10 +276,10 @@ example, the following query will retrieve rows 101-200 from the `Orders` cube: [ref-conf-basepath]: /reference/configuration/config#basepath [ref-conf-contexttoapiscopes]: /reference/configuration/config#contexttoapiscopes -[ref-ref-load]: /product/apis-integrations/rest-api/reference#v1load -[ref-ref-meta]: /product/apis-integrations/rest-api/reference#v1meta -[ref-ref-sql]: /product/apis-integrations/rest-api/reference#v1sql -[ref-ref-paj]: /product/apis-integrations/rest-api/reference#v1pre-aggregationsjobs +[ref-ref-load]: /product/apis-integrations/rest-api/reference#base_pathv1load +[ref-ref-meta]: /product/apis-integrations/rest-api/reference#base_pathv1meta +[ref-ref-sql]: /product/apis-integrations/rest-api/reference#base_pathv1sql +[ref-ref-paj]: /product/apis-integrations/rest-api/reference#base_pathv1pre-aggregationsjobs [ref-security-context]: /product/auth/context [ref-graphql-api]: /product/apis-integrations/graphql-api [ref-orchestration-api]: /product/apis-integrations/orchestration-api diff --git a/docs/pages/product/apis-integrations/rest-api/reference.mdx b/docs/pages/product/apis-integrations/rest-api/reference.mdx index 9cf58e8ac..ea935aa17 100644 --- a/docs/pages/product/apis-integrations/rest-api/reference.mdx +++ b/docs/pages/product/apis-integrations/rest-api/reference.mdx @@ -99,21 +99,57 @@ values. ## `{base_path}/v1/sql` -Get the SQL Code generated by Cube to be executed in the database. +Takes an API query and returns the SQL query that can be executed against the data source +that is generated by Cube. This endpoint is useful for debugging, understanding how +Cube translates API queries into SQL queries, and providing transparency to SQL-savvy +end users. -| Parameter | Description | -| --------- | ------------------------------------------------------------------------- | -| query | URLencoded Cube [Query](/product/apis-integrations/rest-api/query-format) | +Using this endpoint to take the SQL query and execute it against the data source directly +is not recommended as it bypasses Cube's caching layer and other optimizations. -Response +Request parameters: -- `sql` - JSON Object with the following properties - - `sql` - Formatted SQL query with parameters - - `order` - Order fields and direction used in SQL query - - `cacheKeyQueries` - Key names and TTL of Cube data cache - - `preAggregations` - SQL queries used to build pre-aggregation tables +| Parameter, type | Description | Required | +| --- | --- | --- | +| `format`, `string` | Query format:
`sql` for [SQL API][ref-sql-api] queries,
`rest` for [REST API][ref-rest-api] queries (default) | ❌ No | +| `query`, `string` | Query as an URL-encoded JSON object or SQL query | ✅ Yes | +| `disable_post_processing`, `boolean` | Flag that affects query planning, `true` or `false` | ❌ No | -Example request: +If `disable_post_processing` is set to `true`, Cube will try to generate the SQL +as if the query is run without [post-processing][ref-query-wpp], i.e., if it's run as a +query with [pushdown][ref-query-wpd]. + + + +Currently, the `disable_post_processing` parameter is not yet supported. + + + +The response will contain a JSON object with the following properties under the `sql` key: + +| Property, type | Description | +| --- | --- | +| `status`, `string` | Query planning status, `ok` or `error` | +| `sql`, `array` | Two-element array (see below) | +| `sql[0]`, `string` | Generated query with parameter placeholders | +| `sql[1]`, `array` or `object` | Generated query parameters | + +For queries with the `sql` format, the response will also include the following additional +properties under the `sql` key: + +| Property, type | Description | +| --- | --- | +| `query_type`, `string` | `regular` for [regular][ref-regular-queries] queries,
`post_processing` for queries with [post-processing][ref-query-wpp],
`pushdown` for queries with [pushdown][ref-query-wpd] | + +For queries with the `sql` format, in case of an error, the response will only contain +`status`, `query_type`, and `error` properties. + +For example, an error will be returned if `disable_post_processing` was set to `true` but +the query can't be run without post-processing. + +### Example + +Request: ```bash{outputLines: 2-6} curl \ @@ -124,7 +160,7 @@ curl \ http://localhost:4000/cubejs-api/v1/sql ``` -Example response: +Response: ```json { @@ -464,4 +500,10 @@ Keep-Alive: timeout=5 [ref-recipes-data-blending]: /product/data-modeling/concepts/data-blending#data-blending [ref-rest-api]: /product/apis-integrations/rest-api [ref-basepath]: /product/apis-integrations/rest-api#base-path -[ref-datasources]: /product/configuration/advanced/multiple-data-sources \ No newline at end of file +[ref-datasources]: /product/configuration/advanced/multiple-data-sources +[ref-sql-api]: /product/apis-integrations/sql-api +[ref-rest-api]: /product/apis-integrations/rest-api +[ref-data-sources]: /product/configuration/advanced/multiple-data-sources +[ref-regular-queries]: /product/apis-integrations/queries#regular-query +[ref-query-wpp]: /product/apis-integrations/queries#query-with-post-processing +[ref-query-wpd]: /product/apis-integrations/queries#query-with-pushdown diff --git a/packages/cubejs-api-gateway/src/gateway.ts b/packages/cubejs-api-gateway/src/gateway.ts index 73ed0057b..ca0f1e124 100644 --- a/packages/cubejs-api-gateway/src/gateway.ts +++ b/packages/cubejs-api-gateway/src/gateway.ts @@ -33,6 +33,7 @@ import { QueryType as QueryTypeEnum, ResultType } from './types/enums'; import { + BaseRequest, RequestContext, ExtendedRequestContext, Request, @@ -324,6 +325,17 @@ class ApiGateway { })); app.get(`${this.basePath}/v1/sql`, userMiddlewares, userAsyncHandler(async (req: any, res) => { + // TODO parse req.query with zod/joi/... + + if (req.query.format === 'sql') { + await this.sql4sql({ + query: req.query.query, + context: req.context, + res: this.resToResultFn(res) + }); + return; + } + await this.sql({ query: req.query.query, context: req.context, @@ -332,6 +344,17 @@ class ApiGateway { })); app.post(`${this.basePath}/v1/sql`, jsonParser, userMiddlewares, userAsyncHandler(async (req, res) => { + // TODO parse req.body with zod/joi/... + + if (req.body.format === 'sql') { + await this.sql4sql({ + query: req.body.query, + context: req.context, + res: this.resToResultFn(res) + }); + return; + } + await this.sql({ query: req.body.query, context: req.context, @@ -1281,6 +1304,26 @@ class ApiGateway { return [queryType, normalizedQueries, queryNormalizationResult.map((it) => remapToQueryAdapterFormat(it.normalizedQuery))]; } + protected async sql4sql({ + query, + context, + res, + }: {query: string} & BaseRequest) { + try { + await this.assertApiScope('data', context.securityContext); + + const result = await this.sqlServer.sql4sql(query, context.securityContext); + res({ sql: result }); + } catch (e: any) { + this.handleError({ + e, + context, + query, + res, + }); + } + } + public async sql({ query, context, diff --git a/packages/cubejs-api-gateway/src/sql-server.ts b/packages/cubejs-api-gateway/src/sql-server.ts index 32e7d37e1..b40c83f3e 100644 --- a/packages/cubejs-api-gateway/src/sql-server.ts +++ b/packages/cubejs-api-gateway/src/sql-server.ts @@ -3,9 +3,11 @@ import { registerInterface, shutdownInterface, execSql, + sql4sql, SqlInterfaceInstance, Request as NativeRequest, LoadRequestMeta, + Sql4SqlResponse, } from '@cubejs-backend/native'; import type { ShutdownMode } from '@cubejs-backend/native'; import { displayCLIWarning, getEnv } from '@cubejs-backend/shared'; @@ -62,6 +64,10 @@ export class SQLServer { await execSql(this.sqlInterfaceInstance!, sqlQuery, stream, securityContext); } + public async sql4sql(sqlQuery: string, securityContext?: any): Promise { + return sql4sql(this.sqlInterfaceInstance!, sqlQuery, securityContext); + } + protected buildCheckSqlAuth(options: SQLServerOptions): CheckSQLAuthFn { return (options.checkSqlAuth && this.wrapCheckSqlAuthFn(options.checkSqlAuth)) || this.createDefaultCheckSqlAuthFn(options); diff --git a/packages/cubejs-backend-native/js/index.ts b/packages/cubejs-backend-native/js/index.ts index eec5c7370..f32c82466 100644 --- a/packages/cubejs-backend-native/js/index.ts +++ b/packages/cubejs-backend-native/js/index.ts @@ -124,6 +124,21 @@ export type DBResponsePrimitive = number | string; +// TODO type this better, to make it proper disjoint union +export type Sql4SqlOk = { + sql: string, + values: Array, +}; +export type Sql4SqlError = { error: string }; +export type Sql4SqlCommon = { + query_type: { + regular: boolean; + post_processing: boolean; + pushdown: boolean; + } +}; +export type Sql4SqlResponse = Sql4SqlCommon & (Sql4SqlOk | Sql4SqlError); + let loadedNative: any = null; export function loadNative() { @@ -389,6 +404,13 @@ export const execSql = async (instance: SqlInterfaceInstance, sqlQuery: string, await native.execSql(instance, sqlQuery, stream, securityContext ? JSON.stringify(securityContext) : null); }; +// TODO parse result from native code +export const sql4sql = async (instance: SqlInterfaceInstance, sqlQuery: string, securityContext?: any): Promise => { + const native = loadNative(); + + return native.sql4sql(instance, sqlQuery, securityContext ? JSON.stringify(securityContext) : null); +}; + export const buildSqlAndParams = (cubeEvaluator: any): String => { const native = loadNative(); diff --git a/packages/cubejs-backend-native/src/cubesql_utils.rs b/packages/cubejs-backend-native/src/cubesql_utils.rs new file mode 100644 index 000000000..36a7e7faf --- /dev/null +++ b/packages/cubejs-backend-native/src/cubesql_utils.rs @@ -0,0 +1,76 @@ +use std::future::Future; +use std::net::SocketAddr; +use std::str::FromStr; +use std::sync::Arc; + +use cubesql::compile::DatabaseProtocol; +use cubesql::config::ConfigObj; +use cubesql::sql::{Session, SessionManager}; +use cubesql::CubeError; + +use crate::auth::NativeAuthContext; +use crate::config::NodeCubeServices; + +pub async fn create_session( + services: &NodeCubeServices, + native_auth_ctx: Arc, +) -> Result, CubeError> { + let config = services + .injector() + .get_service_typed::() + .await; + + let session_manager = services + .injector() + .get_service_typed::() + .await; + + let (host, port) = match SocketAddr::from_str( + config + .postgres_bind_address() + .as_deref() + .unwrap_or("127.0.0.1:15432"), + ) { + Ok(addr) => (addr.ip().to_string(), addr.port()), + Err(e) => { + return Err(CubeError::internal(format!( + "Failed to parse postgres_bind_address: {}", + e + ))) + } + }; + + let session = session_manager + .create_session(DatabaseProtocol::PostgreSQL, host, port, None) + .await?; + + session + .state + .set_auth_context(Some(native_auth_ctx.clone())); + + Ok(session) +} + +pub async fn with_session( + services: &NodeCubeServices, + native_auth_ctx: Arc, + f: F, +) -> Result +where + F: FnOnce(Arc) -> Fut, + Fut: Future>, +{ + let session_manager = services + .injector() + .get_service_typed::() + .await; + let session = create_session(services, native_auth_ctx).await?; + let connection_id = session.state.connection_id; + + // From now there's a session we should close before returning, as in `finally` + let result = { f(session).await }; + + session_manager.drop_session(connection_id).await; + + result +} diff --git a/packages/cubejs-backend-native/src/lib.rs b/packages/cubejs-backend-native/src/lib.rs index 60104692c..eb475af88 100644 --- a/packages/cubejs-backend-native/src/lib.rs +++ b/packages/cubejs-backend-native/src/lib.rs @@ -7,6 +7,7 @@ pub mod auth; pub mod channel; pub mod config; pub mod cross; +pub mod cubesql_utils; pub mod gateway; pub mod logger; pub mod node_export; @@ -15,6 +16,7 @@ pub mod node_obj_serializer; pub mod orchestrator; #[cfg(feature = "python")] pub mod python; +pub mod sql4sql; pub mod stream; pub mod template; pub mod transport; diff --git a/packages/cubejs-backend-native/src/node_export.rs b/packages/cubejs-backend-native/src/node_export.rs index b4e811444..23f8fff45 100644 --- a/packages/cubejs-backend-native/src/node_export.rs +++ b/packages/cubejs-backend-native/src/node_export.rs @@ -1,8 +1,5 @@ -use cubesql::compile::DatabaseProtocol; use cubesql::compile::{convert_sql_to_cube_query, get_df_batches}; use cubesql::config::processing_loop::ShutdownMode; -use cubesql::config::ConfigObj; -use cubesql::sql::SessionManager; use cubesql::transport::TransportService; use futures::StreamExt; @@ -13,7 +10,9 @@ use crate::auth::{NativeAuthContext, NodeBridgeAuthService}; use crate::channel::call_js_fn; use crate::config::{NodeConfiguration, NodeConfigurationFactoryOptions, NodeCubeServices}; use crate::cross::CLRepr; +use crate::cubesql_utils::with_session; use crate::logger::NodeBridgeLogger; +use crate::sql4sql::sql4sql; use crate::stream::OnDrainHandler; use crate::tokio_runtime_node; use crate::transport::NodeBridgeTransport; @@ -26,9 +25,7 @@ use cubenativeutils::wrappers::serializer::NativeDeserialize; use cubenativeutils::wrappers::NativeContextHolder; use cubesqlplanner::cube_bridge::base_query_options::NativeBaseQueryOptions; use cubesqlplanner::planner::base_query::BaseQuery; -use std::net::SocketAddr; use std::rc::Rc; -use std::str::FromStr; use std::sync::Arc; use std::time::SystemTime; @@ -36,8 +33,8 @@ use cubesql::{telemetry::ReportingLogger, CubeError}; use neon::prelude::*; -struct SQLInterface { - services: Arc, +pub(crate) struct SQLInterface { + pub(crate) services: Arc, } impl Finalize for SQLInterface {} @@ -184,107 +181,102 @@ async fn handle_sql_query( native_auth_ctx: Arc, channel: Arc, stream_methods: WritableStreamMethods, - sql_query: &String, + sql_query: &str, ) -> Result<(), CubeError> { let start_time = SystemTime::now(); - let config = services - .injector() - .get_service_typed::() - .await; - let transport_service = services .injector() .get_service_typed::() .await; - let session_manager = services - .injector() - .get_service_typed::() - .await; - let (host, port) = match SocketAddr::from_str( - &config - .postgres_bind_address() - .clone() - .unwrap_or("127.0.0.1:15432".into()), - ) { - Ok(addr) => (addr.ip().to_string(), addr.port()), - Err(e) => { - return Err(CubeError::internal(format!( - "Failed to parse postgres_bind_address: {}", - e - ))) + with_session(&services, native_auth_ctx.clone(), |session| async move { + if let Some(auth_context) = session.state.auth_context() { + session + .session_manager + .server + .transport + .log_load_state( + None, + auth_context, + session.state.get_load_request_meta("sql"), + "Load Request".to_string(), + serde_json::json!({ + "query": { + "sql": sql_query, + } + }), + ) + .await?; } - }; - let session = session_manager - .create_session(DatabaseProtocol::PostgreSQL, host, port, None) - .await?; - - session - .state - .set_auth_context(Some(native_auth_ctx.clone())); - - if let Some(auth_context) = session.state.auth_context() { - session - .session_manager - .server - .transport - .log_load_state( - None, - auth_context, - session.state.get_load_request_meta("sql"), - "Load Request".to_string(), - serde_json::json!({ - "query": { - "sql": sql_query, - } - }), - ) - .await?; - } + let session_clone = Arc::clone(&session); - let session_clone = Arc::clone(&session); + let execute = || async move { + // todo: can we use compiler_cache? + let meta_context = transport_service + .meta(native_auth_ctx) + .await + .map_err(|err| { + CubeError::internal(format!("Failed to get meta context: {}", err)) + })?; + let query_plan = convert_sql_to_cube_query(sql_query, meta_context, session).await?; - let execute = || async move { - // todo: can we use compiler_cache? - let meta_context = transport_service - .meta(native_auth_ctx) - .await - .map_err(|err| CubeError::internal(format!("Failed to get meta context: {}", err)))?; - let query_plan = convert_sql_to_cube_query(sql_query, meta_context, session).await?; + let mut stream = get_df_batches(&query_plan).await?; - let mut stream = get_df_batches(&query_plan).await?; + let semaphore = Arc::new(Semaphore::new(0)); - let semaphore = Arc::new(Semaphore::new(0)); + let drain_handler = OnDrainHandler::new( + channel.clone(), + stream_methods.stream.clone(), + semaphore.clone(), + ); - let drain_handler = OnDrainHandler::new( - channel.clone(), - stream_methods.stream.clone(), - semaphore.clone(), - ); + drain_handler.handle(stream_methods.on.clone()).await?; - drain_handler.handle(stream_methods.on.clone()).await?; + let mut is_first_batch = true; + while let Some(batch) = stream.next().await { + let (columns, data) = batch_to_rows(batch?)?; - let mut is_first_batch = true; - while let Some(batch) = stream.next().await { - let (columns, data) = batch_to_rows(batch?)?; + if is_first_batch { + let mut schema = Map::new(); + schema.insert("schema".into(), columns); + let columns = format!( + "{}{}", + serde_json::to_string(&serde_json::Value::Object(schema))?, + CHUNK_DELIM + ); + is_first_batch = false; + + call_js_fn( + channel.clone(), + stream_methods.write.clone(), + Box::new(|cx| { + let arg = cx.string(columns).upcast::(); + + Ok(vec![arg.upcast::()]) + }), + Box::new(|cx, v| match v.downcast_or_throw::(cx) { + Ok(v) => Ok(v.value(cx)), + Err(_) => Err(CubeError::internal( + "Failed to downcast write response".to_string(), + )), + }), + stream_methods.stream.clone(), + ) + .await?; + } - if is_first_batch { - let mut schema = Map::new(); - schema.insert("schema".into(), columns); - let columns = format!( - "{}{}", - serde_json::to_string(&serde_json::Value::Object(schema))?, - CHUNK_DELIM - ); - is_first_batch = false; + let mut rows = Map::new(); + rows.insert("data".into(), serde_json::Value::Array(data)); + let data = format!("{}{}", serde_json::to_string(&rows)?, CHUNK_DELIM); + let js_stream_write_fn = stream_methods.write.clone(); - call_js_fn( + let should_pause = !call_js_fn( channel.clone(), - stream_methods.write.clone(), + js_stream_write_fn, Box::new(|cx| { - let arg = cx.string(columns).upcast::(); + let arg = cx.string(data).upcast::(); Ok(vec![arg.upcast::()]) }), @@ -297,93 +289,67 @@ async fn handle_sql_query( stream_methods.stream.clone(), ) .await?; - } - - let mut rows = Map::new(); - rows.insert("data".into(), serde_json::Value::Array(data)); - let data = format!("{}{}", serde_json::to_string(&rows)?, CHUNK_DELIM); - let js_stream_write_fn = stream_methods.write.clone(); - let should_pause = !call_js_fn( - channel.clone(), - js_stream_write_fn, - Box::new(|cx| { - let arg = cx.string(data).upcast::(); - - Ok(vec![arg.upcast::()]) - }), - Box::new(|cx, v| match v.downcast_or_throw::(cx) { - Ok(v) => Ok(v.value(cx)), - Err(_) => Err(CubeError::internal( - "Failed to downcast write response".to_string(), - )), - }), - stream_methods.stream.clone(), - ) - .await?; - - if should_pause { - let permit = semaphore.acquire().await?; - permit.forget(); + if should_pause { + let permit = semaphore.acquire().await?; + permit.forget(); + } } - } - Ok::<(), CubeError>(()) - }; + Ok::<(), CubeError>(()) + }; - let result = execute().await; - let duration = start_time.elapsed().unwrap().as_millis() as u64; + let result = execute().await; + let duration = start_time.elapsed().unwrap().as_millis() as u64; - match &result { - Ok(_) => { - session_clone - .session_manager - .server - .transport - .log_load_state( - None, - session_clone.state.auth_context().unwrap(), - session_clone.state.get_load_request_meta("sql"), - "Load Request Success".to_string(), - serde_json::json!({ - "query": { - "sql": sql_query, - }, - "apiType": "sql", - "duration": duration, - "isDataQuery": true - }), - ) - .await?; - } - Err(err) => { - session_clone - .session_manager - .server - .transport - .log_load_state( - None, - session_clone.state.auth_context().unwrap(), - session_clone.state.get_load_request_meta("sql"), - "Cube SQL Error".to_string(), - serde_json::json!({ - "query": { - "sql": sql_query - }, - "apiType": "sql", - "duration": duration, - "error": err.message, - }), - ) - .await?; + match &result { + Ok(_) => { + session_clone + .session_manager + .server + .transport + .log_load_state( + None, + session_clone.state.auth_context().unwrap(), + session_clone.state.get_load_request_meta("sql"), + "Load Request Success".to_string(), + serde_json::json!({ + "query": { + "sql": sql_query, + }, + "apiType": "sql", + "duration": duration, + "isDataQuery": true + }), + ) + .await?; + } + Err(err) => { + session_clone + .session_manager + .server + .transport + .log_load_state( + None, + session_clone.state.auth_context().unwrap(), + session_clone.state.get_load_request_meta("sql"), + "Cube SQL Error".to_string(), + serde_json::json!({ + "query": { + "sql": sql_query + }, + "apiType": "sql", + "duration": duration, + "error": err.message, + }), + ) + .await?; + } } - } - - session_manager - .drop_session(session_clone.state.connection_id) - .await; - result + result + }) + .await } struct WritableStreamMethods { @@ -581,6 +547,7 @@ pub fn register_module_exports( cx.export_function("registerInterface", register_interface::)?; cx.export_function("shutdownInterface", shutdown_interface)?; cx.export_function("execSql", exec_sql)?; + cx.export_function("sql4sql", sql4sql)?; cx.export_function("isFallbackBuild", is_fallback_build)?; cx.export_function("__js_to_clrepr_to_js", debug_js_to_clrepr_to_js)?; diff --git a/packages/cubejs-backend-native/src/sql4sql.rs b/packages/cubejs-backend-native/src/sql4sql.rs new file mode 100644 index 000000000..fdc627ded --- /dev/null +++ b/packages/cubejs-backend-native/src/sql4sql.rs @@ -0,0 +1,228 @@ +use std::sync::Arc; + +use neon::prelude::*; + +use cubesql::compile::convert_sql_to_cube_query; +use cubesql::compile::datafusion::logical_plan::LogicalPlan; +use cubesql::compile::engine::df::scan::CubeScanNode; +use cubesql::compile::engine::df::wrapper::{CubeScanWrappedSqlNode, CubeScanWrapperNode}; +use cubesql::sql::Session; +use cubesql::transport::MetaContext; +use cubesql::CubeError; + +use crate::auth::NativeAuthContext; +use crate::config::NodeCubeServices; +use crate::cubesql_utils::with_session; +use crate::tokio_runtime_node; + +enum Sql4SqlQueryType { + Regular, + PostProcessing, + Pushdown, +} + +impl Sql4SqlQueryType { + pub fn to_js<'ctx>(&self, cx: &mut impl Context<'ctx>) -> JsResult<'ctx, JsString> { + let self_str = match self { + Self::Regular => "regular", + Self::PostProcessing => "post_processing", + Self::Pushdown => "pushdown", + }; + + Ok(cx.string(self_str)) + } +} + +enum Sql4SqlResponseResult { + Ok { + sql: String, + values: Vec>, + }, + Error { + error: String, + }, +} + +struct Sql4SqlResponse { + result: Sql4SqlResponseResult, + query_type: Sql4SqlQueryType, +} + +impl Sql4SqlResponse { + pub fn to_js<'ctx>(&self, cx: &mut impl Context<'ctx>) -> JsResult<'ctx, JsObject> { + let obj = cx.empty_object(); + + match &self.result { + Sql4SqlResponseResult::Ok { sql, values } => { + let status = cx.string("ok"); + obj.set(cx, "status", status)?; + + let sql_tuple = cx.empty_array(); + let sql = cx.string(sql); + sql_tuple.set(cx, 0, sql)?; + let js_values = cx.empty_array(); + for (i, v) in values.iter().enumerate() { + use std::convert::TryFrom; + let i = u32::try_from(i).unwrap(); + let v: Handle = v + .as_ref() + .map(|v| cx.string(v).upcast()) + .unwrap_or_else(|| cx.null().upcast()); + js_values.set(cx, i, v)?; + } + sql_tuple.set(cx, 1, js_values)?; + obj.set(cx, "sql", sql_tuple)?; + } + Sql4SqlResponseResult::Error { error } => { + let status = cx.string("error"); + obj.set(cx, "status", status)?; + + let error = cx.string(error); + obj.set(cx, "error", error)?; + } + } + + let query_type = self.query_type.to_js(cx)?; + obj.set(cx, "query_type", query_type)?; + + Ok(obj) + } +} + +async fn get_sql( + session: &Session, + meta_context: Arc, + plan: Arc, +) -> Result { + let auth_context = session + .state + .auth_context() + .ok_or_else(|| CubeError::internal("Unexpected missing auth context".to_string()))?; + + match plan.as_ref() { + LogicalPlan::Extension(extension) => { + let cube_scan_wrapped_sql = extension + .node + .as_any() + .downcast_ref::(); + + if let Some(cube_scan_wrapped_sql) = cube_scan_wrapped_sql { + return Ok(Sql4SqlResponse { + result: Sql4SqlResponseResult::Ok { + sql: cube_scan_wrapped_sql.wrapped_sql.sql.clone(), + values: cube_scan_wrapped_sql.wrapped_sql.values.clone(), + }, + query_type: Sql4SqlQueryType::Pushdown, + }); + } + + if extension.node.as_any().is::() { + let cube_scan_wrapper = CubeScanWrapperNode::new( + plan, + meta_context, + auth_context, + None, + session.server.config_obj.clone(), + ); + let wrapped_sql = cube_scan_wrapper + .generate_sql( + session.server.transport.clone(), + Arc::new(session.state.get_load_request_meta("sql")), + ) + .await?; + + return Ok(Sql4SqlResponse { + result: Sql4SqlResponseResult::Ok { + sql: wrapped_sql.wrapped_sql.sql.clone(), + values: wrapped_sql.wrapped_sql.values.clone(), + }, + query_type: Sql4SqlQueryType::Regular, + }); + } + + Err(CubeError::internal( + "Unexpected extension in logical plan root".to_string(), + )) + } + _ => Ok(Sql4SqlResponse { + result: Sql4SqlResponseResult::Error { + error: "Provided query can not be executed without post-processing.".to_string(), + }, + query_type: Sql4SqlQueryType::PostProcessing, + }), + } +} + +async fn handle_sql4sql_query( + services: Arc, + native_auth_ctx: Arc, + sql_query: &str, +) -> Result { + with_session(&services, native_auth_ctx.clone(), |session| async move { + let transport = session.server.transport.clone(); + // todo: can we use compiler_cache? + let meta_context = transport + .meta(native_auth_ctx) + .await + .map_err(|err| CubeError::internal(format!("Failed to get meta context: {err}")))?; + let query_plan = + convert_sql_to_cube_query(sql_query, meta_context.clone(), session.clone()).await?; + let logical_plan = query_plan.try_as_logical_plan()?; + get_sql(&session, meta_context, Arc::new(logical_plan.clone())).await + }) + .await +} + +pub fn sql4sql(mut cx: FunctionContext) -> JsResult { + let interface = cx.argument::>(0)?; + let sql_query = cx.argument::(1)?.value(&mut cx); + + let security_context: Option = match cx.argument::(2) { + Ok(string) => match string.downcast::(&mut cx) { + Ok(v) => v.value(&mut cx).parse::().ok(), + Err(_) => None, + }, + Err(_) => None, + }; + + let services = interface.services.clone(); + let runtime = tokio_runtime_node(&mut cx)?; + + let channel = cx.channel(); + + let native_auth_ctx = Arc::new(NativeAuthContext { + user: Some(String::from("unknown")), + superuser: false, + security_context, + }); + + let (deferred, promise) = cx.promise(); + + // In case spawned task panics or gets aborted before settle call it will leave permanently pending Promise in JS land + // We don't want to just waste whole thread (doesn't really matter main or worker or libuv thread pool) + // just busy waiting that JoinHandle + // TODO handle JoinError + // keep JoinHandle alive in JS thread + // check join handle from JS thread periodically, reject promise on JoinError + // maybe register something like uv_check handle (libuv itself does not have ABI stability of N-API) + // can do it relatively rare, and in a single loop for all JoinHandles + // this is just a watchdog for a Very Bad case, so latency requirement can be quite relaxed + runtime.spawn(async move { + let result = handle_sql4sql_query(services, native_auth_ctx, &sql_query).await; + + if let Err(err) = deferred.try_settle_with(&channel, move |mut cx| { + // `neon::result::ResultExt` is implemented only for Result, even though Ok variant is not touched + let response = result.or_else(|err| cx.throw_error(err.to_string()))?; + let response = response.to_js(&mut cx)?; + Ok(response) + }) { + // There is not much we can do at this point + // TODO lift this error to task => JoinHandle => JS watchdog + log::error!( + "Unable to settle JS promise from tokio task, try_settle_with failed, err: {err}" + ); + } + }); + + Ok(promise.upcast::()) +} diff --git a/packages/cubejs-testing/test/__snapshots__/smoke-cubesql.test.ts.snap b/packages/cubejs-testing/test/__snapshots__/smoke-cubesql.test.ts.snap index 4401d8709..6e8034d70 100644 --- a/packages/cubejs-testing/test/__snapshots__/smoke-cubesql.test.ts.snap +++ b/packages/cubejs-testing/test/__snapshots__/smoke-cubesql.test.ts.snap @@ -1,5 +1,361 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP +exports[`SQL API Cube SQL over HTTP sql4sql double aggregation post-processing 1`] = ` +Object { + "body": Object { + "sql": Object { + "error": "Provided query can not be executed without post-processing.", + "query_type": "post_processing", + "status": "error", + }, + }, + "headers": Headers { + Symbol(map): Object { + "access-control-allow-origin": Array [ + "*", + ], + "connection": Array [ + "keep-alive", + ], + "content-length": Array [ + "127", + ], + "content-type": Array [ + "application/json; charset=utf-8", + ], + "keep-alive": Array [ + "timeout=5", + ], + "x-powered-by": Array [ + "Express", + ], + }, + }, + "status": 200, + "statusText": "OK", +} +`; + +exports[`SQL API Cube SQL over HTTP sql4sql regular query 1`] = ` +Object { + "body": Object { + "sql": Object { + "query_type": "regular", + "sql": Array [ + "SELECT + sum(\\"orders\\".amount) \\"total\\" + FROM + ( + select 1 as id, 100 as amount, 'new' status, '2024-01-01'::timestamptz created_at + UNION ALL + select 2 as id, 200 as amount, 'new' status, '2024-01-02'::timestamptz created_at + UNION ALL + select 3 as id, 300 as amount, 'processed' status, '2024-01-03'::timestamptz created_at + UNION ALL + select 4 as id, 500 as amount, 'processed' status, '2024-01-04'::timestamptz created_at + UNION ALL + select 5 as id, 600 as amount, 'shipped' status, '2024-01-05'::timestamptz created_at + ) AS \\"orders\\" ", + Array [], + ], + "status": "ok", + }, + }, + "headers": Headers { + Symbol(map): Object { + "access-control-allow-origin": Array [ + "*", + ], + "connection": Array [ + "keep-alive", + ], + "content-length": Array [ + "638", + ], + "content-type": Array [ + "application/json; charset=utf-8", + ], + "keep-alive": Array [ + "timeout=5", + ], + "x-powered-by": Array [ + "Express", + ], + }, + }, + "status": 200, + "statusText": "OK", +} +`; + +exports[`SQL API Cube SQL over HTTP sql4sql regular query with missing column 1`] = ` +Object { + "body": Object { + "error": "Error: SQLCompilationError: Internal: Initial planning error: Error during planning: Invalid identifier '#foobar' for schema fields:[Orders.count, Orders.orderCount, Orders.netCollectionCompleted, Orders.arpu, Orders.refundRate, Orders.refundOrdersCount, Orders.overallOrders, Orders.totalAmount, Orders.toRemove, Orders.numberTotal, Orders.amountRank, Orders.amountReducedByStatus, Orders.statusPercentageOfTotal, Orders.amountRankView, Orders.amountRankDateMax, Orders.amountRankDate, Orders.countAndTotalAmount, Orders.createdAtMax, Orders.createdAtMaxProxy, Orders.id, Orders.status, Orders.createdAt, Orders.__user, Orders.__cubeJoinField], metadata:{}", + "stack": "Error: SQLCompilationError: Internal: Initial planning error: Error during planning: Invalid identifier '#foobar' for schema fields:[Orders.count, Orders.orderCount, Orders.netCollectionCompleted, Orders.arpu, Orders.refundRate, Orders.refundOrdersCount, Orders.overallOrders, Orders.totalAmount, Orders.toRemove, Orders.numberTotal, Orders.amountRank, Orders.amountReducedByStatus, Orders.statusPercentageOfTotal, Orders.amountRankView, Orders.amountRankDateMax, Orders.amountRankDate, Orders.countAndTotalAmount, Orders.createdAtMax, Orders.createdAtMaxProxy, Orders.id, Orders.status, Orders.createdAt, Orders.__user, Orders.__cubeJoinField], metadata:{}", + }, + "headers": Headers { + Symbol(map): Object { + "access-control-allow-origin": Array [ + "*", + ], + "connection": Array [ + "keep-alive", + ], + "content-length": Array [ + "1395", + ], + "content-type": Array [ + "application/json; charset=utf-8", + ], + "keep-alive": Array [ + "timeout=5", + ], + "x-powered-by": Array [ + "Express", + ], + }, + }, + "status": 500, + "statusText": "Internal Server Error", +} +`; + +exports[`SQL API Cube SQL over HTTP sql4sql regular query with parameters 1`] = ` +Object { + "body": Object { + "sql": Object { + "query_type": "regular", + "sql": Array [ + "SELECT + sum(\\"orders\\".amount) \\"total\\" + FROM + ( + select 1 as id, 100 as amount, 'new' status, '2024-01-01'::timestamptz created_at + UNION ALL + select 2 as id, 200 as amount, 'new' status, '2024-01-02'::timestamptz created_at + UNION ALL + select 3 as id, 300 as amount, 'processed' status, '2024-01-03'::timestamptz created_at + UNION ALL + select 4 as id, 500 as amount, 'processed' status, '2024-01-04'::timestamptz created_at + UNION ALL + select 5 as id, 600 as amount, 'shipped' status, '2024-01-05'::timestamptz created_at + ) AS \\"orders\\" WHERE (\\"orders\\".status = $1)", + Array [ + "foo", + ], + ], + "status": "ok", + }, + }, + "headers": Headers { + Symbol(map): Object { + "access-control-allow-origin": Array [ + "*", + ], + "connection": Array [ + "keep-alive", + ], + "content-length": Array [ + "674", + ], + "content-type": Array [ + "application/json; charset=utf-8", + ], + "keep-alive": Array [ + "timeout=5", + ], + "x-powered-by": Array [ + "Express", + ], + }, + }, + "status": 200, + "statusText": "OK", +} +`; + +exports[`SQL API Cube SQL over HTTP sql4sql set variable 1`] = ` +Object { + "body": Object { + "error": "Error: This query doesnt have a plan, because it already has values for response", + "stack": "Error: This query doesnt have a plan, because it already has values for response", + }, + "headers": Headers { + Symbol(map): Object { + "access-control-allow-origin": Array [ + "*", + ], + "connection": Array [ + "keep-alive", + ], + "content-length": Array [ + "241", + ], + "content-type": Array [ + "application/json; charset=utf-8", + ], + "keep-alive": Array [ + "timeout=5", + ], + "x-powered-by": Array [ + "Express", + ], + }, + }, + "status": 500, + "statusText": "Internal Server Error", +} +`; + +exports[`SQL API Cube SQL over HTTP sql4sql strictly post-processing 1`] = ` +Object { + "body": Object { + "sql": Object { + "error": "Provided query can not be executed without post-processing.", + "query_type": "post_processing", + "status": "error", + }, + }, + "headers": Headers { + Symbol(map): Object { + "access-control-allow-origin": Array [ + "*", + ], + "connection": Array [ + "keep-alive", + ], + "content-length": Array [ + "127", + ], + "content-type": Array [ + "application/json; charset=utf-8", + ], + "keep-alive": Array [ + "timeout=5", + ], + "x-powered-by": Array [ + "Express", + ], + }, + }, + "status": 200, + "statusText": "OK", +} +`; + +exports[`SQL API Cube SQL over HTTP sql4sql wrapper 1`] = ` +Object { + "body": Object { + "sql": Object { + "query_type": "pushdown", + "sql": Array [ + "SELECT \\"Orders\\".\\"sum_orders_total\\" \\"total\\" +FROM ( + SELECT + sum(\\"orders\\".amount) \\"sum_orders_total\\" + FROM + ( + select 1 as id, 100 as amount, 'new' status, '2024-01-01'::timestamptz created_at + UNION ALL + select 2 as id, 200 as amount, 'new' status, '2024-01-02'::timestamptz created_at + UNION ALL + select 3 as id, 300 as amount, 'processed' status, '2024-01-03'::timestamptz created_at + UNION ALL + select 4 as id, 500 as amount, 'processed' status, '2024-01-04'::timestamptz created_at + UNION ALL + select 5 as id, 600 as amount, 'shipped' status, '2024-01-05'::timestamptz created_at + ) AS \\"orders\\" WHERE ((LOWER(\\"orders\\".status) = UPPER(\\"orders\\".status))) +) AS \\"Orders\\"", + Array [], + ], + "status": "ok", + }, + }, + "headers": Headers { + Symbol(map): Object { + "access-control-allow-origin": Array [ + "*", + ], + "connection": Array [ + "keep-alive", + ], + "content-length": Array [ + "816", + ], + "content-type": Array [ + "application/json; charset=utf-8", + ], + "keep-alive": Array [ + "timeout=5", + ], + "x-powered-by": Array [ + "Express", + ], + }, + }, + "status": 200, + "statusText": "OK", +} +`; + +exports[`SQL API Cube SQL over HTTP sql4sql wrapper with parameters 1`] = ` +Object { + "body": Object { + "sql": Object { + "query_type": "pushdown", + "sql": Array [ + "SELECT \\"Orders\\".\\"sum_orders_total\\" \\"total\\" +FROM ( + SELECT + sum(\\"orders\\".amount) \\"sum_orders_total\\" + FROM + ( + select 1 as id, 100 as amount, 'new' status, '2024-01-01'::timestamptz created_at + UNION ALL + select 2 as id, 200 as amount, 'new' status, '2024-01-02'::timestamptz created_at + UNION ALL + select 3 as id, 300 as amount, 'processed' status, '2024-01-03'::timestamptz created_at + UNION ALL + select 4 as id, 500 as amount, 'processed' status, '2024-01-04'::timestamptz created_at + UNION ALL + select 5 as id, 600 as amount, 'shipped' status, '2024-01-05'::timestamptz created_at + ) AS \\"orders\\" WHERE ((LOWER(\\"orders\\".status) = $1)) +) AS \\"Orders\\"", + Array [ + "foo", + ], + ], + "status": "ok", + }, + }, + "headers": Headers { + Symbol(map): Object { + "access-control-allow-origin": Array [ + "*", + ], + "connection": Array [ + "keep-alive", + ], + "content-length": Array [ + "799", + ], + "content-type": Array [ + "application/json; charset=utf-8", + ], + "keep-alive": Array [ + "timeout=5", + ], + "x-powered-by": Array [ + "Express", + ], + }, + }, + "status": 200, + "statusText": "OK", +} +`; + exports[`SQL API Postgres (Data) SELECT COUNT(*) as cn, "status" FROM Orders GROUP BY 2 ORDER BY cn DESC: sql_orders 1`] = ` Array [ Object { diff --git a/packages/cubejs-testing/test/smoke-cubesql.test.ts b/packages/cubejs-testing/test/smoke-cubesql.test.ts index 7a780766b..53052bdf3 100644 --- a/packages/cubejs-testing/test/smoke-cubesql.test.ts +++ b/packages/cubejs-testing/test/smoke-cubesql.test.ts @@ -147,6 +147,89 @@ describe('SQL API', () => { expect(rows).toBe(ROWS_LIMIT); }); + + describe('sql4sql', () => { + async function generateSql(query: string) { + const response = await fetch(`${birdbox.configuration.apiUrl}/sql`, { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + Authorization: token, + }, + body: JSON.stringify({ + query, + format: 'sql', + }), + }); + const { status, statusText, headers } = response; + const body = await response.json(); + + // To stabilize responses + delete body.requestId; + headers.delete('date'); + headers.delete('etag'); + + return { + status, + statusText, + headers, + body, + }; + } + + it('regular query', async () => { + expect(await generateSql(`SELECT SUM(totalAmount) AS total FROM Orders;`)).toMatchSnapshot(); + }); + + it('regular query with missing column', async () => { + expect(await generateSql(`SELECT SUM(foobar) AS total FROM Orders;`)).toMatchSnapshot(); + }); + + it('regular query with parameters', async () => { + expect(await generateSql(`SELECT SUM(totalAmount) AS total FROM Orders WHERE status = 'foo';`)).toMatchSnapshot(); + }); + + it('strictly post-processing', async () => { + expect(await generateSql(`SELECT version();`)).toMatchSnapshot(); + }); + + it('double aggregation post-processing', async () => { + expect(await generateSql(` + SELECT AVG(total) + FROM ( + SELECT + status, + SUM(totalAmount) AS total + FROM Orders + GROUP BY 1 + ) t + `)).toMatchSnapshot(); + }); + + it('wrapper', async () => { + expect(await generateSql(` + SELECT + SUM(totalAmount) AS total + FROM Orders + WHERE LOWER(status) = UPPER(status) + `)).toMatchSnapshot(); + }); + + it('wrapper with parameters', async () => { + expect(await generateSql(` + SELECT + SUM(totalAmount) AS total + FROM Orders + WHERE LOWER(status) = 'foo' + `)).toMatchSnapshot(); + }); + + it('set variable', async () => { + expect(await generateSql(` + SET MyVariable = 'Foo' + `)).toMatchSnapshot(); + }); + }); }); describe('Postgres (Auth)', () => { diff --git a/rust/cubesql/cubesql/src/compile/parser.rs b/rust/cubesql/cubesql/src/compile/parser.rs index d22f35cf8..4177e7f66 100644 --- a/rust/cubesql/cubesql/src/compile/parser.rs +++ b/rust/cubesql/cubesql/src/compile/parser.rs @@ -41,16 +41,16 @@ static SIGMA_WORKAROUND: LazyLock = LazyLock::new(|| { }); pub fn parse_sql_to_statements( - query: &String, + query: &str, protocol: DatabaseProtocol, qtrace: &mut Option, ) -> CompilationResult> { - let original_query = query.clone(); + let original_query = query; log::debug!("Parsing SQL: {}", query); // @todo Support without workarounds // metabase - let query = query.clone().replace("IF(TABLE_TYPE='BASE TABLE' or TABLE_TYPE='SYSTEM VERSIONED', 'TABLE', TABLE_TYPE) as TABLE_TYPE", "TABLE_TYPE"); + let query = query.replace("IF(TABLE_TYPE='BASE TABLE' or TABLE_TYPE='SYSTEM VERSIONED', 'TABLE', TABLE_TYPE) as TABLE_TYPE", "TABLE_TYPE"); let query = query.replace("ORDER BY TABLE_TYPE, TABLE_SCHEMA, TABLE_NAME", ""); // @todo Implement CONVERT function let query = query.replace("CONVERT (CASE DATA_TYPE WHEN 'year' THEN NUMERIC_SCALE WHEN 'tinyint' THEN 0 ELSE NUMERIC_SCALE END, UNSIGNED INTEGER)", "0"); @@ -247,13 +247,14 @@ pub fn parse_sql_to_statements( }; parse_result.map_err(|err| { - CompilationError::user(format!("Unable to parse: {:?}", err)) - .with_meta(Some(HashMap::from([("query".to_string(), original_query)]))) + CompilationError::user(format!("Unable to parse: {:?}", err)).with_meta(Some( + HashMap::from([("query".to_string(), original_query.to_string())]), + )) }) } pub fn parse_sql_to_statement( - query: &String, + query: &str, protocol: DatabaseProtocol, qtrace: &mut Option, ) -> CompilationResult { @@ -274,7 +275,10 @@ pub fn parse_sql_to_statement( )) }; - Err(err.with_meta(Some(HashMap::from([("query".to_string(), query.clone())])))) + Err(err.with_meta(Some(HashMap::from([( + "query".to_string(), + query.to_string(), + )])))) } } } diff --git a/rust/cubesql/cubesql/src/compile/plan.rs b/rust/cubesql/cubesql/src/compile/plan.rs index 6b5926167..c9bc39d9f 100644 --- a/rust/cubesql/cubesql/src/compile/plan.rs +++ b/rust/cubesql/cubesql/src/compile/plan.rs @@ -78,17 +78,22 @@ impl fmt::Debug for QueryPlan { } impl QueryPlan { - pub fn as_logical_plan(&self) -> LogicalPlan { + pub fn try_as_logical_plan(&self) -> Result<&LogicalPlan, CubeError> { match self { QueryPlan::DataFusionSelect(plan, _) | QueryPlan::CreateTempTable(plan, _, _, _) => { - plan.clone() - } - QueryPlan::MetaOk(_, _) | QueryPlan::MetaTabular(_, _) => { - panic!("This query doesnt have a plan, because it already has values for response") + Ok(plan) } + QueryPlan::MetaOk(_, _) | QueryPlan::MetaTabular(_, _) => Err(CubeError::internal( + "This query doesnt have a plan, because it already has values for response" + .to_string(), + )), } } + pub fn as_logical_plan(&self) -> LogicalPlan { + self.try_as_logical_plan().cloned().unwrap() + } + pub async fn as_physical_plan(&self) -> Result, CubeError> { match self { QueryPlan::DataFusionSelect(plan, ctx) diff --git a/rust/cubesql/cubesql/src/compile/router.rs b/rust/cubesql/cubesql/src/compile/router.rs index b4d933a1f..5aba3b844 100644 --- a/rust/cubesql/cubesql/src/compile/router.rs +++ b/rust/cubesql/cubesql/src/compile/router.rs @@ -637,7 +637,7 @@ pub async fn convert_statement_to_cube_query( } pub async fn convert_sql_to_cube_query( - query: &String, + query: &str, meta: Arc, session: Arc, ) -> CompilationResult { diff --git a/rust/cubesql/cubesql/src/sql/postgres/shim.rs b/rust/cubesql/cubesql/src/sql/postgres/shim.rs index 35de490d4..88aa84373 100644 --- a/rust/cubesql/cubesql/src/sql/postgres/shim.rs +++ b/rust/cubesql/cubesql/src/sql/postgres/shim.rs @@ -1792,8 +1792,7 @@ impl AsyncPostgresShim { let cache_entry = self.get_cache_entry().await?; let meta = self.session.server.compiler_cache.meta(cache_entry).await?; - let statements = - parse_sql_to_statements(&query.to_string(), DatabaseProtocol::PostgreSQL, qtrace)?; + let statements = parse_sql_to_statements(query, DatabaseProtocol::PostgreSQL, qtrace)?; if statements.len() == 0 { self.write(protocol::EmptyQuery::new()).await?; From 3d4ead559f4d19d00e466a92571a0936d3f9ce9a Mon Sep 17 00:00:00 2001 From: Igor Lukanin Date: Sun, 9 Mar 2025 12:25:36 +0100 Subject: [PATCH 36/49] docs: Add a recipe for 4-5-4 fiscal calendar --- docs/pages/guides/recipes.mdx | 1 + .../guides/recipes/data-modeling/_meta.js | 1 + .../recipes/data-modeling/custom-calendar.mdx | 221 ++++++++++++++++++ .../data-modeling/custom-granularity.mdx | 2 +- 4 files changed, 224 insertions(+), 1 deletion(-) create mode 100644 docs/pages/guides/recipes/data-modeling/custom-calendar.mdx diff --git a/docs/pages/guides/recipes.mdx b/docs/pages/guides/recipes.mdx index 9eeb98582..db0c8b92d 100644 --- a/docs/pages/guides/recipes.mdx +++ b/docs/pages/guides/recipes.mdx @@ -34,6 +34,7 @@ These recipes will show you the best practices of using Cube. - [Calculating filtered aggregates](/guides/recipes/data-modeling/filtered-aggregates) - [Calculating period-over-period changes](/guides/recipes/data-modeling/period-over-period) - [Implementing custom time dimension granularities](/guides/recipes/data-modeling/custom-granularity) +- [Implementing custom calendars](/guides/recipes/data-modeling/custom-calendar) - [Implementing Entity-Attribute-Value model](/guides/recipes/data-modeling/entity-attribute-value) - [Implementing data snapshots](/guides/recipes/data-modeling/snapshots) - [Using different data models for tenants](/guides/recipes/access-control/using-different-schemas-for-tenants) diff --git a/docs/pages/guides/recipes/data-modeling/_meta.js b/docs/pages/guides/recipes/data-modeling/_meta.js index 75766f495..b28c8a20a 100644 --- a/docs/pages/guides/recipes/data-modeling/_meta.js +++ b/docs/pages/guides/recipes/data-modeling/_meta.js @@ -4,6 +4,7 @@ module.exports = { "filtered-aggregates": "Calculating filtered aggregates", "period-over-period": "Calculating period-over-period changes", "custom-granularity": "Implementing custom time dimension granularities", + "custom-calendar": "Implementing custom calendars", "snapshots": "Implementing data snapshots", "entity-attribute-value": "Implementing Entity-Attribute-Value Model (EAV)", "passing-dynamic-parameters-in-a-query": "Passing dynamic parameters in a query", diff --git a/docs/pages/guides/recipes/data-modeling/custom-calendar.mdx b/docs/pages/guides/recipes/data-modeling/custom-calendar.mdx new file mode 100644 index 000000000..9f66bb075 --- /dev/null +++ b/docs/pages/guides/recipes/data-modeling/custom-calendar.mdx @@ -0,0 +1,221 @@ +# Implementing custom calendars + +This recipe explains the implementation of the [4-5-4 calendar][link-454], a common +retail calendar used in the US and Canada. However, the same approach can be used +to implement other custom calendars. + +Unlike [custom time dimension granularities][ref-custom-granularities], custom +calendars provide more flexibility and can be used when time units have variable +lengths, such as the months and quarters in the 4-5-4 calendar. See the [custom +granularities recipe][ref-custom-granularities-recipe] for more information. + +## Use case + +The 4-5-4 calendar ensures sales comparability between years by dividing the year +into months based on a 4 weeks – 5 weeks – 4 weeks format. The layout of the calendar +lines up holidays and ensures the same number of Saturdays and Sundays in comparable +months. Hence, like days are compared to like days for sales reporting purposes. + +## Data modeling + +The data modeling includes the following steps: + +* Create a calendar cube, e.g., `calendar_454`. +* Extend it a number of times, so there's one calendar cube for every time dimension +in cubes with facts that needs translation to a custom calendar. +* Define joins from your cubes with facts to those calendar cubes, e.g., `base_orders`, +and bring relevant calendar attributes as [proxy dimensions][ref-proxy-dimensions]. + +The last two steps require a few lines of code but it can totally be optimized with +a [Jinja macro][ref-jinja-macro] if needed. + +### Calendar table + +Consider the following calendar cube. It was generated using a large language model +(LLM) and then tested against the [official calendar][link-454-official-calendar]. +In this example, it's generated on the fly, however, in production, it should be +materialized as a table using a data transformation tool: + +```yaml +cubes: + - name: calendar_454 + public: false + sql: > + WITH RECURSIVE fiscal_weeks AS ( + -- Step 1: Define the start of the fiscal years (Sunday closest to Feb 1st) + SELECT + year AS fiscal_year, + CASE + WHEN strftime('%w', date_trunc('week', make_date(year, 2, 1)))::INTEGER <= 3 + THEN date_trunc('week', make_date(year, 2, 1)) + INTERVAL 6 DAY + ELSE date_trunc('week', make_date(year, 2, 1) + INTERVAL 7 DAY) + INTERVAL 7 DAY + END AS week_start, + 1 AS week_number, + 1 AS month_number, + 1 AS month_week_count + FROM range(2015, 2031) t(year) + + UNION ALL + + -- Step 2: Generate weeks recursively following the 4-5-4 pattern + SELECT + fiscal_year, + week_start + INTERVAL 7 DAY AS week_start, + week_number + 1, + CASE + WHEN month_number = 12 AND ((month_week_count = 4 AND month_number % 3 = 1) OR + (month_week_count = 5 AND month_number % 3 = 2) OR + (month_week_count = 4 AND month_number % 3 = 0)) + THEN 1 + WHEN month_week_count = 4 AND (month_number % 3 = 1) THEN month_number + 1 + WHEN month_week_count = 5 AND (month_number % 3 = 2) THEN month_number + 1 + WHEN month_week_count = 4 AND (month_number % 3 = 0) THEN month_number + 1 + ELSE month_number + END AS month_number, + CASE + WHEN month_week_count = 4 AND (month_number % 3 = 1) THEN 1 + WHEN month_week_count = 5 AND (month_number % 3 = 2) THEN 1 + WHEN month_week_count = 4 AND (month_number % 3 = 0) THEN 1 + ELSE month_week_count + 1 + END AS month_week_count + FROM fiscal_weeks + WHERE week_number < 52 OR (week_number = 52 AND (fiscal_year % 5 = 2)) -- Account for 53rd week + ) + + SELECT + fiscal_year, + week_number, + month_number, + make_timestamp(fiscal_year, month_number, 1, 0, 0, 0) AS fiscal_month_date, + week_start AS week_start_date, + make_timestamp(year(week_start + INTERVAL 6 DAY), + month(week_start + INTERVAL 6 DAY), + day(week_start + INTERVAL 6 DAY), + 23, 59, 59.999) AS week_end_date + FROM fiscal_weeks + ORDER BY fiscal_year, week_number + + dimensions: + - name: retail_year + sql: fiscal_year + type: number + + - name: week_number + sql: week_number + type: number + + - name: month_number + sql: month_number + type: number + + - name: retail_month_date + sql: fiscal_month_date + type: time + + - name: week_start_date + sql: week_start_date + type: time + + - name: week_end_date + sql: week_end_date + type: time +``` + +As you can see, this cube defines `week_start_date` and `week_end_date` time dimensions +as the start and end dates of the retail week. They can be used to join this cube to +cubes with facts. + +### Auxiliary calendar cubes + +We will also extend the `calendar_454` cube to create auxiliary calendar cubes for +three time dimensions that we'd like to translate to the 4-5-4 calendar: + +```yaml +cubes: + - name: calendar_454__base_orders__created_at + extends: calendar_454 + + - name: calendar_454__base_orders__completed_at + extends: calendar_454 +``` + +### Cubes with facts + +Finally, we define joins from the `base_orders` cube to the auxiliary calendar cubes. +We also bring the `week_number` and `month_number` attributes as proxy dimensions: + +```yaml +cubes: + - name: base_orders + sql: SELECT * FROM 's3://cube-tutorial/orders.csv' + + joins: + # BEGIN — Joins to calendar tables + - name: calendar_454__base_orders__created_at + sql: "{CUBE.created_at} BETWEEN {calendar_454__base_orders__created_at.week_start_date} AND {calendar_454__base_orders__created_at.week_end_date}" + relationship: many_to_one + + - name: calendar_454__base_orders__completed_at + sql: "{CUBE.completed_at} BETWEEN {calendar_454__base_orders__completed_at.week_start_date} AND {calendar_454__base_orders__completed_at.week_end_date}" + relationship: many_to_one + # END — Joins to calendar tables + + dimensions: + - name: id + sql: id + type: number + primary_key: true + + - name: status + sql: status + type: string + + # BEGIN — Regular time dimension + ones derived from calendar table + - name: created_at + sql: "{CUBE}.created_at::TIMESTAMP" + type: time + + - name: created_at_retail_month + sql: "{calendar_454__base_orders__created_at.retail_month_date}" + type: time + + - name: created_at_retail_week + sql: "{calendar_454__base_orders__created_at.week_number}" + type: number + + - name: completed_at + sql: "{CUBE}.completed_at::TIMESTAMP" + type: time + + - name: completed_at_retail_month + sql: "{calendar_454__base_orders__completed_at.retail_month_date}" + type: time + + - name: completed_at_retail_week + sql: "{calendar_454__base_orders__completed_at.week_number}" + type: number + # END — Regular time dimension + ones derived from calendar table + + measures: + - name: count + type: count + + - name: completed_count + type: count + filters: + - sql: "{CUBE}.status = 'completed'" +``` + +## Result + +Querying this data modal would yield the following result: + + + + +[link-454]: https://nrf.com/resources/4-5-4-calendar +[link-454-official-calendar]: https://2fb5c46100c1b71985e2-011e70369171d43105aff38e48482379.ssl.cf1.rackcdn.com/4-5-4%20calendar/3-Year-Calendar-5-27.pdf +[ref-custom-granularities]: /reference/data-model/dimensions#granularities +[ref-custom-granularities-recipe]: /guides/recipes/data-modeling/custom-granularity +[ref-proxy-dimensions]: /product/data-modeling/concepts/calculated-members#proxy-dimensions +[ref-jinja-macro]: /product/data-modeling/dynamic/jinja#macros \ No newline at end of file diff --git a/docs/pages/guides/recipes/data-modeling/custom-granularity.mdx b/docs/pages/guides/recipes/data-modeling/custom-granularity.mdx index 6c9fb8c0e..b17ac2c0c 100644 --- a/docs/pages/guides/recipes/data-modeling/custom-granularity.mdx +++ b/docs/pages/guides/recipes/data-modeling/custom-granularity.mdx @@ -1,6 +1,6 @@ # Implementing custom time dimension granularities -This recipe show examples of commonly used [custom +This recipe shows examples of commonly used [custom granularities][ref-custom-granularities]. ## Use case From b632bc04d81fea0a03c2e00aea7d6b1aa18bdcba Mon Sep 17 00:00:00 2001 From: Igor Lukanin Date: Sun, 9 Mar 2025 14:39:01 +0100 Subject: [PATCH 37/49] docs: Add CUBEJS_DAX_CREATE_DATE_HIERARCHIES env var --- docs/pages/product/apis-integrations/dax-api.mdx | 13 ++++++------- .../configuration/environment-variables.mdx | 8 ++++++++ 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/docs/pages/product/apis-integrations/dax-api.mdx b/docs/pages/product/apis-integrations/dax-api.mdx index c3178697f..c4709ae26 100644 --- a/docs/pages/product/apis-integrations/dax-api.mdx +++ b/docs/pages/product/apis-integrations/dax-api.mdx @@ -43,6 +43,10 @@ To enable or disable the DAX API on a specific deployment, go to SettingsConfiguration, and then toggle the Enable DAX API option. +By default, the DAX API exposes all [time dimensions][ref-time-dimensions] as calendar +hierarchies. You can set the `CUBEJS_DAX_CREATE_DATE_HIERARCHIES` environment +variable to `false` to disable this behavior. + ## Authentication The DAX API supports the user name and password authentication method. @@ -55,12 +59,6 @@ The DAX API works only with [views][ref-views], not cubes. -{/* - -TODO - -*/} - ### Connection methods Power BI provides [three methods][link-powerbi-connection] to connect to data @@ -84,4 +82,5 @@ it removes the benefits of using a semantic layer. [ref-sql-api]: /product/apis-integrations/sql-api [ref-ref-dax-api]: /product/apis-integrations/dax-api/reference [ref-views]: /product/data-modeling/concepts#views -[link-powerbi-connection]: https://learn.microsoft.com/en-us/power-bi/connect-data/service-live-connect-dq-datasets \ No newline at end of file +[link-powerbi-connection]: https://learn.microsoft.com/en-us/power-bi/connect-data/service-live-connect-dq-datasets +[ref-time-dimensions]: /product/data-modeling/concepts#time-dimensions \ No newline at end of file diff --git a/docs/pages/reference/configuration/environment-variables.mdx b/docs/pages/reference/configuration/environment-variables.mdx index 114ee641c..5f9047f7b 100644 --- a/docs/pages/reference/configuration/environment-variables.mdx +++ b/docs/pages/reference/configuration/environment-variables.mdx @@ -1210,6 +1210,14 @@ Number of seconds before session's SQL API security context will be invalidated. | --------------- | ---------------------- | --------------------- | | A valid integer number | `300` | `300` | +## `CUBEJS_DAX_CREATE_DATE_HIERARCHIES` + +If `true`, the DAX API will expose time dimensions as calendar hierarchies. + +| Possible Values | Default in Development | Default in Production | +| --------------- | ---------------------- | --------------------- | +| `true`, `false` | `true` | `true` | + ## `CUBEJS_TELEMETRY` If `true`, then send telemetry to Cube. From a824a17a670daf2bdffa1ade4c12c2e01f79ef5e Mon Sep 17 00:00:00 2001 From: Brandon Freeman <137093947+BrandonFreeman-Cavallo@users.noreply.github.com> Date: Mon, 10 Mar 2025 05:18:56 -0400 Subject: [PATCH 38/49] fix: Allow config http protocol to be passed to clickhouse driver. (#9195) Co-authored-by: Konstantin Burkalev --- packages/cubejs-clickhouse-driver/src/ClickHouseDriver.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/cubejs-clickhouse-driver/src/ClickHouseDriver.ts b/packages/cubejs-clickhouse-driver/src/ClickHouseDriver.ts index 19a2f037c..48c029e45 100644 --- a/packages/cubejs-clickhouse-driver/src/ClickHouseDriver.ts +++ b/packages/cubejs-clickhouse-driver/src/ClickHouseDriver.ts @@ -142,7 +142,7 @@ export class ClickHouseDriver extends BaseDriver implements DriverInterface { const dataSource = config.dataSource ?? assertDataSource('default'); const host = config.host ?? getEnv('dbHost', { dataSource }); const port = config.port ?? getEnv('dbPort', { dataSource }) ?? 8123; - const protocol = config.protocol ?? getEnv('dbSsl', { dataSource }) ? 'https:' : 'http:'; + const protocol = config.protocol ?? (getEnv('dbSsl', { dataSource }) ? 'https:' : 'http:'); const url = `${protocol}//${host}:${port}`; const username = config.username ?? getEnv('dbUser', { dataSource }); From add50cebbc824478debf553bf6d3fb403f823d26 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 10 Mar 2025 11:05:48 +0100 Subject: [PATCH 39/49] chore(native): Bump ring from 0.17.7 to 0.17.13 (#9316) Bumps [ring](https://github.com/briansmith/ring) from 0.17.7 to 0.17.13. - [Changelog](https://github.com/briansmith/ring/blob/main/RELEASES.md) - [Commits](https://github.com/briansmith/ring/commits) --- updated-dependencies: - dependency-name: ring dependency-type: indirect ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- packages/cubejs-backend-native/Cargo.lock | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/packages/cubejs-backend-native/Cargo.lock b/packages/cubejs-backend-native/Cargo.lock index 3aef173e1..a1f071b50 100644 --- a/packages/cubejs-backend-native/Cargo.lock +++ b/packages/cubejs-backend-native/Cargo.lock @@ -2855,16 +2855,16 @@ dependencies = [ [[package]] name = "ring" -version = "0.17.7" +version = "0.17.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "688c63d65483050968b2a8937f7995f443e27041a0f7700aa59b0822aedebb74" +checksum = "70ac5d832aa16abd7d1def883a8545280c20a60f523a370aa3a9617c2b8550ee" dependencies = [ "cc", + "cfg-if", "getrandom 0.2.11", "libc", - "spin", "untrusted", - "windows-sys 0.48.0", + "windows-sys 0.52.0", ] [[package]] @@ -3201,12 +3201,6 @@ dependencies = [ "windows-sys 0.48.0", ] -[[package]] -name = "spin" -version = "0.9.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" - [[package]] name = "sqlparser" version = "0.16.0" From 7b08efcbf3a75d98d444394ab36389bca7b88795 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 10 Mar 2025 11:48:55 +0100 Subject: [PATCH 40/49] chore(tesseract): Bump ring from 0.17.8 to 0.17.13 (#9321) Bumps [ring](https://github.com/briansmith/ring) from 0.17.8 to 0.17.13. - [Changelog](https://github.com/briansmith/ring/blob/main/RELEASES.md) - [Commits](https://github.com/briansmith/ring/commits) --- updated-dependencies: - dependency-name: ring dependency-type: indirect ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- rust/cubesqlplanner/Cargo.lock | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/rust/cubesqlplanner/Cargo.lock b/rust/cubesqlplanner/Cargo.lock index f5b32cd1e..568be0df8 100644 --- a/rust/cubesqlplanner/Cargo.lock +++ b/rust/cubesqlplanner/Cargo.lock @@ -413,13 +413,13 @@ checksum = "514de17de45fdb8dc022b1a7975556c53c86f9f0aa5f534b98977b171857c2c9" [[package]] name = "cc" -version = "1.0.106" +version = "1.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "066fce287b1d4eafef758e89e09d724a24808a9196fe9756b8ca90e86d0719a2" +checksum = "be714c154be609ec7f5dad223a33bf1482fff90472de28f7362806e6d4832b8c" dependencies = [ "jobserver", "libc", - "once_cell", + "shlex", ] [[package]] @@ -1569,7 +1569,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e310b3a6b5907f99202fcdb4960ff45b93735d7c7d96b760fcff8db2dc0e103d" dependencies = [ "cfg-if", - "windows-targets 0.52.6", + "windows-targets 0.48.5", ] [[package]] @@ -2389,15 +2389,14 @@ dependencies = [ [[package]] name = "ring" -version = "0.17.8" +version = "0.17.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d" +checksum = "70ac5d832aa16abd7d1def883a8545280c20a60f523a370aa3a9617c2b8550ee" dependencies = [ "cc", "cfg-if", "getrandom", "libc", - "spin", "untrusted", "windows-sys 0.52.0", ] @@ -2633,6 +2632,12 @@ dependencies = [ "digest", ] +[[package]] +name = "shlex" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" + [[package]] name = "signal-hook-registry" version = "1.4.2" @@ -2698,12 +2703,6 @@ dependencies = [ "windows-sys 0.52.0", ] -[[package]] -name = "spin" -version = "0.9.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" - [[package]] name = "sqlparser" version = "0.16.0" From efc6b89db7ff38e8a61cf5f4e4a8651fccc6b705 Mon Sep 17 00:00:00 2001 From: Mikhail Cheshkov Date: Mon, 10 Mar 2025 12:54:57 +0200 Subject: [PATCH 41/49] v1.2.20 --- CHANGELOG.md | 10 ++++ lerna.json | 2 +- packages/cubejs-api-gateway/CHANGELOG.md | 6 ++ packages/cubejs-api-gateway/package.json | 8 +-- packages/cubejs-athena-driver/CHANGELOG.md | 4 ++ packages/cubejs-athena-driver/package.json | 10 ++-- packages/cubejs-backend-cloud/CHANGELOG.md | 4 ++ packages/cubejs-backend-cloud/package.json | 6 +- packages/cubejs-backend-maven/CHANGELOG.md | 4 ++ packages/cubejs-backend-maven/package.json | 6 +- packages/cubejs-backend-native/CHANGELOG.md | 6 ++ packages/cubejs-backend-native/package.json | 8 +-- packages/cubejs-backend-shared/CHANGELOG.md | 4 ++ packages/cubejs-backend-shared/package.json | 4 +- packages/cubejs-base-driver/CHANGELOG.md | 4 ++ packages/cubejs-base-driver/package.json | 6 +- packages/cubejs-bigquery-driver/CHANGELOG.md | 4 ++ packages/cubejs-bigquery-driver/package.json | 8 +-- packages/cubejs-cli/CHANGELOG.md | 4 ++ packages/cubejs-cli/package.json | 12 ++-- .../cubejs-clickhouse-driver/CHANGELOG.md | 6 ++ .../cubejs-clickhouse-driver/package.json | 10 ++-- packages/cubejs-client-core/CHANGELOG.md | 4 ++ packages/cubejs-client-core/package.json | 2 +- packages/cubejs-client-dx/CHANGELOG.md | 4 ++ packages/cubejs-client-dx/package.json | 2 +- packages/cubejs-client-ngx/CHANGELOG.md | 4 ++ packages/cubejs-client-ngx/package.json | 2 +- packages/cubejs-client-react/CHANGELOG.md | 4 ++ packages/cubejs-client-react/package.json | 4 +- packages/cubejs-client-vue/CHANGELOG.md | 4 ++ packages/cubejs-client-vue/package.json | 4 +- packages/cubejs-client-vue3/CHANGELOG.md | 4 ++ packages/cubejs-client-vue3/package.json | 4 +- .../cubejs-client-ws-transport/CHANGELOG.md | 4 ++ .../cubejs-client-ws-transport/package.json | 6 +- packages/cubejs-crate-driver/CHANGELOG.md | 4 ++ packages/cubejs-crate-driver/package.json | 10 ++-- packages/cubejs-cubestore-driver/CHANGELOG.md | 4 ++ packages/cubejs-cubestore-driver/package.json | 12 ++-- .../CHANGELOG.md | 4 ++ .../package.json | 12 ++-- .../cubejs-dbt-schema-extension/CHANGELOG.md | 4 ++ .../cubejs-dbt-schema-extension/package.json | 8 +-- packages/cubejs-docker/CHANGELOG.md | 4 ++ packages/cubejs-docker/package.json | 60 +++++++++---------- packages/cubejs-dremio-driver/CHANGELOG.md | 4 ++ packages/cubejs-dremio-driver/package.json | 12 ++-- packages/cubejs-druid-driver/CHANGELOG.md | 4 ++ packages/cubejs-druid-driver/package.json | 10 ++-- packages/cubejs-duckdb-driver/CHANGELOG.md | 4 ++ packages/cubejs-duckdb-driver/package.json | 12 ++-- .../cubejs-elasticsearch-driver/CHANGELOG.md | 4 ++ .../cubejs-elasticsearch-driver/package.json | 8 +-- packages/cubejs-firebolt-driver/CHANGELOG.md | 4 ++ packages/cubejs-firebolt-driver/package.json | 12 ++-- packages/cubejs-hive-driver/CHANGELOG.md | 4 ++ packages/cubejs-hive-driver/package.json | 8 +-- packages/cubejs-jdbc-driver/CHANGELOG.md | 4 ++ packages/cubejs-jdbc-driver/package.json | 8 +-- packages/cubejs-ksql-driver/CHANGELOG.md | 4 ++ packages/cubejs-ksql-driver/package.json | 10 ++-- packages/cubejs-linter/CHANGELOG.md | 4 ++ packages/cubejs-linter/package.json | 2 +- .../cubejs-materialize-driver/CHANGELOG.md | 4 ++ .../cubejs-materialize-driver/package.json | 12 ++-- packages/cubejs-mongobi-driver/CHANGELOG.md | 4 ++ packages/cubejs-mongobi-driver/package.json | 8 +-- packages/cubejs-mssql-driver/CHANGELOG.md | 4 ++ packages/cubejs-mssql-driver/package.json | 4 +- .../CHANGELOG.md | 4 ++ .../package.json | 8 +-- packages/cubejs-mysql-driver/CHANGELOG.md | 4 ++ packages/cubejs-mysql-driver/package.json | 10 ++-- packages/cubejs-oracle-driver/CHANGELOG.md | 4 ++ packages/cubejs-oracle-driver/package.json | 4 +- packages/cubejs-pinot-driver/CHANGELOG.md | 4 ++ packages/cubejs-pinot-driver/package.json | 10 ++-- packages/cubejs-playground/CHANGELOG.md | 4 ++ packages/cubejs-playground/package.json | 6 +- packages/cubejs-postgres-driver/CHANGELOG.md | 4 ++ packages/cubejs-postgres-driver/package.json | 10 ++-- packages/cubejs-prestodb-driver/CHANGELOG.md | 4 ++ packages/cubejs-prestodb-driver/package.json | 8 +-- .../cubejs-query-orchestrator/CHANGELOG.md | 4 ++ .../cubejs-query-orchestrator/package.json | 10 ++-- packages/cubejs-questdb-driver/CHANGELOG.md | 4 ++ packages/cubejs-questdb-driver/package.json | 12 ++-- packages/cubejs-redshift-driver/CHANGELOG.md | 4 ++ packages/cubejs-redshift-driver/package.json | 10 ++-- packages/cubejs-schema-compiler/CHANGELOG.md | 4 ++ packages/cubejs-schema-compiler/package.json | 10 ++-- packages/cubejs-server-core/CHANGELOG.md | 4 ++ packages/cubejs-server-core/package.json | 22 +++---- packages/cubejs-server/CHANGELOG.md | 4 ++ packages/cubejs-server/package.json | 14 ++--- packages/cubejs-snowflake-driver/CHANGELOG.md | 4 ++ packages/cubejs-snowflake-driver/package.json | 8 +-- packages/cubejs-sqlite-driver/CHANGELOG.md | 4 ++ packages/cubejs-sqlite-driver/package.json | 8 +-- packages/cubejs-templates/CHANGELOG.md | 4 ++ packages/cubejs-templates/package.json | 6 +- packages/cubejs-testing-drivers/CHANGELOG.md | 4 ++ packages/cubejs-testing-drivers/package.json | 36 +++++------ packages/cubejs-testing-shared/CHANGELOG.md | 4 ++ packages/cubejs-testing-shared/package.json | 10 ++-- packages/cubejs-testing/CHANGELOG.md | 6 ++ packages/cubejs-testing/package.json | 22 +++---- packages/cubejs-trino-driver/CHANGELOG.md | 4 ++ packages/cubejs-trino-driver/package.json | 12 ++-- packages/cubejs-vertica-driver/CHANGELOG.md | 4 ++ packages/cubejs-vertica-driver/package.json | 12 ++-- rust/cubesql/CHANGELOG.md | 6 ++ rust/cubesql/package.json | 2 +- rust/cubestore/CHANGELOG.md | 4 ++ rust/cubestore/package.json | 6 +- 116 files changed, 532 insertions(+), 284 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 19316cce1..174a08763 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,16 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.20](https://github.com/cube-js/cube/compare/v1.2.19...v1.2.20) (2025-03-10) + +### Bug Fixes + +- Allow config http protocol to be passed to clickhouse driver. ([#9195](https://github.com/cube-js/cube/issues/9195)) ([0c15b01](https://github.com/cube-js/cube/commit/0c15b016359037281da856d72846c19b1bfb39aa)) + +### Features + +- Add SQL queries support in /v1/sql endpoint ([#9301](https://github.com/cube-js/cube/issues/9301)) ([7eba663](https://github.com/cube-js/cube/commit/7eba6639164ed3cffef4c6b68f5bc8d9a7cc740e)) + ## [1.2.19](https://github.com/cube-js/cube/compare/v1.2.18...v1.2.19) (2025-03-08) ### Features diff --git a/lerna.json b/lerna.json index 6ebb26919..1212ccdbc 100644 --- a/lerna.json +++ b/lerna.json @@ -1,5 +1,5 @@ { - "version": "1.2.19", + "version": "1.2.20", "npmClient": "yarn", "command": { "bootstrap": { diff --git a/packages/cubejs-api-gateway/CHANGELOG.md b/packages/cubejs-api-gateway/CHANGELOG.md index cfb75550d..648a25636 100644 --- a/packages/cubejs-api-gateway/CHANGELOG.md +++ b/packages/cubejs-api-gateway/CHANGELOG.md @@ -3,6 +3,12 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.20](https://github.com/cube-js/cube/compare/v1.2.19...v1.2.20) (2025-03-10) + +### Features + +- Add SQL queries support in /v1/sql endpoint ([#9301](https://github.com/cube-js/cube/issues/9301)) ([7eba663](https://github.com/cube-js/cube/commit/7eba6639164ed3cffef4c6b68f5bc8d9a7cc740e)) + ## [1.2.19](https://github.com/cube-js/cube/compare/v1.2.18...v1.2.19) (2025-03-08) **Note:** Version bump only for package @cubejs-backend/api-gateway diff --git a/packages/cubejs-api-gateway/package.json b/packages/cubejs-api-gateway/package.json index fd4add53e..102bea6da 100644 --- a/packages/cubejs-api-gateway/package.json +++ b/packages/cubejs-api-gateway/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/api-gateway", "description": "Cube.js API Gateway", "author": "Cube Dev, Inc.", - "version": "1.2.19", + "version": "1.2.20", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -27,8 +27,8 @@ "dist/src/*" ], "dependencies": { - "@cubejs-backend/native": "1.2.19", - "@cubejs-backend/shared": "1.2.19", + "@cubejs-backend/native": "1.2.20", + "@cubejs-backend/shared": "1.2.20", "@ungap/structured-clone": "^0.3.4", "body-parser": "^1.19.0", "chrono-node": "^2.6.2", @@ -50,7 +50,7 @@ "uuid": "^8.3.2" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.19", + "@cubejs-backend/linter": "1.2.20", "@types/express": "^4.17.21", "@types/jest": "^27", "@types/jsonwebtoken": "^9.0.2", diff --git a/packages/cubejs-athena-driver/CHANGELOG.md b/packages/cubejs-athena-driver/CHANGELOG.md index 531e1fa61..523d8b98e 100644 --- a/packages/cubejs-athena-driver/CHANGELOG.md +++ b/packages/cubejs-athena-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.20](https://github.com/cube-js/cube/compare/v1.2.19...v1.2.20) (2025-03-10) + +**Note:** Version bump only for package @cubejs-backend/athena-driver + ## [1.2.19](https://github.com/cube-js/cube/compare/v1.2.18...v1.2.19) (2025-03-08) **Note:** Version bump only for package @cubejs-backend/athena-driver diff --git a/packages/cubejs-athena-driver/package.json b/packages/cubejs-athena-driver/package.json index 9cadebe72..47054a7e8 100644 --- a/packages/cubejs-athena-driver/package.json +++ b/packages/cubejs-athena-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/athena-driver", "description": "Cube.js Athena database driver", "author": "Cube Dev, Inc.", - "version": "1.2.19", + "version": "1.2.20", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -29,13 +29,13 @@ "types": "dist/src/index.d.ts", "dependencies": { "@aws-sdk/client-athena": "^3.22.0", - "@cubejs-backend/base-driver": "1.2.19", - "@cubejs-backend/shared": "1.2.19", + "@cubejs-backend/base-driver": "1.2.20", + "@cubejs-backend/shared": "1.2.20", "sqlstring": "^2.3.1" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.19", - "@cubejs-backend/testing-shared": "1.2.19", + "@cubejs-backend/linter": "1.2.20", + "@cubejs-backend/testing-shared": "1.2.20", "@types/ramda": "^0.27.40", "typescript": "~5.2.2" }, diff --git a/packages/cubejs-backend-cloud/CHANGELOG.md b/packages/cubejs-backend-cloud/CHANGELOG.md index 6bee455b6..eaea120d6 100644 --- a/packages/cubejs-backend-cloud/CHANGELOG.md +++ b/packages/cubejs-backend-cloud/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.20](/compare/v1.2.19...v1.2.20) (2025-03-10) + +**Note:** Version bump only for package @cubejs-backend/cloud + ## [1.2.19](https://github.com/cube-js/cube/compare/v1.2.18...v1.2.19) (2025-03-08) **Note:** Version bump only for package @cubejs-backend/cloud diff --git a/packages/cubejs-backend-cloud/package.json b/packages/cubejs-backend-cloud/package.json index b82ee9ffd..0db31a94b 100644 --- a/packages/cubejs-backend-cloud/package.json +++ b/packages/cubejs-backend-cloud/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-backend/cloud", - "version": "1.2.19", + "version": "1.2.20", "description": "Cube Cloud package", "main": "dist/src/index.js", "typings": "dist/src/index.d.ts", @@ -25,7 +25,7 @@ "devDependencies": { "@babel/core": "^7.24.5", "@babel/preset-env": "^7.24.5", - "@cubejs-backend/linter": "1.2.19", + "@cubejs-backend/linter": "1.2.20", "@types/fs-extra": "^9.0.8", "@types/jest": "^27", "jest": "^27", @@ -33,7 +33,7 @@ }, "dependencies": { "@cubejs-backend/dotenv": "^9.0.2", - "@cubejs-backend/shared": "1.2.19", + "@cubejs-backend/shared": "1.2.20", "chokidar": "^3.5.1", "env-var": "^6.3.0", "form-data": "^4.0.0", diff --git a/packages/cubejs-backend-maven/CHANGELOG.md b/packages/cubejs-backend-maven/CHANGELOG.md index 8a1bb5734..ded96d94e 100644 --- a/packages/cubejs-backend-maven/CHANGELOG.md +++ b/packages/cubejs-backend-maven/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.20](https://github.com/cube-js/cube/compare/v1.2.19...v1.2.20) (2025-03-10) + +**Note:** Version bump only for package @cubejs-backend/maven + ## [1.2.19](https://github.com/cube-js/cube/compare/v1.2.18...v1.2.19) (2025-03-08) **Note:** Version bump only for package @cubejs-backend/maven diff --git a/packages/cubejs-backend-maven/package.json b/packages/cubejs-backend-maven/package.json index b21f7965c..341afaf16 100644 --- a/packages/cubejs-backend-maven/package.json +++ b/packages/cubejs-backend-maven/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/maven", "description": "Cube.js Maven Wrapper for java dependencies downloading", "author": "Cube Dev, Inc.", - "version": "1.2.19", + "version": "1.2.20", "license": "Apache-2.0", "repository": { "type": "git", @@ -31,12 +31,12 @@ "dist/src/*" ], "dependencies": { - "@cubejs-backend/shared": "1.2.19", + "@cubejs-backend/shared": "1.2.20", "source-map-support": "^0.5.19", "xmlbuilder2": "^2.4.0" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.19", + "@cubejs-backend/linter": "1.2.20", "@types/jest": "^27", "@types/node": "^18", "jest": "^27", diff --git a/packages/cubejs-backend-native/CHANGELOG.md b/packages/cubejs-backend-native/CHANGELOG.md index a3bc0892f..2a07f86b3 100644 --- a/packages/cubejs-backend-native/CHANGELOG.md +++ b/packages/cubejs-backend-native/CHANGELOG.md @@ -3,6 +3,12 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.20](https://github.com/cube-js/cube/compare/v1.2.19...v1.2.20) (2025-03-10) + +### Features + +- Add SQL queries support in /v1/sql endpoint ([#9301](https://github.com/cube-js/cube/issues/9301)) ([7eba663](https://github.com/cube-js/cube/commit/7eba6639164ed3cffef4c6b68f5bc8d9a7cc740e)) + ## [1.2.19](https://github.com/cube-js/cube/compare/v1.2.18...v1.2.19) (2025-03-08) **Note:** Version bump only for package @cubejs-backend/native diff --git a/packages/cubejs-backend-native/package.json b/packages/cubejs-backend-native/package.json index 336938d68..3f127376f 100644 --- a/packages/cubejs-backend-native/package.json +++ b/packages/cubejs-backend-native/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-backend/native", - "version": "1.2.19", + "version": "1.2.20", "author": "Cube Dev, Inc.", "description": "Native module for Cube.js (binding to Rust codebase)", "main": "dist/js/index.js", @@ -34,7 +34,7 @@ "dist/js" ], "devDependencies": { - "@cubejs-backend/linter": "1.2.19", + "@cubejs-backend/linter": "1.2.20", "@types/jest": "^27", "@types/node": "^18", "cargo-cp-artifact": "^0.1.9", @@ -44,8 +44,8 @@ "uuid": "^8.3.2" }, "dependencies": { - "@cubejs-backend/cubesql": "1.2.19", - "@cubejs-backend/shared": "1.2.19", + "@cubejs-backend/cubesql": "1.2.20", + "@cubejs-backend/shared": "1.2.20", "@cubejs-infra/post-installer": "^0.0.7" }, "resources": { diff --git a/packages/cubejs-backend-shared/CHANGELOG.md b/packages/cubejs-backend-shared/CHANGELOG.md index a90407798..2f6bc2820 100644 --- a/packages/cubejs-backend-shared/CHANGELOG.md +++ b/packages/cubejs-backend-shared/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.20](/compare/v1.2.19...v1.2.20) (2025-03-10) + +**Note:** Version bump only for package @cubejs-backend/shared + ## [1.2.19](https://github.com/cube-js/cube/compare/v1.2.18...v1.2.19) (2025-03-08) ### Features diff --git a/packages/cubejs-backend-shared/package.json b/packages/cubejs-backend-shared/package.json index 7d682a2dd..8a3ac481f 100644 --- a/packages/cubejs-backend-shared/package.json +++ b/packages/cubejs-backend-shared/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-backend/shared", - "version": "1.2.19", + "version": "1.2.20", "description": "Shared code for Cube.js backend packages", "main": "dist/src/index.js", "typings": "dist/src/index.d.ts", @@ -22,7 +22,7 @@ "author": "Cube Dev, Inc.", "license": "Apache-2.0", "devDependencies": { - "@cubejs-backend/linter": "1.2.19", + "@cubejs-backend/linter": "1.2.20", "@types/bytes": "^3.1.5", "@types/cli-progress": "^3.9.1", "@types/decompress": "^4.2.7", diff --git a/packages/cubejs-base-driver/CHANGELOG.md b/packages/cubejs-base-driver/CHANGELOG.md index 0e3d370e0..ee5fe0dfe 100644 --- a/packages/cubejs-base-driver/CHANGELOG.md +++ b/packages/cubejs-base-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.20](https://github.com/cube-js/cube/compare/v1.2.19...v1.2.20) (2025-03-10) + +**Note:** Version bump only for package @cubejs-backend/base-driver + ## [1.2.19](https://github.com/cube-js/cube/compare/v1.2.18...v1.2.19) (2025-03-08) **Note:** Version bump only for package @cubejs-backend/base-driver diff --git a/packages/cubejs-base-driver/package.json b/packages/cubejs-base-driver/package.json index a2e35a6c4..abd9a4281 100644 --- a/packages/cubejs-base-driver/package.json +++ b/packages/cubejs-base-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/base-driver", "description": "Cube.js Base Driver", "author": "Cube Dev, Inc.", - "version": "1.2.19", + "version": "1.2.20", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -33,11 +33,11 @@ "@aws-sdk/s3-request-presigner": "^3.49.0", "@azure/identity": "^4.4.1", "@azure/storage-blob": "^12.9.0", - "@cubejs-backend/shared": "1.2.19", + "@cubejs-backend/shared": "1.2.20", "@google-cloud/storage": "^7.13.0" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.19", + "@cubejs-backend/linter": "1.2.20", "@types/jest": "^27", "@types/node": "^18", "jest": "^27", diff --git a/packages/cubejs-bigquery-driver/CHANGELOG.md b/packages/cubejs-bigquery-driver/CHANGELOG.md index e8cf1eb32..59e8d5b25 100644 --- a/packages/cubejs-bigquery-driver/CHANGELOG.md +++ b/packages/cubejs-bigquery-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.20](https://github.com/cube-js/cube/compare/v1.2.19...v1.2.20) (2025-03-10) + +**Note:** Version bump only for package @cubejs-backend/bigquery-driver + ## [1.2.19](https://github.com/cube-js/cube/compare/v1.2.18...v1.2.19) (2025-03-08) **Note:** Version bump only for package @cubejs-backend/bigquery-driver diff --git a/packages/cubejs-bigquery-driver/package.json b/packages/cubejs-bigquery-driver/package.json index feadd5ba1..8bc52140a 100644 --- a/packages/cubejs-bigquery-driver/package.json +++ b/packages/cubejs-bigquery-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/bigquery-driver", "description": "Cube.js BigQuery database driver", "author": "Cube Dev, Inc.", - "version": "1.2.19", + "version": "1.2.20", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -28,15 +28,15 @@ "main": "index.js", "types": "dist/src/index.d.ts", "dependencies": { - "@cubejs-backend/base-driver": "1.2.19", + "@cubejs-backend/base-driver": "1.2.20", "@cubejs-backend/dotenv": "^9.0.2", - "@cubejs-backend/shared": "1.2.19", + "@cubejs-backend/shared": "1.2.20", "@google-cloud/bigquery": "^7.7.0", "@google-cloud/storage": "^7.13.0", "ramda": "^0.27.2" }, "devDependencies": { - "@cubejs-backend/testing-shared": "1.2.19", + "@cubejs-backend/testing-shared": "1.2.20", "@types/big.js": "^6.2.2", "@types/dedent": "^0.7.0", "@types/jest": "^27", diff --git a/packages/cubejs-cli/CHANGELOG.md b/packages/cubejs-cli/CHANGELOG.md index 14c61c09b..e25330eeb 100644 --- a/packages/cubejs-cli/CHANGELOG.md +++ b/packages/cubejs-cli/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.20](https://github.com/cube-js/cube/compare/v1.2.19...v1.2.20) (2025-03-10) + +**Note:** Version bump only for package cubejs-cli + ## [1.2.19](https://github.com/cube-js/cube/compare/v1.2.18...v1.2.19) (2025-03-08) **Note:** Version bump only for package cubejs-cli diff --git a/packages/cubejs-cli/package.json b/packages/cubejs-cli/package.json index 15a5b2e3f..47a6d902e 100644 --- a/packages/cubejs-cli/package.json +++ b/packages/cubejs-cli/package.json @@ -2,7 +2,7 @@ "name": "cubejs-cli", "description": "Cube.js Command Line Interface", "author": "Cube Dev, Inc.", - "version": "1.2.19", + "version": "1.2.20", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -30,10 +30,10 @@ "LICENSE" ], "dependencies": { - "@cubejs-backend/cloud": "1.2.19", + "@cubejs-backend/cloud": "1.2.20", "@cubejs-backend/dotenv": "^9.0.2", - "@cubejs-backend/schema-compiler": "1.2.19", - "@cubejs-backend/shared": "1.2.19", + "@cubejs-backend/schema-compiler": "1.2.20", + "@cubejs-backend/shared": "1.2.20", "chalk": "^2.4.2", "cli-progress": "^3.10", "commander": "^2.19.0", @@ -50,8 +50,8 @@ "colors": "1.4.0" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.19", - "@cubejs-backend/server": "1.2.19", + "@cubejs-backend/linter": "1.2.20", + "@cubejs-backend/server": "1.2.20", "@oclif/command": "^1.8.0", "@types/cli-progress": "^3.8.0", "@types/cross-spawn": "^6.0.2", diff --git a/packages/cubejs-clickhouse-driver/CHANGELOG.md b/packages/cubejs-clickhouse-driver/CHANGELOG.md index ba82695e8..d36aad952 100644 --- a/packages/cubejs-clickhouse-driver/CHANGELOG.md +++ b/packages/cubejs-clickhouse-driver/CHANGELOG.md @@ -3,6 +3,12 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.20](https://github.com/cube-js/cube/compare/v1.2.19...v1.2.20) (2025-03-10) + +### Bug Fixes + +- Allow config http protocol to be passed to clickhouse driver. ([#9195](https://github.com/cube-js/cube/issues/9195)) ([0c15b01](https://github.com/cube-js/cube/commit/0c15b016359037281da856d72846c19b1bfb39aa)) + ## [1.2.19](https://github.com/cube-js/cube/compare/v1.2.18...v1.2.19) (2025-03-08) **Note:** Version bump only for package @cubejs-backend/clickhouse-driver diff --git a/packages/cubejs-clickhouse-driver/package.json b/packages/cubejs-clickhouse-driver/package.json index c50522cac..4f133e00e 100644 --- a/packages/cubejs-clickhouse-driver/package.json +++ b/packages/cubejs-clickhouse-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/clickhouse-driver", "description": "Cube.js ClickHouse database driver", "author": "Cube Dev, Inc.", - "version": "1.2.19", + "version": "1.2.20", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -28,16 +28,16 @@ }, "dependencies": { "@clickhouse/client": "^1.7.0", - "@cubejs-backend/base-driver": "1.2.19", - "@cubejs-backend/shared": "1.2.19", + "@cubejs-backend/base-driver": "1.2.20", + "@cubejs-backend/shared": "1.2.20", "moment": "^2.24.0", "sqlstring": "^2.3.1", "uuid": "^8.3.2" }, "license": "Apache-2.0", "devDependencies": { - "@cubejs-backend/linter": "1.2.19", - "@cubejs-backend/testing-shared": "1.2.19", + "@cubejs-backend/linter": "1.2.20", + "@cubejs-backend/testing-shared": "1.2.20", "@types/jest": "^27", "jest": "^27", "typescript": "~5.2.2" diff --git a/packages/cubejs-client-core/CHANGELOG.md b/packages/cubejs-client-core/CHANGELOG.md index 9f2d3bd0c..663648e8f 100644 --- a/packages/cubejs-client-core/CHANGELOG.md +++ b/packages/cubejs-client-core/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.20](https://github.com/cube-js/cube/compare/v1.2.19...v1.2.20) (2025-03-10) + +**Note:** Version bump only for package @cubejs-client/core + ## [1.2.19](https://github.com/cube-js/cube/compare/v1.2.18...v1.2.19) (2025-03-08) **Note:** Version bump only for package @cubejs-client/core diff --git a/packages/cubejs-client-core/package.json b/packages/cubejs-client-core/package.json index 426ad0461..ef8a92c21 100644 --- a/packages/cubejs-client-core/package.json +++ b/packages/cubejs-client-core/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-client/core", - "version": "1.2.19", + "version": "1.2.20", "engines": {}, "repository": { "type": "git", diff --git a/packages/cubejs-client-dx/CHANGELOG.md b/packages/cubejs-client-dx/CHANGELOG.md index 8262cab36..5f99a35ce 100644 --- a/packages/cubejs-client-dx/CHANGELOG.md +++ b/packages/cubejs-client-dx/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.20](https://github.com/cube-js/cube/compare/v1.2.19...v1.2.20) (2025-03-10) + +**Note:** Version bump only for package @cubejs-client/dx + ## [1.2.19](https://github.com/cube-js/cube/compare/v1.2.18...v1.2.19) (2025-03-08) **Note:** Version bump only for package @cubejs-client/dx diff --git a/packages/cubejs-client-dx/package.json b/packages/cubejs-client-dx/package.json index ed9374bb7..2494bad31 100644 --- a/packages/cubejs-client-dx/package.json +++ b/packages/cubejs-client-dx/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-client/dx", - "version": "1.2.19", + "version": "1.2.20", "engines": {}, "repository": { "type": "git", diff --git a/packages/cubejs-client-ngx/CHANGELOG.md b/packages/cubejs-client-ngx/CHANGELOG.md index ef17294f1..4e7ca0862 100644 --- a/packages/cubejs-client-ngx/CHANGELOG.md +++ b/packages/cubejs-client-ngx/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.20](https://github.com/cube-js/cube/compare/v1.2.19...v1.2.20) (2025-03-10) + +**Note:** Version bump only for package @cubejs-client/ngx + ## [1.2.19](https://github.com/cube-js/cube/compare/v1.2.18...v1.2.19) (2025-03-08) **Note:** Version bump only for package @cubejs-client/ngx diff --git a/packages/cubejs-client-ngx/package.json b/packages/cubejs-client-ngx/package.json index ae77952ee..625cf6961 100644 --- a/packages/cubejs-client-ngx/package.json +++ b/packages/cubejs-client-ngx/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-client/ngx", - "version": "1.2.19", + "version": "1.2.20", "author": "Cube Dev, Inc.", "engines": {}, "repository": { diff --git a/packages/cubejs-client-react/CHANGELOG.md b/packages/cubejs-client-react/CHANGELOG.md index c5b97c56a..e73fe41c1 100644 --- a/packages/cubejs-client-react/CHANGELOG.md +++ b/packages/cubejs-client-react/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.20](https://github.com/cube-js/cube/compare/v1.2.19...v1.2.20) (2025-03-10) + +**Note:** Version bump only for package @cubejs-client/react + ## [1.2.19](https://github.com/cube-js/cube/compare/v1.2.18...v1.2.19) (2025-03-08) **Note:** Version bump only for package @cubejs-client/react diff --git a/packages/cubejs-client-react/package.json b/packages/cubejs-client-react/package.json index 551524458..5db340064 100644 --- a/packages/cubejs-client-react/package.json +++ b/packages/cubejs-client-react/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-client/react", - "version": "1.2.19", + "version": "1.2.20", "author": "Cube Dev, Inc.", "license": "MIT", "engines": {}, @@ -24,7 +24,7 @@ ], "dependencies": { "@babel/runtime": "^7.1.2", - "@cubejs-client/core": "1.2.19", + "@cubejs-client/core": "1.2.20", "core-js": "^3.6.5", "ramda": "^0.27.2" }, diff --git a/packages/cubejs-client-vue/CHANGELOG.md b/packages/cubejs-client-vue/CHANGELOG.md index e9388b1af..35a56484d 100644 --- a/packages/cubejs-client-vue/CHANGELOG.md +++ b/packages/cubejs-client-vue/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.20](https://github.com/cube-js/cube.js/compare/v1.2.19...v1.2.20) (2025-03-10) + +**Note:** Version bump only for package @cubejs-client/vue + ## [1.2.19](https://github.com/cube-js/cube.js/compare/v1.2.18...v1.2.19) (2025-03-08) **Note:** Version bump only for package @cubejs-client/vue diff --git a/packages/cubejs-client-vue/package.json b/packages/cubejs-client-vue/package.json index 15d1043f0..e6bd059a4 100644 --- a/packages/cubejs-client-vue/package.json +++ b/packages/cubejs-client-vue/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-client/vue", - "version": "1.2.19", + "version": "1.2.20", "engines": {}, "repository": { "type": "git", @@ -28,7 +28,7 @@ "src" ], "dependencies": { - "@cubejs-client/core": "1.2.19", + "@cubejs-client/core": "1.2.20", "core-js": "^3.6.5", "ramda": "^0.27.2" }, diff --git a/packages/cubejs-client-vue3/CHANGELOG.md b/packages/cubejs-client-vue3/CHANGELOG.md index 1b53a2498..e44d7910d 100644 --- a/packages/cubejs-client-vue3/CHANGELOG.md +++ b/packages/cubejs-client-vue3/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.20](https://github.com/cube-js/cube.js/compare/v1.2.19...v1.2.20) (2025-03-10) + +**Note:** Version bump only for package @cubejs-client/vue3 + ## [1.2.19](https://github.com/cube-js/cube.js/compare/v1.2.18...v1.2.19) (2025-03-08) **Note:** Version bump only for package @cubejs-client/vue3 diff --git a/packages/cubejs-client-vue3/package.json b/packages/cubejs-client-vue3/package.json index 51fddf15d..8b3080f8c 100644 --- a/packages/cubejs-client-vue3/package.json +++ b/packages/cubejs-client-vue3/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-client/vue3", - "version": "1.2.19", + "version": "1.2.20", "engines": {}, "repository": { "type": "git", @@ -28,7 +28,7 @@ "src" ], "dependencies": { - "@cubejs-client/core": "1.2.19", + "@cubejs-client/core": "1.2.20", "@vue/compiler-sfc": "^3.0.11", "core-js": "^3.6.5", "flush-promises": "^1.0.2", diff --git a/packages/cubejs-client-ws-transport/CHANGELOG.md b/packages/cubejs-client-ws-transport/CHANGELOG.md index 9044de214..52c347736 100644 --- a/packages/cubejs-client-ws-transport/CHANGELOG.md +++ b/packages/cubejs-client-ws-transport/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.20](https://github.com/cube-js/cube/compare/v1.2.19...v1.2.20) (2025-03-10) + +**Note:** Version bump only for package @cubejs-client/ws-transport + ## [1.2.19](https://github.com/cube-js/cube/compare/v1.2.18...v1.2.19) (2025-03-08) **Note:** Version bump only for package @cubejs-client/ws-transport diff --git a/packages/cubejs-client-ws-transport/package.json b/packages/cubejs-client-ws-transport/package.json index 0caa13828..3d05dc0ce 100644 --- a/packages/cubejs-client-ws-transport/package.json +++ b/packages/cubejs-client-ws-transport/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-client/ws-transport", - "version": "1.2.19", + "version": "1.2.20", "engines": {}, "repository": { "type": "git", @@ -20,7 +20,7 @@ }, "dependencies": { "@babel/runtime": "^7.1.2", - "@cubejs-client/core": "1.2.19", + "@cubejs-client/core": "1.2.20", "core-js": "^3.6.5", "isomorphic-ws": "^4.0.1", "ws": "^7.3.1" @@ -34,7 +34,7 @@ "@babel/core": "^7.3.3", "@babel/preset-env": "^7.3.1", "@babel/preset-typescript": "^7.12.1", - "@cubejs-backend/linter": "1.2.19", + "@cubejs-backend/linter": "1.2.20", "@types/ws": "^7.2.9", "babel-jest": "^27", "jest": "^27", diff --git a/packages/cubejs-crate-driver/CHANGELOG.md b/packages/cubejs-crate-driver/CHANGELOG.md index 05443f004..26d1e67f8 100644 --- a/packages/cubejs-crate-driver/CHANGELOG.md +++ b/packages/cubejs-crate-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.20](https://github.com/cube-js/cube/compare/v1.2.19...v1.2.20) (2025-03-10) + +**Note:** Version bump only for package @cubejs-backend/crate-driver + ## [1.2.19](https://github.com/cube-js/cube/compare/v1.2.18...v1.2.19) (2025-03-08) **Note:** Version bump only for package @cubejs-backend/crate-driver diff --git a/packages/cubejs-crate-driver/package.json b/packages/cubejs-crate-driver/package.json index e3c30b8f9..059373261 100644 --- a/packages/cubejs-crate-driver/package.json +++ b/packages/cubejs-crate-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/crate-driver", "description": "Cube.js Crate database driver", "author": "Cube Dev, Inc.", - "version": "1.2.19", + "version": "1.2.20", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -28,14 +28,14 @@ "lint:fix": "eslint --fix src/* --ext .ts" }, "dependencies": { - "@cubejs-backend/postgres-driver": "1.2.19", - "@cubejs-backend/shared": "1.2.19", + "@cubejs-backend/postgres-driver": "1.2.20", + "@cubejs-backend/shared": "1.2.20", "pg": "^8.7.1" }, "license": "Apache-2.0", "devDependencies": { - "@cubejs-backend/linter": "1.2.19", - "@cubejs-backend/testing-shared": "1.2.19", + "@cubejs-backend/linter": "1.2.20", + "@cubejs-backend/testing-shared": "1.2.20", "testcontainers": "^10.13.0", "typescript": "~5.2.2" }, diff --git a/packages/cubejs-cubestore-driver/CHANGELOG.md b/packages/cubejs-cubestore-driver/CHANGELOG.md index 0ce2ae7d1..4e9445718 100644 --- a/packages/cubejs-cubestore-driver/CHANGELOG.md +++ b/packages/cubejs-cubestore-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.20](https://github.com/cube-js/cube/compare/v1.2.19...v1.2.20) (2025-03-10) + +**Note:** Version bump only for package @cubejs-backend/cubestore-driver + ## [1.2.19](https://github.com/cube-js/cube/compare/v1.2.18...v1.2.19) (2025-03-08) **Note:** Version bump only for package @cubejs-backend/cubestore-driver diff --git a/packages/cubejs-cubestore-driver/package.json b/packages/cubejs-cubestore-driver/package.json index cc1c4a4bc..be55861f0 100644 --- a/packages/cubejs-cubestore-driver/package.json +++ b/packages/cubejs-cubestore-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/cubestore-driver", "description": "Cube Store driver", "author": "Cube Dev, Inc.", - "version": "1.2.19", + "version": "1.2.20", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -26,10 +26,10 @@ "lint:fix": "eslint --fix src/*.ts" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.19", - "@cubejs-backend/cubestore": "1.2.19", - "@cubejs-backend/native": "1.2.19", - "@cubejs-backend/shared": "1.2.19", + "@cubejs-backend/base-driver": "1.2.20", + "@cubejs-backend/cubestore": "1.2.20", + "@cubejs-backend/native": "1.2.20", + "@cubejs-backend/shared": "1.2.20", "csv-write-stream": "^2.0.0", "flatbuffers": "23.3.3", "fs-extra": "^9.1.0", @@ -41,7 +41,7 @@ "ws": "^7.4.3" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.19", + "@cubejs-backend/linter": "1.2.20", "@types/csv-write-stream": "^2.0.0", "@types/generic-pool": "^3.1.9", "@types/node": "^18", diff --git a/packages/cubejs-databricks-jdbc-driver/CHANGELOG.md b/packages/cubejs-databricks-jdbc-driver/CHANGELOG.md index 1714d725b..cd6ee21eb 100644 --- a/packages/cubejs-databricks-jdbc-driver/CHANGELOG.md +++ b/packages/cubejs-databricks-jdbc-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.20](https://github.com/cube-js/cube/compare/v1.2.19...v1.2.20) (2025-03-10) + +**Note:** Version bump only for package @cubejs-backend/databricks-jdbc-driver + ## [1.2.19](https://github.com/cube-js/cube/compare/v1.2.18...v1.2.19) (2025-03-08) **Note:** Version bump only for package @cubejs-backend/databricks-jdbc-driver diff --git a/packages/cubejs-databricks-jdbc-driver/package.json b/packages/cubejs-databricks-jdbc-driver/package.json index 6e273ba4a..7cac26f84 100644 --- a/packages/cubejs-databricks-jdbc-driver/package.json +++ b/packages/cubejs-databricks-jdbc-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/databricks-jdbc-driver", "description": "Cube.js Databricks database driver", "author": "Cube Dev, Inc.", - "version": "1.2.19", + "version": "1.2.20", "license": "Apache-2.0", "repository": { "type": "git", @@ -30,17 +30,17 @@ "bin" ], "dependencies": { - "@cubejs-backend/base-driver": "1.2.19", - "@cubejs-backend/jdbc-driver": "1.2.19", - "@cubejs-backend/schema-compiler": "1.2.19", - "@cubejs-backend/shared": "1.2.19", + "@cubejs-backend/base-driver": "1.2.20", + "@cubejs-backend/jdbc-driver": "1.2.20", + "@cubejs-backend/schema-compiler": "1.2.20", + "@cubejs-backend/shared": "1.2.20", "node-fetch": "^2.6.1", "ramda": "^0.27.2", "source-map-support": "^0.5.19", "uuid": "^8.3.2" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.19", + "@cubejs-backend/linter": "1.2.20", "@types/generic-pool": "^3.1.9", "@types/jest": "^27", "@types/node": "^18", diff --git a/packages/cubejs-dbt-schema-extension/CHANGELOG.md b/packages/cubejs-dbt-schema-extension/CHANGELOG.md index ea57dfade..ae6574756 100644 --- a/packages/cubejs-dbt-schema-extension/CHANGELOG.md +++ b/packages/cubejs-dbt-schema-extension/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.20](https://github.com/cube-js/cube/compare/v1.2.19...v1.2.20) (2025-03-10) + +**Note:** Version bump only for package @cubejs-backend/dbt-schema-extension + ## [1.2.19](https://github.com/cube-js/cube/compare/v1.2.18...v1.2.19) (2025-03-08) **Note:** Version bump only for package @cubejs-backend/dbt-schema-extension diff --git a/packages/cubejs-dbt-schema-extension/package.json b/packages/cubejs-dbt-schema-extension/package.json index 1c0745130..74d86ad20 100644 --- a/packages/cubejs-dbt-schema-extension/package.json +++ b/packages/cubejs-dbt-schema-extension/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/dbt-schema-extension", "description": "Cube.js dbt Schema Extension", "author": "Cube Dev, Inc.", - "version": "1.2.19", + "version": "1.2.20", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -25,14 +25,14 @@ "lint:fix": "eslint --fix src/* --ext .ts,.js" }, "dependencies": { - "@cubejs-backend/schema-compiler": "1.2.19", + "@cubejs-backend/schema-compiler": "1.2.20", "fs-extra": "^9.1.0", "inflection": "^1.12.0", "node-fetch": "^2.6.1" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.19", - "@cubejs-backend/testing": "1.2.19", + "@cubejs-backend/linter": "1.2.20", + "@cubejs-backend/testing": "1.2.20", "@types/generic-pool": "^3.1.9", "@types/jest": "^27", "jest": "^27", diff --git a/packages/cubejs-docker/CHANGELOG.md b/packages/cubejs-docker/CHANGELOG.md index bbc44eca6..b9586bb21 100644 --- a/packages/cubejs-docker/CHANGELOG.md +++ b/packages/cubejs-docker/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.20](/compare/v1.2.19...v1.2.20) (2025-03-10) + +**Note:** Version bump only for package @cubejs-backend/docker + ## [1.2.19](https://github.com/cube-js/cube/compare/v1.2.18...v1.2.19) (2025-03-08) **Note:** Version bump only for package @cubejs-backend/docker diff --git a/packages/cubejs-docker/package.json b/packages/cubejs-docker/package.json index 12b416b96..e7ee45b2c 100644 --- a/packages/cubejs-docker/package.json +++ b/packages/cubejs-docker/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-backend/docker", - "version": "1.2.19", + "version": "1.2.20", "description": "Cube.js In Docker (virtual package)", "author": "Cube Dev, Inc.", "license": "Apache-2.0", @@ -9,35 +9,35 @@ "node": "^14.0.0 || ^16.0.0 || >=17.0.0" }, "dependencies": { - "@cubejs-backend/athena-driver": "1.2.19", - "@cubejs-backend/bigquery-driver": "1.2.19", - "@cubejs-backend/clickhouse-driver": "1.2.19", - "@cubejs-backend/crate-driver": "1.2.19", - "@cubejs-backend/databricks-jdbc-driver": "1.2.19", - "@cubejs-backend/dbt-schema-extension": "1.2.19", - "@cubejs-backend/dremio-driver": "1.2.19", - "@cubejs-backend/druid-driver": "1.2.19", - "@cubejs-backend/duckdb-driver": "1.2.19", - "@cubejs-backend/elasticsearch-driver": "1.2.19", - "@cubejs-backend/firebolt-driver": "1.2.19", - "@cubejs-backend/hive-driver": "1.2.19", - "@cubejs-backend/ksql-driver": "1.2.19", - "@cubejs-backend/materialize-driver": "1.2.19", - "@cubejs-backend/mongobi-driver": "1.2.19", - "@cubejs-backend/mssql-driver": "1.2.19", - "@cubejs-backend/mysql-driver": "1.2.19", - "@cubejs-backend/oracle-driver": "1.2.19", - "@cubejs-backend/pinot-driver": "1.2.19", - "@cubejs-backend/postgres-driver": "1.2.19", - "@cubejs-backend/prestodb-driver": "1.2.19", - "@cubejs-backend/questdb-driver": "1.2.19", - "@cubejs-backend/redshift-driver": "1.2.19", - "@cubejs-backend/server": "1.2.19", - "@cubejs-backend/snowflake-driver": "1.2.19", - "@cubejs-backend/sqlite-driver": "1.2.19", - "@cubejs-backend/trino-driver": "1.2.19", - "@cubejs-backend/vertica-driver": "1.2.19", - "cubejs-cli": "1.2.19", + "@cubejs-backend/athena-driver": "1.2.20", + "@cubejs-backend/bigquery-driver": "1.2.20", + "@cubejs-backend/clickhouse-driver": "1.2.20", + "@cubejs-backend/crate-driver": "1.2.20", + "@cubejs-backend/databricks-jdbc-driver": "1.2.20", + "@cubejs-backend/dbt-schema-extension": "1.2.20", + "@cubejs-backend/dremio-driver": "1.2.20", + "@cubejs-backend/druid-driver": "1.2.20", + "@cubejs-backend/duckdb-driver": "1.2.20", + "@cubejs-backend/elasticsearch-driver": "1.2.20", + "@cubejs-backend/firebolt-driver": "1.2.20", + "@cubejs-backend/hive-driver": "1.2.20", + "@cubejs-backend/ksql-driver": "1.2.20", + "@cubejs-backend/materialize-driver": "1.2.20", + "@cubejs-backend/mongobi-driver": "1.2.20", + "@cubejs-backend/mssql-driver": "1.2.20", + "@cubejs-backend/mysql-driver": "1.2.20", + "@cubejs-backend/oracle-driver": "1.2.20", + "@cubejs-backend/pinot-driver": "1.2.20", + "@cubejs-backend/postgres-driver": "1.2.20", + "@cubejs-backend/prestodb-driver": "1.2.20", + "@cubejs-backend/questdb-driver": "1.2.20", + "@cubejs-backend/redshift-driver": "1.2.20", + "@cubejs-backend/server": "1.2.20", + "@cubejs-backend/snowflake-driver": "1.2.20", + "@cubejs-backend/sqlite-driver": "1.2.20", + "@cubejs-backend/trino-driver": "1.2.20", + "@cubejs-backend/vertica-driver": "1.2.20", + "cubejs-cli": "1.2.20", "typescript": "~5.2.2" }, "resolutions": { diff --git a/packages/cubejs-dremio-driver/CHANGELOG.md b/packages/cubejs-dremio-driver/CHANGELOG.md index 985ec30e7..d78939d3b 100644 --- a/packages/cubejs-dremio-driver/CHANGELOG.md +++ b/packages/cubejs-dremio-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.20](https://github.com/cube-js/cube/compare/v1.2.19...v1.2.20) (2025-03-10) + +**Note:** Version bump only for package @cubejs-backend/dremio-driver + ## [1.2.19](https://github.com/cube-js/cube/compare/v1.2.18...v1.2.19) (2025-03-08) **Note:** Version bump only for package @cubejs-backend/dremio-driver diff --git a/packages/cubejs-dremio-driver/package.json b/packages/cubejs-dremio-driver/package.json index 85bd9b884..38e9d36b3 100644 --- a/packages/cubejs-dremio-driver/package.json +++ b/packages/cubejs-dremio-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/dremio-driver", "description": "Cube.js Dremio driver", "author": "Cube Dev, Inc.", - "version": "1.2.19", + "version": "1.2.20", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -22,15 +22,15 @@ "lint:fix": "eslint driver/*.js" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.19", - "@cubejs-backend/schema-compiler": "1.2.19", - "@cubejs-backend/shared": "1.2.19", + "@cubejs-backend/base-driver": "1.2.20", + "@cubejs-backend/schema-compiler": "1.2.20", + "@cubejs-backend/shared": "1.2.20", "axios": "^0.28.0", "sqlstring": "^2.3.1" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.19", - "@cubejs-backend/testing-shared": "1.2.19", + "@cubejs-backend/linter": "1.2.20", + "@cubejs-backend/testing-shared": "1.2.20", "jest": "^27" }, "license": "Apache-2.0", diff --git a/packages/cubejs-druid-driver/CHANGELOG.md b/packages/cubejs-druid-driver/CHANGELOG.md index b83906678..77a0c991e 100644 --- a/packages/cubejs-druid-driver/CHANGELOG.md +++ b/packages/cubejs-druid-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.20](https://github.com/cube-js/cube/compare/v1.2.19...v1.2.20) (2025-03-10) + +**Note:** Version bump only for package @cubejs-backend/druid-driver + ## [1.2.19](https://github.com/cube-js/cube/compare/v1.2.18...v1.2.19) (2025-03-08) **Note:** Version bump only for package @cubejs-backend/druid-driver diff --git a/packages/cubejs-druid-driver/package.json b/packages/cubejs-druid-driver/package.json index 0873b0fb2..93f40ae68 100644 --- a/packages/cubejs-druid-driver/package.json +++ b/packages/cubejs-druid-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/druid-driver", "description": "Cube.js Druid database driver", "author": "Cube Dev, Inc.", - "version": "1.2.19", + "version": "1.2.20", "license": "Apache-2.0", "repository": { "type": "git", @@ -28,13 +28,13 @@ "dist/src/*" ], "dependencies": { - "@cubejs-backend/base-driver": "1.2.19", - "@cubejs-backend/schema-compiler": "1.2.19", - "@cubejs-backend/shared": "1.2.19", + "@cubejs-backend/base-driver": "1.2.20", + "@cubejs-backend/schema-compiler": "1.2.20", + "@cubejs-backend/shared": "1.2.20", "axios": "^0.28.0" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.19", + "@cubejs-backend/linter": "1.2.20", "@types/generic-pool": "^3.1.9", "@types/jest": "^27", "@types/node": "^18", diff --git a/packages/cubejs-duckdb-driver/CHANGELOG.md b/packages/cubejs-duckdb-driver/CHANGELOG.md index 81bfec4b2..cb4b67856 100644 --- a/packages/cubejs-duckdb-driver/CHANGELOG.md +++ b/packages/cubejs-duckdb-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.20](https://github.com/cube-js/cube/compare/v1.2.19...v1.2.20) (2025-03-10) + +**Note:** Version bump only for package @cubejs-backend/duckdb-driver + ## [1.2.19](https://github.com/cube-js/cube/compare/v1.2.18...v1.2.19) (2025-03-08) **Note:** Version bump only for package @cubejs-backend/duckdb-driver diff --git a/packages/cubejs-duckdb-driver/package.json b/packages/cubejs-duckdb-driver/package.json index f5794e587..7c810db69 100644 --- a/packages/cubejs-duckdb-driver/package.json +++ b/packages/cubejs-duckdb-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/duckdb-driver", "description": "Cube DuckDB database driver", "author": "Cube Dev, Inc.", - "version": "1.2.19", + "version": "1.2.20", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -27,15 +27,15 @@ "lint:fix": "eslint --fix src/* --ext .ts" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.19", - "@cubejs-backend/schema-compiler": "1.2.19", - "@cubejs-backend/shared": "1.2.19", + "@cubejs-backend/base-driver": "1.2.20", + "@cubejs-backend/schema-compiler": "1.2.20", + "@cubejs-backend/shared": "1.2.20", "duckdb": "^1.1.3" }, "license": "Apache-2.0", "devDependencies": { - "@cubejs-backend/linter": "1.2.19", - "@cubejs-backend/testing-shared": "1.2.19", + "@cubejs-backend/linter": "1.2.20", + "@cubejs-backend/testing-shared": "1.2.20", "@types/jest": "^27", "@types/node": "^18", "jest": "^27", diff --git a/packages/cubejs-elasticsearch-driver/CHANGELOG.md b/packages/cubejs-elasticsearch-driver/CHANGELOG.md index 2a4af22c7..c6bc2914c 100644 --- a/packages/cubejs-elasticsearch-driver/CHANGELOG.md +++ b/packages/cubejs-elasticsearch-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.20](https://github.com/cube-js/cube/compare/v1.2.19...v1.2.20) (2025-03-10) + +**Note:** Version bump only for package @cubejs-backend/elasticsearch-driver + ## [1.2.19](https://github.com/cube-js/cube/compare/v1.2.18...v1.2.19) (2025-03-08) **Note:** Version bump only for package @cubejs-backend/elasticsearch-driver diff --git a/packages/cubejs-elasticsearch-driver/package.json b/packages/cubejs-elasticsearch-driver/package.json index db5974ea6..19c13a48f 100644 --- a/packages/cubejs-elasticsearch-driver/package.json +++ b/packages/cubejs-elasticsearch-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/elasticsearch-driver", "description": "Cube.js elasticsearch database driver", "author": "Cube Dev, Inc.", - "version": "1.2.19", + "version": "1.2.20", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -23,14 +23,14 @@ "driver" ], "dependencies": { - "@cubejs-backend/base-driver": "1.2.19", - "@cubejs-backend/shared": "1.2.19", + "@cubejs-backend/base-driver": "1.2.20", + "@cubejs-backend/shared": "1.2.20", "@elastic/elasticsearch": "7.12.0", "sqlstring": "^2.3.1" }, "license": "Apache-2.0", "devDependencies": { - "@cubejs-backend/linter": "1.2.19", + "@cubejs-backend/linter": "1.2.20", "@types/jest": "^27", "jest": "^27", "testcontainers": "^10.10.4" diff --git a/packages/cubejs-firebolt-driver/CHANGELOG.md b/packages/cubejs-firebolt-driver/CHANGELOG.md index 447b42fe1..fbc6367c8 100644 --- a/packages/cubejs-firebolt-driver/CHANGELOG.md +++ b/packages/cubejs-firebolt-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.20](https://github.com/cube-js/cube/compare/v1.2.19...v1.2.20) (2025-03-10) + +**Note:** Version bump only for package @cubejs-backend/firebolt-driver + ## [1.2.19](https://github.com/cube-js/cube/compare/v1.2.18...v1.2.19) (2025-03-08) **Note:** Version bump only for package @cubejs-backend/firebolt-driver diff --git a/packages/cubejs-firebolt-driver/package.json b/packages/cubejs-firebolt-driver/package.json index 87a210117..52c2f5f4d 100644 --- a/packages/cubejs-firebolt-driver/package.json +++ b/packages/cubejs-firebolt-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/firebolt-driver", "description": "Cube.js Firebolt database driver", "author": "Cube Dev, Inc.", - "version": "1.2.19", + "version": "1.2.20", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -28,15 +28,15 @@ "lint:fix": "eslint --fix src/* --ext .ts" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.19", - "@cubejs-backend/schema-compiler": "1.2.19", - "@cubejs-backend/shared": "1.2.19", + "@cubejs-backend/base-driver": "1.2.20", + "@cubejs-backend/schema-compiler": "1.2.20", + "@cubejs-backend/shared": "1.2.20", "firebolt-sdk": "1.10.0" }, "license": "Apache-2.0", "devDependencies": { - "@cubejs-backend/linter": "1.2.19", - "@cubejs-backend/testing-shared": "1.2.19", + "@cubejs-backend/linter": "1.2.20", + "@cubejs-backend/testing-shared": "1.2.20", "typescript": "~5.2.2" }, "publishConfig": { diff --git a/packages/cubejs-hive-driver/CHANGELOG.md b/packages/cubejs-hive-driver/CHANGELOG.md index a24350bb8..0c0ed8c92 100644 --- a/packages/cubejs-hive-driver/CHANGELOG.md +++ b/packages/cubejs-hive-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.20](https://github.com/cube-js/cube/compare/v1.2.19...v1.2.20) (2025-03-10) + +**Note:** Version bump only for package @cubejs-backend/hive-driver + ## [1.2.19](https://github.com/cube-js/cube/compare/v1.2.18...v1.2.19) (2025-03-08) **Note:** Version bump only for package @cubejs-backend/hive-driver diff --git a/packages/cubejs-hive-driver/package.json b/packages/cubejs-hive-driver/package.json index 95c2154f8..b5ec1913b 100644 --- a/packages/cubejs-hive-driver/package.json +++ b/packages/cubejs-hive-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/hive-driver", "description": "Cube.js Hive database driver", "author": "Cube Dev, Inc.", - "version": "1.2.19", + "version": "1.2.20", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -17,8 +17,8 @@ "lint:fix": "eslint --fix src/* --ext .ts" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.19", - "@cubejs-backend/shared": "1.2.19", + "@cubejs-backend/base-driver": "1.2.20", + "@cubejs-backend/shared": "1.2.20", "generic-pool": "^3.6.0", "jshs2": "^0.4.4", "sasl-plain": "^0.1.0", @@ -28,7 +28,7 @@ }, "license": "Apache-2.0", "devDependencies": { - "@cubejs-backend/linter": "1.2.19" + "@cubejs-backend/linter": "1.2.20" }, "publishConfig": { "access": "public" diff --git a/packages/cubejs-jdbc-driver/CHANGELOG.md b/packages/cubejs-jdbc-driver/CHANGELOG.md index 9660ef375..e76671759 100644 --- a/packages/cubejs-jdbc-driver/CHANGELOG.md +++ b/packages/cubejs-jdbc-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.20](https://github.com/cube-js/cube/compare/v1.2.19...v1.2.20) (2025-03-10) + +**Note:** Version bump only for package @cubejs-backend/jdbc-driver + ## [1.2.19](https://github.com/cube-js/cube/compare/v1.2.18...v1.2.19) (2025-03-08) **Note:** Version bump only for package @cubejs-backend/jdbc-driver diff --git a/packages/cubejs-jdbc-driver/package.json b/packages/cubejs-jdbc-driver/package.json index d0fb4748c..ca29a6996 100644 --- a/packages/cubejs-jdbc-driver/package.json +++ b/packages/cubejs-jdbc-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/jdbc-driver", "description": "Cube.js JDBC database driver", "author": "Cube Dev, Inc.", - "version": "1.2.19", + "version": "1.2.20", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -25,8 +25,8 @@ "index.js" ], "dependencies": { - "@cubejs-backend/base-driver": "1.2.19", - "@cubejs-backend/shared": "1.2.19", + "@cubejs-backend/base-driver": "1.2.20", + "@cubejs-backend/shared": "1.2.20", "generic-pool": "^3.1.7", "node-java-maven": "^0.1.2", "sqlstring": "^2.3.0" @@ -43,7 +43,7 @@ "testEnvironment": "node" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.19", + "@cubejs-backend/linter": "1.2.20", "@types/generic-pool": "^3.1.9", "@types/node": "^18", "@types/sqlstring": "^2.3.0", diff --git a/packages/cubejs-ksql-driver/CHANGELOG.md b/packages/cubejs-ksql-driver/CHANGELOG.md index dc0825091..daa4688dd 100644 --- a/packages/cubejs-ksql-driver/CHANGELOG.md +++ b/packages/cubejs-ksql-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.20](https://github.com/cube-js/cube/compare/v1.2.19...v1.2.20) (2025-03-10) + +**Note:** Version bump only for package @cubejs-backend/ksql-driver + ## [1.2.19](https://github.com/cube-js/cube/compare/v1.2.18...v1.2.19) (2025-03-08) **Note:** Version bump only for package @cubejs-backend/ksql-driver diff --git a/packages/cubejs-ksql-driver/package.json b/packages/cubejs-ksql-driver/package.json index 17bacfc27..3d5f92598 100644 --- a/packages/cubejs-ksql-driver/package.json +++ b/packages/cubejs-ksql-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/ksql-driver", "description": "Cube.js ksql database driver", "author": "Cube Dev, Inc.", - "version": "1.2.19", + "version": "1.2.20", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -25,9 +25,9 @@ "lint:fix": "eslint --fix src/* --ext .ts" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.19", - "@cubejs-backend/schema-compiler": "1.2.19", - "@cubejs-backend/shared": "1.2.19", + "@cubejs-backend/base-driver": "1.2.20", + "@cubejs-backend/schema-compiler": "1.2.20", + "@cubejs-backend/shared": "1.2.20", "async-mutex": "0.3.2", "axios": "^0.28.0", "kafkajs": "^2.2.3", @@ -44,7 +44,7 @@ "testEnvironment": "node" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.19", + "@cubejs-backend/linter": "1.2.20", "typescript": "~5.2.2" } } diff --git a/packages/cubejs-linter/CHANGELOG.md b/packages/cubejs-linter/CHANGELOG.md index 8e473926d..505786ecb 100644 --- a/packages/cubejs-linter/CHANGELOG.md +++ b/packages/cubejs-linter/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.20](https://github.com/cube-js/cube/compare/v1.2.19...v1.2.20) (2025-03-10) + +**Note:** Version bump only for package @cubejs-backend/linter + ## [1.2.19](https://github.com/cube-js/cube/compare/v1.2.18...v1.2.19) (2025-03-08) **Note:** Version bump only for package @cubejs-backend/linter diff --git a/packages/cubejs-linter/package.json b/packages/cubejs-linter/package.json index a279a4855..0dd61f752 100644 --- a/packages/cubejs-linter/package.json +++ b/packages/cubejs-linter/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/linter", "description": "Cube.js ESLint (virtual package) for linting code", "author": "Cube Dev, Inc.", - "version": "1.2.19", + "version": "1.2.20", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", diff --git a/packages/cubejs-materialize-driver/CHANGELOG.md b/packages/cubejs-materialize-driver/CHANGELOG.md index 825dd3e9d..f21562301 100644 --- a/packages/cubejs-materialize-driver/CHANGELOG.md +++ b/packages/cubejs-materialize-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.20](https://github.com/cube-js/cube/compare/v1.2.19...v1.2.20) (2025-03-10) + +**Note:** Version bump only for package @cubejs-backend/materialize-driver + ## [1.2.19](https://github.com/cube-js/cube/compare/v1.2.18...v1.2.19) (2025-03-08) **Note:** Version bump only for package @cubejs-backend/materialize-driver diff --git a/packages/cubejs-materialize-driver/package.json b/packages/cubejs-materialize-driver/package.json index a94754453..36084cbfe 100644 --- a/packages/cubejs-materialize-driver/package.json +++ b/packages/cubejs-materialize-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/materialize-driver", "description": "Cube.js Materialize database driver", "author": "Cube Dev, Inc.", - "version": "1.2.19", + "version": "1.2.20", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -27,17 +27,17 @@ "lint:fix": "eslint --fix src/* --ext .ts" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.19", - "@cubejs-backend/postgres-driver": "1.2.19", - "@cubejs-backend/shared": "1.2.19", + "@cubejs-backend/base-driver": "1.2.20", + "@cubejs-backend/postgres-driver": "1.2.20", + "@cubejs-backend/shared": "1.2.20", "@types/pg": "^8.6.0", "pg": "^8.6.0", "semver": "^7.6.3" }, "license": "Apache-2.0", "devDependencies": { - "@cubejs-backend/linter": "1.2.19", - "@cubejs-backend/testing": "1.2.19", + "@cubejs-backend/linter": "1.2.20", + "@cubejs-backend/testing": "1.2.20", "typescript": "~5.2.2" }, "publishConfig": { diff --git a/packages/cubejs-mongobi-driver/CHANGELOG.md b/packages/cubejs-mongobi-driver/CHANGELOG.md index 7d42865c5..4f0957034 100644 --- a/packages/cubejs-mongobi-driver/CHANGELOG.md +++ b/packages/cubejs-mongobi-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.20](https://github.com/cube-js/cube/compare/v1.2.19...v1.2.20) (2025-03-10) + +**Note:** Version bump only for package @cubejs-backend/mongobi-driver + ## [1.2.19](https://github.com/cube-js/cube/compare/v1.2.18...v1.2.19) (2025-03-08) **Note:** Version bump only for package @cubejs-backend/mongobi-driver diff --git a/packages/cubejs-mongobi-driver/package.json b/packages/cubejs-mongobi-driver/package.json index 68dd8fcfc..b23aeb33e 100644 --- a/packages/cubejs-mongobi-driver/package.json +++ b/packages/cubejs-mongobi-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/mongobi-driver", "description": "Cube.js MongoBI driver", "author": "krunalsabnis@gmail.com", - "version": "1.2.19", + "version": "1.2.20", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -27,8 +27,8 @@ "integration:mongobi": "jest dist/test" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.19", - "@cubejs-backend/shared": "1.2.19", + "@cubejs-backend/base-driver": "1.2.20", + "@cubejs-backend/shared": "1.2.20", "@types/node": "^18", "generic-pool": "^3.8.2", "moment": "^2.29.1", @@ -39,7 +39,7 @@ "access": "public" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.19", + "@cubejs-backend/linter": "1.2.20", "@types/generic-pool": "^3.1.9", "testcontainers": "^10.13.0", "typescript": "~5.2.2" diff --git a/packages/cubejs-mssql-driver/CHANGELOG.md b/packages/cubejs-mssql-driver/CHANGELOG.md index 3b3b2eacf..3f0b5c21f 100644 --- a/packages/cubejs-mssql-driver/CHANGELOG.md +++ b/packages/cubejs-mssql-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.20](https://github.com/cube-js/cube/compare/v1.2.19...v1.2.20) (2025-03-10) + +**Note:** Version bump only for package @cubejs-backend/mssql-driver + ## [1.2.19](https://github.com/cube-js/cube/compare/v1.2.18...v1.2.19) (2025-03-08) **Note:** Version bump only for package @cubejs-backend/mssql-driver diff --git a/packages/cubejs-mssql-driver/package.json b/packages/cubejs-mssql-driver/package.json index 39a27a31b..425a3c24d 100644 --- a/packages/cubejs-mssql-driver/package.json +++ b/packages/cubejs-mssql-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/mssql-driver", "description": "Cube.js MS SQL database driver", "author": "Cube Dev, Inc.", - "version": "1.2.19", + "version": "1.2.20", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -13,7 +13,7 @@ }, "main": "driver/MSSqlDriver.js", "dependencies": { - "@cubejs-backend/base-driver": "1.2.19", + "@cubejs-backend/base-driver": "1.2.20", "mssql": "^10.0.2" }, "devDependencies": { diff --git a/packages/cubejs-mysql-aurora-serverless-driver/CHANGELOG.md b/packages/cubejs-mysql-aurora-serverless-driver/CHANGELOG.md index 9b7498581..d22fc696a 100644 --- a/packages/cubejs-mysql-aurora-serverless-driver/CHANGELOG.md +++ b/packages/cubejs-mysql-aurora-serverless-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.20](https://github.com/cube-js/cube/compare/v1.2.19...v1.2.20) (2025-03-10) + +**Note:** Version bump only for package @cubejs-backend/mysql-aurora-serverless-driver + ## [1.2.19](https://github.com/cube-js/cube/compare/v1.2.18...v1.2.19) (2025-03-08) **Note:** Version bump only for package @cubejs-backend/mysql-aurora-serverless-driver diff --git a/packages/cubejs-mysql-aurora-serverless-driver/package.json b/packages/cubejs-mysql-aurora-serverless-driver/package.json index e3737cb69..d52748799 100644 --- a/packages/cubejs-mysql-aurora-serverless-driver/package.json +++ b/packages/cubejs-mysql-aurora-serverless-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/mysql-aurora-serverless-driver", "description": "Cube.js Aurora Serverless Mysql database driver", "author": "Cube Dev, Inc.", - "version": "1.2.19", + "version": "1.2.20", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -21,14 +21,14 @@ "lint": "eslint driver/*.js test/*.js" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.19", - "@cubejs-backend/shared": "1.2.19", + "@cubejs-backend/base-driver": "1.2.20", + "@cubejs-backend/shared": "1.2.20", "@types/mysql": "^2.15.15", "aws-sdk": "^2.787.0", "data-api-client": "^1.1.0" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.19", + "@cubejs-backend/linter": "1.2.20", "@types/data-api-client": "^1.2.1", "jest": "^27", "testcontainers": "^10.10.4" diff --git a/packages/cubejs-mysql-driver/CHANGELOG.md b/packages/cubejs-mysql-driver/CHANGELOG.md index b7be45cba..cdba9941f 100644 --- a/packages/cubejs-mysql-driver/CHANGELOG.md +++ b/packages/cubejs-mysql-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.20](https://github.com/cube-js/cube/compare/v1.2.19...v1.2.20) (2025-03-10) + +**Note:** Version bump only for package @cubejs-backend/mysql-driver + ## [1.2.19](https://github.com/cube-js/cube/compare/v1.2.18...v1.2.19) (2025-03-08) **Note:** Version bump only for package @cubejs-backend/mysql-driver diff --git a/packages/cubejs-mysql-driver/package.json b/packages/cubejs-mysql-driver/package.json index 3537faf3a..eda1f9d60 100644 --- a/packages/cubejs-mysql-driver/package.json +++ b/packages/cubejs-mysql-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/mysql-driver", "description": "Cube.js Mysql database driver", "author": "Cube Dev, Inc.", - "version": "1.2.19", + "version": "1.2.20", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -27,15 +27,15 @@ "lint:fix": "eslint --fix src/* test/* --ext .ts,.js" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.19", - "@cubejs-backend/shared": "1.2.19", + "@cubejs-backend/base-driver": "1.2.20", + "@cubejs-backend/shared": "1.2.20", "@types/mysql": "^2.15.21", "generic-pool": "^3.6.0", "mysql": "^2.18.1" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.19", - "@cubejs-backend/testing-shared": "1.2.19", + "@cubejs-backend/linter": "1.2.20", + "@cubejs-backend/testing-shared": "1.2.20", "@types/generic-pool": "^3.1.9", "@types/jest": "^27", "jest": "^27", diff --git a/packages/cubejs-oracle-driver/CHANGELOG.md b/packages/cubejs-oracle-driver/CHANGELOG.md index ef6d93dd7..e46072d08 100644 --- a/packages/cubejs-oracle-driver/CHANGELOG.md +++ b/packages/cubejs-oracle-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.20](https://github.com/cube-js/cube/compare/v1.2.19...v1.2.20) (2025-03-10) + +**Note:** Version bump only for package @cubejs-backend/oracle-driver + ## [1.2.19](https://github.com/cube-js/cube/compare/v1.2.18...v1.2.19) (2025-03-08) **Note:** Version bump only for package @cubejs-backend/oracle-driver diff --git a/packages/cubejs-oracle-driver/package.json b/packages/cubejs-oracle-driver/package.json index e9c35abdc..ab0aeeea0 100644 --- a/packages/cubejs-oracle-driver/package.json +++ b/packages/cubejs-oracle-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/oracle-driver", "description": "Cube.js oracle database driver", "author": "Cube Dev, Inc.", - "version": "1.2.19", + "version": "1.2.20", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -13,7 +13,7 @@ }, "main": "driver/OracleDriver.js", "dependencies": { - "@cubejs-backend/base-driver": "1.2.19", + "@cubejs-backend/base-driver": "1.2.20", "ramda": "^0.27.0" }, "optionalDependencies": { diff --git a/packages/cubejs-pinot-driver/CHANGELOG.md b/packages/cubejs-pinot-driver/CHANGELOG.md index 7c8a76483..947a6bf47 100644 --- a/packages/cubejs-pinot-driver/CHANGELOG.md +++ b/packages/cubejs-pinot-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.20](https://github.com/cube-js/cube/compare/v1.2.19...v1.2.20) (2025-03-10) + +**Note:** Version bump only for package @cubejs-backend/pinot-driver + ## [1.2.19](https://github.com/cube-js/cube/compare/v1.2.18...v1.2.19) (2025-03-08) ### Features diff --git a/packages/cubejs-pinot-driver/package.json b/packages/cubejs-pinot-driver/package.json index bfa87af17..05bccfe76 100644 --- a/packages/cubejs-pinot-driver/package.json +++ b/packages/cubejs-pinot-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/pinot-driver", "description": "Cube.js Pinot database driver", "author": "Julian Ronsse, InTheMemory, Cube Dev, Inc.", - "version": "1.2.19", + "version": "1.2.20", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -27,9 +27,9 @@ "lint:fix": "eslint --fix src/* --ext .ts" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.19", - "@cubejs-backend/schema-compiler": "1.2.19", - "@cubejs-backend/shared": "1.2.19", + "@cubejs-backend/base-driver": "1.2.20", + "@cubejs-backend/schema-compiler": "1.2.20", + "@cubejs-backend/shared": "1.2.20", "node-fetch": "^2.6.1", "ramda": "^0.27.2", "sqlstring": "^2.3.3" @@ -39,7 +39,7 @@ "access": "public" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.19", + "@cubejs-backend/linter": "1.2.20", "@types/jest": "^27", "jest": "^27", "should": "^13.2.3", diff --git a/packages/cubejs-playground/CHANGELOG.md b/packages/cubejs-playground/CHANGELOG.md index 9a1795790..54d8fcb68 100644 --- a/packages/cubejs-playground/CHANGELOG.md +++ b/packages/cubejs-playground/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.20](https://github.com/cube-js/cube/compare/v1.2.19...v1.2.20) (2025-03-10) + +**Note:** Version bump only for package @cubejs-client/playground + ## [1.2.19](https://github.com/cube-js/cube/compare/v1.2.18...v1.2.19) (2025-03-08) **Note:** Version bump only for package @cubejs-client/playground diff --git a/packages/cubejs-playground/package.json b/packages/cubejs-playground/package.json index c1f9c95e3..bbb7dced5 100644 --- a/packages/cubejs-playground/package.json +++ b/packages/cubejs-playground/package.json @@ -1,7 +1,7 @@ { "name": "@cubejs-client/playground", "author": "Cube Dev, Inc.", - "version": "1.2.19", + "version": "1.2.20", "engines": {}, "repository": { "type": "git", @@ -68,8 +68,8 @@ "@ant-design/compatible": "^1.0.1", "@ant-design/icons": "^5.3.5", "@cube-dev/ui-kit": "0.52.3", - "@cubejs-client/core": "1.2.19", - "@cubejs-client/react": "1.2.19", + "@cubejs-client/core": "1.2.20", + "@cubejs-client/react": "1.2.20", "@types/flexsearch": "^0.7.3", "@types/node": "^18", "@types/react": "^18.3.4", diff --git a/packages/cubejs-postgres-driver/CHANGELOG.md b/packages/cubejs-postgres-driver/CHANGELOG.md index 995116240..2885f939b 100644 --- a/packages/cubejs-postgres-driver/CHANGELOG.md +++ b/packages/cubejs-postgres-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.20](https://github.com/cube-js/cube/compare/v1.2.19...v1.2.20) (2025-03-10) + +**Note:** Version bump only for package @cubejs-backend/postgres-driver + ## [1.2.19](https://github.com/cube-js/cube/compare/v1.2.18...v1.2.19) (2025-03-08) **Note:** Version bump only for package @cubejs-backend/postgres-driver diff --git a/packages/cubejs-postgres-driver/package.json b/packages/cubejs-postgres-driver/package.json index 0d4efd3ad..2529b7af2 100644 --- a/packages/cubejs-postgres-driver/package.json +++ b/packages/cubejs-postgres-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/postgres-driver", "description": "Cube.js Postgres database driver", "author": "Cube Dev, Inc.", - "version": "1.2.19", + "version": "1.2.20", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -27,8 +27,8 @@ "lint:fix": "eslint --fix src/* --ext .ts" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.19", - "@cubejs-backend/shared": "1.2.19", + "@cubejs-backend/base-driver": "1.2.20", + "@cubejs-backend/shared": "1.2.20", "@types/pg": "^8.6.0", "@types/pg-query-stream": "^1.0.3", "moment": "^2.24.0", @@ -37,8 +37,8 @@ }, "license": "Apache-2.0", "devDependencies": { - "@cubejs-backend/linter": "1.2.19", - "@cubejs-backend/testing-shared": "1.2.19", + "@cubejs-backend/linter": "1.2.20", + "@cubejs-backend/testing-shared": "1.2.20", "testcontainers": "^10.13.0", "typescript": "~5.2.2" }, diff --git a/packages/cubejs-prestodb-driver/CHANGELOG.md b/packages/cubejs-prestodb-driver/CHANGELOG.md index 1501f0520..eeb11a4bf 100644 --- a/packages/cubejs-prestodb-driver/CHANGELOG.md +++ b/packages/cubejs-prestodb-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.20](https://github.com/cube-js/cube/compare/v1.2.19...v1.2.20) (2025-03-10) + +**Note:** Version bump only for package @cubejs-backend/prestodb-driver + ## [1.2.19](https://github.com/cube-js/cube/compare/v1.2.18...v1.2.19) (2025-03-08) **Note:** Version bump only for package @cubejs-backend/prestodb-driver diff --git a/packages/cubejs-prestodb-driver/package.json b/packages/cubejs-prestodb-driver/package.json index 9b8a4f268..9038ba451 100644 --- a/packages/cubejs-prestodb-driver/package.json +++ b/packages/cubejs-prestodb-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/prestodb-driver", "description": "Cube.js Presto database driver", "author": "Cube Dev, Inc.", - "version": "1.2.19", + "version": "1.2.20", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -27,8 +27,8 @@ "lint:fix": "eslint --fix src/* --ext .ts" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.19", - "@cubejs-backend/shared": "1.2.19", + "@cubejs-backend/base-driver": "1.2.20", + "@cubejs-backend/shared": "1.2.20", "presto-client": "^0.12.2", "ramda": "^0.27.0", "sqlstring": "^2.3.1" @@ -38,7 +38,7 @@ "access": "public" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.19", + "@cubejs-backend/linter": "1.2.20", "@types/jest": "^27", "jest": "^27", "should": "^13.2.3", diff --git a/packages/cubejs-query-orchestrator/CHANGELOG.md b/packages/cubejs-query-orchestrator/CHANGELOG.md index 8ea03d505..313dde38e 100644 --- a/packages/cubejs-query-orchestrator/CHANGELOG.md +++ b/packages/cubejs-query-orchestrator/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.20](https://github.com/cube-js/cube/compare/v1.2.19...v1.2.20) (2025-03-10) + +**Note:** Version bump only for package @cubejs-backend/query-orchestrator + ## [1.2.19](https://github.com/cube-js/cube/compare/v1.2.18...v1.2.19) (2025-03-08) **Note:** Version bump only for package @cubejs-backend/query-orchestrator diff --git a/packages/cubejs-query-orchestrator/package.json b/packages/cubejs-query-orchestrator/package.json index 46f99ce31..30c7374b6 100644 --- a/packages/cubejs-query-orchestrator/package.json +++ b/packages/cubejs-query-orchestrator/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/query-orchestrator", "description": "Cube.js Query Orchestrator and Cache", "author": "Cube Dev, Inc.", - "version": "1.2.19", + "version": "1.2.20", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -29,16 +29,16 @@ "dist/src/*" ], "dependencies": { - "@cubejs-backend/base-driver": "1.2.19", - "@cubejs-backend/cubestore-driver": "1.2.19", - "@cubejs-backend/shared": "1.2.19", + "@cubejs-backend/base-driver": "1.2.20", + "@cubejs-backend/cubestore-driver": "1.2.20", + "@cubejs-backend/shared": "1.2.20", "csv-write-stream": "^2.0.0", "generic-pool": "^3.7.1", "lru-cache": "^5.1.1", "ramda": "^0.27.2" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.19", + "@cubejs-backend/linter": "1.2.20", "@types/generic-pool": "^3.1.9", "@types/jest": "^27", "@types/node": "^18", diff --git a/packages/cubejs-questdb-driver/CHANGELOG.md b/packages/cubejs-questdb-driver/CHANGELOG.md index 906d33ae5..ed49d6a78 100644 --- a/packages/cubejs-questdb-driver/CHANGELOG.md +++ b/packages/cubejs-questdb-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.20](https://github.com/cube-js/cube/compare/v1.2.19...v1.2.20) (2025-03-10) + +**Note:** Version bump only for package @cubejs-backend/questdb-driver + ## [1.2.19](https://github.com/cube-js/cube/compare/v1.2.18...v1.2.19) (2025-03-08) **Note:** Version bump only for package @cubejs-backend/questdb-driver diff --git a/packages/cubejs-questdb-driver/package.json b/packages/cubejs-questdb-driver/package.json index fc6de2dcb..1cc54750e 100644 --- a/packages/cubejs-questdb-driver/package.json +++ b/packages/cubejs-questdb-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/questdb-driver", "description": "Cube.js QuestDB database driver", "author": "Cube Dev, Inc.", - "version": "1.2.19", + "version": "1.2.20", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -27,9 +27,9 @@ "lint:fix": "eslint --fix src/* --ext .ts" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.19", - "@cubejs-backend/schema-compiler": "1.2.19", - "@cubejs-backend/shared": "1.2.19", + "@cubejs-backend/base-driver": "1.2.20", + "@cubejs-backend/schema-compiler": "1.2.20", + "@cubejs-backend/shared": "1.2.20", "@types/pg": "^8.6.0", "moment": "^2.24.0", "pg": "^8.7.0", @@ -37,8 +37,8 @@ }, "license": "Apache-2.0", "devDependencies": { - "@cubejs-backend/linter": "1.2.19", - "@cubejs-backend/testing-shared": "1.2.19", + "@cubejs-backend/linter": "1.2.20", + "@cubejs-backend/testing-shared": "1.2.20", "testcontainers": "^10.13.0", "typescript": "~5.2.2" }, diff --git a/packages/cubejs-redshift-driver/CHANGELOG.md b/packages/cubejs-redshift-driver/CHANGELOG.md index 84c6a10d9..2685f7f06 100644 --- a/packages/cubejs-redshift-driver/CHANGELOG.md +++ b/packages/cubejs-redshift-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.20](https://github.com/cube-js/cube/compare/v1.2.19...v1.2.20) (2025-03-10) + +**Note:** Version bump only for package @cubejs-backend/redshift-driver + ## [1.2.19](https://github.com/cube-js/cube/compare/v1.2.18...v1.2.19) (2025-03-08) **Note:** Version bump only for package @cubejs-backend/redshift-driver diff --git a/packages/cubejs-redshift-driver/package.json b/packages/cubejs-redshift-driver/package.json index 18f8e3fa4..d5821d6e3 100644 --- a/packages/cubejs-redshift-driver/package.json +++ b/packages/cubejs-redshift-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/redshift-driver", "description": "Cube.js Redshift database driver", "author": "Cube Dev, Inc.", - "version": "1.2.19", + "version": "1.2.20", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -25,13 +25,13 @@ "lint:fix": "eslint --fix src/* --ext .ts" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.19", - "@cubejs-backend/postgres-driver": "1.2.19", - "@cubejs-backend/shared": "1.2.19" + "@cubejs-backend/base-driver": "1.2.20", + "@cubejs-backend/postgres-driver": "1.2.20", + "@cubejs-backend/shared": "1.2.20" }, "license": "Apache-2.0", "devDependencies": { - "@cubejs-backend/linter": "1.2.19", + "@cubejs-backend/linter": "1.2.20", "typescript": "~5.2.2" }, "publishConfig": { diff --git a/packages/cubejs-schema-compiler/CHANGELOG.md b/packages/cubejs-schema-compiler/CHANGELOG.md index 757b737b9..70fa1cba5 100644 --- a/packages/cubejs-schema-compiler/CHANGELOG.md +++ b/packages/cubejs-schema-compiler/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.20](https://github.com/cube-js/cube/compare/v1.2.19...v1.2.20) (2025-03-10) + +**Note:** Version bump only for package @cubejs-backend/schema-compiler + ## [1.2.19](https://github.com/cube-js/cube/compare/v1.2.18...v1.2.19) (2025-03-08) **Note:** Version bump only for package @cubejs-backend/schema-compiler diff --git a/packages/cubejs-schema-compiler/package.json b/packages/cubejs-schema-compiler/package.json index 29559006d..cf65118dc 100644 --- a/packages/cubejs-schema-compiler/package.json +++ b/packages/cubejs-schema-compiler/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/schema-compiler", "description": "Cube schema compiler", "author": "Cube Dev, Inc.", - "version": "1.2.19", + "version": "1.2.20", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -40,8 +40,8 @@ "@babel/standalone": "^7.24", "@babel/traverse": "^7.24", "@babel/types": "^7.24", - "@cubejs-backend/native": "1.2.19", - "@cubejs-backend/shared": "1.2.19", + "@cubejs-backend/native": "1.2.20", + "@cubejs-backend/shared": "1.2.20", "antlr4ts": "0.5.0-alpha.4", "camelcase": "^6.2.0", "cron-parser": "^4.9.0", @@ -59,8 +59,8 @@ }, "devDependencies": { "@clickhouse/client": "^1.7.0", - "@cubejs-backend/linter": "1.2.19", - "@cubejs-backend/query-orchestrator": "1.2.19", + "@cubejs-backend/linter": "1.2.20", + "@cubejs-backend/query-orchestrator": "1.2.20", "@types/babel__code-frame": "^7.0.6", "@types/babel__generator": "^7.6.8", "@types/babel__traverse": "^7.20.5", diff --git a/packages/cubejs-server-core/CHANGELOG.md b/packages/cubejs-server-core/CHANGELOG.md index 28e99bbb7..ce5bae5b2 100644 --- a/packages/cubejs-server-core/CHANGELOG.md +++ b/packages/cubejs-server-core/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.20](https://github.com/cube-js/cube/compare/v1.2.19...v1.2.20) (2025-03-10) + +**Note:** Version bump only for package @cubejs-backend/server-core + ## [1.2.19](https://github.com/cube-js/cube/compare/v1.2.18...v1.2.19) (2025-03-08) **Note:** Version bump only for package @cubejs-backend/server-core diff --git a/packages/cubejs-server-core/package.json b/packages/cubejs-server-core/package.json index eca2c4178..53c718fcf 100644 --- a/packages/cubejs-server-core/package.json +++ b/packages/cubejs-server-core/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/server-core", "description": "Cube.js base component to wire all backend components together", "author": "Cube Dev, Inc.", - "version": "1.2.19", + "version": "1.2.20", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -29,14 +29,14 @@ "unit": "jest --runInBand --forceExit --coverage dist/test" }, "dependencies": { - "@cubejs-backend/api-gateway": "1.2.19", - "@cubejs-backend/cloud": "1.2.19", + "@cubejs-backend/api-gateway": "1.2.20", + "@cubejs-backend/cloud": "1.2.20", "@cubejs-backend/dotenv": "^9.0.2", - "@cubejs-backend/native": "1.2.19", - "@cubejs-backend/query-orchestrator": "1.2.19", - "@cubejs-backend/schema-compiler": "1.2.19", - "@cubejs-backend/shared": "1.2.19", - "@cubejs-backend/templates": "1.2.19", + "@cubejs-backend/native": "1.2.20", + "@cubejs-backend/query-orchestrator": "1.2.20", + "@cubejs-backend/schema-compiler": "1.2.20", + "@cubejs-backend/shared": "1.2.20", + "@cubejs-backend/templates": "1.2.20", "codesandbox-import-utils": "^2.1.12", "cross-spawn": "^7.0.1", "fs-extra": "^8.1.0", @@ -59,9 +59,9 @@ "ws": "^7.5.3" }, "devDependencies": { - "@cubejs-backend/cubestore-driver": "1.2.19", - "@cubejs-backend/linter": "1.2.19", - "@cubejs-client/playground": "1.2.19", + "@cubejs-backend/cubestore-driver": "1.2.20", + "@cubejs-backend/linter": "1.2.20", + "@cubejs-client/playground": "1.2.20", "@types/cross-spawn": "^6.0.2", "@types/express": "^4.17.21", "@types/fs-extra": "^9.0.8", diff --git a/packages/cubejs-server/CHANGELOG.md b/packages/cubejs-server/CHANGELOG.md index f860ad81f..ce3f38f23 100644 --- a/packages/cubejs-server/CHANGELOG.md +++ b/packages/cubejs-server/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.20](https://github.com/cube-js/cube/compare/v1.2.19...v1.2.20) (2025-03-10) + +**Note:** Version bump only for package @cubejs-backend/server + ## [1.2.19](https://github.com/cube-js/cube/compare/v1.2.18...v1.2.19) (2025-03-08) **Note:** Version bump only for package @cubejs-backend/server diff --git a/packages/cubejs-server/package.json b/packages/cubejs-server/package.json index acff2ae33..eeece07a1 100644 --- a/packages/cubejs-server/package.json +++ b/packages/cubejs-server/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/server", "description": "Cube.js all-in-one server", "author": "Cube Dev, Inc.", - "version": "1.2.19", + "version": "1.2.20", "types": "index.d.ts", "repository": { "type": "git", @@ -40,11 +40,11 @@ "jest:shapshot": "jest --updateSnapshot test" }, "dependencies": { - "@cubejs-backend/cubestore-driver": "1.2.19", + "@cubejs-backend/cubestore-driver": "1.2.20", "@cubejs-backend/dotenv": "^9.0.2", - "@cubejs-backend/native": "1.2.19", - "@cubejs-backend/server-core": "1.2.19", - "@cubejs-backend/shared": "1.2.19", + "@cubejs-backend/native": "1.2.20", + "@cubejs-backend/server-core": "1.2.20", + "@cubejs-backend/shared": "1.2.20", "@oclif/color": "^1.0.0", "@oclif/command": "^1.8.13", "@oclif/config": "^1.18.2", @@ -61,8 +61,8 @@ "ws": "^7.1.2" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.19", - "@cubejs-backend/query-orchestrator": "1.2.19", + "@cubejs-backend/linter": "1.2.20", + "@cubejs-backend/query-orchestrator": "1.2.20", "@oclif/dev-cli": "^1.23.1", "@types/body-parser": "^1.19.0", "@types/cors": "^2.8.8", diff --git a/packages/cubejs-snowflake-driver/CHANGELOG.md b/packages/cubejs-snowflake-driver/CHANGELOG.md index 31ec48665..ce8d61b7c 100644 --- a/packages/cubejs-snowflake-driver/CHANGELOG.md +++ b/packages/cubejs-snowflake-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.20](https://github.com/cube-js/cube/compare/v1.2.19...v1.2.20) (2025-03-10) + +**Note:** Version bump only for package @cubejs-backend/snowflake-driver + ## [1.2.19](https://github.com/cube-js/cube/compare/v1.2.18...v1.2.19) (2025-03-08) **Note:** Version bump only for package @cubejs-backend/snowflake-driver diff --git a/packages/cubejs-snowflake-driver/package.json b/packages/cubejs-snowflake-driver/package.json index 84f6c56af..207fef83a 100644 --- a/packages/cubejs-snowflake-driver/package.json +++ b/packages/cubejs-snowflake-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/snowflake-driver", "description": "Cube.js Snowflake database driver", "author": "Cube Dev, Inc.", - "version": "1.2.19", + "version": "1.2.20", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -25,8 +25,8 @@ "lint:fix": "eslint --fix src/* --ext .ts" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.19", - "@cubejs-backend/shared": "1.2.19", + "@cubejs-backend/base-driver": "1.2.20", + "@cubejs-backend/shared": "1.2.20", "date-fns-timezone": "^0.1.4", "snowflake-sdk": "^1.13.1" }, @@ -38,7 +38,7 @@ "extends": "../cubejs-linter" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.19", + "@cubejs-backend/linter": "1.2.20", "typescript": "~5.2.2" } } diff --git a/packages/cubejs-sqlite-driver/CHANGELOG.md b/packages/cubejs-sqlite-driver/CHANGELOG.md index 4863e8fcc..885a38076 100644 --- a/packages/cubejs-sqlite-driver/CHANGELOG.md +++ b/packages/cubejs-sqlite-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.20](https://github.com/cube-js/cube/compare/v1.2.19...v1.2.20) (2025-03-10) + +**Note:** Version bump only for package @cubejs-backend/sqlite-driver + ## [1.2.19](https://github.com/cube-js/cube/compare/v1.2.18...v1.2.19) (2025-03-08) **Note:** Version bump only for package @cubejs-backend/sqlite-driver diff --git a/packages/cubejs-sqlite-driver/package.json b/packages/cubejs-sqlite-driver/package.json index c9dfa37f8..fb0352a2e 100644 --- a/packages/cubejs-sqlite-driver/package.json +++ b/packages/cubejs-sqlite-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/sqlite-driver", "description": "Cube.js Sqlite database driver", "author": "Cube Dev, Inc.", - "version": "1.2.19", + "version": "1.2.20", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -17,13 +17,13 @@ "lint": "eslint **/*.js" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.19", - "@cubejs-backend/shared": "1.2.19", + "@cubejs-backend/base-driver": "1.2.20", + "@cubejs-backend/shared": "1.2.20", "sqlite3": "^5.1.7" }, "license": "Apache-2.0", "devDependencies": { - "@cubejs-backend/linter": "1.2.19" + "@cubejs-backend/linter": "1.2.20" }, "publishConfig": { "access": "public" diff --git a/packages/cubejs-templates/CHANGELOG.md b/packages/cubejs-templates/CHANGELOG.md index a6e99d364..ea740ffa5 100644 --- a/packages/cubejs-templates/CHANGELOG.md +++ b/packages/cubejs-templates/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.20](/compare/v1.2.19...v1.2.20) (2025-03-10) + +**Note:** Version bump only for package @cubejs-backend/templates + ## [1.2.19](https://github.com/cube-js/cube/compare/v1.2.18...v1.2.19) (2025-03-08) **Note:** Version bump only for package @cubejs-backend/templates diff --git a/packages/cubejs-templates/package.json b/packages/cubejs-templates/package.json index 8e4c664f7..0eb89f4d8 100644 --- a/packages/cubejs-templates/package.json +++ b/packages/cubejs-templates/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-backend/templates", - "version": "1.2.19", + "version": "1.2.20", "description": "Cube.js Templates helpers", "author": "Cube Dev, Inc.", "license": "Apache-2.0", @@ -26,7 +26,7 @@ "extends": "../cubejs-linter" }, "dependencies": { - "@cubejs-backend/shared": "1.2.19", + "@cubejs-backend/shared": "1.2.20", "cross-spawn": "^7.0.3", "decompress": "^4.2.1", "decompress-targz": "^4.1.1", @@ -36,7 +36,7 @@ "source-map-support": "^0.5.19" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.19", + "@cubejs-backend/linter": "1.2.20", "typescript": "~5.2.2" } } diff --git a/packages/cubejs-testing-drivers/CHANGELOG.md b/packages/cubejs-testing-drivers/CHANGELOG.md index dd0b07246..b1357cf8d 100644 --- a/packages/cubejs-testing-drivers/CHANGELOG.md +++ b/packages/cubejs-testing-drivers/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.20](/compare/v1.2.19...v1.2.20) (2025-03-10) + +**Note:** Version bump only for package @cubejs-backend/testing-drivers + ## [1.2.19](https://github.com/cube-js/cube/compare/v1.2.18...v1.2.19) (2025-03-08) **Note:** Version bump only for package @cubejs-backend/testing-drivers diff --git a/packages/cubejs-testing-drivers/package.json b/packages/cubejs-testing-drivers/package.json index ec8a0dd6c..2c2886b07 100644 --- a/packages/cubejs-testing-drivers/package.json +++ b/packages/cubejs-testing-drivers/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-backend/testing-drivers", - "version": "1.2.19", + "version": "1.2.20", "description": "Cube.js drivers test suite", "author": "Cube Dev, Inc.", "license": "MIT", @@ -56,24 +56,24 @@ "dist/src" ], "dependencies": { - "@cubejs-backend/athena-driver": "1.2.19", - "@cubejs-backend/base-driver": "1.2.19", - "@cubejs-backend/bigquery-driver": "1.2.19", - "@cubejs-backend/clickhouse-driver": "1.2.19", - "@cubejs-backend/cubestore-driver": "1.2.19", - "@cubejs-backend/databricks-jdbc-driver": "1.2.19", + "@cubejs-backend/athena-driver": "1.2.20", + "@cubejs-backend/base-driver": "1.2.20", + "@cubejs-backend/bigquery-driver": "1.2.20", + "@cubejs-backend/clickhouse-driver": "1.2.20", + "@cubejs-backend/cubestore-driver": "1.2.20", + "@cubejs-backend/databricks-jdbc-driver": "1.2.20", "@cubejs-backend/dotenv": "^9.0.2", - "@cubejs-backend/linter": "1.2.19", - "@cubejs-backend/mssql-driver": "1.2.19", - "@cubejs-backend/mysql-driver": "1.2.19", - "@cubejs-backend/postgres-driver": "1.2.19", - "@cubejs-backend/query-orchestrator": "1.2.19", - "@cubejs-backend/server-core": "1.2.19", - "@cubejs-backend/shared": "1.2.19", - "@cubejs-backend/snowflake-driver": "1.2.19", - "@cubejs-backend/testing-shared": "1.2.19", - "@cubejs-client/core": "1.2.19", - "@cubejs-client/ws-transport": "1.2.19", + "@cubejs-backend/linter": "1.2.20", + "@cubejs-backend/mssql-driver": "1.2.20", + "@cubejs-backend/mysql-driver": "1.2.20", + "@cubejs-backend/postgres-driver": "1.2.20", + "@cubejs-backend/query-orchestrator": "1.2.20", + "@cubejs-backend/server-core": "1.2.20", + "@cubejs-backend/shared": "1.2.20", + "@cubejs-backend/snowflake-driver": "1.2.20", + "@cubejs-backend/testing-shared": "1.2.20", + "@cubejs-client/core": "1.2.20", + "@cubejs-client/ws-transport": "1.2.20", "@jest/globals": "^27", "@types/jest": "^27", "@types/node": "^18", diff --git a/packages/cubejs-testing-shared/CHANGELOG.md b/packages/cubejs-testing-shared/CHANGELOG.md index 618182682..3b631a8b2 100644 --- a/packages/cubejs-testing-shared/CHANGELOG.md +++ b/packages/cubejs-testing-shared/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.20](/compare/v1.2.19...v1.2.20) (2025-03-10) + +**Note:** Version bump only for package @cubejs-backend/testing-shared + ## [1.2.19](https://github.com/cube-js/cube/compare/v1.2.18...v1.2.19) (2025-03-08) **Note:** Version bump only for package @cubejs-backend/testing-shared diff --git a/packages/cubejs-testing-shared/package.json b/packages/cubejs-testing-shared/package.json index be79834d4..9ef487ab4 100644 --- a/packages/cubejs-testing-shared/package.json +++ b/packages/cubejs-testing-shared/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-backend/testing-shared", - "version": "1.2.19", + "version": "1.2.20", "description": "Cube.js Testing Helpers", "author": "Cube Dev, Inc.", "license": "Apache-2.0", @@ -21,16 +21,16 @@ ], "dependencies": { "@cubejs-backend/dotenv": "^9.0.2", - "@cubejs-backend/query-orchestrator": "1.2.19", - "@cubejs-backend/schema-compiler": "1.2.19", - "@cubejs-backend/shared": "1.2.19", + "@cubejs-backend/query-orchestrator": "1.2.20", + "@cubejs-backend/schema-compiler": "1.2.20", + "@cubejs-backend/shared": "1.2.20", "@testcontainers/kafka": "~10.13.0", "dedent": "^0.7.0", "node-fetch": "^2.6.7", "testcontainers": "^10.13.0" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.19", + "@cubejs-backend/linter": "1.2.20", "@jest/globals": "^27", "@types/dedent": "^0.7.0", "@types/jest": "^27", diff --git a/packages/cubejs-testing/CHANGELOG.md b/packages/cubejs-testing/CHANGELOG.md index 75e46c17d..c3796e3bd 100644 --- a/packages/cubejs-testing/CHANGELOG.md +++ b/packages/cubejs-testing/CHANGELOG.md @@ -3,6 +3,12 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.20](/compare/v1.2.19...v1.2.20) (2025-03-10) + +### Features + +- Add SQL queries support in /v1/sql endpoint (#9301) 7eba663, closes #9301 + ## [1.2.19](https://github.com/cube-js/cube/compare/v1.2.18...v1.2.19) (2025-03-08) **Note:** Version bump only for package @cubejs-backend/testing diff --git a/packages/cubejs-testing/package.json b/packages/cubejs-testing/package.json index 3b6425802..313570b0e 100644 --- a/packages/cubejs-testing/package.json +++ b/packages/cubejs-testing/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-backend/testing", - "version": "1.2.19", + "version": "1.2.20", "description": "Cube.js e2e tests", "author": "Cube Dev, Inc.", "license": "Apache-2.0", @@ -94,15 +94,15 @@ "birdbox-fixtures" ], "dependencies": { - "@cubejs-backend/cubestore-driver": "1.2.19", + "@cubejs-backend/cubestore-driver": "1.2.20", "@cubejs-backend/dotenv": "^9.0.2", - "@cubejs-backend/ksql-driver": "1.2.19", - "@cubejs-backend/postgres-driver": "1.2.19", - "@cubejs-backend/query-orchestrator": "1.2.19", - "@cubejs-backend/schema-compiler": "1.2.19", - "@cubejs-backend/shared": "1.2.19", - "@cubejs-backend/testing-shared": "1.2.19", - "@cubejs-client/ws-transport": "1.2.19", + "@cubejs-backend/ksql-driver": "1.2.20", + "@cubejs-backend/postgres-driver": "1.2.20", + "@cubejs-backend/query-orchestrator": "1.2.20", + "@cubejs-backend/schema-compiler": "1.2.20", + "@cubejs-backend/shared": "1.2.20", + "@cubejs-backend/testing-shared": "1.2.20", + "@cubejs-client/ws-transport": "1.2.20", "dedent": "^0.7.0", "fs-extra": "^8.1.0", "http-proxy": "^1.18.1", @@ -113,8 +113,8 @@ }, "devDependencies": { "@4tw/cypress-drag-drop": "^1.6.0", - "@cubejs-backend/linter": "1.2.19", - "@cubejs-client/core": "1.2.19", + "@cubejs-backend/linter": "1.2.20", + "@cubejs-client/core": "1.2.20", "@jest/globals": "^27", "@types/dedent": "^0.7.0", "@types/http-proxy": "^1.17.5", diff --git a/packages/cubejs-trino-driver/CHANGELOG.md b/packages/cubejs-trino-driver/CHANGELOG.md index 3c2c55ab4..1938ad74e 100644 --- a/packages/cubejs-trino-driver/CHANGELOG.md +++ b/packages/cubejs-trino-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.20](https://github.com/cube-js/cube/compare/v1.2.19...v1.2.20) (2025-03-10) + +**Note:** Version bump only for package @cubejs-backend/trino-driver + ## [1.2.19](https://github.com/cube-js/cube/compare/v1.2.18...v1.2.19) (2025-03-08) **Note:** Version bump only for package @cubejs-backend/trino-driver diff --git a/packages/cubejs-trino-driver/package.json b/packages/cubejs-trino-driver/package.json index f92ace7fe..d0d0973da 100644 --- a/packages/cubejs-trino-driver/package.json +++ b/packages/cubejs-trino-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/trino-driver", "description": "Cube.js Trino database driver", "author": "Cube Dev, Inc.", - "version": "1.2.19", + "version": "1.2.20", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -25,10 +25,10 @@ "lint:fix": "eslint --fix src/* --ext .ts" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.19", - "@cubejs-backend/prestodb-driver": "1.2.19", - "@cubejs-backend/schema-compiler": "1.2.19", - "@cubejs-backend/shared": "1.2.19", + "@cubejs-backend/base-driver": "1.2.20", + "@cubejs-backend/prestodb-driver": "1.2.20", + "@cubejs-backend/schema-compiler": "1.2.20", + "@cubejs-backend/shared": "1.2.20", "presto-client": "^0.12.2", "sqlstring": "^2.3.1" }, @@ -37,7 +37,7 @@ "access": "public" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.19" + "@cubejs-backend/linter": "1.2.20" }, "eslintConfig": { "extends": "../cubejs-linter" diff --git a/packages/cubejs-vertica-driver/CHANGELOG.md b/packages/cubejs-vertica-driver/CHANGELOG.md index a06d78071..4f05484df 100644 --- a/packages/cubejs-vertica-driver/CHANGELOG.md +++ b/packages/cubejs-vertica-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.20](https://github.com/cube-js/cube.js/compare/v1.2.19...v1.2.20) (2025-03-10) + +**Note:** Version bump only for package @cubejs-backend/vertica-driver + ## [1.2.19](https://github.com/cube-js/cube.js/compare/v1.2.18...v1.2.19) (2025-03-08) **Note:** Version bump only for package @cubejs-backend/vertica-driver diff --git a/packages/cubejs-vertica-driver/package.json b/packages/cubejs-vertica-driver/package.json index d7c887f42..c7d670c18 100644 --- a/packages/cubejs-vertica-driver/package.json +++ b/packages/cubejs-vertica-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/vertica-driver", "description": "Cube.js Vertica database driver", "author": "Eduard Karacharov, Tim Brown, Cube Dev, Inc.", - "version": "1.2.19", + "version": "1.2.20", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.js.git", @@ -19,15 +19,15 @@ "lint:fix": "eslint --fix **/*.js" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.19", - "@cubejs-backend/query-orchestrator": "1.2.19", - "@cubejs-backend/schema-compiler": "1.2.19", + "@cubejs-backend/base-driver": "1.2.20", + "@cubejs-backend/query-orchestrator": "1.2.20", + "@cubejs-backend/schema-compiler": "1.2.20", "vertica-nodejs": "^1.0.3" }, "license": "Apache-2.0", "devDependencies": { - "@cubejs-backend/linter": "1.2.19", - "@cubejs-backend/testing-shared": "1.2.19", + "@cubejs-backend/linter": "1.2.20", + "@cubejs-backend/testing-shared": "1.2.20", "jest": "^27", "testcontainers": "^10.13.0" }, diff --git a/rust/cubesql/CHANGELOG.md b/rust/cubesql/CHANGELOG.md index 8de0dcee0..26cc875fe 100644 --- a/rust/cubesql/CHANGELOG.md +++ b/rust/cubesql/CHANGELOG.md @@ -3,6 +3,12 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.20](/compare/v1.2.19...v1.2.20) (2025-03-10) + +### Features + +- Add SQL queries support in /v1/sql endpoint (#9301) 7eba663, closes #9301 + ## [1.2.19](https://github.com/cube-js/cube/compare/v1.2.18...v1.2.19) (2025-03-08) **Note:** Version bump only for package @cubejs-backend/cubesql diff --git a/rust/cubesql/package.json b/rust/cubesql/package.json index 7ba6a72c2..ca5cc751f 100644 --- a/rust/cubesql/package.json +++ b/rust/cubesql/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-backend/cubesql", - "version": "1.2.19", + "version": "1.2.20", "description": "SQL API for Cube as proxy over MySQL protocol.", "engines": { "node": "^12.0.0 || ^14.0.0 || >=16.0.0" diff --git a/rust/cubestore/CHANGELOG.md b/rust/cubestore/CHANGELOG.md index e8d428ac6..821926ecd 100644 --- a/rust/cubestore/CHANGELOG.md +++ b/rust/cubestore/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.20](/compare/v1.2.19...v1.2.20) (2025-03-10) + +**Note:** Version bump only for package @cubejs-backend/cubestore + ## [1.2.19](https://github.com/cube-js/cube/compare/v1.2.18...v1.2.19) (2025-03-08) **Note:** Version bump only for package @cubejs-backend/cubestore diff --git a/rust/cubestore/package.json b/rust/cubestore/package.json index 2a000030e..1b3e4a066 100644 --- a/rust/cubestore/package.json +++ b/rust/cubestore/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-backend/cubestore", - "version": "1.2.19", + "version": "1.2.20", "description": "Cube.js pre-aggregation storage layer.", "main": "dist/src/index.js", "typings": "dist/src/index.d.ts", @@ -27,7 +27,7 @@ "author": "Cube Dev, Inc.", "license": "Apache-2.0", "devDependencies": { - "@cubejs-backend/linter": "1.2.19", + "@cubejs-backend/linter": "1.2.20", "@types/jest": "^27", "@types/node": "^18", "jest": "^27", @@ -37,7 +37,7 @@ "access": "public" }, "dependencies": { - "@cubejs-backend/shared": "1.2.19", + "@cubejs-backend/shared": "1.2.20", "@octokit/core": "^3.2.5", "source-map-support": "^0.5.19" }, From 9ad69a2ce2a109b4e6f3578541b2f53011e68f7c Mon Sep 17 00:00:00 2001 From: Igor Lukanin Date: Mon, 10 Mar 2025 14:50:42 +0100 Subject: [PATCH 42/49] docs: New concurrency pages and env vars (#9323) --- DEPRECATION.md | 7 ++ docs/pages/product/caching/_meta.js | 1 + .../caching/refreshing-pre-aggregations.mdx | 21 +++++ docs/pages/product/configuration/_meta.js | 4 +- .../product/configuration/concurrency.mdx | 90 +++++++++++++++++++ .../product/configuration/data-sources.mdx | 28 ++---- .../configuration/data-sources/aws-athena.mdx | 15 ++-- .../data-sources/aws-redshift.mdx | 4 +- .../configuration/data-sources/clickhouse.mdx | 4 +- .../data-sources/databricks-jdbc.mdx | 4 +- .../configuration/data-sources/druid.mdx | 4 +- .../configuration/data-sources/duckdb.mdx | 4 +- .../data-sources/elasticsearch.mdx | 4 +- .../configuration/data-sources/firebolt.mdx | 4 +- .../data-sources/google-bigquery.mdx | 4 +- .../configuration/data-sources/hive.mdx | 4 +- .../configuration/data-sources/ksqldb.mdx | 4 +- .../data-sources/materialize.mdx | 4 +- .../configuration/data-sources/mongodb.mdx | 4 +- .../configuration/data-sources/ms-sql.mdx | 4 +- .../configuration/data-sources/mysql.mdx | 4 +- .../configuration/data-sources/oracle.mdx | 4 +- .../configuration/data-sources/pinot.mdx | 3 + .../configuration/data-sources/postgres.mdx | 4 +- .../configuration/data-sources/presto.mdx | 4 +- .../configuration/data-sources/questdb.mdx | 4 +- .../configuration/data-sources/risingwave.mdx | 4 +- .../configuration/data-sources/snowflake.mdx | 4 +- .../configuration/data-sources/sqlite.mdx | 4 +- .../configuration/data-sources/trino.mdx | 4 +- .../configuration/data-sources/vertica.mdx | 4 +- .../{advanced => }/multiple-data-sources.mdx | 7 +- .../{advanced => }/multitenancy.mdx | 0 .../configuration/environment-variables.mdx | 40 +++++++-- docs/redirects.json | 14 ++- 35 files changed, 250 insertions(+), 72 deletions(-) create mode 100644 docs/pages/product/caching/refreshing-pre-aggregations.mdx create mode 100644 docs/pages/product/configuration/concurrency.mdx rename docs/pages/product/configuration/{advanced => }/multiple-data-sources.mdx (97%) rename docs/pages/product/configuration/{advanced => }/multitenancy.mdx (100%) diff --git a/DEPRECATION.md b/DEPRECATION.md index 3c3268d63..a66d5d6a1 100644 --- a/DEPRECATION.md +++ b/DEPRECATION.md @@ -64,6 +64,7 @@ features: | Removed | [`initApp` hook](#initapp-hook) | v0.35.0 | v0.35.0 | | Removed | [`/v1/run-scheduled-refresh` REST API endpoint](#v1run-scheduled-refresh-rest-api-endpoint) | v0.35.0 | v0.36.0 | | Deprecated | [Node.js 18](#nodejs-18) | v0.36.0 | | +| Deprecated | [`CUBEJS_SCHEDULED_REFRESH_CONCURRENCY`](#cubejs_scheduled_refresh_concurrency) | v1.2.7 | | ### Node.js 8 @@ -391,3 +392,9 @@ API](https://cube.dev/docs/product/apis-integrations/orchestration-api) and Node.js 18 reaches [End of Life on April 30, 2025][link-nodejs-eol]. This means no more updates. Please upgrade to Node.js 20 or higher. + +### `CUBEJS_SCHEDULED_REFRESH_CONCURRENCY` + +**Deprecated in Release: v1.2.7** + +This environment variable was renamed to [`CUBEJS_SCHEDULED_REFRESH_QUERIES_PER_APP_ID`](https://cube.dev/docs/reference/configuration/environment-variables#cubejs_scheduled_refresh_queries_per_app_id). Please use the new name. \ No newline at end of file diff --git a/docs/pages/product/caching/_meta.js b/docs/pages/product/caching/_meta.js index 1d8700a1c..2d7b0cafb 100644 --- a/docs/pages/product/caching/_meta.js +++ b/docs/pages/product/caching/_meta.js @@ -2,6 +2,7 @@ module.exports = { "getting-started-pre-aggregations": "Getting started with pre-aggregations", "using-pre-aggregations": "Using pre-aggregations", "matching-pre-aggregations": "Matching pre-aggregations", + "refreshing-pre-aggregations": "Refreshing pre-aggregations", "lambda-pre-aggregations": "Lambda pre-aggregations", "running-in-production": "Running in production" } \ No newline at end of file diff --git a/docs/pages/product/caching/refreshing-pre-aggregations.mdx b/docs/pages/product/caching/refreshing-pre-aggregations.mdx new file mode 100644 index 000000000..f8e248f14 --- /dev/null +++ b/docs/pages/product/caching/refreshing-pre-aggregations.mdx @@ -0,0 +1,21 @@ +# Refreshing pre-aggregations + +_Pre-aggregation refresh_ is the process of building pre-aggregations and updating +them with new data. Pre-aggregation refresh is the responsibility of the _refresh +worker_. + +## Configuration + +You can use the following environment variables to configure the refresh worker +behavior: + +- `CUBEJS_REFRESH_WORKER` (see also `CUBEJS_PRE_AGGREGATIONS_BUILDER`) +- `CUBEJS_PRE_AGGREGATIONS_SCHEMA` +- `CUBEJS_SCHEDULED_REFRESH_TIMEZONES` +- `CUBEJS_DB_QUERY_TIMEOUT` +- `CUBEJS_REFRESH_WORKER_CONCURRENCY` (see also `CUBEJS_CONCURRENCY`) +- `CUBEJS_SCHEDULED_REFRESH_QUERIES_PER_APP_ID` +- `CUBEJS_DROP_PRE_AGG_WITHOUT_TOUCH` + + +[ref-multitenancy]: /product/configuration/advanced/multitenancy \ No newline at end of file diff --git a/docs/pages/product/configuration/_meta.js b/docs/pages/product/configuration/_meta.js index e6485428a..a183902a5 100644 --- a/docs/pages/product/configuration/_meta.js +++ b/docs/pages/product/configuration/_meta.js @@ -1,5 +1,7 @@ module.exports = { "data-sources": "Data sources", "visualization-tools": "Visualization tools", - "advanced": "Advanced" + "multiple-data-sources": "Multiple data sources", + "concurrency": "Concurrency", + "multitenancy": "Multitenancy" } \ No newline at end of file diff --git a/docs/pages/product/configuration/concurrency.mdx b/docs/pages/product/configuration/concurrency.mdx new file mode 100644 index 000000000..2b23880fa --- /dev/null +++ b/docs/pages/product/configuration/concurrency.mdx @@ -0,0 +1,90 @@ +# Querying concurrency + +All queries to [data APIs][ref-data-apis] are processed asynchronously via a _query +queue_. It allows to optimize the load and increase querying performance. + +## Query queue + +The query queue allows to deduplicate queries to API instances and insulate upstream +data sources from query spikes. It also allows to execute queries to data sources +concurrently for increased performance. + +By default, Cube uses a _single_ query queue for queries from all API instances and +the refresh worker to all configured data sources. + + + +You can read more about the query queue in the [this blog post](https://cube.dev/blog/how-you-win-by-using-cube-store-part-1#query-queue-in-cube). + + + +### Multiple query queues + +You can use the [`context_to_orchestrator_id`][ref-context-to-orchestrator-id] +configuration option to route queries to multiple queues based on the security +context. + + + +If you're configuring multiple connections to data sources via the [`driver_factory` +configuration option][ref-driver-factory], you __must__ also configure +`context_to_orchestrator_id` to ensure that queries are routed to correct queues. + + + +## Data sources + +Cube supports various kinds of [data sources][ref-data-sources], ranging from cloud +data warehouses to embedded databases. Each data source scales differently, +therefore Cube provides sound defaults for each kind of data source out-of-the-box. + +### Data source concurrency + +By default, Cube uses the following concurrency settings for data sources: + +| Data source | Default concurrency | +| --- | --- | +| [Amazon Athena][ref-athena] | 10 | +| [Amazon Redshift][ref-redshift] | 5 | +| [Apache Pinot][ref-pinot] | 10 | +| [ClickHouse][ref-clickhouse] | 10 | +| [Databricks][ref-databricks] | 10 | +| [Firebolt][ref-firebolt] | 10 | +| [Google BigQuery][ref-bigquery] | 10 | +| [Snowflake][ref-snowflake] | 8 | +| All other data sources | 5 or [less, if specified in the driver][link-github-data-source-concurrency] | + +You can use the `CUBEJS_CONCURRENCY` environment variable to adjust the maximum +number of concurrent queries to a data source. It's recommended to use the default +configuration unless you're sure that your data source can handle more concurrent +queries. + +### Connection pooling + +For data sources that support connection pooling, the maximum number of concurrent +connections to the database can also be set by using the `CUBEJS_DB_MAX_POOL` +environment variable. If changing this from the default, you must ensure that the +new value is greater than the number of concurrent connections used by Cube's query +queues and the refresh worker. + +## Refresh worker + +By default, the refresh worker uses the same concurrency settings as API instances. +However, you can override this behvaior in the refresh worker +[configuration][ref-preagg-refresh]. + + +[ref-data-apis]: /product/apis-integrations +[ref-data-sources]: /product/configuration/data-sources +[ref-context-to-orchestrator-id]: /reference/configuration/config#context_to_orchestrator_id +[ref-driver-factory]: /reference/configuration/config#driver_factory +[ref-preagg-refresh]: /product/caching/refreshing-pre-aggregations#configuration +[ref-athena]: /product/configuration/data-sources/aws-athena +[ref-clickhouse]: /product/configuration/data-sources/clickhouse +[ref-databricks]: /product/configuration/data-sources/databricks-jdbc +[ref-firebolt]: /product/configuration/data-sources/firebolt +[ref-pinot]: /product/configuration/data-sources/pinot +[ref-redshift]: /product/configuration/data-sources/aws-redshift +[ref-snowflake]: /product/configuration/data-sources/snowflake +[ref-bigquery]: /product/configuration/data-sources/google-bigquery +[link-github-data-source-concurrency]: https://github.com/search?q=repo%3Acube-js%2Fcube+getDefaultConcurrency+path%3Apackages%2Fcubejs-&type=code \ No newline at end of file diff --git a/docs/pages/product/configuration/data-sources.mdx b/docs/pages/product/configuration/data-sources.mdx index d884d6a5b..3ec81c2d7 100644 --- a/docs/pages/product/configuration/data-sources.mdx +++ b/docs/pages/product/configuration/data-sources.mdx @@ -8,8 +8,9 @@ redirect_from: Choose a data source to get started with below. -Note that Cube also supports connecting to [multiple data -sources][ref-config-multi-data-src] out of the box. +You can also connect [multiple data sources][ref-config-multi-data-src] at the same +time and adjust the [concurrency settings][ref-data-source-concurrency] for data +sources. ## Data warehouses @@ -251,28 +252,9 @@ users on the [Enterprise Premier](https://cube.dev/pricing) product tier. -## Concurrency and pooling - - - -All Cube database drivers come with presets for concurrency and pooling that -work out-of-the-box. The following information is included as a reference. - - - -For increased performance, Cube uses multiple concurrent connections to -configured data sources. The `CUBEJS_CONCURRENCY` environment variable controls -concurrency settings for query queues and the refresh scheduler as well as the -maximum concurrent connections. - -For databases that support connection pooling, -the maximum number of concurrent connections to the database can also be set by -using the `CUBEJS_DB_MAX_POOL` environment variable; if changing this from the -default, you must ensure that the new value is greater than the number of -concurrent connections used by Cube's query queues and refresh scheduler. - [ref-config-multi-data-src]: /product/configuration/advanced/multiple-data-sources [ref-driver-factory]: /reference/configuration/config#driver_factory [ref-duckdb]: /product/configuration/data-sources/duckdb -[link-github-packages]: https://github.com/cube-js/cube/tree/master/packages \ No newline at end of file +[link-github-packages]: https://github.com/cube-js/cube/tree/master/packages +[ref-data-source-concurrency]: /product/configuration/concurrency#data-sources \ No newline at end of file diff --git a/docs/pages/product/configuration/data-sources/aws-athena.mdx b/docs/pages/product/configuration/data-sources/aws-athena.mdx index 7a24fa4fb..82bc60362 100644 --- a/docs/pages/product/configuration/data-sources/aws-athena.mdx +++ b/docs/pages/product/configuration/data-sources/aws-athena.mdx @@ -1,9 +1,4 @@ ---- -redirect_from: - - /config/databases/aws-athena ---- - -# AWS Athena +# Amazon Athena ## Prerequisites @@ -39,7 +34,7 @@ Configuration in your deployment. -In Cube Cloud, select **AWS Athena** when creating a new deployment and fill in +In Cube Cloud, select AWS Athena** when creating a new deployment and fill in the required fields: + +Previously, this environment variable was named `CUBEJS_SCHEDULED_REFRESH_CONCURRENCY`. + + + ## `CUBEJS_CUBESTORE_HOST` The hostname of the Cube Store deployment @@ -1038,15 +1070,7 @@ mode](/product/caching/using-pre-aggregations#rollup-only-mode) for details. It can be also set using the [`orchestrator_options.rollupOnlyMode` configuration option](/reference/configuration/config#orchestrator_options). -## `CUBEJS_SCHEDULED_REFRESH_CONCURRENCY` - -How many pre-aggregations refresh worker will build in parallel. Please note -changing this param doesn't change queue concurrency and it should be adjusted -accordingly -| Possible Values | Default in Development | Default in Production | -| ---------------------------------------------- | ---------------------- | --------------------- | -| A valid number of concurrent refresh processes | 10 | 10 | ## `CUBEJS_SCHEDULED_REFRESH_TIMEZONES` diff --git a/docs/redirects.json b/docs/redirects.json index 6155b8fb3..0eb1d477a 100644 --- a/docs/redirects.json +++ b/docs/redirects.json @@ -1,4 +1,14 @@ [ + { + "source": "/product/configuration/advanced/multiple-data-sources", + "destination": "/product/configuration/multiple-data-sources", + "permanent": true + }, + { + "source": "/product/configuration/advanced/multitenancy", + "destination": "/product/configuration/multitenancy", + "permanent": true + }, { "source": "/product/workspace/visual-modeler", "destination": "/product/workspace/visual-model", @@ -901,12 +911,12 @@ }, { "source": "/config/multitenancy", - "destination": "/product/configuration/advanced/multitenancy", + "destination": "/product/configuration/multitenancy", "permanent": true }, { "source": "/config/multiple-data-sources", - "destination": "/product/configuration/advanced/multiple-data-sources", + "destination": "/product/configuration/multiple-data-sources", "permanent": true }, { From 4a533f3b0c91100ba76f4b6b12102f120e4b002d Mon Sep 17 00:00:00 2001 From: Igor Lukanin Date: Mon, 10 Mar 2025 15:28:55 +0100 Subject: [PATCH 43/49] docs: Update docs for Monitoring Integrations --- docs/pages/product/workspace/monitoring.mdx | 56 ++++++++++--------- .../workspace/monitoring/cloudwatch.mdx | 1 - .../product/workspace/monitoring/datadog.mdx | 1 - .../workspace/monitoring/grafana-cloud.mdx | 1 - .../workspace/monitoring/new-relic.mdx | 1 - .../pages/product/workspace/monitoring/s3.mdx | 1 - 6 files changed, 29 insertions(+), 32 deletions(-) diff --git a/docs/pages/product/workspace/monitoring.mdx b/docs/pages/product/workspace/monitoring.mdx index 0589ac890..692b3759d 100644 --- a/docs/pages/product/workspace/monitoring.mdx +++ b/docs/pages/product/workspace/monitoring.mdx @@ -1,9 +1,3 @@ ---- -redirect_from: - - /cloud/workspace/logs - - /monitoring/integrations ---- - # Monitoring Integrations Cube Cloud allows exporting logs and metrics to external monitoring tools so you @@ -105,13 +99,14 @@ default_api_key = "$CUBE_CLOUD_MONITORING_DATADOG_API_KEY" ### Inputs for logs Sinks accept the `inputs` option that allows to specify which components of a -Cube Cloud deployment should export their logs. Supported inputs: +Cube Cloud deployment should export their logs: -- `cubejs-server` -- `refresh-scheduler` -- `ext-db` -- `warmup-job` -- `cubestore` +| Input name | Description | +| --- | --- | +| `cubejs-server` | Logs of API instances | +| `refresh-scheduler` | Logs of the refresh worker | +| `warmup-job` | Logs of the [pre-aggregation warm-up][ref-preagg-warmup] | +| `cubestore` | Logs of Cube Store | Example configuration for exporting logs to [Datadog][vector-docs-sinks-datadog]: @@ -122,7 +117,6 @@ type = "datadog_logs" inputs = [ "cubejs-server", "refresh-scheduler", - "ext-db", "warmup-job", "cubestore" ] @@ -169,7 +163,6 @@ connection_string = "DefaultEndpointsProtocol=https;AccountName=mylogstorage;Acc inputs = [ "cubejs-server", "refresh-scheduler", - "ext-db", "warmup-job", "cubestore" ] @@ -185,20 +178,28 @@ levels = [ ### Inputs for metrics -Metrics are exported using the `metrics` input. You can filter them by providing -an array of metric names via the `list` option. +Metrics are exported using the `metrics` input. Metrics will have their respective +metric names and_types: [`gauge`][vector-docs-metrics-gauge] or +[`counter`][vector-docs-metrics-counter]. + +All metrics of the `counter` type reset to zero at the midnight (UTC) and increment +during the next 24 hours. + +You can filter metrics by providing an array of _input names_ via the `list` option. -| Name | Type | Applies to | Description | -| ------------------------ | ---------------------------------------- | -------------------- | ---------------------------------------------- | -| `cpu` | [`gauge`][vector-docs-metrics-gauge] | Node of a deployment | Percent of free CPU against requests | -| `memory` | [`gauge`][vector-docs-metrics-gauge] | Node of a deployment | Percent of free Memory against requests | -| `requests-count` | [`counter`][vector-docs-metrics-counter] | Deployment | Total number of processed requests | -| `requests-errors-count` | [`counter`][vector-docs-metrics-counter] | Deployment | Number of requests processed with errors | -| `requests-success-count` | [`counter`][vector-docs-metrics-counter] | Deployment | Number of requests processed successfully | -| `requests-duration` | [`counter`][vector-docs-metrics-counter] | Deployment | Total time taken to process requests (seconds) | +| Input name | Metric name, type | Description | +| --- | --- | --- | +| `cpu` | `cube_cpu_usage_ratio`, `gauge` | CPU usage of a particular node in the deployment. Usually, a number in the 0—100 range. May exceed 100 if the node is under load | +| `memory` | `cube_memory_usage_ratio`, `gauge` | Memory usage of a particular node in the deployment. Usually, a number in the 0—100 range. May exceed 100 if the node is under load | +| `requests-count` | `cube_requests_total`, `counter` | Number of API requests to the deployment | +| `requests-success-count` | `cube_requests_success_total`, `counter` | Number of successful API requests to the deployment | +| `requests-errors-count` | `cube_requests_errors_total`, `counter` | Number of errorneous API requests to the deployment | +| `requests-duration` | `cube_requests_duration_ms_total`, `counter` | Total time taken to process API requests, milliseconds | +| `requests-success-duration` | `cube_requests_duration_ms_success`, `counter` | Total time taken to process successful API requests, milliseconds | +| `requests-errors-duration` | `cube_requests_duration_ms_errors`, `counter` | Total time taken to process errorneous API requests, milliseconds | -You can further filter exported metrics by providing an array of `inputs` that -applies to metics only. +You can further filter exported metrics by providing an array of `inputs`. It applies to +metics only. Example configuration for exporting all metrics from `cubejs-server` to [Prometheus][vector-docs-sinks-prometheus] using the `prometheus_remote_write` @@ -300,4 +301,5 @@ setting `CUBE_CLOUD_MONITORING_METRICS_USER` and [prometheus]: https://prometheus.io [mimir]: https://grafana.com/oss/mimir/ [grafana-cloud]: https://grafana.com/products/cloud/ -[ref-prod-env]: /product/workspace/environments#production-environment \ No newline at end of file +[ref-prod-env]: /product/workspace/environments#production-environment +[ref-preagg-warmup]: /product/deployment/cloud/warm-up#pre-aggregation-warm-up \ No newline at end of file diff --git a/docs/pages/product/workspace/monitoring/cloudwatch.mdx b/docs/pages/product/workspace/monitoring/cloudwatch.mdx index d94b6ea0d..2a7e5b36b 100644 --- a/docs/pages/product/workspace/monitoring/cloudwatch.mdx +++ b/docs/pages/product/workspace/monitoring/cloudwatch.mdx @@ -27,7 +27,6 @@ type = "aws_cloudwatch_logs" inputs = [ "cubejs-server", "refresh-scheduler", - "ext-db", "warmup-job", "cubestore" ] diff --git a/docs/pages/product/workspace/monitoring/datadog.mdx b/docs/pages/product/workspace/monitoring/datadog.mdx index b9c89254c..f9a0a372d 100644 --- a/docs/pages/product/workspace/monitoring/datadog.mdx +++ b/docs/pages/product/workspace/monitoring/datadog.mdx @@ -31,7 +31,6 @@ type = "datadog_logs" inputs = [ "cubejs-server", "refresh-scheduler", - "ext-db", "warmup-job", "cubestore" ] diff --git a/docs/pages/product/workspace/monitoring/grafana-cloud.mdx b/docs/pages/product/workspace/monitoring/grafana-cloud.mdx index 22b85e449..f6068a7c2 100644 --- a/docs/pages/product/workspace/monitoring/grafana-cloud.mdx +++ b/docs/pages/product/workspace/monitoring/grafana-cloud.mdx @@ -31,7 +31,6 @@ type = "loki" inputs = [ "cubejs-server", "refresh-scheduler", - "ext-db", "warmup-job", "cubestore" ] diff --git a/docs/pages/product/workspace/monitoring/new-relic.mdx b/docs/pages/product/workspace/monitoring/new-relic.mdx index 8d5001c30..21c3e963c 100644 --- a/docs/pages/product/workspace/monitoring/new-relic.mdx +++ b/docs/pages/product/workspace/monitoring/new-relic.mdx @@ -25,7 +25,6 @@ api = "logs" inputs = [ "cubejs-server", "refresh-scheduler", - "ext-db", "warmup-job", "cubestore" ] diff --git a/docs/pages/product/workspace/monitoring/s3.mdx b/docs/pages/product/workspace/monitoring/s3.mdx index a1b6f0aac..69b0f6585 100644 --- a/docs/pages/product/workspace/monitoring/s3.mdx +++ b/docs/pages/product/workspace/monitoring/s3.mdx @@ -23,7 +23,6 @@ type = "aws_s3" inputs = [ "cubejs-server", "refresh-scheduler", - "ext-db", "warmup-job", "cubestore" ] From 3bbec0378ce13b55d8e6f2d3acff60e543efcb34 Mon Sep 17 00:00:00 2001 From: Mikhail Cheshkov Date: Mon, 10 Mar 2025 17:52:58 +0200 Subject: [PATCH 44/49] feat(cubesql): Move dimensions-only projections to dimensions for push-to-Cube wrapper (#9318) Supporting changes: * Track used cube members in generate_sql_for_expr and generate_column_expr * Use only actually used cubes in member expressions --- .../cubesql/src/compile/engine/df/wrapper.rs | 163 +++++++++++++----- rust/cubesql/cubesql/src/compile/mod.rs | 8 +- .../cubesql/src/compile/test/test_wrapper.rs | 4 +- 3 files changed, 130 insertions(+), 45 deletions(-) diff --git a/rust/cubesql/cubesql/src/compile/engine/df/wrapper.rs b/rust/cubesql/cubesql/src/compile/engine/df/wrapper.rs index d4eac2eb5..bcc7b3d0c 100644 --- a/rust/cubesql/cubesql/src/compile/engine/df/wrapper.rs +++ b/rust/cubesql/cubesql/src/compile/engine/df/wrapper.rs @@ -849,6 +849,7 @@ impl CubeScanWrapperNode { expr, None, Arc::new(HashMap::new()), + None, ) .await?; columns.push(AliasedColumn { expr, alias }); @@ -1263,7 +1264,9 @@ impl CubeScanWrapperNode { subqueries_sql.clone(), ) .await?; - let join_condition = join_condition[0].expr.clone(); + + let join_condition_members = &join_condition[0].1; + let join_condition = join_condition[0].0.expr.clone(); sql = new_sql; let join_sql_expression = { @@ -1274,6 +1277,7 @@ impl CubeScanWrapperNode { expr: join_condition, alias: "__join__alias__unused".to_string(), }, + join_condition_members, &ungrouped_scan_node.used_cubes, )?; serde_json::json!(res).to_string() @@ -1305,28 +1309,39 @@ impl CubeScanWrapperNode { let load_request = &ungrouped_scan_node.request; + let (dimensions_only_projection, projection_with_measures) = + projection.iter().partition::, _>( + |(_column, used_members)| { + used_members.iter().all(|member| { + plan.meta.find_dimension_with_name(member).is_some() + }) + }, + ); + let load_request = V1LoadRequestQuery { measures: Some( aggregate .iter() - .map(|m| { + .map(|(m, used_members)| { Self::ungrouped_member_def( m, + used_members, &ungrouped_scan_node.used_cubes, ) }) - .chain( - // TODO understand type of projections - projection.iter().map(|m| { + .chain(projection_with_measures.iter().map( + |(m, used_members)| { Self::ungrouped_member_def( m, + used_members, &ungrouped_scan_node.used_cubes, ) - }), - ) - .chain(window.iter().map(|m| { + }, + )) + .chain(window.iter().map(|(m, used_members)| { Self::ungrouped_member_def( m, + used_members, &ungrouped_scan_node.used_cubes, ) })) @@ -1336,21 +1351,32 @@ impl CubeScanWrapperNode { group_by .iter() .zip(group_descs.iter()) - .map(|(m, t)| { + .map(|((m, used_members), t)| { Self::dimension_member_def( m, + used_members, &ungrouped_scan_node.used_cubes, t, ) }) + .chain(dimensions_only_projection.iter().map( + |(m, used_members)| { + Self::ungrouped_member_def( + m, + used_members, + &ungrouped_scan_node.used_cubes, + ) + }, + )) .collect::>()?, ), segments: Some( filter .iter() - .map(|m| { + .map(|(m, used_members)| { Self::ungrouped_member_def( m, + used_members, &ungrouped_scan_node.used_cubes, ) }) @@ -1398,7 +1424,7 @@ impl CubeScanWrapperNode { )) })?; Ok(vec![ - aliased_column.alias.clone(), + aliased_column.0.alias.clone(), if *asc { "asc".to_string() } else { "desc".to_string() }, ]) } @@ -1469,24 +1495,24 @@ impl CubeScanWrapperNode { .get_sql_templates() .select( sql.sql.to_string(), - projection, - group_by, + projection.into_iter().map(|(m, _)| m).collect(), + group_by.into_iter().map(|(m, _)| m).collect(), group_descs, - aggregate, + aggregate.into_iter().map(|(m, _)| m).collect(), // TODO from_alias.unwrap_or("".to_string()), if !filter.is_empty() { Some( filter .iter() - .map(|f| f.expr.to_string()) + .map(|(f, _)| f.expr.to_string()) .join(" AND "), ) } else { None }, None, - order, + order.into_iter().map(|(m, _)| m).collect(), limit, offset, distinct, @@ -1548,7 +1574,7 @@ impl CubeScanWrapperNode { can_rename_columns: bool, push_to_cube_context: Option<&PushToCubeContext<'_>>, subqueries: Arc>, - ) -> result::Result<(Vec, SqlQuery), CubeError> { + ) -> result::Result<(Vec<(AliasedColumn, HashSet)>, SqlQuery), CubeError> { let mut aliased_columns = Vec::new(); for original_expr in exprs { let expr = if let Some(column_remapping) = column_remapping { @@ -1563,6 +1589,8 @@ impl CubeScanWrapperNode { } else { original_expr.clone() }; + + let mut used_members = HashSet::new(); let (expr_sql, new_sql_query) = Self::generate_sql_for_expr( plan.clone(), sql, @@ -1570,6 +1598,7 @@ impl CubeScanWrapperNode { expr.clone(), push_to_cube_context, subqueries.clone(), + Some(&mut used_members), ) .await?; let expr_sql = @@ -1577,48 +1606,66 @@ impl CubeScanWrapperNode { sql = new_sql_query; let alias = next_remapper.add_expr(&schema, &original_expr, &expr)?; - aliased_columns.push(AliasedColumn { - expr: expr_sql, - alias, - }); + aliased_columns.push(( + AliasedColumn { + expr: expr_sql, + alias, + }, + used_members, + )); } Ok((aliased_columns, sql)) } - fn make_member_def( + fn make_member_def<'m>( column: &AliasedColumn, - used_cubes: &Vec, + used_members: impl IntoIterator, + ungrouped_scan_cubes: &Vec, ) -> Result { + let used_cubes = used_members + .into_iter() + .flat_map(|member| member.split_once('.')) + .map(|(cube, _rest)| cube) + .unique() + .map(|cube| cube.to_string()) + .collect::>(); + let cube_name = used_cubes + .first() + .or_else(|| ungrouped_scan_cubes.first()) + .ok_or_else(|| { + DataFusionError::Internal(format!( + "Can't generate SQL for column without cubes: {:?}", + column + )) + })? + .clone(); + let res = UngrouppedMemberDef { - cube_name: used_cubes - .iter() - .next() - .ok_or_else(|| { - DataFusionError::Internal(format!( - "Can't generate SQL for column without cubes: {:?}", - column - )) - })? - .to_string(), + cube_name, alias: column.alias.clone(), - cube_params: used_cubes.clone(), + cube_params: used_cubes, expr: column.expr.clone(), grouping_set: None, }; Ok(res) } - fn ungrouped_member_def(column: &AliasedColumn, used_cubes: &Vec) -> Result { - let res = Self::make_member_def(column, used_cubes)?; + fn ungrouped_member_def<'m>( + column: &AliasedColumn, + used_members: impl IntoIterator, + ungrouped_scan_cubes: &Vec, + ) -> Result { + let res = Self::make_member_def(column, used_members, ungrouped_scan_cubes)?; Ok(serde_json::json!(res).to_string()) } - fn dimension_member_def( + fn dimension_member_def<'m>( column: &AliasedColumn, - used_cubes: &Vec, + used_members: impl IntoIterator, + ungrouped_scan_cubes: &Vec, grouping_type: &Option, ) -> Result { - let mut res = Self::make_member_def(column, used_cubes)?; + let mut res = Self::make_member_def(column, used_members, ungrouped_scan_cubes)?; res.grouping_set = grouping_type.clone(); Ok(serde_json::json!(res).to_string()) } @@ -1674,6 +1721,7 @@ impl CubeScanWrapperNode { expr: Expr, push_to_cube_context: Option<&'ctx PushToCubeContext>, subqueries: Arc>, + mut used_members: Option<&'ctx mut HashSet>, ) -> Pin> + Send + 'ctx>> { Box::pin(async move { match expr { @@ -1685,6 +1733,7 @@ impl CubeScanWrapperNode { *expr, push_to_cube_context, subqueries.clone(), + used_members, ) .await?; Ok((expr, sql_query)) @@ -1723,6 +1772,7 @@ impl CubeScanWrapperNode { expr, None, subqueries.clone(), + used_members, ) .await; } @@ -1757,6 +1807,9 @@ impl CubeScanWrapperNode { })?; match member { MemberField::Member(member) => { + if let Some(used_members) = used_members { + used_members.insert(member.clone()); + } Ok((format!("${{{}}}", member), sql_query)) } MemberField::Literal(value) => { @@ -1767,6 +1820,7 @@ impl CubeScanWrapperNode { Expr::Literal(value.clone()), push_to_cube_context, subqueries.clone(), + used_members, ) .await } @@ -1818,6 +1872,7 @@ impl CubeScanWrapperNode { *left, push_to_cube_context, subqueries.clone(), + used_members.as_deref_mut(), ) .await?; let (right, sql_query) = Self::generate_sql_for_expr( @@ -1827,6 +1882,7 @@ impl CubeScanWrapperNode { *right, push_to_cube_context, subqueries.clone(), + used_members, ) .await?; let resulting_sql = sql_generator @@ -1849,6 +1905,7 @@ impl CubeScanWrapperNode { *like.expr, push_to_cube_context, subqueries.clone(), + used_members.as_deref_mut(), ) .await?; let (pattern, sql_query) = Self::generate_sql_for_expr( @@ -1858,6 +1915,7 @@ impl CubeScanWrapperNode { *like.pattern, push_to_cube_context, subqueries.clone(), + used_members.as_deref_mut(), ) .await?; let (escape_char, sql_query) = match like.escape_char { @@ -1869,6 +1927,7 @@ impl CubeScanWrapperNode { Expr::Literal(ScalarValue::Utf8(Some(escape_char.to_string()))), push_to_cube_context, subqueries.clone(), + used_members, ) .await?; (Some(escape_char), sql_query) @@ -1894,6 +1953,7 @@ impl CubeScanWrapperNode { *ilike.expr, push_to_cube_context, subqueries.clone(), + used_members.as_deref_mut(), ) .await?; let (pattern, sql_query) = Self::generate_sql_for_expr( @@ -1903,6 +1963,7 @@ impl CubeScanWrapperNode { *ilike.pattern, push_to_cube_context, subqueries.clone(), + used_members.as_deref_mut(), ) .await?; let (escape_char, sql_query) = match ilike.escape_char { @@ -1914,6 +1975,7 @@ impl CubeScanWrapperNode { Expr::Literal(ScalarValue::Utf8(Some(escape_char.to_string()))), push_to_cube_context, subqueries.clone(), + used_members, ) .await?; (Some(escape_char), sql_query) @@ -1940,6 +2002,7 @@ impl CubeScanWrapperNode { *expr, push_to_cube_context, subqueries.clone(), + used_members, ) .await?; let resulting_sql = @@ -1962,6 +2025,7 @@ impl CubeScanWrapperNode { *expr, push_to_cube_context, subqueries.clone(), + used_members, ) .await?; let resulting_sql = sql_generator @@ -1983,6 +2047,7 @@ impl CubeScanWrapperNode { *expr, push_to_cube_context, subqueries.clone(), + used_members, ) .await?; let resulting_sql = sql_generator @@ -2004,6 +2069,7 @@ impl CubeScanWrapperNode { *expr, push_to_cube_context, subqueries.clone(), + used_members, ) .await?; let resulting_sql = sql_generator @@ -2032,6 +2098,7 @@ impl CubeScanWrapperNode { *expr, push_to_cube_context, subqueries.clone(), + used_members.as_deref_mut(), ) .await?; sql_query = sql_query_next; @@ -2048,6 +2115,7 @@ impl CubeScanWrapperNode { *when, push_to_cube_context, subqueries.clone(), + used_members.as_deref_mut(), ) .await?; let (then, sql_query_next) = Self::generate_sql_for_expr( @@ -2057,6 +2125,7 @@ impl CubeScanWrapperNode { *then, push_to_cube_context, subqueries.clone(), + used_members.as_deref_mut(), ) .await?; sql_query = sql_query_next; @@ -2070,6 +2139,7 @@ impl CubeScanWrapperNode { *else_expr, push_to_cube_context, subqueries.clone(), + used_members, ) .await?; sql_query = sql_query_next; @@ -2093,6 +2163,7 @@ impl CubeScanWrapperNode { *expr, push_to_cube_context, subqueries.clone(), + used_members, ) .await?; let data_type = Self::generate_sql_type(sql_generator.clone(), data_type)?; @@ -2113,6 +2184,7 @@ impl CubeScanWrapperNode { *expr, push_to_cube_context, subqueries.clone(), + used_members, ) .await?; let resulting_sql = sql_generator @@ -2446,6 +2518,7 @@ impl CubeScanWrapperNode { arg, push_to_cube_context, subqueries.clone(), + used_members.as_deref_mut(), ) .await?; sql_query = query; @@ -2483,6 +2556,7 @@ impl CubeScanWrapperNode { args[1].clone(), push_to_cube_context, subqueries.clone(), + used_members, ) .await?; return Ok(( @@ -2526,6 +2600,7 @@ impl CubeScanWrapperNode { arg, push_to_cube_context, subqueries.clone(), + used_members.as_deref_mut(), ) .await?; sql_query = query; @@ -2566,6 +2641,7 @@ impl CubeScanWrapperNode { arg, push_to_cube_context, subqueries.clone(), + used_members.as_deref_mut(), ) .await?; sql_query = query; @@ -2595,6 +2671,7 @@ impl CubeScanWrapperNode { expr, push_to_cube_context, subqueries.clone(), + used_members.as_deref_mut(), ) .await?; sql_query = query; @@ -2623,6 +2700,7 @@ impl CubeScanWrapperNode { expr, push_to_cube_context, subqueries.clone(), + used_members.as_deref_mut(), ) .await?; sql_query = query; @@ -2664,6 +2742,7 @@ impl CubeScanWrapperNode { arg, push_to_cube_context, subqueries.clone(), + used_members.as_deref_mut(), ) .await?; sql_query = query; @@ -2678,6 +2757,7 @@ impl CubeScanWrapperNode { arg, push_to_cube_context, subqueries.clone(), + used_members.as_deref_mut(), ) .await?; sql_query = query; @@ -2692,6 +2772,7 @@ impl CubeScanWrapperNode { arg, push_to_cube_context, subqueries.clone(), + used_members.as_deref_mut(), ) .await?; sql_query = query; @@ -2728,6 +2809,7 @@ impl CubeScanWrapperNode { *expr, push_to_cube_context, subqueries.clone(), + used_members.as_deref_mut(), ) .await?; sql_query = query; @@ -2740,6 +2822,7 @@ impl CubeScanWrapperNode { expr, push_to_cube_context, subqueries.clone(), + used_members.as_deref_mut(), ) .await?; sql_query = query; @@ -2771,6 +2854,7 @@ impl CubeScanWrapperNode { *expr, push_to_cube_context, subqueries.clone(), + used_members.as_deref_mut(), ) .await?; sql_query = query; @@ -2781,6 +2865,7 @@ impl CubeScanWrapperNode { *subquery, push_to_cube_context, subqueries.clone(), + used_members, ) .await?; sql_query = query; diff --git a/rust/cubesql/cubesql/src/compile/mod.rs b/rust/cubesql/cubesql/src/compile/mod.rs index b0ec639e6..5593db5c6 100644 --- a/rust/cubesql/cubesql/src/compile/mod.rs +++ b/rust/cubesql/cubesql/src/compile/mod.rs @@ -7285,7 +7285,7 @@ ORDER BY json!({ "cube_name": "WideCube", "alias": "pivot_grouping", - "cube_params": ["WideCube"], + "cube_params": [], "expr": "0", "grouping_set": null, }) @@ -11809,16 +11809,16 @@ ORDER BY "source"."str0" ASC json!({ "cube_name": "KibanaSampleDataEcommerce", "alias": "ta_1_order_date_", - "cube_params": ["KibanaSampleDataEcommerce", "Logs"], + "cube_params": ["KibanaSampleDataEcommerce"], "expr": "((${KibanaSampleDataEcommerce.order_date} = DATE('1994-05-01')) OR (${KibanaSampleDataEcommerce.order_date} = DATE('1996-05-03')))", "grouping_set": null, }).to_string(), ]), segments: Some(vec![ json!({ - "cube_name": "KibanaSampleDataEcommerce", + "cube_name": "Logs", "alias": "lower_ta_2_conte", - "cube_params": ["KibanaSampleDataEcommerce", "Logs"], + "cube_params": ["Logs"], "expr": "(LOWER(${Logs.content}) = $0$)", "grouping_set": null, }).to_string(), diff --git a/rust/cubesql/cubesql/src/compile/test/test_wrapper.rs b/rust/cubesql/cubesql/src/compile/test/test_wrapper.rs index df6a743e6..0973f7d37 100644 --- a/rust/cubesql/cubesql/src/compile/test/test_wrapper.rs +++ b/rust/cubesql/cubesql/src/compile/test/test_wrapper.rs @@ -1556,8 +1556,8 @@ async fn wrapper_cast_limit_explicit_members() { .as_logical_plan() .find_cube_scan_wrapped_sql() .request; - assert_eq!(request.measures.unwrap().len(), 1); - assert_eq!(request.dimensions.unwrap().len(), 0); + assert_eq!(request.measures.unwrap().len(), 0); + assert_eq!(request.dimensions.unwrap().len(), 1); } #[tokio::test] From e748ae54078bd26fb049c42119d7c9c61b5dcd6f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 11 Mar 2025 00:39:26 +0100 Subject: [PATCH 45/49] chore(deps): Bump ring from 0.17.8 to 0.17.13 in /rust/cubesql (#9322) Bumps [ring](https://github.com/briansmith/ring) from 0.17.8 to 0.17.13. - [Changelog](https://github.com/briansmith/ring/blob/main/RELEASES.md) - [Commits](https://github.com/briansmith/ring/commits) --- updated-dependencies: - dependency-name: ring dependency-type: indirect ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- rust/cubesql/Cargo.lock | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/rust/cubesql/Cargo.lock b/rust/cubesql/Cargo.lock index 1ec05d613..f7d024f65 100644 --- a/rust/cubesql/Cargo.lock +++ b/rust/cubesql/Cargo.lock @@ -382,12 +382,13 @@ checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" [[package]] name = "cc" -version = "1.1.5" +version = "1.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "324c74f2155653c90b04f25b2a47a8a631360cb908f92a772695f430c7e31052" +checksum = "be714c154be609ec7f5dad223a33bf1482fff90472de28f7362806e6d4832b8c" dependencies = [ "jobserver", "libc", + "shlex", ] [[package]] @@ -2685,15 +2686,14 @@ dependencies = [ [[package]] name = "ring" -version = "0.17.8" +version = "0.17.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d" +checksum = "70ac5d832aa16abd7d1def883a8545280c20a60f523a370aa3a9617c2b8550ee" dependencies = [ "cc", "cfg-if", "getrandom 0.2.14", "libc", - "spin", "untrusted", "windows-sys 0.52.0", ] @@ -2912,6 +2912,12 @@ dependencies = [ "digest", ] +[[package]] +name = "shlex" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" + [[package]] name = "signal-hook-registry" version = "1.4.0" @@ -2984,12 +2990,6 @@ dependencies = [ "windows-sys 0.48.0", ] -[[package]] -name = "spin" -version = "0.9.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" - [[package]] name = "sqlparser" version = "0.16.0" From dabee2405349ab82bcfe090901471d82e97033df Mon Sep 17 00:00:00 2001 From: Alex Vasilev Date: Mon, 10 Mar 2025 17:48:45 -0700 Subject: [PATCH 46/49] fix(cubejs-native): cubesql query logger span_id (#9325) * fix(cubejs-native): cubesql query logger span_id * propagate span_id * ref * cleanup --- .../cubejs-backend-native/src/node_export.rs | 40 ++++++++++++------- .../src/compile/test/test_user_change.rs | 2 +- 2 files changed, 27 insertions(+), 15 deletions(-) diff --git a/packages/cubejs-backend-native/src/node_export.rs b/packages/cubejs-backend-native/src/node_export.rs index 23f8fff45..4dce20cc6 100644 --- a/packages/cubejs-backend-native/src/node_export.rs +++ b/packages/cubejs-backend-native/src/node_export.rs @@ -1,10 +1,12 @@ -use cubesql::compile::{convert_sql_to_cube_query, get_df_batches}; +use cubesql::compile::parser::parse_sql_to_statement; +use cubesql::compile::{convert_statement_to_cube_query, get_df_batches}; use cubesql::config::processing_loop::ShutdownMode; -use cubesql::transport::TransportService; +use cubesql::transport::{SpanId, TransportService}; use futures::StreamExt; use serde_json::Map; use tokio::sync::Semaphore; +use uuid::Uuid; use crate::auth::{NativeAuthContext, NodeBridgeAuthService}; use crate::channel::call_js_fn; @@ -27,7 +29,6 @@ use cubesqlplanner::cube_bridge::base_query_options::NativeBaseQueryOptions; use cubesqlplanner::planner::base_query::BaseQuery; use std::rc::Rc; use std::sync::Arc; -use std::time::SystemTime; use cubesql::{telemetry::ReportingLogger, CubeError}; @@ -183,7 +184,10 @@ async fn handle_sql_query( stream_methods: WritableStreamMethods, sql_query: &str, ) -> Result<(), CubeError> { - let start_time = SystemTime::now(); + let span_id = Some(Arc::new(SpanId::new( + Uuid::new_v4().to_string(), + serde_json::json!({ "sql": sql_query }), + ))); let transport_service = services .injector() @@ -197,20 +201,19 @@ async fn handle_sql_query( .server .transport .log_load_state( - None, + span_id.clone(), auth_context, session.state.get_load_request_meta("sql"), "Load Request".to_string(), serde_json::json!({ - "query": { - "sql": sql_query, - } + "query": span_id.as_ref().unwrap().query_key, }), ) .await?; } let session_clone = Arc::clone(&session); + let span_id_clone = span_id.clone(); let execute = || async move { // todo: can we use compiler_cache? @@ -220,7 +223,17 @@ async fn handle_sql_query( .map_err(|err| { CubeError::internal(format!("Failed to get meta context: {}", err)) })?; - let query_plan = convert_sql_to_cube_query(sql_query, meta_context, session).await?; + + let stmt = + parse_sql_to_statement(sql_query, session.state.protocol.clone(), &mut None)?; + let query_plan = convert_statement_to_cube_query( + stmt, + meta_context, + session, + &mut None, + span_id_clone, + ) + .await?; let mut stream = get_df_batches(&query_plan).await?; @@ -300,7 +313,6 @@ async fn handle_sql_query( }; let result = execute().await; - let duration = start_time.elapsed().unwrap().as_millis() as u64; match &result { Ok(_) => { @@ -309,7 +321,7 @@ async fn handle_sql_query( .server .transport .log_load_state( - None, + span_id.clone(), session_clone.state.auth_context().unwrap(), session_clone.state.get_load_request_meta("sql"), "Load Request Success".to_string(), @@ -318,7 +330,7 @@ async fn handle_sql_query( "sql": sql_query, }, "apiType": "sql", - "duration": duration, + "duration": span_id.as_ref().unwrap().duration(), "isDataQuery": true }), ) @@ -330,7 +342,7 @@ async fn handle_sql_query( .server .transport .log_load_state( - None, + span_id.clone(), session_clone.state.auth_context().unwrap(), session_clone.state.get_load_request_meta("sql"), "Cube SQL Error".to_string(), @@ -339,7 +351,7 @@ async fn handle_sql_query( "sql": sql_query }, "apiType": "sql", - "duration": duration, + "duration": span_id.as_ref().unwrap().duration(), "error": err.message, }), ) diff --git a/rust/cubesql/cubesql/src/compile/test/test_user_change.rs b/rust/cubesql/cubesql/src/compile/test/test_user_change.rs index 3cad0a3b6..a5680eeab 100644 --- a/rust/cubesql/cubesql/src/compile/test/test_user_change.rs +++ b/rust/cubesql/cubesql/src/compile/test/test_user_change.rs @@ -163,7 +163,7 @@ async fn test_change_user_via_filter_or() { convert_sql_to_cube_query( &"SELECT COUNT(*) as cnt FROM KibanaSampleDataEcommerce WHERE __user = 'gopher' OR customer_gender = 'male'".to_string(), meta.clone(), - get_test_session(DatabaseProtocol::PostgreSQL, meta).await + get_test_session(DatabaseProtocol::PostgreSQL, meta).await, ).await; // TODO: We need to propagate error to result, to assert message From 3d3ac9c4928f9816b3c17de16a93f7ae440fa971 Mon Sep 17 00:00:00 2001 From: Alex Vasilev Date: Mon, 10 Mar 2025 18:29:38 -0700 Subject: [PATCH 47/49] v1.2.21 --- CHANGELOG.md | 10 ++++ lerna.json | 2 +- packages/cubejs-api-gateway/CHANGELOG.md | 4 ++ packages/cubejs-api-gateway/package.json | 8 +-- packages/cubejs-athena-driver/CHANGELOG.md | 4 ++ packages/cubejs-athena-driver/package.json | 10 ++-- packages/cubejs-backend-cloud/CHANGELOG.md | 4 ++ packages/cubejs-backend-cloud/package.json | 6 +- packages/cubejs-backend-maven/CHANGELOG.md | 4 ++ packages/cubejs-backend-maven/package.json | 6 +- packages/cubejs-backend-native/CHANGELOG.md | 6 ++ packages/cubejs-backend-native/package.json | 8 +-- packages/cubejs-backend-shared/CHANGELOG.md | 4 ++ packages/cubejs-backend-shared/package.json | 4 +- packages/cubejs-base-driver/CHANGELOG.md | 4 ++ packages/cubejs-base-driver/package.json | 6 +- packages/cubejs-bigquery-driver/CHANGELOG.md | 4 ++ packages/cubejs-bigquery-driver/package.json | 8 +-- packages/cubejs-cli/CHANGELOG.md | 4 ++ packages/cubejs-cli/package.json | 12 ++-- .../cubejs-clickhouse-driver/CHANGELOG.md | 4 ++ .../cubejs-clickhouse-driver/package.json | 10 ++-- packages/cubejs-client-core/CHANGELOG.md | 4 ++ packages/cubejs-client-core/package.json | 2 +- packages/cubejs-client-dx/CHANGELOG.md | 4 ++ packages/cubejs-client-dx/package.json | 2 +- packages/cubejs-client-ngx/CHANGELOG.md | 4 ++ packages/cubejs-client-ngx/package.json | 2 +- packages/cubejs-client-react/CHANGELOG.md | 4 ++ packages/cubejs-client-react/package.json | 4 +- packages/cubejs-client-vue/CHANGELOG.md | 4 ++ packages/cubejs-client-vue/package.json | 4 +- packages/cubejs-client-vue3/CHANGELOG.md | 4 ++ packages/cubejs-client-vue3/package.json | 4 +- .../cubejs-client-ws-transport/CHANGELOG.md | 4 ++ .../cubejs-client-ws-transport/package.json | 6 +- packages/cubejs-crate-driver/CHANGELOG.md | 4 ++ packages/cubejs-crate-driver/package.json | 10 ++-- packages/cubejs-cubestore-driver/CHANGELOG.md | 4 ++ packages/cubejs-cubestore-driver/package.json | 12 ++-- .../CHANGELOG.md | 4 ++ .../package.json | 12 ++-- .../cubejs-dbt-schema-extension/CHANGELOG.md | 4 ++ .../cubejs-dbt-schema-extension/package.json | 8 +-- packages/cubejs-docker/CHANGELOG.md | 4 ++ packages/cubejs-docker/package.json | 60 +++++++++---------- packages/cubejs-dremio-driver/CHANGELOG.md | 4 ++ packages/cubejs-dremio-driver/package.json | 12 ++-- packages/cubejs-druid-driver/CHANGELOG.md | 4 ++ packages/cubejs-druid-driver/package.json | 10 ++-- packages/cubejs-duckdb-driver/CHANGELOG.md | 4 ++ packages/cubejs-duckdb-driver/package.json | 12 ++-- .../cubejs-elasticsearch-driver/CHANGELOG.md | 4 ++ .../cubejs-elasticsearch-driver/package.json | 8 +-- packages/cubejs-firebolt-driver/CHANGELOG.md | 4 ++ packages/cubejs-firebolt-driver/package.json | 12 ++-- packages/cubejs-hive-driver/CHANGELOG.md | 4 ++ packages/cubejs-hive-driver/package.json | 8 +-- packages/cubejs-jdbc-driver/CHANGELOG.md | 4 ++ packages/cubejs-jdbc-driver/package.json | 8 +-- packages/cubejs-ksql-driver/CHANGELOG.md | 4 ++ packages/cubejs-ksql-driver/package.json | 10 ++-- packages/cubejs-linter/CHANGELOG.md | 4 ++ packages/cubejs-linter/package.json | 2 +- .../cubejs-materialize-driver/CHANGELOG.md | 4 ++ .../cubejs-materialize-driver/package.json | 12 ++-- packages/cubejs-mongobi-driver/CHANGELOG.md | 4 ++ packages/cubejs-mongobi-driver/package.json | 8 +-- packages/cubejs-mssql-driver/CHANGELOG.md | 4 ++ packages/cubejs-mssql-driver/package.json | 4 +- .../CHANGELOG.md | 4 ++ .../package.json | 8 +-- packages/cubejs-mysql-driver/CHANGELOG.md | 4 ++ packages/cubejs-mysql-driver/package.json | 10 ++-- packages/cubejs-oracle-driver/CHANGELOG.md | 4 ++ packages/cubejs-oracle-driver/package.json | 4 +- packages/cubejs-pinot-driver/CHANGELOG.md | 4 ++ packages/cubejs-pinot-driver/package.json | 10 ++-- packages/cubejs-playground/CHANGELOG.md | 4 ++ packages/cubejs-playground/package.json | 6 +- packages/cubejs-postgres-driver/CHANGELOG.md | 4 ++ packages/cubejs-postgres-driver/package.json | 10 ++-- packages/cubejs-prestodb-driver/CHANGELOG.md | 4 ++ packages/cubejs-prestodb-driver/package.json | 8 +-- .../cubejs-query-orchestrator/CHANGELOG.md | 4 ++ .../cubejs-query-orchestrator/package.json | 10 ++-- packages/cubejs-questdb-driver/CHANGELOG.md | 4 ++ packages/cubejs-questdb-driver/package.json | 12 ++-- packages/cubejs-redshift-driver/CHANGELOG.md | 4 ++ packages/cubejs-redshift-driver/package.json | 10 ++-- packages/cubejs-schema-compiler/CHANGELOG.md | 4 ++ packages/cubejs-schema-compiler/package.json | 10 ++-- packages/cubejs-server-core/CHANGELOG.md | 4 ++ packages/cubejs-server-core/package.json | 22 +++---- packages/cubejs-server/CHANGELOG.md | 4 ++ packages/cubejs-server/package.json | 14 ++--- packages/cubejs-snowflake-driver/CHANGELOG.md | 4 ++ packages/cubejs-snowflake-driver/package.json | 8 +-- packages/cubejs-sqlite-driver/CHANGELOG.md | 4 ++ packages/cubejs-sqlite-driver/package.json | 8 +-- packages/cubejs-templates/CHANGELOG.md | 4 ++ packages/cubejs-templates/package.json | 6 +- packages/cubejs-testing-drivers/CHANGELOG.md | 4 ++ packages/cubejs-testing-drivers/package.json | 36 +++++------ packages/cubejs-testing-shared/CHANGELOG.md | 4 ++ packages/cubejs-testing-shared/package.json | 10 ++-- packages/cubejs-testing/CHANGELOG.md | 4 ++ packages/cubejs-testing/package.json | 22 +++---- packages/cubejs-trino-driver/CHANGELOG.md | 4 ++ packages/cubejs-trino-driver/package.json | 12 ++-- packages/cubejs-vertica-driver/CHANGELOG.md | 4 ++ packages/cubejs-vertica-driver/package.json | 12 ++-- rust/cubesql/CHANGELOG.md | 10 ++++ rust/cubesql/package.json | 2 +- rust/cubestore/CHANGELOG.md | 4 ++ rust/cubestore/package.json | 6 +- 116 files changed, 530 insertions(+), 284 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 174a08763..584e64262 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,16 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.21](https://github.com/cube-js/cube/compare/v1.2.20...v1.2.21) (2025-03-11) + +### Bug Fixes + +- **cubejs-native:** cubesql query logger span_id ([#9325](https://github.com/cube-js/cube/issues/9325)) ([568d306](https://github.com/cube-js/cube/commit/568d306a9b97672caf69543077e7863fc773af41)) + +### Features + +- **cubesql:** Move dimensions-only projections to dimensions for push-to-Cube wrapper ([#9318](https://github.com/cube-js/cube/issues/9318)) ([ca62aa0](https://github.com/cube-js/cube/commit/ca62aa0e747b88c2754f3a758c7a959ee52b0c81)) + ## [1.2.20](https://github.com/cube-js/cube/compare/v1.2.19...v1.2.20) (2025-03-10) ### Bug Fixes diff --git a/lerna.json b/lerna.json index 1212ccdbc..e0ce82b54 100644 --- a/lerna.json +++ b/lerna.json @@ -1,5 +1,5 @@ { - "version": "1.2.20", + "version": "1.2.21", "npmClient": "yarn", "command": { "bootstrap": { diff --git a/packages/cubejs-api-gateway/CHANGELOG.md b/packages/cubejs-api-gateway/CHANGELOG.md index 648a25636..a9811e10d 100644 --- a/packages/cubejs-api-gateway/CHANGELOG.md +++ b/packages/cubejs-api-gateway/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.21](https://github.com/cube-js/cube/compare/v1.2.20...v1.2.21) (2025-03-11) + +**Note:** Version bump only for package @cubejs-backend/api-gateway + ## [1.2.20](https://github.com/cube-js/cube/compare/v1.2.19...v1.2.20) (2025-03-10) ### Features diff --git a/packages/cubejs-api-gateway/package.json b/packages/cubejs-api-gateway/package.json index 102bea6da..a267b819d 100644 --- a/packages/cubejs-api-gateway/package.json +++ b/packages/cubejs-api-gateway/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/api-gateway", "description": "Cube.js API Gateway", "author": "Cube Dev, Inc.", - "version": "1.2.20", + "version": "1.2.21", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -27,8 +27,8 @@ "dist/src/*" ], "dependencies": { - "@cubejs-backend/native": "1.2.20", - "@cubejs-backend/shared": "1.2.20", + "@cubejs-backend/native": "1.2.21", + "@cubejs-backend/shared": "1.2.21", "@ungap/structured-clone": "^0.3.4", "body-parser": "^1.19.0", "chrono-node": "^2.6.2", @@ -50,7 +50,7 @@ "uuid": "^8.3.2" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.20", + "@cubejs-backend/linter": "1.2.21", "@types/express": "^4.17.21", "@types/jest": "^27", "@types/jsonwebtoken": "^9.0.2", diff --git a/packages/cubejs-athena-driver/CHANGELOG.md b/packages/cubejs-athena-driver/CHANGELOG.md index 523d8b98e..2d4b72319 100644 --- a/packages/cubejs-athena-driver/CHANGELOG.md +++ b/packages/cubejs-athena-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.21](https://github.com/cube-js/cube/compare/v1.2.20...v1.2.21) (2025-03-11) + +**Note:** Version bump only for package @cubejs-backend/athena-driver + ## [1.2.20](https://github.com/cube-js/cube/compare/v1.2.19...v1.2.20) (2025-03-10) **Note:** Version bump only for package @cubejs-backend/athena-driver diff --git a/packages/cubejs-athena-driver/package.json b/packages/cubejs-athena-driver/package.json index 47054a7e8..af68cbc3d 100644 --- a/packages/cubejs-athena-driver/package.json +++ b/packages/cubejs-athena-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/athena-driver", "description": "Cube.js Athena database driver", "author": "Cube Dev, Inc.", - "version": "1.2.20", + "version": "1.2.21", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -29,13 +29,13 @@ "types": "dist/src/index.d.ts", "dependencies": { "@aws-sdk/client-athena": "^3.22.0", - "@cubejs-backend/base-driver": "1.2.20", - "@cubejs-backend/shared": "1.2.20", + "@cubejs-backend/base-driver": "1.2.21", + "@cubejs-backend/shared": "1.2.21", "sqlstring": "^2.3.1" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.20", - "@cubejs-backend/testing-shared": "1.2.20", + "@cubejs-backend/linter": "1.2.21", + "@cubejs-backend/testing-shared": "1.2.21", "@types/ramda": "^0.27.40", "typescript": "~5.2.2" }, diff --git a/packages/cubejs-backend-cloud/CHANGELOG.md b/packages/cubejs-backend-cloud/CHANGELOG.md index eaea120d6..ae25c48fc 100644 --- a/packages/cubejs-backend-cloud/CHANGELOG.md +++ b/packages/cubejs-backend-cloud/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.21](https://github.com/cube-js/cube/compare/v1.2.20...v1.2.21) (2025-03-11) + +**Note:** Version bump only for package @cubejs-backend/cloud + ## [1.2.20](/compare/v1.2.19...v1.2.20) (2025-03-10) **Note:** Version bump only for package @cubejs-backend/cloud diff --git a/packages/cubejs-backend-cloud/package.json b/packages/cubejs-backend-cloud/package.json index 0db31a94b..2b025746a 100644 --- a/packages/cubejs-backend-cloud/package.json +++ b/packages/cubejs-backend-cloud/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-backend/cloud", - "version": "1.2.20", + "version": "1.2.21", "description": "Cube Cloud package", "main": "dist/src/index.js", "typings": "dist/src/index.d.ts", @@ -25,7 +25,7 @@ "devDependencies": { "@babel/core": "^7.24.5", "@babel/preset-env": "^7.24.5", - "@cubejs-backend/linter": "1.2.20", + "@cubejs-backend/linter": "1.2.21", "@types/fs-extra": "^9.0.8", "@types/jest": "^27", "jest": "^27", @@ -33,7 +33,7 @@ }, "dependencies": { "@cubejs-backend/dotenv": "^9.0.2", - "@cubejs-backend/shared": "1.2.20", + "@cubejs-backend/shared": "1.2.21", "chokidar": "^3.5.1", "env-var": "^6.3.0", "form-data": "^4.0.0", diff --git a/packages/cubejs-backend-maven/CHANGELOG.md b/packages/cubejs-backend-maven/CHANGELOG.md index ded96d94e..77176247c 100644 --- a/packages/cubejs-backend-maven/CHANGELOG.md +++ b/packages/cubejs-backend-maven/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.21](https://github.com/cube-js/cube/compare/v1.2.20...v1.2.21) (2025-03-11) + +**Note:** Version bump only for package @cubejs-backend/maven + ## [1.2.20](https://github.com/cube-js/cube/compare/v1.2.19...v1.2.20) (2025-03-10) **Note:** Version bump only for package @cubejs-backend/maven diff --git a/packages/cubejs-backend-maven/package.json b/packages/cubejs-backend-maven/package.json index 341afaf16..8882d7b38 100644 --- a/packages/cubejs-backend-maven/package.json +++ b/packages/cubejs-backend-maven/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/maven", "description": "Cube.js Maven Wrapper for java dependencies downloading", "author": "Cube Dev, Inc.", - "version": "1.2.20", + "version": "1.2.21", "license": "Apache-2.0", "repository": { "type": "git", @@ -31,12 +31,12 @@ "dist/src/*" ], "dependencies": { - "@cubejs-backend/shared": "1.2.20", + "@cubejs-backend/shared": "1.2.21", "source-map-support": "^0.5.19", "xmlbuilder2": "^2.4.0" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.20", + "@cubejs-backend/linter": "1.2.21", "@types/jest": "^27", "@types/node": "^18", "jest": "^27", diff --git a/packages/cubejs-backend-native/CHANGELOG.md b/packages/cubejs-backend-native/CHANGELOG.md index 2a07f86b3..7ae72a1ed 100644 --- a/packages/cubejs-backend-native/CHANGELOG.md +++ b/packages/cubejs-backend-native/CHANGELOG.md @@ -3,6 +3,12 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.21](https://github.com/cube-js/cube/compare/v1.2.20...v1.2.21) (2025-03-11) + +### Bug Fixes + +- **cubejs-native:** cubesql query logger span_id ([#9325](https://github.com/cube-js/cube/issues/9325)) ([568d306](https://github.com/cube-js/cube/commit/568d306a9b97672caf69543077e7863fc773af41)) + ## [1.2.20](https://github.com/cube-js/cube/compare/v1.2.19...v1.2.20) (2025-03-10) ### Features diff --git a/packages/cubejs-backend-native/package.json b/packages/cubejs-backend-native/package.json index 3f127376f..027af4e09 100644 --- a/packages/cubejs-backend-native/package.json +++ b/packages/cubejs-backend-native/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-backend/native", - "version": "1.2.20", + "version": "1.2.21", "author": "Cube Dev, Inc.", "description": "Native module for Cube.js (binding to Rust codebase)", "main": "dist/js/index.js", @@ -34,7 +34,7 @@ "dist/js" ], "devDependencies": { - "@cubejs-backend/linter": "1.2.20", + "@cubejs-backend/linter": "1.2.21", "@types/jest": "^27", "@types/node": "^18", "cargo-cp-artifact": "^0.1.9", @@ -44,8 +44,8 @@ "uuid": "^8.3.2" }, "dependencies": { - "@cubejs-backend/cubesql": "1.2.20", - "@cubejs-backend/shared": "1.2.20", + "@cubejs-backend/cubesql": "1.2.21", + "@cubejs-backend/shared": "1.2.21", "@cubejs-infra/post-installer": "^0.0.7" }, "resources": { diff --git a/packages/cubejs-backend-shared/CHANGELOG.md b/packages/cubejs-backend-shared/CHANGELOG.md index 2f6bc2820..240d3fdcb 100644 --- a/packages/cubejs-backend-shared/CHANGELOG.md +++ b/packages/cubejs-backend-shared/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.21](https://github.com/cube-js/cube/compare/v1.2.20...v1.2.21) (2025-03-11) + +**Note:** Version bump only for package @cubejs-backend/shared + ## [1.2.20](/compare/v1.2.19...v1.2.20) (2025-03-10) **Note:** Version bump only for package @cubejs-backend/shared diff --git a/packages/cubejs-backend-shared/package.json b/packages/cubejs-backend-shared/package.json index 8a3ac481f..e1d55d14a 100644 --- a/packages/cubejs-backend-shared/package.json +++ b/packages/cubejs-backend-shared/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-backend/shared", - "version": "1.2.20", + "version": "1.2.21", "description": "Shared code for Cube.js backend packages", "main": "dist/src/index.js", "typings": "dist/src/index.d.ts", @@ -22,7 +22,7 @@ "author": "Cube Dev, Inc.", "license": "Apache-2.0", "devDependencies": { - "@cubejs-backend/linter": "1.2.20", + "@cubejs-backend/linter": "1.2.21", "@types/bytes": "^3.1.5", "@types/cli-progress": "^3.9.1", "@types/decompress": "^4.2.7", diff --git a/packages/cubejs-base-driver/CHANGELOG.md b/packages/cubejs-base-driver/CHANGELOG.md index ee5fe0dfe..040e01d1f 100644 --- a/packages/cubejs-base-driver/CHANGELOG.md +++ b/packages/cubejs-base-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.21](https://github.com/cube-js/cube/compare/v1.2.20...v1.2.21) (2025-03-11) + +**Note:** Version bump only for package @cubejs-backend/base-driver + ## [1.2.20](https://github.com/cube-js/cube/compare/v1.2.19...v1.2.20) (2025-03-10) **Note:** Version bump only for package @cubejs-backend/base-driver diff --git a/packages/cubejs-base-driver/package.json b/packages/cubejs-base-driver/package.json index abd9a4281..0eec5b24c 100644 --- a/packages/cubejs-base-driver/package.json +++ b/packages/cubejs-base-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/base-driver", "description": "Cube.js Base Driver", "author": "Cube Dev, Inc.", - "version": "1.2.20", + "version": "1.2.21", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -33,11 +33,11 @@ "@aws-sdk/s3-request-presigner": "^3.49.0", "@azure/identity": "^4.4.1", "@azure/storage-blob": "^12.9.0", - "@cubejs-backend/shared": "1.2.20", + "@cubejs-backend/shared": "1.2.21", "@google-cloud/storage": "^7.13.0" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.20", + "@cubejs-backend/linter": "1.2.21", "@types/jest": "^27", "@types/node": "^18", "jest": "^27", diff --git a/packages/cubejs-bigquery-driver/CHANGELOG.md b/packages/cubejs-bigquery-driver/CHANGELOG.md index 59e8d5b25..741c6debe 100644 --- a/packages/cubejs-bigquery-driver/CHANGELOG.md +++ b/packages/cubejs-bigquery-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.21](https://github.com/cube-js/cube/compare/v1.2.20...v1.2.21) (2025-03-11) + +**Note:** Version bump only for package @cubejs-backend/bigquery-driver + ## [1.2.20](https://github.com/cube-js/cube/compare/v1.2.19...v1.2.20) (2025-03-10) **Note:** Version bump only for package @cubejs-backend/bigquery-driver diff --git a/packages/cubejs-bigquery-driver/package.json b/packages/cubejs-bigquery-driver/package.json index 8bc52140a..c1eff9d7b 100644 --- a/packages/cubejs-bigquery-driver/package.json +++ b/packages/cubejs-bigquery-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/bigquery-driver", "description": "Cube.js BigQuery database driver", "author": "Cube Dev, Inc.", - "version": "1.2.20", + "version": "1.2.21", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -28,15 +28,15 @@ "main": "index.js", "types": "dist/src/index.d.ts", "dependencies": { - "@cubejs-backend/base-driver": "1.2.20", + "@cubejs-backend/base-driver": "1.2.21", "@cubejs-backend/dotenv": "^9.0.2", - "@cubejs-backend/shared": "1.2.20", + "@cubejs-backend/shared": "1.2.21", "@google-cloud/bigquery": "^7.7.0", "@google-cloud/storage": "^7.13.0", "ramda": "^0.27.2" }, "devDependencies": { - "@cubejs-backend/testing-shared": "1.2.20", + "@cubejs-backend/testing-shared": "1.2.21", "@types/big.js": "^6.2.2", "@types/dedent": "^0.7.0", "@types/jest": "^27", diff --git a/packages/cubejs-cli/CHANGELOG.md b/packages/cubejs-cli/CHANGELOG.md index e25330eeb..fff5cba52 100644 --- a/packages/cubejs-cli/CHANGELOG.md +++ b/packages/cubejs-cli/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.21](https://github.com/cube-js/cube/compare/v1.2.20...v1.2.21) (2025-03-11) + +**Note:** Version bump only for package cubejs-cli + ## [1.2.20](https://github.com/cube-js/cube/compare/v1.2.19...v1.2.20) (2025-03-10) **Note:** Version bump only for package cubejs-cli diff --git a/packages/cubejs-cli/package.json b/packages/cubejs-cli/package.json index 47a6d902e..215751380 100644 --- a/packages/cubejs-cli/package.json +++ b/packages/cubejs-cli/package.json @@ -2,7 +2,7 @@ "name": "cubejs-cli", "description": "Cube.js Command Line Interface", "author": "Cube Dev, Inc.", - "version": "1.2.20", + "version": "1.2.21", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -30,10 +30,10 @@ "LICENSE" ], "dependencies": { - "@cubejs-backend/cloud": "1.2.20", + "@cubejs-backend/cloud": "1.2.21", "@cubejs-backend/dotenv": "^9.0.2", - "@cubejs-backend/schema-compiler": "1.2.20", - "@cubejs-backend/shared": "1.2.20", + "@cubejs-backend/schema-compiler": "1.2.21", + "@cubejs-backend/shared": "1.2.21", "chalk": "^2.4.2", "cli-progress": "^3.10", "commander": "^2.19.0", @@ -50,8 +50,8 @@ "colors": "1.4.0" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.20", - "@cubejs-backend/server": "1.2.20", + "@cubejs-backend/linter": "1.2.21", + "@cubejs-backend/server": "1.2.21", "@oclif/command": "^1.8.0", "@types/cli-progress": "^3.8.0", "@types/cross-spawn": "^6.0.2", diff --git a/packages/cubejs-clickhouse-driver/CHANGELOG.md b/packages/cubejs-clickhouse-driver/CHANGELOG.md index d36aad952..ac647694f 100644 --- a/packages/cubejs-clickhouse-driver/CHANGELOG.md +++ b/packages/cubejs-clickhouse-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.21](https://github.com/cube-js/cube/compare/v1.2.20...v1.2.21) (2025-03-11) + +**Note:** Version bump only for package @cubejs-backend/clickhouse-driver + ## [1.2.20](https://github.com/cube-js/cube/compare/v1.2.19...v1.2.20) (2025-03-10) ### Bug Fixes diff --git a/packages/cubejs-clickhouse-driver/package.json b/packages/cubejs-clickhouse-driver/package.json index 4f133e00e..bbac7c422 100644 --- a/packages/cubejs-clickhouse-driver/package.json +++ b/packages/cubejs-clickhouse-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/clickhouse-driver", "description": "Cube.js ClickHouse database driver", "author": "Cube Dev, Inc.", - "version": "1.2.20", + "version": "1.2.21", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -28,16 +28,16 @@ }, "dependencies": { "@clickhouse/client": "^1.7.0", - "@cubejs-backend/base-driver": "1.2.20", - "@cubejs-backend/shared": "1.2.20", + "@cubejs-backend/base-driver": "1.2.21", + "@cubejs-backend/shared": "1.2.21", "moment": "^2.24.0", "sqlstring": "^2.3.1", "uuid": "^8.3.2" }, "license": "Apache-2.0", "devDependencies": { - "@cubejs-backend/linter": "1.2.20", - "@cubejs-backend/testing-shared": "1.2.20", + "@cubejs-backend/linter": "1.2.21", + "@cubejs-backend/testing-shared": "1.2.21", "@types/jest": "^27", "jest": "^27", "typescript": "~5.2.2" diff --git a/packages/cubejs-client-core/CHANGELOG.md b/packages/cubejs-client-core/CHANGELOG.md index 663648e8f..5581a49e0 100644 --- a/packages/cubejs-client-core/CHANGELOG.md +++ b/packages/cubejs-client-core/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.21](https://github.com/cube-js/cube/compare/v1.2.20...v1.2.21) (2025-03-11) + +**Note:** Version bump only for package @cubejs-client/core + ## [1.2.20](https://github.com/cube-js/cube/compare/v1.2.19...v1.2.20) (2025-03-10) **Note:** Version bump only for package @cubejs-client/core diff --git a/packages/cubejs-client-core/package.json b/packages/cubejs-client-core/package.json index ef8a92c21..7f936f29f 100644 --- a/packages/cubejs-client-core/package.json +++ b/packages/cubejs-client-core/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-client/core", - "version": "1.2.20", + "version": "1.2.21", "engines": {}, "repository": { "type": "git", diff --git a/packages/cubejs-client-dx/CHANGELOG.md b/packages/cubejs-client-dx/CHANGELOG.md index 5f99a35ce..f6c0d5558 100644 --- a/packages/cubejs-client-dx/CHANGELOG.md +++ b/packages/cubejs-client-dx/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.21](https://github.com/cube-js/cube/compare/v1.2.20...v1.2.21) (2025-03-11) + +**Note:** Version bump only for package @cubejs-client/dx + ## [1.2.20](https://github.com/cube-js/cube/compare/v1.2.19...v1.2.20) (2025-03-10) **Note:** Version bump only for package @cubejs-client/dx diff --git a/packages/cubejs-client-dx/package.json b/packages/cubejs-client-dx/package.json index 2494bad31..3f946d963 100644 --- a/packages/cubejs-client-dx/package.json +++ b/packages/cubejs-client-dx/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-client/dx", - "version": "1.2.20", + "version": "1.2.21", "engines": {}, "repository": { "type": "git", diff --git a/packages/cubejs-client-ngx/CHANGELOG.md b/packages/cubejs-client-ngx/CHANGELOG.md index 4e7ca0862..5077c0674 100644 --- a/packages/cubejs-client-ngx/CHANGELOG.md +++ b/packages/cubejs-client-ngx/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.21](https://github.com/cube-js/cube/compare/v1.2.20...v1.2.21) (2025-03-11) + +**Note:** Version bump only for package @cubejs-client/ngx + ## [1.2.20](https://github.com/cube-js/cube/compare/v1.2.19...v1.2.20) (2025-03-10) **Note:** Version bump only for package @cubejs-client/ngx diff --git a/packages/cubejs-client-ngx/package.json b/packages/cubejs-client-ngx/package.json index 625cf6961..93cced4a2 100644 --- a/packages/cubejs-client-ngx/package.json +++ b/packages/cubejs-client-ngx/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-client/ngx", - "version": "1.2.20", + "version": "1.2.21", "author": "Cube Dev, Inc.", "engines": {}, "repository": { diff --git a/packages/cubejs-client-react/CHANGELOG.md b/packages/cubejs-client-react/CHANGELOG.md index e73fe41c1..2c7769908 100644 --- a/packages/cubejs-client-react/CHANGELOG.md +++ b/packages/cubejs-client-react/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.21](https://github.com/cube-js/cube/compare/v1.2.20...v1.2.21) (2025-03-11) + +**Note:** Version bump only for package @cubejs-client/react + ## [1.2.20](https://github.com/cube-js/cube/compare/v1.2.19...v1.2.20) (2025-03-10) **Note:** Version bump only for package @cubejs-client/react diff --git a/packages/cubejs-client-react/package.json b/packages/cubejs-client-react/package.json index 5db340064..363cb06bb 100644 --- a/packages/cubejs-client-react/package.json +++ b/packages/cubejs-client-react/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-client/react", - "version": "1.2.20", + "version": "1.2.21", "author": "Cube Dev, Inc.", "license": "MIT", "engines": {}, @@ -24,7 +24,7 @@ ], "dependencies": { "@babel/runtime": "^7.1.2", - "@cubejs-client/core": "1.2.20", + "@cubejs-client/core": "1.2.21", "core-js": "^3.6.5", "ramda": "^0.27.2" }, diff --git a/packages/cubejs-client-vue/CHANGELOG.md b/packages/cubejs-client-vue/CHANGELOG.md index 35a56484d..b86e680f5 100644 --- a/packages/cubejs-client-vue/CHANGELOG.md +++ b/packages/cubejs-client-vue/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.21](https://github.com/cube-js/cube.js/compare/v1.2.20...v1.2.21) (2025-03-11) + +**Note:** Version bump only for package @cubejs-client/vue + ## [1.2.20](https://github.com/cube-js/cube.js/compare/v1.2.19...v1.2.20) (2025-03-10) **Note:** Version bump only for package @cubejs-client/vue diff --git a/packages/cubejs-client-vue/package.json b/packages/cubejs-client-vue/package.json index e6bd059a4..5f16cd7ed 100644 --- a/packages/cubejs-client-vue/package.json +++ b/packages/cubejs-client-vue/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-client/vue", - "version": "1.2.20", + "version": "1.2.21", "engines": {}, "repository": { "type": "git", @@ -28,7 +28,7 @@ "src" ], "dependencies": { - "@cubejs-client/core": "1.2.20", + "@cubejs-client/core": "1.2.21", "core-js": "^3.6.5", "ramda": "^0.27.2" }, diff --git a/packages/cubejs-client-vue3/CHANGELOG.md b/packages/cubejs-client-vue3/CHANGELOG.md index e44d7910d..4002aad46 100644 --- a/packages/cubejs-client-vue3/CHANGELOG.md +++ b/packages/cubejs-client-vue3/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.21](https://github.com/cube-js/cube.js/compare/v1.2.20...v1.2.21) (2025-03-11) + +**Note:** Version bump only for package @cubejs-client/vue3 + ## [1.2.20](https://github.com/cube-js/cube.js/compare/v1.2.19...v1.2.20) (2025-03-10) **Note:** Version bump only for package @cubejs-client/vue3 diff --git a/packages/cubejs-client-vue3/package.json b/packages/cubejs-client-vue3/package.json index 8b3080f8c..2874f90b2 100644 --- a/packages/cubejs-client-vue3/package.json +++ b/packages/cubejs-client-vue3/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-client/vue3", - "version": "1.2.20", + "version": "1.2.21", "engines": {}, "repository": { "type": "git", @@ -28,7 +28,7 @@ "src" ], "dependencies": { - "@cubejs-client/core": "1.2.20", + "@cubejs-client/core": "1.2.21", "@vue/compiler-sfc": "^3.0.11", "core-js": "^3.6.5", "flush-promises": "^1.0.2", diff --git a/packages/cubejs-client-ws-transport/CHANGELOG.md b/packages/cubejs-client-ws-transport/CHANGELOG.md index 52c347736..dcf54e896 100644 --- a/packages/cubejs-client-ws-transport/CHANGELOG.md +++ b/packages/cubejs-client-ws-transport/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.21](https://github.com/cube-js/cube/compare/v1.2.20...v1.2.21) (2025-03-11) + +**Note:** Version bump only for package @cubejs-client/ws-transport + ## [1.2.20](https://github.com/cube-js/cube/compare/v1.2.19...v1.2.20) (2025-03-10) **Note:** Version bump only for package @cubejs-client/ws-transport diff --git a/packages/cubejs-client-ws-transport/package.json b/packages/cubejs-client-ws-transport/package.json index 3d05dc0ce..b5ed07ecf 100644 --- a/packages/cubejs-client-ws-transport/package.json +++ b/packages/cubejs-client-ws-transport/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-client/ws-transport", - "version": "1.2.20", + "version": "1.2.21", "engines": {}, "repository": { "type": "git", @@ -20,7 +20,7 @@ }, "dependencies": { "@babel/runtime": "^7.1.2", - "@cubejs-client/core": "1.2.20", + "@cubejs-client/core": "1.2.21", "core-js": "^3.6.5", "isomorphic-ws": "^4.0.1", "ws": "^7.3.1" @@ -34,7 +34,7 @@ "@babel/core": "^7.3.3", "@babel/preset-env": "^7.3.1", "@babel/preset-typescript": "^7.12.1", - "@cubejs-backend/linter": "1.2.20", + "@cubejs-backend/linter": "1.2.21", "@types/ws": "^7.2.9", "babel-jest": "^27", "jest": "^27", diff --git a/packages/cubejs-crate-driver/CHANGELOG.md b/packages/cubejs-crate-driver/CHANGELOG.md index 26d1e67f8..175c48cc9 100644 --- a/packages/cubejs-crate-driver/CHANGELOG.md +++ b/packages/cubejs-crate-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.21](https://github.com/cube-js/cube/compare/v1.2.20...v1.2.21) (2025-03-11) + +**Note:** Version bump only for package @cubejs-backend/crate-driver + ## [1.2.20](https://github.com/cube-js/cube/compare/v1.2.19...v1.2.20) (2025-03-10) **Note:** Version bump only for package @cubejs-backend/crate-driver diff --git a/packages/cubejs-crate-driver/package.json b/packages/cubejs-crate-driver/package.json index 059373261..4fae21799 100644 --- a/packages/cubejs-crate-driver/package.json +++ b/packages/cubejs-crate-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/crate-driver", "description": "Cube.js Crate database driver", "author": "Cube Dev, Inc.", - "version": "1.2.20", + "version": "1.2.21", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -28,14 +28,14 @@ "lint:fix": "eslint --fix src/* --ext .ts" }, "dependencies": { - "@cubejs-backend/postgres-driver": "1.2.20", - "@cubejs-backend/shared": "1.2.20", + "@cubejs-backend/postgres-driver": "1.2.21", + "@cubejs-backend/shared": "1.2.21", "pg": "^8.7.1" }, "license": "Apache-2.0", "devDependencies": { - "@cubejs-backend/linter": "1.2.20", - "@cubejs-backend/testing-shared": "1.2.20", + "@cubejs-backend/linter": "1.2.21", + "@cubejs-backend/testing-shared": "1.2.21", "testcontainers": "^10.13.0", "typescript": "~5.2.2" }, diff --git a/packages/cubejs-cubestore-driver/CHANGELOG.md b/packages/cubejs-cubestore-driver/CHANGELOG.md index 4e9445718..84a474063 100644 --- a/packages/cubejs-cubestore-driver/CHANGELOG.md +++ b/packages/cubejs-cubestore-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.21](https://github.com/cube-js/cube/compare/v1.2.20...v1.2.21) (2025-03-11) + +**Note:** Version bump only for package @cubejs-backend/cubestore-driver + ## [1.2.20](https://github.com/cube-js/cube/compare/v1.2.19...v1.2.20) (2025-03-10) **Note:** Version bump only for package @cubejs-backend/cubestore-driver diff --git a/packages/cubejs-cubestore-driver/package.json b/packages/cubejs-cubestore-driver/package.json index be55861f0..4eee46191 100644 --- a/packages/cubejs-cubestore-driver/package.json +++ b/packages/cubejs-cubestore-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/cubestore-driver", "description": "Cube Store driver", "author": "Cube Dev, Inc.", - "version": "1.2.20", + "version": "1.2.21", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -26,10 +26,10 @@ "lint:fix": "eslint --fix src/*.ts" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.20", - "@cubejs-backend/cubestore": "1.2.20", - "@cubejs-backend/native": "1.2.20", - "@cubejs-backend/shared": "1.2.20", + "@cubejs-backend/base-driver": "1.2.21", + "@cubejs-backend/cubestore": "1.2.21", + "@cubejs-backend/native": "1.2.21", + "@cubejs-backend/shared": "1.2.21", "csv-write-stream": "^2.0.0", "flatbuffers": "23.3.3", "fs-extra": "^9.1.0", @@ -41,7 +41,7 @@ "ws": "^7.4.3" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.20", + "@cubejs-backend/linter": "1.2.21", "@types/csv-write-stream": "^2.0.0", "@types/generic-pool": "^3.1.9", "@types/node": "^18", diff --git a/packages/cubejs-databricks-jdbc-driver/CHANGELOG.md b/packages/cubejs-databricks-jdbc-driver/CHANGELOG.md index cd6ee21eb..87256b34b 100644 --- a/packages/cubejs-databricks-jdbc-driver/CHANGELOG.md +++ b/packages/cubejs-databricks-jdbc-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.21](https://github.com/cube-js/cube/compare/v1.2.20...v1.2.21) (2025-03-11) + +**Note:** Version bump only for package @cubejs-backend/databricks-jdbc-driver + ## [1.2.20](https://github.com/cube-js/cube/compare/v1.2.19...v1.2.20) (2025-03-10) **Note:** Version bump only for package @cubejs-backend/databricks-jdbc-driver diff --git a/packages/cubejs-databricks-jdbc-driver/package.json b/packages/cubejs-databricks-jdbc-driver/package.json index 7cac26f84..77076ece1 100644 --- a/packages/cubejs-databricks-jdbc-driver/package.json +++ b/packages/cubejs-databricks-jdbc-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/databricks-jdbc-driver", "description": "Cube.js Databricks database driver", "author": "Cube Dev, Inc.", - "version": "1.2.20", + "version": "1.2.21", "license": "Apache-2.0", "repository": { "type": "git", @@ -30,17 +30,17 @@ "bin" ], "dependencies": { - "@cubejs-backend/base-driver": "1.2.20", - "@cubejs-backend/jdbc-driver": "1.2.20", - "@cubejs-backend/schema-compiler": "1.2.20", - "@cubejs-backend/shared": "1.2.20", + "@cubejs-backend/base-driver": "1.2.21", + "@cubejs-backend/jdbc-driver": "1.2.21", + "@cubejs-backend/schema-compiler": "1.2.21", + "@cubejs-backend/shared": "1.2.21", "node-fetch": "^2.6.1", "ramda": "^0.27.2", "source-map-support": "^0.5.19", "uuid": "^8.3.2" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.20", + "@cubejs-backend/linter": "1.2.21", "@types/generic-pool": "^3.1.9", "@types/jest": "^27", "@types/node": "^18", diff --git a/packages/cubejs-dbt-schema-extension/CHANGELOG.md b/packages/cubejs-dbt-schema-extension/CHANGELOG.md index ae6574756..d1af777bb 100644 --- a/packages/cubejs-dbt-schema-extension/CHANGELOG.md +++ b/packages/cubejs-dbt-schema-extension/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.21](https://github.com/cube-js/cube/compare/v1.2.20...v1.2.21) (2025-03-11) + +**Note:** Version bump only for package @cubejs-backend/dbt-schema-extension + ## [1.2.20](https://github.com/cube-js/cube/compare/v1.2.19...v1.2.20) (2025-03-10) **Note:** Version bump only for package @cubejs-backend/dbt-schema-extension diff --git a/packages/cubejs-dbt-schema-extension/package.json b/packages/cubejs-dbt-schema-extension/package.json index 74d86ad20..5396dd7b6 100644 --- a/packages/cubejs-dbt-schema-extension/package.json +++ b/packages/cubejs-dbt-schema-extension/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/dbt-schema-extension", "description": "Cube.js dbt Schema Extension", "author": "Cube Dev, Inc.", - "version": "1.2.20", + "version": "1.2.21", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -25,14 +25,14 @@ "lint:fix": "eslint --fix src/* --ext .ts,.js" }, "dependencies": { - "@cubejs-backend/schema-compiler": "1.2.20", + "@cubejs-backend/schema-compiler": "1.2.21", "fs-extra": "^9.1.0", "inflection": "^1.12.0", "node-fetch": "^2.6.1" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.20", - "@cubejs-backend/testing": "1.2.20", + "@cubejs-backend/linter": "1.2.21", + "@cubejs-backend/testing": "1.2.21", "@types/generic-pool": "^3.1.9", "@types/jest": "^27", "jest": "^27", diff --git a/packages/cubejs-docker/CHANGELOG.md b/packages/cubejs-docker/CHANGELOG.md index b9586bb21..969e58edc 100644 --- a/packages/cubejs-docker/CHANGELOG.md +++ b/packages/cubejs-docker/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.21](https://github.com/cube-js/cube/compare/v1.2.20...v1.2.21) (2025-03-11) + +**Note:** Version bump only for package @cubejs-backend/docker + ## [1.2.20](/compare/v1.2.19...v1.2.20) (2025-03-10) **Note:** Version bump only for package @cubejs-backend/docker diff --git a/packages/cubejs-docker/package.json b/packages/cubejs-docker/package.json index e7ee45b2c..5eb4e6b02 100644 --- a/packages/cubejs-docker/package.json +++ b/packages/cubejs-docker/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-backend/docker", - "version": "1.2.20", + "version": "1.2.21", "description": "Cube.js In Docker (virtual package)", "author": "Cube Dev, Inc.", "license": "Apache-2.0", @@ -9,35 +9,35 @@ "node": "^14.0.0 || ^16.0.0 || >=17.0.0" }, "dependencies": { - "@cubejs-backend/athena-driver": "1.2.20", - "@cubejs-backend/bigquery-driver": "1.2.20", - "@cubejs-backend/clickhouse-driver": "1.2.20", - "@cubejs-backend/crate-driver": "1.2.20", - "@cubejs-backend/databricks-jdbc-driver": "1.2.20", - "@cubejs-backend/dbt-schema-extension": "1.2.20", - "@cubejs-backend/dremio-driver": "1.2.20", - "@cubejs-backend/druid-driver": "1.2.20", - "@cubejs-backend/duckdb-driver": "1.2.20", - "@cubejs-backend/elasticsearch-driver": "1.2.20", - "@cubejs-backend/firebolt-driver": "1.2.20", - "@cubejs-backend/hive-driver": "1.2.20", - "@cubejs-backend/ksql-driver": "1.2.20", - "@cubejs-backend/materialize-driver": "1.2.20", - "@cubejs-backend/mongobi-driver": "1.2.20", - "@cubejs-backend/mssql-driver": "1.2.20", - "@cubejs-backend/mysql-driver": "1.2.20", - "@cubejs-backend/oracle-driver": "1.2.20", - "@cubejs-backend/pinot-driver": "1.2.20", - "@cubejs-backend/postgres-driver": "1.2.20", - "@cubejs-backend/prestodb-driver": "1.2.20", - "@cubejs-backend/questdb-driver": "1.2.20", - "@cubejs-backend/redshift-driver": "1.2.20", - "@cubejs-backend/server": "1.2.20", - "@cubejs-backend/snowflake-driver": "1.2.20", - "@cubejs-backend/sqlite-driver": "1.2.20", - "@cubejs-backend/trino-driver": "1.2.20", - "@cubejs-backend/vertica-driver": "1.2.20", - "cubejs-cli": "1.2.20", + "@cubejs-backend/athena-driver": "1.2.21", + "@cubejs-backend/bigquery-driver": "1.2.21", + "@cubejs-backend/clickhouse-driver": "1.2.21", + "@cubejs-backend/crate-driver": "1.2.21", + "@cubejs-backend/databricks-jdbc-driver": "1.2.21", + "@cubejs-backend/dbt-schema-extension": "1.2.21", + "@cubejs-backend/dremio-driver": "1.2.21", + "@cubejs-backend/druid-driver": "1.2.21", + "@cubejs-backend/duckdb-driver": "1.2.21", + "@cubejs-backend/elasticsearch-driver": "1.2.21", + "@cubejs-backend/firebolt-driver": "1.2.21", + "@cubejs-backend/hive-driver": "1.2.21", + "@cubejs-backend/ksql-driver": "1.2.21", + "@cubejs-backend/materialize-driver": "1.2.21", + "@cubejs-backend/mongobi-driver": "1.2.21", + "@cubejs-backend/mssql-driver": "1.2.21", + "@cubejs-backend/mysql-driver": "1.2.21", + "@cubejs-backend/oracle-driver": "1.2.21", + "@cubejs-backend/pinot-driver": "1.2.21", + "@cubejs-backend/postgres-driver": "1.2.21", + "@cubejs-backend/prestodb-driver": "1.2.21", + "@cubejs-backend/questdb-driver": "1.2.21", + "@cubejs-backend/redshift-driver": "1.2.21", + "@cubejs-backend/server": "1.2.21", + "@cubejs-backend/snowflake-driver": "1.2.21", + "@cubejs-backend/sqlite-driver": "1.2.21", + "@cubejs-backend/trino-driver": "1.2.21", + "@cubejs-backend/vertica-driver": "1.2.21", + "cubejs-cli": "1.2.21", "typescript": "~5.2.2" }, "resolutions": { diff --git a/packages/cubejs-dremio-driver/CHANGELOG.md b/packages/cubejs-dremio-driver/CHANGELOG.md index d78939d3b..e1e78053d 100644 --- a/packages/cubejs-dremio-driver/CHANGELOG.md +++ b/packages/cubejs-dremio-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.21](https://github.com/cube-js/cube/compare/v1.2.20...v1.2.21) (2025-03-11) + +**Note:** Version bump only for package @cubejs-backend/dremio-driver + ## [1.2.20](https://github.com/cube-js/cube/compare/v1.2.19...v1.2.20) (2025-03-10) **Note:** Version bump only for package @cubejs-backend/dremio-driver diff --git a/packages/cubejs-dremio-driver/package.json b/packages/cubejs-dremio-driver/package.json index 38e9d36b3..7ab441fdf 100644 --- a/packages/cubejs-dremio-driver/package.json +++ b/packages/cubejs-dremio-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/dremio-driver", "description": "Cube.js Dremio driver", "author": "Cube Dev, Inc.", - "version": "1.2.20", + "version": "1.2.21", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -22,15 +22,15 @@ "lint:fix": "eslint driver/*.js" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.20", - "@cubejs-backend/schema-compiler": "1.2.20", - "@cubejs-backend/shared": "1.2.20", + "@cubejs-backend/base-driver": "1.2.21", + "@cubejs-backend/schema-compiler": "1.2.21", + "@cubejs-backend/shared": "1.2.21", "axios": "^0.28.0", "sqlstring": "^2.3.1" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.20", - "@cubejs-backend/testing-shared": "1.2.20", + "@cubejs-backend/linter": "1.2.21", + "@cubejs-backend/testing-shared": "1.2.21", "jest": "^27" }, "license": "Apache-2.0", diff --git a/packages/cubejs-druid-driver/CHANGELOG.md b/packages/cubejs-druid-driver/CHANGELOG.md index 77a0c991e..20e6d6dc7 100644 --- a/packages/cubejs-druid-driver/CHANGELOG.md +++ b/packages/cubejs-druid-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.21](https://github.com/cube-js/cube/compare/v1.2.20...v1.2.21) (2025-03-11) + +**Note:** Version bump only for package @cubejs-backend/druid-driver + ## [1.2.20](https://github.com/cube-js/cube/compare/v1.2.19...v1.2.20) (2025-03-10) **Note:** Version bump only for package @cubejs-backend/druid-driver diff --git a/packages/cubejs-druid-driver/package.json b/packages/cubejs-druid-driver/package.json index 93f40ae68..3b5609302 100644 --- a/packages/cubejs-druid-driver/package.json +++ b/packages/cubejs-druid-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/druid-driver", "description": "Cube.js Druid database driver", "author": "Cube Dev, Inc.", - "version": "1.2.20", + "version": "1.2.21", "license": "Apache-2.0", "repository": { "type": "git", @@ -28,13 +28,13 @@ "dist/src/*" ], "dependencies": { - "@cubejs-backend/base-driver": "1.2.20", - "@cubejs-backend/schema-compiler": "1.2.20", - "@cubejs-backend/shared": "1.2.20", + "@cubejs-backend/base-driver": "1.2.21", + "@cubejs-backend/schema-compiler": "1.2.21", + "@cubejs-backend/shared": "1.2.21", "axios": "^0.28.0" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.20", + "@cubejs-backend/linter": "1.2.21", "@types/generic-pool": "^3.1.9", "@types/jest": "^27", "@types/node": "^18", diff --git a/packages/cubejs-duckdb-driver/CHANGELOG.md b/packages/cubejs-duckdb-driver/CHANGELOG.md index cb4b67856..e1793d8e3 100644 --- a/packages/cubejs-duckdb-driver/CHANGELOG.md +++ b/packages/cubejs-duckdb-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.21](https://github.com/cube-js/cube/compare/v1.2.20...v1.2.21) (2025-03-11) + +**Note:** Version bump only for package @cubejs-backend/duckdb-driver + ## [1.2.20](https://github.com/cube-js/cube/compare/v1.2.19...v1.2.20) (2025-03-10) **Note:** Version bump only for package @cubejs-backend/duckdb-driver diff --git a/packages/cubejs-duckdb-driver/package.json b/packages/cubejs-duckdb-driver/package.json index 7c810db69..4e65ba9af 100644 --- a/packages/cubejs-duckdb-driver/package.json +++ b/packages/cubejs-duckdb-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/duckdb-driver", "description": "Cube DuckDB database driver", "author": "Cube Dev, Inc.", - "version": "1.2.20", + "version": "1.2.21", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -27,15 +27,15 @@ "lint:fix": "eslint --fix src/* --ext .ts" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.20", - "@cubejs-backend/schema-compiler": "1.2.20", - "@cubejs-backend/shared": "1.2.20", + "@cubejs-backend/base-driver": "1.2.21", + "@cubejs-backend/schema-compiler": "1.2.21", + "@cubejs-backend/shared": "1.2.21", "duckdb": "^1.1.3" }, "license": "Apache-2.0", "devDependencies": { - "@cubejs-backend/linter": "1.2.20", - "@cubejs-backend/testing-shared": "1.2.20", + "@cubejs-backend/linter": "1.2.21", + "@cubejs-backend/testing-shared": "1.2.21", "@types/jest": "^27", "@types/node": "^18", "jest": "^27", diff --git a/packages/cubejs-elasticsearch-driver/CHANGELOG.md b/packages/cubejs-elasticsearch-driver/CHANGELOG.md index c6bc2914c..b9e580a6f 100644 --- a/packages/cubejs-elasticsearch-driver/CHANGELOG.md +++ b/packages/cubejs-elasticsearch-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.21](https://github.com/cube-js/cube/compare/v1.2.20...v1.2.21) (2025-03-11) + +**Note:** Version bump only for package @cubejs-backend/elasticsearch-driver + ## [1.2.20](https://github.com/cube-js/cube/compare/v1.2.19...v1.2.20) (2025-03-10) **Note:** Version bump only for package @cubejs-backend/elasticsearch-driver diff --git a/packages/cubejs-elasticsearch-driver/package.json b/packages/cubejs-elasticsearch-driver/package.json index 19c13a48f..b188f4ea5 100644 --- a/packages/cubejs-elasticsearch-driver/package.json +++ b/packages/cubejs-elasticsearch-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/elasticsearch-driver", "description": "Cube.js elasticsearch database driver", "author": "Cube Dev, Inc.", - "version": "1.2.20", + "version": "1.2.21", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -23,14 +23,14 @@ "driver" ], "dependencies": { - "@cubejs-backend/base-driver": "1.2.20", - "@cubejs-backend/shared": "1.2.20", + "@cubejs-backend/base-driver": "1.2.21", + "@cubejs-backend/shared": "1.2.21", "@elastic/elasticsearch": "7.12.0", "sqlstring": "^2.3.1" }, "license": "Apache-2.0", "devDependencies": { - "@cubejs-backend/linter": "1.2.20", + "@cubejs-backend/linter": "1.2.21", "@types/jest": "^27", "jest": "^27", "testcontainers": "^10.10.4" diff --git a/packages/cubejs-firebolt-driver/CHANGELOG.md b/packages/cubejs-firebolt-driver/CHANGELOG.md index fbc6367c8..5914ac560 100644 --- a/packages/cubejs-firebolt-driver/CHANGELOG.md +++ b/packages/cubejs-firebolt-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.21](https://github.com/cube-js/cube/compare/v1.2.20...v1.2.21) (2025-03-11) + +**Note:** Version bump only for package @cubejs-backend/firebolt-driver + ## [1.2.20](https://github.com/cube-js/cube/compare/v1.2.19...v1.2.20) (2025-03-10) **Note:** Version bump only for package @cubejs-backend/firebolt-driver diff --git a/packages/cubejs-firebolt-driver/package.json b/packages/cubejs-firebolt-driver/package.json index 52c2f5f4d..a8f41e61f 100644 --- a/packages/cubejs-firebolt-driver/package.json +++ b/packages/cubejs-firebolt-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/firebolt-driver", "description": "Cube.js Firebolt database driver", "author": "Cube Dev, Inc.", - "version": "1.2.20", + "version": "1.2.21", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -28,15 +28,15 @@ "lint:fix": "eslint --fix src/* --ext .ts" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.20", - "@cubejs-backend/schema-compiler": "1.2.20", - "@cubejs-backend/shared": "1.2.20", + "@cubejs-backend/base-driver": "1.2.21", + "@cubejs-backend/schema-compiler": "1.2.21", + "@cubejs-backend/shared": "1.2.21", "firebolt-sdk": "1.10.0" }, "license": "Apache-2.0", "devDependencies": { - "@cubejs-backend/linter": "1.2.20", - "@cubejs-backend/testing-shared": "1.2.20", + "@cubejs-backend/linter": "1.2.21", + "@cubejs-backend/testing-shared": "1.2.21", "typescript": "~5.2.2" }, "publishConfig": { diff --git a/packages/cubejs-hive-driver/CHANGELOG.md b/packages/cubejs-hive-driver/CHANGELOG.md index 0c0ed8c92..34e33a20c 100644 --- a/packages/cubejs-hive-driver/CHANGELOG.md +++ b/packages/cubejs-hive-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.21](https://github.com/cube-js/cube/compare/v1.2.20...v1.2.21) (2025-03-11) + +**Note:** Version bump only for package @cubejs-backend/hive-driver + ## [1.2.20](https://github.com/cube-js/cube/compare/v1.2.19...v1.2.20) (2025-03-10) **Note:** Version bump only for package @cubejs-backend/hive-driver diff --git a/packages/cubejs-hive-driver/package.json b/packages/cubejs-hive-driver/package.json index b5ec1913b..43269eff8 100644 --- a/packages/cubejs-hive-driver/package.json +++ b/packages/cubejs-hive-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/hive-driver", "description": "Cube.js Hive database driver", "author": "Cube Dev, Inc.", - "version": "1.2.20", + "version": "1.2.21", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -17,8 +17,8 @@ "lint:fix": "eslint --fix src/* --ext .ts" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.20", - "@cubejs-backend/shared": "1.2.20", + "@cubejs-backend/base-driver": "1.2.21", + "@cubejs-backend/shared": "1.2.21", "generic-pool": "^3.6.0", "jshs2": "^0.4.4", "sasl-plain": "^0.1.0", @@ -28,7 +28,7 @@ }, "license": "Apache-2.0", "devDependencies": { - "@cubejs-backend/linter": "1.2.20" + "@cubejs-backend/linter": "1.2.21" }, "publishConfig": { "access": "public" diff --git a/packages/cubejs-jdbc-driver/CHANGELOG.md b/packages/cubejs-jdbc-driver/CHANGELOG.md index e76671759..a9bf603e0 100644 --- a/packages/cubejs-jdbc-driver/CHANGELOG.md +++ b/packages/cubejs-jdbc-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.21](https://github.com/cube-js/cube/compare/v1.2.20...v1.2.21) (2025-03-11) + +**Note:** Version bump only for package @cubejs-backend/jdbc-driver + ## [1.2.20](https://github.com/cube-js/cube/compare/v1.2.19...v1.2.20) (2025-03-10) **Note:** Version bump only for package @cubejs-backend/jdbc-driver diff --git a/packages/cubejs-jdbc-driver/package.json b/packages/cubejs-jdbc-driver/package.json index ca29a6996..522fb72bf 100644 --- a/packages/cubejs-jdbc-driver/package.json +++ b/packages/cubejs-jdbc-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/jdbc-driver", "description": "Cube.js JDBC database driver", "author": "Cube Dev, Inc.", - "version": "1.2.20", + "version": "1.2.21", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -25,8 +25,8 @@ "index.js" ], "dependencies": { - "@cubejs-backend/base-driver": "1.2.20", - "@cubejs-backend/shared": "1.2.20", + "@cubejs-backend/base-driver": "1.2.21", + "@cubejs-backend/shared": "1.2.21", "generic-pool": "^3.1.7", "node-java-maven": "^0.1.2", "sqlstring": "^2.3.0" @@ -43,7 +43,7 @@ "testEnvironment": "node" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.20", + "@cubejs-backend/linter": "1.2.21", "@types/generic-pool": "^3.1.9", "@types/node": "^18", "@types/sqlstring": "^2.3.0", diff --git a/packages/cubejs-ksql-driver/CHANGELOG.md b/packages/cubejs-ksql-driver/CHANGELOG.md index daa4688dd..c1b148336 100644 --- a/packages/cubejs-ksql-driver/CHANGELOG.md +++ b/packages/cubejs-ksql-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.21](https://github.com/cube-js/cube/compare/v1.2.20...v1.2.21) (2025-03-11) + +**Note:** Version bump only for package @cubejs-backend/ksql-driver + ## [1.2.20](https://github.com/cube-js/cube/compare/v1.2.19...v1.2.20) (2025-03-10) **Note:** Version bump only for package @cubejs-backend/ksql-driver diff --git a/packages/cubejs-ksql-driver/package.json b/packages/cubejs-ksql-driver/package.json index 3d5f92598..e2f74a9e1 100644 --- a/packages/cubejs-ksql-driver/package.json +++ b/packages/cubejs-ksql-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/ksql-driver", "description": "Cube.js ksql database driver", "author": "Cube Dev, Inc.", - "version": "1.2.20", + "version": "1.2.21", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -25,9 +25,9 @@ "lint:fix": "eslint --fix src/* --ext .ts" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.20", - "@cubejs-backend/schema-compiler": "1.2.20", - "@cubejs-backend/shared": "1.2.20", + "@cubejs-backend/base-driver": "1.2.21", + "@cubejs-backend/schema-compiler": "1.2.21", + "@cubejs-backend/shared": "1.2.21", "async-mutex": "0.3.2", "axios": "^0.28.0", "kafkajs": "^2.2.3", @@ -44,7 +44,7 @@ "testEnvironment": "node" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.20", + "@cubejs-backend/linter": "1.2.21", "typescript": "~5.2.2" } } diff --git a/packages/cubejs-linter/CHANGELOG.md b/packages/cubejs-linter/CHANGELOG.md index 505786ecb..4079a8f05 100644 --- a/packages/cubejs-linter/CHANGELOG.md +++ b/packages/cubejs-linter/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.21](https://github.com/cube-js/cube/compare/v1.2.20...v1.2.21) (2025-03-11) + +**Note:** Version bump only for package @cubejs-backend/linter + ## [1.2.20](https://github.com/cube-js/cube/compare/v1.2.19...v1.2.20) (2025-03-10) **Note:** Version bump only for package @cubejs-backend/linter diff --git a/packages/cubejs-linter/package.json b/packages/cubejs-linter/package.json index 0dd61f752..cf7abe4d3 100644 --- a/packages/cubejs-linter/package.json +++ b/packages/cubejs-linter/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/linter", "description": "Cube.js ESLint (virtual package) for linting code", "author": "Cube Dev, Inc.", - "version": "1.2.20", + "version": "1.2.21", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", diff --git a/packages/cubejs-materialize-driver/CHANGELOG.md b/packages/cubejs-materialize-driver/CHANGELOG.md index f21562301..d45263e91 100644 --- a/packages/cubejs-materialize-driver/CHANGELOG.md +++ b/packages/cubejs-materialize-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.21](https://github.com/cube-js/cube/compare/v1.2.20...v1.2.21) (2025-03-11) + +**Note:** Version bump only for package @cubejs-backend/materialize-driver + ## [1.2.20](https://github.com/cube-js/cube/compare/v1.2.19...v1.2.20) (2025-03-10) **Note:** Version bump only for package @cubejs-backend/materialize-driver diff --git a/packages/cubejs-materialize-driver/package.json b/packages/cubejs-materialize-driver/package.json index 36084cbfe..998a6a4fa 100644 --- a/packages/cubejs-materialize-driver/package.json +++ b/packages/cubejs-materialize-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/materialize-driver", "description": "Cube.js Materialize database driver", "author": "Cube Dev, Inc.", - "version": "1.2.20", + "version": "1.2.21", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -27,17 +27,17 @@ "lint:fix": "eslint --fix src/* --ext .ts" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.20", - "@cubejs-backend/postgres-driver": "1.2.20", - "@cubejs-backend/shared": "1.2.20", + "@cubejs-backend/base-driver": "1.2.21", + "@cubejs-backend/postgres-driver": "1.2.21", + "@cubejs-backend/shared": "1.2.21", "@types/pg": "^8.6.0", "pg": "^8.6.0", "semver": "^7.6.3" }, "license": "Apache-2.0", "devDependencies": { - "@cubejs-backend/linter": "1.2.20", - "@cubejs-backend/testing": "1.2.20", + "@cubejs-backend/linter": "1.2.21", + "@cubejs-backend/testing": "1.2.21", "typescript": "~5.2.2" }, "publishConfig": { diff --git a/packages/cubejs-mongobi-driver/CHANGELOG.md b/packages/cubejs-mongobi-driver/CHANGELOG.md index 4f0957034..3e9396023 100644 --- a/packages/cubejs-mongobi-driver/CHANGELOG.md +++ b/packages/cubejs-mongobi-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.21](https://github.com/cube-js/cube/compare/v1.2.20...v1.2.21) (2025-03-11) + +**Note:** Version bump only for package @cubejs-backend/mongobi-driver + ## [1.2.20](https://github.com/cube-js/cube/compare/v1.2.19...v1.2.20) (2025-03-10) **Note:** Version bump only for package @cubejs-backend/mongobi-driver diff --git a/packages/cubejs-mongobi-driver/package.json b/packages/cubejs-mongobi-driver/package.json index b23aeb33e..d70d5c6cf 100644 --- a/packages/cubejs-mongobi-driver/package.json +++ b/packages/cubejs-mongobi-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/mongobi-driver", "description": "Cube.js MongoBI driver", "author": "krunalsabnis@gmail.com", - "version": "1.2.20", + "version": "1.2.21", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -27,8 +27,8 @@ "integration:mongobi": "jest dist/test" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.20", - "@cubejs-backend/shared": "1.2.20", + "@cubejs-backend/base-driver": "1.2.21", + "@cubejs-backend/shared": "1.2.21", "@types/node": "^18", "generic-pool": "^3.8.2", "moment": "^2.29.1", @@ -39,7 +39,7 @@ "access": "public" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.20", + "@cubejs-backend/linter": "1.2.21", "@types/generic-pool": "^3.1.9", "testcontainers": "^10.13.0", "typescript": "~5.2.2" diff --git a/packages/cubejs-mssql-driver/CHANGELOG.md b/packages/cubejs-mssql-driver/CHANGELOG.md index 3f0b5c21f..df3bda47a 100644 --- a/packages/cubejs-mssql-driver/CHANGELOG.md +++ b/packages/cubejs-mssql-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.21](https://github.com/cube-js/cube/compare/v1.2.20...v1.2.21) (2025-03-11) + +**Note:** Version bump only for package @cubejs-backend/mssql-driver + ## [1.2.20](https://github.com/cube-js/cube/compare/v1.2.19...v1.2.20) (2025-03-10) **Note:** Version bump only for package @cubejs-backend/mssql-driver diff --git a/packages/cubejs-mssql-driver/package.json b/packages/cubejs-mssql-driver/package.json index 425a3c24d..31bc66ac6 100644 --- a/packages/cubejs-mssql-driver/package.json +++ b/packages/cubejs-mssql-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/mssql-driver", "description": "Cube.js MS SQL database driver", "author": "Cube Dev, Inc.", - "version": "1.2.20", + "version": "1.2.21", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -13,7 +13,7 @@ }, "main": "driver/MSSqlDriver.js", "dependencies": { - "@cubejs-backend/base-driver": "1.2.20", + "@cubejs-backend/base-driver": "1.2.21", "mssql": "^10.0.2" }, "devDependencies": { diff --git a/packages/cubejs-mysql-aurora-serverless-driver/CHANGELOG.md b/packages/cubejs-mysql-aurora-serverless-driver/CHANGELOG.md index d22fc696a..d8fe38dad 100644 --- a/packages/cubejs-mysql-aurora-serverless-driver/CHANGELOG.md +++ b/packages/cubejs-mysql-aurora-serverless-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.21](https://github.com/cube-js/cube/compare/v1.2.20...v1.2.21) (2025-03-11) + +**Note:** Version bump only for package @cubejs-backend/mysql-aurora-serverless-driver + ## [1.2.20](https://github.com/cube-js/cube/compare/v1.2.19...v1.2.20) (2025-03-10) **Note:** Version bump only for package @cubejs-backend/mysql-aurora-serverless-driver diff --git a/packages/cubejs-mysql-aurora-serverless-driver/package.json b/packages/cubejs-mysql-aurora-serverless-driver/package.json index d52748799..d00e3447e 100644 --- a/packages/cubejs-mysql-aurora-serverless-driver/package.json +++ b/packages/cubejs-mysql-aurora-serverless-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/mysql-aurora-serverless-driver", "description": "Cube.js Aurora Serverless Mysql database driver", "author": "Cube Dev, Inc.", - "version": "1.2.20", + "version": "1.2.21", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -21,14 +21,14 @@ "lint": "eslint driver/*.js test/*.js" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.20", - "@cubejs-backend/shared": "1.2.20", + "@cubejs-backend/base-driver": "1.2.21", + "@cubejs-backend/shared": "1.2.21", "@types/mysql": "^2.15.15", "aws-sdk": "^2.787.0", "data-api-client": "^1.1.0" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.20", + "@cubejs-backend/linter": "1.2.21", "@types/data-api-client": "^1.2.1", "jest": "^27", "testcontainers": "^10.10.4" diff --git a/packages/cubejs-mysql-driver/CHANGELOG.md b/packages/cubejs-mysql-driver/CHANGELOG.md index cdba9941f..222434dd5 100644 --- a/packages/cubejs-mysql-driver/CHANGELOG.md +++ b/packages/cubejs-mysql-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.21](https://github.com/cube-js/cube/compare/v1.2.20...v1.2.21) (2025-03-11) + +**Note:** Version bump only for package @cubejs-backend/mysql-driver + ## [1.2.20](https://github.com/cube-js/cube/compare/v1.2.19...v1.2.20) (2025-03-10) **Note:** Version bump only for package @cubejs-backend/mysql-driver diff --git a/packages/cubejs-mysql-driver/package.json b/packages/cubejs-mysql-driver/package.json index eda1f9d60..da77f2f0b 100644 --- a/packages/cubejs-mysql-driver/package.json +++ b/packages/cubejs-mysql-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/mysql-driver", "description": "Cube.js Mysql database driver", "author": "Cube Dev, Inc.", - "version": "1.2.20", + "version": "1.2.21", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -27,15 +27,15 @@ "lint:fix": "eslint --fix src/* test/* --ext .ts,.js" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.20", - "@cubejs-backend/shared": "1.2.20", + "@cubejs-backend/base-driver": "1.2.21", + "@cubejs-backend/shared": "1.2.21", "@types/mysql": "^2.15.21", "generic-pool": "^3.6.0", "mysql": "^2.18.1" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.20", - "@cubejs-backend/testing-shared": "1.2.20", + "@cubejs-backend/linter": "1.2.21", + "@cubejs-backend/testing-shared": "1.2.21", "@types/generic-pool": "^3.1.9", "@types/jest": "^27", "jest": "^27", diff --git a/packages/cubejs-oracle-driver/CHANGELOG.md b/packages/cubejs-oracle-driver/CHANGELOG.md index e46072d08..12c2b7862 100644 --- a/packages/cubejs-oracle-driver/CHANGELOG.md +++ b/packages/cubejs-oracle-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.21](https://github.com/cube-js/cube/compare/v1.2.20...v1.2.21) (2025-03-11) + +**Note:** Version bump only for package @cubejs-backend/oracle-driver + ## [1.2.20](https://github.com/cube-js/cube/compare/v1.2.19...v1.2.20) (2025-03-10) **Note:** Version bump only for package @cubejs-backend/oracle-driver diff --git a/packages/cubejs-oracle-driver/package.json b/packages/cubejs-oracle-driver/package.json index ab0aeeea0..e067711c1 100644 --- a/packages/cubejs-oracle-driver/package.json +++ b/packages/cubejs-oracle-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/oracle-driver", "description": "Cube.js oracle database driver", "author": "Cube Dev, Inc.", - "version": "1.2.20", + "version": "1.2.21", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -13,7 +13,7 @@ }, "main": "driver/OracleDriver.js", "dependencies": { - "@cubejs-backend/base-driver": "1.2.20", + "@cubejs-backend/base-driver": "1.2.21", "ramda": "^0.27.0" }, "optionalDependencies": { diff --git a/packages/cubejs-pinot-driver/CHANGELOG.md b/packages/cubejs-pinot-driver/CHANGELOG.md index 947a6bf47..49fd6710f 100644 --- a/packages/cubejs-pinot-driver/CHANGELOG.md +++ b/packages/cubejs-pinot-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.21](https://github.com/cube-js/cube/compare/v1.2.20...v1.2.21) (2025-03-11) + +**Note:** Version bump only for package @cubejs-backend/pinot-driver + ## [1.2.20](https://github.com/cube-js/cube/compare/v1.2.19...v1.2.20) (2025-03-10) **Note:** Version bump only for package @cubejs-backend/pinot-driver diff --git a/packages/cubejs-pinot-driver/package.json b/packages/cubejs-pinot-driver/package.json index 05bccfe76..f6966cfd2 100644 --- a/packages/cubejs-pinot-driver/package.json +++ b/packages/cubejs-pinot-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/pinot-driver", "description": "Cube.js Pinot database driver", "author": "Julian Ronsse, InTheMemory, Cube Dev, Inc.", - "version": "1.2.20", + "version": "1.2.21", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -27,9 +27,9 @@ "lint:fix": "eslint --fix src/* --ext .ts" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.20", - "@cubejs-backend/schema-compiler": "1.2.20", - "@cubejs-backend/shared": "1.2.20", + "@cubejs-backend/base-driver": "1.2.21", + "@cubejs-backend/schema-compiler": "1.2.21", + "@cubejs-backend/shared": "1.2.21", "node-fetch": "^2.6.1", "ramda": "^0.27.2", "sqlstring": "^2.3.3" @@ -39,7 +39,7 @@ "access": "public" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.20", + "@cubejs-backend/linter": "1.2.21", "@types/jest": "^27", "jest": "^27", "should": "^13.2.3", diff --git a/packages/cubejs-playground/CHANGELOG.md b/packages/cubejs-playground/CHANGELOG.md index 54d8fcb68..ff3e103b4 100644 --- a/packages/cubejs-playground/CHANGELOG.md +++ b/packages/cubejs-playground/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.21](https://github.com/cube-js/cube/compare/v1.2.20...v1.2.21) (2025-03-11) + +**Note:** Version bump only for package @cubejs-client/playground + ## [1.2.20](https://github.com/cube-js/cube/compare/v1.2.19...v1.2.20) (2025-03-10) **Note:** Version bump only for package @cubejs-client/playground diff --git a/packages/cubejs-playground/package.json b/packages/cubejs-playground/package.json index bbb7dced5..5c4b4dd6b 100644 --- a/packages/cubejs-playground/package.json +++ b/packages/cubejs-playground/package.json @@ -1,7 +1,7 @@ { "name": "@cubejs-client/playground", "author": "Cube Dev, Inc.", - "version": "1.2.20", + "version": "1.2.21", "engines": {}, "repository": { "type": "git", @@ -68,8 +68,8 @@ "@ant-design/compatible": "^1.0.1", "@ant-design/icons": "^5.3.5", "@cube-dev/ui-kit": "0.52.3", - "@cubejs-client/core": "1.2.20", - "@cubejs-client/react": "1.2.20", + "@cubejs-client/core": "1.2.21", + "@cubejs-client/react": "1.2.21", "@types/flexsearch": "^0.7.3", "@types/node": "^18", "@types/react": "^18.3.4", diff --git a/packages/cubejs-postgres-driver/CHANGELOG.md b/packages/cubejs-postgres-driver/CHANGELOG.md index 2885f939b..3f60e9099 100644 --- a/packages/cubejs-postgres-driver/CHANGELOG.md +++ b/packages/cubejs-postgres-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.21](https://github.com/cube-js/cube/compare/v1.2.20...v1.2.21) (2025-03-11) + +**Note:** Version bump only for package @cubejs-backend/postgres-driver + ## [1.2.20](https://github.com/cube-js/cube/compare/v1.2.19...v1.2.20) (2025-03-10) **Note:** Version bump only for package @cubejs-backend/postgres-driver diff --git a/packages/cubejs-postgres-driver/package.json b/packages/cubejs-postgres-driver/package.json index 2529b7af2..864bc14fe 100644 --- a/packages/cubejs-postgres-driver/package.json +++ b/packages/cubejs-postgres-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/postgres-driver", "description": "Cube.js Postgres database driver", "author": "Cube Dev, Inc.", - "version": "1.2.20", + "version": "1.2.21", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -27,8 +27,8 @@ "lint:fix": "eslint --fix src/* --ext .ts" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.20", - "@cubejs-backend/shared": "1.2.20", + "@cubejs-backend/base-driver": "1.2.21", + "@cubejs-backend/shared": "1.2.21", "@types/pg": "^8.6.0", "@types/pg-query-stream": "^1.0.3", "moment": "^2.24.0", @@ -37,8 +37,8 @@ }, "license": "Apache-2.0", "devDependencies": { - "@cubejs-backend/linter": "1.2.20", - "@cubejs-backend/testing-shared": "1.2.20", + "@cubejs-backend/linter": "1.2.21", + "@cubejs-backend/testing-shared": "1.2.21", "testcontainers": "^10.13.0", "typescript": "~5.2.2" }, diff --git a/packages/cubejs-prestodb-driver/CHANGELOG.md b/packages/cubejs-prestodb-driver/CHANGELOG.md index eeb11a4bf..a490eb9fe 100644 --- a/packages/cubejs-prestodb-driver/CHANGELOG.md +++ b/packages/cubejs-prestodb-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.21](https://github.com/cube-js/cube/compare/v1.2.20...v1.2.21) (2025-03-11) + +**Note:** Version bump only for package @cubejs-backend/prestodb-driver + ## [1.2.20](https://github.com/cube-js/cube/compare/v1.2.19...v1.2.20) (2025-03-10) **Note:** Version bump only for package @cubejs-backend/prestodb-driver diff --git a/packages/cubejs-prestodb-driver/package.json b/packages/cubejs-prestodb-driver/package.json index 9038ba451..cc694021f 100644 --- a/packages/cubejs-prestodb-driver/package.json +++ b/packages/cubejs-prestodb-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/prestodb-driver", "description": "Cube.js Presto database driver", "author": "Cube Dev, Inc.", - "version": "1.2.20", + "version": "1.2.21", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -27,8 +27,8 @@ "lint:fix": "eslint --fix src/* --ext .ts" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.20", - "@cubejs-backend/shared": "1.2.20", + "@cubejs-backend/base-driver": "1.2.21", + "@cubejs-backend/shared": "1.2.21", "presto-client": "^0.12.2", "ramda": "^0.27.0", "sqlstring": "^2.3.1" @@ -38,7 +38,7 @@ "access": "public" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.20", + "@cubejs-backend/linter": "1.2.21", "@types/jest": "^27", "jest": "^27", "should": "^13.2.3", diff --git a/packages/cubejs-query-orchestrator/CHANGELOG.md b/packages/cubejs-query-orchestrator/CHANGELOG.md index 313dde38e..e2e4e30b3 100644 --- a/packages/cubejs-query-orchestrator/CHANGELOG.md +++ b/packages/cubejs-query-orchestrator/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.21](https://github.com/cube-js/cube/compare/v1.2.20...v1.2.21) (2025-03-11) + +**Note:** Version bump only for package @cubejs-backend/query-orchestrator + ## [1.2.20](https://github.com/cube-js/cube/compare/v1.2.19...v1.2.20) (2025-03-10) **Note:** Version bump only for package @cubejs-backend/query-orchestrator diff --git a/packages/cubejs-query-orchestrator/package.json b/packages/cubejs-query-orchestrator/package.json index 30c7374b6..2ba8c35c9 100644 --- a/packages/cubejs-query-orchestrator/package.json +++ b/packages/cubejs-query-orchestrator/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/query-orchestrator", "description": "Cube.js Query Orchestrator and Cache", "author": "Cube Dev, Inc.", - "version": "1.2.20", + "version": "1.2.21", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -29,16 +29,16 @@ "dist/src/*" ], "dependencies": { - "@cubejs-backend/base-driver": "1.2.20", - "@cubejs-backend/cubestore-driver": "1.2.20", - "@cubejs-backend/shared": "1.2.20", + "@cubejs-backend/base-driver": "1.2.21", + "@cubejs-backend/cubestore-driver": "1.2.21", + "@cubejs-backend/shared": "1.2.21", "csv-write-stream": "^2.0.0", "generic-pool": "^3.7.1", "lru-cache": "^5.1.1", "ramda": "^0.27.2" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.20", + "@cubejs-backend/linter": "1.2.21", "@types/generic-pool": "^3.1.9", "@types/jest": "^27", "@types/node": "^18", diff --git a/packages/cubejs-questdb-driver/CHANGELOG.md b/packages/cubejs-questdb-driver/CHANGELOG.md index ed49d6a78..d87156027 100644 --- a/packages/cubejs-questdb-driver/CHANGELOG.md +++ b/packages/cubejs-questdb-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.21](https://github.com/cube-js/cube/compare/v1.2.20...v1.2.21) (2025-03-11) + +**Note:** Version bump only for package @cubejs-backend/questdb-driver + ## [1.2.20](https://github.com/cube-js/cube/compare/v1.2.19...v1.2.20) (2025-03-10) **Note:** Version bump only for package @cubejs-backend/questdb-driver diff --git a/packages/cubejs-questdb-driver/package.json b/packages/cubejs-questdb-driver/package.json index 1cc54750e..8e985bf46 100644 --- a/packages/cubejs-questdb-driver/package.json +++ b/packages/cubejs-questdb-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/questdb-driver", "description": "Cube.js QuestDB database driver", "author": "Cube Dev, Inc.", - "version": "1.2.20", + "version": "1.2.21", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -27,9 +27,9 @@ "lint:fix": "eslint --fix src/* --ext .ts" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.20", - "@cubejs-backend/schema-compiler": "1.2.20", - "@cubejs-backend/shared": "1.2.20", + "@cubejs-backend/base-driver": "1.2.21", + "@cubejs-backend/schema-compiler": "1.2.21", + "@cubejs-backend/shared": "1.2.21", "@types/pg": "^8.6.0", "moment": "^2.24.0", "pg": "^8.7.0", @@ -37,8 +37,8 @@ }, "license": "Apache-2.0", "devDependencies": { - "@cubejs-backend/linter": "1.2.20", - "@cubejs-backend/testing-shared": "1.2.20", + "@cubejs-backend/linter": "1.2.21", + "@cubejs-backend/testing-shared": "1.2.21", "testcontainers": "^10.13.0", "typescript": "~5.2.2" }, diff --git a/packages/cubejs-redshift-driver/CHANGELOG.md b/packages/cubejs-redshift-driver/CHANGELOG.md index 2685f7f06..b780417bd 100644 --- a/packages/cubejs-redshift-driver/CHANGELOG.md +++ b/packages/cubejs-redshift-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.21](https://github.com/cube-js/cube/compare/v1.2.20...v1.2.21) (2025-03-11) + +**Note:** Version bump only for package @cubejs-backend/redshift-driver + ## [1.2.20](https://github.com/cube-js/cube/compare/v1.2.19...v1.2.20) (2025-03-10) **Note:** Version bump only for package @cubejs-backend/redshift-driver diff --git a/packages/cubejs-redshift-driver/package.json b/packages/cubejs-redshift-driver/package.json index d5821d6e3..4578d9e10 100644 --- a/packages/cubejs-redshift-driver/package.json +++ b/packages/cubejs-redshift-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/redshift-driver", "description": "Cube.js Redshift database driver", "author": "Cube Dev, Inc.", - "version": "1.2.20", + "version": "1.2.21", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -25,13 +25,13 @@ "lint:fix": "eslint --fix src/* --ext .ts" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.20", - "@cubejs-backend/postgres-driver": "1.2.20", - "@cubejs-backend/shared": "1.2.20" + "@cubejs-backend/base-driver": "1.2.21", + "@cubejs-backend/postgres-driver": "1.2.21", + "@cubejs-backend/shared": "1.2.21" }, "license": "Apache-2.0", "devDependencies": { - "@cubejs-backend/linter": "1.2.20", + "@cubejs-backend/linter": "1.2.21", "typescript": "~5.2.2" }, "publishConfig": { diff --git a/packages/cubejs-schema-compiler/CHANGELOG.md b/packages/cubejs-schema-compiler/CHANGELOG.md index 70fa1cba5..b35c243ea 100644 --- a/packages/cubejs-schema-compiler/CHANGELOG.md +++ b/packages/cubejs-schema-compiler/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.21](https://github.com/cube-js/cube/compare/v1.2.20...v1.2.21) (2025-03-11) + +**Note:** Version bump only for package @cubejs-backend/schema-compiler + ## [1.2.20](https://github.com/cube-js/cube/compare/v1.2.19...v1.2.20) (2025-03-10) **Note:** Version bump only for package @cubejs-backend/schema-compiler diff --git a/packages/cubejs-schema-compiler/package.json b/packages/cubejs-schema-compiler/package.json index cf65118dc..2ad11377a 100644 --- a/packages/cubejs-schema-compiler/package.json +++ b/packages/cubejs-schema-compiler/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/schema-compiler", "description": "Cube schema compiler", "author": "Cube Dev, Inc.", - "version": "1.2.20", + "version": "1.2.21", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -40,8 +40,8 @@ "@babel/standalone": "^7.24", "@babel/traverse": "^7.24", "@babel/types": "^7.24", - "@cubejs-backend/native": "1.2.20", - "@cubejs-backend/shared": "1.2.20", + "@cubejs-backend/native": "1.2.21", + "@cubejs-backend/shared": "1.2.21", "antlr4ts": "0.5.0-alpha.4", "camelcase": "^6.2.0", "cron-parser": "^4.9.0", @@ -59,8 +59,8 @@ }, "devDependencies": { "@clickhouse/client": "^1.7.0", - "@cubejs-backend/linter": "1.2.20", - "@cubejs-backend/query-orchestrator": "1.2.20", + "@cubejs-backend/linter": "1.2.21", + "@cubejs-backend/query-orchestrator": "1.2.21", "@types/babel__code-frame": "^7.0.6", "@types/babel__generator": "^7.6.8", "@types/babel__traverse": "^7.20.5", diff --git a/packages/cubejs-server-core/CHANGELOG.md b/packages/cubejs-server-core/CHANGELOG.md index ce5bae5b2..b512bc1b6 100644 --- a/packages/cubejs-server-core/CHANGELOG.md +++ b/packages/cubejs-server-core/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.21](https://github.com/cube-js/cube/compare/v1.2.20...v1.2.21) (2025-03-11) + +**Note:** Version bump only for package @cubejs-backend/server-core + ## [1.2.20](https://github.com/cube-js/cube/compare/v1.2.19...v1.2.20) (2025-03-10) **Note:** Version bump only for package @cubejs-backend/server-core diff --git a/packages/cubejs-server-core/package.json b/packages/cubejs-server-core/package.json index 53c718fcf..24e906865 100644 --- a/packages/cubejs-server-core/package.json +++ b/packages/cubejs-server-core/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/server-core", "description": "Cube.js base component to wire all backend components together", "author": "Cube Dev, Inc.", - "version": "1.2.20", + "version": "1.2.21", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -29,14 +29,14 @@ "unit": "jest --runInBand --forceExit --coverage dist/test" }, "dependencies": { - "@cubejs-backend/api-gateway": "1.2.20", - "@cubejs-backend/cloud": "1.2.20", + "@cubejs-backend/api-gateway": "1.2.21", + "@cubejs-backend/cloud": "1.2.21", "@cubejs-backend/dotenv": "^9.0.2", - "@cubejs-backend/native": "1.2.20", - "@cubejs-backend/query-orchestrator": "1.2.20", - "@cubejs-backend/schema-compiler": "1.2.20", - "@cubejs-backend/shared": "1.2.20", - "@cubejs-backend/templates": "1.2.20", + "@cubejs-backend/native": "1.2.21", + "@cubejs-backend/query-orchestrator": "1.2.21", + "@cubejs-backend/schema-compiler": "1.2.21", + "@cubejs-backend/shared": "1.2.21", + "@cubejs-backend/templates": "1.2.21", "codesandbox-import-utils": "^2.1.12", "cross-spawn": "^7.0.1", "fs-extra": "^8.1.0", @@ -59,9 +59,9 @@ "ws": "^7.5.3" }, "devDependencies": { - "@cubejs-backend/cubestore-driver": "1.2.20", - "@cubejs-backend/linter": "1.2.20", - "@cubejs-client/playground": "1.2.20", + "@cubejs-backend/cubestore-driver": "1.2.21", + "@cubejs-backend/linter": "1.2.21", + "@cubejs-client/playground": "1.2.21", "@types/cross-spawn": "^6.0.2", "@types/express": "^4.17.21", "@types/fs-extra": "^9.0.8", diff --git a/packages/cubejs-server/CHANGELOG.md b/packages/cubejs-server/CHANGELOG.md index ce3f38f23..cd85175e1 100644 --- a/packages/cubejs-server/CHANGELOG.md +++ b/packages/cubejs-server/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.21](https://github.com/cube-js/cube/compare/v1.2.20...v1.2.21) (2025-03-11) + +**Note:** Version bump only for package @cubejs-backend/server + ## [1.2.20](https://github.com/cube-js/cube/compare/v1.2.19...v1.2.20) (2025-03-10) **Note:** Version bump only for package @cubejs-backend/server diff --git a/packages/cubejs-server/package.json b/packages/cubejs-server/package.json index eeece07a1..54e889e54 100644 --- a/packages/cubejs-server/package.json +++ b/packages/cubejs-server/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/server", "description": "Cube.js all-in-one server", "author": "Cube Dev, Inc.", - "version": "1.2.20", + "version": "1.2.21", "types": "index.d.ts", "repository": { "type": "git", @@ -40,11 +40,11 @@ "jest:shapshot": "jest --updateSnapshot test" }, "dependencies": { - "@cubejs-backend/cubestore-driver": "1.2.20", + "@cubejs-backend/cubestore-driver": "1.2.21", "@cubejs-backend/dotenv": "^9.0.2", - "@cubejs-backend/native": "1.2.20", - "@cubejs-backend/server-core": "1.2.20", - "@cubejs-backend/shared": "1.2.20", + "@cubejs-backend/native": "1.2.21", + "@cubejs-backend/server-core": "1.2.21", + "@cubejs-backend/shared": "1.2.21", "@oclif/color": "^1.0.0", "@oclif/command": "^1.8.13", "@oclif/config": "^1.18.2", @@ -61,8 +61,8 @@ "ws": "^7.1.2" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.20", - "@cubejs-backend/query-orchestrator": "1.2.20", + "@cubejs-backend/linter": "1.2.21", + "@cubejs-backend/query-orchestrator": "1.2.21", "@oclif/dev-cli": "^1.23.1", "@types/body-parser": "^1.19.0", "@types/cors": "^2.8.8", diff --git a/packages/cubejs-snowflake-driver/CHANGELOG.md b/packages/cubejs-snowflake-driver/CHANGELOG.md index ce8d61b7c..d373ada86 100644 --- a/packages/cubejs-snowflake-driver/CHANGELOG.md +++ b/packages/cubejs-snowflake-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.21](https://github.com/cube-js/cube/compare/v1.2.20...v1.2.21) (2025-03-11) + +**Note:** Version bump only for package @cubejs-backend/snowflake-driver + ## [1.2.20](https://github.com/cube-js/cube/compare/v1.2.19...v1.2.20) (2025-03-10) **Note:** Version bump only for package @cubejs-backend/snowflake-driver diff --git a/packages/cubejs-snowflake-driver/package.json b/packages/cubejs-snowflake-driver/package.json index 207fef83a..f7b085cd8 100644 --- a/packages/cubejs-snowflake-driver/package.json +++ b/packages/cubejs-snowflake-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/snowflake-driver", "description": "Cube.js Snowflake database driver", "author": "Cube Dev, Inc.", - "version": "1.2.20", + "version": "1.2.21", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -25,8 +25,8 @@ "lint:fix": "eslint --fix src/* --ext .ts" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.20", - "@cubejs-backend/shared": "1.2.20", + "@cubejs-backend/base-driver": "1.2.21", + "@cubejs-backend/shared": "1.2.21", "date-fns-timezone": "^0.1.4", "snowflake-sdk": "^1.13.1" }, @@ -38,7 +38,7 @@ "extends": "../cubejs-linter" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.20", + "@cubejs-backend/linter": "1.2.21", "typescript": "~5.2.2" } } diff --git a/packages/cubejs-sqlite-driver/CHANGELOG.md b/packages/cubejs-sqlite-driver/CHANGELOG.md index 885a38076..a6a72ff71 100644 --- a/packages/cubejs-sqlite-driver/CHANGELOG.md +++ b/packages/cubejs-sqlite-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.21](https://github.com/cube-js/cube/compare/v1.2.20...v1.2.21) (2025-03-11) + +**Note:** Version bump only for package @cubejs-backend/sqlite-driver + ## [1.2.20](https://github.com/cube-js/cube/compare/v1.2.19...v1.2.20) (2025-03-10) **Note:** Version bump only for package @cubejs-backend/sqlite-driver diff --git a/packages/cubejs-sqlite-driver/package.json b/packages/cubejs-sqlite-driver/package.json index fb0352a2e..67f68767e 100644 --- a/packages/cubejs-sqlite-driver/package.json +++ b/packages/cubejs-sqlite-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/sqlite-driver", "description": "Cube.js Sqlite database driver", "author": "Cube Dev, Inc.", - "version": "1.2.20", + "version": "1.2.21", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -17,13 +17,13 @@ "lint": "eslint **/*.js" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.20", - "@cubejs-backend/shared": "1.2.20", + "@cubejs-backend/base-driver": "1.2.21", + "@cubejs-backend/shared": "1.2.21", "sqlite3": "^5.1.7" }, "license": "Apache-2.0", "devDependencies": { - "@cubejs-backend/linter": "1.2.20" + "@cubejs-backend/linter": "1.2.21" }, "publishConfig": { "access": "public" diff --git a/packages/cubejs-templates/CHANGELOG.md b/packages/cubejs-templates/CHANGELOG.md index ea740ffa5..4252e8244 100644 --- a/packages/cubejs-templates/CHANGELOG.md +++ b/packages/cubejs-templates/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.21](https://github.com/cube-js/cube/compare/v1.2.20...v1.2.21) (2025-03-11) + +**Note:** Version bump only for package @cubejs-backend/templates + ## [1.2.20](/compare/v1.2.19...v1.2.20) (2025-03-10) **Note:** Version bump only for package @cubejs-backend/templates diff --git a/packages/cubejs-templates/package.json b/packages/cubejs-templates/package.json index 0eb89f4d8..16809beed 100644 --- a/packages/cubejs-templates/package.json +++ b/packages/cubejs-templates/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-backend/templates", - "version": "1.2.20", + "version": "1.2.21", "description": "Cube.js Templates helpers", "author": "Cube Dev, Inc.", "license": "Apache-2.0", @@ -26,7 +26,7 @@ "extends": "../cubejs-linter" }, "dependencies": { - "@cubejs-backend/shared": "1.2.20", + "@cubejs-backend/shared": "1.2.21", "cross-spawn": "^7.0.3", "decompress": "^4.2.1", "decompress-targz": "^4.1.1", @@ -36,7 +36,7 @@ "source-map-support": "^0.5.19" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.20", + "@cubejs-backend/linter": "1.2.21", "typescript": "~5.2.2" } } diff --git a/packages/cubejs-testing-drivers/CHANGELOG.md b/packages/cubejs-testing-drivers/CHANGELOG.md index b1357cf8d..a29f3276c 100644 --- a/packages/cubejs-testing-drivers/CHANGELOG.md +++ b/packages/cubejs-testing-drivers/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.21](https://github.com/cube-js/cube/compare/v1.2.20...v1.2.21) (2025-03-11) + +**Note:** Version bump only for package @cubejs-backend/testing-drivers + ## [1.2.20](/compare/v1.2.19...v1.2.20) (2025-03-10) **Note:** Version bump only for package @cubejs-backend/testing-drivers diff --git a/packages/cubejs-testing-drivers/package.json b/packages/cubejs-testing-drivers/package.json index 2c2886b07..3cdce90d1 100644 --- a/packages/cubejs-testing-drivers/package.json +++ b/packages/cubejs-testing-drivers/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-backend/testing-drivers", - "version": "1.2.20", + "version": "1.2.21", "description": "Cube.js drivers test suite", "author": "Cube Dev, Inc.", "license": "MIT", @@ -56,24 +56,24 @@ "dist/src" ], "dependencies": { - "@cubejs-backend/athena-driver": "1.2.20", - "@cubejs-backend/base-driver": "1.2.20", - "@cubejs-backend/bigquery-driver": "1.2.20", - "@cubejs-backend/clickhouse-driver": "1.2.20", - "@cubejs-backend/cubestore-driver": "1.2.20", - "@cubejs-backend/databricks-jdbc-driver": "1.2.20", + "@cubejs-backend/athena-driver": "1.2.21", + "@cubejs-backend/base-driver": "1.2.21", + "@cubejs-backend/bigquery-driver": "1.2.21", + "@cubejs-backend/clickhouse-driver": "1.2.21", + "@cubejs-backend/cubestore-driver": "1.2.21", + "@cubejs-backend/databricks-jdbc-driver": "1.2.21", "@cubejs-backend/dotenv": "^9.0.2", - "@cubejs-backend/linter": "1.2.20", - "@cubejs-backend/mssql-driver": "1.2.20", - "@cubejs-backend/mysql-driver": "1.2.20", - "@cubejs-backend/postgres-driver": "1.2.20", - "@cubejs-backend/query-orchestrator": "1.2.20", - "@cubejs-backend/server-core": "1.2.20", - "@cubejs-backend/shared": "1.2.20", - "@cubejs-backend/snowflake-driver": "1.2.20", - "@cubejs-backend/testing-shared": "1.2.20", - "@cubejs-client/core": "1.2.20", - "@cubejs-client/ws-transport": "1.2.20", + "@cubejs-backend/linter": "1.2.21", + "@cubejs-backend/mssql-driver": "1.2.21", + "@cubejs-backend/mysql-driver": "1.2.21", + "@cubejs-backend/postgres-driver": "1.2.21", + "@cubejs-backend/query-orchestrator": "1.2.21", + "@cubejs-backend/server-core": "1.2.21", + "@cubejs-backend/shared": "1.2.21", + "@cubejs-backend/snowflake-driver": "1.2.21", + "@cubejs-backend/testing-shared": "1.2.21", + "@cubejs-client/core": "1.2.21", + "@cubejs-client/ws-transport": "1.2.21", "@jest/globals": "^27", "@types/jest": "^27", "@types/node": "^18", diff --git a/packages/cubejs-testing-shared/CHANGELOG.md b/packages/cubejs-testing-shared/CHANGELOG.md index 3b631a8b2..2e955df33 100644 --- a/packages/cubejs-testing-shared/CHANGELOG.md +++ b/packages/cubejs-testing-shared/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.21](https://github.com/cube-js/cube/compare/v1.2.20...v1.2.21) (2025-03-11) + +**Note:** Version bump only for package @cubejs-backend/testing-shared + ## [1.2.20](/compare/v1.2.19...v1.2.20) (2025-03-10) **Note:** Version bump only for package @cubejs-backend/testing-shared diff --git a/packages/cubejs-testing-shared/package.json b/packages/cubejs-testing-shared/package.json index 9ef487ab4..a4f116d35 100644 --- a/packages/cubejs-testing-shared/package.json +++ b/packages/cubejs-testing-shared/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-backend/testing-shared", - "version": "1.2.20", + "version": "1.2.21", "description": "Cube.js Testing Helpers", "author": "Cube Dev, Inc.", "license": "Apache-2.0", @@ -21,16 +21,16 @@ ], "dependencies": { "@cubejs-backend/dotenv": "^9.0.2", - "@cubejs-backend/query-orchestrator": "1.2.20", - "@cubejs-backend/schema-compiler": "1.2.20", - "@cubejs-backend/shared": "1.2.20", + "@cubejs-backend/query-orchestrator": "1.2.21", + "@cubejs-backend/schema-compiler": "1.2.21", + "@cubejs-backend/shared": "1.2.21", "@testcontainers/kafka": "~10.13.0", "dedent": "^0.7.0", "node-fetch": "^2.6.7", "testcontainers": "^10.13.0" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.20", + "@cubejs-backend/linter": "1.2.21", "@jest/globals": "^27", "@types/dedent": "^0.7.0", "@types/jest": "^27", diff --git a/packages/cubejs-testing/CHANGELOG.md b/packages/cubejs-testing/CHANGELOG.md index c3796e3bd..03175274b 100644 --- a/packages/cubejs-testing/CHANGELOG.md +++ b/packages/cubejs-testing/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.21](https://github.com/cube-js/cube/compare/v1.2.20...v1.2.21) (2025-03-11) + +**Note:** Version bump only for package @cubejs-backend/testing + ## [1.2.20](/compare/v1.2.19...v1.2.20) (2025-03-10) ### Features diff --git a/packages/cubejs-testing/package.json b/packages/cubejs-testing/package.json index 313570b0e..57d4d3144 100644 --- a/packages/cubejs-testing/package.json +++ b/packages/cubejs-testing/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-backend/testing", - "version": "1.2.20", + "version": "1.2.21", "description": "Cube.js e2e tests", "author": "Cube Dev, Inc.", "license": "Apache-2.0", @@ -94,15 +94,15 @@ "birdbox-fixtures" ], "dependencies": { - "@cubejs-backend/cubestore-driver": "1.2.20", + "@cubejs-backend/cubestore-driver": "1.2.21", "@cubejs-backend/dotenv": "^9.0.2", - "@cubejs-backend/ksql-driver": "1.2.20", - "@cubejs-backend/postgres-driver": "1.2.20", - "@cubejs-backend/query-orchestrator": "1.2.20", - "@cubejs-backend/schema-compiler": "1.2.20", - "@cubejs-backend/shared": "1.2.20", - "@cubejs-backend/testing-shared": "1.2.20", - "@cubejs-client/ws-transport": "1.2.20", + "@cubejs-backend/ksql-driver": "1.2.21", + "@cubejs-backend/postgres-driver": "1.2.21", + "@cubejs-backend/query-orchestrator": "1.2.21", + "@cubejs-backend/schema-compiler": "1.2.21", + "@cubejs-backend/shared": "1.2.21", + "@cubejs-backend/testing-shared": "1.2.21", + "@cubejs-client/ws-transport": "1.2.21", "dedent": "^0.7.0", "fs-extra": "^8.1.0", "http-proxy": "^1.18.1", @@ -113,8 +113,8 @@ }, "devDependencies": { "@4tw/cypress-drag-drop": "^1.6.0", - "@cubejs-backend/linter": "1.2.20", - "@cubejs-client/core": "1.2.20", + "@cubejs-backend/linter": "1.2.21", + "@cubejs-client/core": "1.2.21", "@jest/globals": "^27", "@types/dedent": "^0.7.0", "@types/http-proxy": "^1.17.5", diff --git a/packages/cubejs-trino-driver/CHANGELOG.md b/packages/cubejs-trino-driver/CHANGELOG.md index 1938ad74e..394437e6f 100644 --- a/packages/cubejs-trino-driver/CHANGELOG.md +++ b/packages/cubejs-trino-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.21](https://github.com/cube-js/cube/compare/v1.2.20...v1.2.21) (2025-03-11) + +**Note:** Version bump only for package @cubejs-backend/trino-driver + ## [1.2.20](https://github.com/cube-js/cube/compare/v1.2.19...v1.2.20) (2025-03-10) **Note:** Version bump only for package @cubejs-backend/trino-driver diff --git a/packages/cubejs-trino-driver/package.json b/packages/cubejs-trino-driver/package.json index d0d0973da..110adba1b 100644 --- a/packages/cubejs-trino-driver/package.json +++ b/packages/cubejs-trino-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/trino-driver", "description": "Cube.js Trino database driver", "author": "Cube Dev, Inc.", - "version": "1.2.20", + "version": "1.2.21", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -25,10 +25,10 @@ "lint:fix": "eslint --fix src/* --ext .ts" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.20", - "@cubejs-backend/prestodb-driver": "1.2.20", - "@cubejs-backend/schema-compiler": "1.2.20", - "@cubejs-backend/shared": "1.2.20", + "@cubejs-backend/base-driver": "1.2.21", + "@cubejs-backend/prestodb-driver": "1.2.21", + "@cubejs-backend/schema-compiler": "1.2.21", + "@cubejs-backend/shared": "1.2.21", "presto-client": "^0.12.2", "sqlstring": "^2.3.1" }, @@ -37,7 +37,7 @@ "access": "public" }, "devDependencies": { - "@cubejs-backend/linter": "1.2.20" + "@cubejs-backend/linter": "1.2.21" }, "eslintConfig": { "extends": "../cubejs-linter" diff --git a/packages/cubejs-vertica-driver/CHANGELOG.md b/packages/cubejs-vertica-driver/CHANGELOG.md index 4f05484df..8a91af511 100644 --- a/packages/cubejs-vertica-driver/CHANGELOG.md +++ b/packages/cubejs-vertica-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.21](https://github.com/cube-js/cube.js/compare/v1.2.20...v1.2.21) (2025-03-11) + +**Note:** Version bump only for package @cubejs-backend/vertica-driver + ## [1.2.20](https://github.com/cube-js/cube.js/compare/v1.2.19...v1.2.20) (2025-03-10) **Note:** Version bump only for package @cubejs-backend/vertica-driver diff --git a/packages/cubejs-vertica-driver/package.json b/packages/cubejs-vertica-driver/package.json index c7d670c18..bac3d3607 100644 --- a/packages/cubejs-vertica-driver/package.json +++ b/packages/cubejs-vertica-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/vertica-driver", "description": "Cube.js Vertica database driver", "author": "Eduard Karacharov, Tim Brown, Cube Dev, Inc.", - "version": "1.2.20", + "version": "1.2.21", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.js.git", @@ -19,15 +19,15 @@ "lint:fix": "eslint --fix **/*.js" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.20", - "@cubejs-backend/query-orchestrator": "1.2.20", - "@cubejs-backend/schema-compiler": "1.2.20", + "@cubejs-backend/base-driver": "1.2.21", + "@cubejs-backend/query-orchestrator": "1.2.21", + "@cubejs-backend/schema-compiler": "1.2.21", "vertica-nodejs": "^1.0.3" }, "license": "Apache-2.0", "devDependencies": { - "@cubejs-backend/linter": "1.2.20", - "@cubejs-backend/testing-shared": "1.2.20", + "@cubejs-backend/linter": "1.2.21", + "@cubejs-backend/testing-shared": "1.2.21", "jest": "^27", "testcontainers": "^10.13.0" }, diff --git a/rust/cubesql/CHANGELOG.md b/rust/cubesql/CHANGELOG.md index 26cc875fe..93fc2fb12 100644 --- a/rust/cubesql/CHANGELOG.md +++ b/rust/cubesql/CHANGELOG.md @@ -3,6 +3,16 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.21](https://github.com/cube-js/cube/compare/v1.2.20...v1.2.21) (2025-03-11) + +### Bug Fixes + +- **cubejs-native:** cubesql query logger span_id ([#9325](https://github.com/cube-js/cube/issues/9325)) ([568d306](https://github.com/cube-js/cube/commit/568d306a9b97672caf69543077e7863fc773af41)) + +### Features + +- **cubesql:** Move dimensions-only projections to dimensions for push-to-Cube wrapper ([#9318](https://github.com/cube-js/cube/issues/9318)) ([ca62aa0](https://github.com/cube-js/cube/commit/ca62aa0e747b88c2754f3a758c7a959ee52b0c81)) + ## [1.2.20](/compare/v1.2.19...v1.2.20) (2025-03-10) ### Features diff --git a/rust/cubesql/package.json b/rust/cubesql/package.json index ca5cc751f..63e47eae2 100644 --- a/rust/cubesql/package.json +++ b/rust/cubesql/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-backend/cubesql", - "version": "1.2.20", + "version": "1.2.21", "description": "SQL API for Cube as proxy over MySQL protocol.", "engines": { "node": "^12.0.0 || ^14.0.0 || >=16.0.0" diff --git a/rust/cubestore/CHANGELOG.md b/rust/cubestore/CHANGELOG.md index 821926ecd..fa56cb923 100644 --- a/rust/cubestore/CHANGELOG.md +++ b/rust/cubestore/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.21](https://github.com/cube-js/cube/compare/v1.2.20...v1.2.21) (2025-03-11) + +**Note:** Version bump only for package @cubejs-backend/cubestore + ## [1.2.20](/compare/v1.2.19...v1.2.20) (2025-03-10) **Note:** Version bump only for package @cubejs-backend/cubestore diff --git a/rust/cubestore/package.json b/rust/cubestore/package.json index 1b3e4a066..597218c1c 100644 --- a/rust/cubestore/package.json +++ b/rust/cubestore/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-backend/cubestore", - "version": "1.2.20", + "version": "1.2.21", "description": "Cube.js pre-aggregation storage layer.", "main": "dist/src/index.js", "typings": "dist/src/index.d.ts", @@ -27,7 +27,7 @@ "author": "Cube Dev, Inc.", "license": "Apache-2.0", "devDependencies": { - "@cubejs-backend/linter": "1.2.20", + "@cubejs-backend/linter": "1.2.21", "@types/jest": "^27", "@types/node": "^18", "jest": "^27", @@ -37,7 +37,7 @@ "access": "public" }, "dependencies": { - "@cubejs-backend/shared": "1.2.20", + "@cubejs-backend/shared": "1.2.21", "@octokit/core": "^3.2.5", "source-map-support": "^0.5.19" }, From 45e29bb678ba4d1cb6c6e877b5ffb988897755fa Mon Sep 17 00:00:00 2001 From: Dmitriy Rusov Date: Tue, 11 Mar 2025 11:35:26 +0100 Subject: [PATCH 48/49] chore: metaOnly flag in pre-aggregations api (#9128) --- packages/cubejs-api-gateway/src/gateway.ts | 4 +++- packages/cubejs-api-gateway/src/query.js | 1 + .../cubejs-server-core/src/core/RefreshScheduler.ts | 13 ++++++++++++- 3 files changed, 16 insertions(+), 2 deletions(-) diff --git a/packages/cubejs-api-gateway/src/gateway.ts b/packages/cubejs-api-gateway/src/gateway.ts index ca0f1e124..b0d8bedfb 100644 --- a/packages/cubejs-api-gateway/src/gateway.ts +++ b/packages/cubejs-api-gateway/src/gateway.ts @@ -477,6 +477,7 @@ class ApiGateway { app.get('/cubejs-system/v1/pre-aggregations', systemMiddlewares, systemAsyncHandler(async (req, res) => { await this.getPreAggregations({ cacheOnly: !!req.query.cacheOnly, + metaOnly: !!req.query.metaOnly, context: req.context, res: this.resToResultFn(res) }); @@ -656,7 +657,7 @@ class ApiGateway { } } - public async getPreAggregations({ cacheOnly, context, res }: { cacheOnly?: boolean, context: RequestContext, res: ResponseResultFn }) { + public async getPreAggregations({ cacheOnly, metaOnly, context, res }: { cacheOnly?: boolean, metaOnly?: boolean, context: RequestContext, res: ResponseResultFn }) { const requestStarted = new Date(); try { const compilerApi = await this.getCompilerApi(context); @@ -672,6 +673,7 @@ class ApiGateway { preAggregations: preAggregations.map(p => ({ id: p.id, cacheOnly, + metaOnly })) }, ) diff --git a/packages/cubejs-api-gateway/src/query.js b/packages/cubejs-api-gateway/src/query.js index 72e67c10c..073c20847 100644 --- a/packages/cubejs-api-gateway/src/query.js +++ b/packages/cubejs-api-gateway/src/query.js @@ -291,6 +291,7 @@ const queryPreAggregationsSchema = Joi.object().keys({ preAggregations: Joi.array().items(Joi.object().keys({ id: Joi.string().required(), cacheOnly: Joi.boolean(), + metaOnly: Joi.boolean(), partitions: Joi.array().items(Joi.string()), refreshRange: Joi.array().items(Joi.string()).length(2), // TODO: Deprecate after cloud changes })) diff --git a/packages/cubejs-server-core/src/core/RefreshScheduler.ts b/packages/cubejs-server-core/src/core/RefreshScheduler.ts index 4cd0f0cb9..942c47f29 100644 --- a/packages/cubejs-server-core/src/core/RefreshScheduler.ts +++ b/packages/cubejs-server-core/src/core/RefreshScheduler.ts @@ -33,6 +33,7 @@ type PreAggregationsQueryingOptions = { preAggregations: { id: string, cacheOnly?: boolean, + metaOnly?: boolean, partitions?: string[] }[], forceBuildPreAggregations?: boolean, @@ -391,7 +392,17 @@ export class RefreshScheduler { return Promise.all(preAggregations.map(preAggregation => async () => { const { timezones } = queryingOptions; - const { partitions: partitionsFilter, cacheOnly } = preAggregationsQueryingOptions[preAggregation.id] || {}; + const { partitions: partitionsFilter, cacheOnly, metaOnly } = preAggregationsQueryingOptions[preAggregation.id] || {}; + + if (metaOnly) { + return { + timezones, + preAggregation, + partitions: [], + errors: [], + partitionsWithDependencies: [] + }; + } const type = preAggregation?.preAggregation?.type; const isEphemeralPreAggregation = type === 'rollupJoin' || type === 'rollupLambda'; From 15181e4d0a3ed69446641f4fcde16bb738b0bbda Mon Sep 17 00:00:00 2001 From: Alexander Kolov Date: Tue, 11 Mar 2025 21:31:37 +0900 Subject: [PATCH 49/49] Bump versions --- .../cubejs-duckdb-server-driver/package.json | 8 +- .../cubejs-redis-cache-driver/package.json | 10 +- yarn.lock | 162 +++++++++++++++++- 3 files changed, 169 insertions(+), 11 deletions(-) diff --git a/packages/cubejs-duckdb-server-driver/package.json b/packages/cubejs-duckdb-server-driver/package.json index 4bb3e07f8..fee864e58 100644 --- a/packages/cubejs-duckdb-server-driver/package.json +++ b/packages/cubejs-duckdb-server-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/duckdb-server-driver", "description": "Cube DuckDB Server driver", "author": "Alexander Kolov", - "version": "1.2.14", + "version": "1.2.21", "repository": { "type": "git", "url": "https://github.com/luabase/cube.git", @@ -24,9 +24,9 @@ "lint:fix": "eslint --fix src/* --ext .ts" }, "dependencies": { - "@cubejs-backend/base-driver": "1.1.17", - "@cubejs-backend/schema-compiler": "1.1.17", - "@cubejs-backend/shared": "1.1.17", + "@cubejs-backend/base-driver": "1.2.21", + "@cubejs-backend/schema-compiler": "1.2.21", + "@cubejs-backend/shared": "1.2.21", "agentkeepalive": "^4.5.0", "apache-arrow": "^19.0.0", "axios": "^1.7.7" diff --git a/packages/cubejs-redis-cache-driver/package.json b/packages/cubejs-redis-cache-driver/package.json index 5af431874..303d503cb 100644 --- a/packages/cubejs-redis-cache-driver/package.json +++ b/packages/cubejs-redis-cache-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/redis-cache-driver", "description": "Cube Redis Cache driver", "author": "Alexander Kolov", - "version": "1.2.14", + "version": "1.2.21", "repository": { "type": "git", "url": "https://github.com/luabase/cube.git", @@ -24,10 +24,10 @@ "lint:fix": "eslint --fix src/* --ext .ts" }, "dependencies": { - "@cubejs-backend/base-driver": "1.2.14", - "@cubejs-backend/schema-compiler": "1.2.14", - "@cubejs-backend/native": "1.2.14", - "@cubejs-backend/shared": "1.2.14", + "@cubejs-backend/base-driver": "1.2.21", + "@cubejs-backend/schema-compiler": "1.2.21", + "@cubejs-backend/native": "1.2.21", + "@cubejs-backend/shared": "1.2.21", "ioredis": "^5.4.1" }, "license": "UNLICENSED", diff --git a/yarn.lock b/yarn.lock index f6d455adb..1f2a3638d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5754,6 +5754,11 @@ dependencies: "@swc/helpers" "^0.5.0" +"@ioredis/commands@^1.1.1": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@ioredis/commands/-/commands-1.2.0.tgz#6d61b3097470af1fdbbe622795b8921d42018e11" + integrity sha512-Sx1pU8EM64o2BrqNpEO1CNLtKQwyhuXuqyfH7oGKCk+1a33d2r5saW8zNwm3j6BTExtjrv2BxTgzzkMwts6vGg== + "@isaacs/cliui@^8.0.2": version "8.0.2" resolved "https://registry.yarnpkg.com/@isaacs/cliui/-/cliui-8.0.2.tgz#b37667b7bc181c168782259bab42474fbf52b550" @@ -9199,6 +9204,13 @@ dependencies: tslib "^2.4.0" +"@swc/helpers@^0.5.11": + version "0.5.15" + resolved "https://registry.yarnpkg.com/@swc/helpers/-/helpers-0.5.15.tgz#79efab344c5819ecf83a43f3f9f811fc84b516d7" + integrity sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g== + dependencies: + tslib "^2.8.0" + "@techteamer/ocsp@1.0.1": version "1.0.1" resolved "https://registry.yarnpkg.com/@techteamer/ocsp/-/ocsp-1.0.1.tgz#420f80c64ff0f74a70b65c88e4031c03a9da6ded" @@ -9361,6 +9373,16 @@ dependencies: "@types/node" "*" +"@types/command-line-args@^5.2.3": + version "5.2.3" + resolved "https://registry.yarnpkg.com/@types/command-line-args/-/command-line-args-5.2.3.tgz#553ce2fd5acf160b448d307649b38ffc60d39639" + integrity sha512-uv0aG6R0Y8WHZLTamZwtfsDLVRnOa+n+n5rEvFWL5Na5gZ8V2Teab/duDPFzIIIhs9qizDpcavCusCLJZu62Kw== + +"@types/command-line-usage@^5.0.4": + version "5.0.4" + resolved "https://registry.yarnpkg.com/@types/command-line-usage/-/command-line-usage-5.0.4.tgz#374e4c62d78fbc5a670a0f36da10235af879a0d5" + integrity sha512-BwR5KP3Es/CSht0xqBcUXS3qCAUVXwpRKsV2+arxeb65atasuXG9LykC9Ab10Cw3s2raH92ZqOeILaQbsB2ACg== + "@types/connect-history-api-fallback@^1.3.5": version "1.5.3" resolved "https://registry.yarnpkg.com/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.3.tgz#7793aa2160cef7db0ce5fe2b8aab621200f1a470" @@ -9802,7 +9824,7 @@ dependencies: "@types/node" "*" -"@types/node@*", "@types/node@^18": +"@types/node@*", "@types/node@^18", "@types/node@^20.13.0": version "18.19.46" resolved "https://registry.yarnpkg.com/@types/node/-/node-18.19.46.tgz#51801396c01153e0626e36f43386e83bc768b072" integrity sha512-vnRgMS7W6cKa1/0G3/DTtQYpVrZ8c0Xm6UkLaVFrb9jtcVC3okokW09Ki1Qdrj9ISokszD69nY4WDLRlvHlhAA== @@ -11608,6 +11630,21 @@ anymatch@^3.0.3, anymatch@~3.1.2: normalize-path "^3.0.0" picomatch "^2.0.4" +apache-arrow@^19.0.0: + version "19.0.1" + resolved "https://registry.yarnpkg.com/apache-arrow/-/apache-arrow-19.0.1.tgz#aeac6922102e3274f57d97ec72da69d20e55b15c" + integrity sha512-APmMLzS4qbTivLrPdQXexGM4JRr+0g62QDaobzEvip/FdQIrv2qLy0mD5Qdmw4buydtVJgbFeKR8f59I6PPGDg== + dependencies: + "@swc/helpers" "^0.5.11" + "@types/command-line-args" "^5.2.3" + "@types/command-line-usage" "^5.0.4" + "@types/node" "^20.13.0" + command-line-args "^6.0.1" + command-line-usage "^7.0.1" + flatbuffers "^24.3.25" + json-bignum "^0.0.3" + tslib "^2.6.2" + app-path@^3.2.0: version "3.3.0" resolved "https://registry.yarnpkg.com/app-path/-/app-path-3.3.0.tgz#0342a909db37079c593979c720f99e872475eba3" @@ -11679,6 +11716,11 @@ aria-query@^4.2.2: "@babel/runtime" "^7.10.2" "@babel/runtime-corejs3" "^7.10.2" +array-back@^6.2.2: + version "6.2.2" + resolved "https://registry.yarnpkg.com/array-back/-/array-back-6.2.2.tgz#f567d99e9af88a6d3d2f9dfcc21db6f9ba9fd157" + integrity sha512-gUAZ7HPyb4SJczXAMUXMGAvI976JoK3qEx9v1FTmeYuJj0IBiaKttG1ydtGKdkfqWkIkouke7nG8ufGy77+Cvw== + array-buffer-byte-length@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz#1e5583ec16763540a27ae52eed99ff899223568f" @@ -12004,6 +12046,15 @@ axios@^1.6.8, axios@^1.7.4: form-data "^4.0.0" proxy-from-env "^1.1.0" +axios@^1.7.7: + version "1.8.2" + resolved "https://registry.yarnpkg.com/axios/-/axios-1.8.2.tgz#fabe06e241dfe83071d4edfbcaa7b1c3a40f7979" + integrity sha512-ls4GYBm5aig9vWx8AWDSGLpnpDQRtWAfrjU+EuytuODrFBkqesN2RkOQCBzrA1RQNHw1SmRMSDDDSwzNAYQ6Rg== + dependencies: + follow-redirects "^1.15.6" + form-data "^4.0.0" + proxy-from-env "^1.1.0" + axobject-query@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-2.2.0.tgz#943d47e10c0b704aa42275e20edf3722648989be" @@ -12928,6 +12979,13 @@ chai@^4.3.10: pathval "^1.1.1" type-detect "^4.0.8" +chalk-template@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/chalk-template/-/chalk-template-0.4.0.tgz#692c034d0ed62436b9062c1707fadcd0f753204b" + integrity sha512-/ghrgmhfY8RaSdeo43hNXxpoHAtxdbskUHjPpfqUWGttFgycUhYPGx3YZBCnUCvOa7Doivn1IZec3DEGFoMgLg== + dependencies: + chalk "^4.1.2" + chalk@4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.0.tgz#4e14870a618d9e2edd97dd8345fd9d9dc315646a" @@ -13261,6 +13319,11 @@ clsx@^2.0.0: resolved "https://registry.yarnpkg.com/clsx/-/clsx-2.1.0.tgz#e851283bcb5c80ee7608db18487433f7b23f77cb" integrity sha512-m3iNNWpd9rl3jvvcBnu70ylMdrXt8Vlq4HYadnU5fwcOtvkSQWPmj7amUcDT2qYI7risszBjI5AUIUox9D16pg== +cluster-key-slot@^1.1.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/cluster-key-slot/-/cluster-key-slot-1.1.2.tgz#88ddaa46906e303b5de30d3153b7d9fe0a0c19ac" + integrity sha512-RMr0FhtfXemyinomL4hrWcYJxmX6deFdCxpJzhDttxgO1+bcCnkk+9drydLVDmAMG7NE6aN/fl4F7ucU/90gAA== + cmd-shim@6.0.3, cmd-shim@^6.0.0: version "6.0.3" resolved "https://registry.yarnpkg.com/cmd-shim/-/cmd-shim-6.0.3.tgz#c491e9656594ba17ac83c4bd931590a9d6e26033" @@ -13386,6 +13449,26 @@ combined-stream@^1.0.6, combined-stream@^1.0.8, combined-stream@~1.0.6: dependencies: delayed-stream "~1.0.0" +command-line-args@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/command-line-args/-/command-line-args-6.0.1.tgz#cbd1efb4f72b285dbd54bde9a8585c2d9694b070" + integrity sha512-Jr3eByUjqyK0qd8W0SGFW1nZwqCaNCtbXjRo2cRJC1OYxWl3MZ5t1US3jq+cO4sPavqgw4l9BMGX0CBe+trepg== + dependencies: + array-back "^6.2.2" + find-replace "^5.0.2" + lodash.camelcase "^4.3.0" + typical "^7.2.0" + +command-line-usage@^7.0.1: + version "7.0.3" + resolved "https://registry.yarnpkg.com/command-line-usage/-/command-line-usage-7.0.3.tgz#6bce992354f6af10ecea2b631bfdf0c8b3bfaea3" + integrity sha512-PqMLy5+YGwhMh1wS04mVG44oqDsgyLRSKJBdOo1bnYhMKBW65gZF1dRp2OZRhiTjgUHljy99qkO7bsctLaw35Q== + dependencies: + array-back "^6.2.2" + chalk-template "^0.4.0" + table-layout "^4.1.0" + typical "^7.1.1" + commander@2.19.0: version "2.19.0" resolved "https://registry.yarnpkg.com/commander/-/commander-2.19.0.tgz#f6198aa84e5b83c46054b94ddedbfed5ee9ff12a" @@ -16876,6 +16959,11 @@ find-java-home@^2.0.0: which "~1.0.5" winreg "~1.2.2" +find-replace@^5.0.2: + version "5.0.2" + resolved "https://registry.yarnpkg.com/find-replace/-/find-replace-5.0.2.tgz#fe27ff0be05975aef6fc679c1139bbabea564e26" + integrity sha512-Y45BAiE3mz2QsrN2fb5QEtO4qb44NcS7en/0y9PEVsg351HsLeVclP8QPMH79Le9sH3rs5RSwJu99W0WPZO43Q== + find-up@^2.0.0, find-up@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" @@ -16949,6 +17037,11 @@ flatbuffers@23.3.3: resolved "https://registry.yarnpkg.com/flatbuffers/-/flatbuffers-23.3.3.tgz#23654ba7a98d4b866a977ae668fe4f8969f34a66" integrity sha512-jmreOaAT1t55keaf+Z259Tvh8tR/Srry9K8dgCgvizhKSEr6gLGgaOJI2WFL5fkOpGOGRZwxUrlFn0GCmXUy6g== +flatbuffers@^24.3.25: + version "24.12.23" + resolved "https://registry.yarnpkg.com/flatbuffers/-/flatbuffers-24.12.23.tgz#6eea59d2bcda0c5d59bcacefd6216348b3086883" + integrity sha512-dLVCAISd5mhls514keQzmEG6QHmUUsNuWsb4tFafIUwvvgDjXhtfAYSKOzt5SWOy+qByV5pbsDZ+Vb7HUOBEdA== + flatted@^3.1.0: version "3.2.4" resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.4.tgz#28d9969ea90661b5134259f312ab6aa7929ac5e2" @@ -18633,6 +18726,21 @@ intl-messageformat@^10.1.0: "@formatjs/icu-messageformat-parser" "2.7.6" tslib "^2.4.0" +ioredis@^5.4.1: + version "5.6.0" + resolved "https://registry.yarnpkg.com/ioredis/-/ioredis-5.6.0.tgz#faa2a27132f8a05c0ddfef400b01d1326df211a0" + integrity sha512-tBZlIIWbndeWBWCXWZiqtOF/yxf6yZX3tAlTJ7nfo5jhd6dctNxF7QnYlZLZ1a0o0pDoen7CgZqO+zjNaFbJAg== + dependencies: + "@ioredis/commands" "^1.1.1" + cluster-key-slot "^1.1.0" + debug "^4.3.4" + denque "^2.1.0" + lodash.defaults "^4.2.0" + lodash.isarguments "^3.1.0" + redis-errors "^1.2.0" + redis-parser "^3.0.0" + standard-as-callback "^2.1.0" + ip-address@^9.0.5: version "9.0.5" resolved "https://registry.yarnpkg.com/ip-address/-/ip-address-9.0.5.tgz#117a960819b08780c3bd1f14ef3c1cc1d3f3ea5a" @@ -20022,6 +20130,11 @@ json-bigint@^1.0.0: dependencies: bignumber.js "^9.0.0" +json-bignum@^0.0.3: + version "0.0.3" + resolved "https://registry.yarnpkg.com/json-bignum/-/json-bignum-0.0.3.tgz#41163b50436c773d82424dbc20ed70db7604b8d7" + integrity sha512-2WHyXj3OfHSgNyuzDbSxI1w2jgw5gkWSWhS7Qg4bWXx1nLk3jnbwfUeS0PSba3IzpTUWdHxBieELUzXRjQB2zg== + json-parse-better-errors@^1.0.1, json-parse-better-errors@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" @@ -20650,6 +20763,11 @@ lodash.debounce@^4.0.8: resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" integrity sha1-gteb/zCmfEAF/9XiUVMArZyk168= +lodash.defaults@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/lodash.defaults/-/lodash.defaults-4.2.0.tgz#d09178716ffea4dde9e5fb7b37f6f0802274580c" + integrity sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ== + lodash.defaultsdeep@^4.6.1: version "4.6.1" resolved "https://registry.yarnpkg.com/lodash.defaultsdeep/-/lodash.defaultsdeep-4.6.1.tgz#512e9bd721d272d94e3d3a63653fa17516741ca6" @@ -20665,6 +20783,11 @@ lodash.includes@^4.3.0: resolved "https://registry.yarnpkg.com/lodash.includes/-/lodash.includes-4.3.0.tgz#60bb98a87cb923c68ca1e51325483314849f553f" integrity sha1-YLuYqHy5I8aMoeUTJUgzFISfVT8= +lodash.isarguments@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz#2f573d85c6a24289ff00663b491c1d338ff3458a" + integrity sha512-chi4NHZlZqZD18a0imDHnZPrDeBbTtVN7GXMwuGdRH9qotxAjYs3aVLKc7zNOG9eddR5Ksd8rvFEBc9SsggPpg== + lodash.isboolean@^3.0.3: version "3.0.3" resolved "https://registry.yarnpkg.com/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz#6c2e171db2a257cd96802fd43b01b20d5f5870f6" @@ -25508,6 +25631,18 @@ redeyed@~2.1.0: dependencies: esprima "~4.0.0" +redis-errors@^1.0.0, redis-errors@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/redis-errors/-/redis-errors-1.2.0.tgz#eb62d2adb15e4eaf4610c04afe1529384250abad" + integrity sha512-1qny3OExCf0UvUV/5wpYKf2YwPcOqXzkwKKSmKHiE6ZMQs5heeE/c8eXK+PNllPvmjgAbfnsbpkGZWy8cBpn9w== + +redis-parser@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/redis-parser/-/redis-parser-3.0.0.tgz#b66d828cdcafe6b4b8a428a7def4c6bcac31c8b4" + integrity sha512-DJnGAeenTdpMEH6uAJRK/uiyEIH9WVsUmoLwzudwGJUwZPp80PDBWPHXSAGNPwNvIXAbe7MSUB1zQFugFml66A== + dependencies: + redis-errors "^1.0.0" + redux@^4.0.0, redux@^4.0.4: version "4.1.2" resolved "https://registry.yarnpkg.com/redux/-/redux-4.1.2.tgz#140f35426d99bb4729af760afcf79eaaac407104" @@ -27050,6 +27185,11 @@ stackframe@^1.1.1: resolved "https://registry.yarnpkg.com/stackframe/-/stackframe-1.2.0.tgz#52429492d63c62eb989804c11552e3d22e779303" integrity sha512-GrdeshiRmS1YLMYgzF16olf2jJ/IzxXY9lhKOskuVziubpTYcYqyOwYeJKzQkwy7uN0fYSsbsC4RQaXf9LCrYA== +standard-as-callback@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/standard-as-callback/-/standard-as-callback-2.1.0.tgz#8953fc05359868a77b5b9739a665c5977bb7df45" + integrity sha512-qoRRSyROncaz1z0mvYqIE4lCd9p2R90i6GxW3uZv5ucSu8tU7B5HXUP1gG8pVZsYNVaXjk8ClXHPttLyxAL48A== + statuses@2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63" @@ -27510,6 +27650,14 @@ syntax-error@^1.3.0: dependencies: acorn-node "^1.2.0" +table-layout@^4.1.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/table-layout/-/table-layout-4.1.1.tgz#0f72965de1a5c0c1419c9ba21cae4e73a2f73a42" + integrity sha512-iK5/YhZxq5GO5z8wb0bY1317uDF3Zjpha0QFFLA8/trAoiLbQD0HUbMesEaxyzUgDxi2QlcbM8IvqOlEjgoXBA== + dependencies: + array-back "^6.2.2" + wordwrapjs "^5.1.0" + table@^6.0.9: version "6.7.5" resolved "https://registry.yarnpkg.com/table/-/table-6.7.5.tgz#f04478c351ef3d8c7904f0e8be90a1b62417d238" @@ -28141,7 +28289,7 @@ tslib@^1, tslib@^1.10.0, tslib@^1.8.1, tslib@^1.9.0: resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== -tslib@^2.0.1: +tslib@^2.0.1, tslib@^2.8.0: version "2.8.1" resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.8.1.tgz#612efe4ed235d567e8aba5f2a5fab70280ade83f" integrity sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w== @@ -28337,6 +28485,11 @@ typescript@~5.2.2: resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.2.2.tgz#5ebb5e5a5b75f085f22bc3f8460fba308310fa78" integrity sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w== +typical@^7.1.1, typical@^7.2.0: + version "7.3.0" + resolved "https://registry.yarnpkg.com/typical/-/typical-7.3.0.tgz#930376be344228709f134613911fa22aa09617a4" + integrity sha512-ya4mg/30vm+DOWfBg4YK3j2WD6TWtRkCbasOJr40CseYENzCUby/7rIvXA99JGsQHeNxLbnXdyLLxKSv3tauFw== + ua-parser-js@^0.7.30: version "0.7.40" resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.40.tgz#c87d83b7bb25822ecfa6397a0da5903934ea1562" @@ -29456,6 +29609,11 @@ wordwrap@^1.0.0: resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" integrity sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus= +wordwrapjs@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/wordwrapjs/-/wordwrapjs-5.1.0.tgz#4c4d20446dcc670b14fa115ef4f8fd9947af2b3a" + integrity sha512-JNjcULU2e4KJwUNv6CHgI46UvDGitb6dGryHajXTDiLgg1/RiGoPSDw4kZfYnwGtEXf2ZMeIewDQgFGzkCB2Sg== + workerpool@^9.2.0: version "9.2.0" resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-9.2.0.tgz#f74427cbb61234708332ed8ab9cbf56dcb1c4371"