Member Junction
    Preparing search index...

    SECURITY — the strict, fail-closed reader for SQL that untrusted callers supply: a WHERE or ORDER BY fragment, an aggregate expression, or a whole read statement. Text the dialect's grammar cannot read is refused, never guessed at, so use it only where refusing unparseable input is correct, and never to rewrite SQL MJ owns.

    The grammar is the dialect's grammar facet (Grammar.ParserGrammar: TransactSQL, PostgresQL, MySQL, Snowflake, Hive), or the ParserDialect of a dialect without the facet. A dialect whose facet names no grammar is refused ('NoGrammar').

    Every result carries the facts a screen decides on (statement kind, top-level and nested writes, the relations read, the column references) as plain MJ types, so a caller never reads a parse tree.

    Index

    Constructors

    Methods

    • Whether expression may be placed as one item of an aggregate SELECT list — SELECT <expression> AS [Agg_0] FROM <entity view> WHERE … — for an entity whose columns are columns, and the SQL to run for it: exactly one aggregate call (COUNT, SUM, AVG, MIN, MAX, STDEV, VAR, STRING_AGG, …) over the given columns, constants, operators, CASE, CAST and a fixed set of pure scalar functions. The caller's text is never run: StrictAggregateResult.SQL is rebuilt from the checked parse tree with the dialect's quoting, so the database runs exactly the expression that was checked.

      Parameters

      Returns StrictAggregateResult