Render functions in the MiniJinja DuckDB extension
Function category
Render
1 functionRender Jinja2-compatible templates with JSON context. Supports variable substitution, filters, conditionals, for/while loops, and HTML autoescaping. The single-function surface — pass template + context, get rendered text.
Signature
minijinja_render(template: VARCHAR, varargs: ANY) → VARCHAR
Arguments (Positional)
| Argument | Type | Mode | Description |
|---|---|---|---|
Argument
template
|
Type
VARCHAR
|
Mode Positional | Description |
Argument
varargs
|
Type
ANY
|
Mode Positional | Description Varargs |
Description
Render a MiniJinja (Jinja2-compatible) template with a JSON context. Supports the full Jinja vocabulary: variable expressions, filters, conditionals, for/while loops, and template-level autoescaping. Optional named arguments tune behavior (e.g. autoescape := false).
1
Basic substitution
SELECT minijinja_render('{{ foo }}', '{"foo":"bar"}');
2
Nested fields
SELECT minijinja_render('Hello {{ user.name }}, {{ user.messages }} new', '{"user":{"name":"Alice","messages":5}}');
3
For loop with comma separator
SELECT minijinja_render('{% for x in xs %}{{ x }}{% if not loop.last %}, {% endif %}{% endfor %}', '{"xs":["A","B","C"]}');
4
Disable autoescape for raw text
SELECT minijinja_render('{{ v }}', '{"v":"B&O"}', autoescape := false);