Skip to content

Commit 4ee36fb

Browse files
committed
Merge branch 'master' into fix-limit-pushdown-aliases
2 parents 77b89fe + 222cab8 commit 4ee36fb

File tree

31 files changed

+450
-117
lines changed

31 files changed

+450
-117
lines changed

.github/workflows/push.yml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -313,6 +313,11 @@ jobs:
313313
runs-on: ubuntu-20.04
314314
timeout-minutes: 60
315315
if: (needs['latest-tag-sha'].outputs.sha != github.sha)
316+
env:
317+
CLOUD_DATABASES: >
318+
firebolt
319+
# Athena (just to check for secrets availability)
320+
DRIVERS_TESTS_ATHENA_CUBEJS_AWS_KEY: ${{ secrets.DRIVERS_TESTS_ATHENA_CUBEJS_AWS_KEY }}
316321

317322
strategy:
318323
matrix:
@@ -370,6 +375,10 @@ jobs:
370375
retry_wait_seconds: 15
371376
timeout_minutes: 30
372377
command: ./.github/actions/integration/${{ matrix.db }}.sh
378+
# It's enough to test for any one secret because they are set all at once or not set all
379+
if: |
380+
(contains(env.CLOUD_DATABASES, matrix.db) && env.DRIVERS_TESTS_ATHENA_CUBEJS_AWS_KEY != '') ||
381+
(!contains(env.CLOUD_DATABASES, matrix.db))
373382
env:
374383
# Firebolt Integration
375384
DRIVERS_TESTS_FIREBOLT_CUBEJS_FIREBOLT_ENGINE_NAME: ${{ secrets.DRIVERS_TESTS_FIREBOLT_CUBEJS_FIREBOLT_ENGINE_NAME }}

docs/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
"update-links": "ts-node --esm scripts/update-links.mjs"
1515
},
1616
"dependencies": {
17-
"@cube-dev/marketing-ui": "0.0.1-beta.17",
17+
"@cube-dev/marketing-ui": "0.0.1-beta.22",
1818
"@cubejs-client/core": "^0.32.17",
1919
"@radix-ui/react-dialog": "^1.0.4",
2020
"@radix-ui/react-navigation-menu": "^1.1.3",

docs/pages/guides/recipes/data-modeling/using-dynamic-measures.mdx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,8 @@ statuses from an external API. To calculate the orders percentage distribution,
2121
we need to create several
2222
[measures](/product/data-modeling/concepts#measures) that refer to
2323
each other. But we don't want to manually change the data model for each new
24-
status. To solve this, we will create a
25-
[schema dynamically](/product/data-modeling/dynamic).
24+
status. To solve this, we will create a [data model
25+
dynamically](/product/data-modeling/dynamic).
2626

2727
## Data modeling
2828

docs/pages/product/apis-integrations/semantic-layer-sync.mdx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -292,7 +292,7 @@ When the data model is updated, all configured syncs will automatically run.
292292
<WarningBox>
293293

294294
If data model is updated dynamically and the
295-
[`schemaVersion`][ref-config-schemaversion] configuration option is used to
295+
[`schema_version`][ref-config-schemaversion] configuration option is used to
296296
track data model changes, syncs will not automatically run. This behavior is
297297
disabled by default. Please contact support to enable running syncs when the
298298
data model is updated dynamically for your Cube Cloud account.
@@ -399,7 +399,7 @@ on, i.e., your development mode branch, shared branch, or main branch.
399399
[ref-config-file]: /product/configuration#configuration-options
400400
[ref-config-sls]: /reference/configuration/config#semanticlayersync
401401
[ref-config-contexts]: /reference/configuration/config#scheduledrefreshcontexts
402-
[ref-config-schemaversion]: /reference/configuration/config#schemaversion
402+
[ref-config-schemaversion]: /reference/configuration/config#schema_version
403403
[ref-workspace-sls]: /workspace/bi-integrations
404404
[ref-dev-mode]: /product/workspace/dev-mode
405405
[ref-auto-sus]: /product/deployment/cloud/auto-suspension

docs/pages/product/caching/getting-started-pre-aggregations.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ several orders of magnitude, and ensures subsequent queries can be served by the
3131
same condensed dataset if any matching attributes are found.
3232

3333
[Pre-aggregations are defined within each cube's data
34-
schema][ref-schema-preaggs], and cubes can have as many pre-aggregations as they
34+
model][ref-schema-preaggs], and cubes can have as many pre-aggregations as they
3535
require. The pre-aggregated data is stored in [Cube Store, a dedicated pre-aggregation storage
3636
layer][ref-caching-preaggs-cubestore].
3737

docs/pages/product/caching/matching-pre-aggregations.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ checked for additivity.
4747
- **Does every member of the query exist in the pre-aggregation?** Cube checks
4848
that the pre-aggregation contains all dimensions, filter dimensions, and leaf
4949
measures from the query.
50-
- **Are any query measures multiplied in the cube's data schema?** Cube checks
50+
- **Are any query measures multiplied in the cube's data model?** Cube checks
5151
if any measures are multiplied via a [`one_to_many`
5252
relationship][ref-schema-joins-rel] between cubes in the query.
5353
- **Does the query specify granularity for its time dimension?** Cube checks

docs/pages/product/configuration/data-sources/pinot.mdx

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ redirect_from:
77

88
[Apache Pinot][link-pinot] is a real-time distributed OLAP datastore purpose-built
99
for low-latency, high-throughput analytics, and perfect for user-facing analytical
10-
workloads.
10+
workloads. [StarTree][link-startree] is a fully-managed platform for Pinot.
1111

1212
## Prerequisites
1313

@@ -44,6 +44,8 @@ CUBEJS_DB_PASS=**********
4444
| `CUBEJS_DB_PORT` | The port for the database connection | A valid port number ||
4545
| `CUBEJS_DB_USER` | The username used to connect to the broker | A valid username ||
4646
| `CUBEJS_DB_PASS` | The password used to connect to the broker | A valid password ||
47+
| `CUBEJS_DB_NAME` | The database name for StarTree | A valid name ||
48+
| `CUBEJS_DB_PINOT_AUTH_TOKEN` | The authentication token for StarTree | A valid token ||
4749

4850
## Pre-Aggregation Feature Support
4951

@@ -96,3 +98,4 @@ Cube does not require any additional configuration to enable SSL as Pinot connec
9698
[ref-recipe-enable-ssl]:
9799
/guides/recipes/data-sources/using-ssl-connections-to-data-source
98100
[ref-schema-ref-types-formats-countdistinctapprox]: /reference/data-model/types-and-formats#count_distinct_approx
101+
[link-startree]: https://startree.ai

docs/pages/product/configuration/visualization-tools/explo.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ some tables:
5252

5353
To query your data, go to the&nbsp;<Btn>Dashboards</Btn> page and
5454
click&nbsp;<Btn>Create Dashboard</Btn>. Proceed with adding a new dataset
55-
to this dashboard by clicking&nbsp;<Btn>+</Btn> (choose the schema you've
55+
to this dashboard by clicking&nbsp;<Btn>+</Btn> (choose the data model you've
5656
created just a few minutes ago):
5757

5858
<Screenshot src="https://ucarecdn.com/d57adb21-9af8-4446-b5cd-296ebe5c912e/"/>

docs/pages/product/data-modeling/dynamic/javascript.mdx

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,11 @@ For similar functionality in YAML, see [Dynamic data models with Jinja and Pytho
99
</InfoBox>
1010

1111
Cube allows data models to be created on-the-fly using a special
12-
[`asyncModule()`][ref-async-module] function only available in the [schema
13-
execution environment][ref-schema-env]. `asyncModule()` allows registering an
12+
[`asyncModule()`][ref-async-module] function only available in the
13+
[execution environment][ref-schema-env]. `asyncModule()` allows registering an
1414
async function to be executed at the end of the data model compile phase so
1515
additional definitions can be added. This is often useful in situations where
16-
schema properties can be dynamically updated through an API, for example.
16+
data model properties can be dynamically updated through an API, for example.
1717

1818
<WarningBox>
1919

@@ -91,7 +91,7 @@ generate data models from that data:
9191
/product/data-modeling/dynamic/schema-execution-environment#cube-js-globals-cube-and-others
9292

9393
```javascript
94-
// model/cubes/DynamicSchema.js
94+
// model/cubes/DynamicDataModel.js
9595
const fetch = require("node-fetch");
9696
import {
9797
convertStringPropToFunction,
@@ -144,10 +144,10 @@ asyncModule(async () => {
144144
});
145145
```
146146

147-
## Usage with schemaVersion
147+
## Usage with `schema_version`
148148

149149
It is also useful to be able to recompile the data model when there are changes
150-
in the underlying input data. For this purpose, the [`schemaVersion`
150+
in the underlying input data. For this purpose, the [`schema_version`
151151
][link-config-schema-version] value in the `cube.js` configuration options can
152152
be specified as an asynchronous function:
153153

@@ -156,26 +156,26 @@ be specified as an asynchronous function:
156156
module.exports = {
157157
schemaVersion: async ({ securityContext }) => {
158158
const schemaVersions = await (
159-
await fetch("http://your-api-endpoint/schemaVersion")
159+
await fetch("http://your-api-endpoint/schema_version")
160160
).json();
161161

162162
return schemaVersions[securityContext.tenantId];
163163
},
164164
};
165165
```
166166

167-
[link-config-schema-version]: /reference/configuration/config#schemaversion
167+
[link-config-schema-version]: /reference/configuration/config#schema_version
168168

169169
## Usage with COMPILE_CONTEXT
170170

171171
The `COMPILE_CONTEXT` global object can also be used in conjunction with async
172-
schema creation to allow for multi-tenant deployments of Cube.
172+
data model creation to allow for multi-tenant deployments of Cube.
173173

174174
In an example scenario where all tenants share the same cube, but see different
175175
dimensions and measures, you could do the following:
176176

177177
```javascript
178-
// model/cubes/DynamicSchema.js
178+
// model/cubes/DynamicDataModel.js
179179
const fetch = require("node-fetch");
180180
import {
181181
convertStringPropToFunction,
@@ -223,7 +223,7 @@ asyncModule(async () => {
223223

224224
When using multiple databases, you'll need to ensure you set the
225225
[`data_source`][ref-schema-datasource] property for any asynchronously-created
226-
schemas, as well as ensuring the corresponding database drivers are set up with
226+
data models, as well as ensuring the corresponding database drivers are set up with
227227
[`driverFactory()`][ref-config-driverfactory] in your [`cube.js` configuration
228228
file][ref-config].
229229

@@ -235,7 +235,7 @@ For an example scenario where data models may use either MySQL or Postgres
235235
databases, you could do the following:
236236

237237
```javascript
238-
// model/cubes/DynamicSchema.js
238+
// model/cubes/DynamicDataModel.js
239239
const fetch = require("node-fetch");
240240
import {
241241
convertStringPropToFunction,

docs/pages/product/data-modeling/dynamic/schema-execution-environment.mdx

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -50,8 +50,8 @@ cube(`users`, {
5050
Data models cannot access `console.log` due to a separate [VM
5151
instance][nodejs-vm] that runs it. Suppose you find yourself writing complex
5252
logic for SQL generation that depends on a lot of external input. In that case,
53-
you probably want to introduce a helper service outside of `schema` directory
54-
that you can debug as usual Node.js code.
53+
you probably want to introduce a helper service outside of the [data model
54+
directory][ref-schema-path] that you can debug as usual Node.js code.
5555

5656
## Cube globals (cube and others)
5757

@@ -109,8 +109,8 @@ cube(`users`, {
109109
## asyncModule
110110

111111
Data models can be externally stored and retrieved through an asynchronous
112-
operation using the `asyncModule()`. For more information, consult the [Dynamic
113-
Schema Creation][ref-dynamic-schemas] page.
112+
operation using the `asyncModule()`. For more information, consult the [dynamic
113+
data model creation][ref-dynamic-schemas].
114114

115115
## Context symbols transpile
116116

@@ -191,3 +191,4 @@ cube(`users`, {
191191
[nodejs-require]: https://nodejs.org/api/modules.html#modules_require_id
192192
[ref-dynamic-schemas]: /product/data-modeling/dynamic
193193
[self-require]: #require
194+
[ref-schema-path]: /reference/configuration/config#schema_path

0 commit comments

Comments
 (0)