Skip to content

Commit f256690

Browse files
committed
Fix yet another issue
1 parent 1d8ff81 commit f256690

File tree

2 files changed

+9
-10
lines changed

2 files changed

+9
-10
lines changed

sqlmesh/core/model/common.py

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -236,20 +236,19 @@ def _add_variables_to_python_env(
236236
blueprint_variables=blueprint_variables,
237237
)
238238
for var_name, is_metadata in python_used_variables.items():
239-
used_variables[var_name] = is_metadata and used_variables.get(var_name)
239+
used_variables[var_name] = is_metadata and used_variables.get(var_name, True)
240240

241241
# Variables are treated as metadata when:
242242
# - They are only referenced in metadata-only contexts, such as `audits (...)`, virtual statements, etc
243243
# - They are only referenced in metadata-only macros, either as their arguments or within their definitions
244-
metadata_used_variables = set()
244+
metadata_used_variables = {
245+
var_name for var_name, is_metadata in used_variables.items() if is_metadata
246+
}
245247
for used_var, outermost_macro_func in (outermost_macro_func_ancestor_by_var or {}).items():
246248
used_var_is_metadata = used_variables.get(used_var)
247249
if used_var_is_metadata is False:
248250
continue
249-
250-
if used_var_is_metadata or (
251-
outermost_macro_func in python_env and python_env[outermost_macro_func].is_metadata
252-
):
251+
if outermost_macro_func in python_env and python_env[outermost_macro_func].is_metadata:
253252
metadata_used_variables.add(used_var)
254253

255254
non_metadata_used_variables = set(used_variables) - metadata_used_variables

tests/core/test_model.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10119,8 +10119,8 @@ def m4_non_metadata_references_v6(evaluator):
1011910119
variables = python_env.get(c.SQLMESH_VARS)
1012010120
metadata_variables = python_env.get(c.SQLMESH_VARS_METADATA)
1012110121

10122-
assert variables == Executable.value({"v1": 1, "v3": 3, "v6": 6})
10123-
assert metadata_variables == Executable.value({"v2": 2}, is_metadata=True)
10122+
assert variables == Executable.value({"v3": 3, "v6": 6})
10123+
assert metadata_variables == Executable.value({"v1": 1, "v2": 2}, is_metadata=True)
1012410124

1012510125
blueprint_variables = python_env.get(c.SQLMESH_BLUEPRINT_VARS)
1012610126
blueprint_metadata_variables = python_env.get(c.SQLMESH_BLUEPRINT_VARS_METADATA)
@@ -10135,8 +10135,8 @@ def m4_non_metadata_references_v6(evaluator):
1013510135
assert macro_evaluator.locals == {
1013610136
"runtime_stage": "loading",
1013710137
"default_catalog": None,
10138-
c.SQLMESH_VARS: {"v1": 1, "v3": 3, "v6": 6},
10139-
c.SQLMESH_VARS_METADATA: {"v2": 2},
10138+
c.SQLMESH_VARS: {"v3": 3, "v6": 6},
10139+
c.SQLMESH_VARS_METADATA: {"v1": 1, "v2": 2},
1014010140
c.SQLMESH_BLUEPRINT_VARS: {"v4": exp.Literal.number("4")},
1014110141
c.SQLMESH_BLUEPRINT_VARS_METADATA: {"v5": exp.Literal.number("5")},
1014210142
}

0 commit comments

Comments
 (0)