diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/cube_bridge/member_sql.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/cube_bridge/member_sql.rs index 6886a2071b298..1e9b95505f759 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/cube_bridge/member_sql.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/cube_bridge/member_sql.rs @@ -4,7 +4,7 @@ use super::{ sql_utils::NativeSqlUtils, }; use crate::cube_bridge::base_tools::BaseTools; -use crate::planner::sql_evaluator::SqlCallArg; +use crate::planner::SqlCallArg; use crate::utils::UniqueVector; use cubenativeutils::wrappers::object::{NativeFunction, NativeStruct, NativeType}; use cubenativeutils::wrappers::serializer::{NativeDeserialize, NativeSerialize}; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/lib.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/lib.rs index a4e4354a1f844..527435a4879ee 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/lib.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/lib.rs @@ -1,7 +1,7 @@ pub mod cube_bridge; pub mod logical_plan; +pub mod physical_plan; pub mod physical_plan_builder; -pub mod plan; pub mod planner; #[cfg(test)] pub(crate) mod test_fixtures; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/logical_plan/calc_groups_cross_join.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/logical_plan/calc_groups_cross_join.rs index 1e2ac749ae917..8d96a50d65b1f 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/logical_plan/calc_groups_cross_join.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/logical_plan/calc_groups_cross_join.rs @@ -1,4 +1,4 @@ -use crate::planner::sql_evaluator::MemberSymbol; +use crate::planner::MemberSymbol; use super::*; use cubenativeutils::CubeError; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/logical_plan/dimension_subquery.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/logical_plan/dimension_subquery.rs index b5fd0fc40fe1d..5037e7b5419b8 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/logical_plan/dimension_subquery.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/logical_plan/dimension_subquery.rs @@ -1,6 +1,6 @@ use super::pretty_print::*; use super::*; -use crate::planner::sql_evaluator::MemberSymbol; +use crate::planner::MemberSymbol; use cubenativeutils::CubeError; use std::rc::Rc; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/logical_plan/full_key_aggregate.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/logical_plan/full_key_aggregate.rs index edede49e2e8c6..90323e39f952a 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/logical_plan/full_key_aggregate.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/logical_plan/full_key_aggregate.rs @@ -1,5 +1,5 @@ use super::*; -use crate::planner::sql_evaluator::MemberSymbol; +use crate::planner::MemberSymbol; use cubenativeutils::CubeError; use std::rc::Rc; use typed_builder::TypedBuilder; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/logical_plan/helper.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/logical_plan/helper.rs index b64a390e647f3..c9f12e751aa19 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/logical_plan/helper.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/logical_plan/helper.rs @@ -1,6 +1,6 @@ use itertools::Itertools; -use crate::planner::sql_evaluator::MemberSymbol; +use crate::planner::MemberSymbol; use super::*; use std::rc::Rc; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/logical_plan/join.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/logical_plan/join.rs index 4b497be520cc2..7faecbcaf09a8 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/logical_plan/join.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/logical_plan/join.rs @@ -1,6 +1,6 @@ use super::pretty_print::*; use super::*; -use crate::planner::sql_evaluator::SqlCall; +use crate::planner::SqlCall; use cubenativeutils::CubeError; use std::rc::Rc; use typed_builder::TypedBuilder; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/logical_plan/keys_subquery.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/logical_plan/keys_subquery.rs index deba366dc8a57..05ab6254f8ddf 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/logical_plan/keys_subquery.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/logical_plan/keys_subquery.rs @@ -1,5 +1,5 @@ use super::*; -use crate::planner::sql_evaluator::MemberSymbol; +use crate::planner::MemberSymbol; use cubenativeutils::CubeError; use std::rc::Rc; use typed_builder::TypedBuilder; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/logical_plan/multistage/calculation.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/logical_plan/multistage/calculation.rs index 665ded2e1a02d..2e8e8b2783fa0 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/logical_plan/multistage/calculation.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/logical_plan/multistage/calculation.rs @@ -1,6 +1,6 @@ use crate::logical_plan::*; use crate::planner::query_properties::OrderByItem; -use crate::planner::sql_evaluator::MemberSymbol; +use crate::planner::MemberSymbol; use cubenativeutils::CubeError; use itertools::Itertools; use std::rc::Rc; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/logical_plan/multistage/dimension.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/logical_plan/multistage/dimension.rs index 489f754b5a81d..5402942163270 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/logical_plan/multistage/dimension.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/logical_plan/multistage/dimension.rs @@ -1,7 +1,7 @@ use crate::logical_plan::*; +use crate::planner::collectors::has_multi_stage_members; use crate::planner::query_properties::OrderByItem; -use crate::planner::sql_evaluator::collectors::has_multi_stage_members; -use crate::planner::sql_evaluator::MemberSymbol; +use crate::planner::MemberSymbol; use cubenativeutils::CubeError; use itertools::Itertools; use std::rc::Rc; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/logical_plan/multistage/get_date_range.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/logical_plan/multistage/get_date_range.rs index 02db150fa8ec2..76e7ebfcf2fe4 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/logical_plan/multistage/get_date_range.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/logical_plan/multistage/get_date_range.rs @@ -1,5 +1,5 @@ use crate::logical_plan::*; -use crate::planner::sql_evaluator::MemberSymbol; +use crate::planner::MemberSymbol; use cubenativeutils::CubeError; use std::rc::Rc; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/logical_plan/multistage/leaf_measure.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/logical_plan/multistage/leaf_measure.rs index e5503cd776821..95d4c2989f432 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/logical_plan/multistage/leaf_measure.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/logical_plan/multistage/leaf_measure.rs @@ -1,6 +1,6 @@ use crate::logical_plan::*; use crate::planner::planners::multi_stage::TimeShiftState; -use crate::planner::sql_evaluator::MemberSymbol; +use crate::planner::MemberSymbol; use cubenativeutils::CubeError; use std::rc::Rc; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/logical_plan/multistage/rolling_window.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/logical_plan/multistage/rolling_window.rs index 3a1555bb6a6e0..367e08aea54f6 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/logical_plan/multistage/rolling_window.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/logical_plan/multistage/rolling_window.rs @@ -1,7 +1,7 @@ use crate::logical_plan::*; use crate::planner::query_properties::OrderByItem; -use crate::planner::sql_evaluator::MemberSymbol; use crate::planner::Granularity; +use crate::planner::MemberSymbol; use cubenativeutils::CubeError; use std::rc::Rc; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/logical_plan/multistage/time_series.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/logical_plan/multistage/time_series.rs index 7705533c9e419..bb0cf5cc42608 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/logical_plan/multistage/time_series.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/logical_plan/multistage/time_series.rs @@ -1,5 +1,5 @@ use crate::logical_plan::*; -use crate::planner::sql_evaluator::MemberSymbol; +use crate::planner::MemberSymbol; use cubenativeutils::CubeError; use std::rc::Rc; use typed_builder::TypedBuilder; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/logical_plan/optimizers/common/helper.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/logical_plan/optimizers/common/helper.rs index e67204efe650d..b4cd3ddb58bfa 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/logical_plan/optimizers/common/helper.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/logical_plan/optimizers/common/helper.rs @@ -2,7 +2,7 @@ use itertools::Itertools; use crate::logical_plan::*; use crate::planner::filter::FilterItem; -use crate::planner::sql_evaluator::MemberSymbol; +use crate::planner::MemberSymbol; use std::rc::Rc; pub struct OptimizerHelper; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/logical_plan/optimizers/pre_aggregation/compiled_pre_aggregation.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/logical_plan/optimizers/pre_aggregation/compiled_pre_aggregation.rs index 1fb2ff414b451..db0d707d468a4 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/logical_plan/optimizers/pre_aggregation/compiled_pre_aggregation.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/logical_plan/optimizers/pre_aggregation/compiled_pre_aggregation.rs @@ -1,5 +1,5 @@ use crate::planner::multi_fact_join_groups::MultiFactJoinGroups; -use crate::planner::sql_evaluator::{MemberSymbol, SqlCall}; +use crate::planner::{MemberSymbol, SqlCall}; use std::fmt::Debug; use std::rc::Rc; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/logical_plan/optimizers/pre_aggregation/dimension_matcher.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/logical_plan/optimizers/pre_aggregation/dimension_matcher.rs index 2199b126e0dc5..1c1e0dfd390f0 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/logical_plan/optimizers/pre_aggregation/dimension_matcher.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/logical_plan/optimizers/pre_aggregation/dimension_matcher.rs @@ -1,10 +1,10 @@ use super::CompiledPreAggregation; use crate::planner::filter::{BaseFilter, FilterGroupOperator, FilterItem}; use crate::planner::query_tools::QueryTools; -use crate::planner::sql_evaluator::DimensionSymbol; -use crate::planner::sql_evaluator::MemberSymbol; -use crate::planner::sql_evaluator::TimeDimensionSymbol; +use crate::planner::DimensionSymbol; use crate::planner::GranularityHelper; +use crate::planner::MemberSymbol; +use crate::planner::TimeDimensionSymbol; use cubenativeutils::CubeError; use std::collections::HashMap; use std::rc::Rc; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/logical_plan/optimizers/pre_aggregation/measure_matcher.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/logical_plan/optimizers/pre_aggregation/measure_matcher.rs index 4f853d1c3c727..9869fe47db6aa 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/logical_plan/optimizers/pre_aggregation/measure_matcher.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/logical_plan/optimizers/pre_aggregation/measure_matcher.rs @@ -1,5 +1,5 @@ use super::CompiledPreAggregation; -use crate::planner::sql_evaluator::MemberSymbol; +use crate::planner::MemberSymbol; use cubenativeutils::CubeError; use std::collections::HashSet; use std::rc::Rc; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/logical_plan/optimizers/pre_aggregation/optimizer.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/logical_plan/optimizers/pre_aggregation/optimizer.rs index f5e1d36110a10..6f1f71f8787b4 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/logical_plan/optimizers/pre_aggregation/optimizer.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/logical_plan/optimizers/pre_aggregation/optimizer.rs @@ -8,8 +8,8 @@ use crate::planner::join_hints::JoinHints; use crate::planner::multi_fact_join_groups::{MeasuresJoinHints, MultiFactJoinGroups}; use crate::planner::planners::multi_stage::TimeShiftState; use crate::planner::query_tools::QueryTools; -use crate::planner::sql_evaluator::MemberSymbol; use crate::planner::time_dimension::QueryDateTime; +use crate::planner::MemberSymbol; use cubenativeutils::CubeError; use std::collections::HashSet; use std::rc::Rc; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/logical_plan/optimizers/pre_aggregation/pre_aggregations_compiler.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/logical_plan/optimizers/pre_aggregation/pre_aggregations_compiler.rs index 717dea63bfc27..25ded2551b6b1 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/logical_plan/optimizers/pre_aggregation/pre_aggregations_compiler.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/logical_plan/optimizers/pre_aggregation/pre_aggregations_compiler.rs @@ -12,9 +12,9 @@ use crate::planner::multi_fact_join_groups::{MeasuresJoinHints, MultiFactJoinGro use crate::planner::planners::JoinPlanner; use crate::planner::planners::ResolvedJoinItem; use crate::planner::query_tools::QueryTools; -use crate::planner::sql_evaluator::MemberSymbol; -use crate::planner::sql_evaluator::TimeDimensionSymbol; use crate::planner::GranularityHelper; +use crate::planner::MemberSymbol; +use crate::planner::TimeDimensionSymbol; use cubenativeutils::CubeError; use itertools::Itertools; use std::collections::HashMap; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/logical_plan/pre_aggregation.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/logical_plan/pre_aggregation.rs index 3c1c6f0e5a6dc..18c33982f527a 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/logical_plan/pre_aggregation.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/logical_plan/pre_aggregation.rs @@ -1,5 +1,5 @@ use super::*; -use crate::{plan::QualifiedColumnName, planner::sql_evaluator::MemberSymbol}; +use crate::{physical_plan::QualifiedColumnName, planner::MemberSymbol}; use cubenativeutils::CubeError; use itertools::Itertools; use std::{collections::HashMap, rc::Rc}; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/logical_plan/pretty_print.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/logical_plan/pretty_print.rs index fced9061d212b..4c3d82d1de3db 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/logical_plan/pretty_print.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/logical_plan/pretty_print.rs @@ -1,5 +1,5 @@ use crate::planner::filter::FilterItem; -use crate::planner::sql_evaluator::MemberSymbol; +use crate::planner::MemberSymbol; use std::rc::Rc; #[derive(Clone, Debug)] diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/logical_plan/schema.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/logical_plan/schema.rs index a6bbd6d6ed3ef..7a1e1a419eb01 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/logical_plan/schema.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/logical_plan/schema.rs @@ -2,8 +2,8 @@ use cubenativeutils::CubeError; use itertools::Itertools; use super::pretty_print::*; -use crate::planner::sql_evaluator::collectors::has_multi_stage_members; -use crate::planner::sql_evaluator::MemberSymbol; +use crate::planner::collectors::has_multi_stage_members; +use crate::planner::MemberSymbol; use std::collections::HashSet; use std::fmt; use std::rc::Rc; @@ -142,7 +142,7 @@ impl PrettyPrint for LogicalSchema { #[cfg(test)] mod tests { use super::*; - use crate::planner::sql_evaluator::symbols::TimeDimensionSymbol; + use crate::planner::symbols::TimeDimensionSymbol; use crate::test_fixtures::cube_bridge::MockSchema; use crate::test_fixtures::test_utils::TestContext; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/plan/builder/join.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/builder/join.rs similarity index 98% rename from rust/cube/cubesqlplanner/cubesqlplanner/src/plan/builder/join.rs rename to rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/builder/join.rs index d9af5ad32968f..233b0f0d089d1 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/plan/builder/join.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/builder/join.rs @@ -1,5 +1,5 @@ -use crate::plan::join::JoinType; -use crate::plan::{ +use crate::physical_plan::join::JoinType; +use crate::physical_plan::{ Join, JoinCondition, JoinItem, QueryPlan, Schema, Select, SingleAliasedSource, SingleSource, }; use crate::planner::BaseCube; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/plan/builder/mod.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/builder/mod.rs similarity index 100% rename from rust/cube/cubesqlplanner/cubesqlplanner/src/plan/builder/mod.rs rename to rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/builder/mod.rs diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/plan/builder/select.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/builder/select.rs similarity index 98% rename from rust/cube/cubesqlplanner/cubesqlplanner/src/plan/builder/select.rs rename to rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/builder/select.rs index 533358a4b17d0..31dd43e3cca28 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/plan/builder/select.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/builder/select.rs @@ -1,14 +1,14 @@ -use crate::plan::{ +use crate::physical_plan::{ AliasedExpr, Cte, Expr, From, FromSource, MemberExpression, OrderBy, QualifiedColumnName, Schema, SchemaColumn, Select, SingleAliasedSource, SingleSource, }; use crate::planner::filter::Filter; -use crate::plan::expression::FunctionExpression; +use crate::physical_plan::expression::FunctionExpression; +use crate::physical_plan::sql_nodes::SqlNodesFactory; +use crate::physical_plan::VisitorContext; use crate::planner::query_tools::QueryTools; -use crate::planner::sql_evaluator::sql_nodes::SqlNodesFactory; -use crate::planner::sql_evaluator::MemberSymbol; -use crate::planner::VisitorContext; +use crate::planner::MemberSymbol; use cubenativeutils::CubeError; use std::collections::HashMap; use std::rc::Rc; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/plan/calc_groups_join.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/calc_groups_join.rs similarity index 95% rename from rust/cube/cubesqlplanner/cubesqlplanner/src/plan/calc_groups_join.rs rename to rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/calc_groups_join.rs index 32b96cfb86b40..a5c464268c674 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/plan/calc_groups_join.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/calc_groups_join.rs @@ -1,8 +1,8 @@ use super::*; -use crate::planner::sql_evaluator::MemberSymbol; +use crate::physical_plan::VisitorContext; use crate::planner::sql_templates::structs::TemplateCalcGroup; use crate::planner::sql_templates::PlanSqlTemplates; -use crate::planner::VisitorContext; +use crate::planner::MemberSymbol; use cubenativeutils::CubeError; use itertools::Itertools; use std::rc::Rc; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/plan/cte.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/cte.rs similarity index 100% rename from rust/cube/cubesqlplanner/cubesqlplanner/src/plan/cte.rs rename to rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/cte.rs diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/cube_ref_evaluator.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/cube_ref_evaluator.rs similarity index 96% rename from rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/cube_ref_evaluator.rs rename to rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/cube_ref_evaluator.rs index de638d5d9954b..a2134362f62b7 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/cube_ref_evaluator.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/cube_ref_evaluator.rs @@ -1,7 +1,7 @@ use super::sql_nodes::SqlNode; use super::SqlEvaluatorVisitor; use crate::planner::query_tools::QueryTools; -use crate::planner::sql_evaluator::sql_call::CubeRef; +use crate::planner::sql_call::CubeRef; use crate::planner::sql_templates::PlanSqlTemplates; use cubenativeutils::CubeError; use std::collections::HashMap; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/plan/expression.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/expression.rs similarity index 95% rename from rust/cube/cubesqlplanner/cubesqlplanner/src/plan/expression.rs rename to rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/expression.rs index d2b2298dbbdb6..afd545b3f8a5a 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/plan/expression.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/expression.rs @@ -1,7 +1,6 @@ -use super::QualifiedColumnName; -use crate::planner::sql_evaluator::MemberSymbol; +use super::{evaluate_with_context, QualifiedColumnName, VisitorContext}; use crate::planner::sql_templates::PlanSqlTemplates; -use crate::planner::{evaluate_with_context, VisitorContext}; +use crate::planner::MemberSymbol; use cubenativeutils::CubeError; use std::rc::Rc; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/plan/filter/base_filter.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/filter/base_filter.rs similarity index 92% rename from rust/cube/cubesqlplanner/cubesqlplanner/src/plan/filter/base_filter.rs rename to rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/filter/base_filter.rs index 595d555137125..adf806d12e43b 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/plan/filter/base_filter.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/filter/base_filter.rs @@ -1,9 +1,9 @@ use super::ToSql; +use crate::physical_plan::sql_nodes::SqlNode; +use crate::physical_plan::SqlEvaluatorVisitor; use crate::planner::filter::typed_filter::resolve_base_symbol; use crate::planner::filter::BaseFilter; use crate::planner::query_tools::QueryTools; -use crate::planner::sql_evaluator::sql_nodes::SqlNode; -use crate::planner::sql_evaluator::SqlEvaluatorVisitor; use crate::planner::sql_templates::PlanSqlTemplates; use crate::planner::FiltersContext; use cubenativeutils::CubeError; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/plan/filter/base_segment.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/filter/base_segment.rs similarity index 84% rename from rust/cube/cubesqlplanner/cubesqlplanner/src/plan/filter/base_segment.rs rename to rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/filter/base_segment.rs index fbc85c84f09ea..ffde3b8a05d86 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/plan/filter/base_segment.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/filter/base_segment.rs @@ -1,8 +1,8 @@ use super::ToSql; +use crate::physical_plan::sql_nodes::SqlNode; +use crate::physical_plan::SqlEvaluatorVisitor; use crate::planner::filter::BaseSegment; use crate::planner::query_tools::QueryTools; -use crate::planner::sql_evaluator::sql_nodes::SqlNode; -use crate::planner::sql_evaluator::SqlEvaluatorVisitor; use crate::planner::sql_templates::PlanSqlTemplates; use crate::planner::FiltersContext; use cubenativeutils::CubeError; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/plan/filter/filter.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/filter/filter.rs similarity index 96% rename from rust/cube/cubesqlplanner/cubesqlplanner/src/plan/filter/filter.rs rename to rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/filter/filter.rs index d2797b51e620b..91f01262eee85 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/plan/filter/filter.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/filter/filter.rs @@ -1,8 +1,8 @@ use super::ToSql; +use crate::physical_plan::sql_nodes::SqlNode; +use crate::physical_plan::SqlEvaluatorVisitor; use crate::planner::filter::{Filter, FilterItem}; use crate::planner::query_tools::QueryTools; -use crate::planner::sql_evaluator::sql_nodes::SqlNode; -use crate::planner::sql_evaluator::SqlEvaluatorVisitor; use crate::planner::sql_templates::PlanSqlTemplates; use crate::planner::FiltersContext; use cubenativeutils::CubeError; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/plan/filter/mod.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/filter/mod.rs similarity index 100% rename from rust/cube/cubesqlplanner/cubesqlplanner/src/plan/filter/mod.rs rename to rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/filter/mod.rs diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/plan/filter/operators/comparison.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/filter/operators/comparison.rs similarity index 100% rename from rust/cube/cubesqlplanner/cubesqlplanner/src/plan/filter/operators/comparison.rs rename to rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/filter/operators/comparison.rs diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/plan/filter/operators/date_range.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/filter/operators/date_range.rs similarity index 100% rename from rust/cube/cubesqlplanner/cubesqlplanner/src/plan/filter/operators/date_range.rs rename to rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/filter/operators/date_range.rs diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/plan/filter/operators/date_single.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/filter/operators/date_single.rs similarity index 100% rename from rust/cube/cubesqlplanner/cubesqlplanner/src/plan/filter/operators/date_single.rs rename to rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/filter/operators/date_single.rs diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/plan/filter/operators/equality.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/filter/operators/equality.rs similarity index 100% rename from rust/cube/cubesqlplanner/cubesqlplanner/src/plan/filter/operators/equality.rs rename to rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/filter/operators/equality.rs diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/plan/filter/operators/filter_sql_context.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/filter/operators/filter_sql_context.rs similarity index 100% rename from rust/cube/cubesqlplanner/cubesqlplanner/src/plan/filter/operators/filter_sql_context.rs rename to rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/filter/operators/filter_sql_context.rs diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/plan/filter/operators/in_list.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/filter/operators/in_list.rs similarity index 100% rename from rust/cube/cubesqlplanner/cubesqlplanner/src/plan/filter/operators/in_list.rs rename to rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/filter/operators/in_list.rs diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/plan/filter/operators/like.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/filter/operators/like.rs similarity index 100% rename from rust/cube/cubesqlplanner/cubesqlplanner/src/plan/filter/operators/like.rs rename to rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/filter/operators/like.rs diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/plan/filter/operators/measure_filter.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/filter/operators/measure_filter.rs similarity index 93% rename from rust/cube/cubesqlplanner/cubesqlplanner/src/plan/filter/operators/measure_filter.rs rename to rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/filter/operators/measure_filter.rs index 422dba31941e5..cdb8eb6187f6c 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/plan/filter/operators/measure_filter.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/filter/operators/measure_filter.rs @@ -1,8 +1,9 @@ +use crate::physical_plan::sql_nodes::SqlNode; +use crate::physical_plan::SqlEvaluatorVisitor; use crate::planner::filter::operators::measure_filter::MeasureFilterOp; use crate::planner::query_tools::QueryTools; -use crate::planner::sql_evaluator::sql_nodes::SqlNode; -use crate::planner::sql_evaluator::{MemberSymbol, SqlEvaluatorVisitor}; use crate::planner::sql_templates::PlanSqlTemplates; +use crate::planner::MemberSymbol; use cubenativeutils::CubeError; use std::rc::Rc; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/plan/filter/operators/mod.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/filter/operators/mod.rs similarity index 100% rename from rust/cube/cubesqlplanner/cubesqlplanner/src/plan/filter/operators/mod.rs rename to rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/filter/operators/mod.rs diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/plan/filter/operators/nullability.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/filter/operators/nullability.rs similarity index 100% rename from rust/cube/cubesqlplanner/cubesqlplanner/src/plan/filter/operators/nullability.rs rename to rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/filter/operators/nullability.rs diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/plan/filter/operators/rolling_window.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/filter/operators/rolling_window.rs similarity index 100% rename from rust/cube/cubesqlplanner/cubesqlplanner/src/plan/filter/operators/rolling_window.rs rename to rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/filter/operators/rolling_window.rs diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/plan/filter/operators/to_date_rolling_window.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/filter/operators/to_date_rolling_window.rs similarity index 100% rename from rust/cube/cubesqlplanner/cubesqlplanner/src/plan/filter/operators/to_date_rolling_window.rs rename to rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/filter/operators/to_date_rolling_window.rs diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/plan/filter/render_filter.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/filter/render_filter.rs similarity index 95% rename from rust/cube/cubesqlplanner/cubesqlplanner/src/plan/filter/render_filter.rs rename to rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/filter/render_filter.rs index dac2cd2359e66..dbfb460eaae80 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/plan/filter/render_filter.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/filter/render_filter.rs @@ -1,7 +1,7 @@ use super::ToSql; +use crate::physical_plan::VisitorContext; use crate::planner::filter::{Filter, FilterItem}; use crate::planner::sql_templates::PlanSqlTemplates; -use crate::planner::VisitorContext; use cubenativeutils::CubeError; pub fn render_filter( diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/plan/filter/to_sql.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/filter/to_sql.rs similarity index 80% rename from rust/cube/cubesqlplanner/cubesqlplanner/src/plan/filter/to_sql.rs rename to rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/filter/to_sql.rs index 49200524860f5..a44f62127d570 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/plan/filter/to_sql.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/filter/to_sql.rs @@ -1,6 +1,6 @@ +use crate::physical_plan::sql_nodes::SqlNode; +use crate::physical_plan::SqlEvaluatorVisitor; use crate::planner::query_tools::QueryTools; -use crate::planner::sql_evaluator::sql_nodes::SqlNode; -use crate::planner::sql_evaluator::SqlEvaluatorVisitor; use crate::planner::sql_templates::PlanSqlTemplates; use crate::planner::FiltersContext; use cubenativeutils::CubeError; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/plan/filter/typed_filter.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/filter/typed_filter.rs similarity index 97% rename from rust/cube/cubesqlplanner/cubesqlplanner/src/plan/filter/typed_filter.rs rename to rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/filter/typed_filter.rs index 7e44e431cf2ad..e1a407c95a7a1 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/plan/filter/typed_filter.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/filter/typed_filter.rs @@ -1,10 +1,10 @@ use super::operators::{FilterOperationSql, FilterSqlContext}; use super::ToSql; use crate::cube_bridge::member_sql::FilterParamsColumn; +use crate::physical_plan::sql_nodes::SqlNode; +use crate::physical_plan::SqlEvaluatorVisitor; use crate::planner::filter::typed_filter::{resolve_base_symbol, FilterOp, TypedFilter}; use crate::planner::query_tools::QueryTools; -use crate::planner::sql_evaluator::sql_nodes::SqlNode; -use crate::planner::sql_evaluator::SqlEvaluatorVisitor; use crate::planner::sql_templates::PlanSqlTemplates; use crate::planner::FiltersContext; use cubenativeutils::CubeError; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/plan/from.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/from.rs similarity index 97% rename from rust/cube/cubesqlplanner/cubesqlplanner/src/plan/from.rs rename to rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/from.rs index 80f76aa969d8c..c6c627d690b70 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/plan/from.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/from.rs @@ -1,7 +1,7 @@ -use super::{CalcGroupsJoin, Join, QueryPlan, Schema, Select}; -use crate::plan::Union; +use super::{CalcGroupsJoin, Join, QueryPlan, Schema, Select, VisitorContext}; +use crate::physical_plan::Union; use crate::planner::sql_templates::PlanSqlTemplates; -use crate::planner::{BaseCube, VisitorContext}; +use crate::planner::BaseCube; use cubenativeutils::CubeError; use std::rc::Rc; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/plan/join.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/join.rs similarity index 98% rename from rust/cube/cubesqlplanner/cubesqlplanner/src/plan/join.rs rename to rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/join.rs index 86b2f62509090..ff45fa4e0b641 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/plan/join.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/join.rs @@ -1,7 +1,7 @@ -use super::{Expr, SingleAliasedSource}; +use super::{Expr, SingleAliasedSource, VisitorContext}; use crate::planner::query_tools::QueryTools; use crate::planner::sql_templates::PlanSqlTemplates; -use crate::planner::{BaseJoinCondition, Granularity, VisitorContext}; +use crate::planner::{BaseJoinCondition, Granularity}; use cubenativeutils::CubeError; use lazy_static::lazy_static; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/plan/mod.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/mod.rs similarity index 69% rename from rust/cube/cubesqlplanner/cubesqlplanner/src/plan/mod.rs rename to rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/mod.rs index 7f0a2f8f26e0b..592efaa12d1bc 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/plan/mod.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/mod.rs @@ -1,21 +1,27 @@ pub mod builder; pub mod calc_groups_join; pub mod cte; +pub mod cube_ref_evaluator; pub mod expression; pub mod filter; pub mod from; pub mod join; pub mod order; pub mod query_plan; +pub mod references_builder; pub mod schema; pub mod select; +pub mod sql_nodes; +pub mod sql_visitor; pub mod symbols; pub mod time_series; pub mod union; +pub mod visitor_context; pub use builder::{JoinBuilder, SelectBuilder}; pub use calc_groups_join::*; pub use cte::Cte; +pub use cube_ref_evaluator::CubeRefEvaluator; pub use expression::{Expr, MemberExpression}; pub use from::{From, FromSource, SingleAliasedSource, SingleSource}; pub use join::{ @@ -23,7 +29,10 @@ pub use join::{ }; pub use order::OrderBy; pub use query_plan::QueryPlan; +pub use references_builder::ReferencesBuilder; pub use schema::{QualifiedColumnName, Schema, SchemaColumn}; pub use select::{AliasedExpr, Select}; +pub use sql_visitor::SqlEvaluatorVisitor; pub use time_series::{TimeSeries, TimeSeriesDateRange}; pub use union::Union; +pub use visitor_context::{evaluate_sql_call_with_context, evaluate_with_context, VisitorContext}; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/plan/order.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/order.rs similarity index 100% rename from rust/cube/cubesqlplanner/cubesqlplanner/src/plan/order.rs rename to rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/order.rs diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/plan/query_plan.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/query_plan.rs similarity index 100% rename from rust/cube/cubesqlplanner/cubesqlplanner/src/plan/query_plan.rs rename to rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/query_plan.rs diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/references_builder.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/references_builder.rs similarity index 98% rename from rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/references_builder.rs rename to rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/references_builder.rs index 33d321922125b..73b18bf2d13a4 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/references_builder.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/references_builder.rs @@ -1,13 +1,12 @@ -use crate::plan::{ +use crate::physical_plan::sql_nodes::RenderReferences; +use crate::physical_plan::{ CalcGroupsJoin, From, FromSource, Join, QualifiedColumnName, SingleAliasedSource, SingleSource, }; use crate::planner::filter::{Filter, FilterItem}; -use crate::planner::sql_evaluator::sql_nodes::RenderReferences; +use crate::planner::MemberSymbol; use cubenativeutils::CubeError; use std::rc::Rc; -use super::MemberSymbol; - pub struct ReferencesBuilder { source: Rc, } diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/plan/schema/column.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/schema/column.rs similarity index 96% rename from rust/cube/cubesqlplanner/cubesqlplanner/src/plan/schema/column.rs rename to rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/schema/column.rs index 584f58a2a08eb..12021376eba5c 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/plan/schema/column.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/schema/column.rs @@ -1,7 +1,7 @@ use std::fmt::Display; use std::rc::Rc; -use crate::planner::sql_evaluator::MemberSymbol; +use crate::planner::MemberSymbol; #[derive(Debug, Clone)] pub struct QualifiedColumnName { diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/plan/schema/mod.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/schema/mod.rs similarity index 100% rename from rust/cube/cubesqlplanner/cubesqlplanner/src/plan/schema/mod.rs rename to rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/schema/mod.rs diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/plan/schema/schema.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/schema/schema.rs similarity index 97% rename from rust/cube/cubesqlplanner/cubesqlplanner/src/plan/schema/schema.rs rename to rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/schema/schema.rs index 9060e5df769ba..af1e6f40daee7 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/plan/schema/schema.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/schema/schema.rs @@ -1,5 +1,5 @@ use super::SchemaColumn; -use crate::planner::sql_evaluator::MemberSymbol; +use crate::planner::MemberSymbol; use itertools::Itertools; use std::rc::Rc; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/plan/select.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/select.rs similarity index 96% rename from rust/cube/cubesqlplanner/cubesqlplanner/src/plan/select.rs rename to rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/select.rs index 917c0de7251d1..aaece48b91827 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/plan/select.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/select.rs @@ -1,10 +1,10 @@ use super::{Cte, Expr, From, OrderBy, Schema}; +use crate::physical_plan::VisitorContext; use crate::planner::filter::Filter; use crate::planner::sql_templates::PlanSqlTemplates; use crate::planner::sql_templates::{ TemplateGroupByColumn, TemplateOrderByColumn, TemplateProjectionColumn, }; -use crate::planner::VisitorContext; use cubenativeutils::CubeError; use std::rc::Rc; @@ -70,7 +70,7 @@ impl Select { }; let where_condition = if let Some(filter) = &self.filter { - Some(crate::plan::filter::render_filter( + Some(crate::physical_plan::filter::render_filter( &self.context, filter, templates, @@ -90,7 +90,7 @@ impl Select { .collect::, _>>()?; let having = if let Some(having) = &self.having { - Some(crate::plan::filter::render_filter( + Some(crate::physical_plan::filter::render_filter( &self.context, having, templates, diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/sql_nodes/auto_prefix.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/sql_nodes/auto_prefix.rs similarity index 96% rename from rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/sql_nodes/auto_prefix.rs rename to rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/sql_nodes/auto_prefix.rs index 74fb544f4eaf9..8fd8350fbec90 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/sql_nodes/auto_prefix.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/sql_nodes/auto_prefix.rs @@ -1,9 +1,9 @@ use super::SqlNode; -use crate::plan::Schema; +use crate::physical_plan::Schema; +use crate::physical_plan::SqlEvaluatorVisitor; use crate::planner::query_tools::QueryTools; -use crate::planner::sql_evaluator::MemberSymbol; -use crate::planner::sql_evaluator::SqlEvaluatorVisitor; use crate::planner::sql_templates::PlanSqlTemplates; +use crate::planner::MemberSymbol; use cubenativeutils::CubeError; use lazy_static::lazy_static; use regex::Regex; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/sql_nodes/calendar_time_shift.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/sql_nodes/calendar_time_shift.rs similarity index 95% rename from rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/sql_nodes/calendar_time_shift.rs rename to rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/sql_nodes/calendar_time_shift.rs index e77234cc3315e..c421ddee3a33f 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/sql_nodes/calendar_time_shift.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/sql_nodes/calendar_time_shift.rs @@ -1,9 +1,9 @@ use super::SqlNode; +use crate::physical_plan::SqlEvaluatorVisitor; use crate::planner::query_tools::QueryTools; -use crate::planner::sql_evaluator::symbols::CalendarDimensionTimeShift; -use crate::planner::sql_evaluator::MemberSymbol; -use crate::planner::sql_evaluator::SqlEvaluatorVisitor; use crate::planner::sql_templates::PlanSqlTemplates; +use crate::planner::symbols::CalendarDimensionTimeShift; +use crate::planner::MemberSymbol; use cubenativeutils::CubeError; use std::any::Any; use std::collections::HashMap; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/sql_nodes/case.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/sql_nodes/case.rs similarity index 96% rename from rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/sql_nodes/case.rs rename to rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/sql_nodes/case.rs index d1bc4452e665c..fc8ac0d0d1ac3 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/sql_nodes/case.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/sql_nodes/case.rs @@ -1,11 +1,9 @@ use super::SqlNode; +use crate::physical_plan::SqlEvaluatorVisitor; use crate::planner::query_tools::QueryTools; -use crate::planner::sql_evaluator::symbols::{ - Case, CaseDefinition, CaseLabel, CaseSwitchDefinition, -}; -use crate::planner::sql_evaluator::SqlEvaluatorVisitor; -use crate::planner::sql_evaluator::{CaseSwitchItem, MemberSymbol}; use crate::planner::sql_templates::PlanSqlTemplates; +use crate::planner::symbols::{Case, CaseDefinition, CaseLabel, CaseSwitchDefinition}; +use crate::planner::{CaseSwitchItem, MemberSymbol}; use cubenativeutils::CubeError; use std::any::Any; use std::rc::Rc; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/sql_nodes/cube_calc_groups.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/sql_nodes/cube_calc_groups.rs similarity index 97% rename from rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/sql_nodes/cube_calc_groups.rs rename to rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/sql_nodes/cube_calc_groups.rs index 7f7d6b0a8eba3..27b5bfe4d55c4 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/sql_nodes/cube_calc_groups.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/sql_nodes/cube_calc_groups.rs @@ -1,7 +1,7 @@ use super::SqlNode; use crate::planner::query_tools::QueryTools; -use crate::planner::sql_evaluator::MemberSymbol; -use crate::planner::sql_evaluator::SqlEvaluatorVisitor; +use crate::planner::MemberSymbol; +use crate::physical_plan::SqlEvaluatorVisitor; use crate::planner::sql_templates::structs::{TemplateCalcGroup, TemplateCalcSingleValue}; use crate::planner::sql_templates::PlanSqlTemplates; use cubenativeutils::CubeError; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/sql_nodes/evaluate_sql.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/sql_nodes/evaluate_sql.rs similarity index 87% rename from rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/sql_nodes/evaluate_sql.rs rename to rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/sql_nodes/evaluate_sql.rs index 910681df594d6..8871b58aa1952 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/sql_nodes/evaluate_sql.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/sql_nodes/evaluate_sql.rs @@ -1,9 +1,9 @@ use super::SqlNode; -use crate::plan::symbols::{MemberSqlContext, ToSql}; +use crate::physical_plan::symbols::{MemberSqlContext, ToSql}; +use crate::physical_plan::SqlEvaluatorVisitor; use crate::planner::query_tools::QueryTools; -use crate::planner::sql_evaluator::MemberSymbol; -use crate::planner::sql_evaluator::SqlEvaluatorVisitor; use crate::planner::sql_templates::PlanSqlTemplates; +use crate::planner::MemberSymbol; use cubenativeutils::CubeError; use std::any::Any; use std::rc::Rc; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/sql_nodes/factory.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/sql_nodes/factory.rs similarity index 97% rename from rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/sql_nodes/factory.rs rename to rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/sql_nodes/factory.rs index 675006d9726aa..bfcad5b6fe073 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/sql_nodes/factory.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/sql_nodes/factory.rs @@ -5,11 +5,11 @@ use super::{ RenderReferencesType, RollingWindowNode, RootSqlNode, SqlNode, TimeDimensionNode, TimeShiftSqlNode, UngroupedMeasureSqlNode, UngroupedQueryFinalMeasureSqlNode, }; +use crate::physical_plan::cube_ref_evaluator::CubeRefEvaluator; +use crate::physical_plan::sql_nodes::calendar_time_shift::CalendarTimeShiftSqlNode; +use crate::physical_plan::sql_nodes::RenderReferences; use crate::planner::planners::multi_stage::TimeShiftState; -use crate::planner::sql_evaluator::cube_ref_evaluator::CubeRefEvaluator; -use crate::planner::sql_evaluator::sql_nodes::calendar_time_shift::CalendarTimeShiftSqlNode; -use crate::planner::sql_evaluator::sql_nodes::RenderReferences; -use crate::planner::sql_evaluator::symbols::CalendarDimensionTimeShift; +use crate::planner::symbols::CalendarDimensionTimeShift; use std::collections::{HashMap, HashSet}; use std::rc::Rc; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/sql_nodes/final_measure.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/sql_nodes/final_measure.rs similarity index 94% rename from rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/sql_nodes/final_measure.rs rename to rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/sql_nodes/final_measure.rs index 4135608d145f3..71c6579ec41e7 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/sql_nodes/final_measure.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/sql_nodes/final_measure.rs @@ -1,9 +1,9 @@ use super::SqlNode; +use crate::physical_plan::SqlEvaluatorVisitor; use crate::planner::query_tools::QueryTools; -use crate::planner::sql_evaluator::symbols::AggregateWrap; -use crate::planner::sql_evaluator::MemberSymbol; -use crate::planner::sql_evaluator::SqlEvaluatorVisitor; use crate::planner::sql_templates::PlanSqlTemplates; +use crate::planner::symbols::AggregateWrap; +use crate::planner::MemberSymbol; use cubenativeutils::CubeError; use std::any::Any; use std::collections::HashSet; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/sql_nodes/final_pre_aggregation_measure.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/sql_nodes/final_pre_aggregation_measure.rs similarity index 91% rename from rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/sql_nodes/final_pre_aggregation_measure.rs rename to rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/sql_nodes/final_pre_aggregation_measure.rs index 37a6dc000484f..e650233c4b46c 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/sql_nodes/final_pre_aggregation_measure.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/sql_nodes/final_pre_aggregation_measure.rs @@ -1,11 +1,11 @@ use super::SqlNode; +use crate::physical_plan::sql_nodes::RenderReferences; +use crate::physical_plan::sql_nodes::RenderReferencesType; +use crate::physical_plan::SqlEvaluatorVisitor; use crate::planner::query_tools::QueryTools; -use crate::planner::sql_evaluator::sql_nodes::RenderReferences; -use crate::planner::sql_evaluator::sql_nodes::RenderReferencesType; -use crate::planner::sql_evaluator::symbols::AggregateWrap; -use crate::planner::sql_evaluator::MemberSymbol; -use crate::planner::sql_evaluator::SqlEvaluatorVisitor; use crate::planner::sql_templates::PlanSqlTemplates; +use crate::planner::symbols::AggregateWrap; +use crate::planner::MemberSymbol; use cubenativeutils::CubeError; use std::any::Any; use std::rc::Rc; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/sql_nodes/geo_dimension.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/sql_nodes/geo_dimension.rs similarity index 93% rename from rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/sql_nodes/geo_dimension.rs rename to rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/sql_nodes/geo_dimension.rs index 32f0863a8bdb0..f09bac3323cfd 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/sql_nodes/geo_dimension.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/sql_nodes/geo_dimension.rs @@ -1,9 +1,9 @@ use super::SqlNode; +use crate::physical_plan::SqlEvaluatorVisitor; use crate::planner::query_tools::QueryTools; -use crate::planner::sql_evaluator::symbols::DimensionKind; -use crate::planner::sql_evaluator::MemberSymbol; -use crate::planner::sql_evaluator::SqlEvaluatorVisitor; use crate::planner::sql_templates::PlanSqlTemplates; +use crate::planner::symbols::DimensionKind; +use crate::planner::MemberSymbol; use cubenativeutils::CubeError; use std::any::Any; use std::rc::Rc; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/sql_nodes/masked.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/sql_nodes/masked.rs similarity index 96% rename from rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/sql_nodes/masked.rs rename to rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/sql_nodes/masked.rs index e685f20480473..af28236221bc2 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/sql_nodes/masked.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/sql_nodes/masked.rs @@ -1,10 +1,10 @@ use super::SqlNode; -use crate::plan::filter::ToSql; +use crate::physical_plan::filter::ToSql; +use crate::physical_plan::SqlEvaluatorVisitor; use crate::planner::query_tools::QueryTools; -use crate::planner::sql_evaluator::MemberSymbol; -use crate::planner::sql_evaluator::SqlEvaluatorVisitor; use crate::planner::sql_templates::PlanSqlTemplates; use crate::planner::FiltersContext; +use crate::planner::MemberSymbol; use cubenativeutils::CubeError; use std::any::Any; use std::rc::Rc; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/sql_nodes/measure_filter.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/sql_nodes/measure_filter.rs similarity index 96% rename from rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/sql_nodes/measure_filter.rs rename to rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/sql_nodes/measure_filter.rs index d5eb99c920b6f..2488df55e1173 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/sql_nodes/measure_filter.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/sql_nodes/measure_filter.rs @@ -1,8 +1,8 @@ use super::SqlNode; +use crate::physical_plan::SqlEvaluatorVisitor; use crate::planner::query_tools::QueryTools; -use crate::planner::sql_evaluator::MemberSymbol; -use crate::planner::sql_evaluator::SqlEvaluatorVisitor; use crate::planner::sql_templates::PlanSqlTemplates; +use crate::planner::MemberSymbol; use cubenativeutils::CubeError; use std::any::Any; use std::rc::Rc; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/sql_nodes/mod.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/sql_nodes/mod.rs similarity index 100% rename from rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/sql_nodes/mod.rs rename to rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/sql_nodes/mod.rs diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/sql_nodes/multi_stage_rank.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/sql_nodes/multi_stage_rank.rs similarity index 95% rename from rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/sql_nodes/multi_stage_rank.rs rename to rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/sql_nodes/multi_stage_rank.rs index 392b1f82ea275..b290402215eac 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/sql_nodes/multi_stage_rank.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/sql_nodes/multi_stage_rank.rs @@ -1,9 +1,9 @@ use super::SqlNode; +use crate::physical_plan::SqlEvaluatorVisitor; use crate::planner::query_tools::QueryTools; -use crate::planner::sql_evaluator::symbols::MeasureKind; -use crate::planner::sql_evaluator::MemberSymbol; -use crate::planner::sql_evaluator::SqlEvaluatorVisitor; use crate::planner::sql_templates::PlanSqlTemplates; +use crate::planner::symbols::MeasureKind; +use crate::planner::MemberSymbol; use cubenativeutils::CubeError; use std::any::Any; use std::rc::Rc; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/sql_nodes/multi_stage_window.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/sql_nodes/multi_stage_window.rs similarity index 97% rename from rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/sql_nodes/multi_stage_window.rs rename to rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/sql_nodes/multi_stage_window.rs index 6258677ddfe97..2738e1788e8cd 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/sql_nodes/multi_stage_window.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/sql_nodes/multi_stage_window.rs @@ -1,7 +1,8 @@ use super::SqlNode; +use crate::physical_plan::SqlEvaluatorVisitor; use crate::planner::query_tools::QueryTools; -use crate::planner::sql_evaluator::{MemberSymbol, SqlEvaluatorVisitor}; use crate::planner::sql_templates::PlanSqlTemplates; +use crate::planner::MemberSymbol; use cubenativeutils::CubeError; use std::any::Any; use std::rc::Rc; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/sql_nodes/original_sql_pre_aggregation.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/sql_nodes/original_sql_pre_aggregation.rs similarity index 95% rename from rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/sql_nodes/original_sql_pre_aggregation.rs rename to rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/sql_nodes/original_sql_pre_aggregation.rs index 506180d6080c8..ca472e524e691 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/sql_nodes/original_sql_pre_aggregation.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/sql_nodes/original_sql_pre_aggregation.rs @@ -1,7 +1,7 @@ use super::SqlNode; use crate::planner::query_tools::QueryTools; -use crate::planner::sql_evaluator::MemberSymbol; -use crate::planner::sql_evaluator::SqlEvaluatorVisitor; +use crate::planner::MemberSymbol; +use crate::physical_plan::SqlEvaluatorVisitor; use crate::planner::sql_templates::PlanSqlTemplates; use cubenativeutils::CubeError; use std::any::Any; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/sql_nodes/parenthesize.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/sql_nodes/parenthesize.rs similarity index 94% rename from rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/sql_nodes/parenthesize.rs rename to rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/sql_nodes/parenthesize.rs index a7a238becc116..b7ebdb6b45173 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/sql_nodes/parenthesize.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/sql_nodes/parenthesize.rs @@ -1,8 +1,8 @@ use super::SqlNode; +use crate::physical_plan::SqlEvaluatorVisitor; use crate::planner::query_tools::QueryTools; -use crate::planner::sql_evaluator::MemberSymbol; -use crate::planner::sql_evaluator::SqlEvaluatorVisitor; use crate::planner::sql_templates::PlanSqlTemplates; +use crate::planner::MemberSymbol; use crate::utils::sql_expression_scanner::is_top_level_compound; use cubenativeutils::CubeError; use std::any::Any; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/sql_nodes/render_references.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/sql_nodes/render_references.rs similarity index 95% rename from rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/sql_nodes/render_references.rs rename to rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/sql_nodes/render_references.rs index 77cdd47f1ce9f..8657a573dd8c8 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/sql_nodes/render_references.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/sql_nodes/render_references.rs @@ -1,9 +1,9 @@ use super::SqlNode; -use crate::plan::QualifiedColumnName; +use crate::physical_plan::QualifiedColumnName; +use crate::physical_plan::SqlEvaluatorVisitor; use crate::planner::query_tools::QueryTools; -use crate::planner::sql_evaluator::MemberSymbol; -use crate::planner::sql_evaluator::SqlEvaluatorVisitor; use crate::planner::sql_templates::PlanSqlTemplates; +use crate::planner::MemberSymbol; use cubenativeutils::CubeError; use std::any::Any; use std::collections::HashMap; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/sql_nodes/rolling_window.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/sql_nodes/rolling_window.rs similarity index 95% rename from rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/sql_nodes/rolling_window.rs rename to rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/sql_nodes/rolling_window.rs index e2a3440d6017e..0acc52dab3b07 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/sql_nodes/rolling_window.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/sql_nodes/rolling_window.rs @@ -1,8 +1,9 @@ use super::SqlNode; +use crate::physical_plan::SqlEvaluatorVisitor; use crate::planner::query_tools::QueryTools; -use crate::planner::sql_evaluator::symbols::{AggregationType, MeasureKind}; -use crate::planner::sql_evaluator::{MemberSymbol, SqlEvaluatorVisitor}; use crate::planner::sql_templates::PlanSqlTemplates; +use crate::planner::symbols::{AggregationType, MeasureKind}; +use crate::planner::MemberSymbol; use cubenativeutils::CubeError; use std::any::Any; use std::rc::Rc; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/sql_nodes/root_processor.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/sql_nodes/root_processor.rs similarity index 96% rename from rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/sql_nodes/root_processor.rs rename to rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/sql_nodes/root_processor.rs index 493f7eb5d3c94..8d6abdc040a3d 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/sql_nodes/root_processor.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/sql_nodes/root_processor.rs @@ -1,8 +1,8 @@ use super::SqlNode; +use crate::physical_plan::SqlEvaluatorVisitor; use crate::planner::query_tools::QueryTools; -use crate::planner::sql_evaluator::MemberSymbol; -use crate::planner::sql_evaluator::SqlEvaluatorVisitor; use crate::planner::sql_templates::PlanSqlTemplates; +use crate::planner::MemberSymbol; use cubenativeutils::CubeError; use std::any::Any; use std::rc::Rc; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/sql_nodes/sql_node.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/sql_nodes/sql_node.rs similarity index 88% rename from rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/sql_nodes/sql_node.rs rename to rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/sql_nodes/sql_node.rs index f5c2213caafde..bbff4d082e20d 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/sql_nodes/sql_node.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/sql_nodes/sql_node.rs @@ -1,6 +1,7 @@ +use crate::physical_plan::SqlEvaluatorVisitor; use crate::planner::query_tools::QueryTools; -use crate::planner::sql_evaluator::{MemberSymbol, SqlEvaluatorVisitor}; use crate::planner::sql_templates::PlanSqlTemplates; +use crate::planner::MemberSymbol; use cubenativeutils::CubeError; use std::any::Any; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/sql_nodes/time_dimension.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/sql_nodes/time_dimension.rs similarity index 97% rename from rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/sql_nodes/time_dimension.rs rename to rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/sql_nodes/time_dimension.rs index 3d9a15747adc0..9095b6b90528e 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/sql_nodes/time_dimension.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/sql_nodes/time_dimension.rs @@ -1,8 +1,8 @@ use super::SqlNode; +use crate::physical_plan::SqlEvaluatorVisitor; use crate::planner::query_tools::QueryTools; -use crate::planner::sql_evaluator::MemberSymbol; -use crate::planner::sql_evaluator::SqlEvaluatorVisitor; use crate::planner::sql_templates::PlanSqlTemplates; +use crate::planner::MemberSymbol; use cubenativeutils::CubeError; use std::any::Any; use std::collections::HashSet; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/sql_nodes/time_shift.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/sql_nodes/time_shift.rs similarity index 96% rename from rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/sql_nodes/time_shift.rs rename to rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/sql_nodes/time_shift.rs index 39f0434830063..da4e2d38da858 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/sql_nodes/time_shift.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/sql_nodes/time_shift.rs @@ -1,9 +1,9 @@ use super::SqlNode; +use crate::physical_plan::SqlEvaluatorVisitor; use crate::planner::planners::multi_stage::TimeShiftState; use crate::planner::query_tools::QueryTools; -use crate::planner::sql_evaluator::MemberSymbol; -use crate::planner::sql_evaluator::SqlEvaluatorVisitor; use crate::planner::sql_templates::PlanSqlTemplates; +use crate::planner::MemberSymbol; use cubenativeutils::CubeError; use std::any::Any; use std::rc::Rc; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/sql_nodes/ungroupped_measure.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/sql_nodes/ungroupped_measure.rs similarity index 93% rename from rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/sql_nodes/ungroupped_measure.rs rename to rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/sql_nodes/ungroupped_measure.rs index 0cad6b0ce0eca..c3654e7f5de4f 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/sql_nodes/ungroupped_measure.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/sql_nodes/ungroupped_measure.rs @@ -1,8 +1,8 @@ use super::SqlNode; +use crate::physical_plan::SqlEvaluatorVisitor; use crate::planner::query_tools::QueryTools; -use crate::planner::sql_evaluator::MemberSymbol; -use crate::planner::sql_evaluator::SqlEvaluatorVisitor; use crate::planner::sql_templates::PlanSqlTemplates; +use crate::planner::MemberSymbol; use cubenativeutils::CubeError; use std::any::Any; use std::rc::Rc; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/sql_nodes/ungroupped_query_final_measure.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/sql_nodes/ungroupped_query_final_measure.rs similarity index 93% rename from rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/sql_nodes/ungroupped_query_final_measure.rs rename to rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/sql_nodes/ungroupped_query_final_measure.rs index fe9992b58ea30..d3e828a407ba5 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/sql_nodes/ungroupped_query_final_measure.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/sql_nodes/ungroupped_query_final_measure.rs @@ -1,9 +1,9 @@ use super::SqlNode; +use crate::physical_plan::SqlEvaluatorVisitor; use crate::planner::query_tools::QueryTools; -use crate::planner::sql_evaluator::symbols::{AggregationType, MeasureKind}; -use crate::planner::sql_evaluator::MemberSymbol; -use crate::planner::sql_evaluator::SqlEvaluatorVisitor; use crate::planner::sql_templates::PlanSqlTemplates; +use crate::planner::symbols::{AggregationType, MeasureKind}; +use crate::planner::MemberSymbol; use cubenativeutils::CubeError; use std::any::Any; use std::rc::Rc; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/sql_visitor.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/sql_visitor.rs similarity index 97% rename from rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/sql_visitor.rs rename to rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/sql_visitor.rs index 9c72766ad547b..7b0f6876b9aa2 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/sql_visitor.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/sql_visitor.rs @@ -1,10 +1,10 @@ use super::sql_nodes::SqlNode; use super::CubeRefEvaluator; -use super::MemberSymbol; use crate::planner::filter::Filter; use crate::planner::query_tools::QueryTools; -use crate::planner::sql_evaluator::sql_call::CubeRef; +use crate::planner::sql_call::CubeRef; use crate::planner::sql_templates::PlanSqlTemplates; +use crate::planner::MemberSymbol; use cubenativeutils::CubeError; use std::rc::Rc; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/plan/symbols/dimension_kinds/case_dimension.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/symbols/dimension_kinds/case_dimension.rs similarity index 85% rename from rust/cube/cubesqlplanner/cubesqlplanner/src/plan/symbols/dimension_kinds/case_dimension.rs rename to rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/symbols/dimension_kinds/case_dimension.rs index ea7ed7d15af47..c607d42f6eeca 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/plan/symbols/dimension_kinds/case_dimension.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/symbols/dimension_kinds/case_dimension.rs @@ -1,5 +1,5 @@ use super::super::{MemberSqlContext, ToSql}; -use crate::planner::sql_evaluator::symbols::dimension_kinds::CaseDimension; +use crate::planner::symbols::dimension_kinds::CaseDimension; use cubenativeutils::CubeError; impl ToSql for CaseDimension { diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/plan/symbols/dimension_kinds/mod.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/symbols/dimension_kinds/mod.rs similarity index 92% rename from rust/cube/cubesqlplanner/cubesqlplanner/src/plan/symbols/dimension_kinds/mod.rs rename to rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/symbols/dimension_kinds/mod.rs index 2a2e88261eedd..6db5775efed70 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/plan/symbols/dimension_kinds/mod.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/symbols/dimension_kinds/mod.rs @@ -3,7 +3,7 @@ pub mod regular; pub mod switch; use super::{MemberSqlContext, ToSql}; -use crate::planner::sql_evaluator::DimensionKind; +use crate::planner::DimensionKind; use cubenativeutils::CubeError; impl ToSql for DimensionKind { diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/plan/symbols/dimension_kinds/regular.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/symbols/dimension_kinds/regular.rs similarity index 75% rename from rust/cube/cubesqlplanner/cubesqlplanner/src/plan/symbols/dimension_kinds/regular.rs rename to rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/symbols/dimension_kinds/regular.rs index d7422bfe881f5..d183b9c59014d 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/plan/symbols/dimension_kinds/regular.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/symbols/dimension_kinds/regular.rs @@ -1,5 +1,5 @@ use super::super::{MemberSqlContext, ToSql}; -use crate::planner::sql_evaluator::symbols::dimension_kinds::RegularDimension; +use crate::planner::symbols::dimension_kinds::RegularDimension; use cubenativeutils::CubeError; impl ToSql for RegularDimension { diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/plan/symbols/dimension_kinds/switch.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/symbols/dimension_kinds/switch.rs similarity index 82% rename from rust/cube/cubesqlplanner/cubesqlplanner/src/plan/symbols/dimension_kinds/switch.rs rename to rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/symbols/dimension_kinds/switch.rs index 83cd4d84cdcef..569ffe98ca481 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/plan/symbols/dimension_kinds/switch.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/symbols/dimension_kinds/switch.rs @@ -1,5 +1,5 @@ use super::super::{MemberSqlContext, ToSql}; -use crate::planner::sql_evaluator::symbols::dimension_kinds::SwitchDimension; +use crate::planner::symbols::dimension_kinds::SwitchDimension; use cubenativeutils::CubeError; impl ToSql for SwitchDimension { diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/plan/symbols/dimension_symbol.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/symbols/dimension_symbol.rs similarity index 80% rename from rust/cube/cubesqlplanner/cubesqlplanner/src/plan/symbols/dimension_symbol.rs rename to rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/symbols/dimension_symbol.rs index 3ccb63e35cc35..8383999113e8c 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/plan/symbols/dimension_symbol.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/symbols/dimension_symbol.rs @@ -1,5 +1,5 @@ use super::{MemberSqlContext, ToSql}; -use crate::planner::sql_evaluator::DimensionSymbol; +use crate::planner::DimensionSymbol; use cubenativeutils::CubeError; impl ToSql for DimensionSymbol { diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/plan/symbols/measure_kinds/aggregated.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/symbols/measure_kinds/aggregated.rs similarity index 85% rename from rust/cube/cubesqlplanner/cubesqlplanner/src/plan/symbols/measure_kinds/aggregated.rs rename to rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/symbols/measure_kinds/aggregated.rs index 8905ccdedb9bc..7e51b1fb60b25 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/plan/symbols/measure_kinds/aggregated.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/symbols/measure_kinds/aggregated.rs @@ -1,5 +1,5 @@ use super::super::{MemberSqlContext, ToSql}; -use crate::planner::sql_evaluator::symbols::measure_kinds::AggregatedMeasure; +use crate::planner::symbols::measure_kinds::AggregatedMeasure; use cubenativeutils::CubeError; impl ToSql for AggregatedMeasure { diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/plan/symbols/measure_kinds/calculated.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/symbols/measure_kinds/calculated.rs similarity index 85% rename from rust/cube/cubesqlplanner/cubesqlplanner/src/plan/symbols/measure_kinds/calculated.rs rename to rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/symbols/measure_kinds/calculated.rs index 112f3ec543507..ca584e0895c7b 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/plan/symbols/measure_kinds/calculated.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/symbols/measure_kinds/calculated.rs @@ -1,5 +1,5 @@ use super::super::{MemberSqlContext, ToSql}; -use crate::planner::sql_evaluator::symbols::measure_kinds::CalculatedMeasure; +use crate::planner::symbols::measure_kinds::CalculatedMeasure; use cubenativeutils::CubeError; impl ToSql for CalculatedMeasure { diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/plan/symbols/measure_kinds/count.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/symbols/measure_kinds/count.rs similarity index 92% rename from rust/cube/cubesqlplanner/cubesqlplanner/src/plan/symbols/measure_kinds/count.rs rename to rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/symbols/measure_kinds/count.rs index b7047bc20fb2f..145288bf783a9 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/plan/symbols/measure_kinds/count.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/symbols/measure_kinds/count.rs @@ -1,5 +1,5 @@ use super::super::{MemberSqlContext, ToSql}; -use crate::planner::sql_evaluator::symbols::measure_kinds::{CountMeasure, CountSql}; +use crate::planner::symbols::measure_kinds::{CountMeasure, CountSql}; use cubenativeutils::CubeError; impl ToSql for CountMeasure { diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/plan/symbols/measure_kinds/mod.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/symbols/measure_kinds/mod.rs similarity index 92% rename from rust/cube/cubesqlplanner/cubesqlplanner/src/plan/symbols/measure_kinds/mod.rs rename to rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/symbols/measure_kinds/mod.rs index b0bcc98ff39aa..fbc2582ee846f 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/plan/symbols/measure_kinds/mod.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/symbols/measure_kinds/mod.rs @@ -3,7 +3,7 @@ pub mod calculated; pub mod count; use super::{MemberSqlContext, ToSql}; -use crate::planner::sql_evaluator::MeasureKind; +use crate::planner::MeasureKind; use cubenativeutils::CubeError; impl ToSql for MeasureKind { diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/plan/symbols/measure_symbol.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/symbols/measure_symbol.rs similarity index 81% rename from rust/cube/cubesqlplanner/cubesqlplanner/src/plan/symbols/measure_symbol.rs rename to rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/symbols/measure_symbol.rs index fc5074cc3d68b..ca31b1f3f9ce0 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/plan/symbols/measure_symbol.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/symbols/measure_symbol.rs @@ -1,5 +1,5 @@ use super::{MemberSqlContext, ToSql}; -use crate::planner::sql_evaluator::MeasureSymbol; +use crate::planner::MeasureSymbol; use cubenativeutils::CubeError; impl ToSql for MeasureSymbol { diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/plan/symbols/member_expression_symbol.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/symbols/member_expression_symbol.rs similarity index 87% rename from rust/cube/cubesqlplanner/cubesqlplanner/src/plan/symbols/member_expression_symbol.rs rename to rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/symbols/member_expression_symbol.rs index d8291e9a60539..fcae4dc0917e2 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/plan/symbols/member_expression_symbol.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/symbols/member_expression_symbol.rs @@ -1,5 +1,5 @@ use super::{MemberSqlContext, ToSql}; -use crate::planner::sql_evaluator::{MemberExpressionExpression, MemberExpressionSymbol}; +use crate::planner::{MemberExpressionExpression, MemberExpressionSymbol}; use cubenativeutils::CubeError; impl ToSql for MemberExpressionSymbol { diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/plan/symbols/member_symbol.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/symbols/member_symbol.rs similarity index 89% rename from rust/cube/cubesqlplanner/cubesqlplanner/src/plan/symbols/member_symbol.rs rename to rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/symbols/member_symbol.rs index 918f54302c605..72df3dac5f8aa 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/plan/symbols/member_symbol.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/symbols/member_symbol.rs @@ -1,5 +1,5 @@ use super::{MemberSqlContext, ToSql}; -use crate::planner::sql_evaluator::MemberSymbol; +use crate::planner::MemberSymbol; use cubenativeutils::CubeError; impl ToSql for MemberSymbol { diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/plan/symbols/mod.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/symbols/mod.rs similarity index 100% rename from rust/cube/cubesqlplanner/cubesqlplanner/src/plan/symbols/mod.rs rename to rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/symbols/mod.rs diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/plan/symbols/time_dimension_symbol.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/symbols/time_dimension_symbol.rs similarity index 87% rename from rust/cube/cubesqlplanner/cubesqlplanner/src/plan/symbols/time_dimension_symbol.rs rename to rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/symbols/time_dimension_symbol.rs index ba4649057b07e..66da4c87376d1 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/plan/symbols/time_dimension_symbol.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/symbols/time_dimension_symbol.rs @@ -1,5 +1,5 @@ use super::{MemberSqlContext, ToSql}; -use crate::planner::sql_evaluator::TimeDimensionSymbol; +use crate::planner::TimeDimensionSymbol; use cubenativeutils::CubeError; impl ToSql for TimeDimensionSymbol { diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/plan/symbols/to_sql.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/symbols/to_sql.rs similarity index 86% rename from rust/cube/cubesqlplanner/cubesqlplanner/src/plan/symbols/to_sql.rs rename to rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/symbols/to_sql.rs index affa08712dd8f..2baec43b099d4 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/plan/symbols/to_sql.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/symbols/to_sql.rs @@ -1,7 +1,8 @@ +use crate::physical_plan::sql_nodes::SqlNode; +use crate::physical_plan::SqlEvaluatorVisitor; use crate::planner::query_tools::QueryTools; -use crate::planner::sql_evaluator::sql_nodes::SqlNode; -use crate::planner::sql_evaluator::{SqlCall, SqlEvaluatorVisitor}; use crate::planner::sql_templates::PlanSqlTemplates; +use crate::planner::SqlCall; use cubenativeutils::CubeError; use std::rc::Rc; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/plan/time_series.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/time_series.rs similarity index 97% rename from rust/cube/cubesqlplanner/cubesqlplanner/src/plan/time_series.rs rename to rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/time_series.rs index b977e7891ee03..9e66d029c4b9a 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/plan/time_series.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/time_series.rs @@ -1,7 +1,6 @@ use super::{Schema, SchemaColumn}; use crate::planner::{ - query_tools::QueryTools, sql_evaluator::MemberSymbol, sql_templates::PlanSqlTemplates, - Granularity, + query_tools::QueryTools, sql_templates::PlanSqlTemplates, Granularity, MemberSymbol, }; use cubenativeutils::CubeError; use std::rc::Rc; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/plan/union.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/union.rs similarity index 92% rename from rust/cube/cubesqlplanner/cubesqlplanner/src/plan/union.rs rename to rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/union.rs index ed122ef5883df..feec8c62b6ba5 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/plan/union.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/union.rs @@ -1,5 +1,5 @@ use super::{QueryPlan, Schema}; -use crate::{plan::Select, planner::sql_templates::PlanSqlTemplates}; +use crate::{physical_plan::Select, planner::sql_templates::PlanSqlTemplates}; use cubenativeutils::CubeError; use std::rc::Rc; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/visitor_context.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/visitor_context.rs new file mode 100644 index 0000000000000..0b8f51b445947 --- /dev/null +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan/visitor_context.rs @@ -0,0 +1,98 @@ +use crate::physical_plan::cube_ref_evaluator::CubeRefEvaluator; +use crate::physical_plan::sql_nodes::{SqlNode, SqlNodesFactory}; +use crate::physical_plan::sql_visitor::SqlEvaluatorVisitor; +use crate::planner::filter::Filter; +use crate::planner::query_tools::QueryTools; +use crate::planner::sql_templates::PlanSqlTemplates; +use crate::planner::FiltersContext; +use crate::planner::{MemberSymbol, SqlCall}; +use cubenativeutils::CubeError; +use std::collections::HashMap; +use std::rc::Rc; + +pub struct VisitorContext { + query_tools: Rc, + node_processor: Rc, + cube_ref_evaluator: Rc, + all_filters: Option, //To pass to FILTER_PARAMS and FILTER_GROUP + filters_context: FiltersContext, +} + +impl VisitorContext { + pub fn new( + query_tools: Rc, + nodes_factory: &SqlNodesFactory, + all_filters: Option, + ) -> Self { + let filters_context = FiltersContext { + use_local_tz: nodes_factory.use_local_tz_in_date_range(), + filter_params_columns: HashMap::new(), + }; + Self { + query_tools, + node_processor: nodes_factory.default_node_processor(), + cube_ref_evaluator: Rc::new(nodes_factory.cube_ref_evaluator()), + all_filters, + filters_context, + } + } + + pub fn new_for_filter_params( + query_tools: Rc, + nodes_factory: &SqlNodesFactory, + filter_params_columns: HashMap, + ) -> Self { + let filters_context = FiltersContext { + use_local_tz: nodes_factory.use_local_tz_in_date_range(), + filter_params_columns, + }; + Self { + query_tools, + node_processor: nodes_factory.default_node_processor(), + cube_ref_evaluator: Rc::new(nodes_factory.cube_ref_evaluator()), + all_filters: None, + filters_context, + } + } + + pub fn make_visitor(&self, query_tools: Rc) -> SqlEvaluatorVisitor { + SqlEvaluatorVisitor::new( + query_tools, + self.cube_ref_evaluator.clone(), + self.all_filters.clone(), + ) + } + + pub fn node_processor(&self) -> Rc { + self.node_processor.clone() + } + + pub fn filters_context(&self) -> &FiltersContext { + &self.filters_context + } + + pub fn query_tools(&self) -> Rc { + self.query_tools.clone() + } +} + +pub fn evaluate_with_context( + node: &Rc, + context: Rc, + templates: &PlanSqlTemplates, +) -> Result { + let visitor = context.make_visitor(context.query_tools()); + let node_processor = context.node_processor(); + + visitor.apply(node, node_processor, templates) +} + +pub fn evaluate_sql_call_with_context( + sql_call: &Rc, + context: Rc, + templates: &PlanSqlTemplates, +) -> Result { + let visitor = context.make_visitor(context.query_tools()); + let node_processor = context.node_processor(); + sql_call.eval(&visitor, node_processor, context.query_tools(), templates) +} diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan_builder/builder.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan_builder/builder.rs index 02b7625764f14..78e2cbe7186a4 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan_builder/builder.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan_builder/builder.rs @@ -1,17 +1,17 @@ use super::context::PushDownBuilderContext; use super::{LogicalNodeProcessor, ProcessableNode}; use crate::logical_plan::*; +use crate::physical_plan::join::JoinType; +use crate::physical_plan::schema::QualifiedColumnName; +use crate::physical_plan::sql_nodes::SqlNodesFactory; +use crate::physical_plan::ReferencesBuilder; +use crate::physical_plan::VisitorContext; +use crate::physical_plan::*; use crate::physical_plan_builder::context::MultiStageDimensionContext; -use crate::plan::join::JoinType; -use crate::plan::schema::QualifiedColumnName; -use crate::plan::*; use crate::planner::query_properties::OrderByItem; use crate::planner::query_tools::QueryTools; -use crate::planner::sql_evaluator::sql_nodes::SqlNodesFactory; -use crate::planner::sql_evaluator::MemberSymbol; -use crate::planner::sql_evaluator::ReferencesBuilder; use crate::planner::sql_templates::PlanSqlTemplates; -use crate::planner::VisitorContext; +use crate::planner::MemberSymbol; use cubenativeutils::CubeError; use itertools::Itertools; use std::collections::HashMap; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan_builder/context.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan_builder/context.rs index ce3189a5f57e1..21254f4c82850 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan_builder/context.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan_builder/context.rs @@ -1,9 +1,9 @@ use cubenativeutils::CubeError; -use crate::plan::Schema; +use crate::physical_plan::sql_nodes::SqlNodesFactory; +use crate::physical_plan::Schema; use crate::planner::planners::multi_stage::TimeShiftState; -use crate::planner::sql_evaluator::sql_nodes::SqlNodesFactory; -use crate::planner::sql_evaluator::MemberSymbol; +use crate::planner::MemberSymbol; use std::collections::HashMap; use std::rc::Rc; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan_builder/processors/aggregate_multiplied_subquery.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan_builder/processors/aggregate_multiplied_subquery.rs index c443b23185ca7..cc7017ac49b13 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan_builder/processors/aggregate_multiplied_subquery.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan_builder/processors/aggregate_multiplied_subquery.rs @@ -1,11 +1,11 @@ use super::super::{LogicalNodeProcessor, ProcessableNode, PushDownBuilderContext}; use crate::logical_plan::{AggregateMultipliedSubquery, AggregateMultipliedSubquerySource}; -use crate::physical_plan_builder::PhysicalPlanBuilder; -use crate::plan::{ +use crate::physical_plan::ReferencesBuilder; +use crate::physical_plan::{ Expr, From, JoinBuilder, JoinCondition, MemberExpression, QualifiedColumnName, Select, SelectBuilder, }; -use crate::planner::sql_evaluator::ReferencesBuilder; +use crate::physical_plan_builder::PhysicalPlanBuilder; use cubenativeutils::CubeError; use std::rc::Rc; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan_builder/processors/full_key_aggregate/full_join_aggregate_strategy.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan_builder/processors/full_key_aggregate/full_join_aggregate_strategy.rs index 831587752e474..29578710282cb 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan_builder/processors/full_key_aggregate/full_join_aggregate_strategy.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan_builder/processors/full_key_aggregate/full_join_aggregate_strategy.rs @@ -1,13 +1,13 @@ use super::FullKeyAggregateStrategy; use crate::logical_plan::{FullKeyAggregate, LogicalJoin}; +use crate::physical_plan::sql_nodes::SqlNodesFactory; +use crate::physical_plan::{ + Expr, From, FromSource, JoinBuilder, JoinCondition, QualifiedColumnName, ReferencesBuilder, + Select, SelectBuilder, SingleAliasedSource, +}; use crate::physical_plan_builder::PhysicalPlanBuilder; use crate::physical_plan_builder::PushDownBuilderContext; -use crate::plan::{ - Expr, From, FromSource, JoinBuilder, JoinCondition, QualifiedColumnName, Select, SelectBuilder, - SingleAliasedSource, -}; -use crate::planner::sql_evaluator::sql_nodes::SqlNodesFactory; -use crate::planner::sql_evaluator::{MemberSymbol, ReferencesBuilder}; +use crate::planner::MemberSymbol; use cubenativeutils::CubeError; use itertools::Itertools; use std::rc::Rc; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan_builder/processors/full_key_aggregate/inner_join_aggregate_strategy.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan_builder/processors/full_key_aggregate/inner_join_aggregate_strategy.rs index c4c32abb83705..d01181f7d0afe 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan_builder/processors/full_key_aggregate/inner_join_aggregate_strategy.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan_builder/processors/full_key_aggregate/inner_join_aggregate_strategy.rs @@ -1,12 +1,12 @@ use super::FullKeyAggregateStrategy; use crate::logical_plan::{FullKeyAggregate, LogicalJoin}; -use crate::physical_plan_builder::PhysicalPlanBuilder; -use crate::physical_plan_builder::PushDownBuilderContext; -use crate::plan::{ +use crate::physical_plan::sql_nodes::SqlNodesFactory; +use crate::physical_plan::{ Expr, From, FromSource, JoinBuilder, JoinCondition, QualifiedColumnName, SelectBuilder, SingleAliasedSource, }; -use crate::planner::sql_evaluator::sql_nodes::SqlNodesFactory; +use crate::physical_plan_builder::PhysicalPlanBuilder; +use crate::physical_plan_builder::PushDownBuilderContext; use cubenativeutils::CubeError; use std::rc::Rc; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan_builder/processors/full_key_aggregate/keys_aggregate_strategy.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan_builder/processors/full_key_aggregate/keys_aggregate_strategy.rs index a657e919722a1..8f53c6f82b463 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan_builder/processors/full_key_aggregate/keys_aggregate_strategy.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan_builder/processors/full_key_aggregate/keys_aggregate_strategy.rs @@ -1,13 +1,13 @@ use super::FullKeyAggregateStrategy; use crate::logical_plan::{FullKeyAggregate, LogicalJoin}; -use crate::physical_plan_builder::PhysicalPlanBuilder; -use crate::physical_plan_builder::PushDownBuilderContext; -use crate::plan::{ +use crate::physical_plan::sql_nodes::SqlNodesFactory; +use crate::physical_plan::ReferencesBuilder; +use crate::physical_plan::{ Expr, From, FromSource, JoinBuilder, JoinCondition, QualifiedColumnName, SelectBuilder, SingleAliasedSource, Union, }; -use crate::planner::sql_evaluator::sql_nodes::SqlNodesFactory; -use crate::planner::sql_evaluator::ReferencesBuilder; +use crate::physical_plan_builder::PhysicalPlanBuilder; +use crate::physical_plan_builder::PushDownBuilderContext; use cubenativeutils::CubeError; use std::rc::Rc; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan_builder/processors/full_key_aggregate/mod.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan_builder/processors/full_key_aggregate/mod.rs index 70cd25a3943ca..2f7cd6863ae86 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan_builder/processors/full_key_aggregate/mod.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan_builder/processors/full_key_aggregate/mod.rs @@ -4,8 +4,8 @@ mod keys_aggregate_strategy; use super::super::{LogicalNodeProcessor, ProcessableNode, PushDownBuilderContext}; use crate::logical_plan::FullKeyAggregate; +use crate::physical_plan::From; use crate::physical_plan_builder::PhysicalPlanBuilder; -use crate::plan::From; use cubenativeutils::CubeError; use full_join_aggregate_strategy::FullJoinFullKeyAggregateStrategy; use inner_join_aggregate_strategy::InnerJoinFullKeyAggregateStrategy; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan_builder/processors/keys_sub_query.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan_builder/processors/keys_sub_query.rs index b6c7eb115583a..684592d766490 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan_builder/processors/keys_sub_query.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan_builder/processors/keys_sub_query.rs @@ -1,9 +1,11 @@ use super::super::{LogicalNodeProcessor, ProcessableNode, PushDownBuilderContext}; use crate::logical_plan::{all_symbols, KeysSubQuery}; +use crate::physical_plan::{ + CalcGroupItem, CalcGroupsJoin, From, ReferencesBuilder, Select, SelectBuilder, +}; use crate::physical_plan_builder::PhysicalPlanBuilder; -use crate::plan::{CalcGroupItem, CalcGroupsJoin, From, Select, SelectBuilder}; -use crate::planner::sql_evaluator::collectors::collect_calc_group_dims_from_nodes; -use crate::planner::sql_evaluator::{get_filtered_values, ReferencesBuilder}; +use crate::planner::collectors::collect_calc_group_dims_from_nodes; +use crate::planner::get_filtered_values; use cubenativeutils::CubeError; use itertools::Itertools as _; use std::rc::Rc; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan_builder/processors/logical_join.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan_builder/processors/logical_join.rs index 7f29a162359f3..9a04cb0834ce4 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan_builder/processors/logical_join.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan_builder/processors/logical_join.rs @@ -1,7 +1,7 @@ use super::super::{LogicalNodeProcessor, ProcessableNode, PushDownBuilderContext}; use crate::logical_plan::LogicalJoin; +use crate::physical_plan::{From, JoinBuilder, JoinCondition}; use crate::physical_plan_builder::PhysicalPlanBuilder; -use crate::plan::{From, JoinBuilder, JoinCondition}; use crate::planner::SqlJoinCondition; use cubenativeutils::CubeError; use std::rc::Rc; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan_builder/processors/measure_subquery.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan_builder/processors/measure_subquery.rs index e4f71a90b4ae4..825bc1d08e3dc 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan_builder/processors/measure_subquery.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan_builder/processors/measure_subquery.rs @@ -1,8 +1,8 @@ use super::super::{LogicalNodeProcessor, ProcessableNode, PushDownBuilderContext}; use crate::logical_plan::MeasureSubquery; +use crate::physical_plan::ReferencesBuilder; +use crate::physical_plan::{Select, SelectBuilder}; use crate::physical_plan_builder::PhysicalPlanBuilder; -use crate::plan::{Select, SelectBuilder}; -use crate::planner::sql_evaluator::ReferencesBuilder; use cubenativeutils::CubeError; use std::rc::Rc; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan_builder/processors/multi_stage_dimension_calculation.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan_builder/processors/multi_stage_dimension_calculation.rs index d54d8d90e690d..814ec644ac51d 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan_builder/processors/multi_stage_dimension_calculation.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan_builder/processors/multi_stage_dimension_calculation.rs @@ -1,9 +1,9 @@ use super::super::context::PushDownBuilderContext; use super::super::{LogicalNodeProcessor, ProcessableNode}; use crate::logical_plan::MultiStageDimensionCalculation; +use crate::physical_plan::ReferencesBuilder; +use crate::physical_plan::{Expr, MemberExpression, QueryPlan, SelectBuilder}; use crate::physical_plan_builder::PhysicalPlanBuilder; -use crate::plan::{Expr, MemberExpression, QueryPlan, SelectBuilder}; -use crate::planner::sql_evaluator::ReferencesBuilder; use cubenativeutils::CubeError; use std::rc::Rc; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan_builder/processors/multi_stage_get_date_range.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan_builder/processors/multi_stage_get_date_range.rs index 4e4a9e953e13e..a820554b00af3 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan_builder/processors/multi_stage_get_date_range.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan_builder/processors/multi_stage_get_date_range.rs @@ -1,9 +1,9 @@ use super::super::context::PushDownBuilderContext; use super::super::{LogicalNodeProcessor, ProcessableNode}; use crate::logical_plan::MultiStageGetDateRange; +use crate::physical_plan::ReferencesBuilder; +use crate::physical_plan::{QueryPlan, SelectBuilder}; use crate::physical_plan_builder::PhysicalPlanBuilder; -use crate::plan::{QueryPlan, SelectBuilder}; -use crate::planner::sql_evaluator::ReferencesBuilder; use cubenativeutils::CubeError; use std::rc::Rc; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan_builder/processors/multi_stage_leaf_measure.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan_builder/processors/multi_stage_leaf_measure.rs index 66c0ae0f6d8b9..def4323340ed7 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan_builder/processors/multi_stage_leaf_measure.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan_builder/processors/multi_stage_leaf_measure.rs @@ -1,8 +1,8 @@ use super::super::context::PushDownBuilderContext; use super::super::{LogicalNodeProcessor, ProcessableNode}; use crate::logical_plan::MultiStageLeafMeasure; +use crate::physical_plan::QueryPlan; use crate::physical_plan_builder::PhysicalPlanBuilder; -use crate::plan::QueryPlan; use cubenativeutils::CubeError; pub struct MultiStageLeafMeasureProcessor<'a> { diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan_builder/processors/multi_stage_measure_calculation.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan_builder/processors/multi_stage_measure_calculation.rs index 0c5ea4bac5c13..7a4f2a2ed4c11 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan_builder/processors/multi_stage_measure_calculation.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan_builder/processors/multi_stage_measure_calculation.rs @@ -1,9 +1,9 @@ use super::super::context::PushDownBuilderContext; use super::super::{LogicalNodeProcessor, ProcessableNode}; use crate::logical_plan::{MultiStageCalculationWindowFunction, MultiStageMeasureCalculation}; +use crate::physical_plan::ReferencesBuilder; +use crate::physical_plan::{Expr, MemberExpression, QueryPlan, SelectBuilder}; use crate::physical_plan_builder::PhysicalPlanBuilder; -use crate::plan::{Expr, MemberExpression, QueryPlan, SelectBuilder}; -use crate::planner::sql_evaluator::ReferencesBuilder; use cubenativeutils::CubeError; use itertools::Itertools; use std::rc::Rc; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan_builder/processors/multi_stage_member_type.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan_builder/processors/multi_stage_member_type.rs index 58e59fedae33a..60e2599c8c46f 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan_builder/processors/multi_stage_member_type.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan_builder/processors/multi_stage_member_type.rs @@ -1,8 +1,8 @@ use super::super::context::PushDownBuilderContext; use super::super::{LogicalNodeProcessor, ProcessableNode}; use crate::logical_plan::MultiStageMemberLogicalType; +use crate::physical_plan::QueryPlan; use crate::physical_plan_builder::PhysicalPlanBuilder; -use crate::plan::QueryPlan; use cubenativeutils::CubeError; pub struct MultiStageMemberLogicalTypeProcessor<'a> { diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan_builder/processors/multi_stage_rolling_window.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan_builder/processors/multi_stage_rolling_window.rs index f06effcee33bb..bfbbb30d139ef 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan_builder/processors/multi_stage_rolling_window.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan_builder/processors/multi_stage_rolling_window.rs @@ -1,12 +1,12 @@ use super::super::context::PushDownBuilderContext; use super::super::{LogicalNodeProcessor, ProcessableNode}; use crate::logical_plan::{MultiStageRollingWindow, MultiStageRollingWindowType}; -use crate::physical_plan_builder::PhysicalPlanBuilder; -use crate::plan::{ +use crate::physical_plan::ReferencesBuilder; +use crate::physical_plan::{ Expr, From, JoinBuilder, JoinCondition, MemberExpression, QualifiedColumnName, QueryPlan, SelectBuilder, }; -use crate::planner::sql_evaluator::ReferencesBuilder; +use crate::physical_plan_builder::PhysicalPlanBuilder; use cubenativeutils::CubeError; use std::rc::Rc; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan_builder/processors/multi_stage_time_series.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan_builder/processors/multi_stage_time_series.rs index e6d0a2c33b43c..d8ff40360b921 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan_builder/processors/multi_stage_time_series.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan_builder/processors/multi_stage_time_series.rs @@ -1,8 +1,8 @@ use super::super::context::PushDownBuilderContext; use super::super::{LogicalNodeProcessor, ProcessableNode}; use crate::logical_plan::MultiStageTimeSeries; +use crate::physical_plan::{QueryPlan, TimeSeries, TimeSeriesDateRange}; use crate::physical_plan_builder::PhysicalPlanBuilder; -use crate::plan::{QueryPlan, TimeSeries, TimeSeriesDateRange}; use cubenativeutils::CubeError; use std::rc::Rc; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan_builder/processors/pre_aggregation.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan_builder/processors/pre_aggregation.rs index b2558e405dfb8..7826a3169bea9 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan_builder/processors/pre_aggregation.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan_builder/processors/pre_aggregation.rs @@ -4,12 +4,12 @@ use crate::logical_plan::{ PreAggregation, PreAggregationJoin, PreAggregationSource, PreAggregationTable, PreAggregationUnion, }; -use crate::physical_plan_builder::PhysicalPlanBuilder; -use crate::plan::{ +use crate::physical_plan::sql_nodes::SqlNodesFactory; +use crate::physical_plan::{ From, FromSource, JoinBuilder, JoinCondition, QualifiedColumnName, QueryPlan, Schema, SelectBuilder, SingleAliasedSource, SingleSource, Union, }; -use crate::planner::sql_evaluator::sql_nodes::SqlNodesFactory; +use crate::physical_plan_builder::PhysicalPlanBuilder; use crate::planner::sql_templates::PlanSqlTemplates; use crate::planner::SqlJoinCondition; use cubenativeutils::CubeError; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan_builder/processors/query.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan_builder/processors/query.rs index 414290e0bf154..28bbfbff54f46 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan_builder/processors/query.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan_builder/processors/query.rs @@ -1,11 +1,12 @@ use super::super::{LogicalNodeProcessor, ProcessableNode, PushDownBuilderContext}; use crate::logical_plan::{all_symbols, MultiStageMemberLogicalType, Query, QuerySource}; -use crate::physical_plan_builder::PhysicalPlanBuilder; -use crate::plan::{ - CalcGroupItem, CalcGroupsJoin, Cte, Expr, From, MemberExpression, Select, SelectBuilder, +use crate::physical_plan::{ + CalcGroupItem, CalcGroupsJoin, Cte, Expr, From, MemberExpression, ReferencesBuilder, Select, + SelectBuilder, }; -use crate::planner::sql_evaluator::collectors::collect_calc_group_dims_from_nodes; -use crate::planner::sql_evaluator::{get_filtered_values, ReferencesBuilder}; +use crate::physical_plan_builder::PhysicalPlanBuilder; +use crate::planner::collectors::collect_calc_group_dims_from_nodes; +use crate::planner::get_filtered_values; use cubenativeutils::CubeError; use itertools::Itertools; use std::rc::Rc; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan_builder/processors/query_source.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan_builder/processors/query_source.rs index 8a9290fb5213b..be94384d1fab1 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan_builder/processors/query_source.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/physical_plan_builder/processors/query_source.rs @@ -1,7 +1,7 @@ use super::super::{LogicalNodeProcessor, ProcessableNode, PushDownBuilderContext}; use crate::logical_plan::QuerySource; +use crate::physical_plan::From; use crate::physical_plan_builder::PhysicalPlanBuilder; -use crate::plan::From; use cubenativeutils::CubeError; use std::rc::Rc; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/base_cube.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/base_cube.rs index 8a941c25ece15..49ba842baf2a4 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/base_cube.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/base_cube.rs @@ -1,7 +1,7 @@ use super::query_tools::QueryTools; -use super::sql_evaluator::{CubeRef, CubeTableSymbol}; -use super::VisitorContext; +use super::{CubeRef, CubeTableSymbol}; use crate::cube_bridge::cube_definition::CubeDefinition; +use crate::physical_plan::VisitorContext; use crate::planner::sql_templates::PlanSqlTemplates; use cubenativeutils::CubeError; use std::collections::HashSet; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/base_join_condition.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/base_join_condition.rs index 4c2ea585caadb..ffdef3641482c 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/base_join_condition.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/base_join_condition.rs @@ -1,5 +1,5 @@ -use super::sql_evaluator::SqlCall; -use super::{evaluate_sql_call_with_context, VisitorContext}; +use super::SqlCall; +use crate::physical_plan::{evaluate_sql_call_with_context, VisitorContext}; use crate::planner::sql_templates::PlanSqlTemplates; use cubenativeutils::CubeError; use std::rc::Rc; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/collectors/calc_group_dims_collector.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/collectors/calc_group_dims_collector.rs similarity index 96% rename from rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/collectors/calc_group_dims_collector.rs rename to rust/cube/cubesqlplanner/cubesqlplanner/src/planner/collectors/calc_group_dims_collector.rs index b8e00ff721e3c..f45c20829f729 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/collectors/calc_group_dims_collector.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/collectors/calc_group_dims_collector.rs @@ -1,4 +1,4 @@ -use crate::planner::sql_evaluator::{MemberSymbol, TraversalVisitor}; +use crate::planner::{MemberSymbol, TraversalVisitor}; use cubenativeutils::CubeError; use itertools::Itertools; use std::rc::Rc; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/collectors/cube_names_collector.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/collectors/cube_names_collector.rs similarity index 96% rename from rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/collectors/cube_names_collector.rs rename to rust/cube/cubesqlplanner/cubesqlplanner/src/planner/collectors/cube_names_collector.rs index 840b36958312a..830484cec0f60 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/collectors/cube_names_collector.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/collectors/cube_names_collector.rs @@ -1,4 +1,4 @@ -use crate::planner::sql_evaluator::{CubeRef, MemberSymbol, TraversalVisitor}; +use crate::planner::{CubeRef, MemberSymbol, TraversalVisitor}; use cubenativeutils::CubeError; use std::collections::HashSet; use std::rc::Rc; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/collectors/find_owned_by_cube.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/collectors/find_owned_by_cube.rs similarity index 97% rename from rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/collectors/find_owned_by_cube.rs rename to rust/cube/cubesqlplanner/cubesqlplanner/src/planner/collectors/find_owned_by_cube.rs index 87e81c85a56cd..5d4b05304aefe 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/collectors/find_owned_by_cube.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/collectors/find_owned_by_cube.rs @@ -1,4 +1,4 @@ -use crate::planner::sql_evaluator::MemberSymbol; +use crate::planner::MemberSymbol; use cubenativeutils::CubeError; use std::rc::Rc; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/collectors/has_cumulative_members.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/collectors/has_cumulative_members.rs similarity index 94% rename from rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/collectors/has_cumulative_members.rs rename to rust/cube/cubesqlplanner/cubesqlplanner/src/planner/collectors/has_cumulative_members.rs index 15059c729e572..32d8f9cc322db 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/collectors/has_cumulative_members.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/collectors/has_cumulative_members.rs @@ -1,4 +1,4 @@ -use crate::planner::sql_evaluator::{MemberSymbol, TraversalVisitor}; +use crate::planner::{MemberSymbol, TraversalVisitor}; use cubenativeutils::CubeError; use std::rc::Rc; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/collectors/has_multi_stage_members.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/collectors/has_multi_stage_members.rs similarity index 95% rename from rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/collectors/has_multi_stage_members.rs rename to rust/cube/cubesqlplanner/cubesqlplanner/src/planner/collectors/has_multi_stage_members.rs index 360555be0fd14..513be4048b50d 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/collectors/has_multi_stage_members.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/collectors/has_multi_stage_members.rs @@ -1,4 +1,4 @@ -use crate::planner::sql_evaluator::{MemberSymbol, TraversalVisitor}; +use crate::planner::{MemberSymbol, TraversalVisitor}; use cubenativeutils::CubeError; use std::rc::Rc; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/collectors/join_hints_collector.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/collectors/join_hints_collector.rs similarity index 98% rename from rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/collectors/join_hints_collector.rs rename to rust/cube/cubesqlplanner/cubesqlplanner/src/planner/collectors/join_hints_collector.rs index 51c428685e161..e93dc9a872af5 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/collectors/join_hints_collector.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/collectors/join_hints_collector.rs @@ -1,6 +1,6 @@ use crate::cube_bridge::join_hints::JoinHintItem; use crate::planner::join_hints::JoinHints; -use crate::planner::sql_evaluator::{CubeRef, MemberSymbol, TraversalVisitor}; +use crate::planner::{CubeRef, MemberSymbol, TraversalVisitor}; use cubenativeutils::CubeError; use itertools::Itertools; use std::rc::Rc; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/collectors/member_childs_collector.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/collectors/member_childs_collector.rs similarity index 96% rename from rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/collectors/member_childs_collector.rs rename to rust/cube/cubesqlplanner/cubesqlplanner/src/planner/collectors/member_childs_collector.rs index 529c3e9d9b921..e029e0df27e30 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/collectors/member_childs_collector.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/collectors/member_childs_collector.rs @@ -1,4 +1,4 @@ -use crate::planner::sql_evaluator::{MemberSymbol, TraversalVisitor}; +use crate::planner::{MemberSymbol, TraversalVisitor}; use cubenativeutils::CubeError; use itertools::Itertools; use std::rc::Rc; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/collectors/mod.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/collectors/mod.rs similarity index 100% rename from rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/collectors/mod.rs rename to rust/cube/cubesqlplanner/cubesqlplanner/src/planner/collectors/mod.rs diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/collectors/multiplied_measures_collector.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/collectors/multiplied_measures_collector.rs similarity index 98% rename from rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/collectors/multiplied_measures_collector.rs rename to rust/cube/cubesqlplanner/cubesqlplanner/src/planner/collectors/multiplied_measures_collector.rs index dcfc235564cf0..696b3ce5b55d5 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/collectors/multiplied_measures_collector.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/collectors/multiplied_measures_collector.rs @@ -1,5 +1,5 @@ use crate::cube_bridge::join_definition::JoinDefinition; -use crate::planner::sql_evaluator::{MemberSymbol, TraversalVisitor}; +use crate::planner::{MemberSymbol, TraversalVisitor}; use cubenativeutils::CubeError; use std::collections::HashSet; use std::rc::Rc; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/collectors/sub_query_dimensions.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/collectors/sub_query_dimensions.rs similarity index 97% rename from rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/collectors/sub_query_dimensions.rs rename to rust/cube/cubesqlplanner/cubesqlplanner/src/planner/collectors/sub_query_dimensions.rs index 436d948472cb5..08a50e212719a 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/collectors/sub_query_dimensions.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/collectors/sub_query_dimensions.rs @@ -1,6 +1,6 @@ use crate::cube_bridge::join_definition::JoinDefinition; use crate::planner::planners::JoinPlanner; -use crate::planner::sql_evaluator::{DimensionSymbol, MemberSymbol, TraversalVisitor}; +use crate::planner::{DimensionSymbol, MemberSymbol, TraversalVisitor}; use cubenativeutils::CubeError; use itertools::Itertools; use std::rc::Rc; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/compiler.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/compiler.rs similarity index 99% rename from rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/compiler.rs rename to rust/cube/cubesqlplanner/cubesqlplanner/src/planner/compiler.rs index 38ffd5dde9619..9d8ae3f9b4b36 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/compiler.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/compiler.rs @@ -11,7 +11,7 @@ use crate::cube_bridge::evaluator::CubeEvaluator; use crate::cube_bridge::join_hints::JoinHintItem; use crate::cube_bridge::member_sql::MemberSql; use crate::cube_bridge::security_context::SecurityContext; -use crate::planner::sql_evaluator::sql_call_builder::SqlCallBuilder; +use crate::planner::sql_call_builder::SqlCallBuilder; use crate::planner::sql_templates::PlanSqlTemplates; use chrono_tz::Tz; use cubenativeutils::CubeError; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/filter/base_filter.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/filter/base_filter.rs index af92b95b718ec..dbe2377747118 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/filter/base_filter.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/filter/base_filter.rs @@ -1,6 +1,6 @@ use super::filter_operator::FilterOperator; use super::typed_filter::{resolve_base_symbol, TypedFilter}; -use crate::planner::sql_evaluator::MemberSymbol; +use crate::planner::MemberSymbol; use cubenativeutils::CubeError; use itertools::Itertools; use std::rc::Rc; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/filter/base_segment.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/filter/base_segment.rs index 8a58dfa101508..ac2a889ad069d 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/filter/base_segment.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/filter/base_segment.rs @@ -1,4 +1,4 @@ -use crate::planner::sql_evaluator::{ +use crate::planner::{ CubeTableSymbol, MemberExpressionExpression, MemberExpressionSymbol, MemberSymbol, SqlCall, }; use cubenativeutils::CubeError; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/filter/compiler.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/filter/compiler.rs index 57d78a2072899..e897a3fab1f08 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/filter/compiler.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/filter/compiler.rs @@ -3,7 +3,7 @@ use super::FilterOperator; use crate::cube_bridge::base_query_options::FilterItem as NativeFilterItem; use crate::planner::filter::{FilterGroup, FilterGroupOperator, FilterItem}; use crate::planner::query_tools::QueryTools; -use crate::planner::sql_evaluator::{Compiler, MemberSymbol}; +use crate::planner::{Compiler, MemberSymbol}; use cubenativeutils::CubeError; use std::rc::Rc; use std::str::FromStr; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/filter/filter_debug.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/filter/filter_debug.rs index e20735bfc2565..4aee5e40afa98 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/filter/filter_debug.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/filter/filter_debug.rs @@ -1,5 +1,5 @@ use crate::planner::filter::{BaseFilter, Filter, FilterGroup, FilterGroupOperator, FilterItem}; -use crate::planner::sql_evaluator::DebugSql; +use crate::planner::DebugSql; impl DebugSql for BaseFilter { fn debug_sql(&self, expand_deps: bool) -> String { diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/filter/tree.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/filter/tree.rs index 1722078c9ba0a..ba5b64aa85830 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/filter/tree.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/filter/tree.rs @@ -1,5 +1,5 @@ use super::{BaseFilter, BaseSegment}; -use crate::planner::sql_evaluator::MemberSymbol; +use crate::planner::MemberSymbol; use std::fmt; use std::rc::Rc; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/filter/typed_filter.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/filter/typed_filter.rs index 3f17e008b2b0a..a015a6ad2fb6f 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/filter/typed_filter.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/filter/typed_filter.rs @@ -1,5 +1,5 @@ use crate::planner::query_tools::QueryTools; -use crate::planner::sql_evaluator::MemberSymbol; +use crate::planner::MemberSymbol; use cubenativeutils::CubeError; use std::rc::Rc; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/mod.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/mod.rs index 72747cbfe84c0..34904dc3403f0 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/mod.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/mod.rs @@ -1,29 +1,37 @@ pub mod base_cube; pub mod base_join_condition; pub mod base_query; +pub mod collectors; +pub mod compiler; pub mod filter; pub mod join_hints; pub mod multi_fact_join_groups; +pub mod sql_call; +mod sql_call_builder; +pub mod symbols; pub mod time_dimension; +pub mod visitor; pub mod params_allocator; pub mod planners; pub mod query_properties; pub mod query_tools; -pub mod sql_evaluator; pub mod sql_templates; pub mod top_level_planner; pub mod utils; pub mod visitor_context; +pub use crate::utils::debug::DebugSql; pub use base_cube::BaseCube; pub use base_join_condition::{BaseJoinCondition, SqlJoinCondition}; pub use base_query::BaseQuery; +pub use compiler::Compiler; pub use join_hints::JoinHints; pub use params_allocator::ParamsAllocator; pub use query_properties::{FullKeyAggregateMeasures, OrderByItem, QueryProperties}; +pub use sql_call::*; +pub use symbols::*; pub use time_dimension::*; pub use top_level_planner::TopLevelPlanner; -pub use visitor_context::{ - evaluate_sql_call_with_context, evaluate_with_context, FiltersContext, VisitorContext, -}; +pub use visitor::TraversalVisitor; +pub use visitor_context::FiltersContext; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/multi_fact_join_groups.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/multi_fact_join_groups.rs index 912a83b686102..8a669c4ce1e53 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/multi_fact_join_groups.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/multi_fact_join_groups.rs @@ -1,10 +1,10 @@ use crate::cube_bridge::join_definition::JoinDefinition; +use crate::planner::collectors::{collect_join_hints, has_multi_stage_members}; use crate::planner::filter::FilterItem; use crate::planner::join_hints::JoinHints; use crate::planner::query_tools::JoinKey; use crate::planner::query_tools::QueryTools; -use crate::planner::sql_evaluator::collectors::{collect_join_hints, has_multi_stage_members}; -use crate::planner::sql_evaluator::MemberSymbol; +use crate::planner::MemberSymbol; use cubenativeutils::CubeError; use itertools::Itertools; use std::collections::HashMap; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/planners/common_utils.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/planners/common_utils.rs index 3cb36feb14d48..9b48178bdba24 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/planners/common_utils.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/planners/common_utils.rs @@ -1,6 +1,6 @@ use crate::planner::query_tools::QueryTools; -use crate::planner::sql_evaluator::MemberSymbol; use crate::planner::BaseCube; +use crate::planner::MemberSymbol; use cubenativeutils::CubeError; use std::rc::Rc; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/planners/dimension_subquery_planner.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/planners/dimension_subquery_planner.rs index bd16dbf11589e..b123cd1146bea 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/planners/dimension_subquery_planner.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/planners/dimension_subquery_planner.rs @@ -1,14 +1,12 @@ use super::{CommonUtils, QueryPlanner}; use crate::logical_plan::{pretty_print_rc, DimensionSubQuery}; -use crate::plan::QualifiedColumnName; +use crate::physical_plan::QualifiedColumnName; +use crate::planner::collectors::collect_sub_query_dimensions; use crate::planner::filter::FilterItem; use crate::planner::join_hints::JoinHints; use crate::planner::query_tools::QueryTools; -use crate::planner::sql_evaluator::collectors::collect_sub_query_dimensions; -use crate::planner::sql_evaluator::{ - MemberExpressionExpression, MemberExpressionSymbol, MemberSymbol, -}; use crate::planner::QueryProperties; +use crate::planner::{MemberExpressionExpression, MemberExpressionSymbol, MemberSymbol}; use cubenativeutils::CubeError; use std::cell::{Ref, RefCell}; use std::collections::HashMap; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/planners/join_planner.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/planners/join_planner.rs index 552491b115a9a..7d7064bbca5a4 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/planners/join_planner.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/planners/join_planner.rs @@ -4,8 +4,8 @@ use crate::cube_bridge::join_item::JoinItem; use crate::logical_plan::*; use crate::planner::join_hints::JoinHints; use crate::planner::query_tools::QueryTools; -use crate::planner::sql_evaluator::MemberSymbol; -use crate::planner::sql_evaluator::SqlCall; +use crate::planner::MemberSymbol; +use crate::planner::SqlCall; use cubenativeutils::CubeError; use std::rc::Rc; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/planners/multi_stage/applied_state.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/planners/multi_stage/applied_state.rs index 6f75139851fbf..86d56d24330dc 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/planners/multi_stage/applied_state.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/planners/multi_stage/applied_state.rs @@ -1,8 +1,8 @@ +use crate::planner::collectors::has_multi_stage_members; use crate::planner::filter::FilterOperator; use crate::planner::filter::{FilterGroup, FilterItem}; use crate::planner::planners::multi_stage::time_shift_state::TimeShiftState; -use crate::planner::sql_evaluator::collectors::has_multi_stage_members; -use crate::planner::sql_evaluator::{DimensionTimeShift, MeasureTimeShifts, MemberSymbol}; +use crate::planner::{DimensionTimeShift, MeasureTimeShifts, MemberSymbol}; use cubenativeutils::CubeError; use itertools::Itertools; use std::cmp::PartialEq; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/planners/multi_stage/member.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/planners/multi_stage/member.rs index 7ec4872fb853c..082146a9a90c6 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/planners/multi_stage/member.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/planners/multi_stage/member.rs @@ -1,4 +1,4 @@ -use crate::planner::sql_evaluator::{MeasureTimeShifts, MemberSymbol}; +use crate::planner::{MeasureTimeShifts, MemberSymbol}; use std::rc::Rc; #[derive(Clone)] diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/planners/multi_stage/member_query_planner.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/planners/multi_stage/member_query_planner.rs index cf12037b6b9cc..1cb2d37ffb4d1 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/planners/multi_stage/member_query_planner.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/planners/multi_stage/member_query_planner.rs @@ -6,8 +6,8 @@ use crate::logical_plan::*; use crate::planner::join_hints::JoinHints; use crate::planner::planners::{multi_stage::RollingWindowType, QueryPlanner, SimpleQueryPlanner}; use crate::planner::query_tools::QueryTools; -use crate::planner::sql_evaluator::MemberSymbol; use crate::planner::GranularityHelper; +use crate::planner::MemberSymbol; use crate::planner::{OrderByItem, QueryProperties}; use cubenativeutils::CubeError; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/planners/multi_stage/multi_stage_query_planner.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/planners/multi_stage/multi_stage_query_planner.rs index 139be537921f2..ddd30e69680c3 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/planners/multi_stage/multi_stage_query_planner.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/planners/multi_stage/multi_stage_query_planner.rs @@ -5,20 +5,20 @@ use super::{ }; use crate::cube_bridge::measure_definition::RollingWindow; use crate::logical_plan::*; +use crate::planner::apply_static_filter_to_symbol; +use crate::planner::collectors::has_multi_stage_members; +use crate::planner::collectors::member_childs; use crate::planner::filter::base_filter::FilterType; use crate::planner::filter::BaseFilter; use crate::planner::filter::FilterItem; use crate::planner::filter::FilterOperator; use crate::planner::query_tools::QueryTools; -use crate::planner::sql_evaluator::apply_static_filter_to_symbol; -use crate::planner::sql_evaluator::collectors::has_multi_stage_members; -use crate::planner::sql_evaluator::collectors::member_childs; -use crate::planner::sql_evaluator::Case; -use crate::planner::sql_evaluator::CaseSwitchDefinition; -use crate::planner::sql_evaluator::CaseSwitchItem; -use crate::planner::sql_evaluator::MeasureKind; -use crate::planner::sql_evaluator::MemberSymbol; +use crate::planner::Case; +use crate::planner::CaseSwitchDefinition; +use crate::planner::CaseSwitchItem; use crate::planner::GranularityHelper; +use crate::planner::MeasureKind; +use crate::planner::MemberSymbol; use crate::planner::QueryProperties; use cubenativeutils::CubeError; use indexmap::IndexMap; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/planners/multi_stage/query_description.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/planners/multi_stage/query_description.rs index db7de4bc17284..311bf5b249269 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/planners/multi_stage/query_description.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/planners/multi_stage/query_description.rs @@ -1,6 +1,6 @@ use super::{MultiStageAppliedState, MultiStageMember}; use crate::logical_plan::LogicalSchema; -use crate::planner::sql_evaluator::MemberSymbol; +use crate::planner::MemberSymbol; use cubenativeutils::CubeError; use itertools::Itertools; use std::fmt::Debug; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/planners/multi_stage/time_shift_state.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/planners/multi_stage/time_shift_state.rs index 9183eb0b275ad..b555053c8f9e0 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/planners/multi_stage/time_shift_state.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/planners/multi_stage/time_shift_state.rs @@ -1,5 +1,5 @@ -use crate::planner::sql_evaluator::symbols::CalendarDimensionTimeShift; -use crate::planner::sql_evaluator::DimensionTimeShift; +use crate::planner::symbols::CalendarDimensionTimeShift; +use crate::planner::DimensionTimeShift; use cubenativeutils::CubeError; use std::collections::HashMap; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/planners/multiplied_measures_query_planner.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/planners/multiplied_measures_query_planner.rs index b2f27a6de9823..79429a52095df 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/planners/multiplied_measures_query_planner.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/planners/multiplied_measures_query_planner.rs @@ -1,13 +1,13 @@ use super::{CommonUtils, DimensionSubqueryPlanner, JoinPlanner}; use crate::cube_bridge::join_definition::JoinDefinition; use crate::logical_plan::*; -use crate::planner::planners::multi_stage::{CteState, TimeShiftState}; -use crate::planner::query_tools::QueryTools; -use crate::planner::sql_evaluator::collectors::{ +use crate::planner::collectors::{ collect_cube_names, collect_join_hints, collect_join_hints_for_measures, collect_sub_query_dimensions_from_members, collect_sub_query_dimensions_from_symbols, }; -use crate::planner::sql_evaluator::MemberSymbol; +use crate::planner::planners::multi_stage::{CteState, TimeShiftState}; +use crate::planner::query_tools::QueryTools; +use crate::planner::MemberSymbol; use crate::planner::{FullKeyAggregateMeasures, QueryProperties}; use cubenativeutils::CubeError; use itertools::Itertools; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/planners/order_planner.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/planners/order_planner.rs index af9b64029bc53..eac6cfc700249 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/planners/order_planner.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/planners/order_planner.rs @@ -1,5 +1,5 @@ -use crate::plan::{Expr, MemberExpression, OrderBy}; -use crate::planner::sql_evaluator::MemberSymbol; +use crate::physical_plan::{Expr, MemberExpression, OrderBy}; +use crate::planner::MemberSymbol; use crate::planner::{OrderByItem, QueryProperties}; use std::rc::Rc; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/planners/simple_query_planer.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/planners/simple_query_planer.rs index 6b1b7c73de78b..e844fab5bf0cf 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/planners/simple_query_planer.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/planners/simple_query_planer.rs @@ -1,7 +1,7 @@ use super::{DimensionSubqueryPlanner, JoinPlanner}; use crate::logical_plan::*; +use crate::planner::collectors::collect_sub_query_dimensions_from_symbols; use crate::planner::query_tools::QueryTools; -use crate::planner::sql_evaluator::collectors::collect_sub_query_dimensions_from_symbols; use crate::planner::QueryProperties; use cubenativeutils::CubeError; use std::rc::Rc; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/query_properties.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/query_properties.rs index 9df44a84a758e..783133c3de3f1 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/query_properties.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/query_properties.rs @@ -3,21 +3,19 @@ use super::filter::BaseSegment; use super::query_tools::QueryTools; use crate::cube_bridge::member_expression::MemberExpressionExpressionDef; use crate::planner::join_hints::JoinHints; -use crate::planner::sql_evaluator::{ +use crate::planner::GranularityHelper; +use crate::planner::{ apply_static_filter_to_filter_item, apply_static_filter_to_symbol, MemberExpressionExpression, MemberExpressionSymbol, TimeDimensionSymbol, }; -use crate::planner::GranularityHelper; -use super::sql_evaluator::MemberSymbol; +use super::MemberSymbol; use crate::cube_bridge::base_query_options::BaseQueryOptions; use crate::cube_bridge::join_definition::JoinDefinition; use crate::cube_bridge::options_member::OptionsMember; +use crate::planner::collectors::{collect_multiplied_measures, has_multi_stage_members}; use crate::planner::filter::{Filter, FilterItem}; use crate::planner::multi_fact_join_groups::{MeasuresJoinHints, MultiFactJoinGroups}; -use crate::planner::sql_evaluator::collectors::{ - collect_multiplied_measures, has_multi_stage_members, -}; use cubenativeutils::CubeError; use itertools::Itertools; use std::collections::HashSet; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/query_tools.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/query_tools.rs index 842b282e47db5..cb8190f37ea8a 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/query_tools.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/query_tools.rs @@ -1,4 +1,4 @@ -use super::sql_evaluator::Compiler; +use super::Compiler; use super::ParamsAllocator; use crate::cube_bridge::base_query_options::MaskedMemberItem; use crate::cube_bridge::base_tools::BaseTools; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/sql_call.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_call.rs similarity index 97% rename from rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/sql_call.rs rename to rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_call.rs index 7377f0adcba5e..85063a0740733 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/sql_call.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_call.rs @@ -1,11 +1,10 @@ -use super::sql_nodes::SqlNode; -use super::{symbols::MemberSymbol, SqlEvaluatorVisitor}; +use super::symbols::MemberSymbol; use crate::cube_bridge::member_sql::{FilterParamsColumn, SecutityContextProps, SqlTemplate}; +use crate::physical_plan::sql_nodes::{SqlNode, SqlNodesFactory}; +use crate::physical_plan::{SqlEvaluatorVisitor, VisitorContext}; use crate::planner::query_tools::QueryTools; -use crate::planner::sql_evaluator::sql_nodes::SqlNodesFactory; -use crate::planner::sql_evaluator::{CubeNameSymbol, CubeTableSymbol}; use crate::planner::sql_templates::PlanSqlTemplates; -use crate::planner::VisitorContext; +use crate::planner::{CubeNameSymbol, CubeTableSymbol}; use crate::utils::sql_expression_scanner::analyze_template_arg_contexts; use cubenativeutils::CubeError; use itertools::Itertools; @@ -399,7 +398,9 @@ impl SqlCall { &SqlNodesFactory::new(), filter_params_columns, ); - return crate::plan::filter::render_filter_item(&context, &subtree, templates); + return crate::physical_plan::filter::render_filter_item( + &context, &subtree, templates, + ); } } } diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/sql_call_builder.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_call_builder.rs similarity index 100% rename from rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/sql_call_builder.rs rename to rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_call_builder.rs diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/mod.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/mod.rs deleted file mode 100644 index 4ed960282c467..0000000000000 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/mod.rs +++ /dev/null @@ -1,19 +0,0 @@ -pub mod collectors; -pub mod compiler; -pub mod cube_ref_evaluator; -pub mod references_builder; -pub mod sql_call; -mod sql_call_builder; -pub mod sql_nodes; -pub mod sql_visitor; -pub mod symbols; -pub mod visitor; - -pub use crate::utils::debug::DebugSql; -pub use compiler::Compiler; -pub use cube_ref_evaluator::CubeRefEvaluator; -pub use references_builder::ReferencesBuilder; -pub use sql_call::*; -pub use sql_visitor::SqlEvaluatorVisitor; -pub use symbols::*; -pub use visitor::TraversalVisitor; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_templates/plan.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_templates/plan.rs index ad3ea942ba695..1916c211d5505 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_templates/plan.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_templates/plan.rs @@ -1,7 +1,7 @@ use super::{TemplateGroupByColumn, TemplateOrderByColumn, TemplateProjectionColumn}; use crate::cube_bridge::driver_tools::DriverTools; use crate::cube_bridge::sql_templates_render::SqlTemplatesRender; -use crate::plan::join::JoinType; +use crate::physical_plan::join::JoinType; use crate::planner::sql_templates::structs::TemplateCalcGroup; use convert_case::{Boundary, Case, Casing}; use cubenativeutils::CubeError; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/symbols/common/aggregation_type.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/symbols/common/aggregation_type.rs similarity index 100% rename from rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/symbols/common/aggregation_type.rs rename to rust/cube/cubesqlplanner/cubesqlplanner/src/planner/symbols/common/aggregation_type.rs diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/symbols/common/case.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/symbols/common/case.rs similarity index 99% rename from rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/symbols/common/case.rs rename to rust/cube/cubesqlplanner/cubesqlplanner/src/planner/symbols/common/case.rs index 147e4cefcec06..83a75ec9dac1d 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/symbols/common/case.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/symbols/common/case.rs @@ -4,7 +4,7 @@ use crate::{ case_switch_definition::CaseSwitchDefinition as NativeCaseSwitchDefinition, case_variant::CaseVariant, string_or_sql::StringOrSql, }, - planner::sql_evaluator::{find_value_restriction, Compiler, CubeRef, MemberSymbol, SqlCall}, + planner::{find_value_restriction, Compiler, CubeRef, MemberSymbol, SqlCall}, }; use cubenativeutils::CubeError; use itertools::Itertools; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/symbols/common/compiled_member_path.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/symbols/common/compiled_member_path.rs similarity index 95% rename from rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/symbols/common/compiled_member_path.rs rename to rust/cube/cubesqlplanner/cubesqlplanner/src/planner/symbols/common/compiled_member_path.rs index e8c9c8fa7dbc3..066a4eb49d5d5 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/symbols/common/compiled_member_path.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/symbols/common/compiled_member_path.rs @@ -1,4 +1,4 @@ -use crate::planner::sql_evaluator::{CubeNameSymbol, CubeTableSymbol}; +use crate::planner::{CubeNameSymbol, CubeTableSymbol}; use std::rc::Rc; #[derive(Clone, Debug)] diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/symbols/common/dimension_type.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/symbols/common/dimension_type.rs similarity index 100% rename from rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/symbols/common/dimension_type.rs rename to rust/cube/cubesqlplanner/cubesqlplanner/src/planner/symbols/common/dimension_type.rs diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/symbols/common/mod.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/symbols/common/mod.rs similarity index 100% rename from rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/symbols/common/mod.rs rename to rust/cube/cubesqlplanner/cubesqlplanner/src/planner/symbols/common/mod.rs diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/symbols/common/static_filter.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/symbols/common/static_filter.rs similarity index 98% rename from rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/symbols/common/static_filter.rs rename to rust/cube/cubesqlplanner/cubesqlplanner/src/planner/symbols/common/static_filter.rs index e8b7a95e8fca7..26bb739f80c42 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/symbols/common/static_filter.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/symbols/common/static_filter.rs @@ -1,7 +1,7 @@ use cubenativeutils::CubeError; use crate::planner::filter::{Filter, FilterGroup, FilterGroupOperator, FilterItem}; -use crate::planner::sql_evaluator::MemberSymbol; +use crate::planner::MemberSymbol; use std::rc::Rc; pub fn find_value_restriction( diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/symbols/common/symbol_path.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/symbols/common/symbol_path.rs similarity index 100% rename from rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/symbols/common/symbol_path.rs rename to rust/cube/cubesqlplanner/cubesqlplanner/src/planner/symbols/common/symbol_path.rs diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/symbols/cube_symbol.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/symbols/cube_symbol.rs similarity index 97% rename from rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/symbols/cube_symbol.rs rename to rust/cube/cubesqlplanner/cubesqlplanner/src/planner/symbols/cube_symbol.rs index e1d48fc34821e..33cb7c129c236 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/symbols/cube_symbol.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/symbols/cube_symbol.rs @@ -1,9 +1,11 @@ use crate::cube_bridge::cube_definition::CubeDefinition; use crate::cube_bridge::evaluator::CubeEvaluator; use crate::cube_bridge::member_sql::MemberSql; +use crate::physical_plan::sql_nodes::SqlNode; +use crate::physical_plan::SqlEvaluatorVisitor; use crate::planner::query_tools::QueryTools; -use crate::planner::sql_evaluator::{sql_nodes::SqlNode, Compiler, SqlCall, SqlEvaluatorVisitor}; use crate::planner::sql_templates::PlanSqlTemplates; +use crate::planner::{Compiler, SqlCall}; use cubenativeutils::CubeError; use lazy_static::lazy_static; use regex::Regex; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/symbols/dimension_kinds/case_dimension.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/symbols/dimension_kinds/case_dimension.rs similarity index 97% rename from rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/symbols/dimension_kinds/case_dimension.rs rename to rust/cube/cubesqlplanner/cubesqlplanner/src/planner/symbols/dimension_kinds/case_dimension.rs index 01de4e0f1f1df..9be1340ff60bc 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/symbols/dimension_kinds/case_dimension.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/symbols/dimension_kinds/case_dimension.rs @@ -1,6 +1,6 @@ use super::super::common::{Case, DimensionType}; use super::super::MemberSymbol; -use crate::planner::sql_evaluator::{CubeRef, SqlCall}; +use crate::planner::{CubeRef, SqlCall}; use cubenativeutils::CubeError; use std::rc::Rc; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/symbols/dimension_kinds/geo.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/symbols/dimension_kinds/geo.rs similarity index 96% rename from rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/symbols/dimension_kinds/geo.rs rename to rust/cube/cubesqlplanner/cubesqlplanner/src/planner/symbols/dimension_kinds/geo.rs index c5ebd21e700a8..2b1ddad336b68 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/symbols/dimension_kinds/geo.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/symbols/dimension_kinds/geo.rs @@ -1,5 +1,5 @@ use super::super::MemberSymbol; -use crate::planner::sql_evaluator::{CubeRef, SqlCall}; +use crate::planner::{CubeRef, SqlCall}; use cubenativeutils::CubeError; use std::rc::Rc; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/symbols/dimension_kinds/mod.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/symbols/dimension_kinds/mod.rs similarity index 98% rename from rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/symbols/dimension_kinds/mod.rs rename to rust/cube/cubesqlplanner/cubesqlplanner/src/planner/symbols/dimension_kinds/mod.rs index e6a8f142c1b76..0cab09d97aa03 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/symbols/dimension_kinds/mod.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/symbols/dimension_kinds/mod.rs @@ -10,7 +10,7 @@ pub use switch::*; use super::common::DimensionType; use super::MemberSymbol; -use crate::planner::sql_evaluator::{CubeRef, SqlCall}; +use crate::planner::{CubeRef, SqlCall}; use cubenativeutils::CubeError; use std::rc::Rc; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/symbols/dimension_kinds/regular.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/symbols/dimension_kinds/regular.rs similarity index 96% rename from rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/symbols/dimension_kinds/regular.rs rename to rust/cube/cubesqlplanner/cubesqlplanner/src/planner/symbols/dimension_kinds/regular.rs index 42091cf6d7061..a1fcf9d056e95 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/symbols/dimension_kinds/regular.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/symbols/dimension_kinds/regular.rs @@ -1,6 +1,6 @@ use super::super::common::DimensionType; use super::super::MemberSymbol; -use crate::planner::sql_evaluator::{CubeRef, SqlCall}; +use crate::planner::{CubeRef, SqlCall}; use cubenativeutils::CubeError; use std::rc::Rc; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/symbols/dimension_kinds/switch.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/symbols/dimension_kinds/switch.rs similarity index 96% rename from rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/symbols/dimension_kinds/switch.rs rename to rust/cube/cubesqlplanner/cubesqlplanner/src/planner/symbols/dimension_kinds/switch.rs index 5c61ba487b6fb..6560365ce6877 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/symbols/dimension_kinds/switch.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/symbols/dimension_kinds/switch.rs @@ -1,5 +1,5 @@ use super::super::MemberSymbol; -use crate::planner::sql_evaluator::{CubeRef, SqlCall}; +use crate::planner::{CubeRef, SqlCall}; use cubenativeutils::CubeError; use std::rc::Rc; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/symbols/dimension_symbol.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/symbols/dimension_symbol.rs similarity index 99% rename from rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/symbols/dimension_symbol.rs rename to rust/cube/cubesqlplanner/cubesqlplanner/src/planner/symbols/dimension_symbol.rs index 955596ee22686..f715a086ce876 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/symbols/dimension_symbol.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/symbols/dimension_symbol.rs @@ -8,11 +8,11 @@ use super::{DimensionType, MemberSymbol, SymbolFactory}; use crate::cube_bridge::dimension_definition::DimensionDefinition; use crate::cube_bridge::evaluator::CubeEvaluator; use crate::cube_bridge::member_sql::MemberSql; -use crate::planner::sql_evaluator::TimeDimensionSymbol; -use crate::planner::sql_evaluator::{Compiler, CubeRef, SqlCall}; use crate::planner::sql_templates::PlanSqlTemplates; use crate::planner::GranularityHelper; use crate::planner::SqlInterval; +use crate::planner::TimeDimensionSymbol; +use crate::planner::{Compiler, CubeRef, SqlCall}; use cubenativeutils::CubeError; use std::rc::Rc; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/symbols/measure_kinds/aggregated.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/symbols/measure_kinds/aggregated.rs similarity index 97% rename from rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/symbols/measure_kinds/aggregated.rs rename to rust/cube/cubesqlplanner/cubesqlplanner/src/planner/symbols/measure_kinds/aggregated.rs index 1ebaaf5282c67..d2cda76e7a09e 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/symbols/measure_kinds/aggregated.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/symbols/measure_kinds/aggregated.rs @@ -1,6 +1,6 @@ use super::super::super::MemberSymbol; use super::super::common::AggregationType; -use crate::planner::sql_evaluator::{CubeRef, SqlCall}; +use crate::planner::{CubeRef, SqlCall}; use cubenativeutils::CubeError; use std::rc::Rc; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/symbols/measure_kinds/calculated.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/symbols/measure_kinds/calculated.rs similarity index 97% rename from rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/symbols/measure_kinds/calculated.rs rename to rust/cube/cubesqlplanner/cubesqlplanner/src/planner/symbols/measure_kinds/calculated.rs index 71ef664ec19c4..bf7d74ef95c22 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/symbols/measure_kinds/calculated.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/symbols/measure_kinds/calculated.rs @@ -1,5 +1,5 @@ use super::super::super::MemberSymbol; -use crate::planner::sql_evaluator::{CubeRef, SqlCall}; +use crate::planner::{CubeRef, SqlCall}; use cubenativeutils::CubeError; use std::rc::Rc; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/symbols/measure_kinds/count.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/symbols/measure_kinds/count.rs similarity index 97% rename from rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/symbols/measure_kinds/count.rs rename to rust/cube/cubesqlplanner/cubesqlplanner/src/planner/symbols/measure_kinds/count.rs index 673315d0207b2..83ad06e447717 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/symbols/measure_kinds/count.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/symbols/measure_kinds/count.rs @@ -1,5 +1,5 @@ use super::super::MemberSymbol; -use crate::planner::sql_evaluator::{CubeRef, SqlCall}; +use crate::planner::{CubeRef, SqlCall}; use cubenativeutils::CubeError; use std::rc::Rc; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/symbols/measure_kinds/mod.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/symbols/measure_kinds/mod.rs similarity index 99% rename from rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/symbols/measure_kinds/mod.rs rename to rust/cube/cubesqlplanner/cubesqlplanner/src/planner/symbols/measure_kinds/mod.rs index 9ec7c1c2026f3..17be5c1f2e305 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/symbols/measure_kinds/mod.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/symbols/measure_kinds/mod.rs @@ -8,7 +8,7 @@ pub use count::*; use super::common::AggregationType; use super::MemberSymbol; -use crate::planner::sql_evaluator::{CubeRef, SqlCall}; +use crate::planner::{CubeRef, SqlCall}; use cubenativeutils::CubeError; use std::rc::Rc; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/symbols/measure_symbol.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/symbols/measure_symbol.rs similarity index 99% rename from rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/symbols/measure_symbol.rs rename to rust/cube/cubesqlplanner/cubesqlplanner/src/planner/symbols/measure_symbol.rs index 5bd4d45d7951e..20bb039c75f69 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/symbols/measure_symbol.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/symbols/measure_symbol.rs @@ -5,10 +5,10 @@ use super::{MemberSymbol, SymbolFactory}; use crate::cube_bridge::evaluator::CubeEvaluator; use crate::cube_bridge::measure_definition::{MeasureDefinition, RollingWindow}; use crate::cube_bridge::member_sql::MemberSql; -use crate::planner::sql_evaluator::collectors::find_owned_by_cube_child; -use crate::planner::sql_evaluator::{Compiler, CubeRef, SqlCall}; +use crate::planner::collectors::find_owned_by_cube_child; use crate::planner::sql_templates::PlanSqlTemplates; use crate::planner::SqlInterval; +use crate::planner::{Compiler, CubeRef, SqlCall}; use cubenativeutils::CubeError; use itertools::Itertools; use std::cmp::{Eq, PartialEq}; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/symbols/member_expression_symbol.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/symbols/member_expression_symbol.rs similarity index 97% rename from rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/symbols/member_expression_symbol.rs rename to rust/cube/cubesqlplanner/cubesqlplanner/src/planner/symbols/member_expression_symbol.rs index 1045e27773341..18f93065e243f 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/symbols/member_expression_symbol.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/symbols/member_expression_symbol.rs @@ -1,8 +1,8 @@ use super::common::CompiledMemberPath; use super::MemberSymbol; -use crate::planner::sql_evaluator::collectors::member_childs; -use crate::planner::sql_evaluator::{CubeRef, CubeTableSymbol, SqlCall}; +use crate::planner::collectors::member_childs; use crate::planner::sql_templates::PlanSqlTemplates; +use crate::planner::{CubeRef, CubeTableSymbol, SqlCall}; use crate::utils::debug::DebugSql; use cubenativeutils::CubeError; use itertools::Itertools; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/symbols/member_symbol.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/symbols/member_symbol.rs similarity index 98% rename from rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/symbols/member_symbol.rs rename to rust/cube/cubesqlplanner/cubesqlplanner/src/planner/symbols/member_symbol.rs index 7169c39495428..0fe37af8902d1 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/symbols/member_symbol.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/symbols/member_symbol.rs @@ -1,8 +1,8 @@ use cubenativeutils::CubeError; use itertools::Itertools; -use crate::planner::sql_evaluator::collectors::has_multi_stage_members; -use crate::planner::sql_evaluator::{Case, CubeRef, SqlCall}; +use crate::planner::collectors::has_multi_stage_members; +use crate::planner::{Case, CubeRef, SqlCall}; use super::common::CompiledMemberPath; use super::{DimensionSymbol, MeasureSymbol, MemberExpressionSymbol, TimeDimensionSymbol}; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/symbols/mod.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/symbols/mod.rs similarity index 100% rename from rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/symbols/mod.rs rename to rust/cube/cubesqlplanner/cubesqlplanner/src/planner/symbols/mod.rs diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/symbols/symbol_factory.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/symbols/symbol_factory.rs similarity index 81% rename from rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/symbols/symbol_factory.rs rename to rust/cube/cubesqlplanner/cubesqlplanner/src/planner/symbols/symbol_factory.rs index bd3f15e6443d0..b9cee3860e6c4 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/symbols/symbol_factory.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/symbols/symbol_factory.rs @@ -1,5 +1,5 @@ use super::MemberSymbol; -use crate::planner::sql_evaluator::Compiler; +use crate::planner::Compiler; use cubenativeutils::CubeError; use std::rc::Rc; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/symbols/time_dimension_symbol.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/symbols/time_dimension_symbol.rs similarity index 99% rename from rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/symbols/time_dimension_symbol.rs rename to rust/cube/cubesqlplanner/cubesqlplanner/src/planner/symbols/time_dimension_symbol.rs index 35003830ae56d..de83d5875ad9c 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/symbols/time_dimension_symbol.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/symbols/time_dimension_symbol.rs @@ -1,8 +1,8 @@ use super::common::CompiledMemberPath; use super::MemberSymbol; use crate::planner::query_tools::QueryTools; -use crate::planner::sql_evaluator::CubeRef; use crate::planner::time_dimension::Granularity; +use crate::planner::CubeRef; use crate::planner::{GranularityHelper, QueryDateTime, QueryDateTimeHelper}; use chrono::Duration; use chrono_tz::Tz; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/time_dimension/granularity.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/time_dimension/granularity.rs index c03f3a3feb0c7..046a69d1b9238 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/time_dimension/granularity.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/time_dimension/granularity.rs @@ -1,6 +1,6 @@ use super::{GranularityHelper, QueryDateTime, SqlInterval}; -use crate::planner::sql_evaluator::{MemberSymbol, SqlCall}; use crate::planner::sql_templates::PlanSqlTemplates; +use crate::planner::{MemberSymbol, SqlCall}; use chrono_tz::Tz; use cubenativeutils::CubeError; use std::rc::Rc; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/time_dimension/granularity_helper.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/time_dimension/granularity_helper.rs index a3ecc4c37efae..87b4ea44147cf 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/time_dimension/granularity_helper.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/time_dimension/granularity_helper.rs @@ -1,6 +1,6 @@ use crate::cube_bridge::evaluator::CubeEvaluator; -use crate::planner::sql_evaluator::Compiler; -use crate::planner::sql_evaluator::TimeDimensionSymbol; +use crate::planner::Compiler; +use crate::planner::TimeDimensionSymbol; use crate::planner::{Granularity, QueryDateTimeHelper}; use chrono::prelude::*; use chrono_tz::Tz; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/visitor.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/visitor.rs similarity index 100% rename from rust/cube/cubesqlplanner/cubesqlplanner/src/planner/sql_evaluator/visitor.rs rename to rust/cube/cubesqlplanner/cubesqlplanner/src/planner/visitor.rs diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/visitor_context.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/visitor_context.rs index 5c5c84773047e..ea75eb0b2e355 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/visitor_context.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/planner/visitor_context.rs @@ -1,103 +1,8 @@ -use super::query_tools::QueryTools; -use super::sql_evaluator::sql_nodes::{SqlNode, SqlNodesFactory}; -use super::sql_evaluator::{CubeRefEvaluator, MemberSymbol, SqlCall}; use crate::cube_bridge::member_sql::FilterParamsColumn; -use crate::planner::filter::Filter; -use crate::planner::sql_evaluator::SqlEvaluatorVisitor; -use crate::planner::sql_templates::PlanSqlTemplates; -use cubenativeutils::CubeError; use std::collections::HashMap; -use std::rc::Rc; #[derive(Default)] pub struct FiltersContext { pub use_local_tz: bool, pub filter_params_columns: HashMap, } - -pub struct VisitorContext { - query_tools: Rc, - node_processor: Rc, - cube_ref_evaluator: Rc, - all_filters: Option, //To pass to FILTER_PARAMS and FILTER_GROUP - filters_context: FiltersContext, -} - -impl VisitorContext { - pub fn new( - query_tools: Rc, - nodes_factory: &SqlNodesFactory, - all_filters: Option, - ) -> Self { - let filters_context = FiltersContext { - use_local_tz: nodes_factory.use_local_tz_in_date_range(), - filter_params_columns: HashMap::new(), - }; - Self { - query_tools, - node_processor: nodes_factory.default_node_processor(), - cube_ref_evaluator: Rc::new(nodes_factory.cube_ref_evaluator()), - all_filters, - filters_context, - } - } - - pub fn new_for_filter_params( - query_tools: Rc, - nodes_factory: &SqlNodesFactory, - filter_params_columns: HashMap, - ) -> Self { - let filters_context = FiltersContext { - use_local_tz: nodes_factory.use_local_tz_in_date_range(), - filter_params_columns, - }; - Self { - query_tools, - node_processor: nodes_factory.default_node_processor(), - cube_ref_evaluator: Rc::new(nodes_factory.cube_ref_evaluator()), - all_filters: None, - filters_context, - } - } - - pub fn make_visitor(&self, query_tools: Rc) -> SqlEvaluatorVisitor { - SqlEvaluatorVisitor::new( - query_tools, - self.cube_ref_evaluator.clone(), - self.all_filters.clone(), - ) - } - - pub fn node_processor(&self) -> Rc { - self.node_processor.clone() - } - - pub fn filters_context(&self) -> &FiltersContext { - &self.filters_context - } - - pub fn query_tools(&self) -> Rc { - self.query_tools.clone() - } -} - -pub fn evaluate_with_context( - node: &Rc, - context: Rc, - templates: &PlanSqlTemplates, -) -> Result { - let visitor = context.make_visitor(context.query_tools()); - let node_processor = context.node_processor(); - - visitor.apply(node, node_processor, templates) -} - -pub fn evaluate_sql_call_with_context( - sql_call: &Rc, - context: Rc, - templates: &PlanSqlTemplates, -) -> Result { - let visitor = context.make_visitor(context.query_tools()); - let node_processor = context.node_processor(); - sql_call.eval(&visitor, node_processor, context.query_tools(), templates) -} diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/test_fixtures/schemas/mod.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/test_fixtures/schemas/mod.rs index e75103544ba2a..d0405d1cc5a05 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/test_fixtures/schemas/mod.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/test_fixtures/schemas/mod.rs @@ -1,4 +1,4 @@ -use crate::planner::sql_evaluator::Compiler; +use crate::planner::Compiler; use crate::test_fixtures::cube_bridge::{MockBaseTools, MockCubeEvaluator, MockSecurityContext}; use chrono_tz::Tz; use std::rc::Rc; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/test_fixtures/test_utils/test_context.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/test_fixtures/test_utils/test_context.rs index f28c178c8bbf9..ec8f0a1fbb69d 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/test_fixtures/test_utils/test_context.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/test_fixtures/test_utils/test_context.rs @@ -3,15 +3,16 @@ use crate::cube_bridge::join_hints::JoinHintItem; use crate::logical_plan::PreAggregationUsage; #[cfg(feature = "integration-postgres")] use crate::logical_plan::{PreAggregation, PreAggregationSource, PreAggregationTable}; -use crate::plan::filter::ToSql; +use crate::physical_plan::filter::ToSql; +use crate::physical_plan::sql_nodes::SqlNodesFactory; +use crate::physical_plan::{SqlEvaluatorVisitor, VisitorContext}; use crate::planner::filter::base_segment::BaseSegment; use crate::planner::filter::Filter; use crate::planner::query_tools::QueryTools; -use crate::planner::sql_evaluator::sql_nodes::SqlNodesFactory; -use crate::planner::sql_evaluator::{MemberSymbol, SqlEvaluatorVisitor, TimeDimensionSymbol}; use crate::planner::sql_templates::PlanSqlTemplates; use crate::planner::top_level_planner::TopLevelPlanner; -use crate::planner::{GranularityHelper, QueryProperties, VisitorContext}; +use crate::planner::{GranularityHelper, QueryProperties}; +use crate::planner::{MemberSymbol, TimeDimensionSymbol}; use crate::test_fixtures::cube_bridge::yaml::YamlBaseQueryOptions; use crate::test_fixtures::cube_bridge::{ members_from_strings, MockBaseQueryOptions, MockBaseTools, MockSchema, MockSecurityContext, @@ -650,7 +651,7 @@ impl TestContext { let driver_tools = base_tools.driver_tools(false)?; let templates = PlanSqlTemplates::try_new(driver_tools, false)?; - let sql = crate::plan::filter::render_filter(&context, &filter, &templates)?; + let sql = crate::physical_plan::filter::render_filter(&context, &filter, &templates)?; let params = self.query_tools.get_allocated_params(); Ok((sql, params)) } diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/tests/compiled_member_path.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/tests/compiled_member_path.rs index da35648d6d4b6..d16ae931f1477 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/tests/compiled_member_path.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/tests/compiled_member_path.rs @@ -1,4 +1,4 @@ -use crate::planner::sql_evaluator::MemberSymbol; +use crate::planner::MemberSymbol; use crate::test_fixtures::cube_bridge::MockSchema; use crate::test_fixtures::test_utils::TestContext; use std::rc::Rc; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/tests/cube_evaluator/compilation.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/tests/cube_evaluator/compilation.rs index 0ec8136aacb25..e5be1b600e57b 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/tests/cube_evaluator/compilation.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/tests/cube_evaluator/compilation.rs @@ -1,8 +1,8 @@ //! Tests for Compiler member evaluation -use crate::planner::sql_evaluator::symbols::dimension_kinds::DimensionKind; -use crate::planner::sql_evaluator::symbols::DimensionType; -use crate::planner::sql_evaluator::{AggregationType, CalculatedMeasureType, MeasureKind}; +use crate::planner::symbols::dimension_kinds::DimensionKind; +use crate::planner::symbols::DimensionType; +use crate::planner::{AggregationType, CalculatedMeasureType, MeasureKind}; use crate::test_fixtures::cube_bridge::MockSchema; use crate::test_fixtures::schemas::TestCompiler; use crate::test_fixtures::test_utils::TestContext; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/tests/cube_names_collector.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/tests/cube_names_collector.rs index e6d1e192ed74a..20e3a9d820c45 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/tests/cube_names_collector.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/tests/cube_names_collector.rs @@ -1,4 +1,4 @@ -use crate::planner::sql_evaluator::collectors::collect_cube_names; +use crate::planner::collectors::collect_cube_names; use crate::test_fixtures::cube_bridge::MockSchema; use crate::test_fixtures::test_utils::TestContext; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/tests/dimension_symbol.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/tests/dimension_symbol.rs index 2c798d4ce16bf..bd90ba8be6f19 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/tests/dimension_symbol.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/tests/dimension_symbol.rs @@ -1,7 +1,7 @@ //! Tests for DimensionSymbol: kind classification and helper methods -use crate::planner::sql_evaluator::symbols::dimension_kinds::DimensionKind; -use crate::planner::sql_evaluator::symbols::DimensionType; +use crate::planner::symbols::dimension_kinds::DimensionKind; +use crate::planner::symbols::DimensionType; use crate::test_fixtures::cube_bridge::MockSchema; use crate::test_fixtures::test_utils::TestContext; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/tests/join_hints_collector.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/tests/join_hints_collector.rs index 2927bc6149c4e..f210e2634ed40 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/tests/join_hints_collector.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/tests/join_hints_collector.rs @@ -1,7 +1,5 @@ use crate::cube_bridge::join_hints::JoinHintItem; -use crate::planner::sql_evaluator::collectors::{ - collect_join_hints, collect_join_hints_for_measures, -}; +use crate::planner::collectors::{collect_join_hints, collect_join_hints_for_measures}; use crate::test_fixtures::cube_bridge::MockSchema; use crate::test_fixtures::test_utils::TestContext; use indoc::indoc; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/tests/measure_symbol.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/tests/measure_symbol.rs index 3065bfbb60ddd..bd3cc8d67ac29 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/tests/measure_symbol.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/tests/measure_symbol.rs @@ -1,6 +1,6 @@ //! Tests for MeasureSymbol: kind classification, new_patched, and helper methods -use crate::planner::sql_evaluator::{AggregationType, CalculatedMeasureType, MeasureKind, SqlCall}; +use crate::planner::{AggregationType, CalculatedMeasureType, MeasureKind, SqlCall}; use crate::test_fixtures::cube_bridge::MockSchema; use crate::test_fixtures::test_utils::TestContext; use std::rc::Rc; diff --git a/rust/cube/cubesqlplanner/cubesqlplanner/src/tests/utils/debug.rs b/rust/cube/cubesqlplanner/cubesqlplanner/src/tests/utils/debug.rs index bb9bc1abf52d7..0d17d2eb25fd5 100644 --- a/rust/cube/cubesqlplanner/cubesqlplanner/src/tests/utils/debug.rs +++ b/rust/cube/cubesqlplanner/cubesqlplanner/src/tests/utils/debug.rs @@ -1,7 +1,7 @@ use crate::planner::filter::{ BaseFilter, FilterGroup, FilterGroupOperator, FilterItem, FilterOperator, }; -use crate::planner::sql_evaluator::DebugSql; +use crate::planner::DebugSql; use crate::test_fixtures::cube_bridge::MockSchema; use crate::test_fixtures::test_utils::TestContext;