Member Junction
    Preparing search index...
    Index

    Constructors

    Methods

    • Processes a query template with the provided parameters. Accepts either a full QueryInfo (saved queries) or a minimal QueryTemplateInput (transient specs) — only SQL, UsesTemplate, and Parameters are used.

      WARNING — Escaping Context user tokens: Nunjucks renders with autoescape: false, and Context.UserEmail / Context.UserName resolve to raw, unescaped strings (e.g. O'Brien). Templates that interpolate them into SQL must apply the | sqlString filter: {{ Context.UserEmail | sqlString }} and {{ Context.UserName | sqlString }}. Never interpolate {{ Context.UserEmail }} or {{ Context.UserName }} bare in SQL.

      Parameters

      • query: QueryTemplateInput

        The query info or template input containing SQL and parameter definitions

      • parameters: Record<string, unknown> | undefined

        User-provided parameter values

      • OptionalsqlOverride: string

        Optional SQL to use instead of query.SQL (e.g., platform-resolved SQL)

      • OptionalforceTemplateProcessing: boolean

        When true, processes Nunjucks templates even if the query's own UsesTemplate is false. Used for transitive template resolution when a composed dependency uses templates but the outer query does not.

      • OptionalserverValues: QueryServerValues

        What the server sets: ServerParameters for server-set parameters, the names composed queries protect, and the reserved Context object. A template that never reads Context renders exactly as without it.

      • Optionaloptions: QueryRenderOptions

        The dialect to render for and names added to this render's scope. Without a dialect, the process-wide default platform's filters are used.

      Returns QueryProcessingResult

    • Validates parameters against their definitions. Boolean values are bound the way the dialect expects (BooleanParameterValue): 1/0 on SQL Server, true/false on PostgreSQL. The dialect is options.DialectKey, or the process-wide default platform when omitted; a dialect with no binding rules keeps the boolean.

      Server-set values: a caller value (parameters) for a parameter marked IsServerSet, for a name in serverValues.ProtectedNames, or for the reserved name Context is refused and logged. Server-set parameters take their value from serverValues.ServerParameters only, and those values win over caller values for any name.

      Parameters

      Returns ParameterValidationResult