Skip to content

Commit e7d0ccb

Browse files
committed
in work
1 parent cb72d79 commit e7d0ccb

File tree

14 files changed

+735
-703
lines changed

14 files changed

+735
-703
lines changed

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -382,7 +382,7 @@ describe('SQL Generation', () => {
382382
})
383383
`);
384384

385-
it('filter with operator OR', async () => {
385+
it('filter with operator OR 1', async () => {
386386
await compiler.compile();
387387

388388
const query = new PostgresQuery({ joinGraph, cubeEvaluator, compiler }, {

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2556,7 +2556,7 @@ SELECT 1 AS revenue, cast('2024-01-01' AS timestamp) as time UNION ALL
25562556
});
25572557
});
25582558

2559-
it('subquery', async () => {
2559+
it('subquery 1', async () => {
25602560
await compiler.compile();
25612561

25622562
const query = new PostgresQuery({ joinGraph, cubeEvaluator, compiler }, {
@@ -3114,7 +3114,7 @@ SELECT 1 AS revenue, cast('2024-01-01' AS timestamp) as time UNION ALL
31143114
);
31153115
});
31163116

3117-
it('security context', async () => {
3117+
it('security context 1', async () => {
31183118
await compiler.compile();
31193119

31203120
const query = new PostgresQuery({ joinGraph, cubeEvaluator, compiler }, {

rust/cubesqlplanner/cubesqlplanner/src/plan/filter.rs

Lines changed: 6 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -161,10 +161,7 @@ impl FilterItem {
161161
/// Returns Some(FilterItem) with the subtree containing only filters for target members
162162
///
163163
/// This only processes AND groups - OR groups are not supported and will return None
164-
pub fn find_subtree_for_members(
165-
&self,
166-
target_members: &[Rc<MemberSymbol>],
167-
) -> Option<FilterItem> {
164+
pub fn find_subtree_for_members(&self, target_members: &[&String]) -> Option<FilterItem> {
168165
match self {
169166
FilterItem::Group(group) => {
170167
// Empty groups return None
@@ -178,9 +175,7 @@ impl FilterItem {
178175
// Check if all members in this filter are in the target set
179176
let all_members_match = filter_members.iter().all(|member| {
180177
target_members.iter().any(|target| {
181-
// Compare by resolved reference chains
182-
member.clone().resolve_reference_chain()
183-
== target.clone().resolve_reference_chain()
178+
&&member.clone().resolve_reference_chain().full_name() == target
184179
})
185180
});
186181

@@ -220,10 +215,10 @@ impl FilterItem {
220215
let member = item.member_evaluator();
221216

222217
// Check if this item's member is in the target set
223-
if target_members.iter().any(|target| {
224-
member.clone().resolve_reference_chain()
225-
== target.clone().resolve_reference_chain()
226-
}) {
218+
if target_members
219+
.iter()
220+
.any(|target| &&member.clone().resolve_reference_chain().full_name() == target)
221+
{
227222
Some(self.clone())
228223
} else {
229224
None

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
@@ -121,6 +121,7 @@ pub fn collect_join_hints_for_measures(
121121
for meas in measures.iter() {
122122
visitor.apply(&meas, &())?;
123123
}
124+
124125
let res = visitor.extract_result();
125126
Ok(res)
126127
}

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

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -134,21 +134,12 @@ impl Compiler {
134134
cube_name: &String,
135135
member_sql: Rc<dyn MemberSql>,
136136
) -> Result<Rc<SqlCall>, CubeError> {
137-
{
138-
let call_builder = SqlCallBuilder::new(
139-
self,
140-
self.cube_evaluator.clone(),
141-
self.security_context.clone(),
142-
);
143-
let sql_call = call_builder.build(&cube_name, member_sql.clone())?;
144-
}
145-
let dep_builder = DependenciesBuilder::new(
137+
let call_builder = SqlCallBuilder::new(
146138
self,
147139
self.cube_evaluator.clone(),
148140
self.security_context.clone(),
149141
);
150-
let deps = dep_builder.build(cube_name.clone(), member_sql.clone())?;
151-
let sql_call = SqlCall::new(member_sql, deps);
142+
let sql_call = call_builder.build(&cube_name, member_sql.clone())?;
152143
Ok(Rc::new(sql_call))
153144
}
154145

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

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ mod dependency;
44
pub mod references_builder;
55
pub mod sql_call;
66
mod sql_call_builder;
7-
pub mod sql_call_new;
87
pub mod sql_nodes;
98
pub mod sql_visitor;
109
pub mod symbols;
@@ -13,8 +12,7 @@ pub mod visitor;
1312
pub use compiler::Compiler;
1413
pub use dependency::{CubeDepProperty, Dependency};
1514
pub use references_builder::ReferencesBuilder;
16-
pub use sql_call::SqlCall;
17-
pub use sql_call_new::*;
15+
pub use sql_call::*;
1816
pub use sql_visitor::SqlEvaluatorVisitor;
1917
pub use symbols::*;
2018
pub use visitor::TraversalVisitor;

0 commit comments

Comments
 (0)