Skip to content

Commit 07971b9

Browse files
committed
Use CubeRewrite type alias
1 parent 279ca5b commit 07971b9

File tree

4 files changed

+19
-35
lines changed

4 files changed

+19
-35
lines changed

rust/cubesql/cubesql/src/compile/rewrite/mod.rs

Lines changed: 10 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ use self::analysis::{LogicalPlanData, MemberNameToExpr};
99
use crate::{
1010
compile::rewrite::{
1111
analysis::{LogicalPlanAnalysis, OriginalExpr},
12-
rewriter::CubeEGraph,
12+
rewriter::{CubeEGraph, CubeRewrite},
1313
},
1414
CubeError,
1515
};
@@ -37,7 +37,6 @@ use std::{
3737
str::FromStr,
3838
sync::Arc,
3939
};
40-
4140
// trace_macros!(true);
4241

4342
#[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Hash)]
@@ -658,11 +657,7 @@ fn expr_column_name(expr: &Expr, cube: &Option<String>) -> String {
658657
}
659658
}
660659

661-
pub fn rewrite(
662-
name: &str,
663-
searcher: String,
664-
applier: String,
665-
) -> Rewrite<LogicalPlanLanguage, LogicalPlanAnalysis> {
660+
pub fn rewrite(name: &str, searcher: String, applier: String) -> CubeRewrite {
666661
Rewrite::new(
667662
name.to_string(),
668663
searcher.parse::<Pattern<LogicalPlanLanguage>>().unwrap(),
@@ -676,7 +671,7 @@ pub fn transforming_rewrite<T>(
676671
searcher: String,
677672
applier: String,
678673
transform_fn: T,
679-
) -> Rewrite<LogicalPlanLanguage, LogicalPlanAnalysis>
674+
) -> CubeRewrite
680675
where
681676
T: Fn(&mut CubeEGraph, &mut Subst) -> bool + Sync + Send + 'static,
682677
{
@@ -695,7 +690,7 @@ pub fn transforming_rewrite_with_root<T>(
695690
searcher: String,
696691
applier: String,
697692
transform_fn: T,
698-
) -> Rewrite<LogicalPlanLanguage, LogicalPlanAnalysis>
693+
) -> CubeRewrite
699694
where
700695
T: Fn(&mut CubeEGraph, Id, &mut Subst) -> bool + Sync + Send + 'static,
701696
{
@@ -713,7 +708,7 @@ pub fn transforming_chain_rewrite<T>(
713708
chain: Vec<(&str, String)>,
714709
applier: String,
715710
transform_fn: T,
716-
) -> Rewrite<LogicalPlanLanguage, LogicalPlanAnalysis>
711+
) -> CubeRewrite
717712
where
718713
T: Fn(&mut CubeEGraph, &mut Subst) -> bool + Sync + Send + 'static,
719714
{
@@ -739,7 +734,7 @@ pub fn transforming_chain_rewrite_with_root<T>(
739734
chain: Vec<(&str, String)>,
740735
applier: String,
741736
transform_fn: T,
742-
) -> Rewrite<LogicalPlanLanguage, LogicalPlanAnalysis>
737+
) -> CubeRewrite
743738
where
744739
T: Fn(&mut CubeEGraph, Id, &mut Subst) -> bool + Sync + Send + 'static,
745740
{
@@ -1159,7 +1154,7 @@ pub fn list_rewrite(
11591154
list_type: ListType,
11601155
searcher: ListPattern,
11611156
applier: ListPattern,
1162-
) -> Rewrite<LogicalPlanLanguage, LogicalPlanAnalysis> {
1157+
) -> CubeRewrite {
11631158
let searcher = ListNodeSearcher::new(
11641159
list_type.clone(),
11651160
&searcher.list_var,
@@ -1181,7 +1176,7 @@ pub fn list_rewrite_with_lists(
11811176
searcher: ListPattern,
11821177
applier_pattern: &str,
11831178
lists: impl IntoIterator<Item = ListApplierListPattern>,
1184-
) -> Rewrite<LogicalPlanLanguage, LogicalPlanAnalysis> {
1179+
) -> CubeRewrite {
11851180
let searcher = ListNodeSearcher::new(
11861181
list_type.clone(),
11871182
&searcher.list_var,
@@ -1198,7 +1193,7 @@ pub fn list_rewrite_with_vars(
11981193
searcher: ListPattern,
11991194
applier: ListPattern,
12001195
top_level_elem_vars: &[&str],
1201-
) -> Rewrite<LogicalPlanLanguage, LogicalPlanAnalysis> {
1196+
) -> CubeRewrite {
12021197
let searcher = ListNodeSearcher::new(
12031198
list_type.clone(),
12041199
&searcher.list_var,
@@ -1222,7 +1217,7 @@ pub fn list_rewrite_with_lists_and_vars(
12221217
applier_pattern: &str,
12231218
lists: impl IntoIterator<Item = ListApplierListPattern>,
12241219
top_level_elem_vars: &[&str],
1225-
) -> Rewrite<LogicalPlanLanguage, LogicalPlanAnalysis> {
1220+
) -> CubeRewrite {
12261221
let searcher = ListNodeSearcher::new(
12271222
list_type.clone(),
12281223
&searcher.list_var,

rust/cubesql/cubesql/src/compile/rewrite/rewriter.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -392,7 +392,7 @@ impl Rewriter {
392392
fn run_rewrites(
393393
cube_context: &Arc<CubeContext>,
394394
egraph: CubeEGraph,
395-
rules: Arc<Vec<Rewrite<LogicalPlanLanguage, LogicalPlanAnalysis>>>,
395+
rules: Arc<Vec<CubeRewrite>>,
396396
stage: &str,
397397
) -> Result<(CubeRunner, Vec<QtraceEgraphIteration>), CubeError> {
398398
let runner = Self::rewrite_runner(cube_context.clone(), egraph);
@@ -523,7 +523,7 @@ impl Rewriter {
523523
meta_context: Arc<MetaContext>,
524524
config_obj: Arc<dyn ConfigObj>,
525525
eval_stable_functions: bool,
526-
) -> Vec<Rewrite<LogicalPlanLanguage, LogicalPlanAnalysis>> {
526+
) -> Vec<CubeRewrite> {
527527
let sql_push_down = Self::sql_push_down_enabled();
528528
let rules: Vec<Box<dyn RewriteRules>> = vec![
529529
Box::new(MemberRules::new(
@@ -575,7 +575,7 @@ impl Rewriter {
575575
}
576576

577577
pub trait RewriteRules {
578-
fn rewrite_rules(&self) -> Vec<Rewrite<LogicalPlanLanguage, LogicalPlanAnalysis>>;
578+
fn rewrite_rules(&self) -> Vec<CubeRewrite>;
579579
}
580580

581581
struct IncrementalScheduler {

rust/cubesql/cubesql/src/compile/test/rewrite_engine.rs

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,17 +4,14 @@ use datafusion::{
44
logical_plan::LogicalPlan,
55
sql::{parser::Statement, planner::SqlToRel},
66
};
7-
use egg::Rewrite;
87

98
use super::get_test_session;
109
use crate::{
1110
compile::{
1211
parser::parse_sql_to_statement,
1312
rewrite::{
14-
analysis::LogicalPlanAnalysis,
1513
converter::{CubeRunner, LogicalPlanToLanguageConverter},
16-
rewriter::Rewriter,
17-
LogicalPlanLanguage,
14+
rewriter::{CubeRewrite, Rewriter},
1815
},
1916
rewrite_statement, CompilationError, CubeContext, DatabaseProtocol, QueryEngine,
2017
SqlQueryEngine,
@@ -55,9 +52,7 @@ pub fn rewrite_runner(plan: LogicalPlan, context: Arc<CubeContext>) -> CubeRunne
5552
converter.take_runner()
5653
}
5754

58-
pub fn rewrite_rules(
59-
cube_context: Arc<CubeContext>,
60-
) -> Vec<Rewrite<LogicalPlanLanguage, LogicalPlanAnalysis>> {
55+
pub fn rewrite_rules(cube_context: Arc<CubeContext>) -> Vec<CubeRewrite> {
6156
Rewriter::rewrite_rules(
6257
cube_context.meta.clone(),
6358
cube_context.sessions.server.config_obj.clone(),

rust/cubesql/cubesql/src/sql/compiler_cache.rs

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,7 @@ use crate::{
22
compile::{
33
engine::CubeContext,
44
qtrace::Qtrace,
5-
rewrite::{
6-
analysis::LogicalPlanAnalysis,
7-
rewriter::{CubeEGraph, Rewriter},
8-
LogicalPlanLanguage,
9-
},
5+
rewrite::rewriter::{CubeEGraph, CubeRewrite, Rewriter},
106
DatabaseProtocol,
117
},
128
config::ConfigObj,
@@ -17,7 +13,6 @@ use crate::{
1713
};
1814
use async_trait::async_trait;
1915
use datafusion::scalar::ScalarValue;
20-
use egg::Rewrite;
2116
use lru::LruCache;
2217
use std::{collections::HashMap, fmt::Debug, num::NonZeroUsize, sync::Arc};
2318
use uuid::Uuid;
@@ -29,7 +24,7 @@ pub trait CompilerCache: Send + Sync + Debug {
2924
ctx: AuthContextRef,
3025
protocol: DatabaseProtocol,
3126
eval_stable_functions: bool,
32-
) -> Result<Arc<Vec<Rewrite<LogicalPlanLanguage, LogicalPlanAnalysis>>>, CubeError>;
27+
) -> Result<Arc<Vec<CubeRewrite>>, CubeError>;
3328

3429
async fn meta(
3530
&self,
@@ -64,8 +59,7 @@ pub struct CompilerCacheImpl {
6459

6560
pub struct CompilerCacheEntry {
6661
meta_context: Arc<MetaContext>,
67-
rewrite_rules:
68-
RWLockAsync<HashMap<bool, Arc<Vec<Rewrite<LogicalPlanLanguage, LogicalPlanAnalysis>>>>>,
62+
rewrite_rules: RWLockAsync<HashMap<bool, Arc<Vec<CubeRewrite>>>>,
6963
parameterized_cache: MutexAsync<LruCache<[u8; 32], CubeEGraph>>,
7064
queries_cache: MutexAsync<LruCache<[u8; 32], CubeEGraph>>,
7165
}
@@ -79,7 +73,7 @@ impl CompilerCache for CompilerCacheImpl {
7973
ctx: AuthContextRef,
8074
protocol: DatabaseProtocol,
8175
eval_stable_functions: bool,
82-
) -> Result<Arc<Vec<Rewrite<LogicalPlanLanguage, LogicalPlanAnalysis>>>, CubeError> {
76+
) -> Result<Arc<Vec<CubeRewrite>>, CubeError> {
8377
let cache_entry = self.get_cache_entry(ctx.clone(), protocol).await?;
8478

8579
let rewrite_rules = {

0 commit comments

Comments
 (0)