You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
#3664 replaced `assertJoinedScopesEnforceable` with
`assertNoCrossObjectReferences`, which rejects any cross-object
reference regardless of read scope. That is strictly better than what
this branch had: `engine.aggregate()` has no join and the SQL driver's
aggregate emits none, so a dotted member was never merely "unscopeable"
— it was silently wrong (one `(null)` bucket) or a hard error. Adopted
as-is; this branch's narrower scope-conditional guard is gone.
Made it derive its field set from `referencedFieldNames(cube, query)`
instead of `execute()`'s built `groupBy`/`filter`, so `generateSql()`
runs the IDENTICAL guard — the rendered SQL must not describe a query
`execute()` would reject. Same field set either way, so `execute()`'s
behaviour is unchanged.
Also kept from this branch: the read scope rendered into `generateSql`'s
WHERE (#3664 left rendering alone), and the `context` forwarded to the
aggregate bridge.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013st2KArjmLQSuVzpDS91jj
CI-only: turbo cache for the Release job, console-dist cache keyed on the objectui pin, restore-only turbo caches on PRs (main seeds them), CodeQL off pull_request (main push + weekly schedule), spec coverage moved to a nightly workflow. Releases nothing.
0 commit comments