mirror of
https://github.com/apache/superset.git
synced 2026-04-19 16:14:52 +00:00
fix: Missing processor context when rendering Jinja (#33596)
This commit is contained in:
committed by
GitHub
parent
8de58b9848
commit
ce9759785a
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user