Skip to content

Commit 8ed4053

Browse files
committed
in work
1 parent e7d0ccb commit 8ed4053

File tree

5 files changed

+16
-3
lines changed

5 files changed

+16
-3
lines changed

packages/cubejs-schema-compiler/test/integration/postgres/sql-generation.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3831,7 +3831,7 @@ SELECT 1 AS revenue, cast('2024-01-01' AS timestamp) as time UNION ALL
38313831
);
38323832

38333833
it(
3834-
'filter group',
3834+
'filter group 1',
38353835
() => runQueryTest({
38363836
measures: ['visitor_checkins.visitor_checkins_count'],
38373837
dimensions: [],

rust/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/collectors/join_hints_collector.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,7 @@ pub fn collect_join_hints(node: &Rc<MemberSymbol>) -> Result<Vec<JoinHintItem>,
8585
visitor.apply(node, &())?;
8686
let mut collected_hints = visitor.extract_result();
8787

88+
println!("!!!! hints: {:?}", collected_hints);
8889
let join_map = match node.as_ref() {
8990
MemberSymbol::Dimension(d) => d.join_map(),
9091
MemberSymbol::TimeDimension(d) => d.join_map(),

rust/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/sql_call.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ use crate::cube_bridge::member_sql::{
1010
};
1111
use crate::plan::{Filter, FilterItem};
1212
use crate::planner::query_tools::QueryTools;
13-
use crate::planner::sql_evaluator::sql_nodes::SqlNodesFactory;
13+
use crate::planner::sql_evaluator::sql_nodes::{RawReferenceValue, SqlNodesFactory};
1414
use crate::planner::sql_templates::PlanSqlTemplates;
1515
use crate::planner::VisitorContext;
1616
use cubenativeutils::CubeError;
@@ -198,7 +198,7 @@ impl SqlCall {
198198
for itm in items {
199199
context_factory.add_render_reference(
200200
itm.filter_symbol_name.clone(),
201-
itm.column.clone(),
201+
RawReferenceValue(itm.column.clone()),
202202
);
203203
}
204204
let context = Rc::new(VisitorContext::new(

rust/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/sql_nodes/final_pre_aggregation_measure.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,7 @@ impl SqlNode for FinalPreAggregationMeasureSqlNode {
6161
RenderReferencesType::LiteralValue(value) => {
6262
templates.quote_string(value)?
6363
}
64+
RenderReferencesType::RawReferenceValue(value) => value.clone(),
6465
}
6566
} else {
6667
self.input.to_sql(

rust/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/sql_nodes/render_references.rs

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,14 @@ use std::any::Any;
99
use std::collections::HashMap;
1010
use std::rc::Rc;
1111

12+
#[derive(Clone)]
13+
pub struct RawReferenceValue(pub String);
14+
1215
#[derive(Clone)]
1316
pub enum RenderReferencesType {
1417
QualifiedColumnName(QualifiedColumnName),
1518
LiteralValue(String),
19+
RawReferenceValue(String),
1620
}
1721

1822
impl From<QualifiedColumnName> for RenderReferencesType {
@@ -27,6 +31,12 @@ impl From<String> for RenderReferencesType {
2731
}
2832
}
2933

34+
impl From<RawReferenceValue> for RenderReferencesType {
35+
fn from(value: RawReferenceValue) -> Self {
36+
Self::RawReferenceValue(value.0)
37+
}
38+
}
39+
3040
#[derive(Default, Clone)]
3141
pub struct RenderReferences {
3242
references: HashMap<String, RenderReferencesType>,
@@ -90,6 +100,7 @@ impl SqlNode for RenderReferencesSqlNode {
90100
))
91101
}
92102
RenderReferencesType::LiteralValue(value) => templates.quote_string(value),
103+
RenderReferencesType::RawReferenceValue(value) => Ok(value.clone()),
93104
}
94105
} else {
95106
self.input.to_sql(

0 commit comments

Comments
 (0)