Skip to content

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

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

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

Conversation

@pull

@pull pull Bot commented Aug 11, 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 6 commits August 11, 2026 17:58
…11516)

* fix(schema-compiler): promote DATE columns in Trino/Presto convertTz

Scaffolding maps DATE columns to `type: time` without a cast, and both
dialects then apply `AT TIME ZONE` straight to the field, which Trino and
Presto reject with

    TYPE_MISMATCH: Type of value must be a time or timestamp
    with/without time zone (actual date)

Lift the field to a timestamp first. The promotion uses
`COALESCE(field, CAST(NULL AS TIMESTAMP))` rather than a plain
`CAST(... AS TIMESTAMP)`: resolving the common supertype triggers the
implicit DATE -> TIMESTAMP coercion while leaving both timestamp types
intact, whereas an explicit cast strips the zone off a
`timestamp with time zone` column so the following `AT TIME ZONE`
reinterprets its wall clock in the session timezone and shifts the result.

Verified against Trino and PrestoDB: the DATE case now runs, and the
converted value is unchanged for `timestamp` and `timestamp with time zone`
inputs under a non-UTC session timezone.

Note for operators: `convertTz` feeds pre-aggregation `loadSql`, which is
hashed into the structure version, so existing Presto/Trino/Athena
pre-aggregations with a time dimension are rebuilt once on upgrade.

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

* fix(schema-compiler): document the DATE day shift, cover Athena

Rename `coerceToTimestamp` to `promoteDateToTimestamp`: the old name described
the very operation the body avoids, inviting a "simplification" back to
`CAST(... AS TIMESTAMP)` that would strip the zone off a
`timestamp with time zone` column.

Spell out in the doc comment that a promoted DATE lands on midnight and is
then converted like any other naive timestamp, so its calendar date moves
under a negative offset. That matches what the other dialects do with a date
column, verified against a live Postgres and Trino: both bucket
`DATE '2024-01-15'` under `2024-01-14` for `America/Los_Angeles`. Treating
DATE specially here would diverge instead.

Extend the test matrix with `AthenaQuery`, pinning that Athena keeps
inheriting the Presto form, and cover the no-timezone early return.

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

---------

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
… tools (#11530)

The centralized MCP endpoint shipped, so https://cubecloud.dev/mcp is the
same URL for every account, deployment and region. The page still told
users to find a per-tenant host first, which is no longer the shortest
path to a working client — every connect snippet now uses the one URL,
with the region-specific endpoint kept as the explicit alternative and
self-hosted installations pointed at their own console domain.

Also documents the four tools added since the last pass (getBranchDiff,
getDeploymentEnv, getPreAggregationStatus, buildPreAggregation), taking
the count from 16 to 20, and states that the permission gate covers all
ten schema-gated tools rather than the six model-editing ones. Adds a
pre-aggregations section and a verification workflow, notes that
getDeploymentEnv redacts secrets, and that buildPreAggregation consumes
warehouse resources.

Fixes a misnumbered step list in the Claude Code flow along the way.
…1) (#11493)

* docs: add "dashboards as code" guide for programmatic dashboards (CUB-3521)

* docs: rewrite "dashboards as code" guide around the merged REST upsert API (CUB-3521)

The first draft documented a runtime-owned YAML-in-project model that never
shipped. Rewrite it to reflect what actually merged in cubejs-enterprise#13361:
the idempotent public REST upserts

  PUT /deployments/{id}/workbooks/by-slug/{slug}
  PUT /deployments/{id}/reports/by-public-id/{publicId}

keyed by portable slug / publicId. Covers the author→export→upsert→publish
apply flow, idempotency and the three 409 conflict codes, write-once publicId
adoption (incl. legacy synthesized ids), and cross-links to the generated
endpoint reference pages. Fix the dashboards index cross-link accordingly.
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.

4 participants