Skip to content

Commit cf34616

Browse files
committed
Improve macro dispatch handling
1 parent 7787669 commit cf34616

File tree

1 file changed

+12
-5
lines changed

1 file changed

+12
-5
lines changed

sqlmesh/dbt/adapter.py

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -139,11 +139,18 @@ 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]]
145+
if macro_namespace is None:
146+
packages_to_check = [None]
147+
else:
148+
if not packages_to_check and macro_namespace in jinja_env:
149+
packages_to_check = [self.jinja_macros.root_package_name, macro_namespace]
150+
151+
# Add dbt packages as fallback
152+
packages_to_check.extend(k for k in jinja_env if k.startswith("dbt"))
153+
147154
candidates = {}
148155
for macro_package in packages_to_check:
149156
macros = jinja_env.get(macro_package, {}) if macro_package else jinja_env

0 commit comments

Comments
 (0)