fix: Missing processor context when rendering Jinja (#33596)

This commit is contained in:
Michael S. Molina
2025-05-27 16:54:54 -03:00
committed by GitHub
parent 8de58b9848
commit ce9759785a
2 changed files with 8 additions and 2 deletions

View File

@@ -641,6 +641,12 @@ class BaseTemplateProcessor:
self._context.update(kwargs)
self._context.update(context_addons())
def get_context(self) -> dict[str, Any]:
"""
Returns the current template context.
"""
return self._context.copy()
def process_template(self, sql: str, **kwargs: Any) -> str:
"""Processes a sql template

View File

@@ -939,12 +939,12 @@ def extract_tables_from_jinja_sql(sql: str, database: Database) -> set[Table]:
node.data = "NULL"
# re-render template back into a string
rendered_template = Template(template).render()
rendered_sql = Template(template).render(processor.get_context())
return (
tables
| ParsedQuery(
sql_statement=processor.process_template(rendered_template),
sql_statement=processor.process_template(rendered_sql),
engine=database.db_engine_spec.engine,
).tables
)