File tree Expand file tree Collapse file tree 5 files changed +12
-22
lines changed
Expand file tree Collapse file tree 5 files changed +12
-22
lines changed Original file line number Diff line number Diff line change @@ -21,7 +21,7 @@ WITH order_total AS (
2121 LEFT JOIN sushi .items AS i
2222 ON oi .item_id = i .id AND oi .event_date = i .event_date
2323 WHERE
24- oi .event_date BETWEEN CAST( ' {{ start_ds }} ' as DATE ) AND CAST( ' {{ end_ds }} ' as DATE )
24+ oi .event_date BETWEEN @ start_ds AND @ end_ds
2525 GROUP BY
2626 oi .order_id ,
2727 oi .event_date
@@ -35,7 +35,7 @@ FROM sushi.orders AS o
3535LEFT JOIN order_total AS ot
3636 ON o .id = ot .order_id AND o .event_date = ot .event_date
3737WHERE
38- o .event_date BETWEEN CAST( ' {{ start_ds }} ' as DATE ) AND CAST( ' {{ end_ds }} ' as DATE )
38+ o .event_date BETWEEN @ start_ds AND @ end_ds
3939GROUP BY
4040 o .customer_id ,
4141 o .event_date
Original file line number Diff line number Diff line change 2727FROM sushi .waiters AS w
2828JOIN sushi .customers as c ON w .waiter_id = c .customer_id
2929JOIN sushi .waiter_names as wn ON w .waiter_id = wn .id
30- WHERE w .event_date BETWEEN @start_date AND @end_date;
30+ WHERE w .event_date BETWEEN CAST( ' {{ start_ds }} ' as DATE ) AND @end_date;
3131
3232JINJA_END;
Original file line number Diff line number Diff line change @@ -246,9 +246,7 @@ def send(
246246 )
247247
248248 def transform (
249- self ,
250- expression : exp .Expression ,
251- render_jinja : bool = True ,
249+ self , expression : exp .Expression
252250 ) -> exp .Expression | t .List [exp .Expression ] | None :
253251 changed = False
254252
@@ -284,12 +282,6 @@ def evaluate_macros(
284282 if node .this != text :
285283 changed = True
286284 return exp .to_identifier (text , quoted = node .quoted or None )
287- if node .is_string :
288- text = node .this
289- if render_jinja and has_jinja (text ):
290- changed = True
291- node .set ("this" , self .jinja_env .from_string (node .this ).render ())
292- return node
293285 if isinstance (node , MacroFunc ):
294286 changed = True
295287 return self .evaluate (node )
Original file line number Diff line number Diff line change @@ -230,10 +230,6 @@ def _resolve_table(table: str | exp.Table) -> str:
230230 f"Could not render or parse jinja at '{ self ._path } '.\n { ex } "
231231 ) from ex
232232
233- render_jinja = False
234- else :
235- render_jinja = True
236-
237233 macro_evaluator .locals .update (render_kwargs )
238234
239235 if variables :
@@ -251,9 +247,7 @@ def _resolve_table(table: str | exp.Table) -> str:
251247
252248 for expression in expressions :
253249 try :
254- transformed_expressions = ensure_list (
255- macro_evaluator .transform (expression , render_jinja = render_jinja )
256- )
250+ transformed_expressions = ensure_list (macro_evaluator .transform (expression ))
257251 except Exception as ex :
258252 raise_config_error (
259253 f"Failed to resolve macros for\n \n { expression .sql (dialect = self ._dialect , pretty = True )} \n \n { ex } \n " ,
Original file line number Diff line number Diff line change @@ -2566,11 +2566,15 @@ def test_parse(assert_exp_eq):
25662566 dialect '',
25672567 );
25682568
2569+ JINJA_QUERY_BEGIN;
2570+
25692571 SELECT
25702572 id::INT AS id,
25712573 ds
25722574 FROM x
2573- WHERE ds BETWEEN '{{ start_ds }}' AND @end_ds
2575+ WHERE ds BETWEEN '{{ start_ds }}' AND @end_ds;
2576+
2577+ JINJA_END;
25742578 """
25752579 )
25762580 model = load_sql_based_model (expressions , dialect = "hive" )
@@ -2580,8 +2584,8 @@ def test_parse(assert_exp_eq):
25802584 }
25812585 assert not model .annotated
25822586 assert model .dialect == ""
2583- assert isinstance (model .query , exp . Select )
2584- assert isinstance (SqlModel .parse_raw (model .json ()).query , exp . Select )
2587+ assert isinstance (model .query , d . JinjaQuery )
2588+ assert isinstance (SqlModel .parse_raw (model .json ()).query , d . JinjaQuery )
25852589 assert_exp_eq (
25862590 model .render_query (),
25872591 """
You can’t perform that action at this time.
0 commit comments