-
Couldn't load subscription status.
- Fork 1.9k
feat(cubestore): Upgrade rust to nightly-2025-08-01 #9858
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
waralexrom
approved these changes
Aug 7, 2025
igorlukanin
pushed a commit
that referenced
this pull request
Oct 29, 2025
igorlukanin
added a commit
that referenced
this pull request
Oct 29, 2025
* feat(cubestore): Upgrade rocksdb to 7.10.2 from 7.9.2 (#9802)
* v1.3.41
* docs: Fix links
* chore(deps): bump form-data from 4.0.1 to 4.0.4 (#9803)
Bumps [form-data](https://github.com/form-data/form-data) from 4.0.1 to 4.0.4.
- [Release notes](https://github.com/form-data/form-data/releases)
- [Changelog](https://github.com/form-data/form-data/blob/master/CHANGELOG.md)
- [Commits](https://github.com/form-data/form-data/compare/v4.0.1...v4.0.4)
---
updated-dependencies:
- dependency-name: form-data
dependency-version: 4.0.4
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* feat(tesseract): Lambda rollup support (#9806)
* fix(query-orchestrator): Reduce number of refresh key queries (#9809)
Cube generates a burst load of queries for refresh keys. We don't use a queue for cube store queries, but we use an in-memory cache inside QueryQueue. A cache miss leads to a problem where we start executing queries without debouncing.
Cube executes refresh keys in parallel, which DDoSes Cube Store. It's a quick fix to fix this behavior.
* v1.3.42
* fix(snowflake-driver): Set date/timestamp format for exporting data to CSV export bucket (#9810)
* fix tsc build
* fix(snowflake-driver): Set date/timestamp format for exporting data to CSV export bucket
* fix(server-core): Fix getCompilersInstances to not return compiler promise (#9814)
* refactor: Remove deprecated queue events bus functionality (#9815)
The queue event bus was deprecated and is no longer needed.
* v1.3.43
* refactor(query-orchestrator): Migrate LocalQueueDriver to TypeScript (#9816)
* fix(query-orchestrator): QueryQueue - update heartbeat by queue id (#9817)
Cube Store allows updating the heartbeat by path or queue id. Using queue id provides better performance and fixes possible concurrency issues, such as slippage
* fix(base-driver): Support empty credentials for gcs (#9820)
* feat(partners): rename link (#9822)
* refactor(query-orchestrator): Migrate QueryQueue to TypeScript (#6086)
* v1.3.44
* fix(api-gateway): Fix member sql extraction in meta?extended (#9826)
* fix(prestodb/trino-driver): Specify correct timeouts for query execution (#9827)
By default, it's specified as 60 seconds in presto-client. It uses a timer and cancels queries after it.
* feat(query-ochestrator): Reduce number of cache set for used flag (#9828)
Right now, we use both flags: used and touch. We already had LRU cache for a long time with the touch flag to reduce the number of updates in the Cache Store, but we didn't do it for the used.
This leads to a situation where, for a schema with 100 pre-aggs, we will do 200 cache sets per 1 minute because the default refresh interval is set to 30 seconds.
* feat(cubesql): Improve DataGrip compatibility (#9825)
List of changes:
- Parse explicit `DISTINCT` option with set operators (e.g. `UNION DISTINCT`)
- `array_agg` function can now be prefixed with `pg_catalog.`
- New introspection tables are supported:
- `pg_auth_members`
- `pg_available_extension_versions`
- `pg_cast`
- `pg_event_trigger`
- `pg_foreign_data_wrapper`
- `pg_foreign_server`
- `pg_foreign_table`
- `pg_language`
- `pg_locks`
- `pg_operator`
- `pg_rewrite`
- `pg_tablespace`
- `pg_timezone_abbrevs`
- `pg_timezone_names`
- `pg_user_mapping`
- New introspection functions are supported:
- `pg_is_in_recovery`
- `pg_postmaster_start_time`
- `pg_tablespace_location`
- `txid_current`
- System field `xmin` added to the following introspection tables:
- `pg_am`
- `pg_attribute`
- `pg_class`
- `pg_constraint`
- `pg_description`
- `pg_extension`
- `pg_index`
- `pg_namespace`
- `pg_proc`
- `pg_type`
- `pg_namespace`'s `nspacl` field now has correct type (`List(Utf8)`)
- `AGE` function now accepts values of type `xid`
- `"char"` casts are being replaced with `text` casts
- `xid` casts are being replaced with `unsigned int` casts
- New `PgType`s added:
- `[ARRAY]PGAM`
- `[ARRAY]PGCAST`
- `[ARRAY]PGEVENTTRIGGER`
- `[ARRAY]PGEXTENSION`
- `[ARRAY]PGFOREIGNDATAWRAPPER`
- `[ARRAY]PGFOREIGNSERVER`
- `[ARRAY]PGLANGUAGE`
- `CTID` system field is replaced with `NULL` in data queries
Signed-off-by: Alex Qyoun-ae <4062971+MazterQyou@users.noreply.github.com>
* feat(clickhouse-driver): Upgrade @clickhouse/client from 1.7.0 to 1.12.0 (#9829)
* v1.3.45
* feat: add datasource schema read methods (#9818)
* docs: Use camelCase for the selector.dataSources parameter (#9832) — thank you @sjauld!
* chore: update datasource schema read methods (#9831)
* dev
* fix
* upd
* chore(cubestore): Metrics for worker pool errors (#9835)
* docs: Fix `runas` command and add NTLM auth configuration to `check_sql_auth`
* chore(ci): Extract maximize build space as action (#9840)
* feat(cubesql): Add support for `current_catalog` function for postgresql protocol (#9839)
* fix(clickhouse-driver): Parse Error: Header overflow due to X-ClickHouse-Progress (#9842)
To fix the issue with the headers overflowing:
Error: Parse Error: Header overflow
at TLSSocket.socketOnData (node:_http_client:551:22)
at TLSSocket.emit (node:events:519:28)
at addChunk (node:internal/streams/readable:559:12)
at readableAddChunkPushByteMode (node:internal/streams/readable:510:3)
More details in the original repository of the client library: https://github.com/ClickHouse/clickhouse-js/issues/448
* v1.3.46
* chore(cross): Install python 3.13.5 (#9841)
* docs: fix <byoc-region> in the AWS private link doc (#9844)
* feat(cubesql): Support `BETWEEN` SQL push down (#9834)
* feat(cubesql): Allow to bind float64 (support in pg-srv) (#9846)
Implements float64 (FLOAT8) parameter binding in the PostgreSQL wire protocol server (pg-srv).
This allows SQL clients to bind floating-point parameters in prepared statements using both
text and binary formats.
Changes:
- Add f64 decoding support in pg-srv for both text and binary wire formats
- Handle FLOAT8 type in Bind message processing
- Add comprehensive tests for float64 binding in both formats
- Rename test_prepare to test_prepare_autodetect for clarity
This enhancement improves SQL client compatibility by supporting floating-point parameters.
In prepared statements, which are commonly used by BI tools and database drivers.
* chore: expose alias member property for measures (#9849)
* dev
* dev
* dev
* dev
* dev
* upd
* dev
* dev
* fmt
* fix
* upd
* fmt
* refactor(cubesql): Extract TimestampValue to pg-srv crate (#9848)
- Moved TimestampValue from cubesql dataframe to pg-srv where it belongs
- Extracted ProtocolError to its own file for cleaner organization
- Created values/ folder to group IntervalValue and TimestampValue together
---------
Co-authored-by: Alex Qyoun-ae <4062971+MazterQyou@users.noreply.github.com>
* feat(cubesql): Support timestamp parameter binding, fix #9784 (#9847)
* v1.3.47
* docs: Join paths and join hints in the data model
* fix(cubesql): Support concatenating non-strings in SQL push down for Athena/Presto (#9853)
Signed-off-by: Alex Qyoun-ae <4062971+MazterQyou@users.noreply.github.com>
* docs: Update style-guide.mdx
* perf(cubestore): Reduce allocations in info schema tables (#9855)
- Replace intermediate Vec allocations with direct iterator consumption
- Use from_iter/from_iter_values instead of collect() followed by from()
- Remove unnecessary .as_str() conversions where &String is sufficient
- Simplify Option<String> handling with .as_deref() instead of .as_ref().map()
This optimization eliminates ~78 unnecessary heap allocations across all info
schema table implementations, improving performance especially with large datasets.
* feat(cubestore): Upgrade rust to nightly-2025-08-01 (#9858)
* fix(cubesql): Improve Trino SQL push down compatibility (#9861)
Signed-off-by: Alex Qyoun-ae <4062971+MazterQyou@users.noreply.github.com>
* fix(cubesql): Allow repeated aliases (auto-realias) (#9863)
Signed-off-by: Alex Qyoun-ae <4062971+MazterQyou@users.noreply.github.com>
* feat(cubesql): Support date type for parameter binding (#9864)
* fix: access_policy is not applied for JS models (#9865)
* v1.3.48
* feat(docker): Security upgrade Node.js from 22.16.0 to 22.18.0 (#9854)
The following vulnerabilities are fixed with an upgrade:
- https://snyk.io/vuln/SNYK-UPSTREAM-NODE-10847885
- https://snyk.io/vuln/SNYK-DEBIAN12-GNUTLS28-10690985
- https://snyk.io/vuln/SNYK-DEBIAN12-GNUTLS28-10690987
- https://snyk.io/vuln/SNYK-DEBIAN12-GNUTLS28-10690990
- https://snyk.io/vuln/SNYK-DEBIAN12-GNUTLS28-10690993
---------
Co-authored-by: snyk-bot <snyk-bot@snyk.io>
* chore(cubestore): Implement execution for now() & unix_timestamp() (#9868)
* fix(cubesql): Improve SQL push down for Athena/Presto (#9873)
* v1.3.49
* docs: Fix index example on yaml (#9874)
Correctly targets the date column
* feat(tesseract): Support time series queries in Databricks (#9871)
* feat(tesseract): Support time series queries in Databricks
* run databricks drivers-tests with tesseract
* fix templates.statements.generated_time_series_select
* fix templates.statements.generated_time_series_with_cte_range_source
* enable supportGeneratedSeriesForCustomTd
* add snapshot: querying BigECommerce: rolling window by 2 day without date range
* add snapshot: querying BigECommerce: rolling window by 2 month without date range
* update snapshot: querying BigECommerce: rolling window YTD without date range
* add snapshot: querying BigECommerce with Retail Calendar
* add snapshot: querying custom granularities ECommerce: count by two_mo_by_feb + no dimension + rollingCountByLeading without date range
* add snapshot: SQL API: Extended nested Rollup over asterisk
* feat(cubestore): Support EXPLAIN for meta queries (#9876)
* fix(client-core): Remove default value in table pivot (#9869)
* Remove defaulting to empty string in tablePivot
* Added a regression test
* chore(schema-compiler): Make cube joins to be an array instead of hashmap (#9800)
* more types in CubeSymbols
* change joins schema in Validator
* specify type for accessPolicy
* make prepareJoins() aware of arrays
* make joins in CubeSymbols / CubeEvaluator as array instead of hashmap
* update JoinGraph to treat joins as array instead of hashmap
* fix CubePropContextTranspiler to convert joins hashmap into array
* add @types/js-yaml
* make YamlCompiler aware of joins as array
* fix/update snapshots for schema tests
* fix transform yaml joins
* add schema tests for joins as array/object
* lint:fix
* update snapshots
* add a fallback workaround for joins as object in js models
* v1.3.50
* Relative paths for assets, playground requests and fonts (#9850)
Co-authored-by: Daniel Costa <DanielCosta@criticalmanufacturing.com>
Co-authored-by: Andrey Yamanov <tenphi@gmail.com>
* chore(cubetore): Allow to disable inplace constant evaluation (#9878)
* perf: Debounce information schema queries to Cube Store (1.8x) (#9879)
Introduces the @AsyncDebounce decorator to debounce promises for the getTablesQuery and getPrefixTablesQuery methods. This prevents redundant concurrent executions of the same operations, improving performance by avoiding duplicate database metadata queries.
For the performance benchmark, I've used 1 cube with 1 pre-agg that has 10 partitions, partitioned by time dimension with year granularity.
Previously, Cube would run 10 queries for the information schema while loading pre-aggregation.
### (average across runs)
• Throughput almost doubled – from ~112 req/s (max 144) to ~206 req/s (max 229).
• Average latency halved – from ~0.98 s to ~0.54 s.
• p95 latency dropped from ~2.19 s to ~0.91 s.
• Fast responses (<1 s) surged from ~57% to ~95%, with some runs hitting 100%.
• Success rate improved from ~86% to ~98%, reaching 100% in the best runs.
• Max latency fell from peaks of ~4.06 s to just ~2.05 s.
* v1.3.51
* feat(cubesql): Support cursors in stream mode (#9877)
Signed-off-by: Alex Qyoun-ae <4062971+MazterQyou@users.noreply.github.com>
* fix(api-gateway): Handle array format for joins in /meta?extended endpoint (#9881)
* fix(api-gateway): Handle array format for joins in /meta?extended endpoint
After PR #9800, joins are stored as arrays instead of objects in the
schema compiler. The transformJoins function in the API gateway was
still using Object.entries() which, when applied to arrays, returns
numeric indices as keys instead of actual join names.
This fix:
- Checks if joins is an array and preserves the name property
- Maintains backward compatibility with object format
- Adds test coverage for both array and object formats
Fixes the issue where join names appear as "0", "1", "2" instead of
their actual names in the /meta?extended endpoint response.
* Extract the duplicate transformation logic into a local transformJoin function
* feat(snowflake-driver): Upgrade Snowflake Node.js driver to 2.2.0 (#9880)
* feat(snowflake-driver): Upgrade Snowflake Node.js driver to 2.2.0
* Add lock file
* rerun yarn from root
* dedup @azure/identity
* dedup/upgrade @smithy/* pkgs
---------
Co-authored-by: Konstantin Burkalev <KSDaemon@gmail.com>
* fix yarn lock (#9883)
* v1.3.52
* feat(athena-driver): export env variables for IAM assume role auth (#9882)
* feat(client-core): introduce cubesql method (#9884)
* feat(client-core): introduce cubesql method
* error propagation
* cleanup
* wip
* streaming method
* cleanup
* v1.3.53
* feat(snowflake-driver): Add queryTag connection parameter (#9889)
* feat(schema-compiler): Reduce memory usage after compilation is done (#9890)
* feat(schema-compiler): Reduce memory usage after compilation is done
* fix yarn.lock
* v1.3.54
* chore(cubestore): Track op name for out of queue operations (#9887)
* docs: Nested folders support in Power BI and Excel
* chore(cubestore): Add metastore benchmarks for get_tables_with_path performance testing (#9894)
- Add comprehensive benchmarks for small (100), medium (1K), and large (25K) table datasets
- Test both cached and non-cached execution paths
- Include cold vs warm cache comparison benchmarks
* chore(cubestore): Add simple allocator tracking stats for benchmarks (#9898)
* perf(cubestore): Reduce memory allocations with pinned slices (#9901)
The pinnable slice optimization (get_pinned() instead of get()) eliminates unnecessary data copying when reading from RocksDB, providing substantial memory savings, especially for read-heavy operations.
## Memory stats
queue_get (queues: 5, size: 128 KB, per_queue: 10000/128)
| Metric | Before | After | Change | Change % |
|-------------------|----------------------|----------------------|-----------------------|----------|
| Total allocated | 84,383,988,026 bytes | 65,841,827,472 bytes | −18,542,160,554 bytes | −21.97% |
| Peak allocated | 105,403,976 bytes | 105,143,200 bytes | −260,776 bytes | −0.25% |
| Allocations | 924,523,001 | 924,192,417 | −330,584 | −0.036% |
| Reallocations | 3,307,477 | 3,303,015 | −4,462 | −0.135% |
queue_add (queues: 1, size: 512 KB/512)
| Metric | Before | After | Change | Change % |
|-------------------|----------------------|----------------------|--------------------|----------|
| Total allocated | 99,058,945,725 bytes | 98,877,885,492 bytes | −181,060,233 bytes | −0.183% |
| Peak allocated | 105,926,929 bytes | 105,713,460 bytes | −213,469 bytes | −0.202% |
| Allocations | 1,370,479,237 | 1,370,357,307 | −121,930 | −0.0089% |
| Reallocations | 3,102,373 | 3,099,589 | −2,784 | −0.090% |
Summary
| Operation | Total Memory Saved | Improvement |
|-----------|--------------------|-----------------|
| queue_get | 18.5 GB | 22% reduction |
| queue_add | 181 MB | 0.18% reduction |
## CPU stats
| Benchmark | Parameters | Before (Min) | After (Min) | % Change |
|----------------------------------------------|------------|--------------|-------------|----------|
| get_tables_with_path_include_non_ready_true | 100 | 17.734 ms | 17.341 ms | -2.22% ✅ |
| get_tables_with_path_include_non_ready_true | 1000 | 84.730 ms | 81.181 ms | -4.19% ✅ |
| get_tables_with_path_include_non_ready_true | 25000 | 407.80 ms | 399.59 ms | -2.01% ✅ |
| get_tables_with_path_include_non_ready_false | 100 | 557.35 µs | 562.17 µs | +0.86% ❌ |
| get_tables_with_path_include_non_ready_false | 1000 | 277.44 µs | 287.70 µs | +3.70% ❌ |
| get_tables_with_path_include_non_ready_false | 25000 | 55.345 µs | 56.001 µs | +1.19% ❌ |
| get_tables_with_path_cold_cache | - | 69.834 ms | 69.266 ms | -0.81% ✅ |
| get_tables_with_path_warm_cache | - | 5.450 µs | 5.621 µs | +3.14% ❌ |
CacheStore Queue Benchmarks (Min of Runs)
| Benchmark | Parameters | Before (Min) | After (Min) | % Change |
|----------------------|-----------------------------|--------------|-------------|-----------|
| queue_add | 64 kb/512 | 512.13 ms | 512.74 ms | +0.12% ❌ |
| queue_add | 256 kb/512 | 268.82 ms | 269.62 ms | +0.30% ❌ |
| queue_add | 512 kb/512 | 286.93 ms | 293.60 ms | +2.32% ❌ |
| queue_list (Pending) | 5 queues, 128 kb | 894.36 µs | 888.31 µs | -0.68% ✅ |
| queue_list (Active) | 5 queues, 128 kb | 979.40 µs | 907.67 µs | -7.33% ✅ |
| queue_get | 5 queues, 128 kb, 10000/128 | 13.246 ms | 11.025 ms | -16.77% ✅ |
Combined Results Summary
| Category | Benchmark Type | Min Before | Min After | % Change |
|------------------------|------------------------------------|------------|-----------|-----------|
| Read-Heavy Operations | | | | |
| Metastore | get_tables (non_ready_true) 100 | 17.734 ms | 17.341 ms | -2.22% ✅ |
| Metastore | get_tables (non_ready_true) 1000 | 84.730 ms | 81.181 ms | -4.19% ✅ |
| Metastore | get_tables (non_ready_true) 25000 | 407.80 ms | 399.59 ms | -2.01% ✅ |
| Metastore | cold_cache | 69.834 ms | 69.266 ms | -0.81% ✅ |
| Queue | queue_get | 13.246 ms | 11.025 ms | -16.77% ✅ |
| Queue | queue_list (Active) | 979.40 µs | 907.67 µs | -7.33% ✅ |
| Queue | queue_list (Pending) | 894.36 µs | 888.31 µs | -0.68% ✅ |
| Write/Mixed Operations | | | | |
| Metastore | get_tables (non_ready_false) 100 | 557.35 µs | 562.17 µs | +0.86% ❌ |
| Metastore | get_tables (non_ready_false) 1000 | 277.44 µs | 287.70 µs | +3.70% ❌ |
| Metastore | get_tables (non_ready_false) 25000 | 55.345 µs | 56.001 µs | +1.19% ❌ |
| Metastore | warm_cache | 5.450 µs | 5.621 µs | +3.14% ❌ |
| Queue | queue_add 64kb | 512.13 ms | 512.74 ms | +0.12% ❌ |
| Queue | queue_add 256kb | 268.82 ms | 269.62 ms | +0.30% ❌ |
| Queue | queue_add 512kb | 286.93 ms | 293.60 ms | +2.32% ❌ |
* docs: fix cubeCloud example for contextToRoles
* fix(schema-compiler): Fix joins getter in cube symbols (#9904)
* v1.3.55
* doc: list ec2:CreateVolume permission in our BYOC doc (#9902)
* chore(cubestore): Rockstore - use named threads per RWLoop/Store (#9906)
* docs: Fix python cubeCloud example reference
* chore(ci): Cube store - validate all subcrates + benches (#9907)
* feat(cubesql): Avoid `COUNT(*)` pushdown to joined cubes (#9905)
* fix(cubejs-playground): meta update propagation (#9895)
* fix(cubejs-playground): meta update propagation
* chore(cubejs-playground): add serve command
* chore(ci): Disable Vertica tests until vertica docker image will be available (#9910)
@see https://github.com/vertica/vertica-containers/issues/64
* fix(tesseract): Param casting in Presto (#9908)
* fix param casting in presto
* move test case
* perf(schema-compiler): Reduce JS compilation memory usage 3x-5x times. (#9897)
* perf(schema-compiler): Reduce JS compilation memory usage 3x-5x times.
* more types
* move context to compile() and remove unneded params floating around
* a bit simplify wrappedCode
* remove unused import
* introduce AsyncLocalStorage for context store
* fix link
* correct resource freeing between stages
* fix for async modules
* add IIFETranspiler
* more types
* fix
* fix ImportExportTranspiler to generate expression statements instead of raw calls
* fix transpilers order
* fix tests
* v1.3.56
* chore(schema-compiler): Switch to original antlr4 package (#9886)
* switch to original antlr4 package
* update/fix pythonParser & SqlParser
* special case for unquoted dates in values
* feat(schema-compiler): groups support (#9903)
* feat: introduce groups support
* wip
* wip
* updated snapshots
* v1.3.57
* fix(schema-compiler): Use join tree for pre-agg matching (#9597)
* prepare test for non-match because of join tree difference
* remove unused
* fix some types
* fix duplicates in join hint collection
* Don't even try to match pre-agg if there are customSubQueryJoins
* Don't try to match pre-aggs if there are MemberExpressions
* add joinTree evaluation for pre-agg
* more types and ts fixes
* implement join tree comparison
* fix tests
* fix for 'rollupJoin' pre-aggs
* remove comments
* fix tests
* fix aliasMember set for segments
* fix expressionPath()
* fix test
* add resolveFullMemberPathFn() in BaseQuery
* make real full join name path member comparison for pre-agg matching
* fix tests
* fix tests
* add comments
* Add more tests
* fix tesseract skip tests
* mark some tests as skipped for tesseract
* sync tests
* remove obsolete types
* remove comment
* fix tests
* fix tests
* skip tests for tesseract
* useful comment
* v1.3.58
* fix(redshift-driver): Use proper query for table column types that respects fetchColumnsByOrdinalPosition (#9915)
* chore(cubesql): Disable parquet compression (not used, speedup build) (#9918)
Compiling brotli, zstd, etc., compression libraries takes a lot of time. Since we don't use parquet files in SQL API, let's disable them for now to speed up release builds.
It saves ~10 seconds on my M3 Max machine in release builds; it should save ~1 minute on a 4-CPU machine used on CI.
More importantly, it reduces the size of the cache.
* feat(cubesql): Report rewrite start/success events (#9917)
Signed-off-by: Alex Qyoun-ae <4062971+MazterQyou@users.noreply.github.com>
* fix(cubesql): Merge subqueries with SQL push down (#9916)
Signed-off-by: Alex Qyoun-ae <4062971+MazterQyou@users.noreply.github.com>
* fix(schema-compiler): Fix incorrect backAlias members collection for FILTER_PARAMS members (#9919)
* fix(schema-compiler): Fix incorrect backAlias members collection for FILTER_PARAMS members
* add tests
* more tests
* v1.3.59
* docs: Upgrade to Node.js v22
* chore(deps): bump mermaid from 10.9.3 to 10.9.4 in /docs (#9914)
Bumps [mermaid](https://github.com/mermaid-js/mermaid) from 10.9.3 to 10.9.4.
- [Release notes](https://github.com/mermaid-js/mermaid/releases)
- [Commits](https://github.com/mermaid-js/mermaid/compare/v10.9.3...v10.9.4)
---
updated-dependencies:
- dependency-name: mermaid
dependency-version: 10.9.4
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* fix(cubesql): Fix columns referencing outer context in subqueries (#9924)
* v1.3.60
* feat(tesseract): Full key aggregate and logical plan refactoring (#9807)
* fix(api-gateway): Remove stack information from error responses when not in dev mode to prevent leaking internals in prod (#9862)
* feat(schema-compiler): Support shorthand for userAttributes properties in models (#9921)
* more types (SymbolResolver)
* add userAttributes to CONTEXT_SYMBOLS
* add tests for CubePropContextTranspiler with userAttributes
* Rewrite shorthand for userAttributes to full path during transpilation
* remove unneded
* reduce scope to ACL only
* v1.3.61
* docs: Note on pre-aggregations schema name
* docs: Prefer literal over folded strings in YAML
* fix(tesseract): Dimnesions with granularity in group_by + drivers support (#9928)
* v1.3.62
* chore(deps): bump next from 14.2.30 to 14.2.32 in /docs (#9934)
Bumps [next](https://github.com/vercel/next.js) from 14.2.30 to 14.2.32.
- [Release notes](https://github.com/vercel/next.js/releases)
- [Changelog](https://github.com/vercel/next.js/blob/canary/release.js)
- [Commits](https://github.com/vercel/next.js/compare/v14.2.30...v14.2.32)
---
updated-dependencies:
- dependency-name: next
dependency-version: 14.2.32
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* docs: Add export bucket configuration for Trino and Presto (#9932)
* fix(cubejs-playground): rollup designer accordion (#9937)
* feat(cubesql): Add "planningId" param to SQL API planning events (#9939)
Signed-off-by: Alex Qyoun-ae <4062971+MazterQyou@users.noreply.github.com>
* v1.3.63
* feat(cubesql): Automatically cast literal strings in binary expressions (#9938)
* fix(cubesql): Fix SQL pushdown `TRUNC` template for Presto (#9944)
* v1.3.64
* fix(client-core): CubeSqlSchemaColumn type
* fix(cubesql): Correctly calculate eclass cost for recursive nodes (#9947)
* v1.3.65
* fix(schema-compiler): Fix sql parser for "?" (#9945)
* Fix sql parser for ?
* Fix lint
* Fix select alias
* pr review comments
* feat: Add "queryRewriteId" param to Query Rewrite events (#9949)
* v1.3.66
* fix(schema-compiler): Fix multifact joined queries in Tesseract (#9954)
* fix(cubesql): Pass window expressions in SQL push down (#9953)
* v1.3.67
* docs: Upgrade recommendations
* docs: Explanation of the Cube Cloud Region (#9952)
* fix(schema-compiler): Fix incorrect pre-aggregation matching for 'rollupJoin' and 'rollupLambda' pre-aggs (#9957)
* fix test for rollup join
* fix(schema-compiler): Fix incorrect pre-aggregation matching for 'rollupJoin' and 'rollupLambda' pre-aggs
* fix tests
* re-enable tests
* add more checks in tests
* chore(ci): Pass more cube env vars to drivers test (#9965)
* feat(cubesql): Print value of the date/time that couldn't be parsed (#9961)
* perf(schema-compiler): Improve yaml compilation speed (#9926)
* add convertedToJs flag
* pass toCompile to compileCubeFiles()
* refactored compileYamlFile() to not call compileJsFile directly
* moved yaml transpilation to transpile phase
* removed dataSchemaCompiler from YamlCompiler's deps
* renaming
* simplified code
* add PerfTracker
* inject perTracker measures in dataschemacompiler
* update CubePropContextTranspiler to support string keys
* replace original content with js on first phase
* update arrow func expression instead of blind copying
+ correct path collection
* fix grammar
* more types
* Preload Jinja templates to the engine
* remove perf logging
* simplified compileFile
* avoid mutating original repository files
* linter fix
* filter out files we don't transpile/compile
* move PerfTracker to backend-shared
* Refactor doCompile() to avoid content mutation
* refactor: split first and later compile/transpile stages
* improve transpilationNative
* perf(schema-compiler): YAML transpilation in worker threads (#9929)
* extracted yaml and jinja transpilation in separate functions
* implement yaml transpilation in worker threads
* fix to allow use threads and native in parallel
* just code polish
* small fix
* remove speed test as it is flacky
* introduce compiledYamlCache
* perf(schema-compiler): Support native YAML transpilation (#9948)
* Prepare transpileYaml in native + schema compiler
* fix test
fix/sync error message
* fix test
* perf(schema-compiler): Introduce compiledJinjaCache (#9950)
* reuse yaml transpilation flow for jinja files
* remove perf logging
* introduce compiledJinjaCache
* add a comment
* perf(schema-compiler): implement yaml native bulk transpilation (#9955)
* fix(schema-compiler): Pass filename alongside with errors to error reporter during transpilation (#9964)
* fix(schema-compiler): Fix memberToDataSource processing for views without cubes (#9974)
* v1.3.68
* feat(tesseract): Switch dimensions and case measures (#9951)
* v1.3.69
* fix(client-core): Fix time series generation (#9978)
* fix(playground): Include lower and upper bound of date range in time dimension filter in Playground (#9979)
* chore(tesseract): Native utils refactoring (#9685)
* fix(schema-compiler): Fix view transpilation for worker_threads and native flows (#9980)
* v1.3.70
* feat(cubesql): add `pg_catalog.pg_collation` table (#9968)
* chore(tesseract): Native utils functions and errors handling (#9981)
* feat(cubesql): `SET ROLE` changes authentication context (#9982)
* chore(deps): bump axios from 1.8.4 to 1.12.0 (#9969)
Bumps [axios](https://github.com/axios/axios) from 1.8.4 to 1.12.0.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v1.8.4...v1.12.0)
---
updated-dependencies:
- dependency-name: axios
dependency-version: 1.12.0
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* fix(native): Be happy, don't panic when unable to schedule task to PyRuntime (#9983)
* feat(native): Improve safety for Python into CLRepr conversion (#9984)
* v1.3.71
* feat: Upgrade rust 1.84.1 -> 1.90.0 (stable) (#9987)
* fix(native): Catch panic while calling python fn in PyRuntime (#9988)
* v1.3.72
* fix(cubesql): Fix push Limit-Sort down Projection recursion (#9986)
* fix(cubesql): Add missing aggregate expressions for `ORDER BY` clause (#9990)
* feat(cubesql): Support `SAVEPOINT`, `ROLLBACK TO`, `RELEASE` (#9992)
* chore(native): Benchmark python functionality (#9994)
* feat(cubesql): Match Tableau year-month extract filter pair as `inDateRange` (#9991)
* feat: Expose format field for measures/dimensions in meta (#9998)
* fix(cubestore): Disable quoting in csv parser for Athena (#9997)
* v1.3.73
* chore(cube): Fix presto integration test (#10001)
* chore(cubesql): Bump cube-js/arrow-datafusion (#10002)
* v1.3.74
* chore(deps): bump DuckDB from 1.3.1 to 1.4.0 (#10000)
* chore(deps): bump DuckDB from 1.3.1 to 1.4.0
---------
Co-authored-by: Hannes Oswald <hannes.oswald@prolion.com>
* fix: packages/cubejs-docker/latest-debian-jdk.Dockerfile to reduce vulnerabilities (#10003)
The following vulnerabilities are fixed with an upgrade:
- https://snyk.io/vuln/SNYK-DEBIAN12-PERL-5489190
- https://snyk.io/vuln/SNYK-DEBIAN12-ZLIB-6008963
- https://snyk.io/vuln/SNYK-DEBIAN12-PAM-10378969
- https://snyk.io/vuln/SNYK-DEBIAN12-PAM-10378969
- https://snyk.io/vuln/SNYK-DEBIAN12-PAM-10378969
Co-authored-by: snyk-bot <snyk-bot@snyk.io>
* fix: Merge measure/dimension's spec for formats (#10007)
Let's merge these types for now, because Cube still allows us to define all formats for all kinds of attributes.
* feat(docker): Security upgrade Node.js from 22.18.0 to 22.20.0 (#10008)
* v1.3.75
* revert(duckdb-driver): Revert version bump from 1.3.1 to 1.4.0
This reverts commit f9b6f0da20934786ab68f72e8805d21a156c7388.
* v1.3.76
* refactor(cubesql): Continue to remove MySQL related stuff (#10021)
* refactor(cubesql): Finally drop MySQL :skull: (#10022)
* fix(cubesql): Match reverse Tableau year-month extract filter (#10009)
* fix(schema-compiler): Do not collect disabled external pre-aggregations (#10014)
* fix(schema-compiler): Do not collect disabled external pre-aggregations
Signed-off-by: Alex Qyoun-ae <4062971+MazterQyou@users.noreply.github.com>
* code polish
* add a comment
---------
Signed-off-by: Alex Qyoun-ae <4062971+MazterQyou@users.noreply.github.com>
Co-authored-by: Konstantin Burkalev <KSDaemon@gmail.com>
* v1.3.77
* chore(ci): use Wait.forListeningPorts() in drivers tests (#10023)
* fix(snowflake-driver): Add support for IAM roles with IRSA for S3 export buckets (#10024)
* make keyId and secretKey optional for s3
* fix handling
* lint
* update docs
* update update-all-snapshots-local
* add driver test to gh workflow
* address comments
* revert docs changes
* update validation logic
* update comments
* fix storage integaration name
* Configure AWS credentials via IRSA
* add permissions
* code format
* uppercase storage integration
* Pass AWS envs to docker
* add tests snapshot
---------
Co-authored-by: Matthew Orford <morford@brex.com>
* fix(base-driver): Throw an error when the list of csv files from the bucket is empty (#9996)
* fix(base-driver): Throw an error when the list of csv files from the bucket is empty
* Update snowflake driver, do not try downloading CSV files if there were no rows exported.
+ removed copy/paste
* feat(schema-compiler): Pretty print compile errors grouped by files (#10025)
* Refactor ErrorReporter to pretty print errors
* add tests
* fix filename passed to errorReporter
* update snapshots
* v1.3.78
* docs(mdx): Write about formatting (#10016)
* chore(ci): Fix code coverage uploading to codecov (#10033)
* docs: Update AWS BYOC IAM role (#10035)
* docs: Elaborate on scheduled_refresh: false
* docs: Elaborate on CUBEJS_TOUCH_PRE_AGG_TIMEOUT
* chore(ci): Switch few packages unit tests to ts-jest (#10037)
* chore(ci): Switch backend-shared unit tests to ts-jest
* chore(ci): Switch query-orchestrator unit tests to ts-jest
* chore(ci): Switch base-driver unit tests to ts-jest
* fix(client-vue3): Cleanup polluted package-lock file
* fix(cubesql): Normalize timestamp/date expressions (#10040)
Signed-off-by: Alex Qyoun-ae <4062971+MazterQyou@users.noreply.github.com>
* feat(firebolt-driver): Pass CUBEJS_DB_QUERY_TIMEOUT to Firebolt driver (#10043)
* fix(sqlite-driver): Use pragma_table_info to fetch table columns (#10031)
* Add test for tablesSchema
* Use pragma_table_info to fetch table columns
* Rename test to unit
* Update package.json
I think It's enough to just call a `jest` as it will find out all the tests in expected place
---------
Co-authored-by: Konstantin Burkalev <KSDaemon@gmail.com>
* chore(ci): Automatic PR labeler (#10044)
* docs: Update banner in TOC (#10051)
* chore: Fix script name and command in contribution guide (#10047) — thanks @hank-sq!
Updated script name and command in CONTRIBUTING.md.
* docs: Remove localhost from ref in cast-numerics.mdx (#9946) — thanks @63r6o!
the links on this doc page were broken, they were pointing to localhost:3000
* feat(docs): Integrate Purple Banner component into documentation site (#10053)
Added the @cube-dev/purple-banner dependency and implemented it in the _app.tsx file to enhance the user interface with a promotional banner. The banner visibility is controlled via state and CSS transitions for a smooth appearance.
* chore(cubesql): Pass span_id to logical plan creation function (#10056)
Signed-off-by: Alex Qyoun-ae <4062971+MazterQyou@users.noreply.github.com>
* docs: Edits and fixes
* Update README.md
* feat(cubesql): PlanNormalize - reduce stack allocations (#10055)
| Stage | Description | Stack Size | Reduction | binary_expr |
|-------|-------------|------------|-----------|-------------|
| 1 | Original `Result<Expr>` | 11,429 bytes | baseline | - |
| 2 | `Result<Box<Expr>>` | 8,206 bytes | -28.2% | - |
| 3 | `grouping_set_normalize` opt | 7,990 bytes | -30.1% | 5,054 bytes |
| **4** | **binary_expr optimize** | **7,990 bytes** | **-30.1%** | **3,918 bytes** |
* v1.3.79
* chore(cubesql): Make `create_logical_plan` async (#10059)
Signed-off-by: Alex Qyoun-ae <4062971+MazterQyou@users.noreply.github.com>
* feat(schema-compiler): Use views join maps and hints for query joins construction (#10039)
* add tests
* enable view join tests for tesseract
* fix test
* temp comment out tests
* correct additional hints
predecessors comparator
OMG! Is it really working?!
everything works besides loop detection
correct additional hints: everything works besides loop detection
* trying to adopt loop test
fix actually incorrect tests
* linter fix
* small fix in error handling
* add test case for join maps test
* implement join maps
* update snapshot
* refactor tests
* add more tests
* return back loop for join resolution
* fix typo
* join map in tesseract
* enable view join tests for tesseract
* cargo fmt
* uncomment test
* remove println!
* remove unneeded rootOfJoin
* refactor tests
* fix linter warning
* refactor allJoinHints()
* refactor: extract inlined isJoinTreesEqual()
* remove unused
* add support for transitive joins in tesseract
* uncomment transitive joins tests for tesseract
* cargo fmt
* v1.3.80
* feat(tesseract): Full outer join support (#10057)
* v1.3.81
* fix(cube): Meta type for switch dimension (#10060)
* chore(ci): Allow labeler to correctly run on PRs from forks (#10062)
* feat(cubesql): PlanNormalize - reduce stack allocations (split by path) (#10067)
* feat(cubesql): Filter push down for date_part(?upper) AND date_part(?lower) (#10070)
Allowing filters to be pushed down with `DATE_PART('year', ?column) = ?year AND DATE_PART('quarter', ?column) = ?quarter` by pushing it as inDateRange. Now, such queries will be accelerated with pre-aggregations.
I am re-using code that we have for tablea, but without usage of `Trunc` as wrapper. I've added ability to merge date range with `quarter`.
* feat(cubesql): Push down Tableau year-month-day IN number filter to CubeScan (#10068)
Signed-off-by: Alex Qyoun-ae <4062971+MazterQyou@users.noreply.github.com>
* fix(schema-compiler): Oracle use `TO_TIMESTAMP_TZ` for `ISO 8601 with Z` for date and timestamp (#9970)
* fix(schema-compiler): use TO_TIMESTAMP_TZ for ISO 8601 with Z; keep index-friendly casts; add Oracle unit test
* fix lint
* fix
* fix(schema-compiler): Update Oracle test to expect both date range parameters
* fix
* cr comments fixes
---------
Co-authored-by: Konstantin Burkalev <KSDaemon@gmail.com>
* feat(cubesql): Filter push down for date_part(?upper) AND date_part('week') (#10071)
Allow to merge the week granularity date_part filter into the inDateRange. After that, it's possible to push down a complex filter:
WHERE DATE_PART('year', "order_date") = 2019 AND
DATE_PART('quarter', "order_date") = 2 AND
DATE_PART('month', "order_date") = 4 AND
DATE_PART('week', "order_date") = 15
We are using such filters in the MDX API
* v1.3.82
* fix(tesseract): Fix member name case conversion (#10064)
* fix(tesseract): Fix member name case conversion
Prepend "_" even to the first UPPERCASE letter in the name
* add tests
* fix tests
* cargo fmt
* fix(client-react): isLoading is set to false early (#10075)
* feat(cubesql): Push down `CAST(... AS DATE)` to CubeScan filters (#10081)
Signed-off-by: Alex Qyoun-ae <4062971+MazterQyou@users.noreply.github.com>
* chore(ci): Increase jest timeout for redshift tests to be able to pass (#10063)
* chore(ci): Increase jest timeout for redshift tests to be able to pass
* set CUBEJS_DB_MAX_POOL for Redshift Tests
* add delays between pre-aggs build
* decrease CUBEJS_DB_MAX_POOL
* decrease CUBEJS_DB_MAX_POOL
* add delay between create tables queries
* more delays for redshift
* more timeout adjustments
* increase timeouts
* comment put heavy tests
* skip tests for tesseract
* docs(mdx): Date hierarchies (#10082)
* feat(schema-compiler): Support time series queries in MySQL dialect in Tesseract (#10078)
* fix formatInterval() as MySQL doesn't support milliseconds
* more types
* add ilike templates for tesseract
* add time_series_* templates
* update snapshots
* add mysql + tesseract tests in CI
* skip some tests for tesseract
* cast as TIMESTAMP
* skip some tests for tesseract
* fix templates
* skip some tests for tesseract
* fix templates
* update snapshots
* fix skip tests
* feat(api-gateway): Introduce cache mode option for `/cubesql` API (#9972)
* add cache option to the query
* Pass CacheMode from /cubesql to backend
* imject CacheMode into more places
* update normalizeQuery with cache mode
* pass cache mode within graphql
* pass new cache mode in sqlApiLoad in API GW
* fix types imports
* update preAggs to use cache option instead of renewQuery
* code polish
* comments with types
* fix query type
* set default cacheMode = 'stale-if-slow' in normalize()
* more types and polish
* backbone code for 'stale-if-slow' & 'stale-while-revalidate'
* make query cache aware of queryBody.cache === 'must-revalidate'
* First attempt to implement 'no-cache' scenario
* add cache to open api spec and regenerate rust client
* pass cache mode to cubeScan
* cargo clippy/fmt
* Implement background refresh
* add cache mode descriptions
* remove query cache mode from normalize query
* pass cacheMode to getSqlResponseInternal
* remove obsolete
* add cacheMode as input param in orchestratorApi
* open api spec fix
* fix cubesql after introducing cacheMode
* rename cache → cacheMode
* clean up obsolete
* pass cache_mode from SqlApiLoadPayload
* fix important
* move 'no-cache' variant into queryCache.cachedQueryResult()
* remove cacheMode from client query body types (it's incorrect)
* switch RefreshScheduler to use cacheMode instead of renewQuery
* remove obsolete continueWait flag
* fix refresh scheduler
* add fallback to renewQuery in api gw
* fix tests
* Docs
* Deprecation
* refactor api gw: move copy/paste into this.normalizeCacheMode()
* fix tests snapshots
* return cacheMode into query object
* fix tests
* some cleanup (removed renewQuery)
* update cacheMod in graphql
* return back cache as public prop in query
* fix
* lint fix
# Conflicts:
# packages/cubejs-api-gateway/package.json
* fix subscribe()
* remove cache from subscribe
* fix CacheMode serialization
* refactor: move normalizeQueryCacheMode to normalize
---------
Co-authored-by: Igor Lukanin <igor@cube.dev>
* v1.3.83
* feat(schema-compiler): Support joins for proxied time dimensions in pre-aggregations (#10020)
* feat(schema-compiler): Support joins for proxied time dimensions in pre-aggregations
* add tests
* chore(ci): Fix timezones in cacheKeyQueries tests (#10087)
* fix(schema-compiler): add support for time filters and rolling windows and fix subquery aliasing in Oracle dialect (#10066)
* fix(schema-compiler): remove hardcoded AS keyword in subquery aliases for Oracle compatibility
Oracle database does not support the AS keyword for table/subquery aliasing,
while other databases like PostgreSQL and MySQL do. The existing BaseQuery
implementation hardcoded 'as' in subquery alias generation, causing Oracle
queries to fail.
This change:
- Replaces hardcoded 'as' with asSyntaxJoin property in BaseQuery
- Oracle returns empty string for asSyntaxJoin (no AS keyword)
- PostgreSQL/MySQL return 'AS' (maintains existing behavior)
- Adds comprehensive Oracle query test suite validating AS syntax removal
- Adds PostgreSQL regression test ensuring AS keyword is still present
This fixes queries with rolling windows and multiple subqueries on Oracle,
which previously generated invalid SQL like:
SELECT ... FROM (...) as q_0 INNER JOIN (...) as q_1 ON ...
Now Oracle correctly generates:
SELECT ... FROM (...) q_0 INNER JOIN (...) q_1 ON ...
* fix(oracle): add support for time filters and rolling windows
- Fix AS keyword in subquery aliases (Oracle doesn't support it)
- Handle time dimensions without granularity to prevent TypeError
- Implement Oracle-specific interval arithmetic using ADD_MONTHS and NUMTODSINTERVAL
- Add comprehensive test suite for Oracle query generation
These changes enable Oracle users to execute queries with:
- Time dimension filters without granularity specification
- Rolling windows and time-based calculations
- Multiple subqueries with proper aliasing
All changes maintain backward compatibility with other database adapters.
* add tests for subtractInterval and addInterval in oracle
* fix(oracle): exclude time dimensions without granularity from GROUP BY
Oracle's custom groupByClause() was incorrectly including time dimensions
without granularity in the GROUP BY clause, causing SQL errors when time
dimensions were used solely for filtering (no grouping).
Changes:
- Update OracleQuery.groupByClause() to check selectColumns() before
including dimensions in GROUP BY
- Time dimensions without granularity return null from selectColumns(),
so they are now properly excluded
- Add comprehensive tests for both PostgreSQL and Oracle covering:
* Time dimensions without granularity (filtering only)
* Time dimensions with granularity (grouping and filtering)
- Remove unnecessary guard in BaseQuery.dimensionTimeGroupedColumn()
as it's no longer needed with the Oracle-specific fix
The fix aligns Oracle's behavior with PostgreSQL, which already handles
this correctly through its base implementation.
* fix(cube-orchestrator): Deterministic column sequence in output (#10086)
* fix: Deterministic column sequence in output
* fix: tests fixed
* fix: Removed unused import
* chore(ci): trigger workflow rerun
---------
Co-authored-by: usman.yasin <usman.yasin@rystadenergy.com>
* fix(cubesql): Coerce strings with any type in binary expressions (#10088)
Signed-off-by: Alex Qyoun-ae <4062971+MazterQyou@users.noreply.github.com>
* feat(client-core): add CacheMode type (#10091)
* feat(client-core): add CacheMode type
* feat(client-core): add synchronization comment for CacheMode type
* v1.3.84
* fix(schema-compiler): Add missing numeric types to scaffolding schema, thanks @XUJiahua (#10079)
* fix(schema-compiler): Fix incorrect cache that affects query joins (#10084)
+ tests
* fix(schema-compiler): Fix pre-agg matching for 'rollupJoin' / 'rollupLambda' pre-aggregations (#10017)
* expose joinGraph from transformQueryToCanUseForm()
* get rid of ramda in favor of simple js
* preparing dimensionsMatch()
* fix(schema-compiler): Fix pre-agg matching for 'rollupJoin' / 'rollupLambda' pre-aggregations
* add tests
# Conflicts:
# packages/cubejs-schema-compiler/test/integration/postgres/pre-aggregations.test.ts
* add test for 3-cube rollupJoin pre-agg
* use rollupsReferences for 'rollupJoin' / 'rollupLambda' pre-agg matching
* fix old tests with new required fields
* more tests
* implement pre-agg matching using pre-agg join subgraphs
* fix incorrect cache for pre-aggs
* fix canUsePreAggregationNotAdditive
* skip test for tesseract
* export type
* more types
* build fullNames for rollupJoin/Lambda in the evaluatedPreAggregationObj()
* add memberShortNameFromPath() to Evaluator
* fix type
* get rid of references.fullName* in favor of fullpath-members
* some refactoring to avoid copy/paste
* add 'rollupJoin pre-aggregation matching with transitive joins' test
* fix buildRollupJoin
* fix resolveJoinMembers()
* implement sortMembersByJoinTree()
* fix joint hints collection for transitive joins
* remove obsolete
* revert back obsolete
* fix joint hints collection for transitive joins
* fix joint hints collection for transitive joins
* update joinTreeForHints() with skipQueryJoinMap flag
* fix buildRollupJoin()
* fix datamodel for rollupJoin tests
* simplify buildRollupJoin() and evaluatedPreAggregationObj()
* fix tests
* remove obsolete
* add test for pre-agg with not-full paths
* more types
* improve error message in preAggObjForJoin()
* fix(schema-compiler): Fix inherited drill members for views (#9966)
* Add drillMembers and drillMembersGrouped to inhereted properties by views
* feat: Implement drill member inheritance for view cubes and enhance error reporting
# Conflicts:
# packages/cubejs-schema-compiler/src/compiler/ErrorReporter.ts
* PR comments
* Move filtering logic to generateIncludeMembers
* more types in CubeSymbols
* Simplified drillMembers filtering for views
* fix/correct test comments
* update snapshot
* fix drill members inheritance (cases of non-owned members)
* fix tests
---------
Co-authored-by: Paco Valdez <paco@cube.dev>
* v1.3.85
* feat(tesseract): Bucketing (#10095)
* v1.3.86
* chore(cube): Remove debug output in integration tests (#10100)
* chore(ci): Fix codecov collection in push CI WF (#10099)
* docs: Calendar cubes
---------
Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Alex Qyoun-ae <4062971+MazterQyou@users.noreply.github.com>
Co-authored-by: Dmitry Patsura <talk@dmtry.me>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: waralexrom <108349432+waralexrom@users.noreply.github.com>
Co-authored-by: Konstantin Burkalev <KSDaemon@gmail.com>
Co-authored-by: Dmitriy Rusov <rusov.d.s@gmail.com>
Co-authored-by: Alena Batitskaia <solarrust@users.noreply.github.com>
Co-authored-by: Maxim <maxim@cube.dev>
Co-authored-by: Alex Qyoun-ae <4062971+MazterQyou@users.noreply.github.com>
Co-authored-by: Mike Nitsenko <mnitsenko@gmail.com>
Co-authored-by: Stuart Auld <sja@marsupialmusic.net>
Co-authored-by: mgaudin-open <112853573+mgaudin-open@users.noreply.github.com>
Co-authored-by: Pavel Tiunov <pavel.tiunov@gmail.com>
Co-authored-by: snyk-bot <snyk-bot@snyk.io>
Co-authored-by: Julio Avila <julioley32@gmail.com>
Co-authored-by: Émile Filteau-Tessier <emile.filteau@gmail.com>
Co-authored-by: Daniel Costa <113521963+dacosta444@users.noreply.github.com>
Co-authored-by: Daniel Costa <DanielCosta@criticalmanufacturing.com>
Co-authored-by: Andrey Yamanov <tenphi@gmail.com>
Co-authored-by: Alex Vasilev <alex@cube.dev>
Co-authored-by: Alex Vasilev <vaspiring@gmail.com>
Co-authored-by: Francisco Valdez de la Fuente <paco@cube.dev>
Co-authored-by: jocelynz-stripe <jocelynz@stripe.com>
Co-authored-by: Derek <doman412@users.noreply.github.com>
Co-authored-by: Giangblackk <giangblackk@gmail.com>
Co-authored-by: Hannes <65758037+hannosgit@users.noreply.github.com>
Co-authored-by: Hannes Oswald <hannes.oswald@prolion.com>
Co-authored-by: Matthew Orford <morford@brex.com>
Co-authored-by: Guille <54317276+guilledll@users.noreply.github.com>
Co-authored-by: Alexander Chiu <alexanderchiu@users.noreply.github.com>
Co-authored-by: Ludvig Fischerström <LFischerstrom@users.noreply.github.com>
Co-authored-by: Hank Ditton <157509033+hank-sq@users.noreply.github.com>
Co-authored-by: Gergo <102681223+63r6o@users.noreply.github.com>
Co-authored-by: Artyom Keydunov <artyom@cube.dev>
Co-authored-by: Tom Tankilevitch <59158507+Tankilevitch@users.noreply.github.com>
Co-authored-by: Usman Yasin <engr.usman.here@gmail.com>
Co-authored-by: usman.yasin <usman.yasin@rystadenergy.com>
Co-authored-by: johancube <johan@cube.dev>
Co-authored-by: XUJiahua <littleguner@gmail.com>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.