Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
274 commits
Select commit Hold shift + click to select a range
5be4f8a
feat(cubestore): Upgrade rocksdb to 7.10.2 from 7.9.2 (#9802)
ovr Jul 22, 2025
cdf8964
v1.3.41
ovr Jul 22, 2025
14588dd
docs: Fix links
igorlukanin Jul 22, 2025
1f8cab7
chore(deps): bump form-data from 4.0.1 to 4.0.4 (#9803)
dependabot[bot] Jul 23, 2025
994adbc
feat(tesseract): Lambda rollup support (#9806)
waralexrom Jul 23, 2025
a5690a5
fix(query-orchestrator): Reduce number of refresh key queries (#9809)
ovr Jul 23, 2025
9fb8ff4
v1.3.42
ovr Jul 23, 2025
09f2da6
fix(snowflake-driver): Set date/timestamp format for exporting data t…
KSDaemon Jul 23, 2025
1147ddc
fix(server-core): Fix getCompilersInstances to not return compiler pr…
KSDaemon Jul 24, 2025
283b07f
refactor: Remove deprecated queue events bus functionality (#9815)
ovr Jul 24, 2025
5ba2b83
v1.3.43
KSDaemon Jul 24, 2025
e9b2b1f
refactor(query-orchestrator): Migrate LocalQueueDriver to TypeScript …
ovr Jul 24, 2025
9c19e10
fix(query-orchestrator): QueryQueue - update heartbeat by queue id (#…
ovr Jul 24, 2025
0931e6f
fix(base-driver): Support empty credentials for gcs (#9820)
RusovDmitriy Jul 26, 2025
02516cf
feat(partners): rename link (#9822)
solarrust Jul 28, 2025
45ffb50
refactor(query-orchestrator): Migrate QueryQueue to TypeScript (#6086)
ovr Jul 28, 2025
af98b7e
v1.3.44
ovr Jul 28, 2025
f0e6acf
fix(api-gateway): Fix member sql extraction in meta?extended (#9826)
bsod90 Jul 28, 2025
b39d7ba
fix(prestodb/trino-driver): Specify correct timeouts for query execut…
ovr Jul 29, 2025
7d205f3
feat(query-ochestrator): Reduce number of cache set for used flag (#9…
ovr Jul 29, 2025
e342506
feat(cubesql): Improve DataGrip compatibility (#9825)
MazterQyou Jul 29, 2025
d0ebe69
feat(clickhouse-driver): Upgrade @clickhouse/client from 1.7.0 to 1.1…
ovr Jul 29, 2025
9412f79
v1.3.45
ovr Jul 29, 2025
4540062
feat: add datasource schema read methods (#9818)
MikeNitsenko Jul 29, 2025
fbad8de
docs: Use camelCase for the selector.dataSources parameter (#9832) — …
sjauld Jul 30, 2025
7cd7f1f
chore: update datasource schema read methods (#9831)
MikeNitsenko Jul 30, 2025
47d7af3
chore(cubestore): Metrics for worker pool errors (#9835)
waralexrom Jul 30, 2025
e96c61a
docs: Fix `runas` command and add NTLM auth configuration to `check_s…
igorlukanin Jul 31, 2025
78357b8
chore(ci): Extract maximize build space as action (#9840)
ovr Jul 31, 2025
ff4eef7
feat(cubesql): Add support for `current_catalog` function for postgre…
mgaudin-open Jul 31, 2025
77f943a
fix(clickhouse-driver): Parse Error: Header overflow due to X-ClickHo…
ovr Jul 31, 2025
8691aff
v1.3.46
ovr Jul 31, 2025
1abeb6d
chore(cross): Install python 3.13.5 (#9841)
ovr Aug 1, 2025
47b5148
docs: fix <byoc-region> in the AWS private link doc (#9844)
bsod90 Aug 1, 2025
301ff92
feat(cubesql): Support `BETWEEN` SQL push down (#9834)
MazterQyou Aug 3, 2025
8243e05
feat(cubesql): Allow to bind float64 (support in pg-srv) (#9846)
ovr Aug 4, 2025
192523a
chore: expose alias member property for measures (#9849)
MikeNitsenko Aug 4, 2025
c926785
refactor(cubesql): Extract TimestampValue to pg-srv crate (#9848)
ovr Aug 4, 2025
f9a0a7a
feat(cubesql): Support timestamp parameter binding, fix #9784 (#9847)
ovr Aug 4, 2025
7dce11d
v1.3.47
ovr Aug 4, 2025
8a84920
docs: Join paths and join hints in the data model
igorlukanin Aug 5, 2025
ecc654c
fix(cubesql): Support concatenating non-strings in SQL push down for …
MazterQyou Aug 6, 2025
9917f31
docs: Update style-guide.mdx
igorlukanin Aug 6, 2025
bae55f3
perf(cubestore): Reduce allocations in info schema tables (#9855)
ovr Aug 6, 2025
5994438
feat(cubestore): Upgrade rust to nightly-2025-08-01 (#9858)
ovr Aug 7, 2025
51a296c
fix(cubesql): Improve Trino SQL push down compatibility (#9861)
MazterQyou Aug 7, 2025
3074f3c
fix(cubesql): Allow repeated aliases (auto-realias) (#9863)
MazterQyou Aug 8, 2025
9bd343b
feat(cubesql): Support date type for parameter binding (#9864)
ovr Aug 8, 2025
a39adf1
fix: access_policy is not applied for JS models (#9865)
paveltiunov Aug 9, 2025
fd09ff5
v1.3.48
paveltiunov Aug 9, 2025
69a7bdb
feat(docker): Security upgrade Node.js from 22.16.0 to 22.18.0 (#9854)
ovr Aug 11, 2025
00c82cf
chore(cubestore): Implement execution for now() & unix_timestamp() (#…
ovr Aug 11, 2025
58bf056
fix(cubesql): Improve SQL push down for Athena/Presto (#9873)
MazterQyou Aug 12, 2025
e286269
v1.3.49
KSDaemon Aug 12, 2025
e62252c
docs: Fix index example on yaml (#9874)
AvilaJulio Aug 12, 2025
b24c0dd
feat(tesseract): Support time series queries in Databricks (#9871)
KSDaemon Aug 13, 2025
45eebea
feat(cubestore): Support EXPLAIN for meta queries (#9876)
ovr Aug 13, 2025
7784cdd
fix(client-core): Remove default value in table pivot (#9869)
Emile-Filteau Aug 13, 2025
c15f986
chore(schema-compiler): Make cube joins to be an array instead of has…
KSDaemon Aug 13, 2025
b516309
v1.3.50
KSDaemon Aug 13, 2025
3266561
Relative paths for assets, playground requests and fonts (#9850)
dacosta444 Aug 13, 2025
845d5ff
chore(cubetore): Allow to disable inplace constant evaluation (#9878)
ovr Aug 13, 2025
02263de
perf: Debounce information schema queries to Cube Store (1.8x) (#9879)
ovr Aug 14, 2025
51b6ede
v1.3.51
ovr Aug 14, 2025
68d0a3e
feat(cubesql): Support cursors in stream mode (#9877)
MazterQyou Aug 14, 2025
b2dff05
fix(api-gateway): Handle array format for joins in /meta?extended end…
igorlukanin Aug 14, 2025
20bfdc8
feat(snowflake-driver): Upgrade Snowflake Node.js driver to 2.2.0 (#9…
igorlukanin Aug 14, 2025
08fe461
fix yarn lock (#9883)
KSDaemon Aug 14, 2025
fbd1581
v1.3.52
KSDaemon Aug 14, 2025
e5e06e3
feat(athena-driver): export env variables for IAM assume role auth (#…
bsod90 Aug 14, 2025
36a56f6
feat(client-core): introduce cubesql method (#9884)
vasilev-alex Aug 15, 2025
a6b7306
v1.3.53
vasilev-alex Aug 15, 2025
1705326
feat(snowflake-driver): Add queryTag connection parameter (#9889)
paco-valdez Aug 15, 2025
19c8d10
feat(schema-compiler): Reduce memory usage after compilation is done …
KSDaemon Aug 15, 2025
8fd0113
v1.3.54
paveltiunov Aug 15, 2025
ebb8f68
chore(cubestore): Track op name for out of queue operations (#9887)
ovr Aug 18, 2025
5c0fa25
docs: Nested folders support in Power BI and Excel
igorlukanin Aug 18, 2025
339bda0
chore(cubestore): Add metastore benchmarks for get_tables_with_path p…
ovr Aug 18, 2025
35a1db2
chore(cubestore): Add simple allocator tracking stats for benchmarks …
ovr Aug 18, 2025
9f11e20
perf(cubestore): Reduce memory allocations with pinned slices (#9901)
ovr Aug 18, 2025
5046137
docs: fix cubeCloud example for contextToRoles
paveltiunov Aug 19, 2025
4f0d183
fix(schema-compiler): Fix joins getter in cube symbols (#9904)
KSDaemon Aug 19, 2025
2c7a067
v1.3.55
KSDaemon Aug 19, 2025
c50ba0f
doc: list ec2:CreateVolume permission in our BYOC doc (#9902)
bsod90 Aug 19, 2025
8063436
chore(cubestore): Rockstore - use named threads per RWLoop/Store (#9906)
ovr Aug 19, 2025
582227e
docs: Fix python cubeCloud example reference
paveltiunov Aug 20, 2025
c218726
chore(ci): Cube store - validate all subcrates + benches (#9907)
ovr Aug 20, 2025
900a33c
feat(cubesql): Avoid `COUNT(*)` pushdown to joined cubes (#9905)
MazterQyou Aug 20, 2025
52db62b
fix(cubejs-playground): meta update propagation (#9895)
tenphi Aug 21, 2025
04495c5
chore(ci): Disable Vertica tests until vertica docker image will be a…
KSDaemon Aug 21, 2025
a25efbc
fix(tesseract): Param casting in Presto (#9908)
jocelynz-stripe Aug 21, 2025
7a30365
perf(schema-compiler): Reduce JS compilation memory usage 3x-5x times…
KSDaemon Aug 21, 2025
3779d5c
v1.3.56
KSDaemon Aug 21, 2025
2287be4
chore(schema-compiler): Switch to original antlr4 package (#9886)
KSDaemon Aug 21, 2025
c231b5e
feat(schema-compiler): groups support (#9903)
vasilev-alex Aug 21, 2025
129c48c
v1.3.57
vasilev-alex Aug 22, 2025
5f34668
fix(schema-compiler): Use join tree for pre-agg matching (#9597)
KSDaemon Aug 25, 2025
6b6d02f
v1.3.58
KSDaemon Aug 25, 2025
3c47acd
fix(redshift-driver): Use proper query for table column types that re…
KSDaemon Aug 25, 2025
4c2a7f2
chore(cubesql): Disable parquet compression (not used, speedup build)…
ovr Aug 25, 2025
5921400
feat(cubesql): Report rewrite start/success events (#9917)
MazterQyou Aug 25, 2025
5438fcd
fix(cubesql): Merge subqueries with SQL push down (#9916)
MazterQyou Aug 26, 2025
a41c5d0
fix(schema-compiler): Fix incorrect backAlias members collection for …
KSDaemon Aug 26, 2025
0cdb662
v1.3.59
KSDaemon Aug 26, 2025
09a1070
docs: Upgrade to Node.js v22
igorlukanin Aug 27, 2025
34f3bdc
chore(deps): bump mermaid from 10.9.3 to 10.9.4 in /docs (#9914)
dependabot[bot] Aug 27, 2025
ed6b48e
fix(cubesql): Fix columns referencing outer context in subqueries (#9…
MazterQyou Aug 28, 2025
dbf9ac4
v1.3.60
KSDaemon Aug 28, 2025
96d90ce
feat(tesseract): Full key aggregate and logical plan refactoring (#9807)
waralexrom Aug 28, 2025
15dacc2
fix(api-gateway): Remove stack information from error responses when …
doman412 Aug 28, 2025
ffc852e
feat(schema-compiler): Support shorthand for userAttributes propertie…
KSDaemon Aug 28, 2025
5c6cf49
v1.3.61
KSDaemon Aug 28, 2025
6ab5a2e
docs: Note on pre-aggregations schema name
igorlukanin Aug 28, 2025
5798897
docs: Prefer literal over folded strings in YAML
igorlukanin Aug 29, 2025
a691d24
fix(tesseract): Dimnesions with granularity in group_by + drivers sup…
waralexrom Aug 29, 2025
c099e7d
v1.3.62
KSDaemon Aug 29, 2025
93f0c0b
chore(deps): bump next from 14.2.30 to 14.2.32 in /docs (#9934)
dependabot[bot] Sep 1, 2025
4d04d5b
docs: Add export bucket configuration for Trino and Presto (#9932)
paco-valdez Sep 1, 2025
8b86fe4
fix(cubejs-playground): rollup designer accordion (#9937)
tenphi Sep 1, 2025
13372af
feat(cubesql): Add "planningId" param to SQL API planning events (#9939)
MazterQyou Sep 1, 2025
00d68ea
v1.3.63
KSDaemon Sep 2, 2025
d85cbc7
feat(cubesql): Automatically cast literal strings in binary expressio…
MazterQyou Sep 3, 2025
17f7999
fix(cubesql): Fix SQL pushdown `TRUNC` template for Presto (#9944)
MazterQyou Sep 3, 2025
4f8b64b
v1.3.64
KSDaemon Sep 3, 2025
ee26206
fix(client-core): CubeSqlSchemaColumn type
vasilev-alex Sep 4, 2025
8d3ec03
fix(cubesql): Correctly calculate eclass cost for recursive nodes (#9…
MazterQyou Sep 5, 2025
86b1943
v1.3.65
KSDaemon Sep 5, 2025
c3673f5
fix(schema-compiler): Fix sql parser for "?" (#9945)
paco-valdez Sep 8, 2025
04bda00
feat: Add "queryRewriteId" param to Query Rewrite events (#9949)
igorlukanin Sep 8, 2025
0fba060
v1.3.66
KSDaemon Sep 9, 2025
a9ac6da
fix(schema-compiler): Fix multifact joined queries in Tesseract (#9954)
KSDaemon Sep 9, 2025
9ebe69a
fix(cubesql): Pass window expressions in SQL push down (#9953)
MazterQyou Sep 9, 2025
cbd0ccf
v1.3.67
KSDaemon Sep 9, 2025
fab55c0
docs: Upgrade recommendations
igorlukanin Sep 9, 2025
4ba2d9d
docs: Explanation of the Cube Cloud Region (#9952)
bsod90 Sep 9, 2025
502d39e
fix(schema-compiler): Fix incorrect pre-aggregation matching for 'rol…
KSDaemon Sep 10, 2025
13190c9
chore(ci): Pass more cube env vars to drivers test (#9965)
KSDaemon Sep 15, 2025
836c04c
feat(cubesql): Print value of the date/time that couldn't be parsed (…
MazterQyou Sep 15, 2025
48e4da2
perf(schema-compiler): Improve yaml compilation speed (#9926)
KSDaemon Sep 16, 2025
4ec4117
perf(schema-compiler): YAML transpilation in worker threads (#9929)
KSDaemon Sep 16, 2025
12ac145
perf(schema-compiler): Support native YAML transpilation (#9948)
KSDaemon Sep 16, 2025
336df46
perf(schema-compiler): Introduce compiledJinjaCache (#9950)
KSDaemon Sep 16, 2025
edaff9b
perf(schema-compiler): implement yaml native bulk transpilation (#9955)
KSDaemon Sep 16, 2025
6a99eb4
fix(schema-compiler): Pass filename alongside with errors to error re…
KSDaemon Sep 16, 2025
993b03e
fix(schema-compiler): Fix memberToDataSource processing for views wit…
KSDaemon Sep 16, 2025
6256b1b
v1.3.68
KSDaemon Sep 16, 2025
6b328e9
feat(tesseract): Switch dimensions and case measures (#9951)
waralexrom Sep 17, 2025
9293033
v1.3.69
KSDaemon Sep 17, 2025
6a47655
fix(client-core): Fix time series generation (#9978)
KSDaemon Sep 18, 2025
15ffec6
fix(playground): Include lower and upper bound of date range in time …
igorlukanin Sep 18, 2025
b974e14
chore(tesseract): Native utils refactoring (#9685)
waralexrom Sep 19, 2025
7851cff
fix(schema-compiler): Fix view transpilation for worker_threads and n…
KSDaemon Sep 19, 2025
fd1b6e3
v1.3.70
KSDaemon Sep 19, 2025
739e910
feat(cubesql): add `pg_catalog.pg_collation` table (#9968)
Giangblackk Sep 19, 2025
0289943
chore(tesseract): Native utils functions and errors handling (#9981)
waralexrom Sep 19, 2025
287c677
feat(cubesql): `SET ROLE` changes authentication context (#9982)
MazterQyou Sep 21, 2025
c76c5ef
chore(deps): bump axios from 1.8.4 to 1.12.0 (#9969)
dependabot[bot] Sep 22, 2025
2dff981
fix(native): Be happy, don't panic when unable to schedule task to Py…
ovr Sep 22, 2025
12408ba
feat(native): Improve safety for Python into CLRepr conversion (#9984)
ovr Sep 22, 2025
a156773
v1.3.71
ovr Sep 22, 2025
f31be88
feat: Upgrade rust 1.84.1 -> 1.90.0 (stable) (#9987)
ovr Sep 23, 2025
e19cc62
fix(native): Catch panic while calling python fn in PyRuntime (#9988)
ovr Sep 23, 2025
6b49bd0
v1.3.72
ovr Sep 23, 2025
02fddd7
fix(cubesql): Fix push Limit-Sort down Projection recursion (#9986)
MazterQyou Sep 23, 2025
348854f
fix(cubesql): Add missing aggregate expressions for `ORDER BY` clause…
MazterQyou Sep 24, 2025
e07d1b9
feat(cubesql): Support `SAVEPOINT`, `ROLLBACK TO`, `RELEASE` (#9992)
MazterQyou Sep 24, 2025
55dc691
chore(native): Benchmark python functionality (#9994)
ovr Sep 24, 2025
226d149
feat(cubesql): Match Tableau year-month extract filter pair as `inDat…
MazterQyou Sep 24, 2025
ac200e2
feat: Expose format field for measures/dimensions in meta (#9998)
ovr Sep 25, 2025
dd03574
fix(cubestore): Disable quoting in csv parser for Athena (#9997)
waralexrom Sep 25, 2025
d9d3869
v1.3.73
ovr Sep 25, 2025
437f029
chore(cube): Fix presto integration test (#10001)
waralexrom Sep 25, 2025
128c64a
chore(cubesql): Bump cube-js/arrow-datafusion (#10002)
MazterQyou Sep 26, 2025
731fd69
v1.3.74
KSDaemon Sep 26, 2025
4367061
chore(deps): bump DuckDB from 1.3.1 to 1.4.0 (#10000)
hannosgit Sep 26, 2025
4da6bfa
fix: packages/cubejs-docker/latest-debian-jdk.Dockerfile to reduce vu…
paveltiunov Sep 29, 2025
043eec5
fix: Merge measure/dimension's spec for formats (#10007)
ovr Sep 29, 2025
9aadbab
feat(docker): Security upgrade Node.js from 22.18.0 to 22.20.0 (#10008)
ovr Sep 29, 2025
ab9dba9
v1.3.75
ovr Sep 29, 2025
a2068ed
revert(duckdb-driver): Revert version bump from 1.3.1 to 1.4.0
KSDaemon Oct 1, 2025
b05fe14
v1.3.76
KSDaemon Oct 1, 2025
ca2d61f
refactor(cubesql): Continue to remove MySQL related stuff (#10021)
ovr Oct 1, 2025
6f0b088
refactor(cubesql): Finally drop MySQL :skull: (#10022)
ovr Oct 1, 2025
f179794
fix(cubesql): Match reverse Tableau year-month extract filter (#10009)
MazterQyou Oct 1, 2025
eaf3ae7
fix(schema-compiler): Do not collect disabled external pre-aggregatio…
MazterQyou Oct 1, 2025
cdf5bbf
v1.3.77
KSDaemon Oct 1, 2025
1f968ab
chore(ci): use Wait.forListeningPorts() in drivers tests (#10023)
KSDaemon Oct 2, 2025
7a946f8
fix(snowflake-driver): Add support for IAM roles with IRSA for S3 exp…
KSDaemon Oct 2, 2025
d84651d
fix(base-driver): Throw an error when the list of csv files from the …
KSDaemon Oct 3, 2025
920db6e
feat(schema-compiler): Pretty print compile errors grouped by files (…
KSDaemon Oct 3, 2025
4aa5b73
v1.3.78
KSDaemon Oct 3, 2025
02e78c1
docs(mdx): Write about formatting (#10016)
ovr Oct 7, 2025
b9f3dae
chore(ci): Fix code coverage uploading to codecov (#10033)
KSDaemon Oct 7, 2025
96e54b6
docs: Update AWS BYOC IAM role (#10035)
bsod90 Oct 7, 2025
0d7aeb8
docs: Elaborate on scheduled_refresh: false
paveltiunov Oct 8, 2025
849b096
docs: Elaborate on CUBEJS_TOUCH_PRE_AGG_TIMEOUT
paveltiunov Oct 8, 2025
c97c169
chore(ci): Switch few packages unit tests to ts-jest (#10037)
KSDaemon Oct 8, 2025
c1998b2
fix(client-vue3): Cleanup polluted package-lock file
guilledll Oct 8, 2025
9df26d8
fix(cubesql): Normalize timestamp/date expressions (#10040)
MazterQyou Oct 8, 2025
f92e496
feat(firebolt-driver): Pass CUBEJS_DB_QUERY_TIMEOUT to Firebolt drive…
alexanderchiu Oct 9, 2025
2325add
fix(sqlite-driver): Use pragma_table_info to fetch table columns (#10…
LFischerstrom Oct 9, 2025
80ce66c
chore(ci): Automatic PR labeler (#10044)
KSDaemon Oct 9, 2025
424c3c3
docs: Update banner in TOC (#10051)
solarrust Oct 10, 2025
f58f53f
chore: Fix script name and command in contribution guide (#10047) — t…
hank-sq Oct 10, 2025
a79f5ed
docs: Remove localhost from ref in cast-numerics.mdx (#9946) — thanks…
63r6o Oct 10, 2025
fbda0d9
feat(docs): Integrate Purple Banner component into documentation site…
solarrust Oct 13, 2025
7b0739d
chore(cubesql): Pass span_id to logical plan creation function (#10056)
MazterQyou Oct 14, 2025
defb254
docs: Edits and fixes
igorlukanin Oct 14, 2025
b398d73
Update README.md
keydunov Oct 14, 2025
3b131c2
feat(cubesql): PlanNormalize - reduce stack allocations (#10055)
ovr Oct 14, 2025
e1c230b
v1.3.79
ovr Oct 14, 2025
875c01e
chore(cubesql): Make `create_logical_plan` async (#10059)
MazterQyou Oct 15, 2025
dbed25c
feat(schema-compiler): Use views join maps and hints for query joins …
KSDaemon Oct 15, 2025
28e150e
v1.3.80
KSDaemon Oct 15, 2025
9f6b9bf
feat(tesseract): Full outer join support (#10057)
waralexrom Oct 16, 2025
cd071f3
v1.3.81
KSDaemon Oct 16, 2025
9d45c89
fix(cube): Meta type for switch dimension (#10060)
waralexrom Oct 16, 2025
bf06600
chore(ci): Allow labeler to correctly run on PRs from forks (#10062)
KSDaemon Oct 17, 2025
01c525d
feat(cubesql): PlanNormalize - reduce stack allocations (split by pat…
ovr Oct 20, 2025
7c687dc
feat(cubesql): Filter push down for date_part(?upper) AND date_part(?…
ovr Oct 20, 2025
c3f92b6
feat(cubesql): Push down Tableau year-month-day IN number filter to C…
MazterQyou Oct 21, 2025
891e5da
fix(schema-compiler): Oracle use `TO_TIMESTAMP_TZ` for `ISO 8601 with…
Tankilevitch Oct 21, 2025
398ce00
feat(cubesql): Filter push down for date_part(?upper) AND date_part('…
ovr Oct 21, 2025
81e553e
v1.3.82
ovr Oct 21, 2025
262dacb
fix(tesseract): Fix member name case conversion (#10064)
KSDaemon Oct 21, 2025
ddfb646
fix(client-react): isLoading is set to false early (#10075)
vasilev-alex Oct 22, 2025
0047d1b
feat(cubesql): Push down `CAST(... AS DATE)` to CubeScan filters (#10…
MazterQyou Oct 23, 2025
96c9768
chore(ci): Increase jest timeout for redshift tests to be able to pas…
KSDaemon Oct 24, 2025
53c6fde
docs(mdx): Date hierarchies (#10082)
ovr Oct 24, 2025
08b23d1
feat(schema-compiler): Support time series queries in MySQL dialect i…
KSDaemon Oct 24, 2025
cee4ba1
feat(api-gateway): Introduce cache mode option for `/cubesql` API (#9…
KSDaemon Oct 24, 2025
6e2b8a8
v1.3.83
KSDaemon Oct 24, 2025
6436a2b
feat(schema-compiler): Support joins for proxied time dimensions in p…
KSDaemon Oct 27, 2025
32a1db6
chore(ci): Fix timezones in cacheKeyQueries tests (#10087)
KSDaemon Oct 27, 2025
ed791ed
fix(schema-compiler): add support for time filters and rolling window…
Tankilevitch Oct 28, 2025
1ebf244
fix(cube-orchestrator): Deterministic column sequence in output (#10086)
UsmanYasin Oct 28, 2025
231fc1f
fix(cubesql): Coerce strings with any type in binary expressions (#10…
MazterQyou Oct 28, 2025
4a39660
feat(client-core): add CacheMode type (#10091)
johancube Oct 28, 2025
51a9c40
v1.3.84
KSDaemon Oct 28, 2025
83ae784
fix(schema-compiler): Add missing numeric types to scaffolding schema…
XUJiahua Oct 28, 2025
2594421
fix(schema-compiler): Fix incorrect cache that affects query joins (#…
KSDaemon Oct 28, 2025
6aec8a7
fix(schema-compiler): Fix pre-agg matching for 'rollupJoin' / 'rollup…
KSDaemon Oct 28, 2025
2bb8666
fix(schema-compiler): Fix inherited drill members for views (#9966)
KSDaemon Oct 28, 2025
8993ca2
v1.3.85
KSDaemon Oct 28, 2025
bcdbe94
feat(tesseract): Bucketing (#10095)
waralexrom Oct 29, 2025
1d4e407
v1.3.86
KSDaemon Oct 29, 2025
41c64f5
chore(cube): Remove debug output in integration tests (#10100)
waralexrom Oct 29, 2025
262aa54
chore(ci): Fix codecov collection in push CI WF (#10099)
KSDaemon Oct 29, 2025
ecdaf20
docs: Calendar cubes
igorlukanin Jul 17, 2025
bdc7297
Merge branch 'master' into docs/calendar-cubes
igorlukanin Oct 29, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions docs/pages/product/caching/recipes/non-additivity.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -165,8 +165,7 @@ cube(`users`, {

### Decomposing into a formula with additive measures

Non-additive `avg` measures can be rewritten as
[calculated measures](/product/data-modeling/reference/measures#calculated-measures)
Non-additive `avg` measures can be rewritten as [calculated measures][ref-calculated-measures]
that reference additive measures only. Then, this additive measures can be used
in pre-aggregations. Please note, however, that you shouldn't include `avg_age`
measure in your pre-aggregation as it renders it non-additive.
Expand Down Expand Up @@ -245,4 +244,5 @@ or run it with the `docker-compose up` command. You'll see the result, including
queried data, in the console.


[ref-percentile-recipe]: /product/data-modeling/recipes/percentiles
[ref-percentile-recipe]: /product/data-modeling/recipes/percentiles
[ref-calculated-measures]: /product/data-modeling/concepts/calculated-members#calculated-measures
9 changes: 7 additions & 2 deletions docs/pages/product/data-modeling/concepts.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ metrics-first approaches.
_Cubes_ represent datasets in Cube and are conceptually similar to [views in
SQL][wiki-view-sql]. Cubes are usually declared in separate files with one
cube per file. Typically, a cube points to a single table in
your database using the [`sql_table` property][ref-schema-ref-sql-table]:
your [data source][ref-data-sources] using the [`sql_table` property][ref-schema-ref-sql-table]:

<CodeTabs>

Expand Down Expand Up @@ -104,6 +104,9 @@ Cubes and their members can be further referenced by [views](#views).

Note that cubes support [extension][ref-extending-cubes],
[polymorphism][ref-polymorphic-cubes], and [data blending][ref-data-blending].
Custom calendars, such as retail calendars, can be implemented using [calendar
cubes][ref-calendar-cubes].

Cubes can be defined statically and you can also build [dynamic data
models][ref-dynamic-data-models].

Expand Down Expand Up @@ -850,4 +853,6 @@ See the reference documentaton for the full list of pre-aggregation
[ref-custom-calendar-recipe]: /product/data-modeling/recipes/custom-calendar
[ref-cube-with-dbt]: /product/data-modeling/recipes/dbt
[ref-apis-support]: /product/apis-integrations#data-modeling
[ref-viz-tools]: /product/configuration/visualization-tools
[ref-viz-tools]: /product/configuration/visualization-tools
[ref-data-sources]: /product/configuration/data-sources
[ref-calendar-cubes]: /product/data-modeling/concepts/calendar-cubes
3 changes: 2 additions & 1 deletion docs/pages/product/data-modeling/concepts/_meta.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,8 @@ module.exports = {
"calculated-members": "Calculated members",
"multi-stage-calculations": "Multi-stage calculations",
"working-with-joins": "Joins between cubes",
"calendar-cubes": "Calendar cubes",
"code-reusability-extending-cubes": "Extension",
"polymorphic-cubes": "Polymorphic cubes",
"data-blending": "Data blending"
}
}
145 changes: 145 additions & 0 deletions docs/pages/product/data-modeling/concepts/calculated-members.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@ into formulas that involve simpler measures. Also, calculated measures [can
help][ref-decomposition-recipe] to use [non-additive][ref-non-additive] measures with
pre-aggregations.

### Members of the same cube

In the following example, the `completed_ratio` measure is calculated as a division of
`completed_count` by total `count`. Note that the result is also multiplied by `1.0`
since [integer division in SQL][link-postgres-division] would otherwise produce an
Expand Down Expand Up @@ -90,6 +92,149 @@ FROM (
) AS "orders"
```

### Members of other cubes

If you have `first_cube` that is [joined][ref-joins] to `second_cube`, you can define a
calculated measure that references measures from both `first_cube` and `second_cube`.
When you query for this calculated measure, Cube will transparently generate SQL with
necessary joins.

In the following example, the `orders.purchases_to_users_ratio` measure references the
`purchases` measure from the `orders` cube and the `count` measure from the `users` cube:

<CodeTabs>

```javascript
cube(`orders`, {
sql: `
SELECT 1 AS id, 11 AS user_id, 'processing' AS status UNION ALL
SELECT 2 AS id, 11 AS user_id, 'completed' AS status UNION ALL
SELECT 3 AS id, 11 AS user_id, 'completed' AS status
`,

dimensions: {
id: {
sql: `id`,
type: `number`,
primary_key: true
}
},

measures: {
purchases: {
type: `count`,
filters: [{
sql: `${CUBE}.status = 'completed'`
}]
}
}
})

cube(`users`, {
sql: `
SELECT 11 AS id, 'Alice' AS name UNION ALL
SELECT 12 AS id, 'Bob' AS name UNION ALL
SELECT 13 AS id, 'Eve' AS name
`,

joins: {
orders: {
sql: `${CUBE}.id = ${orders}.user_id`,
relationship: `one_to_many`
}
},

dimensions: {
id: {
sql: `id`,
type: `number`,
primary_key: true
}
},

measures: {
count: {
type: `count`
},

purchases_to_users_ratio: {
sql: `100.0 * ${orders.purchases} / ${CUBE.count}`,
type: `number`,
format: `percent`
}
}
})
```

```yaml
cubes:
- name: orders
sql: >
SELECT 1 AS id, 11 AS user_id, 'processing' AS status UNION ALL
SELECT 2 AS id, 11 AS user_id, 'completed' AS status UNION ALL
SELECT 3 AS id, 11 AS user_id, 'completed' AS status

dimensions:
- name: id
sql: id
type: number
primary_key: true

measures:
- name: purchases
type: count
filters:
- sql: "{CUBE}.status = 'completed'"

- name: users
sql: >
SELECT 11 AS id, 'Alice' AS name UNION ALL
SELECT 12 AS id, 'Bob' AS name UNION ALL
SELECT 13 AS id, 'Eve' AS name

joins:
- name: orders
sql: "{CUBE}.id = {orders}.user_id"
relationship: one_to_many

dimensions:
- name: id
sql: id
type: number
primary_key: true

measures:
- name: count
type: count

- name: purchases_to_users_ratio
sql: "1.0 * {orders.purchases} / {CUBE.count}"
type: number
```

</CodeTabs>

If you query for `users.purchases_to_users_ratio`, Cube will generate the following SQL:

```sql
SELECT
1.0 * COUNT(
CASE
WHEN ("orders".status = 'completed') THEN "orders".id
END
) / COUNT(DISTINCT "users".id) "users__purchases_to_users_ratio"
FROM (
SELECT 11 AS id, 'Alice' AS name UNION ALL
SELECT 12 AS id, 'Bob' AS name UNION ALL
SELECT 13 AS id, 'Eve' AS name
) AS "users"
LEFT JOIN (
SELECT 1 AS id, 11 AS user_id, 'processing' AS status UNION ALL
SELECT 2 AS id, 11 AS user_id, 'completed' AS status UNION ALL
SELECT 3 AS id, 11 AS user_id, 'completed' AS status
) AS "orders" ON "users".id = "orders".user_id
```

## Proxy dimensions

**Proxy dimensions reference dimensions from the same cube or other cubes.**
Expand Down
Loading