Skip to content

Commit dcc6d8e

Browse files
committed
Improve macro dispatch handling
1 parent ae20bf0 commit dcc6d8e

File tree

1 file changed

+10
-5
lines changed

1 file changed

+10
-5
lines changed

sqlmesh/dbt/adapter.py

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -139,11 +139,16 @@ def _relevance(package_name_pair: t.Tuple[t.Optional[str], str]) -> t.Tuple[int,
139139
return name_score, package_score
140140

141141
jinja_env = self.jinja_macros.build_environment(**self.jinja_globals).globals
142-
packages_to_check: t.Set[t.Optional[str]] = {
143-
macro_namespace,
144-
# self.jinja_macros.root_package_name,
145-
*(k for k in jinja_env if k.startswith("dbt")),
146-
}
142+
143+
# Build the set of packages to check based on dispatch configuration
144+
packages_to_check: t.List[t.Optional[str]] = [None]
145+
if macro_namespace is not None:
146+
if macro_namespace in jinja_env:
147+
packages_to_check = [self.jinja_macros.root_package_name, macro_namespace]
148+
149+
# Add dbt packages as fallback
150+
packages_to_check.extend(k for k in jinja_env if k.startswith("dbt"))
151+
147152
candidates = {}
148153
for macro_package in packages_to_check:
149154
macros = jinja_env.get(macro_package, {}) if macro_package else jinja_env

0 commit comments

Comments
 (0)