Member Junction
    Preparing search index...

    Context passed to RenderPipeline.Run controlling each pipeline stage.

    interface RenderContext {
        ContextUser?: UserInfo;
        Dependencies?: QueryDependencySpec[];
        DialectKey?: string;
        MaxRows?: number;
        Now?: Date;
        OriginalSQL?: string;
        Paging?: { MaxRows: number; StartRow: number };
        ParameterDefinitions?: MJQueryParameterEntity[];
        Parameters?: Record<string, string>;
        Platform: DatabasePlatform;
        QueryID?: string;
        QueryInfo?: QueryTemplateInput;
        QueryName?: string;
        RequireReadStatement?: boolean;
        ServerParameters?: Record<string, unknown>;
        TimeZone?: string;
        UsesTemplate?: boolean;
    }
    Index

    Properties

    ContextUser?: UserInfo

    User context for permission checks on referenced queries

    Dependencies?: QueryDependencySpec[]

    Inline dependency specs for transient query testing

    DialectKey?: string

    The key of the dialect the template's SQL filters and boolean values render for. Defaults to Platform. Every render names its dialect, so two providers on different platforms in one process each render with their own filters.

    MaxRows?: number

    MaxRows safety limit. Mutually exclusive with Paging.

    Now?: Date

    The clock the template's Context reads. Defaults to now.

    OriginalSQL?: string

    Original (pre-composition) SQL — used for template input metadata

    Paging?: { MaxRows: number; StartRow: number }

    Paging parameters (omit to skip paging). Mutually exclusive with MaxRows.

    ParameterDefinitions?: MJQueryParameterEntity[]

    Formal parameter definitions (for validation). Null = skip validation.

    Parameters?: Record<string, string>

    Parameter values from the caller

    Target database platform

    QueryID?: string

    ID of the saved query being rendered, so a composition that leads back to it is refused as a cycle.

    QueryInfo?: QueryTemplateInput

    Full query metadata object (saved query path). When provided, passed directly to processQueryTemplate for parameter validation. When omitted, a synthetic QueryTemplateInput is built from OriginalSQL + ParameterDefinitions.

    QueryName?: string

    The saved query's name, for refusals written for its owners.

    RequireReadStatement?: boolean

    Every rendered statement is held to the read-only check (one statement that starts with SELECT or WITH, reads in every CTE, does not SELECT … INTO a table, and calls no forbidden function), saved queries included. Set this where the caller, not a saved query, supplies the SQL (ad-hoc SQL, transient test queries): SQL with no statement at all is then refused too.

    ServerParameters?: Record<string, unknown>

    Values only server code sets (RunQueryParams.ServerParameters). A caller value for a server-set parameter, here or in a composed query, is refused.

    TimeZone?: string

    IANA time zone the template's Context dates are worked out in. UTC when unset.

    UsesTemplate?: boolean

    Whether the outer query is a template. A template passes the MJ Query interpreter gate (QueryTemplate.Validate, Refresh mode, refused on errors) before Nunjucks evaluates it.