Version: dev

desugar_pushdown

Stable function · Load-time lowering and templates

Tier: stable · Kind: function · Topic: Load-time lowering and templates

JuliaTypeScriptPythonRustGo
not exportednot exporteddesugar_pushdowndesugar_pushdownnot exported

Julia

Julia does not export this function.

TypeScript

TypeScript does not export this function.

Python

desugar_pushdown(esm: dict, model_name: str | None = None) -> dict

Recognise the projection-pushdown pattern in esm’s named model and, when it matches, return a NEW document with the four constructs desugared in (a kind:"derived" index set, a distinct:true overlap-gated producer aggregate, a member_factor const parameter, and an inspectable gated_select record) plus the reduction axis of the matched E / A / conc nodes re-pointed onto the generated derived set. Returns esm UNCHANGED (the same object) when no model is selected, the pattern does not match, or the reduction’s semiring is not the additive (+, 0) monoid (the soundness guard).

IDEMPOTENT: a document already carrying the provenance record metadata.x_esd.pushdown is returned unchanged — the generated constructs would otherwise re-match and stack a second pd_support__pd_support__… layer.

Source

Rust

pub fn desugar_pushdown<'a>(esm: &'a Value, model_name: Option<&str>) -> Result<Cow<'a, Value>, PushdownRewriteError>

Recognise the projection-pushdown pattern in esm’s named model and, when it matches, return a NEW document (Cow::Owned) with the four constructs desugared in (a kind:"derived" index set, a distinct:true overlap-gated producer aggregate, a member_factor const parameter, and an inspectable gated_select record) plus the reduction axis of the matched E / A / conc nodes re-pointed onto the generated derived set. Returns the input UNCHANGED (Cow::Borrowed) when no model is selected, the pattern does not match, or the reduction’s semiring is not the additive (+, 0) monoid (the soundness guard).

IDEMPOTENT: a document already carrying the provenance record metadata.x_esd.pushdown is returned unchanged — the generated constructs would otherwise re-match and stack a second pd_support__pd_support__… layer.

Source · Rust docs

Go

Go does not export this function.