Skip to content

[pull] master from cube-js:master - #687

Merged
pull[bot] merged 3 commits into
code:masterfrom
cube-js:master
Aug 25, 2026
Merged

[pull] master from cube-js:master#687
pull[bot] merged 3 commits into
code:masterfrom
cube-js:master

Conversation

@pull

@pull pull Bot commented Aug 25, 2026

Copy link
Copy Markdown

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? πŸ’– Please sponsor : )

waralexrom and others added 3 commits August 25, 2026 17:25
…multi-stage measures (#11641)

* fix(schema-compiler): resolve inherited definitions per cube

`extends` hands the extending cube the very definitions of the cube it
extends: `allDefinitions` merges the parent's member objects by reference,
and a view's `default_filters` reach the extending view through the
prototype. References resolved per cube were written into those shared
objects, so the last cube prepared won and every other cube ended up
carrying member paths of a cube that is not its own.

Multi-stage members were hit through their nested `grain` and `filter`
objects β€” `prepareMembers` copies the member itself, but not what hangs off
it β€” which broke every multi-stage measure of the extended cube, including
queries that never mention the extending one. A parent's `grain.include:
[d]` came out as `["child.d"]`, and planning then either found no join path
to that cube or reported the grain dimension as unreachable, naming a
dimension the model already declares.

The same aliasing hit two more places: a view's default filter resolved to
a member of the view extending it, and a pre-aggregation's
`outputColumnTypes` names were scoped to the extending cube.

Copy each of them before writing the resolved references.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

* fix(tesseract): name the grain in the unreachable-dimension report

The report for a dimension a multi-stage member reads outside its grain
named the member, the dimension, and the declaration that fixes it β€” all of
which the model already says β€” so a grain holding something else was
indistinguishable from a grain the reader believed was right.

Spell out the grain the member is computed at. Granularities are named
separately (`orders.created_at (month)`) instead of being folded into the
symbol name, and the one case a listing cannot disambiguate β€” the grain
carrying the read dimension only under a granularity β€” gets a sentence of
its own.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
@pull pull Bot locked and limited conversation to collaborators Aug 25, 2026
@pull
pull Bot merged commit cfffdfe into code:master Aug 25, 2026
11 of 13 checks passed
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants