File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -213,17 +213,17 @@ def _render(
213213 environment_naming_info = environment_naming_info ,
214214 )
215215
216+ macro_evaluator .locals .update (render_kwargs )
217+
218+ if variables :
219+ macro_evaluator .locals .setdefault (c .SQLMESH_VARS , {}).update (variables )
220+
216221 for definition in self ._macro_definitions :
217222 try :
218223 macro_evaluator .evaluate (definition )
219224 except Exception as ex :
220225 raise_config_error (f"Failed to evaluate macro '{ definition } '. { ex } " , self ._path )
221226
222- macro_evaluator .locals .update (render_kwargs )
223-
224- if variables :
225- macro_evaluator .locals .setdefault (c .SQLMESH_VARS , {}).update (variables )
226-
227227 resolved_expressions : t .List [t .Optional [exp .Expression ]] = []
228228
229229 for expression in expressions :
Original file line number Diff line number Diff line change @@ -8983,3 +8983,29 @@ def test_model(context, **kwargs):
89838983
89848984 assert python_model .kind .disable_restatement is False
89858985 assert python_model .optimize_query is False
8986+
8987+
8988+ def test_var_in_def (assert_exp_eq ):
8989+ expressions = d .parse (
8990+ """
8991+ MODEL (
8992+ name db.table,
8993+ kind INCREMENTAL_BY_TIME_RANGE(
8994+ time_column ds
8995+ ),
8996+ );
8997+
8998+ @DEF(var, @start_ds);
8999+
9000+ SELECT @var AS ds
9001+ """
9002+ )
9003+
9004+ model = load_sql_based_model (expressions )
9005+
9006+ assert_exp_eq (
9007+ model .render_query (),
9008+ """
9009+ SELECT '1970-01-01' AS "ds"
9010+ """ ,
9011+ )
You can’t perform that action at this time.
0 commit comments