@@ -6,14 +6,19 @@ use super::{
66} ;
77use std:: collections:: HashMap ;
88use std:: rc:: Rc ;
9+ #[ derive( Clone ) ]
10+ pub struct Reference {
11+ pub reference : String ,
12+ pub source : Option < String > ,
13+ }
914
1015#[ derive( Clone ) ]
1116pub struct SqlNodesFactory {
1217 time_shifts : HashMap < String , String > ,
1318 ungrouped : bool ,
1419 ungrouped_measure : bool ,
15- render_references : HashMap < String , String > ,
16- ungrouped_measure_references : HashMap < String , String > ,
20+ render_references : HashMap < String , Reference > ,
21+ ungrouped_measure_references : HashMap < String , Reference > ,
1722 cube_name_references : HashMap < String , String > ,
1823 multi_stage_rank : Option < Vec < String > > , //partition_by
1924 multi_stage_window : Option < Vec < String > > , //partition_by
@@ -73,15 +78,15 @@ impl SqlNodesFactory {
7378 self . ungrouped_measure = value;
7479 }
7580
76- pub fn set_render_references ( & mut self , value : HashMap < String , String > ) {
81+ pub fn set_render_references ( & mut self , value : HashMap < String , Reference > ) {
7782 self . render_references = value;
7883 }
7984
80- pub fn render_references ( & self ) -> & HashMap < String , String > {
85+ pub fn render_references ( & self ) -> & HashMap < String , Reference > {
8186 & self . render_references
8287 }
8388
84- pub fn add_render_reference ( & mut self , key : String , value : String ) {
89+ pub fn add_render_reference ( & mut self , key : String , value : Reference ) {
8590 self . render_references . insert ( key, value) ;
8691 }
8792
@@ -97,11 +102,11 @@ impl SqlNodesFactory {
97102 self . rolling_window = value;
98103 }
99104
100- pub fn set_ungrouped_measure_references ( & mut self , value : HashMap < String , String > ) {
105+ pub fn set_ungrouped_measure_references ( & mut self , value : HashMap < String , Reference > ) {
101106 self . ungrouped_measure_references = value;
102107 }
103108
104- pub fn add_ungrouped_measure_reference ( & mut self , key : String , value : String ) {
109+ pub fn add_ungrouped_measure_reference ( & mut self , key : String , value : Reference ) {
105110 self . ungrouped_measure_references . insert ( key, value) ;
106111 }
107112
0 commit comments