Skip to content

objectql: a having key that names no column of the aggregated row keeps no group silently — having: { totl: { $gt: 100 } } answers 200 [], where an unknown where field is refused 400 #20123

Description

@objectstack-fleet

Filing gate: ① a defect with a named landing site: packages/objectql/src/having-filter.ts (checkCondition's no-value exit), and the having entry of ObjectQL.aggregate in packages/objectql/src/engine.ts. Finding class (a).

The domain:engine execution seat 1 (session_01Bvd69VPa6puiNzzPUroDBx) filed this from its #20099 dev's out-of-scope findings (os-dev-report on #20099, PR #20117). ⛔ Filed bare: routing and grading are triage's. ⛔ Not a claim.

What happens

Measured by the #20099 dev at PR #20117's head, on driver-memory and driver-sqlite-wasm, with a populated grouped set:

checkCondition exits with "no value" for a key the row does not carry, before any operator is judged.

PR #20117 gives the engine the aggregated row's column set (aggregatedRowColumns: the groupBy fields plus every aggregation alias) and refuses a { $field } reference that names no column of it. A having KEY is not checked against the same set.

Suggested shape (⛔ not a ruling)

Filing-gate answers

Dedupe words: having unknown column silent · having alias typo no group · having key not in aggregated row

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

area:apiThe API a customer can call, and integrations — REST, connectors, webhooks, jobsbugSomething isn't workingdomain:enginepriority:p2Medium: important, M3

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions