The response has been limited to 50k tokens of the smallest files in the repo. You can remove this limitation by removing the max tokens filter.
├── .dockerignore
├── .editorconfig
├── .github
    ├── ISSUE_TEMPLATE
    │   ├── bug_report.md
    │   ├── feature_request.md
    │   ├── question.md
    │   └── sql_api_query_issue.md
    ├── actions
    │   ├── codecov-fix.sh
    │   ├── deploy-example.sh
    │   ├── init-ci
    │   │   └── action.yaml
    │   ├── integration
    │   │   ├── athena.sh
    │   │   ├── bigquery.sh
    │   │   ├── clickhouse.sh
    │   │   ├── crate.sh
    │   │   ├── cubestore.sh
    │   │   ├── dremio.sh
    │   │   ├── druid.sh
    │   │   ├── elasticsearch.sh
    │   │   ├── firebolt.sh
    │   │   ├── mongobi.sh
    │   │   ├── mssql.sh
    │   │   ├── mysql-aurora-serverless.sh
    │   │   ├── mysql.sh
    │   │   ├── postgres.sh
    │   │   ├── prestodb.sh
    │   │   ├── snowflake.sh
    │   │   ├── trino.sh
    │   │   └── vertica.sh
    │   └── smoke.sh
    ├── buildkitd.toml
    ├── dependabot.yml
    ├── label-actions.yml
    ├── pull_request_template.md
    └── workflows
    │   ├── cross-images.yml
    │   ├── drivers-tests.yml
    │   ├── examples-publish.yml
    │   ├── issue-labeler.yml
    │   ├── master.yml
    │   ├── post-release.yml
    │   ├── pr.yml
    │   ├── publish.yml
    │   ├── push.yml
    │   ├── rust-cubesql.yml
    │   ├── rust-cubestore-master.yml
    │   ├── rust-cubestore.yml
    │   └── workflow-lint.yml
├── .gitignore
├── .npmpackagejsonlintrc.json
├── .nvmrc
├── .yarnrc.yml
├── CHANGELOG.md
├── CODEOWNERS
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.md
├── DCO.md
├── DEPRECATION.md
├── LICENSE
├── README.md
├── SECURITY.md
├── codecov.yml
├── dev-env.sh
├── docs
    ├── .claude
    │   └── commands
    │   │   └── move-page.md
    ├── .gitignore
    ├── CLAUDE.md
    ├── README.md
    ├── components
    │   ├── common
    │   │   ├── BlogButton
    │   │   │   ├── Button.module.css
    │   │   │   ├── Button.tsx
    │   │   │   └── index.ts
    │   │   ├── Button
    │   │   │   ├── Button.module.scss
    │   │   │   ├── Button.tsx
    │   │   │   ├── dislike.inline.svg
    │   │   │   └── like.inline.svg
    │   │   ├── CubeLogo.tsx
    │   │   ├── FeedbackBlock
    │   │   │   ├── FeedbackBlock.module.css
    │   │   │   ├── FeedbackBlock.tsx
    │   │   │   ├── FeedbackForm.module.css
    │   │   │   └── FeedbackForm.tsx
    │   │   ├── Footer
    │   │   │   ├── Footer.module.css
    │   │   │   ├── Footer.tsx
    │   │   │   └── index.ts
    │   │   ├── LogoWithVersion
    │   │   │   ├── LogoWithVersion.module.scss
    │   │   │   └── LogoWithVersion.tsx
    │   │   ├── Navigation.tsx
    │   │   └── SocialIcon
    │   │   │   ├── SocialIcon.module.css
    │   │   │   └── SocialIcon.tsx
    │   ├── layouts
    │   │   └── MainLayout.tsx
    │   ├── mdx
    │   │   ├── AlertBox
    │   │   │   ├── AlertBox.module.css
    │   │   │   └── AlertBox.tsx
    │   │   ├── Banners
    │   │   │   └── CommunitySupportedDriver.tsx
    │   │   ├── CaseStudyPromoBlock
    │   │   │   ├── CaseStudyPromoBlock.module.scss
    │   │   │   └── CaseStudyPromoBlock.tsx
    │   │   ├── CloudPromoBlock
    │   │   │   ├── CloudPromoBlock.module.scss
    │   │   │   ├── CloudPromoBlock.tsx
    │   │   │   └── cube-cloud-icon.svg
    │   │   ├── CodeTabs
    │   │   │   ├── CodeTabs.module.scss
    │   │   │   ├── CodeTabs.tsx
    │   │   │   ├── dictionary.ts
    │   │   │   └── index.ts
    │   │   ├── CubeQueryResultSet
    │   │   │   └── index.tsx
    │   │   ├── EventPromoBlock
    │   │   │   ├── EventPromoBlock.module.scss
    │   │   │   ├── EventPromoBlock.tsx
    │   │   │   ├── now.svg
    │   │   │   └── upcoming.svg
    │   │   ├── GitHubCodeBlock
    │   │   │   └── index.tsx
    │   │   ├── GitHubFolderLink
    │   │   │   └── index.tsx
    │   │   ├── Grid
    │   │   │   ├── Grid.module.css
    │   │   │   ├── Grid.tsx
    │   │   │   ├── GridItem.module.css
    │   │   │   └── GridItem.tsx
    │   │   ├── InlineButton
    │   │   │   ├── InlineButton.module.scss
    │   │   │   └── InlineButton.tsx
    │   │   ├── LoomVideo
    │   │   │   ├── LoomVideo.module.scss
    │   │   │   └── LoomVideo.tsx
    │   │   ├── ReferenceDocs
    │   │   │   └── ParameterTable.tsx
    │   │   ├── Screenshot
    │   │   │   ├── index.tsx
    │   │   │   └── styles.module.scss
    │   │   ├── Snippets
    │   │   │   ├── SnippetGroup.tsx
    │   │   │   └── styles.module.css
    │   │   ├── YouTubeVideo
    │   │   │   ├── YouTubeVideo.tsx
    │   │   │   └── YoutubeVideo.module.scss
    │   │   └── index.ts
    │   ├── overrides
    │   │   ├── Anchor
    │   │   │   ├── Anchor.tsx
    │   │   │   ├── Link.module.scss
    │   │   │   └── Link.tsx
    │   │   ├── Code
    │   │   │   ├── Code.module.scss
    │   │   │   └── Code.tsx
    │   │   ├── Headings
    │   │   │   └── H1.tsx
    │   │   ├── TOC
    │   │   │   └── TOCTitle.tsx
    │   │   └── Table
    │   │   │   ├── Table.module.scss
    │   │   │   ├── Table.tsx
    │   │   │   ├── Td.module.scss
    │   │   │   ├── Td.tsx
    │   │   │   ├── Th.module.scss
    │   │   │   ├── Th.tsx
    │   │   │   ├── Tr.module.scss
    │   │   │   └── Tr.tsx
    │   └── pages
    │   │   └── Overview.tsx
    ├── content
    │   └── cube-logo-with-bg.png
    ├── fonts
    │   ├── CeraPro-Bold.woff
    │   ├── CeraPro-Bold.woff2
    │   ├── CeraPro-Medium.woff
    │   ├── CeraPro-Medium.woff2
    │   ├── CeraPro-Regular-Italic.woff
    │   ├── CeraPro-Regular-Italic.woff2
    │   ├── CeraPro-Regular.woff
    │   ├── CeraPro-Regular.woff2
    │   ├── JetBrainsMono-Regular.woff2
    │   ├── SourceCodePro-Regular.otf
    │   ├── SourceCodePro-Regular.woff2
    │   └── original
    │   │   ├── CeraPro-Bold.otf
    │   │   ├── CeraPro-Bold.woff
    │   │   ├── CeraPro-Bold.woff2
    │   │   ├── CeraPro-Medium.eot
    │   │   ├── CeraPro-Medium.woff
    │   │   ├── CeraPro-Medium.woff2
    │   │   ├── CeraPro-Regular.eot
    │   │   ├── CeraPro-Regular.woff
    │   │   └── CeraPro-Regular.woff2
    ├── next-sitemap.config.js
    ├── next.config.mjs
    ├── package.json
    ├── pages
    │   ├── _app.tsx
    │   ├── _meta.js
    │   ├── docs.mdx
    │   └── product
    │   │   ├── _meta.js
    │   │   ├── apis-integrations.mdx
    │   │   ├── apis-integrations
    │   │       ├── _meta.js
    │   │       ├── dax-api.mdx
    │   │       ├── dax-api
    │   │       │   ├── _meta.js
    │   │       │   └── reference.mdx
    │   │       ├── google-sheets.mdx
    │   │       ├── graphql-api.mdx
    │   │       ├── graphql-api
    │   │       │   ├── _meta.js
    │   │       │   └── reference.mdx
    │   │       ├── javascript-sdk.mdx
    │   │       ├── javascript-sdk
    │   │       │   ├── _meta.js
    │   │       │   ├── angular.mdx
    │   │       │   ├── react.mdx
    │   │       │   ├── reference
    │   │       │   │   ├── _meta.js
    │   │       │   │   ├── cubejs-client-core.mdx
    │   │       │   │   ├── cubejs-client-ngx.mdx
    │   │       │   │   ├── cubejs-client-react.mdx
    │   │       │   │   ├── cubejs-client-vue.mdx
    │   │       │   │   └── cubejs-client-ws-transport.mdx
    │   │       │   └── vue.mdx
    │   │       ├── mdx-api.mdx
    │   │       ├── microsoft-excel.mdx
    │   │       ├── orchestration-api.mdx
    │   │       ├── orchestration-api
    │   │       │   ├── airflow.mdx
    │   │       │   ├── dagster.mdx
    │   │       │   └── prefect.mdx
    │   │       ├── queries.mdx
    │   │       ├── recipes
    │   │       │   ├── _meta.js
    │   │       │   ├── cast-numerics.mdx
    │   │       │   ├── drilldowns.mdx
    │   │       │   ├── getting-unique-values-for-a-field.mdx
    │   │       │   ├── pagination.mdx
    │   │       │   ├── real-time-data-fetch.mdx
    │   │       │   └── sorting.mdx
    │   │       ├── rest-api.mdx
    │   │       ├── rest-api
    │   │       │   ├── _meta.js
    │   │       │   ├── query-format.mdx
    │   │       │   └── reference.mdx
    │   │       ├── semantic-layer-sync.mdx
    │   │       ├── semantic-layer-sync
    │   │       │   ├── _meta.js
    │   │       │   ├── metabase.mdx
    │   │       │   ├── preset.mdx
    │   │       │   ├── superset.mdx
    │   │       │   └── tableau.mdx
    │   │       ├── sql-api.mdx
    │   │       └── sql-api
    │   │       │   ├── _meta.js
    │   │       │   ├── joins.mdx
    │   │       │   ├── query-format.mdx
    │   │       │   ├── reference.mdx
    │   │       │   └── security.mdx
    │   │   ├── auth.mdx
    │   │   ├── auth
    │   │       ├── _meta.js
    │   │       ├── context.mdx
    │   │       ├── data-access-policies.mdx
    │   │       ├── member-level-security.mdx
    │   │       ├── methods.mdx
    │   │       ├── methods
    │   │       │   ├── _meta.js
    │   │       │   ├── identity-provider.mdx
    │   │       │   ├── jwt.mdx
    │   │       │   ├── kerberos.mdx
    │   │       │   ├── name-password.mdx
    │   │       │   └── ntlm.mdx
    │   │       ├── recipes
    │   │       │   ├── _meta.js
    │   │       │   ├── auth0-guide.mdx
    │   │       │   ├── aws-cognito.mdx
    │   │       │   ├── column-based-access.mdx
    │   │       │   ├── controlling-access-to-cubes-and-views.mdx
    │   │       │   ├── enforcing-mandatory-filters.mdx
    │   │       │   ├── role-based-access.mdx
    │   │       │   └── sql-api-ldap.mdx
    │   │       └── row-level-security.mdx
    │   │   ├── caching.mdx
    │   │   ├── caching
    │   │       ├── _meta.js
    │   │       ├── getting-started-pre-aggregations.mdx
    │   │       ├── lambda-pre-aggregations.mdx
    │   │       ├── matching-pre-aggregations.mdx
    │   │       ├── recipes
    │   │       │   ├── _meta.js
    │   │       │   ├── disabling-pre-aggregations.mdx
    │   │       │   ├── incrementally-building-pre-aggregations-for-a-date-range.mdx
    │   │       │   ├── joining-multiple-data-sources.mdx
    │   │       │   ├── non-additivity.mdx
    │   │       │   ├── refreshing-select-partitions.mdx
    │   │       │   └── using-originalsql-and-rollups-effectively.mdx
    │   │       ├── refreshing-pre-aggregations.mdx
    │   │       ├── running-in-production.mdx
    │   │       └── using-pre-aggregations.mdx
    │   │   ├── configuration.mdx
    │   │   ├── configuration
    │   │       ├── _meta.js
    │   │       ├── concurrency.mdx
    │   │       ├── data-sources.mdx
    │   │       ├── data-sources
    │   │       │   ├── _meta.js
    │   │       │   ├── aws-athena.mdx
    │   │       │   ├── aws-redshift.mdx
    │   │       │   ├── clickhouse.mdx
    │   │       │   ├── databricks-jdbc.mdx
    │   │       │   ├── druid.mdx
    │   │       │   ├── duckdb.mdx
    │   │       │   ├── elasticsearch.mdx
    │   │       │   ├── firebolt.mdx
    │   │       │   ├── google-bigquery.mdx
    │   │       │   ├── hive.mdx
    │   │       │   ├── ksqldb.mdx
    │   │       │   ├── materialize.mdx
    │   │       │   ├── mongodb.mdx
    │   │       │   ├── ms-fabric.mdx
    │   │       │   ├── ms-sql.mdx
    │   │       │   ├── mysql.mdx
    │   │       │   ├── oracle.mdx
    │   │       │   ├── pinot.mdx
    │   │       │   ├── postgres.mdx
    │   │       │   ├── presto.mdx
    │   │       │   ├── questdb.mdx
    │   │       │   ├── risingwave.mdx
    │   │       │   ├── singlestore.mdx
    │   │       │   ├── snowflake.mdx
    │   │       │   ├── sqlite.mdx
    │   │       │   ├── trino.mdx
    │   │       │   └── vertica.mdx
    │   │       ├── multiple-data-sources.mdx
    │   │       ├── multitenancy.mdx
    │   │       ├── recipes
    │   │       │   ├── _meta.js
    │   │       │   ├── custom-data-model-per-tenant.mdx
    │   │       │   ├── data-store-cost-saving-guide.mdx
    │   │       │   ├── environment-variables.mdx
    │   │       │   ├── multiple-sources-same-schema.mdx
    │   │       │   └── using-ssl-connections-to-data-source.mdx
    │   │       ├── reference
    │   │       │   ├── _meta.js
    │   │       │   ├── config.mdx
    │   │       │   └── environment-variables.mdx
    │   │       ├── visualization-tools.mdx
    │   │       └── visualization-tools
    │   │       │   ├── _meta.js
    │   │       │   ├── appsmith.mdx
    │   │       │   ├── bubble.mdx
    │   │       │   ├── budibase.mdx
    │   │       │   ├── deepnote.mdx
    │   │       │   ├── excel.mdx
    │   │       │   ├── explo.mdx
    │   │       │   ├── google-sheets.mdx
    │   │       │   ├── hashboard.mdx
    │   │       │   ├── hex.mdx
    │   │       │   ├── hightouch.mdx
    │   │       │   ├── jupyter.mdx
    │   │       │   ├── klipfolio.mdx
    │   │       │   ├── langchain.mdx
    │   │       │   ├── looker-studio.mdx
    │   │       │   ├── metabase.mdx
    │   │       │   ├── observable.mdx
    │   │       │   ├── powerbi.mdx
    │   │       │   ├── push-ai.mdx
    │   │       │   ├── qlik-sense.mdx
    │   │       │   ├── quicksight.mdx
    │   │       │   ├── retool.mdx
    │   │       │   ├── rudderstack.mdx
    │   │       │   ├── sigma.mdx
    │   │       │   ├── steep.mdx
    │   │       │   ├── streamlit.mdx
    │   │       │   ├── superset.mdx
    │   │       │   ├── tableau.mdx
    │   │       │   ├── thoughtspot.mdx
    │   │       │   └── unity-catalog.mdx
    │   │   ├── data-modeling
    │   │       ├── _meta.js
    │   │       ├── concepts.mdx
    │   │       ├── concepts
    │   │       │   ├── _meta.js
    │   │       │   ├── calculated-members.mdx
    │   │       │   ├── code-reusability-extending-cubes.mdx
    │   │       │   ├── data-blending.mdx
    │   │       │   ├── multi-stage-calculations.mdx
    │   │       │   ├── polymorphic-cubes.mdx
    │   │       │   └── working-with-joins.mdx
    │   │       ├── dynamic.mdx
    │   │       ├── dynamic
    │   │       │   ├── _meta.js
    │   │       │   ├── code-reusability-export-and-import.mdx
    │   │       │   ├── javascript.mdx
    │   │       │   ├── jinja.mdx
    │   │       │   └── schema-execution-environment.mdx
    │   │       ├── overview.mdx
    │   │       ├── recipes
    │   │       │   ├── _meta.js
    │   │       │   ├── active-users.mdx
    │   │       │   ├── cohort-retention.mdx
    │   │       │   ├── custom-calendar.mdx
    │   │       │   ├── custom-granularity.mdx
    │   │       │   ├── dbt.mdx
    │   │       │   ├── designing-metrics.mdx
    │   │       │   ├── dynamic-union-tables.mdx
    │   │       │   ├── entity-attribute-value.mdx
    │   │       │   ├── event-analytics.mdx
    │   │       │   ├── filtered-aggregates.mdx
    │   │       │   ├── funnels.mdx
    │   │       │   ├── nested-aggregates.mdx
    │   │       │   ├── passing-dynamic-parameters-in-a-query.mdx
    │   │       │   ├── percentiles.mdx
    │   │       │   ├── period-over-period.mdx
    │   │       │   ├── snapshots.mdx
    │   │       │   ├── string-time-dimensions.mdx
    │   │       │   ├── style-guide.mdx
    │   │       │   ├── using-dynamic-measures.mdx
    │   │       │   └── xirr.mdx
    │   │       ├── reference
    │   │       │   ├── _meta.js
    │   │       │   ├── context-variables.mdx
    │   │       │   ├── cube-package.mdx
    │   │       │   ├── cube.mdx
    │   │       │   ├── cube_dbt.mdx
    │   │       │   ├── data-access-policies.mdx
    │   │       │   ├── dimensions.mdx
    │   │       │   ├── hierarchies.mdx
    │   │       │   ├── joins.mdx
    │   │       │   ├── lkml2cube.mdx
    │   │       │   ├── measures.mdx
    │   │       │   ├── pre-aggregations.mdx
    │   │       │   ├── segments.mdx
    │   │       │   ├── types-and-formats.mdx
    │   │       │   └── view.mdx
    │   │       └── syntax.mdx
    │   │   ├── deployment.mdx
    │   │   ├── deployment
    │   │       ├── _meta.js
    │   │       ├── cloud.mdx
    │   │       ├── cloud
    │   │       │   ├── _meta.js
    │   │       │   ├── auto-suspension.mdx
    │   │       │   ├── byoc.mdx
    │   │       │   ├── byoc
    │   │       │   │   ├── _meta.js
    │   │       │   │   ├── aws.mdx
    │   │       │   │   └── azure.mdx
    │   │       │   ├── continuous-deployment.mdx
    │   │       │   ├── custom-domains.mdx
    │   │       │   ├── deployment-types.mdx
    │   │       │   ├── deployments.mdx
    │   │       │   ├── infrastructure.mdx
    │   │       │   ├── limits.mdx
    │   │       │   ├── pricing.mdx
    │   │       │   ├── providers.mdx
    │   │       │   ├── providers
    │   │       │   │   ├── _meta.js
    │   │       │   │   ├── aws.mdx
    │   │       │   │   ├── azure.mdx
    │   │       │   │   └── gcp.mdx
    │   │       │   ├── scalability.mdx
    │   │       │   ├── support.mdx
    │   │       │   ├── vpc.mdx
    │   │       │   ├── vpc
    │   │       │   │   ├── _meta.js
    │   │       │   │   ├── aws.mdx
    │   │       │   │   ├── aws
    │   │       │   │   │   ├── _meta.js
    │   │       │   │   │   ├── private-link.mdx
    │   │       │   │   │   └── vpc-peering.mdx
    │   │       │   │   ├── azure.mdx
    │   │       │   │   └── gcp.mdx
    │   │       │   └── warm-up.mdx
    │   │       ├── core.mdx
    │   │       └── production-checklist.mdx
    │   │   ├── distribution.mdx
    │   │   ├── getting-started.mdx
    │   │   ├── getting-started
    │   │       ├── _meta.js
    │   │       ├── cloud.mdx
    │   │       ├── cloud
    │   │       │   ├── _meta.js
    │   │       │   ├── connect-to-snowflake.mdx
    │   │       │   ├── create-data-model.mdx
    │   │       │   ├── load-data.mdx
    │   │       │   ├── query-from-bi.mdx
    │   │       │   └── query-from-react-app.mdx
    │   │       ├── core.mdx
    │   │       ├── core
    │   │       │   ├── _meta.js
    │   │       │   ├── add-a-pre-aggregation.mdx
    │   │       │   ├── create-a-project.mdx
    │   │       │   ├── learn-more.mdx
    │   │       │   └── query-data.mdx
    │   │       ├── databricks.mdx
    │   │       ├── databricks
    │   │       │   ├── _meta.js
    │   │       │   ├── connect-to-databricks.mdx
    │   │       │   ├── create-data-model.mdx
    │   │       │   ├── load-data.mdx
    │   │       │   ├── query-from-bi.mdx
    │   │       │   └── query-from-react-app.mdx
    │   │       └── migrate-from-core
    │   │       │   ├── _meta.js
    │   │       │   ├── import-bitbucket-repository-via-ssh.mdx
    │   │       │   ├── import-git-repository-via-ssh.mdx
    │   │       │   ├── import-github-repository.mdx
    │   │       │   ├── import-gitlab-repository-via-ssh.mdx
    │   │       │   └── upload-with-cli.mdx
    │   │   ├── introduction.mdx
    │   │   ├── workspace.mdx
    │   │   └── workspace
    │   │       ├── _meta.js
    │   │       ├── access-control.mdx
    │   │       ├── audit-log.mdx
    │   │       ├── budgets.mdx
    │   │       ├── cli.mdx
    │   │       ├── cli
    │   │           ├── _meta.js
    │   │           └── reference.mdx
    │   │       ├── data-model.mdx
    │   │       ├── dev-mode.mdx
    │   │       ├── encryption-keys.mdx
    │   │       ├── environments.mdx
    │   │       ├── integrations.mdx
    │   │       ├── monitoring.mdx
    │   │       ├── monitoring
    │   │           ├── _meta.js
    │   │           ├── cloudwatch.mdx
    │   │           ├── datadog.mdx
    │   │           ├── grafana-cloud.mdx
    │   │           ├── new-relic.mdx
    │   │           └── s3.mdx
    │   │       ├── performance.mdx
    │   │       ├── playground.mdx
    │   │       ├── pre-aggregations.mdx
    │   │       ├── preferences.mdx
    │   │       ├── query-history.mdx
    │   │       ├── recipes
    │   │           ├── _meta.js
    │   │           └── query-history-export.mdx
    │   │       ├── rollup-designer.mdx
    │   │       ├── saved-reports.mdx
    │   │       ├── semantic-catalog.mdx
    │   │       ├── sql-runner.mdx
    │   │       ├── sso.mdx
    │   │       ├── sso
    │   │           ├── _meta.js
    │   │           ├── google-workspace.mdx
    │   │           ├── microsoft-entra-id.mdx
    │   │           └── okta.mdx
    │   │       ├── visual-model.mdx
    │   │       └── vizard.mdx
    ├── plugins
    │   └── link-environment-variables.mjs
    ├── postcss.config.js
    ├── public
    │   ├── .gitkeep
    │   ├── android-chrome-192x192.png
    │   ├── android-chrome-512x512.png
    │   ├── apple-touch-icon.png
    │   ├── cube-scheme-dark.png
    │   ├── favicon-16x16.png
    │   ├── favicon-32x32.png
    │   ├── favicon.ico
    │   ├── favicon.svg
    │   ├── images
    │   │   └── github-icon.svg
    │   └── mstile-150x150.png
    ├── redirects.json
    ├── scripts
    │   ├── create-redirects.mjs
    │   ├── migrate-content.ts
    │   ├── tsconfig.json
    │   └── update-links.mjs
    ├── styles
    │   ├── globals.css
    │   ├── images.css
    │   ├── math.css
    │   ├── palette.css
    │   └── typography.css
    ├── tailwind.config.js
    ├── theme.config.tsx
    ├── tsconfig.json
    ├── utils
    │   └── parseHref.ts
    ├── vercel-deploy-check.sh
    ├── vercel.json
    └── yarn.lock
├── examples
    ├── .gitignore
    ├── README.md
    └── recipes
    │   ├── active-users
    │       ├── .env
    │       ├── cube.js
    │       ├── docker-compose.yml
    │       ├── queries
    │       │   ├── query.json
    │       │   └── run.sh
    │       └── schema
    │       │   └── ActiveUsers.js
    │   ├── changing-visibility-of-cubes-or-views
    │       ├── .env
    │       ├── cube.js
    │       ├── docker-compose.yml
    │       ├── package.json
    │       └── schema
    │       │   ├── Orders.js
    │       │   ├── TotalRevenuePerCustomer.js
    │       │   └── Users.js
    │   ├── column-based-access
    │       ├── .env
    │       ├── cube.js
    │       ├── docker-compose.yml
    │       ├── queries
    │       │   ├── query.json
    │       │   └── run.sh
    │       └── schema
    │       │   ├── Products.js
    │       │   └── Suppliers.js
    │   ├── entity-attribute-value
    │       ├── .env
    │       ├── Dockerfile
    │       ├── cube.js
    │       ├── docker-compose.yml
    │       ├── fetch.js
    │       ├── package.json
    │       ├── queries
    │       │   ├── dry.json
    │       │   ├── dynamic.json
    │       │   ├── joins.json
    │       │   ├── run.sh
    │       │   └── statuses.json
    │       └── schema
    │       │   ├── Orders.js
    │       │   ├── Users.js
    │       │   ├── UsersStatuses_DRY.js
    │       │   ├── UsersStatuses_Dynamic.js
    │       │   └── UsersStatuses_Joins.js
    │   ├── getting-unique-values-for-a-field
    │       ├── .env
    │       ├── cube.js
    │       ├── docker-compose.yml
    │       ├── queries
    │       │   ├── load.json
    │       │   └── run.sh
    │       └── schema
    │       │   └── Users.js
    │   ├── joining-multiple-databases-data
    │       ├── .env
    │       ├── .gitignore
    │       ├── README.md
    │       ├── cube.js
    │       ├── package.json
    │       ├── schema
    │       │   ├── Products.js
    │       │   └── Suppliers.js
    │       └── yarn.lock
    │   ├── joining-multiple-datasources-data
    │       ├── .env
    │       ├── cube.js
    │       ├── docker-compose.yml
    │       ├── queries
    │       │   ├── pre-agg-query.json
    │       │   └── run.sh
    │       └── schema
    │       │   ├── Products.js
    │       │   └── Suppliers.js
    │   ├── lambda-view
    │       ├── .env
    │       ├── .gitignore
    │       ├── cube.js
    │       ├── package.json
    │       ├── queries.json
    │       ├── schema
    │       │   └── Orders.js
    │       └── yarn.lock
    │   ├── mandatory-filters
    │       ├── .env
    │       ├── cube.js
    │       ├── docker-compose.yml
    │       ├── queries
    │       │   ├── completed-orders.json
    │       │   ├── run.sh
    │       │   ├── shipped-orders.json
    │       │   └── users.json
    │       └── schema
    │       │   └── Orders.js
    │   ├── multiple-data-sources
    │       ├── .env
    │       ├── cube.js
    │       ├── docker-compose.yml
    │       ├── queries
    │       │   ├── run.sh
    │       │   └── users.json
    │       ├── schema
    │       │   └── Users.js
    │       └── scripts
    │       │   └── localDB.sql
    │   ├── non-additivity
    │       ├── .env
    │       ├── cube.js
    │       ├── docker-compose.yml
    │       ├── queries
    │       │   ├── matching-non-additive.json
    │       │   ├── matching-refactored.json
    │       │   ├── non-matching-non-additive.json
    │       │   └── run.sh
    │       └── schema
    │       │   ├── Users.js
    │       │   └── UsersRefactored.js
    │   ├── pagination
    │       ├── .env
    │       ├── cube.js
    │       ├── docker-compose.yml
    │       ├── queries
    │       │   ├── count.json
    │       │   ├── first.json
    │       │   ├── run.sh
    │       │   └── second.json
    │       └── schema
    │       │   └── Orders.js
    │   ├── passing-dynamic-parameters-in-query
    │       ├── .env
    │       ├── cube.js
    │       ├── docker-compose.yml
    │       ├── queries
    │       │   ├── query.json
    │       │   └── run.sh
    │       └── schema
    │       │   └── Users.js
    │   ├── percentiles
    │       ├── .env
    │       ├── cube.js
    │       ├── docker-compose.yml
    │       ├── queries
    │       │   ├── age.json
    │       │   ├── run.sh
    │       │   └── stats.json
    │       └── schema
    │       │   └── Users.js
    │   ├── referencing-dynamic-measures
    │       ├── .env
    │       ├── cube.js
    │       ├── docker-compose.yml
    │       ├── queries
    │       │   ├── percentage.json
    │       │   └── run.sh
    │       └── schema
    │       │   └── Orders.js
    │   ├── refreshing-select-partitions
    │       ├── .env
    │       ├── Dockerfile
    │       ├── cube.js
    │       ├── data-updater
    │       │   ├── data-updater.js
    │       │   └── data-updater.sh
    │       ├── db-scripts
    │       │   └── orders.sql
    │       ├── docker-compose.yml
    │       ├── package.json
    │       ├── queries
    │       │   ├── orders.json
    │       │   └── run.sh
    │       └── schema
    │       │   └── Orders .js
    │   ├── role-based-access
    │       ├── .env
    │       ├── cube.js
    │       ├── docker-compose.yml
    │       ├── queries
    │       │   ├── query.json
    │       │   └── run.sh
    │       └── schema
    │       │   └── Orders.js
    │   ├── snapshots
    │       ├── .env
    │       ├── cube.js
    │       ├── docker-compose.yml
    │       ├── queries
    │       │   ├── run.sh
    │       │   ├── snapshot-1.json
    │       │   ├── snapshot-2.json
    │       │   └── statuses.json
    │       └── schema
    │       │   ├── StatusSnapshots.js
    │       │   └── Statuses.js
    │   └── using-different-schemas-for-tenants
    │       ├── .env
    │       ├── cube.js
    │       ├── docker-compose.yml
    │       ├── queries
    │           ├── query.json
    │           └── run.sh
    │       └── schema
    │           ├── avocado
    │               └── Products.js
    │           └── mango
    │               └── Products.js
├── jest.base-ts.config.js
├── jest.base.config.js
├── jest.setup.js
├── lerna-publish.sh
├── lerna.json
├── package.json
├── packages
    ├── cubejs-api-gateway
    │   ├── .eslintignore
    │   ├── .gitignore
    │   ├── CHANGELOG.md
    │   ├── LICENSE
    │   ├── README.md
    │   ├── jest.config.js
    │   ├── openspec.yml
    │   ├── package.json
    │   ├── src
    │   │   ├── CubejsHandlerError.ts
    │   │   ├── LocalSubscriptionStore.ts
    │   │   ├── SubscriptionServer.ts
    │   │   ├── UserError.ts
    │   │   ├── cached-handler.ts
    │   │   ├── dateParser.js
    │   │   ├── gateway.ts
    │   │   ├── graphql.ts
    │   │   ├── helpers
    │   │   │   ├── prepareAnnotation.ts
    │   │   │   ├── toConfigMap.ts
    │   │   │   └── transformMetaExtended.ts
    │   │   ├── index.ts
    │   │   ├── interfaces.ts
    │   │   ├── jwk.ts
    │   │   ├── query.js
    │   │   ├── requestParser.ts
    │   │   ├── sql-server.ts
    │   │   └── types
    │   │   │   ├── auth.ts
    │   │   │   ├── enums.ts
    │   │   │   ├── gateway.ts
    │   │   │   ├── query.ts
    │   │   │   ├── request.ts
    │   │   │   ├── responses.ts
    │   │   │   └── strings.ts
    │   ├── test
    │   │   ├── __snapshots__
    │   │   │   └── graphql.test.ts.snap
    │   │   ├── auth.test.ts
    │   │   ├── cached-handler.test.ts
    │   │   ├── dateParser.test.js
    │   │   ├── graphql-queries
    │   │   │   ├── base-snake-case.gql
    │   │   │   └── base.gql
    │   │   ├── graphql.test.ts
    │   │   ├── helpers
    │   │   │   ├── prepareAnnotation.test.ts
    │   │   │   └── transformMetaExtended.test.ts
    │   │   ├── index.test.ts
    │   │   ├── mocks.ts
    │   │   ├── permissions.test.ts
    │   │   ├── snapshotResolver.js
    │   │   └── utils.ts
    │   └── tsconfig.json
    ├── cubejs-athena-driver
    │   ├── .gitignore
    │   ├── CHANGELOG.md
    │   ├── LICENSE
    │   ├── README.md
    │   ├── index.js
    │   ├── package.json
    │   ├── src
    │   │   ├── AthenaDriver.ts
    │   │   └── index.ts
    │   ├── test
    │   │   └── AthenaDriver.test.ts
    │   └── tsconfig.json
    ├── cubejs-backend-cloud
    │   ├── .gitignore
    │   ├── CHANGELOG.md
    │   ├── LICENSE
    │   ├── README.md
    │   ├── jest.config.js
    │   ├── package.json
    │   ├── src
    │   │   ├── cloud.ts
    │   │   ├── config.ts
    │   │   ├── deploy.ts
    │   │   ├── index.ts
    │   │   └── live-preview.ts
    │   ├── test
    │   │   ├── cloud.test.ts
    │   │   ├── config.test.ts
    │   │   ├── deploy.test.ts
    │   │   └── live-preview.test.ts
    │   └── tsconfig.json
    ├── cubejs-backend-maven
    │   ├── .gitignore
    │   ├── CHANGELOG.md
    │   ├── LICENSE
    │   ├── README.md
    │   ├── bin
    │   │   └── maven-resolve
    │   ├── jest.config.js
    │   ├── package.json
    │   ├── src
    │   │   ├── index.ts
    │   │   ├── maven-resolve.ts
    │   │   └── maven.ts
    │   ├── test
    │   │   ├── fixtures
    │   │   │   └── generate-xml-1.xml
    │   │   └── maven.test.ts
    │   └── tsconfig.json
    ├── cubejs-backend-native
    │   ├── .cargo
    │   │   └── config.toml
    │   ├── .gitignore
    │   ├── CHANGELOG.md
    │   ├── Cargo.lock
    │   ├── Cargo.toml
    │   ├── DEVELOPMENT.md
    │   ├── LICENSE
    │   ├── README.md
    │   ├── TECH.md
    │   ├── jest.config.js
    │   ├── js
    │   │   ├── ResultWrapper.ts
    │   │   └── index.ts
    │   ├── package.json
    │   ├── python
    │   │   ├── README.md
    │   │   └── cube
    │   │   │   ├── .gitignore
    │   │   │   ├── LICENSE
    │   │   │   ├── README.md
    │   │   │   ├── __init__.py
    │   │   │   ├── pyproject.toml
    │   │   │   └── src
    │   │   │       └── __init__.py
    │   ├── rust-toolchain.toml
    │   ├── src
    │   │   ├── auth.rs
    │   │   ├── channel.rs
    │   │   ├── config.rs
    │   │   ├── cross
    │   │   │   ├── clrepr.rs
    │   │   │   ├── clrepr_python.rs
    │   │   │   ├── mod.rs
    │   │   │   └── py_in_js.rs
    │   │   ├── cubesql_utils.rs
    │   │   ├── gateway
    │   │   │   ├── auth_middleware.rs
    │   │   │   ├── auth_service.rs
    │   │   │   ├── handlers
    │   │   │   │   ├── mod.rs
    │   │   │   │   └── stream.rs
    │   │   │   ├── http_error.rs
    │   │   │   ├── mod.rs
    │   │   │   ├── router.rs
    │   │   │   ├── server.rs
    │   │   │   └── state.rs
    │   │   ├── lib.rs
    │   │   ├── logger.rs
    │   │   ├── node_export.rs
    │   │   ├── node_obj_deserializer.rs
    │   │   ├── node_obj_serializer.rs
    │   │   ├── orchestrator.rs
    │   │   ├── python
    │   │   │   ├── cube_config.rs
    │   │   │   ├── entry.rs
    │   │   │   ├── linux_dylib.rs
    │   │   │   ├── mod.rs
    │   │   │   ├── neon_py.rs
    │   │   │   ├── python_model.rs
    │   │   │   ├── runtime.rs
    │   │   │   └── utils.rs
    │   │   ├── sql4sql.rs
    │   │   ├── stream.rs
    │   │   ├── template
    │   │   │   ├── engine_python.rs
    │   │   │   ├── entry.rs
    │   │   │   ├── mj_value
    │   │   │   │   ├── mod.rs
    │   │   │   │   ├── python.rs
    │   │   │   │   └── value.rs
    │   │   │   ├── mod.rs
    │   │   │   ├── neon_mj.rs
    │   │   │   └── workers.rs
    │   │   ├── transport.rs
    │   │   └── utils.rs
    │   ├── test
    │   │   ├── __snapshots__
    │   │   │   └── jinja.test.ts.snap
    │   │   ├── config.py
    │   │   ├── connect.js
    │   │   ├── cross.test.ts
    │   │   ├── fixtures
    │   │   │   └── schema-tenant-1
    │   │   │   │   ├── test.yml
    │   │   │   │   └── test.yml.jinja
    │   │   ├── globals.py
    │   │   ├── globals_w_import_path.py
    │   │   ├── jinja.test.ts
    │   │   ├── meta.js
    │   │   ├── old-config.py
    │   │   ├── python.test.ts
    │   │   ├── python.ts
    │   │   ├── python_async_bench.ts
    │   │   ├── response-fake.ts
    │   │   ├── server.js
    │   │   ├── setup
    │   │   │   ├── extend-expect.d.ts
    │   │   │   └── index.ts
    │   │   ├── snapshotResolver.js
    │   │   ├── sql.test.ts
    │   │   ├── subdir_for_test
    │   │   │   └── meta.py
    │   │   ├── templates
    │   │   │   ├── .utils.jinja
    │   │   │   ├── 01.yml.jinja
    │   │   │   ├── 02.yml.jinja
    │   │   │   ├── 03.yml.jinja
    │   │   │   ├── 04.yml.jinja
    │   │   │   ├── 05.yml.jinja
    │   │   │   ├── 06.yml.jinja
    │   │   │   ├── 07.yml.jinja
    │   │   │   ├── 08.yml.jinja
    │   │   │   ├── arguments-test.yml.jinja
    │   │   │   ├── class-model.yml.jinja
    │   │   │   ├── data-model.yml.jinja
    │   │   │   ├── dump_context.yml.jinja
    │   │   │   ├── filters.yml.jinja
    │   │   │   ├── jinja-instance.py
    │   │   │   ├── python.yml
    │   │   │   ├── template_error_python.jinja
    │   │   │   ├── template_error_syntax.jinja
    │   │   │   └── variables.yml.jinja
    │   │   └── utils.py
    │   └── tsconfig.json
    ├── cubejs-backend-shared
    │   ├── .gitignore
    │   ├── CHANGELOG.md
    │   ├── LICENSE
    │   ├── README.md
    │   ├── jest.config.js
    │   ├── package.json
    │   ├── src
    │   │   ├── FileRepository.ts
    │   │   ├── cli.ts
    │   │   ├── convert.ts
    │   │   ├── enums.ts
    │   │   ├── env.ts
    │   │   ├── errors.ts
    │   │   ├── helpers.ts
    │   │   ├── http-utils.ts
    │   │   ├── index.ts
    │   │   ├── machine-id.ts
    │   │   ├── node-check.ts
    │   │   ├── package.ts
    │   │   ├── platform.ts
    │   │   ├── process.ts
    │   │   ├── promises.ts
    │   │   ├── proxy.ts
    │   │   ├── time.ts
    │   │   ├── track.ts
    │   │   └── type-helpers.ts
    │   ├── test
    │   │   ├── convert.test.ts
    │   │   ├── db_env_multi.test.ts
    │   │   ├── db_env_single.test.ts
    │   │   ├── env.test.ts
    │   │   ├── helper.test.ts
    │   │   ├── iterators.test.ts
    │   │   ├── machine-id.test.ts
    │   │   ├── package.test.ts
    │   │   ├── promises.test.ts
    │   │   └── time.test.ts
    │   └── tsconfig.json
    ├── cubejs-base-driver
    │   ├── .gitignore
    │   ├── CHANGELOG.md
    │   ├── LICENSE
    │   ├── README.md
    │   ├── jest.config.js
    │   ├── package.json
    │   ├── src
    │   │   ├── BaseDriver.ts
    │   │   ├── cache-driver.interface.ts
    │   │   ├── driver.interface.ts
    │   │   ├── index.ts
    │   │   ├── queue-driver.interface.ts
    │   │   └── utils.ts
    │   ├── test
    │   │   └── unit
    │   │   │   └── BaseDriver.test.ts
    │   └── tsconfig.json
    ├── cubejs-bigquery-driver
    │   ├── .gitignore
    │   ├── CHANGELOG.md
    │   ├── LICENSE
    │   ├── README.md
    │   ├── index.js
    │   ├── jest.config.js
    │   ├── package.json
    │   ├── src
    │   │   ├── BigQueryDriver.ts
    │   │   ├── HydrationStream.ts
    │   │   └── index.ts
    │   ├── test
    │   │   └── BigQueryDriver.test.ts
    │   └── tsconfig.json
    ├── cubejs-cli
    │   ├── .gitignore
    │   ├── CHANGELOG.md
    │   ├── LICENSE
    │   ├── README.md
    │   ├── jest.config.js
    │   ├── package.json
    │   ├── src
    │   │   ├── cli.ts
    │   │   ├── command
    │   │   │   ├── auth.ts
    │   │   │   ├── create.ts
    │   │   │   ├── deploy.ts
    │   │   │   ├── generate.ts
    │   │   │   ├── proxy-command.ts
    │   │   │   ├── server.ts
    │   │   │   ├── token.ts
    │   │   │   ├── typegen.ts
    │   │   │   └── validate.ts
    │   │   ├── config.ts
    │   │   ├── index.ts
    │   │   ├── templates.ts
    │   │   └── utils.ts
    │   ├── test
    │   │   ├── templates.test.ts
    │   │   └── utils.test.ts
    │   └── tsconfig.json
    ├── cubejs-clickhouse-driver
    │   ├── .gitignore
    │   ├── CHANGELOG.md
    │   ├── LICENSE
    │   ├── README.md
    │   ├── index.js
    │   ├── jest.config.js
    │   ├── package.json
    │   ├── src
    │   │   ├── ClickHouseDriver.ts
    │   │   ├── HydrationStream.ts
    │   │   └── index.ts
    │   ├── test
    │   │   └── ClickHouseDriver.test.ts
    │   └── tsconfig.json
    ├── cubejs-client-core
    │   ├── .gitignore
    │   ├── CHANGELOG.md
    │   ├── LICENSE
    │   ├── README.md
    │   ├── index.d.ts
    │   ├── jest.config.js
    │   ├── package.json
    │   ├── src
    │   │   ├── HttpTransport.ts
    │   │   ├── Meta.ts
    │   │   ├── ProgressResult.ts
    │   │   ├── RequestError.ts
    │   │   ├── ResultSet.ts
    │   │   ├── SqlQuery.ts
    │   │   ├── index.ts
    │   │   ├── index.umd.ts
    │   │   ├── time.ts
    │   │   ├── types.ts
    │   │   └── utils.ts
    │   ├── test
    │   │   ├── CubeApi.test.ts
    │   │   ├── HttpTransport.test.ts
    │   │   ├── ResultSet.test.ts
    │   │   ├── SqlQuery.test.ts
    │   │   ├── compare-date-range.test.ts
    │   │   ├── data-blending.test.ts
    │   │   ├── default-heuristics.test.ts
    │   │   ├── drill-down.test.ts
    │   │   ├── fixtures
    │   │   │   └── datablending
    │   │   │   │   └── load-responses.json
    │   │   ├── granularity.test.ts
    │   │   ├── helpers.ts
    │   │   ├── index.test.ts
    │   │   ├── table.test.ts
    │   │   └── utils.test.ts
    │   └── tsconfig.json
    ├── cubejs-client-dx
    │   ├── .eslintrc.js
    │   ├── .gitignore
    │   ├── CHANGELOG.md
    │   ├── LICENSE
    │   ├── README.md
    │   ├── babel.config.js
    │   ├── generated.d.ts
    │   ├── index.d.ts
    │   ├── jest.config.js
    │   ├── package.json
    │   ├── src
    │   │   ├── index.js
    │   │   └── index.mjs
    │   └── tsconfig.json
    ├── cubejs-client-ngx
    │   ├── .gitignore
    │   ├── .prettierrc
    │   ├── CHANGELOG.md
    │   ├── LICENSE
    │   ├── README.md
    │   ├── angular.json
    │   ├── index.ts
    │   ├── ng-package.json
    │   ├── package.json
    │   ├── src
    │   │   ├── client.ts
    │   │   ├── module.ts
    │   │   ├── public_api.ts
    │   │   └── query-builder
    │   │   │   ├── builder-meta.ts
    │   │   │   ├── chart-type.ts
    │   │   │   ├── common.ts
    │   │   │   ├── pivot-config.ts
    │   │   │   ├── query-builder.service.ts
    │   │   │   ├── query-members.ts
    │   │   │   └── query.ts
    │   ├── tsconfig.json
    │   └── tsconfig.prod.json
    ├── cubejs-client-react
    │   ├── .eslintrc.js
    │   ├── .gitignore
    │   ├── CHANGELOG.md
    │   ├── LICENSE
    │   ├── README.md
    │   ├── index.d.ts
    │   ├── package.json
    │   └── src
    │   │   ├── CubeContext.js
    │   │   ├── CubeProvider.jsx
    │   │   ├── QueryBuilder.jsx
    │   │   ├── QueryRenderer.jsx
    │   │   ├── QueryRendererWithTotals.jsx
    │   │   ├── hooks
    │   │       ├── cube-fetch.js
    │   │       ├── cube-meta.js
    │   │       ├── cube-query.js
    │   │       ├── cube-sql.js
    │   │       ├── deep-compare-memoize.js
    │   │       ├── dry-run.js
    │   │       ├── is-mounted.js
    │   │       └── lazy-dry-run.js
    │   │   ├── index.js
    │   │   └── utils.js
    ├── cubejs-client-vue
    │   ├── .gitignore
    │   ├── .prettierrc
    │   ├── CHANGELOG.md
    │   ├── LICENSE
    │   ├── README.md
    │   ├── babel.config.js
    │   ├── jest.config.js
    │   ├── package.json
    │   ├── src
    │   │   ├── QueryBuilder.js
    │   │   ├── QueryRenderer.js
    │   │   └── index.js
    │   └── tests
    │   │   └── unit
    │   │       ├── .eslintrc.js
    │   │       ├── QueryBuilder.spec.js
    │   │       ├── QueryRenderer.spec.js
    │   │       ├── __mocks__
    │   │           └── responses.js
    │   │       └── utils.js
    ├── cubejs-client-vue3
    │   ├── .gitignore
    │   ├── .prettierrc
    │   ├── CHANGELOG.md
    │   ├── LICENSE
    │   ├── README.md
    │   ├── babel.config.js
    │   ├── jest.config.js
    │   ├── package.json
    │   ├── src
    │   │   ├── QueryBuilder.js
    │   │   ├── QueryRenderer.js
    │   │   └── index.js
    │   └── tests
    │   │   └── unit
    │   │       ├── .eslintrc.js
    │   │       ├── QueryBuilder.spec.js
    │   │       ├── QueryRenderer.spec.js
    │   │       ├── __mocks__
    │   │           └── responses.js
    │   │       └── utils.js
    ├── cubejs-client-ws-transport
    │   ├── .gitignore
    │   ├── CHANGELOG.md
    │   ├── LICENSE
    │   ├── README.md
    │   ├── package.json
    │   ├── src
    │   │   └── index.ts
    │   └── tsconfig.json
    ├── cubejs-crate-driver
    │   ├── .gitignore
    │   ├── CHANGELOG.md
    │   ├── LICENSE
    │   ├── README.md
    │   ├── index.js
    │   ├── package.json
    │   ├── src
    │   │   ├── CrateDriver.ts
    │   │   └── index.ts
    │   ├── test
    │   │   └── CrateDriver.test.ts
    │   └── tsconfig.json
    ├── cubejs-cubestore-driver
    │   ├── .gitignore
    │   ├── CHANGELOG.md
    │   ├── LICENSE
    │   ├── README.md
    │   ├── codegen
    │   │   ├── generate.sh
    │   │   ├── http-column-value.ts
    │   │   ├── http-command.ts
    │   │   ├── http-error.ts
    │   │   ├── http-message.ts
    │   │   ├── http-query.ts
    │   │   ├── http-result-set.ts
    │   │   ├── http-row.ts
    │   │   ├── http-table.ts
    │   │   └── index.ts
    │   ├── index.js
    │   ├── jest.config.js
    │   ├── package.json
    │   ├── src
    │   │   ├── CubeStoreCacheDriver.ts
    │   │   ├── CubeStoreDevDriver.ts
    │   │   ├── CubeStoreDriver.ts
    │   │   ├── CubeStoreQueueDriver.ts
    │   │   ├── WebSocketConnection.ts
    │   │   ├── index.ts
    │   │   ├── rexport.ts
    │   │   └── types.ts
    │   └── tsconfig.json
    ├── cubejs-databricks-jdbc-driver
    │   ├── .gitignore
    │   ├── CHANGELOG.md
    │   ├── LICENSE
    │   ├── README.md
    │   ├── bin
    │   │   └── post-install
    │   ├── jest.config.js
    │   ├── package.json
    │   ├── src
    │   │   ├── DatabricksDriver.ts
    │   │   ├── DatabricksQuery.ts
    │   │   ├── helpers.ts
    │   │   ├── index.ts
    │   │   ├── installer.ts
    │   │   └── post-install.ts
    │   ├── test
    │   │   └── DatabricksDriver.test.ts
    │   └── tsconfig.json
    ├── cubejs-dbt-schema-extension
    │   ├── .gitignore
    │   ├── CHANGELOG.md
    │   ├── LICENSE
    │   ├── README.md
    │   ├── index.js
    │   ├── jest.config.js
    │   ├── package.json
    │   ├── src
    │   │   └── Dbt.ts
    │   └── tsconfig.json
    ├── cubejs-docker
    │   ├── .dockerignore
    │   ├── .gitignore
    │   ├── CHANGELOG.md
    │   ├── DEVELOPMENT.md
    │   ├── LICENSE
    │   ├── README.md
    │   ├── bin
    │   │   ├── cubejs-dev
    │   │   └── cubestore-dev
    │   ├── dev.Dockerfile
    │   ├── latest-debian-jdk.Dockerfile
    │   ├── latest.Dockerfile
    │   ├── local.Dockerfile
    │   ├── package.json
    │   ├── package.json.local
    │   └── testing-drivers.Dockerfile
    ├── cubejs-dremio-driver
    │   ├── .gitignore
    │   ├── CHANGELOG.md
    │   ├── LICENSE
    │   ├── README.md
    │   ├── driver
    │   │   ├── DremioDriver.js
    │   │   └── DremioQuery.js
    │   ├── jest.config.js
    │   ├── package.json
    │   ├── test
    │   │   ├── DremioDriver.test.ts
    │   │   ├── DremioQuery.test.ts
    │   │   └── test-env.js
    │   └── tsconfig.json
    ├── cubejs-druid-driver
    │   ├── .gitignore
    │   ├── CHANGELOG.md
    │   ├── LICENSE
    │   ├── README.md
    │   ├── docker-compose.yml
    │   ├── environment
    │   ├── jest.config.js
    │   ├── package.json
    │   ├── src
    │   │   ├── DruidClient.ts
    │   │   ├── DruidDriver.ts
    │   │   ├── DruidQuery.ts
    │   │   └── index.ts
    │   ├── test
    │   │   ├── druid-driver.test.ts
    │   │   └── druid-query.test.ts
    │   └── tsconfig.json
    ├── cubejs-duckdb-driver
    │   ├── .gitignore
    │   ├── CHANGELOG.md
    │   ├── LICENSE
    │   ├── README.md
    │   ├── index.js
    │   ├── jest.config.js
    │   ├── package.json
    │   ├── src
    │   │   ├── DuckDBDriver.ts
    │   │   ├── DuckDBQuery.ts
    │   │   ├── HydrationStream.ts
    │   │   └── index.ts
    │   ├── test
    │   │   └── DuckDBDriver.test.ts
    │   └── tsconfig.json
    ├── cubejs-elasticsearch-driver
    │   ├── CHANGELOG.md
    │   ├── LICENSE
    │   ├── README.md
    │   ├── docker-compose.yml
    │   ├── driver
    │   │   ├── ElasticSearchDriver.js
    │   │   └── index.d.ts
    │   ├── jest.config.js
    │   ├── package.json
    │   └── test
    │   │   └── ElasticSearchOpenDistro.integration.js
    ├── cubejs-firebolt-driver
    │   ├── .gitignore
    │   ├── CHANGELOG.md
    │   ├── LICENSE
    │   ├── README.md
    │   ├── index.js
    │   ├── package.json
    │   ├── src
    │   │   ├── FireboltDriver.ts
    │   │   ├── FireboltQuery.ts
    │   │   └── index.ts
    │   ├── test
    │   │   ├── FireboltDriver.test.ts
    │   │   ├── FireboltQuery.test.ts
    │   │   ├── autostart.test.ts
    │   │   └── test-env.js
    │   └── tsconfig.json
    ├── cubejs-hive-driver
    │   ├── CHANGELOG.md
    │   ├── LICENSE
    │   ├── README.md
    │   ├── idl
    │   │   ├── Hive_2.1.1
    │   │   │   ├── TCLIService.js
    │   │   │   └── TCLIService_types.js
    │   │   ├── Hive_2.2.3
    │   │   │   ├── TCLIService.js
    │   │   │   └── TCLIService_types.js
    │   │   └── Hive_2.3.4
    │   │   │   ├── TCLIService.js
    │   │   │   └── TCLIService_types.js
    │   ├── package.json
    │   └── src
    │   │   ├── HiveDriver.js
    │   │   └── TSaslTransport.js
    ├── cubejs-jdbc-driver
    │   ├── .gitignore
    │   ├── CHANGELOG.md
    │   ├── LICENSE
    │   ├── README.md
    │   ├── index.js
    │   ├── package.json
    │   ├── src
    │   │   ├── JDBCDriver.ts
    │   │   ├── QueryStream.ts
    │   │   ├── index.ts
    │   │   ├── supported-drivers.ts
    │   │   └── types.ts
    │   └── tsconfig.json
    ├── cubejs-ksql-driver
    │   ├── .gitignore
    │   ├── CHANGELOG.md
    │   ├── LICENSE
    │   ├── README.md
    │   ├── index.js
    │   ├── jest.config.js
    │   ├── package.json
    │   ├── src
    │   │   ├── KsqlDriver.ts
    │   │   ├── KsqlQuery.ts
    │   │   └── index.ts
    │   └── tsconfig.json
    ├── cubejs-linter
    │   ├── CHANGELOG.md
    │   ├── index.js
    │   └── package.json
    ├── cubejs-materialize-driver
    │   ├── .gitignore
    │   ├── CHANGELOG.md
    │   ├── LICENSE
    │   ├── README.md
    │   ├── index.js
    │   ├── package.json
    │   ├── src
    │   │   ├── MaterializeDriver.ts
    │   │   └── index.ts
    │   ├── test
    │   │   └── MaterializeDriver.test.ts
    │   └── tsconfig.json
    ├── cubejs-mongobi-driver
    │   ├── .gitignore
    │   ├── CHANGELOG.md
    │   ├── LICENSE
    │   ├── README.md
    │   ├── index.js
    │   ├── package.json
    │   ├── src
    │   │   ├── MongoBIDriver.ts
    │   │   ├── MySQLType.ts
    │   │   └── index.ts
    │   ├── test
    │   │   ├── Dockerfile
    │   │   ├── MongoBiDriver.test.ts
    │   │   ├── config.yaml
    │   │   ├── docker-compose.yml
    │   │   └── mongo-init.js
    │   └── tsconfig.json
    ├── cubejs-mssql-driver
    │   ├── .gitignore
    │   ├── CHANGELOG.md
    │   ├── LICENSE
    │   ├── README.md
    │   ├── index.js
    │   ├── package.json
    │   ├── src
    │   │   ├── MSSqlDriver.ts
    │   │   ├── QueryStream.ts
    │   │   ├── index.ts
    │   │   └── types
    │   │   │   └── mssql.d.ts
    │   └── tsconfig.json
    ├── cubejs-mysql-aurora-serverless-driver
    │   ├── CHANGELOG.md
    │   ├── LICENSE
    │   ├── README.md
    │   ├── docker-compose.yml
    │   ├── driver
    │   │   ├── AuroraServerlessMySqlDriver.js
    │   │   └── index.d.ts
    │   ├── jest.config.js
    │   ├── package.json
    │   └── test
    │   │   ├── AuroraServerlessMySqlDriver.integration.js
    │   │   └── AuroraServerlessMySqlDriver.test.js
    ├── cubejs-mysql-driver
    │   ├── .gitignore
    │   ├── CHANGELOG.md
    │   ├── LICENSE
    │   ├── README.md
    │   ├── index.js
    │   ├── jest.config.js
    │   ├── package.json
    │   ├── src
    │   │   ├── MySqlDriver.ts
    │   │   └── index.ts
    │   ├── test
    │   │   ├── MySqlDriver.test.ts
    │   │   ├── MySqlDriverPool.disabled.ts
    │   │   └── mysql.db.runner.ts
    │   └── tsconfig.json
    ├── cubejs-oracle-driver
    │   ├── CHANGELOG.md
    │   ├── LICENSE
    │   ├── README.md
    │   ├── driver
    │   │   └── OracleDriver.js
    │   └── package.json
    ├── cubejs-pinot-driver
    │   ├── .gitignore
    │   ├── CHANGELOG.md
    │   ├── LICENSE
    │   ├── README.md
    │   ├── docker-compose.yml
    │   ├── index.js
    │   ├── jest.config.js
    │   ├── package.json
    │   ├── pinot-resources
    │   │   ├── broker.conf
    │   │   ├── controller.conf
    │   │   ├── rawdata
    │   │   │   ├── scores
    │   │   │   │   └── scores.csv
    │   │   │   └── students
    │   │   │   │   └── students.csv
    │   │   ├── scores.jobspec.yml
    │   │   ├── scores.schema.json
    │   │   ├── scores.table.json
    │   │   ├── students.jobspec.yml
    │   │   ├── students.schema.json
    │   │   └── students.table.json
    │   ├── src
    │   │   ├── PinotDriver.ts
    │   │   ├── PinotQuery.ts
    │   │   └── index.ts
    │   ├── test
    │   │   └── Pinot.test.ts
    │   └── tsconfig.json
    ├── cubejs-playground
    │   ├── .babelrc
    │   ├── .env
    │   ├── .eslintignore
    │   ├── .gitignore
    │   ├── .prettierrc
    │   ├── CHANGELOG.md
    │   ├── LICENSE
    │   ├── README.md
    │   ├── charts-gen
    │   │   ├── README.md
    │   │   ├── angular
    │   │   │   ├── build.sh
    │   │   │   ├── code-chunks-gen.js
    │   │   │   ├── index.js
    │   │   │   └── move.js
    │   │   ├── build-all.sh
    │   │   ├── env.js
    │   │   ├── package.json
    │   │   ├── react
    │   │   │   ├── build.sh
    │   │   │   ├── code-chunks-gen.js
    │   │   │   ├── index.js
    │   │   │   └── move.js
    │   │   ├── tsconfig.json
    │   │   ├── utils.js
    │   │   ├── vue
    │   │   │   ├── build.sh
    │   │   │   ├── code-chunks-gen.js
    │   │   │   ├── index.js
    │   │   │   └── move.js
    │   │   └── yarn.lock
    │   ├── index.html
    │   ├── package.json
    │   ├── postbuild.js
    │   ├── public
    │   │   ├── android-chrome-192x192.png
    │   │   ├── android-chrome-512x512.png
    │   │   ├── antd.min.css
    │   │   ├── apple-touch-icon.png
    │   │   ├── browserconfig.xml
    │   │   ├── cube-logo.svg
    │   │   ├── cubejs-logo.svg
    │   │   ├── docs-icon.svg
    │   │   ├── favicon-16x16.png
    │   │   ├── favicon-32x32.png
    │   │   ├── favicon.ico
    │   │   ├── fonts
    │   │   │   ├── Inter-Bold.woff
    │   │   │   ├── Inter-Bold.woff2
    │   │   │   ├── Inter-Medium.woff
    │   │   │   ├── Inter-Medium.woff2
    │   │   │   ├── Inter-Regular.woff
    │   │   │   ├── Inter-Regular.woff2
    │   │   │   ├── Inter-SemiBold.woff
    │   │   │   ├── Inter-SemiBold.woff2
    │   │   │   ├── JetBrainsMono-Bold.woff
    │   │   │   ├── JetBrainsMono-Bold.woff2
    │   │   │   ├── JetBrainsMono-Medium.woff
    │   │   │   ├── JetBrainsMono-Medium.woff2
    │   │   │   ├── JetBrainsMono-Regular.woff
    │   │   │   ├── JetBrainsMono-Regular.woff2
    │   │   │   ├── SourceCodePro-Regular.woff
    │   │   │   ├── SourceCodePro-Regular.woff2
    │   │   │   ├── text-security-disc.woff
    │   │   │   └── text-security-disc.woff2
    │   │   ├── manifest.json
    │   │   ├── mstile-150x150.png
    │   │   └── slack-icon.svg
    │   ├── src
    │   │   ├── App.tsx
    │   │   ├── ChartContainer.tsx
    │   │   ├── PrismCode.tsx
    │   │   ├── QueryBuilder
    │   │   │   ├── ButtonDropdown.tsx
    │   │   │   ├── FilterGroup.tsx
    │   │   │   ├── FilterInput.tsx
    │   │   │   ├── MemberDropdown.tsx
    │   │   │   ├── MemberGroup.tsx
    │   │   │   ├── MissingMemberTooltip.tsx
    │   │   │   ├── RemoveButtonGroup.tsx
    │   │   │   ├── SelectChartType.tsx
    │   │   │   ├── TimeGroup.tsx
    │   │   │   └── TimeRangeSelector.tsx
    │   │   ├── QueryBuilderV2
    │   │   │   ├── Pivot
    │   │   │   │   ├── Axes.tsx
    │   │   │   │   ├── DroppableArea.tsx
    │   │   │   │   ├── Item.tsx
    │   │   │   │   ├── Options.tsx
    │   │   │   │   └── index.ts
    │   │   │   ├── QueryBuilder.tsx
    │   │   │   ├── QueryBuilderChart.tsx
    │   │   │   ├── QueryBuilderChartResults.tsx
    │   │   │   ├── QueryBuilderError.tsx
    │   │   │   ├── QueryBuilderExtras.tsx
    │   │   │   ├── QueryBuilderFilters.tsx
    │   │   │   ├── QueryBuilderGeneratedSQL.tsx
    │   │   │   ├── QueryBuilderGraphQL.tsx
    │   │   │   ├── QueryBuilderInternals.tsx
    │   │   │   ├── QueryBuilderRest.tsx
    │   │   │   ├── QueryBuilderResults.tsx
    │   │   │   ├── QueryBuilderSQL.tsx
    │   │   │   ├── QueryBuilderSidePanel.tsx
    │   │   │   ├── QueryBuilderToolBar.tsx
    │   │   │   ├── color-tokens.ts
    │   │   │   ├── components
    │   │   │   │   ├── Accordion
    │   │   │   │   │   ├── Accordion.tsx
    │   │   │   │   │   ├── AccordionDetails.tsx
    │   │   │   │   │   ├── AccordionItem.tsx
    │   │   │   │   │   ├── AccordionItemTitle.tsx
    │   │   │   │   │   ├── AccordionNestedContext.tsx
    │   │   │   │   │   ├── AccordionProvider.tsx
    │   │   │   │   │   ├── index.ts
    │   │   │   │   │   └── types.ts
    │   │   │   │   ├── AccordionCard
    │   │   │   │   │   ├── AccordionCard.tsx
    │   │   │   │   │   └── index.ts
    │   │   │   │   ├── AddFilterInput.tsx
    │   │   │   │   ├── Arrow.tsx
    │   │   │   │   ├── Badge.tsx
    │   │   │   │   ├── ChartRenderer.tsx
    │   │   │   │   ├── CopyButton.tsx
    │   │   │   │   ├── CopyIcon.tsx
    │   │   │   │   ├── DateRangeFilter.tsx
    │   │   │   │   ├── EditQueryDialogForm.tsx
    │   │   │   │   ├── FilterByMemberButton.tsx
    │   │   │   │   ├── FilterLabel.tsx
    │   │   │   │   ├── FilterMember.tsx
    │   │   │   │   ├── FilterOptionsButton.tsx
    │   │   │   │   ├── FilteredLabel.tsx
    │   │   │   │   ├── Folder.tsx
    │   │   │   │   ├── GranularityListMember.tsx
    │   │   │   │   ├── HierarchyMember.tsx
    │   │   │   │   ├── Icon.tsx
    │   │   │   │   ├── InfoIconButton.tsx
    │   │   │   │   ├── InstanceTooltipProvider.tsx
    │   │   │   │   ├── ListButton.tsx
    │   │   │   │   ├── ListCube.tsx
    │   │   │   │   ├── ListMember.tsx
    │   │   │   │   ├── ListMemberButton.tsx
    │   │   │   │   ├── ListMemberOptionButton.tsx
    │   │   │   │   ├── LocalError.tsx
    │   │   │   │   ├── LogicalFilter.tsx
    │   │   │   │   ├── MemberLabel.tsx
    │   │   │   │   ├── MemberLabelText.tsx
    │   │   │   │   ├── MemberSection.tsx
    │   │   │   │   ├── OutdatedLabel.tsx
    │   │   │   │   ├── PreAggregationAlerts.tsx
    │   │   │   │   ├── ReorderableList.tsx
    │   │   │   │   ├── ScrollableArea.tsx
    │   │   │   │   ├── ScrollableCodeContainer.tsx
    │   │   │   │   ├── SegmentFilter.tsx
    │   │   │   │   ├── SidePanelCubeItem.tsx
    │   │   │   │   ├── TabPaneWithToolbar.tsx
    │   │   │   │   ├── Tabs
    │   │   │   │   │   ├── Tabs.tsx
    │   │   │   │   │   └── index.ts
    │   │   │   │   ├── TimeDateRangeSelector.tsx
    │   │   │   │   ├── TimeDateSelector.tsx
    │   │   │   │   ├── TimeListMember.tsx
    │   │   │   │   └── ValuesInput.tsx
    │   │   │   ├── context.tsx
    │   │   │   ├── hooks
    │   │   │   │   ├── auto-size.ts
    │   │   │   │   ├── debounced-callback.ts
    │   │   │   │   ├── debounced-state.ts
    │   │   │   │   ├── debounced-value.ts
    │   │   │   │   ├── deep-dependencies.ts
    │   │   │   │   ├── deep-memo.ts
    │   │   │   │   ├── dimension-values.tsx
    │   │   │   │   ├── event.ts
    │   │   │   │   ├── filtered-cubes.ts
    │   │   │   │   ├── filtered-members.ts
    │   │   │   │   ├── has-overflow.tsx
    │   │   │   │   ├── index.ts
    │   │   │   │   ├── interval-effect.ts
    │   │   │   │   ├── is-first-render.ts
    │   │   │   │   ├── local-storage.ts
    │   │   │   │   ├── outside-focus.ts
    │   │   │   │   ├── previous.ts
    │   │   │   │   ├── query-builder.ts
    │   │   │   │   ├── raw-filter.ts
    │   │   │   │   ├── server-core-version-gte.ts
    │   │   │   │   ├── shown-member-name.ts
    │   │   │   │   ├── stored-timezones.ts
    │   │   │   │   ├── sync-ref.ts
    │   │   │   │   ├── uniq-id.ts
    │   │   │   │   ├── unmount-effect.ts
    │   │   │   │   └── window-size.ts
    │   │   │   ├── icons
    │   │   │   │   ├── ChevronIcon.tsx
    │   │   │   │   ├── Icon.tsx
    │   │   │   │   ├── ItemInfoIcon.tsx
    │   │   │   │   ├── NonPublicIcon.tsx
    │   │   │   │   ├── PrimaryKeyIcon.tsx
    │   │   │   │   └── timestamp.svg
    │   │   │   ├── index.ts
    │   │   │   ├── types.ts
    │   │   │   ├── utils
    │   │   │   │   ├── are-queries-equal.tsx
    │   │   │   │   ├── capitalize.ts
    │   │   │   │   ├── chart-colors.ts
    │   │   │   │   ├── contains.ts
    │   │   │   │   ├── cube-sql-converter.ts
    │   │   │   │   ├── format-date-by-granularity.tsx
    │   │   │   │   ├── formatters.ts
    │   │   │   │   ├── get-member-search-name.ts
    │   │   │   │   ├── get-query-hash.tsx
    │   │   │   │   ├── get-type-icon.tsx
    │   │   │   │   ├── get-used-cubes-and-members.ts
    │   │   │   │   ├── graphql-converters.ts
    │   │   │   │   ├── index.ts
    │   │   │   │   ├── labels.ts
    │   │   │   │   ├── loadable.ts
    │   │   │   │   ├── move-pivot-config.ts
    │   │   │   │   ├── prepare-query.tsx
    │   │   │   │   ├── query-helpers.tsx
    │   │   │   │   ├── timezones.js
    │   │   │   │   ├── titleize.ts
    │   │   │   │   ├── uncapitalize.ts
    │   │   │   │   ├── uniq-array.ts
    │   │   │   │   ├── use-commit-press.ts
    │   │   │   │   ├── use-is-first-render.tsx
    │   │   │   │   └── validate-query.ts
    │   │   │   └── values.ts
    │   │   ├── __tests__
    │   │   │   ├── __snapshots__
    │   │   │   │   └── cube-graphql-converter.test.ts.snap
    │   │   │   └── cube-graphql-converter.test.ts
    │   │   ├── atoms
    │   │   │   ├── Alert.tsx
    │   │   │   ├── Button.tsx
    │   │   │   ├── Card.tsx
    │   │   │   ├── CodeSnippet.tsx
    │   │   │   ├── CubeLoader.tsx
    │   │   │   ├── Popover.tsx
    │   │   │   └── index.tsx
    │   │   ├── base-types.d.ts
    │   │   ├── cloud
    │   │   │   ├── CloudProvider.tsx
    │   │   │   └── index.ts
    │   │   ├── components
    │   │   │   ├── AppContext.tsx
    │   │   │   ├── CachePane.tsx
    │   │   │   ├── ChartRenderer
    │   │   │   │   └── ChartRenderer.tsx
    │   │   │   ├── CopiableInput.tsx
    │   │   │   ├── DrilldownModal
    │   │   │   │   ├── DrilldownModal.tsx
    │   │   │   │   └── TableQueryRenderer.tsx
    │   │   │   ├── Error
    │   │   │   │   ├── FatalError.tsx
    │   │   │   │   └── utils.ts
    │   │   │   ├── GlobalStyles.tsx
    │   │   │   ├── GraphQL
    │   │   │   │   ├── CubeGraphQLConverter.ts
    │   │   │   │   └── GraphiQLSandbox.tsx
    │   │   │   ├── Header
    │   │   │   │   ├── Header.tsx
    │   │   │   │   ├── Menu.tsx
    │   │   │   │   └── RunOnCubeCloud.tsx
    │   │   │   ├── Input.tsx
    │   │   │   ├── LivePreviewContext
    │   │   │   │   ├── LivePreviewBar.tsx
    │   │   │   │   └── LivePreviewContextProvider.tsx
    │   │   │   ├── Menu.tsx
    │   │   │   ├── Order
    │   │   │   │   ├── DraggableItem.tsx
    │   │   │   │   └── OrderGroup.tsx
    │   │   │   ├── Pivot
    │   │   │   │   ├── Axes.tsx
    │   │   │   │   ├── DroppableArea.tsx
    │   │   │   │   ├── Item.tsx
    │   │   │   │   └── Options.tsx
    │   │   │   ├── PlaygroundQueryBuilder
    │   │   │   │   ├── QueryBuilderContainer.tsx
    │   │   │   │   └── components
    │   │   │   │   │   ├── PlaygroundQueryBuilder.tsx
    │   │   │   │   │   ├── PreAggregationStatus.tsx
    │   │   │   │   │   └── index.ts
    │   │   │   ├── QueryTabs
    │   │   │   │   ├── ChartRendererStateProvider.tsx
    │   │   │   │   └── QueryTabs.tsx
    │   │   │   ├── SectionHeader.tsx
    │   │   │   ├── SectionRow.tsx
    │   │   │   ├── SecurityContext
    │   │   │   │   ├── SecurityContext.tsx
    │   │   │   │   └── SecurityContextProvider.tsx
    │   │   │   ├── Select.tsx
    │   │   │   ├── Settings
    │   │   │   │   └── Settings.tsx
    │   │   │   ├── SqlQueryTab.tsx
    │   │   │   ├── Tabs.tsx
    │   │   │   ├── Tree.tsx
    │   │   │   ├── Vizard
    │   │   │   │   └── Vizard.tsx
    │   │   │   └── index.tsx
    │   │   ├── events.ts
    │   │   ├── grid
    │   │   │   ├── Box.tsx
    │   │   │   ├── Flex.tsx
    │   │   │   └── index.ts
    │   │   ├── hooks
    │   │   │   ├── app-context.ts
    │   │   │   ├── cubejs-api.ts
    │   │   │   ├── deep-compare-memoize.ts
    │   │   │   ├── deep-dependencies.ts
    │   │   │   ├── deep-effect.ts
    │   │   │   ├── deep-memo.ts
    │   │   │   ├── identifier.ts
    │   │   │   ├── index.ts
    │   │   │   ├── is-mounted.ts
    │   │   │   ├── live-preview-context.ts
    │   │   │   ├── local-storage.ts
    │   │   │   ├── security-context.ts
    │   │   │   ├── server-core-version.ts
    │   │   │   ├── setter.ts
    │   │   │   ├── toggle.ts
    │   │   │   └── window-size.tsx
    │   │   ├── img
    │   │   │   ├── bi
    │   │   │   │   ├── deepnote.svg
    │   │   │   │   ├── excel.svg
    │   │   │   │   ├── google-data-studio.svg
    │   │   │   │   ├── google-sheets.svg
    │   │   │   │   ├── hex.svg
    │   │   │   │   ├── hightouch.svg
    │   │   │   │   ├── jupyter.svg
    │   │   │   │   ├── metabase.svg
    │   │   │   │   ├── observable.svg
    │   │   │   │   ├── postgresql.svg
    │   │   │   │   ├── power-bi.svg
    │   │   │   │   ├── streamlit.svg
    │   │   │   │   ├── superset.svg
    │   │   │   │   ├── tableau.svg
    │   │   │   │   └── thoughtspot.svg
    │   │   │   ├── db
    │   │   │   │   ├── athena.svg
    │   │   │   │   ├── bigquery.svg
    │   │   │   │   ├── clickhouse.svg
    │   │   │   │   ├── crate.svg
    │   │   │   │   ├── databricks.svg
    │   │   │   │   ├── druid.svg
    │   │   │   │   ├── firebolt.svg
    │   │   │   │   ├── hive.svg
    │   │   │   │   ├── ksqldb.svg
    │   │   │   │   ├── materialize.svg
    │   │   │   │   ├── mongodb.svg
    │   │   │   │   ├── mssql.svg
    │   │   │   │   ├── mysql.svg
    │   │   │   │   ├── oracle.svg
    │   │   │   │   ├── postgres.svg
    │   │   │   │   ├── presto.svg
    │   │   │   │   ├── questdb.svg
    │   │   │   │   ├── redshift.svg
    │   │   │   │   ├── snowflake.svg
    │   │   │   │   └── trino.svg
    │   │   │   └── semantic-layer.svg
    │   │   ├── index.tsx
    │   │   ├── loadable.tsx
    │   │   ├── pages
    │   │   │   ├── ConnectToBI
    │   │   │   │   └── ConnectToBiPage.tsx
    │   │   │   ├── ConnectionWizard
    │   │   │   │   ├── ConnectionWizardPage.tsx
    │   │   │   │   └── components
    │   │   │   │   │   ├── Base64Upload.tsx
    │   │   │   │   │   ├── ConnectionTest.tsx
    │   │   │   │   │   ├── DatabaseCard.tsx
    │   │   │   │   │   ├── DatabaseForm.tsx
    │   │   │   │   │   └── LocalhostTipBox.tsx
    │   │   │   ├── Explore
    │   │   │   │   └── ExplorePage.tsx
    │   │   │   ├── FrontendIntegrations
    │   │   │   │   └── FrontendIntegrationsPage.tsx
    │   │   │   ├── Index
    │   │   │   │   └── IndexPage.tsx
    │   │   │   ├── Schema
    │   │   │   │   └── SchemaPage.tsx
    │   │   │   ├── components
    │   │   │   │   └── Ui.tsx
    │   │   │   └── index.tsx
    │   │   ├── playground
    │   │   │   ├── components
    │   │   │   │   ├── PlaygroundWrapper.tsx
    │   │   │   │   └── QueryBuilder.tsx
    │   │   │   ├── index.less
    │   │   │   └── index.ts
    │   │   ├── react-app-env.d.ts
    │   │   ├── rollup-designer
    │   │   │   ├── Context.tsx
    │   │   │   ├── RollupDesigner.tsx
    │   │   │   ├── components
    │   │   │   │   ├── Cubes.tsx
    │   │   │   │   ├── MemberTag.tsx
    │   │   │   │   ├── Members.tsx
    │   │   │   │   ├── RollupDesignerModal.tsx
    │   │   │   │   ├── Settings.tsx
    │   │   │   │   ├── TimeDimension.tsx
    │   │   │   │   └── cube-member-search.ts
    │   │   │   ├── index.ts
    │   │   │   └── utils.ts
    │   │   ├── shared
    │   │   │   ├── env-vars-db-map.tsx
    │   │   │   ├── helpers.ts
    │   │   │   ├── icons
    │   │   │   │   ├── CubejsIcon.tsx
    │   │   │   │   ├── GraphQLIcon.tsx
    │   │   │   │   └── LightningIcon.tsx
    │   │   │   ├── members.ts
    │   │   │   ├── request.ts
    │   │   │   ├── svg.d.ts
    │   │   │   └── time-zones.ts
    │   │   ├── theme.ts
    │   │   ├── types.ts
    │   │   ├── utils.ts
    │   │   └── variables.ts
    │   ├── tsconfig.json
    │   ├── variables-esm.js
    │   ├── variables.js
    │   ├── vite.config.ts
    │   ├── vitest.config.ts
    │   └── vizard
    │   │   ├── .env.example
    │   │   ├── .eslintrc
    │   │   ├── .eslintrc.cjs
    │   │   ├── .gitignore
    │   │   ├── .nvmrc
    │   │   ├── .prettierignore
    │   │   ├── .prettierrc
    │   │   ├── README.md
    │   │   ├── apps
    │   │       ├── react-typescript-antd-table
    │   │       │   ├── .eslintrc.cjs
    │   │       │   ├── .gitignore
    │   │       │   ├── README.md
    │   │       │   ├── index.html
    │   │       │   ├── package.json
    │   │       │   ├── src
    │   │       │   │   ├── App.tsx
    │   │       │   │   ├── ChartViewer.tsx
    │   │       │   │   ├── QueryRenderer.tsx
    │   │       │   │   ├── config.ts
    │   │       │   │   ├── index.css
    │   │       │   │   ├── main.tsx
    │   │       │   │   ├── types.ts
    │   │       │   │   └── vite-env.d.ts
    │   │       │   ├── tsconfig.json
    │   │       │   ├── tsconfig.node.json
    │   │       │   ├── vite.config.ts
    │   │       │   └── yarn.lock
    │   │       └── react-typescript-chartjs-area+bar+doughnut+line+pie
    │   │       │   ├── .eslintrc.cjs
    │   │       │   ├── .gitignore
    │   │       │   ├── README.md
    │   │       │   ├── index.html
    │   │       │   ├── package.json
    │   │       │   ├── src
    │   │       │       ├── App.tsx
    │   │       │       ├── ChartViewer.tsx
    │   │       │       ├── QueryRenderer.tsx
    │   │       │       ├── config.ts
    │   │       │       ├── index.css
    │   │       │       ├── main.tsx
    │   │       │       ├── types.ts
    │   │       │       └── vite-env.d.ts
    │   │       │   ├── tsconfig.json
    │   │       │   ├── tsconfig.node.json
    │   │       │   ├── vite.config.ts
    │   │       │   └── yarn.lock
    │   │   ├── build-apps.js
    │   │   ├── convert-apps.js
    │   │   ├── index.html
    │   │   ├── package.json
    │   │   ├── public
    │   │       ├── favicon.ico
    │   │       ├── fonts
    │   │       │   ├── Inter-Bold.woff
    │   │       │   ├── Inter-Bold.woff2
    │   │       │   ├── Inter-Medium.woff
    │   │       │   ├── Inter-Medium.woff2
    │   │       │   ├── Inter-Regular.woff
    │   │       │   ├── Inter-Regular.woff2
    │   │       │   ├── Inter-SemiBold.woff
    │   │       │   ├── Inter-SemiBold.woff2
    │   │       │   ├── JetBrainsMono-Bold.woff
    │   │       │   ├── JetBrainsMono-Bold.woff2
    │   │       │   ├── JetBrainsMono-Medium.woff
    │   │       │   ├── JetBrainsMono-Medium.woff2
    │   │       │   ├── JetBrainsMono-Regular.woff
    │   │       │   ├── JetBrainsMono-Regular.woff2
    │   │       │   ├── SourceCodePro-Regular.woff
    │   │       │   ├── SourceCodePro-Regular.woff2
    │   │       │   ├── text-security-disc.woff
    │   │       │   └── text-security-disc.woff2
    │   │       └── logos
    │   │       │   ├── angular.svg
    │   │       │   ├── js.svg
    │   │       │   ├── react.svg
    │   │       │   ├── svelte.svg
    │   │       │   ├── ts.svg
    │   │       │   └── vue.svg
    │   │   ├── src
    │   │       ├── CodeViewer.tsx
    │   │       ├── Editor.tsx
    │   │       ├── Preview.tsx
    │   │       ├── Setup.tsx
    │   │       ├── Vizard.tsx
    │   │       ├── app-files.ts
    │   │       ├── app-name.ts
    │   │       ├── app-options.js
    │   │       ├── assets
    │   │       │   └── react.svg
    │   │       ├── components
    │   │       │   └── Tabs.tsx
    │   │       ├── helpers.ts
    │   │       ├── hooks
    │   │       │   ├── event.ts
    │   │       │   ├── index.ts
    │   │       │   ├── sync-ref.ts
    │   │       │   └── window-size.ts
    │   │       ├── icons
    │   │       │   └── CloseIcon.tsx
    │   │       ├── index.css
    │   │       ├── main.tsx
    │   │       ├── monaco
    │   │       │   ├── config.ts
    │   │       │   ├── index.ts
    │   │       │   ├── setup-monaco.ts
    │   │       │   ├── setup-workers.ts
    │   │       │   └── workers
    │   │       │   │   ├── css.worker.ts
    │   │       │   │   ├── editor.worker.ts
    │   │       │   │   ├── json.worker.ts
    │   │       │   │   ├── ts.worker.ts
    │   │       │   │   └── yaml.worker.ts
    │   │       ├── options.tsx
    │   │       ├── types.ts
    │   │       ├── utils
    │   │       │   └── download-file.ts
    │   │       └── vite-env.d.ts
    │   │   ├── tsconfig.json
    │   │   ├── tsconfig.node.json
    │   │   ├── vite.config.ts
    │   │   └── yarn.lock
    ├── cubejs-postgres-driver
    │   ├── .gitignore
    │   ├── CHANGELOG.md
    │   ├── LICENSE
    │   ├── README.md
    │   ├── index.js
    │   ├── package.json
    │   ├── src
    │   │   ├── PostgresDriver.ts
    │   │   ├── QueryStream.ts
    │   │   └── index.ts
    │   ├── test
    │   │   └── PostgresDriver.test.ts
    │   └── tsconfig.json
    ├── cubejs-prestodb-driver
    │   ├── .gitignore
    │   ├── CHANGELOG.md
    │   ├── LICENSE
    │   ├── README.md
    │   ├── config
    │   │   └── catalog
    │   │   │   └── postgresql.properties
    │   ├── docker-compose.yml
    │   ├── index.js
    │   ├── jest.config.js
    │   ├── package.json
    │   ├── src
    │   │   ├── PrestoDriver.ts
    │   │   └── index.ts
    │   ├── test
    │   │   └── presto-driver.test.ts
    │   └── tsconfig.json
    ├── cubejs-query-orchestrator
    │   ├── .gitignore
    │   ├── CHANGELOG.md
    │   ├── DEVELOPMENT.md
    │   ├── LICENSE
    │   ├── README.md
    │   ├── docker-compose.yml
    │   ├── jest.config.js
    │   ├── package.json
    │   ├── src
    │   │   ├── index.ts
    │   │   └── orchestrator
    │   │   │   ├── BaseQueueDriver.ts
    │   │   │   ├── BaseQueueEventsBus.ts
    │   │   │   ├── ContinueWaitError.ts
    │   │   │   ├── DriverFactory.ts
    │   │   │   ├── LocalCacheDriver.ts
    │   │   │   ├── LocalQueueDriver.js
    │   │   │   ├── LocalQueueEventsBus.ts
    │   │   │   ├── PreAggregationLoadCache.ts
    │   │   │   ├── PreAggregationLoader.ts
    │   │   │   ├── PreAggregationPartitionRangeLoader.ts
    │   │   │   ├── PreAggregations.ts
    │   │   │   ├── QueryCache.ts
    │   │   │   ├── QueryOrchestrator.ts
    │   │   │   ├── QueryQueue.js
    │   │   │   ├── QueryStream.ts
    │   │   │   ├── StreamObjectsCounter.ts
    │   │   │   ├── TimeoutError.ts
    │   │   │   ├── index.ts
    │   │   │   └── utils.ts
    │   ├── test
    │   │   ├── benchmarks
    │   │   │   ├── QueueBench.abstract.ts
    │   │   │   ├── QueueCubestore.bench.ts
    │   │   │   └── QueueMemory.bench.ts
    │   │   ├── integration
    │   │   │   └── cubestore
    │   │   │   │   ├── QueryCacheCubestore.test.ts
    │   │   │   │   └── QueryQueueCubestore.test.ts
    │   │   └── unit
    │   │   │   ├── PreAggregations.test.js
    │   │   │   ├── QueryCache.abstract.ts
    │   │   │   ├── QueryCache.test.ts
    │   │   │   ├── QueryOrchestrator.test.js
    │   │   │   ├── QueryQueue.abstract.ts
    │   │   │   └── QueryQueue.test.ts
    │   └── tsconfig.json
    ├── cubejs-questdb-driver
    │   ├── .gitignore
    │   ├── CHANGELOG.md
    │   ├── LICENSE
    │   ├── README.md
    │   ├── index.js
    │   ├── package.json
    │   ├── src
    │   │   ├── QuestDriver.ts
    │   │   ├── QuestQuery.ts
    │   │   └── index.ts
    │   ├── test
    │   │   ├── QuestDriver.test.ts
    │   │   └── QuestQuery.test.ts
    │   └── tsconfig.json
    ├── cubejs-redshift-driver
    │   ├── .gitignore
    │   ├── CHANGELOG.md
    │   ├── LICENSE
    │   ├── README.md
    │   ├── index.js
    │   ├── package.json
    │   ├── src
    │   │   ├── RedshiftDriver.ts
    │   │   └── index.ts
    │   └── tsconfig.json
    ├── cubejs-schema-compiler
    │   ├── .eslintignore
    │   ├── .gitignore
    │   ├── CHANGELOG.md
    │   ├── LICENSE
    │   ├── README.md
    │   ├── jest.config.js
    │   ├── package.json
    │   ├── src
    │   │   ├── adapter
    │   │   │   ├── AWSElasticSearchQuery.ts
    │   │   │   ├── BaseDimension.ts
    │   │   │   ├── BaseFilter.ts
    │   │   │   ├── BaseGroupFilter.ts
    │   │   │   ├── BaseMeasure.ts
    │   │   │   ├── BaseQuery.js
    │   │   │   ├── BaseSegment.ts
    │   │   │   ├── BaseTimeDimension.ts
    │   │   │   ├── BigqueryQuery.ts
    │   │   │   ├── ClickHouseQuery.ts
    │   │   │   ├── CrateQuery.ts
    │   │   │   ├── CubeStoreQuery.ts
    │   │   │   ├── ElasticSearchQuery.ts
    │   │   │   ├── Granularity.ts
    │   │   │   ├── HiveQuery.ts
    │   │   │   ├── MongoBiQuery.ts
    │   │   │   ├── MssqlQuery.ts
    │   │   │   ├── MysqlQuery.ts
    │   │   │   ├── OracleQuery.ts
    │   │   │   ├── ParamAllocator.ts
    │   │   │   ├── PostgresQuery.ts
    │   │   │   ├── PreAggregations.ts
    │   │   │   ├── PrestodbQuery.ts
    │   │   │   ├── QueryBuilder.ts
    │   │   │   ├── QueryCache.ts
    │   │   │   ├── QueryFactory.ts
    │   │   │   ├── RedshiftQuery.ts
    │   │   │   ├── SnowflakeQuery.ts
    │   │   │   ├── SqliteQuery.ts
    │   │   │   ├── VerticaQuery.ts
    │   │   │   └── index.ts
    │   │   ├── compiler
    │   │   │   ├── CompileError.ts
    │   │   │   ├── CompilerCache.ts
    │   │   │   ├── ContextEvaluator.js
    │   │   │   ├── CubeDictionary.js
    │   │   │   ├── CubeEvaluator.ts
    │   │   │   ├── CubeSymbols.ts
    │   │   │   ├── CubeToMetaTransformer.js
    │   │   │   ├── CubeValidator.ts
    │   │   │   ├── DataSchemaCompiler.ts
    │   │   │   ├── DynamicReference.ts
    │   │   │   ├── ErrorReporter.ts
    │   │   │   ├── JoinGraph.js
    │   │   │   ├── PrepareCompiler.ts
    │   │   │   ├── UserError.ts
    │   │   │   ├── ViewCompilationGate.ts
    │   │   │   ├── YamlCompiler.ts
    │   │   │   ├── converters
    │   │   │   │   ├── CubePreAggregationConverter.ts
    │   │   │   │   ├── CubeSchemaConverter.ts
    │   │   │   │   └── index.ts
    │   │   │   ├── index.ts
    │   │   │   ├── transpilers
    │   │   │   │   ├── CubeCheckDuplicatePropTranspiler.ts
    │   │   │   │   ├── CubePropContextTranspiler.ts
    │   │   │   │   ├── ImportExportTranspiler.ts
    │   │   │   │   ├── LightweightNodeCubeDictionary.ts
    │   │   │   │   ├── LightweightSymbolResolver.ts
    │   │   │   │   ├── ValidationTranspiler.ts
    │   │   │   │   ├── index.ts
    │   │   │   │   ├── transpiler.interface.ts
    │   │   │   │   └── transpiler_worker.ts
    │   │   │   └── utils.ts
    │   │   ├── extensions
    │   │   │   ├── Funnels.ts
    │   │   │   ├── Reflection.ts
    │   │   │   ├── RefreshKeys.ts
    │   │   │   ├── extension.abstract.ts
    │   │   │   └── index.ts
    │   │   ├── index.ts
    │   │   ├── parser
    │   │   │   ├── GenericSql.g4
    │   │   │   ├── GenericSql.interp
    │   │   │   ├── GenericSql.tokens
    │   │   │   ├── GenericSqlLexer.interp
    │   │   │   ├── GenericSqlLexer.tokens
    │   │   │   ├── GenericSqlLexer.ts
    │   │   │   ├── GenericSqlListener.ts
    │   │   │   ├── GenericSqlParser.ts
    │   │   │   ├── GenericSqlVisitor.ts
    │   │   │   ├── Python3Lexer.g4
    │   │   │   ├── Python3Lexer.interp
    │   │   │   ├── Python3Lexer.tokens
    │   │   │   ├── Python3Lexer.ts
    │   │   │   ├── Python3Parser.g4
    │   │   │   ├── Python3Parser.interp
    │   │   │   ├── Python3Parser.tokens
    │   │   │   ├── Python3Parser.ts
    │   │   │   ├── Python3ParserListener.ts
    │   │   │   ├── Python3ParserVisitor.ts
    │   │   │   ├── PythonParser.ts
    │   │   │   └── SqlParser.ts
    │   │   └── scaffolding
    │   │   │   ├── ScaffoldingSchema.ts
    │   │   │   ├── ScaffoldingTemplate.ts
    │   │   │   ├── descriptors
    │   │   │       ├── MemberReference.ts
    │   │   │       └── ValueWithComments.ts
    │   │   │   ├── formatters
    │   │   │       ├── BaseSchemaFormatter.ts
    │   │   │       ├── JavaScriptSchemaFormatter.ts
    │   │   │       ├── YamlSchemaFormatter.ts
    │   │   │       └── index.ts
    │   │   │   ├── index.ts
    │   │   │   └── utils.ts
    │   ├── test
    │   │   ├── global-setup.ts
    │   │   ├── integration
    │   │   │   ├── clickhouse
    │   │   │   │   ├── ClickHouseDbRunner.ts
    │   │   │   │   ├── clickhouse-dataschema-compiler.test.ts
    │   │   │   │   ├── clickhouse-graph-builder.test.ts
    │   │   │   │   ├── complex-joins.test.ts
    │   │   │   │   └── custom-granularities.test.ts
    │   │   │   ├── mssql
    │   │   │   │   ├── MSSqlDbRunner.js
    │   │   │   │   ├── custom-granularities.test.ts
    │   │   │   │   ├── mssql-cumulative-measures.test.ts
    │   │   │   │   ├── mssql-pre-aggregations.test.ts
    │   │   │   │   └── mssql-ungrouped.test.ts
    │   │   │   ├── mysql
    │   │   │   │   ├── MySqlDbRunner.js
    │   │   │   │   ├── custom-granularities.test.ts
    │   │   │   │   └── mysql-pre-aggregations.test.ts
    │   │   │   ├── postgres
    │   │   │   │   ├── PostgresDBRunner.js
    │   │   │   │   ├── async-module.test.ts
    │   │   │   │   ├── calendars.test.ts
    │   │   │   │   ├── cube-views.test.ts
    │   │   │   │   ├── custom-granularities.test.ts
    │   │   │   │   ├── dataschema-compiler.test.ts
    │   │   │   │   ├── member-expression.test.ts
    │   │   │   │   ├── member-expressions-on-views.test.ts
    │   │   │   │   ├── multi-fact-join.test.ts
    │   │   │   │   ├── multi-stage.test.ts
    │   │   │   │   ├── multiple-join-paths.test.ts
    │   │   │   │   ├── pre-agg-allow-non-strict.test.ts
    │   │   │   │   ├── pre-aggregation-utils.ts
    │   │   │   │   ├── pre-aggregations-alias.test.ts
    │   │   │   │   ├── pre-aggregations-multi-stage.test.ts
    │   │   │   │   ├── pre-aggregations-time.test.ts
    │   │   │   │   ├── pre-aggregations.test.ts
    │   │   │   │   ├── sql-generation-logic.test.ts
    │   │   │   │   ├── sql-generation.test.ts
    │   │   │   │   ├── sub-query-dimensions.test.ts
    │   │   │   │   ├── view-deduplication.test.ts
    │   │   │   │   ├── views-join-order-2.test.ts
    │   │   │   │   ├── views-join-order.test.ts
    │   │   │   │   ├── views.test.ts
    │   │   │   │   └── yaml-compiler.test.ts
    │   │   │   └── utils
    │   │   │   │   └── BaseDbRunner.ts
    │   │   ├── snapshotResolver.js
    │   │   └── unit
    │   │   │   ├── PrepareCompiler.ts
    │   │   │   ├── TestHelperForImport.js
    │   │   │   ├── TestUtil.js
    │   │   │   ├── __snapshots__
    │   │   │       ├── cube-schema-converter.test.ts.snap
    │   │   │       ├── scaffolding-template.test.ts.snap
    │   │   │       ├── schema.test.ts.snap
    │   │   │       └── views.test.ts.snap
    │   │   │   ├── base-query.test.ts
    │   │   │   ├── cube-schema-converter.test.ts
    │   │   │   ├── cube-validator.test.ts
    │   │   │   ├── extensions.test.ts
    │   │   │   ├── fixtures
    │   │   │       ├── calendar_orders.yml
    │   │   │       ├── custom_calendar.js
    │   │   │       ├── custom_calendar.yml
    │   │   │       ├── folders.yml
    │   │   │       ├── folders_invalid_path.yml
    │   │   │       ├── folders_non_exist.yml
    │   │   │       ├── hierarchies-extended-cubes.yml
    │   │   │       ├── hierarchies.yml
    │   │   │       ├── hierarchy-with-measure.yml
    │   │   │       ├── invalid_cubes.yaml
    │   │   │       ├── line_items.yml
    │   │   │       ├── order_users.yml
    │   │   │       ├── orders.js
    │   │   │       ├── orders_and_items_multiplied_pre_agg.yml
    │   │   │       ├── orders_big.js
    │   │   │       ├── orders_big.yml
    │   │   │       ├── orders_dup_members.js
    │   │   │       ├── orders_ext.js
    │   │   │       ├── orders_ext.yml
    │   │   │       ├── orders_incorrect_acl.yml
    │   │   │       ├── orders_nonexist_acl.yml
    │   │   │       ├── validate_preaggs.js
    │   │   │       └── validate_preaggs.yml
    │   │   │   ├── folders.test.ts
    │   │   │   ├── hierarchies.test.ts
    │   │   │   ├── mongobi-query.test.ts
    │   │   │   ├── mssql-query.test.ts
    │   │   │   ├── postgres-query.test.ts
    │   │   │   ├── pre-agg-by-filter-match.test.ts
    │   │   │   ├── pre-agg-time-dim-match.test.ts
    │   │   │   ├── pre-aggregations.test.ts
    │   │   │   ├── scaffolding-schema.test.ts
    │   │   │   ├── scaffolding-template.test.ts
    │   │   │   ├── schema.test.ts
    │   │   │   ├── sql-parser.test.ts
    │   │   │   ├── transpile-speed.test.ts
    │   │   │   ├── transpilers.test.ts
    │   │   │   ├── utils.test.ts
    │   │   │   ├── utils.ts
    │   │   │   ├── views.test.ts
    │   │   │   └── yaml-schema.test.ts
    │   └── tsconfig.json
    ├── cubejs-server-core
    │   ├── .gitignore
    │   ├── CHANGELOG.md
    │   ├── LICENSE
    │   ├── README.md
    │   ├── index.js
    │   ├── jest.config.js
    │   ├── package.json
    │   ├── src
    │   │   ├── core
    │   │   │   ├── CompilerApi.js
    │   │   │   ├── DevServer.ts
    │   │   │   ├── DriverDependencies.js
    │   │   │   ├── DriverResolvers.ts
    │   │   │   ├── OptsHandler.ts
    │   │   │   ├── OrchestratorApi.ts
    │   │   │   ├── OrchestratorStorage.ts
    │   │   │   ├── RefreshScheduler.ts
    │   │   │   ├── agentCollect.ts
    │   │   │   ├── logger.js
    │   │   │   ├── optionsValidate.ts
    │   │   │   ├── server.ts
    │   │   │   ├── types.ts
    │   │   │   └── utils.ts
    │   │   └── index.ts
    │   ├── test
    │   │   ├── setup.ts
    │   │   └── unit
    │   │   │   ├── OptsHandler.test.ts
    │   │   │   ├── RefreshScheduler.test.ts
    │   │   │   └── index.test.ts
    │   └── tsconfig.json
    ├── cubejs-server
    │   ├── .gitignore
    │   ├── CHANGELOG.md
    │   ├── LICENSE
    │   ├── README.md
    │   ├── bin
    │   │   ├── dev-server
    │   │   └── server
    │   ├── command
    │   │   ├── README.md
    │   │   ├── dev-server.ts
    │   │   └── server.ts
    │   ├── examples
    │   │   ├── simple-mysql
    │   │   │   └── package.json
    │   │   └── simple-postgres
    │   │   │   └── package.json
    │   ├── index.js
    │   ├── jest.config.js
    │   ├── package.json
    │   ├── scripts
    │   │   └── test.js
    │   ├── src
    │   │   ├── bin
    │   │   │   ├── dev-server.ts
    │   │   │   └── server.ts
    │   │   ├── command
    │   │   │   ├── dev-server.ts
    │   │   │   └── server.ts
    │   │   ├── graceful-middleware.ts
    │   │   ├── index.ts
    │   │   ├── server-status.ts
    │   │   ├── server.ts
    │   │   ├── server
    │   │   │   ├── container.ts
    │   │   │   ├── diagnostic-host.ts
    │   │   │   ├── gracefull-http.ts
    │   │   │   ├── typescript-compiler.ts
    │   │   │   └── utils.ts
    │   │   └── websocket-server.ts
    │   ├── test
    │   │   ├── __mocks__
    │   │   │   ├── http.js
    │   │   │   └── server-core.js
    │   │   └── index.test.js
    │   └── tsconfig.json
    ├── cubejs-snowflake-driver
    │   ├── .gitignore
    │   ├── CHANGELOG.md
    │   ├── LICENSE
    │   ├── README.md
    │   ├── index.js
    │   ├── package.json
    │   ├── src
    │   │   ├── HydrationStream.ts
    │   │   ├── SnowflakeDriver.ts
    │   │   └── index.ts
    │   └── tsconfig.json
    ├── cubejs-sqlite-driver
    │   ├── CHANGELOG.md
    │   ├── LICENSE
    │   ├── README.md
    │   ├── driver
    │   │   ├── SqliteDriver.js
    │   │   └── index.d.ts
    │   └── package.json
    ├── cubejs-templates
    │   ├── .gitignore
    │   ├── CHANGELOG.md
    │   ├── LICENSE
    │   ├── README.md
    │   ├── package.json
    │   ├── src
    │   │   ├── AppContainer.ts
    │   │   ├── DependencyTree.ts
    │   │   ├── DevPackageFetcher.ts
    │   │   ├── PackageFetcher.ts
    │   │   ├── SourceContainer.ts
    │   │   ├── index.ts
    │   │   └── utils.ts
    │   └── tsconfig.json
    ├── cubejs-testing-drivers
    │   ├── .gitignore
    │   ├── .integration
    │   │   └── _PreAggregationLoader.test.ts_
    │   ├── CHANGELOG.md
    │   ├── LICENSE
    │   ├── fixtures
    │   │   ├── _cube.js
    │   │   ├── _package.json
    │   │   ├── _schemas.json
    │   │   ├── athena.json
    │   │   ├── bigquery.json
    │   │   ├── clickhouse.json
    │   │   ├── databricks-jdbc.json
    │   │   ├── mssql.json
    │   │   ├── mysql.json
    │   │   ├── postgres.json
    │   │   ├── redshift.json
    │   │   └── snowflake.json
    │   ├── jest.config.js
    │   ├── package.json
    │   ├── src
    │   │   ├── dataset.ts
    │   │   ├── helpers
    │   │   │   ├── buildCube.ts
    │   │   │   ├── buildPreaggs.ts
    │   │   │   ├── getComposePath.ts
    │   │   │   ├── getCore.ts
    │   │   │   ├── getCreateQueries.ts
    │   │   │   ├── getCubeJsPath.ts
    │   │   │   ├── getDriver.ts
    │   │   │   ├── getFixtures.ts
    │   │   │   ├── getPackageJsonPath.ts
    │   │   │   ├── getSchemaPath.ts
    │   │   │   ├── getSelectQueries.ts
    │   │   │   ├── getTempPath.ts
    │   │   │   ├── index.ts
    │   │   │   ├── patchDriver.ts
    │   │   │   └── runEnvironment.ts
    │   │   ├── index.ts
    │   │   ├── tests
    │   │   │   ├── testConnection.ts
    │   │   │   ├── testExternalSchemas.ts
    │   │   │   ├── testIncrementalSchemaLoading.ts
    │   │   │   ├── testQueries.ts
    │   │   │   └── testSequence.ts
    │   │   └── types
    │   │   │   ├── Cast.ts
    │   │   │   ├── CubejsServerCoreExposed.ts
    │   │   │   ├── Environment.ts
    │   │   │   ├── Fixture.ts
    │   │   │   └── PatchedDriver.ts
    │   ├── test
    │   │   ├── __snapshots__
    │   │   │   ├── athena-core.test.ts.snap
    │   │   │   ├── athena-driver.test.ts.snap
    │   │   │   ├── athena-export-bucket-s3-full.test.ts.snap
    │   │   │   ├── bigquery-core.test.ts.snap
    │   │   │   ├── bigquery-driver.test.ts.snap
    │   │   │   ├── bigquery-export-bucket-gcs-full.test.ts.snap
    │   │   │   ├── clickhouse-core.test.ts.snap
    │   │   │   ├── clickhouse-driver.test.ts.snap
    │   │   │   ├── clickhouse-export-bucket-s3-full.test.ts.snap
    │   │   │   ├── clickhouse-export-bucket-s3-prefix-full.test.ts.snap
    │   │   │   ├── clickhouse-full.test.ts.snap
    │   │   │   ├── databricks-jdbc-core.test.ts.snap
    │   │   │   ├── databricks-jdbc-driver.test.ts.snap
    │   │   │   ├── databricks-jdbc-export-bucket-azure-full.test.ts.snap
    │   │   │   ├── databricks-jdbc-export-bucket-azure-prefix-full.test.ts.snap
    │   │   │   ├── databricks-jdbc-export-bucket-gcs-full.test.ts.snap
    │   │   │   ├── databricks-jdbc-export-bucket-gcs-prefix-full.test.ts.snap
    │   │   │   ├── databricks-jdbc-export-bucket-s3-full.test.ts.snap
    │   │   │   ├── databricks-jdbc-export-bucket-s3-prefix-full.test.ts.snap
    │   │   │   ├── databricks-jdbc-full.test.ts.snap
    │   │   │   ├── mssql-core.test.ts.snap
    │   │   │   ├── mssql-driver.test.ts.snap
    │   │   │   ├── mssql-full.test.ts.snap
    │   │   │   ├── mysql-core.test.ts.snap
    │   │   │   ├── mysql-driver.test.ts.snap
    │   │   │   ├── mysql-full.test.ts.snap
    │   │   │   ├── postgres-core.test.ts.snap
    │   │   │   ├── postgres-driver.test.ts.snap
    │   │   │   ├── postgres-full.test.ts.snap
    │   │   │   ├── redshift-export-bucket-s3-full.test.ts.snap
    │   │   │   ├── redshift-full.test.ts.snap
    │   │   │   ├── snowflake-driver.test.ts.snap
    │   │   │   ├── snowflake-encrypted-pk-full.test.ts.snap
    │   │   │   ├── snowflake-export-bucket-azure-full.test.ts.snap
    │   │   │   ├── snowflake-export-bucket-azure-prefix-full.test.ts.snap
    │   │   │   ├── snowflake-export-bucket-azure-via-storage-integration-full.test.ts.snap
    │   │   │   ├── snowflake-export-bucket-gcs-full.test.ts.snap
    │   │   │   ├── snowflake-export-bucket-gcs-prefix-full.test.ts.snap
    │   │   │   ├── snowflake-export-bucket-s3-full.test.ts.snap
    │   │   │   ├── snowflake-export-bucket-s3-prefix-full.test.ts.snap
    │   │   │   └── snowflake-full.test.ts.snap
    │   │   ├── athena-core.test.ts
    │   │   ├── athena-driver.test.ts
    │   │   ├── athena-export-bucket-s3-full.test.ts
    │   │   ├── bigquery-core.test.ts
    │   │   ├── bigquery-driver.test.ts
    │   │   ├── bigquery-export-bucket-gcs-full.test.ts
    │   │   ├── buildCubeImage.ts
    │   │   ├── clickhouse-core.test.ts
    │   │   ├── clickhouse-driver.test.ts
    │   │   ├── clickhouse-export-bucket-s3-full.test.ts
    │   │   ├── clickhouse-export-bucket-s3-prefix-full.test.ts
    │   │   ├── clickhouse-full.test.ts
    │   │   ├── databricks-jdbc-core.test.ts
    │   │   ├── databricks-jdbc-driver.test.ts
    │   │   ├── databricks-jdbc-export-bucket-azure-full.test.ts
    │   │   ├── databricks-jdbc-export-bucket-azure-prefix-full.test.ts
    │   │   ├── databricks-jdbc-export-bucket-gcs-full.test.ts
    │   │   ├── databricks-jdbc-export-bucket-gcs-prefix-full.test.ts
    │   │   ├── databricks-jdbc-export-bucket-s3-full.test.ts
    │   │   ├── databricks-jdbc-export-bucket-s3-prefix-full.test.ts
    │   │   ├── databricks-jdbc-full.test.ts
    │   │   ├── mssql-core.test.ts
    │   │   ├── mssql-driver.test.ts
    │   │   ├── mssql-full.test.ts
    │   │   ├── mysql-core.test.ts
    │   │   ├── mysql-driver.test.ts
    │   │   ├── mysql-full.test.ts
    │   │   ├── postgres-core.test.ts
    │   │   ├── postgres-driver.test.ts
    │   │   ├── postgres-full.test.ts
    │   │   ├── redshift-core.test.ts
    │   │   ├── redshift-driver.test.ts
    │   │   ├── redshift-export-bucket-s3-full.test.ts
    │   │   ├── redshift-full.test.ts
    │   │   ├── snapshotResolver.js
    │   │   ├── snowflake-core.test.ts
    │   │   ├── snowflake-driver.test.ts
    │   │   ├── snowflake-encrypted-pk-full.test.ts
    │   │   ├── snowflake-export-bucket-azure-full.test.ts
    │   │   ├── snowflake-export-bucket-azure-prefix-full.test.ts
    │   │   ├── snowflake-export-bucket-azure-via-storage-integration-full.test.ts
    │   │   ├── snowflake-export-bucket-gcs-full.test.ts
    │   │   ├── snowflake-export-bucket-gcs-prefix-full.test.ts
    │   │   ├── snowflake-export-bucket-s3-full.test.ts
    │   │   ├── snowflake-export-bucket-s3-prefix-full.test.ts
    │   │   └── snowflake-full.test.ts
    │   └── tsconfig.json
    ├── cubejs-testing-shared
    │   ├── .gitignore
    │   ├── CHANGELOG.md
    │   ├── LICENSE
    │   ├── README.md
    │   ├── package.json
    │   ├── src
    │   │   ├── DriverTests.ts
    │   │   ├── db-container-runners
    │   │   │   ├── clickhouse.ts
    │   │   │   ├── crate.ts
    │   │   │   ├── cubestore.ts
    │   │   │   ├── db-runner.abstract.ts
    │   │   │   ├── index.ts
    │   │   │   ├── kafka.ts
    │   │   │   ├── ksql.ts
    │   │   │   ├── materialize.ts
    │   │   │   ├── mssql.ts
    │   │   │   ├── mysql.ts
    │   │   │   ├── oracle.ts
    │   │   │   ├── postgres.ts
    │   │   │   ├── prestodb.ts
    │   │   │   ├── questdb.ts
    │   │   │   ├── trino.ts
    │   │   │   └── vertica.ts
    │   │   ├── index.ts
    │   │   ├── query-test.abstract.ts
    │   │   └── utils.ts
    │   └── tsconfig.json
    ├── cubejs-testing
    │   ├── .gitignore
    │   ├── CHANGELOG.md
    │   ├── DEVELOPMENT.md
    │   ├── LICENSE
    │   ├── README.md
    │   ├── birdbox-fixtures
    │   │   ├── athena.yml
    │   │   ├── bigquery.yml
    │   │   ├── databricks-jdbc.yml
    │   │   ├── databricks-jdbc
    │   │   │   └── cube.js
    │   │   ├── driver-test-data
    │   │   │   ├── CAST.js
    │   │   │   ├── Customers.js
    │   │   │   ├── Customers.sql.js
    │   │   │   ├── ECommerce.js
    │   │   │   ├── ECommerce.sql.js
    │   │   │   ├── HiddenECommerce.js
    │   │   │   ├── Products.js
    │   │   │   └── Products.sql.js
    │   │   ├── duckdb
    │   │   │   └── schema
    │   │   │   │   └── Orders.js
    │   │   ├── firebolt
    │   │   │   └── schema
    │   │   │   │   └── Orders.js
    │   │   ├── lambda
    │   │   │   ├── cube.js
    │   │   │   └── schema
    │   │   │   │   ├── Orders.js
    │   │   │   │   ├── Requests.js
    │   │   │   │   └── RequestsNonReadOnly.js
    │   │   ├── materialize.yml
    │   │   ├── materialize
    │   │   │   └── schema
    │   │   │   │   └── Orders.js
    │   │   ├── mssql
    │   │   │   └── schema
    │   │   │   │   └── Orders.js
    │   │   ├── multidb.yml
    │   │   ├── multidb
    │   │   │   ├── cube.js
    │   │   │   └── schema
    │   │   │   │   ├── Products.js
    │   │   │   │   └── Suppliers.js
    │   │   ├── oracle
    │   │   │   └── schema
    │   │   │   │   └── Orders.js
    │   │   ├── postgresql-cubestore.yml
    │   │   ├── postgresql.yml
    │   │   ├── postgresql
    │   │   │   ├── cube.js
    │   │   │   ├── cubestore
    │   │   │   │   └── cube.js
    │   │   │   ├── dbt-project
    │   │   │   │   ├── dbt_project.yml
    │   │   │   │   └── target
    │   │   │   │   │   └── manifest.json
    │   │   │   ├── schema
    │   │   │   │   ├── BigOrders.js
    │   │   │   │   ├── Dbt.js
    │   │   │   │   ├── Events.js
    │   │   │   │   ├── Orders.js
    │   │   │   │   ├── PreAggregationTest.js
    │   │   │   │   ├── SecurityContextTest.js
    │   │   │   │   ├── SegmentTest.js
    │   │   │   │   └── unusualDataTypes.js
    │   │   │   ├── scripts
    │   │   │   │   ├── load-pre-aggregations.sh
    │   │   │   │   ├── load.sh
    │   │   │   │   ├── postgres-load-events.sh
    │   │   │   │   └── pre-aggregations.sql
    │   │   │   └── single
    │   │   │   │   ├── cube.js
    │   │   │   │   └── sqlapi.js
    │   │   ├── presto
    │   │   │   └── schema
    │   │   │   │   └── Orders.js
    │   │   ├── prestodb.yml
    │   │   ├── questdb.yml
    │   │   ├── questdb
    │   │   │   ├── schema
    │   │   │   │   └── Orders.js
    │   │   │   └── scripts
    │   │   │   │   └── questdb-load-events.sh
    │   │   ├── rbac-python
    │   │   │   ├── cube.py
    │   │   │   └── model
    │   │   │   │   ├── cubes
    │   │   │   │       ├── products.yaml
    │   │   │   │       └── users.yaml
    │   │   │   │   └── views
    │   │   │   │       └── users_view.yaml
    │   │   ├── rbac
    │   │   │   ├── cube.js
    │   │   │   └── model
    │   │   │   │   ├── cubes
    │   │   │   │       ├── line_items.js
    │   │   │   │       ├── orders.js
    │   │   │   │       ├── orders_open.yaml
    │   │   │   │       ├── products.yaml
    │   │   │   │       └── users.yaml
    │   │   │   │   └── views
    │   │   │   │       ├── users.js
    │   │   │   │       └── views.yaml
    │   │   ├── smoke
    │   │   │   ├── cube.js
    │   │   │   └── schema
    │   │   │   │   ├── Orders.js
    │   │   │   │   └── OrdersPA.js
    │   │   ├── snowflake
    │   │   │   └── schema
    │   │   │   │   └── Orders.js
    │   │   ├── vertica.yml
    │   │   └── vertica
    │   │   │   └── schema
    │   │   │       └── Orders.js
    │   ├── cypress.config.ts
    │   ├── cypress
    │   │   ├── e2e
    │   │   │   ├── chart-renderers.spec.js
    │   │   │   ├── playground-docker-connection-wizard.spec.js
    │   │   │   ├── playground-explore.spec.js
    │   │   │   └── rollup-designer.js
    │   │   ├── fixtures
    │   │   │   ├── databases.json
    │   │   │   └── example.json
    │   │   ├── global.d.ts
    │   │   ├── plugins
    │   │   │   └── index.js
    │   │   ├── queries.ts
    │   │   ├── support
    │   │   │   ├── commands.ts
    │   │   │   └── e2e.ts
    │   │   └── tsconfig.json
    │   ├── jest.config.js
    │   ├── package.json
    │   ├── src
    │   │   ├── REQUIRED_ENV_VARS.ts
    │   │   ├── birdbox.ts
    │   │   └── index.ts
    │   ├── test
    │   │   ├── __snapshots__
    │   │   │   ├── birdbox-postgresql-cubestore.test.ts.snap
    │   │   │   ├── birdbox-postgresql-pre-aggregations.test.ts.snap
    │   │   │   ├── birdbox-postgresql.test.ts.snap
    │   │   │   ├── cli-postgresql-pre-aggregations.test.ts.snap
    │   │   │   ├── cli-postgresql.test.ts.snap
    │   │   │   ├── driver-athena.test.ts.snap
    │   │   │   ├── driver-bigquery.test.ts.snap
    │   │   │   ├── driver-databricks.test.ts.snap
    │   │   │   ├── driver-firebolt.test.ts.snap
    │   │   │   ├── driver-postgres.test.ts.snap
    │   │   │   ├── driver-vertica.test.ts.snap
    │   │   │   ├── smoke-athena.test.ts.snap
    │   │   │   ├── smoke-bigquery.test.ts.snap
    │   │   │   ├── smoke-crate.test.ts.snap
    │   │   │   ├── smoke-cubesql.test.ts.snap
    │   │   │   ├── smoke-duckdb.test.ts.snap
    │   │   │   ├── smoke-firebolt.test.ts.snap
    │   │   │   ├── smoke-graceful-shutdown.test.ts.snap
    │   │   │   ├── smoke-materialize.test.ts.snap
    │   │   │   ├── smoke-mssql.test.ts.snap
    │   │   │   ├── smoke-multidb.test.ts.snap
    │   │   │   ├── smoke-oracle.test.ts.snap
    │   │   │   ├── smoke-prestodb.test.ts.snap
    │   │   │   ├── smoke-questdb.test.ts.snap
    │   │   │   ├── smoke-rbac.test.ts.snap
    │   │   │   ├── smoke-redshift.test.ts.snap
    │   │   │   ├── smoke-snowflake.test.ts.snap
    │   │   │   └── smoke-trino.test.ts.snap
    │   │   ├── abstract-test-case.ts
    │   │   ├── bin
    │   │   │   ├── cypress-birdbox.ts
    │   │   │   ├── download-dataset.ts
    │   │   │   ├── manual.sh
    │   │   │   ├── start-birdbox.ts
    │   │   │   └── utils.ts
    │   │   ├── birdbox-postgresql-cubestore.test.ts
    │   │   ├── birdbox-postgresql-pre-aggregations.test.ts
    │   │   ├── birdbox-postgresql.test.ts
    │   │   ├── cli-postgresql-pre-aggregations.test.ts
    │   │   ├── cli-postgresql.test.ts
    │   │   ├── driver-athena.test.ts
    │   │   ├── driver-bigquery.test.ts
    │   │   ├── driver-cubestore.test.ts
    │   │   ├── driver-databricks.test.ts
    │   │   ├── driver-firebolt.test.ts
    │   │   ├── driver-postgres.test.ts
    │   │   ├── driver-questdb.test.ts
    │   │   ├── driver-test-case.ts
    │   │   ├── driver-test-suite.ts
    │   │   ├── driver-vertica.test.ts
    │   │   ├── driverTests
    │   │   │   ├── driverTest.ts
    │   │   │   ├── testSets.ts
    │   │   │   └── tests.ts
    │   │   ├── pre-aggregations-test-case.ts
    │   │   ├── rest-postgres.test.ts
    │   │   ├── rest-test-suite.ts
    │   │   ├── smoke-athena.test.ts
    │   │   ├── smoke-bigquery.test.ts
    │   │   ├── smoke-crate.test.ts
    │   │   ├── smoke-cubesql.test.ts
    │   │   ├── smoke-duckdb.test.ts
    │   │   ├── smoke-firebolt.test.ts
    │   │   ├── smoke-graceful-shutdown.test.ts
    │   │   ├── smoke-lambda.test.ts
    │   │   ├── smoke-materialize.test.ts
    │   │   ├── smoke-mssql.test.ts
    │   │   ├── smoke-multidb.test.ts
    │   │   ├── smoke-oracle.test.ts
    │   │   ├── smoke-postgres.test.ts
    │   │   ├── smoke-prestodb.test.ts
    │   │   ├── smoke-questdb.test.ts
    │   │   ├── smoke-rbac.test.ts
    │   │   ├── smoke-redshift.test.ts
    │   │   ├── smoke-snowflake.test.ts
    │   │   ├── smoke-tests.ts
    │   │   ├── smoke-trino.test.ts
    │   │   ├── smoke-vertica.test.ts
    │   │   └── snapshotResolver.js
    │   └── tsconfig.json
    ├── cubejs-trino-driver
    │   ├── .gitignore
    │   ├── CHANGELOG.md
    │   ├── LICENSE
    │   ├── README.md
    │   ├── docker-compose.yml
    │   ├── index.js
    │   ├── package.json
    │   ├── src
    │   │   ├── TrinoDriver.ts
    │   │   └── index.ts
    │   ├── test
    │   │   └── trino-driver.test.ts
    │   └── tsconfig.json
    └── cubejs-vertica-driver
    │   ├── CHANGELOG.md
    │   ├── LICENSE
    │   ├── README.md
    │   ├── docker-compose.yml
    │   ├── jest.config.js
    │   ├── package.json
    │   ├── src
    │       ├── VerticaDriver.js
    │       └── VerticaQuery.js
    │   └── test
    │       ├── VerticaDriver.test.js
    │       └── VerticaQuery.test.js
├── rollup.config.js
├── rust
    ├── cubenativeutils
    │   ├── .gitignore
    │   ├── Cargo.lock
    │   ├── Cargo.toml
    │   ├── rust-toolchain.toml
    │   ├── rustfmt.toml
    │   └── src
    │   │   ├── lib.rs
    │   │   └── wrappers
    │   │       ├── args_holder.rs
    │   │       ├── context.rs
    │   │       ├── inner_types.rs
    │   │       ├── mod.rs
    │   │       ├── neon
    │   │           ├── context.rs
    │   │           ├── inner_types.rs
    │   │           ├── mod.rs
    │   │           └── object
    │   │           │   ├── base_types.rs
    │   │           │   ├── mod.rs
    │   │           │   ├── neon_array.rs
    │   │           │   ├── neon_function.rs
    │   │           │   └── neon_struct.rs
    │   │       ├── object.rs
    │   │       ├── object_handle.rs
    │   │       ├── object_handler.rs
    │   │       └── serializer
    │   │           ├── deserialize.rs
    │   │           ├── deserializer.rs
    │   │           ├── error.rs
    │   │           ├── mod.rs
    │   │           ├── serialize.rs
    │   │           └── serializer.rs
    ├── cubeorchestrator
    │   ├── .gitignore
    │   ├── CHANGELOG.md
    │   ├── Cargo.lock
    │   ├── Cargo.toml
    │   ├── rust-toolchain.toml
    │   ├── rustfmt.toml
    │   └── src
    │   │   ├── lib.rs
    │   │   ├── query_message_parser.rs
    │   │   ├── query_result_transform.rs
    │   │   └── transport.rs
    ├── cubeshared
    │   ├── .gitignore
    │   ├── CHANGELOG.md
    │   ├── Cargo.lock
    │   ├── Cargo.toml
    │   ├── flatbuffers-codegen.sh
    │   ├── rust-toolchain.toml
    │   ├── rustfmt.toml
    │   └── src
    │   │   ├── codegen
    │   │       ├── http_message.fbs
    │   │       ├── http_message_generated.rs
    │   │       └── mod.rs
    │   │   └── lib.rs
    ├── cubesql
    │   ├── .cargo
    │   │   └── config.toml
    │   ├── .gitignore
    │   ├── CHANGELOG.md
    │   ├── Cargo.lock
    │   ├── Cargo.toml
    │   ├── DEVELOPMENT.md
    │   ├── cubeclient
    │   │   ├── .gitignore
    │   │   ├── .openapi-generator-ignore
    │   │   ├── .openapi-generator
    │   │   │   ├── FILES
    │   │   │   └── VERSION
    │   │   ├── Cargo.toml
    │   │   ├── DEVELOPMENT.md
    │   │   ├── README.md
    │   │   └── src
    │   │   │   ├── apis
    │   │   │       ├── configuration.rs
    │   │   │       ├── default_api.rs
    │   │   │       └── mod.rs
    │   │   │   ├── lib.rs
    │   │   │   └── models
    │   │   │       ├── mod.rs
    │   │   │       ├── v1_cube_meta.rs
    │   │   │       ├── v1_cube_meta_dimension.rs
    │   │   │       ├── v1_cube_meta_dimension_granularity.rs
    │   │   │       ├── v1_cube_meta_folder.rs
    │   │   │       ├── v1_cube_meta_hierarchy.rs
    │   │   │       ├── v1_cube_meta_join.rs
    │   │   │       ├── v1_cube_meta_measure.rs
    │   │   │       ├── v1_cube_meta_segment.rs
    │   │   │       ├── v1_cube_meta_type.rs
    │   │   │       ├── v1_error.rs
    │   │   │       ├── v1_load_continue_wait.rs
    │   │   │       ├── v1_load_request.rs
    │   │   │       ├── v1_load_request_query.rs
    │   │   │       ├── v1_load_request_query_filter_base.rs
    │   │   │       ├── v1_load_request_query_filter_item.rs
    │   │   │       ├── v1_load_request_query_filter_logical_and.rs
    │   │   │       ├── v1_load_request_query_filter_logical_or.rs
    │   │   │       ├── v1_load_request_query_join_subquery.rs
    │   │   │       ├── v1_load_request_query_time_dimension.rs
    │   │   │       ├── v1_load_request_query_time_dimension_date_range_filter.rs
    │   │   │       ├── v1_load_response.rs
    │   │   │       ├── v1_load_result.rs
    │   │   │       ├── v1_load_result_annotation.rs
    │   │   │       └── v1_meta_response.rs
    │   ├── cubesql
    │   │   ├── Cargo.toml
    │   │   ├── LICENSE
    │   │   ├── README.md
    │   │   ├── benches
    │   │   │   ├── benchmarks.rs
    │   │   │   └── large_model.rs
    │   │   ├── e2e
    │   │   │   ├── main.rs
    │   │   │   └── tests
    │   │   │   │   ├── basic.rs
    │   │   │   │   ├── mod.rs
    │   │   │   │   ├── postgres.rs
    │   │   │   │   ├── snapshots
    │   │   │   │       ├── e2e__tests__postgres__datepart_quarter.snap
    │   │   │   │       ├── e2e__tests__postgres__pg_test_types.snap
    │   │   │   │       ├── e2e__tests__postgres__select_count(asterisk)_count_status_from_orders_group_by_status_order_by_count_desc.snap
    │   │   │   │       ├── e2e__tests__postgres__system_information_schema.columns.snap
    │   │   │   │       ├── e2e__tests__postgres__system_information_schema.tables.snap
    │   │   │   │       ├── e2e__tests__postgres__system_pg_catalog.pg_class.snap
    │   │   │   │       ├── e2e__tests__postgres__system_pg_catalog.pg_proc.snap
    │   │   │   │       ├── e2e__tests__postgres__system_pg_catalog.pg_tables.snap
    │   │   │   │       └── e2e__tests__postgres__system_pg_catalog.pg_type.snap
    │   │   │   │   └── utils.rs
    │   │   ├── egraph-debug-template
    │   │   │   ├── package.json
    │   │   │   ├── public
    │   │   │   │   └── index.html
    │   │   │   ├── src
    │   │   │   │   └── index.tsx
    │   │   │   └── tsconfig.json
    │   │   ├── src
    │   │   │   ├── bin
    │   │   │   │   └── cubesqld.rs
    │   │   │   ├── compile
    │   │   │   │   ├── builder.rs
    │   │   │   │   ├── date_parser.rs
    │   │   │   │   ├── engine
    │   │   │   │   │   ├── context.rs
    │   │   │   │   │   ├── context_mysql.rs
    │   │   │   │   │   ├── context_postgresql.rs
    │   │   │   │   │   ├── df
    │   │   │   │   │   │   ├── coerce.rs
    │   │   │   │   │   │   ├── columar.rs
    │   │   │   │   │   │   ├── mod.rs
    │   │   │   │   │   │   ├── optimizers
    │   │   │   │   │   │   │   ├── filter_push_down.rs
    │   │   │   │   │   │   │   ├── filter_split_meta.rs
    │   │   │   │   │   │   │   ├── limit_push_down.rs
    │   │   │   │   │   │   │   ├── mod.rs
    │   │   │   │   │   │   │   ├── snapshots
    │   │   │   │   │   │   │   │   ├── cubesql__compile__engine__df__optimizers__filter_push_down__tests__filter_down_cross_join_right_one_row.snap
    │   │   │   │   │   │   │   │   ├── cubesql__compile__engine__df__optimizers__filter_push_down__tests__filter_down_projection.snap
    │   │   │   │   │   │   │   │   ├── cubesql__compile__engine__df__optimizers__filter_push_down__tests__filter_down_sort.snap
    │   │   │   │   │   │   │   │   ├── cubesql__compile__engine__df__optimizers__filter_push_down__tests__filters_down_aggregate.snap
    │   │   │   │   │   │   │   │   ├── cubesql__compile__engine__df__optimizers__filter_push_down__tests__multiple_filters_down_projections.snap
    │   │   │   │   │   │   │   │   ├── cubesql__compile__engine__df__optimizers__filter_push_down__tests__multiple_filters_down_projections_with_post_processing.snap
    │   │   │   │   │   │   │   │   ├── cubesql__compile__engine__df__optimizers__sort_push_down__tests__sort_down_cross_join_sort_left.snap
    │   │   │   │   │   │   │   │   ├── cubesql__compile__engine__df__optimizers__sort_push_down__tests__sort_down_cross_join_sort_right.snap
    │   │   │   │   │   │   │   │   ├── cubesql__compile__engine__df__optimizers__sort_push_down__tests__sort_down_join_sort_left.snap
    │   │   │   │   │   │   │   │   ├── cubesql__compile__engine__df__optimizers__sort_push_down__tests__sort_down_join_sort_right.snap
    │   │   │   │   │   │   │   │   ├── cubesql__compile__engine__df__optimizers__sort_push_down__tests__sort_down_multiple_projections.snap
    │   │   │   │   │   │   │   │   ├── cubesql__compile__engine__df__optimizers__sort_push_down__tests__sort_down_projection.snap
    │   │   │   │   │   │   │   │   └── cubesql__compile__engine__df__optimizers__sort_push_down__tests__sort_down_sort.snap
    │   │   │   │   │   │   │   ├── sort_push_down.rs
    │   │   │   │   │   │   │   └── utils.rs
    │   │   │   │   │   │   ├── planner.rs
    │   │   │   │   │   │   ├── scan.rs
    │   │   │   │   │   │   ├── snapshots
    │   │   │   │   │   │   │   ├── cubesql__compile__engine__df__wrapper__tests__member_expression_patch_measure.snap
    │   │   │   │   │   │   │   └── cubesql__compile__engine__df__wrapper__tests__member_expression_sql.snap
    │   │   │   │   │   │   └── wrapper.rs
    │   │   │   │   │   ├── information_schema
    │   │   │   │   │   │   ├── mod.rs
    │   │   │   │   │   │   ├── mysql
    │   │   │   │   │   │   │   ├── collations.rs
    │   │   │   │   │   │   │   ├── columns.rs
    │   │   │   │   │   │   │   ├── ext.rs
    │   │   │   │   │   │   │   ├── key_column_usage.rs
    │   │   │   │   │   │   │   ├── mod.rs
    │   │   │   │   │   │   │   ├── processlist.rs
    │   │   │   │   │   │   │   ├── referential_constraints.rs
    │   │   │   │   │   │   │   ├── schemata.rs
    │   │   │   │   │   │   │   ├── statistics.rs
    │   │   │   │   │   │   │   ├── tables.rs
    │   │   │   │   │   │   │   └── variables.rs
    │   │   │   │   │   │   ├── postgres
    │   │   │   │   │   │   │   ├── character_sets.rs
    │   │   │   │   │   │   │   ├── columns.rs
    │   │   │   │   │   │   │   ├── constraint_column_usage.rs
    │   │   │   │   │   │   │   ├── ext.rs
    │   │   │   │   │   │   │   ├── key_column_usage.rs
    │   │   │   │   │   │   │   ├── mod.rs
    │   │   │   │   │   │   │   ├── pg_am.rs
    │   │   │   │   │   │   │   ├── pg_attrdef.rs
    │   │   │   │   │   │   │   ├── pg_attribute.rs
    │   │   │   │   │   │   │   ├── pg_class.rs
    │   │   │   │   │   │   │   ├── pg_constraint.rs
    │   │   │   │   │   │   │   ├── pg_database.rs
    │   │   │   │   │   │   │   ├── pg_depend.rs
    │   │   │   │   │   │   │   ├── pg_description.rs
    │   │   │   │   │   │   │   ├── pg_enum.rs
    │   │   │   │   │   │   │   ├── pg_extension.rs
    │   │   │   │   │   │   │   ├── pg_index.rs
    │   │   │   │   │   │   │   ├── pg_inherits.rs
    │   │   │   │   │   │   │   ├── pg_matviews.rs
    │   │   │   │   │   │   │   ├── pg_namespace.rs
    │   │   │   │   │   │   │   ├── pg_partitioned_table.rs
    │   │   │   │   │   │   │   ├── pg_prepared_statements.rs
    │   │   │   │   │   │   │   ├── pg_proc.rs
    │   │   │   │   │   │   │   ├── pg_range.rs
    │   │   │   │   │   │   │   ├── pg_roles.rs
    │   │   │   │   │   │   │   ├── pg_sequence.rs
    │   │   │   │   │   │   │   ├── pg_settings.rs
    │   │   │   │   │   │   │   ├── pg_stat_activity.rs
    │   │   │   │   │   │   │   ├── pg_stat_user_tables.rs
    │   │   │   │   │   │   │   ├── pg_statio_user_tables.rs
    │   │   │   │   │   │   │   ├── pg_stats.rs
    │   │   │   │   │   │   │   ├── pg_tables.rs
    │   │   │   │   │   │   │   ├── pg_type.rs
    │   │   │   │   │   │   │   ├── pg_user.rs
    │   │   │   │   │   │   │   ├── pg_views.rs
    │   │   │   │   │   │   │   ├── referential_constraints.rs
    │   │   │   │   │   │   │   ├── role_column_grants.rs
    │   │   │   │   │   │   │   ├── role_table_grants.rs
    │   │   │   │   │   │   │   ├── schemata.rs
    │   │   │   │   │   │   │   ├── sql_implementation_info.rs
    │   │   │   │   │   │   │   ├── sql_sizing.rs
    │   │   │   │   │   │   │   ├── table_constraints.rs
    │   │   │   │   │   │   │   ├── tables.rs
    │   │   │   │   │   │   │   ├── testing_blocking.rs
    │   │   │   │   │   │   │   ├── testing_dataset.rs
    │   │   │   │   │   │   │   └── views.rs
    │   │   │   │   │   │   ├── redshift
    │   │   │   │   │   │   │   ├── late_binding_view_unpacked.rs
    │   │   │   │   │   │   │   ├── mod.rs
    │   │   │   │   │   │   │   ├── pg_external_schema.rs
    │   │   │   │   │   │   │   ├── stl_ddltext.rs
    │   │   │   │   │   │   │   ├── stl_query.rs
    │   │   │   │   │   │   │   ├── stl_querytext.rs
    │   │   │   │   │   │   │   ├── stv_slices.rs
    │   │   │   │   │   │   │   ├── svv_external_schemas.rs
    │   │   │   │   │   │   │   ├── svv_table_info.rs
    │   │   │   │   │   │   │   └── svv_tables.rs
    │   │   │   │   │   │   └── utils.rs
    │   │   │   │   │   ├── mod.rs
    │   │   │   │   │   ├── udf
    │   │   │   │   │   │   ├── common.rs
    │   │   │   │   │   │   ├── extension
    │   │   │   │   │   │   │   ├── mod.rs
    │   │   │   │   │   │   │   └── xirr.rs
    │   │   │   │   │   │   ├── mod.rs
    │   │   │   │   │   │   ├── pg_catalog.rs
    │   │   │   │   │   │   ├── redshift.rs
    │   │   │   │   │   │   └── utils.rs
    │   │   │   │   │   └── variable_provider.rs
    │   │   │   │   ├── error.rs
    │   │   │   │   ├── mod.rs
    │   │   │   │   ├── parser.rs
    │   │   │   │   ├── plan.rs
    │   │   │   │   ├── protocol.rs
    │   │   │   │   ├── qtrace.rs
    │   │   │   │   ├── query_engine.rs
    │   │   │   │   ├── rewrite
    │   │   │   │   │   ├── analysis.rs
    │   │   │   │   │   ├── converter.rs
    │   │   │   │   │   ├── cost.rs
    │   │   │   │   │   ├── language.rs
    │   │   │   │   │   ├── mod.rs
    │   │   │   │   │   ├── rewriter.rs
    │   │   │   │   │   └── rules
    │   │   │   │   │   │   ├── case.rs
    │   │   │   │   │   │   ├── common.rs
    │   │   │   │   │   │   ├── dates.rs
    │   │   │   │   │   │   ├── filters.rs
    │   │   │   │   │   │   ├── flatten
    │   │   │   │   │   │       ├── column.rs
    │   │   │   │   │   │       ├── mod.rs
    │   │   │   │   │   │       ├── pass_through.rs
    │   │   │   │   │   │       └── top_level.rs
    │   │   │   │   │   │   ├── members.rs
    │   │   │   │   │   │   ├── mod.rs
    │   │   │   │   │   │   ├── old_split.rs
    │   │   │   │   │   │   ├── order.rs
    │   │   │   │   │   │   ├── split
    │   │   │   │   │   │       ├── aggregate_function.rs
    │   │   │   │   │   │       ├── alias.rs
    │   │   │   │   │   │       ├── binary_expr.rs
    │   │   │   │   │   │       ├── case.rs
    │   │   │   │   │   │       ├── cast.rs
    │   │   │   │   │   │       ├── column.rs
    │   │   │   │   │   │       ├── dates.rs
    │   │   │   │   │   │       ├── functions.rs
    │   │   │   │   │   │       ├── granularity.rs
    │   │   │   │   │   │       ├── mod.rs
    │   │   │   │   │   │       └── top_level.rs
    │   │   │   │   │   │   ├── utils.rs
    │   │   │   │   │   │   └── wrapper
    │   │   │   │   │   │       ├── aggregate.rs
    │   │   │   │   │   │       ├── aggregate_function.rs
    │   │   │   │   │   │       ├── alias.rs
    │   │   │   │   │   │       ├── binary_expr.rs
    │   │   │   │   │   │       ├── case.rs
    │   │   │   │   │   │       ├── cast.rs
    │   │   │   │   │   │       ├── column.rs
    │   │   │   │   │   │       ├── cube_scan_wrapper.rs
    │   │   │   │   │   │       ├── distinct.rs
    │   │   │   │   │   │       ├── extract.rs
    │   │   │   │   │   │       ├── filter.rs
    │   │   │   │   │   │       ├── in_list_expr.rs
    │   │   │   │   │   │       ├── in_subquery_expr.rs
    │   │   │   │   │   │       ├── is_null_expr.rs
    │   │   │   │   │   │       ├── join.rs
    │   │   │   │   │   │       ├── like_expr.rs
    │   │   │   │   │   │       ├── limit.rs
    │   │   │   │   │   │       ├── literal.rs
    │   │   │   │   │   │       ├── mod.rs
    │   │   │   │   │   │       ├── negative_expr.rs
    │   │   │   │   │   │       ├── not_expr.rs
    │   │   │   │   │   │       ├── order.rs
    │   │   │   │   │   │       ├── projection.rs
    │   │   │   │   │   │       ├── scalar_function.rs
    │   │   │   │   │   │       ├── sort_expr.rs
    │   │   │   │   │   │       ├── subquery.rs
    │   │   │   │   │   │       ├── udf_function.rs
    │   │   │   │   │   │       ├── window.rs
    │   │   │   │   │   │       ├── window_function.rs
    │   │   │   │   │   │       └── wrapper_pull_up.rs
    │   │   │   │   ├── router.rs
    │   │   │   │   ├── service.rs
    │   │   │   │   ├── session.rs
    │   │   │   │   ├── snapshots
    │   │   │   │   │   ├── cubesql__compile__tests__avg_null_type.snap
    │   │   │   │   │   ├── cubesql__compile__tests__cast_decimal_default_precision.snap
    │   │   │   │   │   ├── cubesql__compile__tests__cast_float_to_text.snap
    │   │   │   │   │   ├── cubesql__compile__tests__constraint_column_usage_postgres.snap
    │   │   │   │   │   ├── cubesql__compile__tests__cube_scan_exec.snap
    │   │   │   │   │   ├── cubesql__compile__tests__current_date.snap
    │   │   │   │   │   ├── cubesql__compile__tests__current_schema_postgres.snap
    │   │   │   │   │   ├── cubesql__compile__tests__date_part_day_from_dimension.snap
    │   │   │   │   │   ├── cubesql__compile__tests__date_part_dow_from_dimension.snap
    │   │   │   │   │   ├── cubesql__compile__tests__date_part_doy_from_dimension.snap
    │   │   │   │   │   ├── cubesql__compile__tests__date_part_epoch_from_dimension.snap
    │   │   │   │   │   ├── cubesql__compile__tests__date_part_qtr_from_dimension.snap
    │   │   │   │   │   ├── cubesql__compile__tests__date_part_quarter_from_dimension.snap
    │   │   │   │   │   ├── cubesql__compile__tests__df_compare_int_with_null.snap
    │   │   │   │   │   ├── cubesql__compile__tests__df_escaped_strings.snap
    │   │   │   │   │   ├── cubesql__compile__tests__df_fork_bitwise_shit.snap
    │   │   │   │   │   ├── cubesql__compile__tests__df_fork_case_fixes.snap
    │   │   │   │   │   ├── cubesql__compile__tests__df_fork_cast_date32_additional_formats.snap
    │   │   │   │   │   ├── cubesql__compile__tests__df_fork_coalesce.snap
    │   │   │   │   │   ├── cubesql__compile__tests__df_fork_is_boolean.snap
    │   │   │   │   │   ├── cubesql__compile__tests__df_fork_nullif.snap
    │   │   │   │   │   ├── cubesql__compile__tests__df_string_boolean_comparison.snap
    │   │   │   │   │   ├── cubesql__compile__tests__discard_postgres_all.snap
    │   │   │   │   │   ├── cubesql__compile__tests__discard_postgres_plans.snap
    │   │   │   │   │   ├── cubesql__compile__tests__discard_postgres_sequences.snap
    │   │   │   │   │   ├── cubesql__compile__tests__discard_postgres_temp.snap
    │   │   │   │   │   ├── cubesql__compile__tests__discard_postgres_temporary.snap
    │   │   │   │   │   ├── cubesql__compile__tests__domo_group_date_by_month.snap
    │   │   │   │   │   ├── cubesql__compile__tests__dynamic_regclass_postgres_int32.snap
    │   │   │   │   │   ├── cubesql__compile__tests__dynamic_regclass_postgres_int64.snap
    │   │   │   │   │   ├── cubesql__compile__tests__dynamic_regclass_postgres_utf8.snap
    │   │   │   │   │   ├── cubesql__compile__tests__explain-2.snap
    │   │   │   │   │   ├── cubesql__compile__tests__explain.snap
    │   │   │   │   │   ├── cubesql__compile__tests__exponentiate_op.snap
    │   │   │   │   │   ├── cubesql__compile__tests__extract_day_from_dimension.snap
    │   │   │   │   │   ├── cubesql__compile__tests__extract_dow_from_dimension.snap
    │   │   │   │   │   ├── cubesql__compile__tests__extract_doy_from_dimension.snap
    │   │   │   │   │   ├── cubesql__compile__tests__extract_epoch_from_dimension.snap
    │   │   │   │   │   ├── cubesql__compile__tests__extract_quarter_from_dimension.snap
    │   │   │   │   │   ├── cubesql__compile__tests__fetch_next_rows_only.snap
    │   │   │   │   │   ├── cubesql__compile__tests__formatted_identifier.snap
    │   │   │   │   │   ├── cubesql__compile__tests__formatted_identifiers.snap
    │   │   │   │   │   ├── cubesql__compile__tests__formatted_null_string_is_empty.snap
    │   │   │   │   │   ├── cubesql__compile__tests__formatted_string.snap
    │   │   │   │   │   ├── cubesql__compile__tests__formatted_strings.snap
    │   │   │   │   │   ├── cubesql__compile__tests__holistics_date_trunc_date32.snap
    │   │   │   │   │   ├── cubesql__compile__tests__information_schema_character_sets_postgres.snap
    │   │   │   │   │   ├── cubesql__compile__tests__information_schema_collations.snap
    │   │   │   │   │   ├── cubesql__compile__tests__information_schema_columns_mysql.snap
    │   │   │   │   │   ├── cubesql__compile__tests__information_schema_columns_postgres.snap
    │   │   │   │   │   ├── cubesql__compile__tests__information_schema_key_column_usage_postgres.snap
    │   │   │   │   │   ├── cubesql__compile__tests__information_schema_processlist.snap
    │   │   │   │   │   ├── cubesql__compile__tests__information_schema_referential_constraints_postgres.snap
    │   │   │   │   │   ├── cubesql__compile__tests__information_schema_role_column_grants_postgresql.snap
    │   │   │   │   │   ├── cubesql__compile__tests__information_schema_role_table_grants_postgresql.snap
    │   │   │   │   │   ├── cubesql__compile__tests__information_schema_schemata.snap
    │   │   │   │   │   ├── cubesql__compile__tests__information_schema_table_constraints_postgres.snap
    │   │   │   │   │   ├── cubesql__compile__tests__information_schema_tables_mysql.snap
    │   │   │   │   │   ├── cubesql__compile__tests__information_schema_tables_postgres.snap
    │   │   │   │   │   ├── cubesql__compile__tests__interval_div.snap
    │   │   │   │   │   ├── cubesql__compile__tests__interval_mul.snap
    │   │   │   │   │   ├── cubesql__compile__tests__interval_sum.snap
    │   │   │   │   │   ├── cubesql__compile__tests__isnull_two_arg.snap
    │   │   │   │   │   ├── cubesql__compile__tests__join_where_and_or.snap
    │   │   │   │   │   ├── cubesql__compile__tests__langchain_array_agg_order_by.snap
    │   │   │   │   │   ├── cubesql__compile__tests__langchain_pgcatalog_schema.snap
    │   │   │   │   │   ├── cubesql__compile__tests__like_escape_symbol.snap
    │   │   │   │   │   ├── cubesql__compile__tests__localtimestamp.snap
    │   │   │   │   │   ├── cubesql__compile__tests__metabase_pg_class_query.snap
    │   │   │   │   │   ├── cubesql__compile__tests__metabase_pg_namespace.snap
    │   │   │   │   │   ├── cubesql__compile__tests__metabase_pg_type_any.snap
    │   │   │   │   │   ├── cubesql__compile__tests__metabase_regproc_query.snap
    │   │   │   │   │   ├── cubesql__compile__tests__metabase_table_exists.snap
    │   │   │   │   │   ├── cubesql__compile__tests__metabase_table_privilege_query.snap
    │   │   │   │   │   ├── cubesql__compile__tests__metabase_table_privilege_query_v2.snap
    │   │   │   │   │   ├── cubesql__compile__tests__monte_carlo_ddl_introspection.snap
    │   │   │   │   │   ├── cubesql__compile__tests__monte_carlo_query_introspection.snap
    │   │   │   │   │   ├── cubesql__compile__tests__monte_carlo_table_introspection.snap
    │   │   │   │   │   ├── cubesql__compile__tests__noninjective_coalesce_from_dimension.snap
    │   │   │   │   │   ├── cubesql__compile__tests__noninjective_left_from_dimension.snap
    │   │   │   │   │   ├── cubesql__compile__tests__noninjective_nullif_from_dimension.snap
    │   │   │   │   │   ├── cubesql__compile__tests__noninjective_right_from_dimension.snap
    │   │   │   │   │   ├── cubesql__compile__tests__nonrewritable_date_trunc.snap
    │   │   │   │   │   ├── cubesql__compile__tests__observable_grants.snap
    │   │   │   │   │   ├── cubesql__compile__tests__performance_schema_global_variables.snap
    │   │   │   │   │   ├── cubesql__compile__tests__performance_schema_session_variables.snap
    │   │   │   │   │   ├── cubesql__compile__tests__pg_catalog_udf_search_path.snap
    │   │   │   │   │   ├── cubesql__compile__tests__pg_set_app_show.snap
    │   │   │   │   │   ├── cubesql__compile__tests__pg_set_role_show.snap
    │   │   │   │   │   ├── cubesql__compile__tests__pgcatalog_pg_stat_activity_postgres.snap
    │   │   │   │   │   ├── cubesql__compile__tests__pgcatalog_pgam_postgres.snap
    │   │   │   │   │   ├── cubesql__compile__tests__pgcatalog_pgattrdef_postgres.snap
    │   │   │   │   │   ├── cubesql__compile__tests__pgcatalog_pgattribute_postgres.snap
    │   │   │   │   │   ├── cubesql__compile__tests__pgcatalog_pgclass_postgres.snap
    │   │   │   │   │   ├── cubesql__compile__tests__pgcatalog_pgconstraint_postgres.snap
    │   │   │   │   │   ├── cubesql__compile__tests__pgcatalog_pgdatabase_postgres.snap
    │   │   │   │   │   ├── cubesql__compile__tests__pgcatalog_pgdepend_postgres.snap
    │   │   │   │   │   ├── cubesql__compile__tests__pgcatalog_pgdescription_postgres.snap
    │   │   │   │   │   ├── cubesql__compile__tests__pgcatalog_pgenum_postgres.snap
    │   │   │   │   │   ├── cubesql__compile__tests__pgcatalog_pgextension_postgres.snap
    │   │   │   │   │   ├── cubesql__compile__tests__pgcatalog_pgindex_postgres.snap
    │   │   │   │   │   ├── cubesql__compile__tests__pgcatalog_pgmatviews_postgres.snap
    │   │   │   │   │   ├── cubesql__compile__tests__pgcatalog_pgnamespace_postgres.snap
    │   │   │   │   │   ├── cubesql__compile__tests__pgcatalog_pgprepared_statements_postgres.snap
    │   │   │   │   │   ├── cubesql__compile__tests__pgcatalog_pgproc_postgres.snap
    │   │   │   │   │   ├── cubesql__compile__tests__pgcatalog_pgrange_postgres.snap
    │   │   │   │   │   ├── cubesql__compile__tests__pgcatalog_pgroles_postgres.snap
    │   │   │   │   │   ├── cubesql__compile__tests__pgcatalog_pgsequence_postgres.snap
    │   │   │   │   │   ├── cubesql__compile__tests__pgcatalog_pgstatiousertables_postgres.snap
    │   │   │   │   │   ├── cubesql__compile__tests__pgcatalog_pgstats_postgres.snap
    │   │   │   │   │   ├── cubesql__compile__tests__pgcatalog_pgtables_postgres.snap
    │   │   │   │   │   ├── cubesql__compile__tests__pgcatalog_pgtype_postgres.snap
    │   │   │   │   │   ├── cubesql__compile__tests__pgcatalog_pguser_postgres.snap
    │   │   │   │   │   ├── cubesql__compile__tests__psql_list.snap
    │   │   │   │   │   ├── cubesql__compile__tests__psqlodbc_null.snap
    │   │   │   │   │   ├── cubesql__compile__tests__quicksight_pg_external_schema.snap
    │   │   │   │   │   ├── cubesql__compile__tests__quicksight_regexp_instr.snap
    │   │   │   │   │   ├── cubesql__compile__tests__quicksight_sql_implementation_info.snap
    │   │   │   │   │   ├── cubesql__compile__tests__quicksight_sql_sizing.snap
    │   │   │   │   │   ├── cubesql__compile__tests__quicksight_stv_slices.snap
    │   │   │   │   │   ├── cubesql__compile__tests__quoted_identifier.snap
    │   │   │   │   │   ├── cubesql__compile__tests__quoted_keyword.snap
    │   │   │   │   │   ├── cubesql__compile__tests__redshift_regexp_replace_default_replacer.snap
    │   │   │   │   │   ├── cubesql__compile__tests__redshift_stl_ddltext.snap
    │   │   │   │   │   ├── cubesql__compile__tests__redshift_stl_query.snap
    │   │   │   │   │   ├── cubesql__compile__tests__redshift_stl_querytext.snap
    │   │   │   │   │   ├── cubesql__compile__tests__redshift_svv_table_info.snap
    │   │   │   │   │   ├── cubesql__compile__tests__redshift_svv_tables.snap
    │   │   │   │   │   ├── cubesql__compile__tests__set_bad_user.snap
    │   │   │   │   │   ├── cubesql__compile__tests__set_good_user.snap
    │   │   │   │   │   ├── cubesql__compile__tests__sha1_redshift.snap
    │   │   │   │   │   ├── cubesql__compile__tests__show_max_identifier_length.snap
    │   │   │   │   │   ├── cubesql__compile__tests__show_variable_quoted.snap
    │   │   │   │   │   ├── cubesql__compile__tests__subquery_with_same_name_excel.snap
    │   │   │   │   │   ├── cubesql__compile__tests__sum_null_type.snap
    │   │   │   │   │   ├── cubesql__compile__tests__tableau_extract_epoch.snap
    │   │   │   │   │   ├── cubesql__compile__tests__test_case_mixed_values_with_null.snap
    │   │   │   │   │   ├── cubesql__compile__tests__test_cast_string_to_interval.snap
    │   │   │   │   │   ├── cubesql__compile__tests__test_cast_to_timestamp_timezone_utc_1.snap
    │   │   │   │   │   ├── cubesql__compile__tests__test_cast_to_timestamp_timezone_utc_2.snap
    │   │   │   │   │   ├── cubesql__compile__tests__test_extract_string_field.snap
    │   │   │   │   │   ├── cubesql__compile__tests__test_gdata_studio.snap
    │   │   │   │   │   ├── cubesql__compile__tests__test_information_schema_stats_for_columns.snap
    │   │   │   │   │   ├── cubesql__compile__tests__test_join_with_distinct.snap
    │   │   │   │   │   ├── cubesql__compile__tests__test_offset_limit_1.snap
    │   │   │   │   │   ├── cubesql__compile__tests__test_offset_limit_2.snap
    │   │   │   │   │   ├── cubesql__compile__tests__test_offset_limit_3.snap
    │   │   │   │   │   ├── cubesql__compile__tests__test_offset_limit_4.snap
    │   │   │   │   │   ├── cubesql__compile__tests__test_offset_limit_5.snap
    │   │   │   │   │   ├── cubesql__compile__tests__test_select_column_with_same_name_as_table.snap
    │   │   │   │   │   ├── cubesql__compile__tests__test_sort_relations_0.snap
    │   │   │   │   │   ├── cubesql__compile__tests__test_sort_relations_1.snap
    │   │   │   │   │   ├── cubesql__compile__tests__test_sort_relations_2.snap
    │   │   │   │   │   ├── cubesql__compile__tests__test_sort_relations_3.snap
    │   │   │   │   │   ├── cubesql__compile__tests__test_sort_relations_4.snap
    │   │   │   │   │   ├── cubesql__compile__tests__test_sort_relations_5.snap
    │   │   │   │   │   ├── cubesql__compile__tests__test_sort_relations_6.snap
    │   │   │   │   │   ├── cubesql__compile__tests__test_sort_relations_7.snap
    │   │   │   │   │   ├── cubesql__compile__tests__test_string_multiply_interval.snap
    │   │   │   │   │   ├── cubesql__compile__tests__test_union_with_cast_count_to_decimal.snap
    │   │   │   │   │   ├── cubesql__compile__tests__thought_spot_attributes.snap
    │   │   │   │   │   ├── cubesql__compile__tests__thought_spot_svv_external_schemas.snap
    │   │   │   │   │   ├── cubesql__compile__tests__thought_spot_table_columns.snap
    │   │   │   │   │   ├── cubesql__compile__tests__thought_spot_tables.snap
    │   │   │   │   │   ├── cubesql__compile__tests__thoughtspot_dateadd_literal_date32.snap
    │   │   │   │   │   ├── cubesql__compile__tests__union_ctes.snap
    │   │   │   │   │   ├── cubesql__compile__tests__values_literal_table.snap
    │   │   │   │   │   └── cubesql__compile__tests__views_postgres.snap
    │   │   │   │   └── test
    │   │   │   │   │   ├── mod.rs
    │   │   │   │   │   ├── rewrite_engine.rs
    │   │   │   │   │   ├── snapshots
    │   │   │   │   │       ├── cubesql__compile__test__test_cube_join__join_with_trivial_cast.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_df_execution__date_part_interval.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_df_execution__join_with_coercion.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_df_execution__numeric_math_scalar.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_df_execution__round.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_df_execution__triple_join_with_coercion.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_df_execution__union_all_alias_mismatch.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_introspection__datagrip_introspection.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_introspection__dbeaver_introspection_databases.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_introspection__dbeaver_introspection_init.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_introspection__dbeaver_introspection_namespaces.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_introspection__dbeaver_introspection_types.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_introspection__excel_exists_query.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_introspection__excel_fkey_query.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_introspection__excel_large_select_query.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_introspection__excel_pg_attribute_query.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_introspection__excel_pg_constraint_query.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_introspection__excel_select_db_query.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_introspection__excel_typname_aclitem_query.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_introspection__excel_typname_big_query.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_introspection__google_sheets_pg_database_query.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_introspection__grafana_insubquery_where_tables.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_introspection__grafana_insubquery_where_tables_spacing.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_introspection__grafana_pg_version_introspection.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_introspection__holistics_in_subquery_query.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_introspection__holistics_left_join_query.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_introspection__holistics_schema_privilege_query.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_introspection__langchain_pg_get_indexdef_and_in_realiasing.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_introspection__metabase-2.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_introspection__metabase-3.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_introspection__metabase.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_introspection__metabase_introspection_indoption.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_introspection__metabase_pktable_cat_query.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_introspection__metabase_table_cat_query.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_introspection__metabase_type_in_subquery_query.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_introspection__microstrategy_subquery_current_schema.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_introspection__pg_get_expr_1.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_introspection__pg_get_expr_2.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_introspection__pg_truetypid_truetypmod.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_introspection__pgcli_queries_d.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_introspection__postico1_schemas.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_introspection__powerbi_composite_types.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_introspection__powerbi_enums.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_introspection__powerbi_from_subquery.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_introspection__powerbi_schemas.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_introspection__powerbi_supported_types.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_introspection__powerbi_table_columns.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_introspection__powerbi_uppercase_alias.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_introspection__quicksight_has_schema_privilege_query.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_introspection__quicksight_pktable_cat_query.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_introspection__quicksight_table_cat_query.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_introspection__rust_client_types.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_introspection__sigma_computing_array_subquery_query.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_introspection__sigma_computing_attnames.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_introspection__sigma_computing_ilike_query.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_introspection__sigma_computing_pg_matviews_query.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_introspection__sigma_computing_with_subquery_query.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_introspection__sqlalchemy_new_conname_query.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_introspection__sqlalchemy_regtype.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_introspection__superset_attname_query.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_introspection__superset_attype_query.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_introspection__superset_conname_query.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_introspection__superset_indkey_varchar_query.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_introspection__superset_subquery.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_introspection__superset_visible_query.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_introspection__tableau_desktop_constraints.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_introspection__tableau_desktop_indexes.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_introspection__tableau_desktop_pkeys.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_introspection__tableau_desktop_table_columns.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_introspection__tableau_desktop_tables.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_introspection__tableau_get_expr_query.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_introspection__tableau_null_text_query.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_introspection__tableau_regclass_query.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_introspection__tableau_table_cat_query.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_introspection__tableau_table_name_column_name_query.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_introspection__test_extended_table_introspection.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_introspection__test_metabase_v0_51_2_introspection_field_indoption.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_introspection__test_metabase_v0_51_8_introspection.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_introspection__thoughtspot_table_introspection.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_introspection__zoho_inet_server_addr.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_udfs__age.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_udfs__array_lower_column.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_udfs__array_lower_scalar.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_udfs__array_lower_string.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_udfs__array_upper_column.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_udfs__array_upper_scalar.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_udfs__array_upper_string.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_udfs__current_schemas_including_implicit_postgres.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_udfs__current_schemas_postgres.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_udfs__current_setting.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_udfs__date_part_quarter.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_udfs__ends_with.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_udfs__extension_udf_xirr.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_udfs__format_type.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_udfs__generate_series_date32_2_args.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_udfs__generate_series_date32_3_args_2days_interval.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_udfs__generate_series_date32_3_args_3years_interval.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_udfs__generate_series_empty_1.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_udfs__generate_series_empty_2.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_udfs__generate_series_f64_1.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_udfs__generate_series_f64_2.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_udfs__generate_series_from_table.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_udfs__generate_series_i64_1.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_udfs__generate_series_timestamp_2_args.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_udfs__generate_series_timestamp_3_args_1h_30m_interval.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_udfs__generate_series_timestamp_3_args_20s_interval.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_udfs__generate_series_timestamp_3_args_2days_interval.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_udfs__generate_series_timestamp_3_args_2months_interval.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_udfs__generate_series_timestamp_3_args_2years_interval.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_udfs__generate_series_timestamp_3_args_6y_5m_4d_3h_2min_1s_interval.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_udfs__has_any_column_privilege.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_udfs__has_any_column_privilege_default_user.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_udfs__has_schema_privilege.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_udfs__has_schema_privilege_default_user.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_udfs__has_schema_privilege_multiple.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_udfs__has_table_privilege.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_udfs__has_table_privilege_default_user.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_udfs__pg_backend_pid.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_udfs__pg_catalog_generate_series_i64.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_udfs__pg_datetime_precision_simple.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_udfs__pg_datetime_precision_types.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_udfs__pg_expandarray_index.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_udfs__pg_expandarray_value.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_udfs__pg_generate_subscripts_1.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_udfs__pg_generate_subscripts_2_forward.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_udfs__pg_generate_subscripts_2_reverse.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_udfs__pg_generate_subscripts_3.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_udfs__pg_get_constraintdef_1.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_udfs__pg_get_constraintdef_2.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_udfs__pg_get_userbyid.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_udfs__pg_numeric_precision_simple.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_udfs__pg_numeric_precision_types.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_udfs__pg_numeric_scale_simple.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_udfs__pg_numeric_scale_types.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_udfs__pg_to_regtype.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_udfs__pg_total_relation_size.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_udfs__pg_type_is_visible.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_udfs__pi.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_udfs__quote_ident.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_udfs__redshift_charindex.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_udfs__regexp_substr.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_udfs__regexp_substr_column.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_udfs__test_bool_and_or.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_udfs__to_char_1.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_udfs__to_char_2.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_udfs__to_char_3.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_udfs__unnest_i64_from_table.snap
    │   │   │   │   │       ├── cubesql__compile__test__test_udfs__unnest_i64_scalar.snap
    │   │   │   │   │       └── cubesql__compile__test__test_udfs__unnest_str_from_table.snap
    │   │   │   │   │   ├── test_bi_workarounds.rs
    │   │   │   │   │   ├── test_cube_join.rs
    │   │   │   │   │   ├── test_cube_join_grouped.rs
    │   │   │   │   │   ├── test_cube_scan.rs
    │   │   │   │   │   ├── test_df_execution.rs
    │   │   │   │   │   ├── test_filters.rs
    │   │   │   │   │   ├── test_introspection.rs
    │   │   │   │   │   ├── test_udfs.rs
    │   │   │   │   │   ├── test_user_change.rs
    │   │   │   │   │   ├── test_wrapper.rs
    │   │   │   │   │   └── utils.rs
    │   │   │   ├── config
    │   │   │   │   ├── injection.rs
    │   │   │   │   ├── mod.rs
    │   │   │   │   └── processing_loop.rs
    │   │   │   ├── error.rs
    │   │   │   ├── lib.rs
    │   │   │   ├── sql
    │   │   │   │   ├── auth_service.rs
    │   │   │   │   ├── compiler_cache.rs
    │   │   │   │   ├── database_variables
    │   │   │   │   │   ├── mod.rs
    │   │   │   │   │   ├── mysql
    │   │   │   │   │   │   ├── global_vars.rs
    │   │   │   │   │   │   ├── mod.rs
    │   │   │   │   │   │   └── session_vars.rs
    │   │   │   │   │   └── postgres
    │   │   │   │   │   │   ├── global_vars.rs
    │   │   │   │   │   │   ├── mod.rs
    │   │   │   │   │   │   └── session_vars.rs
    │   │   │   │   ├── dataframe.rs
    │   │   │   │   ├── mod.rs
    │   │   │   │   ├── postgres
    │   │   │   │   │   ├── extended.rs
    │   │   │   │   │   ├── mod.rs
    │   │   │   │   │   ├── pg_auth_service.rs
    │   │   │   │   │   ├── pg_type.rs
    │   │   │   │   │   ├── service.rs
    │   │   │   │   │   ├── shim.rs
    │   │   │   │   │   └── writer.rs
    │   │   │   │   ├── server_manager.rs
    │   │   │   │   ├── session.rs
    │   │   │   │   ├── session_manager.rs
    │   │   │   │   ├── snapshots
    │   │   │   │   │   └── cubesql__sql__dataframe__tests__table_value_serializer.snap
    │   │   │   │   ├── statement.rs
    │   │   │   │   ├── temp_tables.rs
    │   │   │   │   └── types.rs
    │   │   │   ├── telemetry
    │   │   │   │   └── mod.rs
    │   │   │   ├── transport
    │   │   │   │   ├── ctx.rs
    │   │   │   │   ├── ext.rs
    │   │   │   │   ├── mod.rs
    │   │   │   │   └── service.rs
    │   │   │   └── utils
    │   │   │   │   └── mod.rs
    │   │   └── test.sql
    │   ├── index.js
    │   ├── package.json
    │   ├── pg-srv
    │   │   ├── Cargo.toml
    │   │   ├── LICENSE
    │   │   ├── README.md
    │   │   └── src
    │   │   │   ├── buffer.rs
    │   │   │   ├── decoding.rs
    │   │   │   ├── encoding.rs
    │   │   │   ├── extended.rs
    │   │   │   ├── lib.rs
    │   │   │   ├── pg_type.rs
    │   │   │   └── protocol.rs
    │   ├── rust-toolchain.toml
    │   └── rustfmt.toml
    ├── cubesqlplanner
    │   ├── .gitignore
    │   ├── Cargo.lock
    │   ├── Cargo.toml
    │   ├── cubesqlplanner
    │   │   ├── .gitignore
    │   │   ├── Cargo.toml
    │   │   └── src
    │   │   │   ├── cube_bridge
    │   │   │       ├── base_query_options.rs
    │   │   │       ├── base_tools.rs
    │   │   │       ├── case_definition.rs
    │   │   │       ├── case_else_item.rs
    │   │   │       ├── case_item.rs
    │   │   │       ├── case_label.rs
    │   │   │       ├── cube_definition.rs
    │   │   │       ├── dimension_definition.rs
    │   │   │       ├── driver_tools.rs
    │   │   │       ├── evaluator.rs
    │   │   │       ├── filter_group.rs
    │   │   │       ├── filter_params.rs
    │   │   │       ├── geo_item.rs
    │   │   │       ├── granularity_definition.rs
    │   │   │       ├── join_definition.rs
    │   │   │       ├── join_graph.rs
    │   │   │       ├── join_hints.rs
    │   │   │       ├── join_item.rs
    │   │   │       ├── join_item_definition.rs
    │   │   │       ├── measure_definition.rs
    │   │   │       ├── member_definition.rs
    │   │   │       ├── member_expression.rs
    │   │   │       ├── member_order_by.rs
    │   │   │       ├── member_sql.rs
    │   │   │       ├── mod.rs
    │   │   │       ├── options_member.rs
    │   │   │       ├── pre_aggregation_description.rs
    │   │   │       ├── pre_aggregation_obj.rs
    │   │   │       ├── security_context.rs
    │   │   │       ├── segment_definition.rs
    │   │   │       ├── sql_templates_render.rs
    │   │   │       ├── sql_utils.rs
    │   │   │       └── struct_with_sql_member.rs
    │   │   │   ├── lib.rs
    │   │   │   ├── logical_plan
    │   │   │       ├── aggregate_multiplied_subquery.rs
    │   │   │       ├── cube.rs
    │   │   │       ├── dimension_subquery.rs
    │   │   │       ├── filter.rs
    │   │   │       ├── full_key_aggregate.rs
    │   │   │       ├── full_key_aggregate_query.rs
    │   │   │       ├── join.rs
    │   │   │       ├── keys_subquery.rs
    │   │   │       ├── measure_subquery.rs
    │   │   │       ├── mod.rs
    │   │   │       ├── multistage
    │   │   │       │   ├── calculation.rs
    │   │   │       │   ├── common.rs
    │   │   │       │   ├── get_date_range.rs
    │   │   │       │   ├── leaf_measure.rs
    │   │   │       │   ├── member.rs
    │   │   │       │   ├── mod.rs
    │   │   │       │   ├── rolling_window.rs
    │   │   │       │   └── time_series.rs
    │   │   │       ├── optimizers
    │   │   │       │   ├── common
    │   │   │       │   │   ├── cube_names_collector.rs
    │   │   │       │   │   ├── helper.rs
    │   │   │       │   │   └── mod.rs
    │   │   │       │   ├── mod.rs
    │   │   │       │   └── pre_aggregation
    │   │   │       │   │   ├── compiled_pre_aggregation.rs
    │   │   │       │   │   ├── dimension_matcher.rs
    │   │   │       │   │   ├── measure_matcher.rs
    │   │   │       │   │   ├── mod.rs
    │   │   │       │   │   ├── optimizer.rs
    │   │   │       │   │   ├── original_sql_collector.rs
    │   │   │       │   │   └── original_sql_optimizer.rs
    │   │   │       ├── pre_aggregation.rs
    │   │   │       ├── pretty_print.rs
    │   │   │       ├── query.rs
    │   │   │       ├── regular_measures_query.rs
    │   │   │       ├── resolve_multiplied_measures.rs
    │   │   │       ├── schema.rs
    │   │   │       └── simple_query.rs
    │   │   │   ├── physical_plan_builder
    │   │   │       ├── builder.rs
    │   │   │       └── mod.rs
    │   │   │   ├── plan
    │   │   │       ├── builder
    │   │   │       │   ├── join.rs
    │   │   │       │   ├── mod.rs
    │   │   │       │   └── select.rs
    │   │   │       ├── cte.rs
    │   │   │       ├── expression.rs
    │   │   │       ├── filter.rs
    │   │   │       ├── from.rs
    │   │   │       ├── join.rs
    │   │   │       ├── mod.rs
    │   │   │       ├── order.rs
    │   │   │       ├── query_plan.rs
    │   │   │       ├── schema
    │   │   │       │   ├── column.rs
    │   │   │       │   ├── mod.rs
    │   │   │       │   └── schema.rs
    │   │   │       ├── select.rs
    │   │   │       ├── subquery.rs
    │   │   │       ├── time_series.rs
    │   │   │       └── union.rs
    │   │   │   └── planner
    │   │   │       ├── base_cube.rs
    │   │   │       ├── base_dimension.rs
    │   │   │       ├── base_join_condition.rs
    │   │   │       ├── base_measure.rs
    │   │   │       ├── base_member.rs
    │   │   │       ├── base_query.rs
    │   │   │       ├── base_time_dimension.rs
    │   │   │       ├── filter
    │   │   │           ├── base_filter.rs
    │   │   │           ├── base_segment.rs
    │   │   │           ├── compiler.rs
    │   │   │           ├── filter_operator.rs
    │   │   │           └── mod.rs
    │   │   │       ├── mod.rs
    │   │   │       ├── params_allocator.rs
    │   │   │       ├── planners
    │   │   │           ├── common_utils.rs
    │   │   │           ├── dimension_subquery_planner.rs
    │   │   │           ├── full_key_query_aggregate_planner.rs
    │   │   │           ├── join_planner.rs
    │   │   │           ├── mod.rs
    │   │   │           ├── multi_stage
    │   │   │           │   ├── applied_state.rs
    │   │   │           │   ├── member.rs
    │   │   │           │   ├── member_query_planner.rs
    │   │   │           │   ├── mod.rs
    │   │   │           │   ├── multi_stage_query_planner.rs
    │   │   │           │   └── query_description.rs
    │   │   │           ├── multiplied_measures_query_planner.rs
    │   │   │           ├── order_planner.rs
    │   │   │           ├── query_planner.rs
    │   │   │           └── simple_query_planer.rs
    │   │   │       ├── query_properties.rs
    │   │   │       ├── query_tools.rs
    │   │   │       ├── sql_evaluator
    │   │   │           ├── collectors
    │   │   │           │   ├── cube_names_collector.rs
    │   │   │           │   ├── find_owned_by_cube.rs
    │   │   │           │   ├── has_cumulative_members.rs
    │   │   │           │   ├── has_multi_stage_members.rs
    │   │   │           │   ├── join_hints_collector.rs
    │   │   │           │   ├── member_childs_collector.rs
    │   │   │           │   ├── mod.rs
    │   │   │           │   ├── multiplied_measures_collector.rs
    │   │   │           │   └── sub_query_dimensions.rs
    │   │   │           ├── compiler.rs
    │   │   │           ├── dependecy.rs
    │   │   │           ├── mod.rs
    │   │   │           ├── references_builder.rs
    │   │   │           ├── sql_call.rs
    │   │   │           ├── sql_nodes
    │   │   │           │   ├── auto_prefix.rs
    │   │   │           │   ├── case_dimension.rs
    │   │   │           │   ├── evaluate_sql.rs
    │   │   │           │   ├── factory.rs
    │   │   │           │   ├── final_measure.rs
    │   │   │           │   ├── final_pre_aggregation_measure.rs
    │   │   │           │   ├── geo_dimension.rs
    │   │   │           │   ├── measure_filter.rs
    │   │   │           │   ├── mod.rs
    │   │   │           │   ├── multi_stage_rank.rs
    │   │   │           │   ├── multi_stage_window.rs
    │   │   │           │   ├── original_sql_pre_aggregation.rs
    │   │   │           │   ├── render_references.rs
    │   │   │           │   ├── rolling_window.rs
    │   │   │           │   ├── root_processor.rs
    │   │   │           │   ├── sql_node.rs
    │   │   │           │   ├── time_dimension.rs
    │   │   │           │   ├── time_shift.rs
    │   │   │           │   ├── ungroupped_measure.rs
    │   │   │           │   └── ungroupped_query_final_measure.rs
    │   │   │           ├── sql_visitor.rs
    │   │   │           ├── symbols
    │   │   │           │   ├── cube_symbol.rs
    │   │   │           │   ├── dimension_symbol.rs
    │   │   │           │   ├── measure_symbol.rs
    │   │   │           │   ├── member_expression_symbol.rs
    │   │   │           │   ├── member_symbol.rs
    │   │   │           │   ├── mod.rs
    │   │   │           │   ├── symbol_factory.rs
    │   │   │           │   └── time_dimension_symbol.rs
    │   │   │           └── visitor.rs
    │   │   │       ├── sql_templates
    │   │   │           ├── filter.rs
    │   │   │           ├── mod.rs
    │   │   │           ├── plan.rs
    │   │   │           └── structs.rs
    │   │   │       ├── time_dimension
    │   │   │           ├── date_time.rs
    │   │   │           ├── date_time_helper.rs
    │   │   │           ├── granularity.rs
    │   │   │           ├── granularity_helper.rs
    │   │   │           ├── mod.rs
    │   │   │           └── sql_interval.rs
    │   │   │       ├── utils.rs
    │   │   │       └── visitor_context.rs
    │   ├── nativebridge
    │   │   ├── Cargo.toml
    │   │   └── src
    │   │   │   └── lib.rs
    │   └── rust-toolchain.toml
    └── cubestore
    │   ├── .cargo
    │       └── config.toml
    │   ├── .dockerignore
    │   ├── .gitignore
    │   ├── CHANGELOG.md
    │   ├── Cargo.lock
    │   ├── Cargo.toml
    │   ├── Cross.toml
    │   ├── Dockerfile
    │   ├── README.md
    │   ├── bin
    │       ├── cubestore-dev
    │       └── post-install
    │   ├── builder.Dockerfile
    │   ├── cross
    │       ├── README.md
    │       ├── aarch64-unknown-linux-gnu-python.Dockerfile
    │       ├── aarch64-unknown-linux-gnu.Dockerfile
    │       ├── docker-bake.hcl
    │       ├── x86_64-unknown-linux-gnu-python.Dockerfile
    │       ├── x86_64-unknown-linux-gnu.Dockerfile
    │       └── x86_64-unknown-linux-musl.Dockerfile
    │   ├── cubedatasketches
    │       ├── Cargo.toml
    │       ├── README.md
    │       └── src
    │       │   ├── error.rs
    │       │   ├── lib.rs
    │       │   ├── native.rs
    │       │   └── unsupported.rs
    │   ├── cubehll
    │       ├── Cargo.toml
    │       ├── README.md
    │       └── src
    │       │   ├── bias_correction.rs
    │       │   ├── error.rs
    │       │   ├── instance.rs
    │       │   ├── lib.rs
    │       │   └── sketch.rs
    │   ├── cuberockstore
    │       ├── Cargo.toml
    │       └── src
    │       │   └── lib.rs
    │   ├── cuberpc
    │       ├── Cargo.toml
    │       └── src
    │       │   └── lib.rs
    │   ├── cubestore-sql-tests
    │       ├── Cargo.toml
    │       ├── benches
    │       │   └── in_process.rs
    │       ├── src
    │       │   ├── benches.rs
    │       │   ├── files.rs
    │       │   ├── lib.rs
    │       │   ├── multiproc.rs
    │       │   ├── rows.rs
    │       │   └── tests.rs
    │       └── tests
    │       │   ├── cluster.rs
    │       │   ├── in_process.rs
    │       │   └── multi_process.rs
    │   ├── cubestore
    │       ├── Cargo.toml
    │       ├── LICENSE
    │       ├── benches
    │       │   └── cachestore_queue.rs
    │       ├── flatbuffers-codegen.sh
    │       ├── src
    │       │   ├── app_metrics.rs
    │       │   ├── bin
    │       │   │   └── cubestored.rs
    │       │   ├── cachestore
    │       │   │   ├── cache_eviction_manager.rs
    │       │   │   ├── cache_item.rs
    │       │   │   ├── cache_rocksstore.rs
    │       │   │   ├── compaction.rs
    │       │   │   ├── lazy.rs
    │       │   │   ├── listener.rs
    │       │   │   ├── mod.rs
    │       │   │   ├── queue_item.rs
    │       │   │   ├── queue_item_payload.rs
    │       │   │   ├── queue_result.rs
    │       │   │   └── scheduler.rs
    │       │   ├── cluster
    │       │   │   ├── ingestion
    │       │   │   │   ├── job_processor.rs
    │       │   │   │   ├── job_runner.rs
    │       │   │   │   └── mod.rs
    │       │   │   ├── message.rs
    │       │   │   ├── mod.rs
    │       │   │   ├── rate_limiter.rs
    │       │   │   ├── transport.rs
    │       │   │   ├── worker_pool.rs
    │       │   │   └── worker_services.rs
    │       │   ├── config
    │       │   │   ├── injection.rs
    │       │   │   ├── mod.rs
    │       │   │   └── processing_loop.rs
    │       │   ├── http
    │       │   │   ├── mod.rs
    │       │   │   └── status.rs
    │       │   ├── import
    │       │   │   ├── limits.rs
    │       │   │   └── mod.rs
    │       │   ├── lib.rs
    │       │   ├── metastore
    │       │   │   ├── chunks.rs
    │       │   │   ├── index.rs
    │       │   │   ├── job.rs
    │       │   │   ├── listener.rs
    │       │   │   ├── mod.rs
    │       │   │   ├── multi_index.rs
    │       │   │   ├── partition.rs
    │       │   │   ├── replay_handle.rs
    │       │   │   ├── rocks_fs.rs
    │       │   │   ├── rocks_store.rs
    │       │   │   ├── rocks_table.rs
    │       │   │   ├── schema.rs
    │       │   │   ├── snapshot_info.rs
    │       │   │   ├── source.rs
    │       │   │   ├── table.rs
    │       │   │   ├── trace_object.rs
    │       │   │   └── wal.rs
    │       │   ├── mysql
    │       │   │   └── mod.rs
    │       │   ├── queryplanner
    │       │   │   ├── check_memory.rs
    │       │   │   ├── coalesce.rs
    │       │   │   ├── filter_by_key_range.rs
    │       │   │   ├── flatten_union.rs
    │       │   │   ├── hll.rs
    │       │   │   ├── info_schema
    │       │   │   │   ├── info_schema_columns.rs
    │       │   │   │   ├── info_schema_schemata.rs
    │       │   │   │   ├── info_schema_tables.rs
    │       │   │   │   ├── mod.rs
    │       │   │   │   ├── rocksdb_properties.rs
    │       │   │   │   ├── system_cache.rs
    │       │   │   │   ├── system_chunks.rs
    │       │   │   │   ├── system_indexes.rs
    │       │   │   │   ├── system_jobs.rs
    │       │   │   │   ├── system_partitions.rs
    │       │   │   │   ├── system_queue.rs
    │       │   │   │   ├── system_queue_results.rs
    │       │   │   │   ├── system_replay_handles.rs
    │       │   │   │   ├── system_snapshots.rs
    │       │   │   │   └── system_tables.rs
    │       │   │   ├── mod.rs
    │       │   │   ├── now.rs
    │       │   │   ├── optimizations
    │       │   │   │   ├── check_memory.rs
    │       │   │   │   ├── distributed_partial_aggregate.rs
    │       │   │   │   ├── mod.rs
    │       │   │   │   ├── prefer_inplace_aggregates.rs
    │       │   │   │   ├── rewrite_plan.rs
    │       │   │   │   └── trace_data_loaded.rs
    │       │   │   ├── panic.rs
    │       │   │   ├── partition_filter.rs
    │       │   │   ├── physical_plan_flags.rs
    │       │   │   ├── planning.rs
    │       │   │   ├── pretty_printers.rs
    │       │   │   ├── projection_above_limit.rs
    │       │   │   ├── providers
    │       │   │   │   ├── mod.rs
    │       │   │   │   └── query_cache.rs
    │       │   │   ├── query_executor.rs
    │       │   │   ├── serialized_plan.rs
    │       │   │   ├── tail_limit.rs
    │       │   │   ├── test_utils.rs
    │       │   │   ├── topk
    │       │   │   │   ├── execute.rs
    │       │   │   │   ├── mod.rs
    │       │   │   │   └── plan.rs
    │       │   │   ├── trace_data_loaded.rs
    │       │   │   ├── udf_xirr.rs
    │       │   │   └── udfs.rs
    │       │   ├── remotefs
    │       │   │   ├── cleanup.rs
    │       │   │   ├── gcs.rs
    │       │   │   ├── minio.rs
    │       │   │   ├── mod.rs
    │       │   │   ├── queue.rs
    │       │   │   └── s3.rs
    │       │   ├── scheduler
    │       │   │   └── mod.rs
    │       │   ├── shared
    │       │   │   ├── deadline_queue.rs
    │       │   │   └── mod.rs
    │       │   ├── sql
    │       │   │   ├── cache.rs
    │       │   │   ├── cachestore.rs
    │       │   │   ├── mod.rs
    │       │   │   ├── parser.rs
    │       │   │   └── table_creator.rs
    │       │   ├── store
    │       │   │   ├── compaction.rs
    │       │   │   └── mod.rs
    │       │   ├── streaming
    │       │   │   ├── buffered_stream.rs
    │       │   │   ├── kafka.rs
    │       │   │   ├── kafka_post_processing.rs
    │       │   │   ├── mod.rs
    │       │   │   ├── topic_table_provider.rs
    │       │   │   └── traffic_sender.rs
    │       │   ├── sys
    │       │   │   ├── malloc.rs
    │       │   │   ├── mod.rs
    │       │   │   └── process.rs
    │       │   ├── table
    │       │   │   ├── data.rs
    │       │   │   ├── mod.rs
    │       │   │   ├── parquet.rs
    │       │   │   └── redistribute.rs
    │       │   ├── telemetry
    │       │   │   ├── mod.rs
    │       │   │   └── tracing.rs
    │       │   └── util
    │       │   │   ├── aborting_join_handle.rs
    │       │   │   ├── batch_memory.rs
    │       │   │   ├── cancellation_token_guard.rs
    │       │   │   ├── decimal.rs
    │       │   │   ├── error.rs
    │       │   │   ├── int96.rs
    │       │   │   ├── lock.rs
    │       │   │   ├── logger.rs
    │       │   │   ├── malloc_trim_loop.rs
    │       │   │   ├── maybe_owned.rs
    │       │   │   ├── memory.rs
    │       │   │   ├── metrics.rs
    │       │   │   ├── mod.rs
    │       │   │   ├── respawn.rs
    │       │   │   ├── strings.rs
    │       │   │   └── time_span.rs
    │       └── testing-fixtures
    │       │   └── cachestore-migration
    │       │       ├── 000010.log
    │       │       ├── 000012.sst
    │       │       ├── CURRENT
    │       │       ├── IDENTITY
    │       │       ├── LOCK
    │       │       ├── LOG
    │       │       ├── MANIFEST-000005
    │       │       ├── OPTIONS-000007
    │       │       ├── OPTIONS-000009
    │       │       ├── README.md
    │       │       └── archive
    │       │           └── 000004.log
    │   ├── cubezetasketch
    │       ├── Cargo.toml
    │       ├── README.md
    │       ├── proto
    │       │   ├── aggregator.proto
    │       │   ├── hllplus-unique.proto
    │       │   └── unique-stats.proto
    │       └── src
    │       │   ├── data.rs
    │       │   ├── difference_encoding.rs
    │       │   ├── encoding.rs
    │       │   ├── error.rs
    │       │   ├── lib.rs
    │       │   ├── normal.rs
    │       │   ├── sketch.rs
    │       │   ├── sparse.rs
    │       │   └── state.rs
    │   ├── docker-bake.hcl
    │   ├── js-wrapper
    │       ├── src
    │       │   ├── cubestore-dev.ts
    │       │   ├── download.ts
    │       │   ├── index.ts
    │       │   ├── post-install.ts
    │       │   ├── process.ts
    │       │   └── utils.ts
    │       └── test
    │       │   ├── process-test-fork.ts
    │       │   └── process.test.ts
    │   ├── package.json
    │   ├── rust-toolchain.toml
    │   └── tsconfig.json
├── tsconfig.base.json
├── tsconfig.jest.json
├── tsconfig.json
├── vetur.config.js
└── yarn.lock


/.editorconfig:
--------------------------------------------------------------------------------
 1 | # editorconfig.org
 2 | root = true
 3 | 
 4 | [*]
 5 | indent_style = space
 6 | indent_size = 2
 7 | end_of_line = lf
 8 | charset = utf-8
 9 | trim_trailing_whitespace = true
10 | insert_final_newline = true
11 | 
12 | [*.rs]
13 | indent_size = 4
14 | 
15 | [rust/cubesql/cubesql/egraph-debug-template/**/*.{js,jsx,ts,tsx}]
16 | indent_size = 4
17 | 


--------------------------------------------------------------------------------
/.github/actions/integration/crate.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | set -eo pipefail
3 | 
4 | export DEBUG=testcontainers
5 | 
6 | echo "::group::Crate"
7 | yarn lerna run --concurrency 1 --stream --no-prefix integration:crate
8 | echo "::endgroup::"
9 | 


--------------------------------------------------------------------------------
/.github/actions/integration/dremio.sh:
--------------------------------------------------------------------------------
 1 | #!/bin/bash
 2 | set -eo pipefail
 3 | 
 4 | # Debug log for test containers
 5 | export DEBUG=testcontainers
 6 | 
 7 | echo "::group::Dremio [cloud]"
 8 | yarn lerna run --concurrency 1 --stream --no-prefix integration:dremio
 9 | 
10 | echo "::endgroup::"
11 | 


--------------------------------------------------------------------------------
/.github/actions/integration/firebolt.sh:
--------------------------------------------------------------------------------
 1 | #!/bin/bash
 2 | set -eo pipefail
 3 | 
 4 | # Debug log for test containers
 5 | export DEBUG=testcontainers
 6 | 
 7 | echo "::group::Firebolt [cloud]"
 8 | yarn lerna run --concurrency 1 --stream --no-prefix integration:firebolt
 9 | 
10 | echo "::endgroup::"
11 | 


--------------------------------------------------------------------------------
/.github/buildkitd.toml:
--------------------------------------------------------------------------------
1 | [worker.oci]
2 |   max-parallelism = 1
3 | 


--------------------------------------------------------------------------------
/.github/dependabot.yml:
--------------------------------------------------------------------------------
 1 | version: 2
 2 | updates:
 3 |   - package-ecosystem: "npm"
 4 |     directory: "/packages"
 5 |     schedule:
 6 |       interval: "weekly"
 7 |   - package-ecosystem: "npm"
 8 |     directory: "/examples"
 9 |     schedule:
10 |       interval: "monthly"
11 |     labels: [ ]
12 |     ignore:
13 |       - dependency-name: "*"
14 | 


--------------------------------------------------------------------------------
/.npmpackagejsonlintrc.json:
--------------------------------------------------------------------------------
 1 | {
 2 |   "rules": {
 3 |     "require-author": "error",
 4 |     "require-engines": "error",
 5 |     "require-license": "error",
 6 |     "require-name": "error",
 7 |     "bin-type": "error",
 8 |     "dependencies-type": "error",
 9 |     "devDependencies-type": "error"
10 |   }
11 | }
12 | 


--------------------------------------------------------------------------------
/.nvmrc:
--------------------------------------------------------------------------------
1 | 22.16.0
2 | 


--------------------------------------------------------------------------------
/.yarnrc.yml:
--------------------------------------------------------------------------------
1 | nodeLinker: node-modules
2 | 


--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | Source code in this repository is covered by one of two licenses: (i) the
2 | Apache License 2.0 (ii) an MIT license. 
3 | The default license throughout the repository is Apache License 2.0 
4 | unless the header or package LICENSE file specifies another license. 
5 | 


--------------------------------------------------------------------------------
/SECURITY.md:
--------------------------------------------------------------------------------
1 | # Security Policy
2 | 
3 | ## Reporting a Vulnerability
4 | 
5 | Please email security reports to info@cube.dev or reach out to maintainers directly in https://slack.cube.dev.
6 | Please do not create issues or public conversations for discovered security issues until patch is shipped.
7 | 


--------------------------------------------------------------------------------
/codecov.yml:
--------------------------------------------------------------------------------
 1 | coverage:
 2 |   round: down
 3 |   range: "70...100"
 4 |   status:
 5 |     project:
 6 |       default:
 7 |         informational: true
 8 |         target: auto
 9 |         threshold: 2%
10 |     patch:
11 |       default:
12 |         informational: true
13 | 
14 | github_checks:
15 |   annotations: false
16 | 


--------------------------------------------------------------------------------
/docs/README.md:
--------------------------------------------------------------------------------
1 | # Cube Docs
2 | 


--------------------------------------------------------------------------------
/docs/components/common/BlogButton/index.ts:
--------------------------------------------------------------------------------
1 | export * from './Button';


--------------------------------------------------------------------------------
/docs/components/common/Footer/index.ts:
--------------------------------------------------------------------------------
1 | export * from './Footer';
2 | 


--------------------------------------------------------------------------------
/docs/components/common/LogoWithVersion/LogoWithVersion.module.scss:
--------------------------------------------------------------------------------
 1 | .Logo {
 2 | 
 3 | }
 4 | 
 5 | .Version {
 6 |   color: var(--dark_03);
 7 |   font-size: 0.875rem;
 8 |   padding: 0.25rem 0.5rem;
 9 |   border-radius: 0.375rem;
10 |   background: var(--dark_bg);
11 |   margin-left: 0.625rem;
12 | }
13 | 


--------------------------------------------------------------------------------
/docs/components/common/SocialIcon/SocialIcon.module.css:
--------------------------------------------------------------------------------
 1 | .SocialIcon {
 2 |   --hover_transtion: 300ms;
 3 |   display: block;
 4 | }
 5 | 
 6 | .SocialIcon:hover {
 7 |   cursor: pointer;
 8 | }
 9 | 
10 | .SocialIcon path {
11 |   transition: fill var(--hover_transtion);
12 | }
13 | 
14 | .SocialIcon:not(:hover) path {
15 |   fill: var(--dark_03_a50);
16 | }
17 | 


--------------------------------------------------------------------------------
/docs/components/mdx/CodeTabs/index.ts:
--------------------------------------------------------------------------------
1 | export * from './CodeTabs';
2 | 


--------------------------------------------------------------------------------
/docs/components/mdx/LoomVideo/LoomVideo.module.scss:
--------------------------------------------------------------------------------
1 | .LoomVideo__Wrapper {
2 |   margin: 1.5rem 0;
3 | 
4 |   > iframe {
5 |     border-radius: 6px;
6 |   }
7 | }
8 | 


--------------------------------------------------------------------------------
/docs/components/mdx/Snippets/SnippetGroup.tsx:
--------------------------------------------------------------------------------
1 | import React from "react";
2 | import styles from "./styles.module.css";
3 | 
4 | export const Snippet = ({ children }) => children;
5 | 
6 | export const SnippetGroup = ({ children }) => {
7 |   return <div className={styles.snippetGroup}>{children}</div>;
8 | };
9 | 


--------------------------------------------------------------------------------
/docs/components/mdx/Snippets/styles.module.css:
--------------------------------------------------------------------------------
1 | .snippetGroup {
2 |   display: flex;
3 |   gap: 1rem;
4 | }
5 | 


--------------------------------------------------------------------------------
/docs/components/mdx/YouTubeVideo/YoutubeVideo.module.scss:
--------------------------------------------------------------------------------
1 | .YoutubeVideo__Wrapper {
2 |   margin: 1.5rem 0;
3 | 
4 |   > iframe {
5 |     border-radius: 6px;
6 |   }
7 | }
8 | 


--------------------------------------------------------------------------------
/docs/components/overrides/Code/Code.module.scss:
--------------------------------------------------------------------------------
1 | pre > .Code {
2 |   white-space: inherit;
3 | }
4 | 
5 | table .Code {
6 |   white-space: nowrap;
7 | }


--------------------------------------------------------------------------------
/docs/components/overrides/Headings/H1.tsx:
--------------------------------------------------------------------------------
 1 | import type { ComponentProps } from 'react';
 2 | 
 3 | export const H1 = (props: ComponentProps<'h1'>) => {
 4 |   // console.log({ props });
 5 |   return (
 6 |     <h1
 7 |       className="nx-mt-2 nx-text-4xl nx-font-bold nx-tracking-tight"
 8 |       {...props}
 9 |     />
10 |   );
11 | }
12 | 


--------------------------------------------------------------------------------
/docs/components/overrides/TOC/TOCTitle.tsx:
--------------------------------------------------------------------------------
1 | export const TOCTitle = () => {
2 |   return (
3 |     <div className="TOCTitle">
4 |       <h1 className="nx-mt-2 nx-text-4xl nx-font-bold nx-tracking-tight">TOC</h1>
5 |     </div>
6 |   );
7 | };
8 | 


--------------------------------------------------------------------------------
/docs/components/overrides/Table/Table.module.scss:
--------------------------------------------------------------------------------
1 | .Table {
2 |   margin: 1.5rem 0;
3 | 
4 |   border-collapse: separate;
5 |   border-spacing: 0;
6 |   border: 1px solid var(--dark_05);
7 |   border-radius: 0.5rem;
8 | }
9 | 


--------------------------------------------------------------------------------
/docs/content/cube-logo-with-bg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cube-js/cube/2b400028f7b70a1e48fd82bd20a767fa8a3b2259/docs/content/cube-logo-with-bg.png


--------------------------------------------------------------------------------
/docs/fonts/CeraPro-Bold.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cube-js/cube/2b400028f7b70a1e48fd82bd20a767fa8a3b2259/docs/fonts/CeraPro-Bold.woff


--------------------------------------------------------------------------------
/docs/fonts/CeraPro-Bold.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cube-js/cube/2b400028f7b70a1e48fd82bd20a767fa8a3b2259/docs/fonts/CeraPro-Bold.woff2


--------------------------------------------------------------------------------
/docs/fonts/CeraPro-Medium.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cube-js/cube/2b400028f7b70a1e48fd82bd20a767fa8a3b2259/docs/fonts/CeraPro-Medium.woff


--------------------------------------------------------------------------------
/docs/fonts/CeraPro-Medium.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cube-js/cube/2b400028f7b70a1e48fd82bd20a767fa8a3b2259/docs/fonts/CeraPro-Medium.woff2


--------------------------------------------------------------------------------
/docs/fonts/CeraPro-Regular-Italic.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cube-js/cube/2b400028f7b70a1e48fd82bd20a767fa8a3b2259/docs/fonts/CeraPro-Regular-Italic.woff


--------------------------------------------------------------------------------
/docs/fonts/CeraPro-Regular-Italic.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cube-js/cube/2b400028f7b70a1e48fd82bd20a767fa8a3b2259/docs/fonts/CeraPro-Regular-Italic.woff2


--------------------------------------------------------------------------------
/docs/fonts/CeraPro-Regular.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cube-js/cube/2b400028f7b70a1e48fd82bd20a767fa8a3b2259/docs/fonts/CeraPro-Regular.woff


--------------------------------------------------------------------------------
/docs/fonts/CeraPro-Regular.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cube-js/cube/2b400028f7b70a1e48fd82bd20a767fa8a3b2259/docs/fonts/CeraPro-Regular.woff2


--------------------------------------------------------------------------------
/docs/fonts/JetBrainsMono-Regular.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cube-js/cube/2b400028f7b70a1e48fd82bd20a767fa8a3b2259/docs/fonts/JetBrainsMono-Regular.woff2


--------------------------------------------------------------------------------
/docs/fonts/SourceCodePro-Regular.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cube-js/cube/2b400028f7b70a1e48fd82bd20a767fa8a3b2259/docs/fonts/SourceCodePro-Regular.otf


--------------------------------------------------------------------------------
/docs/fonts/SourceCodePro-Regular.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cube-js/cube/2b400028f7b70a1e48fd82bd20a767fa8a3b2259/docs/fonts/SourceCodePro-Regular.woff2


--------------------------------------------------------------------------------
/docs/fonts/original/CeraPro-Bold.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cube-js/cube/2b400028f7b70a1e48fd82bd20a767fa8a3b2259/docs/fonts/original/CeraPro-Bold.otf


--------------------------------------------------------------------------------
/docs/fonts/original/CeraPro-Bold.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cube-js/cube/2b400028f7b70a1e48fd82bd20a767fa8a3b2259/docs/fonts/original/CeraPro-Bold.woff


--------------------------------------------------------------------------------
/docs/fonts/original/CeraPro-Bold.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cube-js/cube/2b400028f7b70a1e48fd82bd20a767fa8a3b2259/docs/fonts/original/CeraPro-Bold.woff2


--------------------------------------------------------------------------------
/docs/fonts/original/CeraPro-Medium.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cube-js/cube/2b400028f7b70a1e48fd82bd20a767fa8a3b2259/docs/fonts/original/CeraPro-Medium.eot


--------------------------------------------------------------------------------
/docs/fonts/original/CeraPro-Medium.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cube-js/cube/2b400028f7b70a1e48fd82bd20a767fa8a3b2259/docs/fonts/original/CeraPro-Medium.woff


--------------------------------------------------------------------------------
/docs/fonts/original/CeraPro-Medium.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cube-js/cube/2b400028f7b70a1e48fd82bd20a767fa8a3b2259/docs/fonts/original/CeraPro-Medium.woff2


--------------------------------------------------------------------------------
/docs/fonts/original/CeraPro-Regular.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cube-js/cube/2b400028f7b70a1e48fd82bd20a767fa8a3b2259/docs/fonts/original/CeraPro-Regular.eot


--------------------------------------------------------------------------------
/docs/fonts/original/CeraPro-Regular.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cube-js/cube/2b400028f7b70a1e48fd82bd20a767fa8a3b2259/docs/fonts/original/CeraPro-Regular.woff


--------------------------------------------------------------------------------
/docs/fonts/original/CeraPro-Regular.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cube-js/cube/2b400028f7b70a1e48fd82bd20a767fa8a3b2259/docs/fonts/original/CeraPro-Regular.woff2


--------------------------------------------------------------------------------
/docs/pages/product/apis-integrations/dax-api/_meta.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 |   "reference": "Reference"
3 | }


--------------------------------------------------------------------------------
/docs/pages/product/apis-integrations/graphql-api/_meta.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 |   "reference": "Reference"
3 | }


--------------------------------------------------------------------------------
/docs/pages/product/apis-integrations/javascript-sdk/_meta.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 |   "react": "React",
3 |   "vue": "Vue",
4 |   "angular": "Angular",
5 |   "reference": "Reference"
6 | }


--------------------------------------------------------------------------------
/docs/pages/product/apis-integrations/javascript-sdk/reference/_meta.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 |   "cubejs-client-core": "core",
3 |   "cubejs-client-react": "react",
4 |   "cubejs-client-ngx": "ngx",
5 |   "cubejs-client-vue": "vue",
6 |   "cubejs-client-ws-transport": "ws-transport"
7 | }


--------------------------------------------------------------------------------
/docs/pages/product/apis-integrations/recipes/_meta.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 |   "getting-unique-values-for-a-field": "Unique values",
3 |   "cast-numerics": "Numeric values",
4 |   "sorting": "Custom sorting",
5 |   "pagination": "Pagination",
6 |   "drilldowns": "Drilldowns",
7 |   "real-time-data-fetch": "Real-time data fetch"
8 | }
9 | 


--------------------------------------------------------------------------------
/docs/pages/product/apis-integrations/rest-api/_meta.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 |   "query-format": "Query format",
3 |   "reference": "Reference"
4 | }


--------------------------------------------------------------------------------
/docs/pages/product/apis-integrations/semantic-layer-sync/_meta.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 |   "superset": "Apache Superset",
3 |   "metabase": "Metabase",
4 |   "preset": "Preset",
5 |   "tableau": "Tableau"
6 | }


--------------------------------------------------------------------------------
/docs/pages/product/apis-integrations/sql-api/_meta.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 |   "query-format": "Query format",
3 |   "joins": "Joins",
4 |   "security": "Authentication and Authorization",
5 |   "reference": "Reference"
6 | }


--------------------------------------------------------------------------------
/docs/pages/product/auth/_meta.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 |   "methods": "Authentication",
3 |   "context": "Security context",
4 |   "member-level-security": "Member-level security",
5 |   "row-level-security": "Row-level security",
6 |   "data-access-policies": "Data access policies",
7 |   "recipes": "Recipes"
8 | }


--------------------------------------------------------------------------------
/docs/pages/product/auth/methods/_meta.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 |   "name-password": "Name and password",
3 |   "kerberos": "Kerberos",
4 |   "ntlm": "NTLM",
5 |   "identity-provider": "Identity provider",
6 |   "jwt": "JSON Web Token"
7 | }


--------------------------------------------------------------------------------
/docs/pages/product/configuration/_meta.js:
--------------------------------------------------------------------------------
 1 | module.exports = {
 2 |   "data-sources": "Data sources",
 3 |   "visualization-tools": "Visualization tools",
 4 |   "multiple-data-sources": "Multiple data sources",
 5 |   "concurrency": "Concurrency",
 6 |   "multitenancy": "Multitenancy",
 7 |   "reference": "Reference",
 8 |   "recipes": "Recipes"
 9 | }
10 | 


--------------------------------------------------------------------------------
/docs/pages/product/configuration/reference/_meta.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 |   "environment-variables": "Environment variables",
3 |   "config": "Configuration options"
4 | }


--------------------------------------------------------------------------------
/docs/pages/product/data-modeling/_meta.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 |   "overview": "Overview",
3 |   "concepts": "Concepts",
4 |   "syntax": "Syntax",
5 |   "dynamic": "Dynamic data models",
6 |   "reference": "Reference",
7 |   "recipes": "Recipes"
8 | }


--------------------------------------------------------------------------------
/docs/pages/product/data-modeling/dynamic/_meta.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 |   "jinja": "Dynamic data models with Jinja and Python",
3 |   "javascript": "Dynamic data models with JavaScript",
4 |   "code-reusability-export-and-import": "Export and import",
5 |   "schema-execution-environment": "Execution environment (JavaScript models)"
6 | }


--------------------------------------------------------------------------------
/docs/pages/product/deployment/_meta.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 |   "production-checklist": "Production checklist",
3 |   "cloud": "Cube Cloud",
4 |   "core": "Cube Core"
5 | }


--------------------------------------------------------------------------------
/docs/pages/product/deployment/cloud/byoc/_meta.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 |   "aws": "AWS",
3 |   "azure": "Azure",
4 | }
5 | 


--------------------------------------------------------------------------------
/docs/pages/product/deployment/cloud/providers/_meta.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 |   "aws": "AWS",
3 |   "gcp": "GCP",
4 |   "azure": "Azure"
5 | }


--------------------------------------------------------------------------------
/docs/pages/product/deployment/cloud/vpc/_meta.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 |   "aws": "AWS",
3 |   "gcp": "GCP",
4 |   "azure": "Azure"
5 | }


--------------------------------------------------------------------------------
/docs/pages/product/deployment/cloud/vpc/aws/_meta.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 |     "private-link": "PrivateLink",
3 |     "vpc-peering": "VPC Peering",
4 |   }


--------------------------------------------------------------------------------
/docs/pages/product/getting-started/_meta.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 |   "cloud": "Cube Cloud and Snowflake",
3 |   "databricks": "Cube Cloud and Databricks",
4 |   "core": "Cube Core",
5 |   "migrate-from-core": "Migrate from Cube Core"
6 | }
7 | 


--------------------------------------------------------------------------------
/docs/pages/product/getting-started/cloud/_meta.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 |   "load-data": "Load data",
3 |   "connect-to-snowflake": "Connect to Snowflake",
4 |   "create-data-model": "Create data model",
5 |   "query-from-bi": "Query from BI",
6 |   "query-from-react-app": "Query from React"
7 | }


--------------------------------------------------------------------------------
/docs/pages/product/getting-started/core/_meta.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 |   "create-a-project": "Create a project",
3 |   "query-data": "Query data",
4 |   "add-a-pre-aggregation": "Add a pre-aggregation",
5 |   "learn-more": "Learn more"
6 | }


--------------------------------------------------------------------------------
/docs/pages/product/getting-started/databricks/_meta.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 |   "load-data": "Load data",
3 |   "connect-to-databricks": "Connect to Databricks",
4 |   "create-data-model": "Create data model",
5 |   "query-from-bi": "Query from BI",
6 |   "query-from-react-app": "Query from React"
7 | }
8 | 


--------------------------------------------------------------------------------
/docs/pages/product/workspace/cli/_meta.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 |   "reference": "Reference"
3 | }
4 | 


--------------------------------------------------------------------------------
/docs/pages/product/workspace/monitoring/_meta.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 |   "cloudwatch": "Amazon CloudWatch",
3 |   "s3": "Amazon S3",
4 |   "datadog": "Datadog",
5 |   "grafana-cloud": "Grafana Cloud"
6 | }


--------------------------------------------------------------------------------
/docs/pages/product/workspace/recipes/_meta.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 |   "query-history-export": "Exporting Query History",
3 | }


--------------------------------------------------------------------------------
/docs/pages/product/workspace/sso/_meta.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 |   "google-workspace": "Google Workspace",
3 |   "microsoft-entra-id": "Microsoft Entra ID",
4 |   "okta": "Okta"
5 | }
6 | 


--------------------------------------------------------------------------------
/docs/postcss.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 |   plugins: {
3 |     tailwindcss: {},
4 |     autoprefixer: {},
5 |   },
6 | }
7 | 


--------------------------------------------------------------------------------
/docs/public/.gitkeep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cube-js/cube/2b400028f7b70a1e48fd82bd20a767fa8a3b2259/docs/public/.gitkeep


--------------------------------------------------------------------------------
/docs/public/android-chrome-192x192.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cube-js/cube/2b400028f7b70a1e48fd82bd20a767fa8a3b2259/docs/public/android-chrome-192x192.png


--------------------------------------------------------------------------------
/docs/public/android-chrome-512x512.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cube-js/cube/2b400028f7b70a1e48fd82bd20a767fa8a3b2259/docs/public/android-chrome-512x512.png


--------------------------------------------------------------------------------
/docs/public/apple-touch-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cube-js/cube/2b400028f7b70a1e48fd82bd20a767fa8a3b2259/docs/public/apple-touch-icon.png


--------------------------------------------------------------------------------
/docs/public/cube-scheme-dark.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cube-js/cube/2b400028f7b70a1e48fd82bd20a767fa8a3b2259/docs/public/cube-scheme-dark.png


--------------------------------------------------------------------------------
/docs/public/favicon-16x16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cube-js/cube/2b400028f7b70a1e48fd82bd20a767fa8a3b2259/docs/public/favicon-16x16.png


--------------------------------------------------------------------------------
/docs/public/favicon-32x32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cube-js/cube/2b400028f7b70a1e48fd82bd20a767fa8a3b2259/docs/public/favicon-32x32.png


--------------------------------------------------------------------------------
/docs/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cube-js/cube/2b400028f7b70a1e48fd82bd20a767fa8a3b2259/docs/public/favicon.ico


--------------------------------------------------------------------------------
/docs/public/mstile-150x150.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cube-js/cube/2b400028f7b70a1e48fd82bd20a767fa8a3b2259/docs/public/mstile-150x150.png


--------------------------------------------------------------------------------
/docs/scripts/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 |   "extends": "ts-node/node16/tsconfig.json",
3 |   "compilerOptions": {
4 | 
5 |   },
6 |   "include": ["./migrate-content.ts"]
7 | }
8 | 


--------------------------------------------------------------------------------
/docs/styles/images.css:
--------------------------------------------------------------------------------
1 | main > img,
2 | main > div > img {
3 |   margin: 1.5rem 0;
4 |   border-radius: 6px;
5 | }
6 | 


--------------------------------------------------------------------------------
/docs/styles/math.css:
--------------------------------------------------------------------------------
 1 | .math {
 2 |   background: rgba(122, 119, 255, 0.05);
 3 |   letter-spacing: 1px;
 4 |   margin: 24px 0;
 5 |   width: 100%;
 6 |   padding: 24px 0;
 7 |   border-radius: 3px;
 8 | }
 9 | 
10 | @media (max-width: 1023px) {
11 |   .katex-display > .katex {
12 |     white-space: normal;
13 |   }
14 | }
15 | 


--------------------------------------------------------------------------------
/docs/vercel-deploy-check.sh:
--------------------------------------------------------------------------------
 1 | #!/bin/sh
 2 | 
 3 | if [ "$VERCEL_GIT_REPO_OWNER" != "cube-js" ]; then
 4 |   echo "Skipping deploy for PR from a fork."
 5 |   exit 0
 6 | fi
 7 | 
 8 | # In other case return the usual git diff for a root folder
 9 | git diff HEAD^ HEAD --quiet ./
10 | 


--------------------------------------------------------------------------------
/docs/vercel.json:
--------------------------------------------------------------------------------
1 | {
2 |   "github": {
3 |     "silent": true
4 |   }
5 | }
6 | 


--------------------------------------------------------------------------------
/examples/.gitignore:
--------------------------------------------------------------------------------
1 | .cubestore
2 | 
3 | # Parcel-related
4 | .parcel-cache
5 | dist/
6 | 


--------------------------------------------------------------------------------
/examples/README.md:
--------------------------------------------------------------------------------
1 | Examples were moved to the separate repository: [cube-js/examples](https://github.com/cube-js/examples)
2 | 


--------------------------------------------------------------------------------
/examples/recipes/active-users/.env:
--------------------------------------------------------------------------------
1 | CUBEJS_DB_HOST=demo-db.cube.dev
2 | CUBEJS_DB_PORT=5432
3 | CUBEJS_DB_NAME=ecom
4 | CUBEJS_DB_USER=cube
5 | CUBEJS_DB_PASS=12345
6 | CUBEJS_DB_TYPE=postgres
7 | CUBEJS_API_SECRET=SECRET
8 | CUBEJS_DEV_MODE=true
9 | 


--------------------------------------------------------------------------------
/examples/recipes/active-users/cube.js:
--------------------------------------------------------------------------------
1 | module.exports = {};
2 | 


--------------------------------------------------------------------------------
/examples/recipes/changing-visibility-of-cubes-or-views/schema/TotalRevenuePerCustomer.js:
--------------------------------------------------------------------------------
 1 | view('TotalRevenuePerCustomer', {
 2 | 	description: `Total revenue per customer`,
 3 |   shown: COMPILE_CONTEXT.permissions['finance'],
 4 | 
 5 | 	includes: [
 6 | 		Orders.totalRevenue,
 7 | 		Users.company,
 8 | 	],
 9 | });
10 | 


--------------------------------------------------------------------------------
/examples/recipes/column-based-access/.env:
--------------------------------------------------------------------------------
1 | CUBEJS_DB_HOST=demo-db.cube.dev
2 | CUBEJS_DB_PORT=5432
3 | CUBEJS_DB_NAME=ecom
4 | CUBEJS_DB_USER=cube
5 | CUBEJS_DB_PASS=12345
6 | CUBEJS_DB_TYPE=postgres
7 | CUBEJS_API_SECRET=SECRET
8 | CUBEJS_DEV_MODE=true
9 | 


--------------------------------------------------------------------------------
/examples/recipes/column-based-access/queries/query.json:
--------------------------------------------------------------------------------
 1 | {
 2 |     "measures": [],
 3 |     "order": {
 4 |       "Suppliers.email": "asc"
 5 |     },
 6 |     "dimensions": [
 7 |       "Products.name"
 8 |     ]
 9 |   }
10 | 


--------------------------------------------------------------------------------
/examples/recipes/column-based-access/schema/Suppliers.js:
--------------------------------------------------------------------------------
 1 | cube(`Suppliers`, {
 2 |   sql: `SELECT * FROM public.suppliers`,
 3 | 
 4 |   dimensions: {
 5 |     id: {
 6 |       primaryKey: true,
 7 |       sql: `id`,
 8 |       type: `string`
 9 |     },
10 | 
11 |     email: {
12 |       sql: `email`,
13 |       type: `string`
14 |     }
15 |   }
16 | });
17 | 


--------------------------------------------------------------------------------
/examples/recipes/entity-attribute-value/.env:
--------------------------------------------------------------------------------
1 | CUBEJS_DB_HOST=demo-db.cube.dev
2 | CUBEJS_DB_PORT=5432
3 | CUBEJS_DB_NAME=ecom
4 | CUBEJS_DB_USER=cube
5 | CUBEJS_DB_PASS=12345
6 | CUBEJS_DB_TYPE=postgres
7 | CUBEJS_API_SECRET=SECRET
8 | CUBEJS_DEV_MODE=true


--------------------------------------------------------------------------------
/examples/recipes/entity-attribute-value/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM cubejs/cube:latest
2 | 
3 | COPY . .
4 | RUN npm install


--------------------------------------------------------------------------------
/examples/recipes/entity-attribute-value/cube.js:
--------------------------------------------------------------------------------
1 | module.exports = {};
2 | 


--------------------------------------------------------------------------------
/examples/recipes/entity-attribute-value/package.json:
--------------------------------------------------------------------------------
1 | {
2 |   "name": "entity-attribute-value",
3 |   "version": "1.0.0",
4 |   "dependencies": {
5 |     "pg": "^8.7.1"
6 |   },
7 |   "devDependencies": {}
8 | }
9 | 


--------------------------------------------------------------------------------
/examples/recipes/entity-attribute-value/queries/statuses.json:
--------------------------------------------------------------------------------
1 | {
2 |   "dimensions": [
3 |     "Orders.status"
4 |   ]
5 | }
6 | 


--------------------------------------------------------------------------------
/examples/recipes/getting-unique-values-for-a-field/.env:
--------------------------------------------------------------------------------
1 | CUBEJS_DB_HOST=demo-db.cube.dev
2 | CUBEJS_DB_PORT=5432
3 | CUBEJS_DB_NAME=ecom
4 | CUBEJS_DB_USER=cube
5 | CUBEJS_DB_PASS=12345
6 | CUBEJS_DB_TYPE=postgres
7 | CUBEJS_API_SECRET=SECRET
8 | CUBEJS_DEV_MODE=true


--------------------------------------------------------------------------------
/examples/recipes/getting-unique-values-for-a-field/cube.js:
--------------------------------------------------------------------------------
1 | module.exports = {};
2 | 


--------------------------------------------------------------------------------
/examples/recipes/getting-unique-values-for-a-field/queries/load.json:
--------------------------------------------------------------------------------
1 | {
2 |   "dimensions": ["Users.city"]
3 | }
4 | 


--------------------------------------------------------------------------------
/examples/recipes/getting-unique-values-for-a-field/schema/Users.js:
--------------------------------------------------------------------------------
 1 | cube(`Users`, {
 2 |   sql: `SELECT * FROM public.users`,
 3 | 
 4 |   dimensions: {
 5 |     city: {
 6 |       sql: `city`,
 7 |       type: `string`,
 8 |     },
 9 | 
10 |     state: {
11 |       sql: `state`,
12 |       type: `string`,
13 |     },
14 |   }
15 | });
16 | 


--------------------------------------------------------------------------------
/examples/recipes/joining-multiple-databases-data/.env:
--------------------------------------------------------------------------------
1 | CUBEJS_API_SECRET=SECRET
2 | CUBEJS_DEV_MODE=true
3 | 


--------------------------------------------------------------------------------
/examples/recipes/joining-multiple-databases-data/.gitignore:
--------------------------------------------------------------------------------
1 | .cubestore/
2 | node_modules/


--------------------------------------------------------------------------------
/examples/recipes/joining-multiple-datasources-data/.env:
--------------------------------------------------------------------------------
 1 | CUBEJS_CUBESTORE_HOST=cubestore
 2 | CUBEJS_DB_HOST=demo-db-recipes.cube.dev
 3 | CUBEJS_DB_PORT=5432
 4 | CUBEJS_DB_NAME=recipes
 5 | CUBEJS_DB_USER=cube
 6 | CUBEJS_DB_PASS=12345
 7 | CUBEJS_DB_TYPE=postgres
 8 | CUBEJS_API_SECRET=SECRET
 9 | CUBEJS_DEV_MODE=true
10 | 


--------------------------------------------------------------------------------
/examples/recipes/joining-multiple-datasources-data/queries/pre-agg-query.json:
--------------------------------------------------------------------------------
 1 | {
 2 |   "order": {
 3 |     "Products.name": "asc"
 4 |   },
 5 |   "dimensions": [
 6 |     "Products.name",
 7 |     "Suppliers.company",
 8 |     "Suppliers.email"
 9 |   ],
10 |   "limit": 3
11 | }
12 | 


--------------------------------------------------------------------------------
/examples/recipes/lambda-view/.gitignore:
--------------------------------------------------------------------------------
1 | .cubestore/
2 | node_modules/


--------------------------------------------------------------------------------
/examples/recipes/lambda-view/cube.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 |   orchestratorOptions: {
3 |     preAggregationsOptions: {
4 |       externalRefresh: false,
5 |     },
6 |   },
7 | };
8 | 


--------------------------------------------------------------------------------
/examples/recipes/mandatory-filters/.env:
--------------------------------------------------------------------------------
1 | CUBEJS_DB_HOST=demo-db.cube.dev
2 | CUBEJS_DB_PORT=5432
3 | CUBEJS_DB_NAME=ecom
4 | CUBEJS_DB_USER=cube
5 | CUBEJS_DB_PASS=12345
6 | CUBEJS_DB_TYPE=postgres
7 | CUBEJS_API_SECRET=SECRET
8 | CUBEJS_DEV_MODE=true


--------------------------------------------------------------------------------
/examples/recipes/mandatory-filters/cube.js:
--------------------------------------------------------------------------------
 1 | module.exports = {
 2 |   queryRewrite: (query) => {
 3 |       query.filters.push({
 4 |         member: `Orders.createdAt`,
 5 |         operator: 'afterDate',
 6 |         values: ['2019-12-30'],
 7 |       });
 8 | 
 9 |     return query;
10 |   },
11 | };
12 | 


--------------------------------------------------------------------------------
/examples/recipes/mandatory-filters/queries/completed-orders.json:
--------------------------------------------------------------------------------
 1 | {
 2 |   "order": [["Orders.createdAt", "asc"]],
 3 |   "dimensions": ["Orders.number", "Orders.createdAt"],
 4 |   "filters": [
 5 |     {
 6 |       "member": "Orders.status",
 7 |       "operator": "equals",
 8 |       "values": ["completed"]
 9 |     }
10 |   ],
11 |   "limit": 5
12 | }
13 | 


--------------------------------------------------------------------------------
/examples/recipes/mandatory-filters/queries/shipped-orders.json:
--------------------------------------------------------------------------------
 1 | {
 2 |   "order": [["Orders.createdAt", "asc"]],
 3 |   "dimensions": ["Orders.number", "Orders.createdAt"],
 4 |   "filters": [
 5 |     {
 6 |       "member": "Orders.status",
 7 |       "operator": "equals",
 8 |       "values": ["shipped"]
 9 |     }
10 |   ],
11 |   "limit": 5
12 | }
13 | 


--------------------------------------------------------------------------------
/examples/recipes/mandatory-filters/queries/users.json:
--------------------------------------------------------------------------------
 1 | {
 2 |     "measures": [],
 3 |     "order": [
 4 |       [
 5 |         "Users.createdAt",
 6 |         "asc"
 7 |       ]
 8 |     ],
 9 |     "dimensions": [
10 |       "Users.firstName",
11 |       "Users.lastName",
12 |       "Users.createdAt"
13 |     ],
14 |     "limit": 5
15 |   }
16 | 


--------------------------------------------------------------------------------
/examples/recipes/multiple-data-sources/.env:
--------------------------------------------------------------------------------
1 | CUBEJS_DB_HOST=demo-db.cube.dev
2 | CUBEJS_DB_PORT=5432
3 | CUBEJS_DB_NAME=ecom
4 | CUBEJS_DB_USER=cube
5 | CUBEJS_DB_PASS=12345
6 | CUBEJS_DB_TYPE=postgres
7 | CUBEJS_API_SECRET=SECRET
8 | CUBEJS_DEV_MODE=true
9 | 


--------------------------------------------------------------------------------
/examples/recipes/multiple-data-sources/queries/users.json:
--------------------------------------------------------------------------------
 1 | {
 2 |   "order": {
 3 |     "Users.id": "desc"
 4 |   },
 5 |   "dimensions": [
 6 |     "Users.id",
 7 |     "Users.name"
 8 |   ],
 9 |   "limit": 3
10 | }
11 | 


--------------------------------------------------------------------------------
/examples/recipes/non-additivity/.env:
--------------------------------------------------------------------------------
1 | CUBEJS_DB_HOST=demo-db.cube.dev
2 | CUBEJS_DB_PORT=5432
3 | CUBEJS_DB_NAME=ecom
4 | CUBEJS_DB_USER=cube
5 | CUBEJS_DB_PASS=12345
6 | CUBEJS_DB_TYPE=postgres
7 | CUBEJS_API_SECRET=SECRET
8 | CUBEJS_DEV_MODE=true


--------------------------------------------------------------------------------
/examples/recipes/non-additivity/cube.js:
--------------------------------------------------------------------------------
1 | module.exports = {};
2 | 


--------------------------------------------------------------------------------
/examples/recipes/non-additivity/queries/matching-non-additive.json:
--------------------------------------------------------------------------------
 1 | {
 2 |   "measures": [
 3 |     "Users.distinctAges",
 4 |     "Users.avgAge",
 5 |     "Users.p90Age"
 6 |   ],
 7 |   "dimensions": [
 8 |     "Users.gender"
 9 |   ]
10 | }


--------------------------------------------------------------------------------
/examples/recipes/non-additivity/queries/matching-refactored.json:
--------------------------------------------------------------------------------
1 | {
2 |   "measures": [
3 |     "UsersRefactored.avgAge"
4 |   ]
5 | }


--------------------------------------------------------------------------------
/examples/recipes/non-additivity/queries/non-matching-non-additive.json:
--------------------------------------------------------------------------------
1 | {
2 |   "measures": [
3 |     "Users.distinctAges",
4 |     "Users.avgAge",
5 |     "Users.p90Age"
6 |   ]
7 | }


--------------------------------------------------------------------------------
/examples/recipes/pagination/.env:
--------------------------------------------------------------------------------
1 | CUBEJS_DB_HOST=demo-db.cube.dev
2 | CUBEJS_DB_PORT=5432
3 | CUBEJS_DB_NAME=ecom
4 | CUBEJS_DB_USER=cube
5 | CUBEJS_DB_PASS=12345
6 | CUBEJS_DB_TYPE=postgres
7 | CUBEJS_API_SECRET=SECRET
8 | CUBEJS_DEV_MODE=true
9 | 


--------------------------------------------------------------------------------
/examples/recipes/pagination/cube.js:
--------------------------------------------------------------------------------
1 | module.exports = {};
2 | 


--------------------------------------------------------------------------------
/examples/recipes/pagination/queries/count.json:
--------------------------------------------------------------------------------
1 | {
2 |   "measures": ["Orders.count"]
3 | }
4 | 


--------------------------------------------------------------------------------
/examples/recipes/pagination/queries/first.json:
--------------------------------------------------------------------------------
1 | {
2 |   "order": {
3 |     "Orders.number": "asc"
4 |   },
5 |   "dimensions": ["Orders.number"],
6 |   "limit": 5
7 | }
8 | 


--------------------------------------------------------------------------------
/examples/recipes/pagination/queries/second.json:
--------------------------------------------------------------------------------
1 | {
2 |   "order": [["Orders.number", "asc"]],
3 |   "dimensions": ["Orders.number"],
4 |   "limit": 5,
5 |   "offset": 5
6 | }
7 | 


--------------------------------------------------------------------------------
/examples/recipes/passing-dynamic-parameters-in-query/cube.js:
--------------------------------------------------------------------------------
1 | module.exports = {};
2 | 


--------------------------------------------------------------------------------
/examples/recipes/percentiles/.env:
--------------------------------------------------------------------------------
1 | CUBEJS_DB_HOST=demo-db.cube.dev
2 | CUBEJS_DB_PORT=5432
3 | CUBEJS_DB_NAME=ecom
4 | CUBEJS_DB_USER=cube
5 | CUBEJS_DB_PASS=12345
6 | CUBEJS_DB_TYPE=postgres
7 | CUBEJS_API_SECRET=SECRET
8 | CUBEJS_DEV_MODE=true


--------------------------------------------------------------------------------
/examples/recipes/percentiles/cube.js:
--------------------------------------------------------------------------------
1 | module.exports = {};


--------------------------------------------------------------------------------
/examples/recipes/percentiles/queries/age.json:
--------------------------------------------------------------------------------
1 | {
2 |   "dimensions": [
3 |     "Users.name",
4 |     "Users.age"
5 |   ],
6 |   "limit": 5
7 | }


--------------------------------------------------------------------------------
/examples/recipes/percentiles/queries/stats.json:
--------------------------------------------------------------------------------
1 | {
2 |   "measures": [
3 |     "Users.avgAge",
4 |     "Users.medianAge",
5 |     "Users.p95Age"
6 |   ]
7 | }


--------------------------------------------------------------------------------
/examples/recipes/referencing-dynamic-measures/.env:
--------------------------------------------------------------------------------
1 | CUBEJS_DB_HOST=demo-db.cube.dev
2 | CUBEJS_DB_PORT=5432
3 | CUBEJS_DB_NAME=ecom
4 | CUBEJS_DB_USER=cube
5 | CUBEJS_DB_PASS=12345
6 | CUBEJS_DB_TYPE=postgres
7 | CUBEJS_API_SECRET=SECRET
8 | CUBEJS_DEV_MODE=true
9 | 


--------------------------------------------------------------------------------
/examples/recipes/referencing-dynamic-measures/cube.js:
--------------------------------------------------------------------------------
1 | module.exports = {};


--------------------------------------------------------------------------------
/examples/recipes/referencing-dynamic-measures/queries/percentage.json:
--------------------------------------------------------------------------------
1 | {
2 |   "measures": [
3 |     "Orders.Percentage_of_processing",
4 |     "Orders.Percentage_of_shipped",
5 |     "Orders.Percentage_of_completed"
6 |   ]
7 | }
8 | 


--------------------------------------------------------------------------------
/examples/recipes/refreshing-select-partitions/.env:
--------------------------------------------------------------------------------
 1 | CUBEJS_DB_HOST=postgres
 2 | CUBEJS_DB_PORT=5432
 3 | CUBEJS_DB_NAME=localDB
 4 | CUBEJS_DB_USER=postgres
 5 | CUBEJS_DB_PASS=example
 6 | CUBEJS_DB_TYPE=postgres
 7 | CUBEJS_API_SECRET=SECRET
 8 | CUBEJS_DEV_MODE=true
 9 | CUBEJS_CUBESTORE_HOST=cubestore
10 | CUBEJS_EXTERNAL_DEFAULT=true
11 | 


--------------------------------------------------------------------------------
/examples/recipes/refreshing-select-partitions/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM node:14-alpine
2 | 
3 | COPY . .
4 | RUN apk --no-cache add curl \
5 |     && npm install
6 | 


--------------------------------------------------------------------------------
/examples/recipes/refreshing-select-partitions/cube.js:
--------------------------------------------------------------------------------
1 | module.exports = {};
2 | 


--------------------------------------------------------------------------------
/examples/recipes/refreshing-select-partitions/data-updater/data-updater.sh:
--------------------------------------------------------------------------------
 1 | #!/bin/bash
 2 | 
 3 | host=cube
 4 | port=4000
 5 | readyzUrl=readyz
 6 | 
 7 | # Wait for the Cube API to become ready
 8 | until curl -s "$host":"$port"/"$readyzUrl" > /dev/null; do
 9 |   sleep 1
10 | done
11 | 
12 | sleep 5
13 | 
14 | node node/data-updater/data-updater.js
15 | 


--------------------------------------------------------------------------------
/examples/recipes/refreshing-select-partitions/package.json:
--------------------------------------------------------------------------------
1 | {
2 |   "name": "refreshing-select-partitions",
3 |   "version": "1.0.0",
4 |   "dependencies": {
5 |     "pg": "^8.7.1"
6 |   },
7 |   "devDependencies": {}
8 | }
9 | 


--------------------------------------------------------------------------------
/examples/recipes/refreshing-select-partitions/queries/orders.json:
--------------------------------------------------------------------------------
1 | {
2 |   "dimensions": [
3 |     "Orders.number",
4 |     "Orders.status",
5 |     "Orders.createdAt",
6 |     "Orders.updatedAt"
7 |   ]
8 | }
9 | 


--------------------------------------------------------------------------------
/examples/recipes/role-based-access/.env:
--------------------------------------------------------------------------------
1 | CUBEJS_DB_HOST=demo-db.cube.dev
2 | CUBEJS_DB_PORT=5432
3 | CUBEJS_DB_NAME=ecom
4 | CUBEJS_DB_USER=cube
5 | CUBEJS_DB_PASS=12345
6 | CUBEJS_DB_TYPE=postgres
7 | CUBEJS_API_SECRET=SECRET
8 | CUBEJS_DEV_MODE=true


--------------------------------------------------------------------------------
/examples/recipes/role-based-access/queries/query.json:
--------------------------------------------------------------------------------
 1 | {
 2 |     "dimensions": [
 3 |         "Orders.status"
 4 |     ],
 5 |     "order": {
 6 |         "Orders.count": "desc"
 7 |     },
 8 |     "measures": [
 9 |         "Orders.count"
10 |     ]
11 | }
12 | 


--------------------------------------------------------------------------------
/examples/recipes/role-based-access/schema/Orders.js:
--------------------------------------------------------------------------------
 1 | cube(`Orders`, {
 2 |   sql: `SELECT * FROM public.orders`,
 3 |   
 4 |   measures: {
 5 |     count: {
 6 |       type: `count`,
 7 |     }
 8 |   },
 9 |   
10 |   dimensions: {
11 |     status: {
12 |       sql: `status`,
13 |       type: `string`
14 |     }
15 |   }
16 | });
17 | 


--------------------------------------------------------------------------------
/examples/recipes/snapshots/.env:
--------------------------------------------------------------------------------
1 | CUBEJS_DB_HOST=demo-db.cube.dev
2 | CUBEJS_DB_PORT=5432
3 | CUBEJS_DB_NAME=ecom
4 | CUBEJS_DB_USER=cube
5 | CUBEJS_DB_PASS=12345
6 | CUBEJS_DB_TYPE=postgres
7 | CUBEJS_API_SECRET=SECRET
8 | CUBEJS_DEV_MODE=true


--------------------------------------------------------------------------------
/examples/recipes/snapshots/cube.js:
--------------------------------------------------------------------------------
1 | module.exports = {};


--------------------------------------------------------------------------------
/examples/recipes/snapshots/queries/statuses.json:
--------------------------------------------------------------------------------
 1 | {
 2 |   "dimensions": [
 3 |     "Statuses.orderId",
 4 |     "Statuses.status",
 5 |     "Statuses.changedAt"
 6 |   ],
 7 |   "order": {
 8 |     "Statuses.orderId": "asc"
 9 |   },
10 |   "limit": 6
11 | }


--------------------------------------------------------------------------------
/examples/recipes/using-different-schemas-for-tenants/.env:
--------------------------------------------------------------------------------
1 | CUBEJS_DB_HOST=demo-db-recipes.cube.dev
2 | CUBEJS_DB_PORT=5432
3 | CUBEJS_DB_NAME=recipes
4 | CUBEJS_DB_USER=cube
5 | CUBEJS_DB_PASS=12345
6 | CUBEJS_DB_TYPE=postgres
7 | CUBEJS_API_SECRET=SECRET
8 | CUBEJS_DEV_MODE=true
9 | 


--------------------------------------------------------------------------------
/examples/recipes/using-different-schemas-for-tenants/queries/query.json:
--------------------------------------------------------------------------------
 1 | {
 2 |     "dimensions": [
 3 |         "Products.id",
 4 |         "Products.name"
 5 |     ],
 6 |     "order": {
 7 |         "Orders.id": "asc"
 8 |     },
 9 |     "limit": 3
10 | }
11 | 


--------------------------------------------------------------------------------
/jest.setup.js:
--------------------------------------------------------------------------------
1 | const { webcrypto } = require('node:crypto');
2 | 
3 | if (!globalThis.crypto) {
4 |   globalThis.crypto = webcrypto;
5 | }
6 | 


--------------------------------------------------------------------------------
/lerna.json:
--------------------------------------------------------------------------------
 1 | {
 2 |   "version": "1.3.34",
 3 |   "npmClient": "yarn",
 4 |   "command": {
 5 |     "bootstrap": {
 6 |       "npmClient": "yarn",
 7 |       "npmClientArgs": ["--frozen-lockfile"]
 8 |     },
 9 |     "version": {
10 |       "allowBranch": ["master", "lts/*"]
11 |     }
12 |   },
13 |   "$schema": "node_modules/lerna/schemas/lerna-schema.json"
14 | }
15 | 


--------------------------------------------------------------------------------
/packages/cubejs-api-gateway/.eslintignore:
--------------------------------------------------------------------------------
1 | dist


--------------------------------------------------------------------------------
/packages/cubejs-api-gateway/.gitignore:
--------------------------------------------------------------------------------
1 | dist
2 | 


--------------------------------------------------------------------------------
/packages/cubejs-api-gateway/jest.config.js:
--------------------------------------------------------------------------------
1 | const base = require('../../jest.base.config');
2 | 
3 | /** @type {import('jest').Config} */
4 | module.exports = {
5 |   ...base,
6 |   rootDir: '.',
7 |   snapshotResolver: '<rootDir>/test/snapshotResolver.js',
8 | };
9 | 


--------------------------------------------------------------------------------
/packages/cubejs-api-gateway/src/CubejsHandlerError.ts:
--------------------------------------------------------------------------------
 1 | export class CubejsHandlerError extends Error {
 2 |   public constructor(
 3 |     public readonly status: number,
 4 |     public readonly type: string,
 5 |     message: string,
 6 |     public readonly originalError?: Error
 7 |   ) {
 8 |     super(message || type);
 9 |   }
10 | }
11 | 


--------------------------------------------------------------------------------
/packages/cubejs-api-gateway/src/UserError.ts:
--------------------------------------------------------------------------------
1 | import { CubejsHandlerError } from './CubejsHandlerError';
2 | 
3 | export class UserError extends CubejsHandlerError {
4 |   public constructor(message: string) {
5 |     super(400, 'User Error', message);
6 |   }
7 | }
8 | 


--------------------------------------------------------------------------------
/packages/cubejs-api-gateway/src/index.ts:
--------------------------------------------------------------------------------
1 | export * from './gateway';
2 | export * from './sql-server';
3 | export * from './interfaces';
4 | export * from './CubejsHandlerError';
5 | export * from './UserError';
6 | export { getRequestIdFromRequest } from './requestParser';
7 | export { TransformDataRequest } from './types/responses';
8 | 


--------------------------------------------------------------------------------
/packages/cubejs-api-gateway/tsconfig.json:
--------------------------------------------------------------------------------
 1 | {
 2 |   "extends": "../../tsconfig.base.json",
 3 |   "include": [
 4 |     "src/**/*",
 5 |     "test/**/*"
 6 |   ],
 7 |   "compilerOptions": {
 8 |     "outDir": "dist",
 9 |     "rootDir": ".",
10 |     "baseUrl": ".",
11 |     "allowJs": true,
12 |     "noImplicitAny": false,
13 |   },
14 | }
15 | 


--------------------------------------------------------------------------------
/packages/cubejs-athena-driver/.gitignore:
--------------------------------------------------------------------------------
1 | dist
2 | 


--------------------------------------------------------------------------------
/packages/cubejs-athena-driver/src/index.ts:
--------------------------------------------------------------------------------
1 | export * from './AthenaDriver';
2 | 


--------------------------------------------------------------------------------
/packages/cubejs-athena-driver/tsconfig.json:
--------------------------------------------------------------------------------
 1 | {
 2 |   "extends": "../../tsconfig.base.json",
 3 |   "include": [
 4 |     "src",
 5 |     "test"
 6 |   ],
 7 |   "compilerOptions": {
 8 |     "outDir": "dist",
 9 |     "rootDir": ".",
10 |     "baseUrl": ".",
11 |   }
12 | }
13 | 


--------------------------------------------------------------------------------
/packages/cubejs-backend-cloud/.gitignore:
--------------------------------------------------------------------------------
1 | storage
2 | dist
3 | test/.*
4 | 


--------------------------------------------------------------------------------
/packages/cubejs-backend-cloud/jest.config.js:
--------------------------------------------------------------------------------
1 | const base = require('../../jest.base.config');
2 | 
3 | /** @type {import('jest').Config} */
4 | module.exports = {
5 |   ...base,
6 |   rootDir: '.',
7 | };
8 | 


--------------------------------------------------------------------------------
/packages/cubejs-backend-cloud/src/index.ts:
--------------------------------------------------------------------------------
1 | export * from './cloud';
2 | export * from './config';
3 | export * from './deploy';
4 | export * from './live-preview';
5 | 


--------------------------------------------------------------------------------
/packages/cubejs-backend-cloud/test/cloud.test.ts:
--------------------------------------------------------------------------------
 1 | import { CubeCloudClient } from '../src/cloud';
 2 | 
 3 | test('CubeCloudClient: constuctor', async () => {
 4 |   const cubeCloudClient = new CubeCloudClient({
 5 |     auth: '',
 6 |     url: '',
 7 |     deploymentId: ''
 8 |   });
 9 |   expect(cubeCloudClient).not.toBeUndefined();
10 | });
11 | 


--------------------------------------------------------------------------------
/packages/cubejs-backend-maven/.gitignore:
--------------------------------------------------------------------------------
1 | storage
2 | dist
3 | download
4 | 


--------------------------------------------------------------------------------
/packages/cubejs-backend-maven/bin/maven-resolve:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env node
2 | 
3 | require('../dist/src/maven-resolve')
4 | 


--------------------------------------------------------------------------------
/packages/cubejs-backend-maven/jest.config.js:
--------------------------------------------------------------------------------
1 | const base = require('../../jest.base.config');
2 | 
3 | /** @type {import('jest').Config} */
4 | module.exports = {
5 |   ...base,
6 |   rootDir: '.',
7 | };
8 | 


--------------------------------------------------------------------------------
/packages/cubejs-backend-maven/src/index.ts:
--------------------------------------------------------------------------------
1 | export { getDependenciesFromPackage, resolveDependencies } from './maven';
2 | 


--------------------------------------------------------------------------------
/packages/cubejs-backend-maven/tsconfig.json:
--------------------------------------------------------------------------------
 1 | {
 2 |   "extends": "../../tsconfig.base.json",
 3 |   "include": [
 4 |     "src",
 5 |     "test"
 6 |   ],
 7 |   "compilerOptions": {
 8 |     "outDir": "dist",
 9 |     "rootDir": ".",
10 |     "baseUrl": ".",
11 |   }
12 | }
13 | 


--------------------------------------------------------------------------------
/packages/cubejs-backend-native/.cargo/config.toml:
--------------------------------------------------------------------------------
1 | # Please keep in sync this file with rust/cubesql!
2 | 


--------------------------------------------------------------------------------
/packages/cubejs-backend-native/.gitignore:
--------------------------------------------------------------------------------
1 | .idea
2 | dist
3 | build
4 | target
5 | index.node
6 | **/node_modules
7 | **/.DS_Store
8 | npm-debug.log
9 | 


--------------------------------------------------------------------------------
/packages/cubejs-backend-native/python/README.md:
--------------------------------------------------------------------------------
1 | pip install -i https://test.pypi.org/simple/ cube==0.0.1


--------------------------------------------------------------------------------
/packages/cubejs-backend-native/python/cube/.gitignore:
--------------------------------------------------------------------------------
1 | dist


--------------------------------------------------------------------------------
/packages/cubejs-backend-native/python/cube/README.md:
--------------------------------------------------------------------------------
1 | cube
2 | ====
3 | 


--------------------------------------------------------------------------------
/packages/cubejs-backend-native/python/cube/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cube-js/cube/2b400028f7b70a1e48fd82bd20a767fa8a3b2259/packages/cubejs-backend-native/python/cube/__init__.py


--------------------------------------------------------------------------------
/packages/cubejs-backend-native/rust-toolchain.toml:
--------------------------------------------------------------------------------
1 | [toolchain]
2 | channel = "1.84.1"
3 | components = ["rustfmt", "clippy"]
4 | profile = "minimal"
5 | 


--------------------------------------------------------------------------------
/packages/cubejs-backend-native/src/cross/mod.rs:
--------------------------------------------------------------------------------
 1 | mod clrepr;
 2 | #[cfg(feature = "python")]
 3 | mod clrepr_python;
 4 | #[cfg(feature = "python")]
 5 | mod py_in_js;
 6 | 
 7 | pub use clrepr::{CLRepr, CLReprKind, CLReprObject, CLReprObjectKind, StringType};
 8 | 
 9 | #[cfg(feature = "python")]
10 | pub use clrepr_python::PythonRef;
11 | 


--------------------------------------------------------------------------------
/packages/cubejs-backend-native/src/gateway/handlers/mod.rs:
--------------------------------------------------------------------------------
1 | mod stream;
2 | 
3 | pub use stream::*;
4 | 


--------------------------------------------------------------------------------
/packages/cubejs-backend-native/src/template/mod.rs:
--------------------------------------------------------------------------------
1 | #[cfg(feature = "python")]
2 | mod engine_python;
3 | mod entry;
4 | mod mj_value;
5 | mod neon_mj;
6 | mod workers;
7 | 
8 | pub use entry::template_register_module;
9 | 


--------------------------------------------------------------------------------
/packages/cubejs-backend-native/test/fixtures/schema-tenant-1/test.yml:
--------------------------------------------------------------------------------
1 | cubes:
2 |   - name: cube_01
3 |     sql_table: 'kek'
4 | 


--------------------------------------------------------------------------------
/packages/cubejs-backend-native/test/setup/extend-expect.d.ts:
--------------------------------------------------------------------------------
1 | declare namespace jest {
2 |   interface Expect {
3 |     toBeTypeOrNull: any
4 |   }
5 |   interface Matchers<R, _T = {}> {
6 |     toBeTypeOrNull(expected: any): R;
7 |   }
8 | }
9 | 


--------------------------------------------------------------------------------
/packages/cubejs-backend-native/test/subdir_for_test/meta.py:
--------------------------------------------------------------------------------
1 | # Separate file module for testing python imports
2 | 
3 | # Simple test function
4 | def test_meta_function(query: dict) -> dict:
5 |   return query
6 | 
7 | def main_question() -> str:
8 |   return "Why?"
9 | 


--------------------------------------------------------------------------------
/packages/cubejs-backend-native/test/templates/.utils.jinja:
--------------------------------------------------------------------------------
1 | {%- macro markup(column1, column2) -%}
2 |   (({{column1}} - {{column2}}) / {{column2}})
3 | {%- endmacro -%}
4 | 
5 | {% macro escape_single_quotes(expression) -%}
6 | {{ expression | replace("'", "''") | safe }}
7 | {%- endmacro %}
8 | 


--------------------------------------------------------------------------------
/packages/cubejs-backend-native/test/templates/08.yml.jinja:
--------------------------------------------------------------------------------
1 | { cubes:
2 |   - name: cube_08
3 |     sql_table: public.orders
4 |     data_source: {{ 'bigquery' if env_var('NODE_ENV') == 'prod' else 'postgres' }} }


--------------------------------------------------------------------------------
/packages/cubejs-backend-native/test/templates/class-model.yml.jinja:
--------------------------------------------------------------------------------
1 | {%- set mdl  = load_class_model() -%}
2 | 
3 | cubes:
4 |   - name: {{ mdl.get_name_method() }}
5 |     title: {{ mdl.title }}


--------------------------------------------------------------------------------
/packages/cubejs-backend-native/test/templates/filters.yml.jinja:
--------------------------------------------------------------------------------
1 | variables:
2 |   str_filter: {{ "my string" | str_filter }}
3 |   str_filter_test_arg: {{ "my string" | filter_return_arg }}
4 | 


--------------------------------------------------------------------------------
/packages/cubejs-backend-native/test/templates/template_error_python.jinja:
--------------------------------------------------------------------------------
 1 | 1
 2 | 2
 3 | 3
 4 | 4
 5 | 5
 6 | {%- set variable = throw_exception() %}
 7 | 7
 8 | 8
 9 | 9
10 | 10
11 | 11
12 | 


--------------------------------------------------------------------------------
/packages/cubejs-backend-native/test/templates/template_error_syntax.jinja:
--------------------------------------------------------------------------------
 1 | 1
 2 | 2
 3 | 3
 4 | 4
 5 | 5
 6 | {%- set countries = ["au", "us"] %}
 7 | 7
 8 | {%- for country in countries %}
 9 | 9
10 | {%- unexpected_block_name %}
11 | 11
12 | 12
13 | 13
14 | 14
15 | 15
16 | 


--------------------------------------------------------------------------------
/packages/cubejs-backend-native/test/templates/variables.yml.jinja:
--------------------------------------------------------------------------------
1 | variables:
2 |   var1: {{ var1 }}
3 |   var2: {{ var2 }}
4 |   var3: {{ var3 }}
5 |   var4: {{ var4 }}
6 |   var5: {{ var5 }}
7 |   var6: {{ var6 }}
8 |   var7: {{ var7 }}


--------------------------------------------------------------------------------
/packages/cubejs-backend-native/test/utils.py:
--------------------------------------------------------------------------------
1 | # Separate file module for testing python imports
2 | 
3 | # Simple test function
4 | def test_function(query: dict) -> dict:
5 |   return query
6 | 
7 | def answer_to_main_question() -> str:
8 |   return "42"
9 | 


--------------------------------------------------------------------------------
/packages/cubejs-backend-native/tsconfig.json:
--------------------------------------------------------------------------------
 1 | {
 2 |   "extends": "../../tsconfig.base.json",
 3 |   "include": [
 4 |     "js",
 5 |     "test"
 6 |   ],
 7 |   "exclude": [
 8 |     "test/snapshotResolver.js"
 9 |   ],
10 |   "compilerOptions": {
11 |     "outDir": "dist",
12 |     "rootDir": ".",
13 |     "baseUrl": ".",
14 |     "allowJs": true,
15 |   }
16 | }
17 | 


--------------------------------------------------------------------------------
/packages/cubejs-backend-shared/.gitignore:
--------------------------------------------------------------------------------
1 | storage
2 | dist
3 | 


--------------------------------------------------------------------------------
/packages/cubejs-backend-shared/jest.config.js:
--------------------------------------------------------------------------------
1 | const base = require('../../jest.base.config');
2 | 
3 | /** @type {import('jest').Config} */
4 | module.exports = {
5 |   ...base,
6 |   rootDir: '.',
7 | };
8 | 


--------------------------------------------------------------------------------
/packages/cubejs-backend-shared/src/errors.ts:
--------------------------------------------------------------------------------
 1 | import { getEnv } from './env';
 2 | 
 3 | export function internalExceptions(e: Error) {
 4 |   const env = getEnv('internalExceptions');
 5 | 
 6 |   if (env !== 'false') {
 7 |     console.error(e);
 8 |   }
 9 | 
10 |   if (env === 'exit') {
11 |     process.exit(1);
12 |   }
13 | }
14 | 


--------------------------------------------------------------------------------
/packages/cubejs-backend-shared/tsconfig.json:
--------------------------------------------------------------------------------
 1 | {
 2 |   "extends": "../../tsconfig.base.json",
 3 |   "include": [
 4 |     "src",
 5 |     "test"
 6 |   ],
 7 |   "compilerOptions": {
 8 |     "outDir": "dist",
 9 |     "rootDir": ".",
10 |     "baseUrl": ".",
11 |   }
12 | }
13 | 


--------------------------------------------------------------------------------
/packages/cubejs-base-driver/.gitignore:
--------------------------------------------------------------------------------
1 | dist
2 | 


--------------------------------------------------------------------------------
/packages/cubejs-base-driver/jest.config.js:
--------------------------------------------------------------------------------
1 | const base = require('../../jest.base.config');
2 | 
3 | /** @type {import('jest').Config} */
4 | module.exports = {
5 |   ...base,
6 |   rootDir: '.',
7 | };
8 | 


--------------------------------------------------------------------------------
/packages/cubejs-base-driver/src/index.ts:
--------------------------------------------------------------------------------
1 | export * from './BaseDriver';
2 | export * from './utils';
3 | export * from './driver.interface';
4 | export * from './queue-driver.interface';
5 | export * from './cache-driver.interface';
6 | 


--------------------------------------------------------------------------------
/packages/cubejs-base-driver/tsconfig.json:
--------------------------------------------------------------------------------
 1 | {
 2 |   "extends": "../../tsconfig.base.json",
 3 |   "include": [
 4 |     "src",
 5 |     "test"
 6 |   ],
 7 |   "compilerOptions": {
 8 |     "outDir": "dist",
 9 |     "rootDir": ".",
10 |     "baseUrl": ".",
11 |     "allowJs": true
12 |   },
13 | }
14 | 


--------------------------------------------------------------------------------
/packages/cubejs-bigquery-driver/.gitignore:
--------------------------------------------------------------------------------
1 | dist
2 | 


--------------------------------------------------------------------------------
/packages/cubejs-bigquery-driver/jest.config.js:
--------------------------------------------------------------------------------
1 | const base = require('../../jest.base.config');
2 | 
3 | /** @type {import('jest').Config} */
4 | module.exports = {
5 |   ...base,
6 |   rootDir: '.',
7 | };
8 | 


--------------------------------------------------------------------------------
/packages/cubejs-bigquery-driver/src/index.ts:
--------------------------------------------------------------------------------
1 | export * from './BigQueryDriver';
2 | 


--------------------------------------------------------------------------------
/packages/cubejs-bigquery-driver/tsconfig.json:
--------------------------------------------------------------------------------
 1 | {
 2 |   "extends": "../../tsconfig.base.json",
 3 |   "include": [
 4 |     "src",
 5 |     "test"
 6 |   ],
 7 |   "compilerOptions": {
 8 |     "outDir": "dist",
 9 |     "rootDir": ".",
10 |     "baseUrl": ".",
11 |   }
12 | }
13 | 


--------------------------------------------------------------------------------
/packages/cubejs-cli/.gitignore:
--------------------------------------------------------------------------------
1 | dist
2 | node_modules
3 | 


--------------------------------------------------------------------------------
/packages/cubejs-cli/jest.config.js:
--------------------------------------------------------------------------------
1 | const base = require('../../jest.base.config');
2 | 
3 | /** @type {import('jest').Config} */
4 | module.exports = {
5 |   ...base,
6 |   rootDir: '.',
7 | };
8 | 


--------------------------------------------------------------------------------
/packages/cubejs-cli/src/index.ts:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env node
2 | 
3 | import 'source-map-support/register';
4 | 
5 | require('@cubejs-backend/shared/dist/src/node-check');
6 | 
7 | require('./cli');
8 | 


--------------------------------------------------------------------------------
/packages/cubejs-cli/test/utils.test.ts:
--------------------------------------------------------------------------------
1 | import { findMaxVersion } from '../src/utils';
2 | 
3 | test('findMaxVersion', () => {
4 |   expect(findMaxVersion(['0.21.2', '0.22.3']).version).toBe('0.22.3');
5 |   expect(findMaxVersion(['0.22.3', '0.21.2']).version).toBe('0.22.3');
6 | });
7 | 


--------------------------------------------------------------------------------
/packages/cubejs-clickhouse-driver/.gitignore:
--------------------------------------------------------------------------------
1 | dist
2 | 


--------------------------------------------------------------------------------
/packages/cubejs-clickhouse-driver/jest.config.js:
--------------------------------------------------------------------------------
1 | const base = require('../../jest.base.config');
2 | 
3 | /** @type {import('jest').Config} */
4 | module.exports = {
5 |   ...base,
6 |   rootDir: '.',
7 | };
8 | 


--------------------------------------------------------------------------------
/packages/cubejs-clickhouse-driver/src/index.ts:
--------------------------------------------------------------------------------
1 | import { ClickHouseDriver } from './ClickHouseDriver';
2 | 
3 | export * from './ClickHouseDriver';
4 | 
5 | export default ClickHouseDriver;
6 | 


--------------------------------------------------------------------------------
/packages/cubejs-clickhouse-driver/tsconfig.json:
--------------------------------------------------------------------------------
 1 | {
 2 |   "extends": "../../tsconfig.base.json",
 3 |   "include": [
 4 |     "src",
 5 |     "test"
 6 |   ],
 7 |   "compilerOptions": {
 8 |     "allowJs": true,
 9 |     "outDir": "dist",
10 |     "rootDir": ".",
11 |     "baseUrl": ".",
12 |   }
13 | }
14 | 


--------------------------------------------------------------------------------
/packages/cubejs-client-core/.gitignore:
--------------------------------------------------------------------------------
1 | dist/
2 | e2e.js


--------------------------------------------------------------------------------
/packages/cubejs-client-core/index.d.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cube-js/cube/2b400028f7b70a1e48fd82bd20a767fa8a3b2259/packages/cubejs-client-core/index.d.ts


--------------------------------------------------------------------------------
/packages/cubejs-client-core/jest.config.js:
--------------------------------------------------------------------------------
 1 | const base = require('../../jest.base-ts.config');
 2 | 
 3 | /** @type {import('jest').Config} */
 4 | module.exports = {
 5 |   ...base,
 6 |   rootDir: '.',
 7 |   collectCoverageFrom: [
 8 |     ...base.collectCoverageFrom,
 9 |     '!<rootDir>/src/index.umd.ts',
10 |   ],
11 | };
12 | 


--------------------------------------------------------------------------------
/packages/cubejs-client-core/src/RequestError.ts:
--------------------------------------------------------------------------------
 1 | export default class RequestError extends Error {
 2 |   public response: any;
 3 | 
 4 |   public status: number;
 5 | 
 6 |   public constructor(message: string, response: any, status: number) {
 7 |     super(message);
 8 |     this.response = response;
 9 |     this.status = status;
10 |   }
11 | }
12 | 


--------------------------------------------------------------------------------
/packages/cubejs-client-core/src/index.umd.ts:
--------------------------------------------------------------------------------
 1 | import cube, * as clientCoreExports from './index';
 2 | 
 3 | const cubeAll: any = cube;
 4 | 
 5 | Object.keys(clientCoreExports).forEach((key) => {
 6 |   cubeAll[key] = (clientCoreExports as Record<string, any>)[key];
 7 | });
 8 | 
 9 | export default cubeAll;
10 | 


--------------------------------------------------------------------------------
/packages/cubejs-client-dx/.gitignore:
--------------------------------------------------------------------------------
1 | dist/
2 | generated.d.ts
3 | 


--------------------------------------------------------------------------------
/packages/cubejs-client-dx/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 |   presets: [
3 |     [
4 |       '@babel/preset-env',
5 |       { },
6 |     ]
7 |   ]
8 | };
9 | 


--------------------------------------------------------------------------------
/packages/cubejs-client-dx/generated.d.ts:
--------------------------------------------------------------------------------
1 | // DO NOT MANUALLY EDIT - THIS FILE IS AUTOMATICALLY GENERATED
2 | 
3 | export type IntrospectedMeasureName = string;
4 | export type IntrospectedDimensionName = string;
5 | export type IntrospectedTimeDimensionName = string;
6 | export type IntrospectedSegmentName = string;
7 | 


--------------------------------------------------------------------------------
/packages/cubejs-client-dx/jest.config.js:
--------------------------------------------------------------------------------
 1 | const base = require('../../jest.base.config');
 2 | 
 3 | /** @type {import('jest').Config} */
 4 | module.exports = {
 5 |   ...base,
 6 |   rootDir: '.',
 7 |   transform: {
 8 |     '^.+\\.js
#39;: 'babel-jest',
 9 |   },
10 | };
11 | 


--------------------------------------------------------------------------------
/packages/cubejs-client-dx/src/index.js:
--------------------------------------------------------------------------------
1 | module.exports = {};
2 | 


--------------------------------------------------------------------------------
/packages/cubejs-client-dx/src/index.mjs:
--------------------------------------------------------------------------------
1 | export default {};
2 | 


--------------------------------------------------------------------------------
/packages/cubejs-client-ngx/.gitignore:
--------------------------------------------------------------------------------
1 | dist/
2 | .yalc/
3 | yalc.lock
4 | .angular/
5 | 


--------------------------------------------------------------------------------
/packages/cubejs-client-ngx/index.ts:
--------------------------------------------------------------------------------
1 | // This file is not used to build this module. It is only used during editing
2 | // by the TypeScript language service and during build for verification. `ngc`
3 | // replaces this file with production index.ts when it rewrites private symbol
4 | // names.
5 | 
6 | export * from './src/public_api';


--------------------------------------------------------------------------------
/packages/cubejs-client-ngx/ng-package.json:
--------------------------------------------------------------------------------
 1 | {
 2 |   "$schema": "./node_modules/ng-packagr/ng-package.schema.json",
 3 |   "dest": "./dist",
 4 |   "lib": {
 5 |     "entryFile": "index.ts"
 6 |   },
 7 |   "allowedNonPeerDependencies": [
 8 |     "@cubejs-client/core",
 9 |     "fast-deep-equal"
10 |   ]
11 | }
12 | 


--------------------------------------------------------------------------------
/packages/cubejs-client-ngx/src/query-builder/chart-type.ts:
--------------------------------------------------------------------------------
 1 | import { StateSubject } from './common';
 2 | 
 3 | export type TChartType = 'line' | 'area' | 'bar' | 'number' | 'table' | 'pie';
 4 | 
 5 | export class ChartType extends StateSubject<TChartType> {
 6 |   constructor(value) {
 7 |     super(value);
 8 |   }
 9 | }
10 | 


--------------------------------------------------------------------------------
/packages/cubejs-client-ngx/tsconfig.prod.json:
--------------------------------------------------------------------------------
 1 | {
 2 |   "extends": "./tsconfig.json",
 3 |   "compilerOptions": {
 4 |     "declarationMap": false
 5 |   },
 6 |   "angularCompilerOptions": {
 7 |     "compilationMode": "partial"
 8 |   }
 9 | }
10 | 


--------------------------------------------------------------------------------
/packages/cubejs-client-react/.gitignore:
--------------------------------------------------------------------------------
1 | dist/


--------------------------------------------------------------------------------
/packages/cubejs-client-react/src/CubeContext.js:
--------------------------------------------------------------------------------
1 | import { createContext } from 'react';
2 | 
3 | export default createContext(null);
4 | 


--------------------------------------------------------------------------------
/packages/cubejs-client-react/src/hooks/cube-meta.js:
--------------------------------------------------------------------------------
1 | import { useCubeFetch } from './cube-fetch';
2 | 
3 | export function useCubeMeta(options = {}) {
4 |   return useCubeFetch('meta', options);
5 | }
6 | 


--------------------------------------------------------------------------------
/packages/cubejs-client-react/src/hooks/cube-sql.js:
--------------------------------------------------------------------------------
1 | import { useCubeFetch } from './cube-fetch';
2 | 
3 | export function useCubeSql(query, options = {}) {
4 |   return useCubeFetch('sql', {
5 |     ...options,
6 |     query
7 |   });
8 | }
9 | 


--------------------------------------------------------------------------------
/packages/cubejs-client-react/src/hooks/deep-compare-memoize.js:
--------------------------------------------------------------------------------
 1 | import { useRef } from 'react';
 2 | import { equals } from 'ramda';
 3 | 
 4 | export default function useDeepCompareMemoize(value) {
 5 |   const ref = useRef([]);
 6 | 
 7 |   if (!equals(value, ref.current)) {
 8 |     ref.current = value;
 9 |   }
10 | 
11 |   return ref.current;
12 | }
13 | 


--------------------------------------------------------------------------------
/packages/cubejs-client-react/src/hooks/dry-run.js:
--------------------------------------------------------------------------------
1 | import { useCubeFetch } from './cube-fetch';
2 | 
3 | export function useDryRun(query, options = {}) {
4 |   return useCubeFetch('dryRun', {
5 |     ...options,
6 |     query,
7 |   });
8 | }
9 | 


--------------------------------------------------------------------------------
/packages/cubejs-client-react/src/hooks/lazy-dry-run.js:
--------------------------------------------------------------------------------
 1 | import { useCubeFetch } from './cube-fetch';
 2 | 
 3 | export function useLazyDryRun(query, options = {}) {
 4 |   const { refetch, ...result } = useCubeFetch('dryRun', {
 5 |     ...options,
 6 |     query,
 7 |     skip: true
 8 |   });
 9 | 
10 |   return [refetch, result];
11 | }
12 | 


--------------------------------------------------------------------------------
/packages/cubejs-client-vue/.gitignore:
--------------------------------------------------------------------------------
 1 | .DS_Store
 2 | node_modules
 3 | 
 4 | # local env files
 5 | .env.local
 6 | .env.*.local
 7 | 
 8 | # Log files
 9 | npm-debug.log*
10 | yarn-debug.log*
11 | yarn-error.log*
12 | 
13 | # Editor directories and files
14 | .idea
15 | .vscode
16 | *.suo
17 | *.ntvs*
18 | *.njsproj
19 | *.sln
20 | *.sw*
21 | dist/


--------------------------------------------------------------------------------
/packages/cubejs-client-vue/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 |   presets: ['@vue/app'],
3 |   plugins: ['@babel/plugin-proposal-optional-chaining'],
4 | };
5 | 


--------------------------------------------------------------------------------
/packages/cubejs-client-vue/src/index.js:
--------------------------------------------------------------------------------
1 | import { GRANULARITIES } from '@cubejs-client/core';
2 | 
3 | import QueryRenderer from './QueryRenderer';
4 | import QueryBuilder from './QueryBuilder';
5 | 
6 | export { QueryRenderer, QueryBuilder, GRANULARITIES };
7 | 
8 | export default {};
9 | 


--------------------------------------------------------------------------------
/packages/cubejs-client-vue/tests/unit/.eslintrc.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 |   env: {
3 |     jest: true
4 |   }
5 | }


--------------------------------------------------------------------------------
/packages/cubejs-client-vue/tests/unit/utils.js:
--------------------------------------------------------------------------------
1 | import cubejsApi from '@cubejs-client/core';
2 | 
3 | export function createCubeApi() {
4 |   return cubejsApi('token', {
5 |     apiUrl: 'http://localhost:4000'
6 |   });
7 | }
8 | 


--------------------------------------------------------------------------------
/packages/cubejs-client-vue3/.gitignore:
--------------------------------------------------------------------------------
 1 | .DS_Store
 2 | node_modules
 3 | 
 4 | # local env files
 5 | .env.local
 6 | .env.*.local
 7 | 
 8 | # Log files
 9 | npm-debug.log*
10 | yarn-debug.log*
11 | yarn-error.log*
12 | 
13 | # Editor directories and files
14 | .idea
15 | .vscode
16 | *.suo
17 | *.ntvs*
18 | *.njsproj
19 | *.sln
20 | *.sw*
21 | dist/


--------------------------------------------------------------------------------
/packages/cubejs-client-vue3/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 |   presets: ['@vue/app'],
3 |   plugins: ['@babel/plugin-proposal-optional-chaining'],
4 | };
5 | 


--------------------------------------------------------------------------------
/packages/cubejs-client-vue3/src/index.js:
--------------------------------------------------------------------------------
1 | import { GRANULARITIES } from '@cubejs-client/core';
2 | 
3 | import QueryRenderer from './QueryRenderer';
4 | import QueryBuilder from './QueryBuilder';
5 | 
6 | export { QueryRenderer, QueryBuilder, GRANULARITIES };
7 | 
8 | export default {};
9 | 


--------------------------------------------------------------------------------
/packages/cubejs-client-vue3/tests/unit/.eslintrc.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 |   env: {
3 |     jest: true
4 |   }
5 | }


--------------------------------------------------------------------------------
/packages/cubejs-client-vue3/tests/unit/utils.js:
--------------------------------------------------------------------------------
1 | import cubeApi from '@cubejs-client/core';
2 | 
3 | export function createCubeApi() {
4 |   return cubeApi('token', {
5 |     apiUrl: 'http://localhost:4000'
6 |   });
7 | }
8 | 


--------------------------------------------------------------------------------
/packages/cubejs-client-ws-transport/.gitignore:
--------------------------------------------------------------------------------
1 | dist/
2 | temp/
3 | 


--------------------------------------------------------------------------------
/packages/cubejs-crate-driver/.gitignore:
--------------------------------------------------------------------------------
1 | dist
2 | 


--------------------------------------------------------------------------------
/packages/cubejs-crate-driver/src/index.ts:
--------------------------------------------------------------------------------
1 | import { CrateDriver } from './CrateDriver';
2 | 
3 | export * from './CrateDriver';
4 | 
5 | export default CrateDriver;
6 | 


--------------------------------------------------------------------------------
/packages/cubejs-crate-driver/tsconfig.json:
--------------------------------------------------------------------------------
 1 | {
 2 |   "extends": "../../tsconfig.base.json",
 3 |   "include": [
 4 |     "src",
 5 |     "test"
 6 |   ],
 7 |   "compilerOptions": {
 8 |     "outDir": "dist",
 9 |     "rootDir": ".",
10 |     "baseUrl": ".",
11 |   }
12 | }
13 | 


--------------------------------------------------------------------------------
/packages/cubejs-cubestore-driver/.gitignore:
--------------------------------------------------------------------------------
1 | dist
2 | 


--------------------------------------------------------------------------------
/packages/cubejs-cubestore-driver/codegen/generate.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | 
3 | flatc --ts ../../../rust/cubestore/cubestore/src/codegen/http_message.fbs --ts-flat-files
4 | mv http_message.ts index.ts
5 | 


--------------------------------------------------------------------------------
/packages/cubejs-cubestore-driver/jest.config.js:
--------------------------------------------------------------------------------
 1 | const base = require('../../jest.base.config');
 2 | 
 3 | /** @type {import('jest').Config} */
 4 | module.exports = {
 5 |   ...base,
 6 |   rootDir: '.',
 7 |   testMatch: [
 8 |     '<rootDir>/dist/test/*.(test|spec).(ts|js)'
 9 |   ],
10 | };
11 | 


--------------------------------------------------------------------------------
/packages/cubejs-cubestore-driver/src/rexport.ts:
--------------------------------------------------------------------------------
1 | export { isCubeStoreSupported, CubeStoreHandler } from '@cubejs-backend/cubestore';
2 | 


--------------------------------------------------------------------------------
/packages/cubejs-cubestore-driver/tsconfig.json:
--------------------------------------------------------------------------------
 1 | {
 2 |   "extends": "../../tsconfig.base.json",
 3 |   "include": [
 4 |     "src",
 5 |     "codegen",
 6 |     "test"
 7 |   ],
 8 |   "compilerOptions": {
 9 |     "noImplicitAny": false,
10 |     "outDir": "dist",
11 |     "rootDir": ".",
12 |     "baseUrl": ".",
13 |   }
14 | }
15 | 


--------------------------------------------------------------------------------
/packages/cubejs-databricks-jdbc-driver/.gitignore:
--------------------------------------------------------------------------------
1 | download
2 | dist
3 | 


--------------------------------------------------------------------------------
/packages/cubejs-databricks-jdbc-driver/jest.config.js:
--------------------------------------------------------------------------------
1 | const base = require('../../jest.base.config');
2 | 
3 | /** @type {import('jest').Config} */
4 | module.exports = {
5 |   ...base,
6 |   rootDir: '.',
7 | };
8 | 


--------------------------------------------------------------------------------
/packages/cubejs-databricks-jdbc-driver/src/index.ts:
--------------------------------------------------------------------------------
1 | import { DatabricksDriver } from './DatabricksDriver';
2 | 
3 | export default DatabricksDriver;
4 | export { DatabricksDriver };
5 | 


--------------------------------------------------------------------------------
/packages/cubejs-databricks-jdbc-driver/tsconfig.json:
--------------------------------------------------------------------------------
 1 | {
 2 |   "extends": "../../tsconfig.base.json",
 3 |   "include": [
 4 |     "src",
 5 |     "test"
 6 |   ],
 7 |   "compilerOptions": {
 8 |     "outDir": "dist",
 9 |     "rootDir": ".",
10 |     "baseUrl": "."
11 |   }
12 | }
13 | 


--------------------------------------------------------------------------------
/packages/cubejs-dbt-schema-extension/.gitignore:
--------------------------------------------------------------------------------
1 | dist
2 | 


--------------------------------------------------------------------------------
/packages/cubejs-dbt-schema-extension/index.js:
--------------------------------------------------------------------------------
1 | const { Dbt } = require('./dist/src/Dbt');
2 | 
3 | module.exports = Dbt;
4 | 


--------------------------------------------------------------------------------
/packages/cubejs-dbt-schema-extension/jest.config.js:
--------------------------------------------------------------------------------
1 | const base = require('../../jest.base.config');
2 | 
3 | /** @type {import('jest').Config} */
4 | module.exports = {
5 |   ...base,
6 |   rootDir: '.',
7 | };
8 | 


--------------------------------------------------------------------------------
/packages/cubejs-dbt-schema-extension/tsconfig.json:
--------------------------------------------------------------------------------
 1 | {
 2 |   "extends": "../../tsconfig.base.json",
 3 |   "include": [
 4 |     "src",
 5 |     "test"
 6 |   ],
 7 |   "compilerOptions": {
 8 |     "outDir": "dist",
 9 |     "rootDir": ".",
10 |     "baseUrl": ".",
11 |   }
12 | }
13 | 


--------------------------------------------------------------------------------
/packages/cubejs-docker/.dockerignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | 


--------------------------------------------------------------------------------
/packages/cubejs-docker/.gitignore:
--------------------------------------------------------------------------------
1 | dist
2 | 


--------------------------------------------------------------------------------
/packages/cubejs-docker/bin/cubejs-dev:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env node
2 | 
3 | require('/cubejs/packages/cubejs-cli/dist/src/index.js');
4 | 


--------------------------------------------------------------------------------
/packages/cubejs-docker/bin/cubestore-dev:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env node
2 | 
3 | require('/cubejs/rust/dist/cubestore-bin.js');
4 | 


--------------------------------------------------------------------------------
/packages/cubejs-dremio-driver/.gitignore:
--------------------------------------------------------------------------------
1 | dist


--------------------------------------------------------------------------------
/packages/cubejs-dremio-driver/tsconfig.json:
--------------------------------------------------------------------------------
 1 | {
 2 |   "extends": "../../tsconfig.base.json",
 3 |   "include": [
 4 |     "src",
 5 |     "test"
 6 |   ],
 7 |   "compilerOptions": {
 8 |     "outDir": "dist",
 9 |     "rootDir": ".",
10 |     "baseUrl": ".",
11 |     "resolveJsonModule": true
12 |   }
13 | }
14 | 


--------------------------------------------------------------------------------
/packages/cubejs-druid-driver/.gitignore:
--------------------------------------------------------------------------------
1 | storage
2 | dist
3 | 


--------------------------------------------------------------------------------
/packages/cubejs-druid-driver/src/index.ts:
--------------------------------------------------------------------------------
1 | import { DruidDriver } from './DruidDriver';
2 | 
3 | export default DruidDriver;
4 | 


--------------------------------------------------------------------------------
/packages/cubejs-druid-driver/tsconfig.json:
--------------------------------------------------------------------------------
 1 | {
 2 |   "extends": "../../tsconfig.base.json",
 3 |   "include": [
 4 |     "src",
 5 |     "test"
 6 |   ],
 7 |   "compilerOptions": {
 8 |     "noImplicitAny": false,
 9 |     "outDir": "dist",
10 |     "rootDir": ".",
11 |     "baseUrl": ".",
12 |   }
13 | }
14 | 


--------------------------------------------------------------------------------
/packages/cubejs-duckdb-driver/.gitignore:
--------------------------------------------------------------------------------
1 | dist
2 | 


--------------------------------------------------------------------------------
/packages/cubejs-duckdb-driver/jest.config.js:
--------------------------------------------------------------------------------
1 | const base = require('../../jest.base.config');
2 | 
3 | /** @type {import('jest').Config} */
4 | module.exports = {
5 |   ...base,
6 |   rootDir: '.',
7 | };
8 | 


--------------------------------------------------------------------------------
/packages/cubejs-duckdb-driver/src/index.ts:
--------------------------------------------------------------------------------
1 | import { DuckDBDriver } from './DuckDBDriver';
2 | 
3 | export * from './DuckDBDriver';
4 | 
5 | export default DuckDBDriver;
6 | 


--------------------------------------------------------------------------------
/packages/cubejs-duckdb-driver/tsconfig.json:
--------------------------------------------------------------------------------
 1 | {
 2 |   "extends": "../../tsconfig.base.json",
 3 |   "include": [
 4 |     "src",
 5 |     "test"
 6 |   ],
 7 |   "compilerOptions": {
 8 |     "outDir": "dist",
 9 |     "rootDir": ".",
10 |     "baseUrl": ".",
11 |   }
12 | }
13 | 


--------------------------------------------------------------------------------
/packages/cubejs-elasticsearch-driver/jest.config.js:
--------------------------------------------------------------------------------
 1 | const base = require('../../jest.base.config');
 2 | 
 3 | /** @type {import('jest').Config} */
 4 | module.exports = {
 5 |   ...base,
 6 |   rootDir: '.',
 7 |   testMatch: [
 8 |     '**/__tests__/**/*.js?(x)',
 9 |     '**/?(*.)+(spec|test|integration).js?(x)'
10 |   ]
11 | };
12 | 


--------------------------------------------------------------------------------
/packages/cubejs-firebolt-driver/.gitignore:
--------------------------------------------------------------------------------
1 | dist


--------------------------------------------------------------------------------
/packages/cubejs-firebolt-driver/src/index.ts:
--------------------------------------------------------------------------------
1 | import { FireboltDriver } from './FireboltDriver';
2 | 
3 | export * from './FireboltDriver';
4 | 
5 | export default FireboltDriver;
6 | 


--------------------------------------------------------------------------------
/packages/cubejs-firebolt-driver/tsconfig.json:
--------------------------------------------------------------------------------
 1 | {
 2 |   "extends": "../../tsconfig.base.json",
 3 |   "include": [
 4 |     "src",
 5 |     "test"
 6 |   ],
 7 |   "compilerOptions": {
 8 |     "outDir": "dist",
 9 |     "rootDir": ".",
10 |     "baseUrl": ".",
11 |     "resolveJsonModule": true
12 |   }
13 | }
14 | 


--------------------------------------------------------------------------------
/packages/cubejs-jdbc-driver/.gitignore:
--------------------------------------------------------------------------------
1 | dist
2 | 


--------------------------------------------------------------------------------
/packages/cubejs-jdbc-driver/src/index.ts:
--------------------------------------------------------------------------------
1 | export * from './JDBCDriver';
2 | export * from './types';
3 | 


--------------------------------------------------------------------------------
/packages/cubejs-jdbc-driver/tsconfig.json:
--------------------------------------------------------------------------------
 1 | {
 2 |   "extends": "../../tsconfig.base.json",
 3 |   "include": [
 4 |     "src",
 5 |     "test"
 6 |   ],
 7 |   "compilerOptions": {
 8 |     "outDir": "dist",
 9 |     "rootDir": ".",
10 |     "baseUrl": ".",
11 |     "allowJs": true,
12 |     "checkJs": false
13 |   }
14 | }
15 | 


--------------------------------------------------------------------------------
/packages/cubejs-ksql-driver/.gitignore:
--------------------------------------------------------------------------------
1 | dist
2 | 


--------------------------------------------------------------------------------
/packages/cubejs-ksql-driver/jest.config.js:
--------------------------------------------------------------------------------
 1 | const base = require('../../jest.base.config');
 2 | 
 3 | /** @type {import('jest').Config} */
 4 | module.exports = {
 5 |   ...base,
 6 |   rootDir: '.',
 7 |   moduleNameMapper: {
 8 |     ...base.moduleNameMapper,
 9 |     '^axios
#39;: require.resolve('axios'),
10 |   }
11 | };
12 | 


--------------------------------------------------------------------------------
/packages/cubejs-ksql-driver/src/index.ts:
--------------------------------------------------------------------------------
1 | export * from './KsqlQuery';
2 | export * from './KsqlDriver';
3 | 


--------------------------------------------------------------------------------
/packages/cubejs-ksql-driver/tsconfig.json:
--------------------------------------------------------------------------------
 1 | {
 2 |   "extends": "../../tsconfig.base.json",
 3 |   "include": [
 4 |     "src",
 5 |     "test"
 6 |   ],
 7 |   "compilerOptions": {
 8 |     "outDir": "dist",
 9 |     "rootDir": ".",
10 |     "baseUrl": ".",
11 |   }
12 | }
13 | 


--------------------------------------------------------------------------------
/packages/cubejs-materialize-driver/.gitignore:
--------------------------------------------------------------------------------
1 | dist
2 | node_modules


--------------------------------------------------------------------------------
/packages/cubejs-materialize-driver/src/index.ts:
--------------------------------------------------------------------------------
1 | import { MaterializeDriver } from './MaterializeDriver';
2 | 
3 | export * from './MaterializeDriver';
4 | 
5 | export default MaterializeDriver;
6 | 


--------------------------------------------------------------------------------
/packages/cubejs-materialize-driver/tsconfig.json:
--------------------------------------------------------------------------------
 1 | {
 2 |   "extends": "../../tsconfig.base.json",
 3 |   "include": ["src", "test"],
 4 |   "compilerOptions": {
 5 |     "outDir": "dist",
 6 |     "rootDir": ".",
 7 |     "baseUrl": "."
 8 |   }
 9 | }
10 | 


--------------------------------------------------------------------------------
/packages/cubejs-mongobi-driver/.gitignore:
--------------------------------------------------------------------------------
1 | dist
2 | 


--------------------------------------------------------------------------------
/packages/cubejs-mongobi-driver/src/index.ts:
--------------------------------------------------------------------------------
1 | import { MongoBIDriver } from './MongoBIDriver';
2 | 
3 | export * from './MongoBIDriver';
4 | 
5 | export default MongoBIDriver;
6 | 


--------------------------------------------------------------------------------
/packages/cubejs-mongobi-driver/test/mongo-init.js:
--------------------------------------------------------------------------------
1 | db = db.getSiblingDB('test');
2 | 
3 | db.createCollection('mycol');
4 | 
5 | db.mycol.insertMany([{ number: 1 }]);
6 | 


--------------------------------------------------------------------------------
/packages/cubejs-mongobi-driver/tsconfig.json:
--------------------------------------------------------------------------------
 1 | {
 2 |   "extends": "../../tsconfig.base.json",
 3 |   "include": [
 4 |     "src",
 5 |     "test"
 6 |   ],
 7 |   "compilerOptions": {
 8 |     "outDir": "dist",
 9 |     "rootDir": ".",
10 |     "baseUrl": ".",
11 |   }
12 | }
13 | 


--------------------------------------------------------------------------------
/packages/cubejs-mssql-driver/.gitignore:
--------------------------------------------------------------------------------
1 | dist
2 | 


--------------------------------------------------------------------------------
/packages/cubejs-mssql-driver/src/index.ts:
--------------------------------------------------------------------------------
1 | import { MSSqlDriver } from './MSSqlDriver';
2 | 
3 | export * from './MSSqlDriver';
4 | 
5 | export default MSSqlDriver;
6 | 


--------------------------------------------------------------------------------
/packages/cubejs-mssql-driver/tsconfig.json:
--------------------------------------------------------------------------------
 1 | {
 2 |   "extends": "../../tsconfig.base.json",
 3 |   "include": [
 4 |     "src",
 5 |     "test"
 6 |   ],
 7 |   "compilerOptions": {
 8 |     "outDir": "dist",
 9 |     "rootDir": ".",
10 |     "baseUrl": ".",
11 |     "typeRoots": ["./node_modules/@types", "./src/types"]
12 |   }
13 | }
14 | 


--------------------------------------------------------------------------------
/packages/cubejs-mysql-driver/.gitignore:
--------------------------------------------------------------------------------
1 | dist
2 | 


--------------------------------------------------------------------------------
/packages/cubejs-mysql-driver/jest.config.js:
--------------------------------------------------------------------------------
1 | const base = require('../../jest.base.config');
2 | 
3 | /** @type {import('jest').Config} */
4 | module.exports = {
5 |   ...base,
6 |   rootDir: '.',
7 | };
8 | 


--------------------------------------------------------------------------------
/packages/cubejs-mysql-driver/src/index.ts:
--------------------------------------------------------------------------------
1 | import { MySqlDriver } from './MySqlDriver';
2 | 
3 | export * from './MySqlDriver';
4 | 
5 | export default MySqlDriver;
6 | 


--------------------------------------------------------------------------------
/packages/cubejs-mysql-driver/tsconfig.json:
--------------------------------------------------------------------------------
 1 | {
 2 |   "extends": "../../tsconfig.base.json",
 3 |   "include": [
 4 |     "src",
 5 |     "test"
 6 |   ],
 7 |   "compilerOptions": {
 8 |     "outDir": "dist",
 9 |     "rootDir": ".",
10 |     "baseUrl": ".",
11 |   }
12 | }
13 | 


--------------------------------------------------------------------------------
/packages/cubejs-pinot-driver/.gitignore:
--------------------------------------------------------------------------------
1 | dist
2 | 


--------------------------------------------------------------------------------
/packages/cubejs-pinot-driver/jest.config.js:
--------------------------------------------------------------------------------
1 | const base = require('../../jest.base.config');
2 | 
3 | /** @type {import('jest').Config} */
4 | module.exports = {
5 |   ...base,
6 |   rootDir: '.',
7 | };
8 | 


--------------------------------------------------------------------------------
/packages/cubejs-pinot-driver/pinot-resources/broker.conf:
--------------------------------------------------------------------------------
1 | pinot.broker.access.control.class=org.apache.pinot.broker.broker.BasicAuthAccessControlFactory
2 | pinot.broker.access.control.principals=admin
3 | pinot.broker.access.control.principals.admin.password=mysecret


--------------------------------------------------------------------------------
/packages/cubejs-pinot-driver/pinot-resources/rawdata/scores/scores.csv:
--------------------------------------------------------------------------------
1 | studentID,subject,score,score_date
2 | 200,Maths,3.8,1725462007792
3 | 200,English,3.5,1725348240000
4 | 201,English,3.2,1725348240000
5 | 202,Maths,3.1,1725348240000
6 | 201,Maths,3.2,1725276600000
7 | 202,Physics,3.6,1724329800000


--------------------------------------------------------------------------------
/packages/cubejs-pinot-driver/pinot-resources/rawdata/students/students.csv:
--------------------------------------------------------------------------------
1 | studentID,firstName,lastName,gender
2 | 200,Lucy,Smith,Female
3 | 201,Bob,King,Male
4 | 202,Nick,Young,Male


--------------------------------------------------------------------------------
/packages/cubejs-pinot-driver/src/index.ts:
--------------------------------------------------------------------------------
1 | import { PinotDriver } from './PinotDriver';
2 | 
3 | export default PinotDriver;
4 | export { PinotDriver };
5 | 


--------------------------------------------------------------------------------
/packages/cubejs-pinot-driver/tsconfig.json:
--------------------------------------------------------------------------------
 1 | {
 2 |   "extends": "../../tsconfig.base.json",
 3 |   "include": [
 4 |     "src",
 5 |     "test"
 6 |   ],
 7 |   "compilerOptions": {
 8 |     "outDir": "dist",
 9 |     "rootDir": ".",
10 |     "baseUrl": "."
11 |   }
12 | }
13 | 


--------------------------------------------------------------------------------
/packages/cubejs-playground/.babelrc:
--------------------------------------------------------------------------------
 1 | {
 2 |   "presets": [
 3 |     [
 4 |       "@babel/preset-react",
 5 |       {
 6 |         "runtime": "automatic"
 7 |       }
 8 |     ]
 9 |   ],
10 |   "plugins": [
11 |     "@babel/plugin-proposal-optional-chaining",
12 |     "@babel/plugin-proposal-class-properties"
13 |   ]
14 | }
15 | 


--------------------------------------------------------------------------------
/packages/cubejs-playground/.env:
--------------------------------------------------------------------------------
1 | SKIP_PREFLIGHT_CHECK=true
2 | 


--------------------------------------------------------------------------------
/packages/cubejs-playground/.eslintignore:
--------------------------------------------------------------------------------
1 | *
2 | 


--------------------------------------------------------------------------------
/packages/cubejs-playground/charts-gen/README.md:
--------------------------------------------------------------------------------
1 | Creating a symlink for chart renderers generation
2 | 
3 | mkdir [PATH_TO_PROJECT]/cube.js/packages/cubejs-playground/charts-gen/node_modules/.tmp
4 | ln -s [PATH_TO_PROJECT]/cubejs-playground-templates [PATH_TO_PROJECT]/cube.js/packages/cubejs-playground/charts-gen/node_modules/.tmp/cubejs-playground-templates
5 | 


--------------------------------------------------------------------------------
/packages/cubejs-playground/charts-gen/build-all.sh:
--------------------------------------------------------------------------------
1 | sh react/build.sh & sh angular/build.sh & sh vue/build.sh
2 | 


--------------------------------------------------------------------------------
/packages/cubejs-playground/charts-gen/env.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 |   REPOSITORY: {
3 |     owner: 'cube-js',
4 |     name: 'cubejs-playground-templates',
5 |   },
6 | };
7 | 


--------------------------------------------------------------------------------
/packages/cubejs-playground/public/android-chrome-192x192.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cube-js/cube/2b400028f7b70a1e48fd82bd20a767fa8a3b2259/packages/cubejs-playground/public/android-chrome-192x192.png


--------------------------------------------------------------------------------
/packages/cubejs-playground/public/android-chrome-512x512.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cube-js/cube/2b400028f7b70a1e48fd82bd20a767fa8a3b2259/packages/cubejs-playground/public/android-chrome-512x512.png


--------------------------------------------------------------------------------
/packages/cubejs-playground/public/apple-touch-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cube-js/cube/2b400028f7b70a1e48fd82bd20a767fa8a3b2259/packages/cubejs-playground/public/apple-touch-icon.png


--------------------------------------------------------------------------------
/packages/cubejs-playground/public/browserconfig.xml:
--------------------------------------------------------------------------------
 1 | <?xml version="1.0" encoding="utf-8"?>
 2 | <browserconfig>
 3 |     <msapplication>
 4 |         <tile>
 5 |             <square150x150logo src="/mstile-150x150.png"/>
 6 |             <TileColor>#afadff</TileColor>
 7 |         </tile>
 8 |     </msapplication>
 9 | </browserconfig>
10 | 


--------------------------------------------------------------------------------
/packages/cubejs-playground/public/favicon-16x16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cube-js/cube/2b400028f7b70a1e48fd82bd20a767fa8a3b2259/packages/cubejs-playground/public/favicon-16x16.png


--------------------------------------------------------------------------------
/packages/cubejs-playground/public/favicon-32x32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cube-js/cube/2b400028f7b70a1e48fd82bd20a767fa8a3b2259/packages/cubejs-playground/public/favicon-32x32.png


--------------------------------------------------------------------------------
/packages/cubejs-playground/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cube-js/cube/2b400028f7b70a1e48fd82bd20a767fa8a3b2259/packages/cubejs-playground/public/favicon.ico


--------------------------------------------------------------------------------
/packages/cubejs-playground/public/fonts/Inter-Bold.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cube-js/cube/2b400028f7b70a1e48fd82bd20a767fa8a3b2259/packages/cubejs-playground/public/fonts/Inter-Bold.woff


--------------------------------------------------------------------------------
/packages/cubejs-playground/public/fonts/Inter-Bold.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cube-js/cube/2b400028f7b70a1e48fd82bd20a767fa8a3b2259/packages/cubejs-playground/public/fonts/Inter-Bold.woff2


--------------------------------------------------------------------------------
/packages/cubejs-playground/public/fonts/Inter-Medium.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cube-js/cube/2b400028f7b70a1e48fd82bd20a767fa8a3b2259/packages/cubejs-playground/public/fonts/Inter-Medium.woff


--------------------------------------------------------------------------------
/packages/cubejs-playground/public/fonts/Inter-Medium.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cube-js/cube/2b400028f7b70a1e48fd82bd20a767fa8a3b2259/packages/cubejs-playground/public/fonts/Inter-Medium.woff2


--------------------------------------------------------------------------------
/packages/cubejs-playground/public/fonts/Inter-Regular.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cube-js/cube/2b400028f7b70a1e48fd82bd20a767fa8a3b2259/packages/cubejs-playground/public/fonts/Inter-Regular.woff


--------------------------------------------------------------------------------
/packages/cubejs-playground/public/fonts/Inter-Regular.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cube-js/cube/2b400028f7b70a1e48fd82bd20a767fa8a3b2259/packages/cubejs-playground/public/fonts/Inter-Regular.woff2


--------------------------------------------------------------------------------
/packages/cubejs-playground/public/fonts/Inter-SemiBold.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cube-js/cube/2b400028f7b70a1e48fd82bd20a767fa8a3b2259/packages/cubejs-playground/public/fonts/Inter-SemiBold.woff


--------------------------------------------------------------------------------
/packages/cubejs-playground/public/fonts/Inter-SemiBold.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cube-js/cube/2b400028f7b70a1e48fd82bd20a767fa8a3b2259/packages/cubejs-playground/public/fonts/Inter-SemiBold.woff2


--------------------------------------------------------------------------------
/packages/cubejs-playground/public/fonts/JetBrainsMono-Bold.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cube-js/cube/2b400028f7b70a1e48fd82bd20a767fa8a3b2259/packages/cubejs-playground/public/fonts/JetBrainsMono-Bold.woff


--------------------------------------------------------------------------------
/packages/cubejs-playground/public/fonts/JetBrainsMono-Bold.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cube-js/cube/2b400028f7b70a1e48fd82bd20a767fa8a3b2259/packages/cubejs-playground/public/fonts/JetBrainsMono-Bold.woff2


--------------------------------------------------------------------------------
/packages/cubejs-playground/public/fonts/JetBrainsMono-Medium.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cube-js/cube/2b400028f7b70a1e48fd82bd20a767fa8a3b2259/packages/cubejs-playground/public/fonts/JetBrainsMono-Medium.woff


--------------------------------------------------------------------------------
/packages/cubejs-playground/public/fonts/JetBrainsMono-Medium.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cube-js/cube/2b400028f7b70a1e48fd82bd20a767fa8a3b2259/packages/cubejs-playground/public/fonts/JetBrainsMono-Medium.woff2


--------------------------------------------------------------------------------
/packages/cubejs-playground/public/fonts/JetBrainsMono-Regular.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cube-js/cube/2b400028f7b70a1e48fd82bd20a767fa8a3b2259/packages/cubejs-playground/public/fonts/JetBrainsMono-Regular.woff


--------------------------------------------------------------------------------
/packages/cubejs-playground/public/fonts/JetBrainsMono-Regular.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cube-js/cube/2b400028f7b70a1e48fd82bd20a767fa8a3b2259/packages/cubejs-playground/public/fonts/JetBrainsMono-Regular.woff2


--------------------------------------------------------------------------------
/packages/cubejs-playground/public/fonts/SourceCodePro-Regular.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cube-js/cube/2b400028f7b70a1e48fd82bd20a767fa8a3b2259/packages/cubejs-playground/public/fonts/SourceCodePro-Regular.woff


--------------------------------------------------------------------------------
/packages/cubejs-playground/public/fonts/SourceCodePro-Regular.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cube-js/cube/2b400028f7b70a1e48fd82bd20a767fa8a3b2259/packages/cubejs-playground/public/fonts/SourceCodePro-Regular.woff2


--------------------------------------------------------------------------------
/packages/cubejs-playground/public/fonts/text-security-disc.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cube-js/cube/2b400028f7b70a1e48fd82bd20a767fa8a3b2259/packages/cubejs-playground/public/fonts/text-security-disc.woff


--------------------------------------------------------------------------------
/packages/cubejs-playground/public/fonts/text-security-disc.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cube-js/cube/2b400028f7b70a1e48fd82bd20a767fa8a3b2259/packages/cubejs-playground/public/fonts/text-security-disc.woff2


--------------------------------------------------------------------------------
/packages/cubejs-playground/public/mstile-150x150.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cube-js/cube/2b400028f7b70a1e48fd82bd20a767fa8a3b2259/packages/cubejs-playground/public/mstile-150x150.png


--------------------------------------------------------------------------------
/packages/cubejs-playground/src/QueryBuilderV2/Pivot/index.ts:
--------------------------------------------------------------------------------
1 | export * from './Axes';
2 | export * from './DroppableArea';
3 | export * from './Item';
4 | export * from './Options';
5 | 


--------------------------------------------------------------------------------
/packages/cubejs-playground/src/QueryBuilderV2/components/Accordion/index.ts:
--------------------------------------------------------------------------------
1 | export * from './Accordion';
2 | export type {
3 |   AccordionProps,
4 |   AccordionItemProps,
5 |   ShowExtra,
6 |   AccordionNestedContextData,
7 | } from './types';
8 | export * from './AccordionNestedContext';
9 | 


--------------------------------------------------------------------------------
/packages/cubejs-playground/src/QueryBuilderV2/components/AccordionCard/index.ts:
--------------------------------------------------------------------------------
1 | export * from './AccordionCard';
2 | 


--------------------------------------------------------------------------------
/packages/cubejs-playground/src/QueryBuilderV2/components/ScrollableArea.tsx:
--------------------------------------------------------------------------------
1 | import { Flow, tasty } from '@cube-dev/ui-kit';
2 | 
3 | export const ScrollableArea = tasty(Flow, {
4 |   styles: {
5 |     overflow: 'auto',
6 |     styledScrollbar: true,
7 |   },
8 | });
9 | 


--------------------------------------------------------------------------------
/packages/cubejs-playground/src/QueryBuilderV2/components/Tabs/index.ts:
--------------------------------------------------------------------------------
1 | export * from './Tabs';
2 | 


--------------------------------------------------------------------------------
/packages/cubejs-playground/src/QueryBuilderV2/hooks/is-first-render.ts:
--------------------------------------------------------------------------------
 1 | import { useRef } from 'react';
 2 | 
 3 | export function useIsFirstRender(): boolean {
 4 |   const isFirst = useRef(true);
 5 | 
 6 |   if (isFirst.current) {
 7 |     isFirst.current = false;
 8 | 
 9 |     return true;
10 |   }
11 | 
12 |   return isFirst.current;
13 | }
14 | 


--------------------------------------------------------------------------------
/packages/cubejs-playground/src/QueryBuilderV2/hooks/sync-ref.ts:
--------------------------------------------------------------------------------
1 | import { MutableRefObject, useRef } from 'react';
2 | 
3 | export function useSyncRef<T>(value: T): MutableRefObject<T> {
4 |   const ref = useRef(value);
5 |   ref.current = value;
6 | 
7 |   return ref;
8 | }
9 | 


--------------------------------------------------------------------------------
/packages/cubejs-playground/src/QueryBuilderV2/index.ts:
--------------------------------------------------------------------------------
1 | export * from './QueryBuilder';
2 | export * from './types';
3 | export * from './hooks/query-builder';
4 | export * from './QueryBuilderChartResults';
5 | export * from './color-tokens';
6 | 


--------------------------------------------------------------------------------
/packages/cubejs-playground/src/QueryBuilderV2/utils/are-queries-equal.tsx:
--------------------------------------------------------------------------------
1 | import { Query } from '@cubejs-client/core';
2 | 
3 | import { getQueryHash } from './get-query-hash';
4 | 
5 | export function areQueriesEqual(query1: Query, query2: Query) {
6 |   return getQueryHash(query1) === getQueryHash(query2);
7 | }
8 | 


--------------------------------------------------------------------------------
/packages/cubejs-playground/src/QueryBuilderV2/utils/get-query-hash.tsx:
--------------------------------------------------------------------------------
1 | import { Query } from '@cubejs-client/core';
2 | 
3 | import { validateQuery } from './validate-query';
4 | 
5 | export function getQueryHash(query: Query) {
6 |   return JSON.stringify(validateQuery(query));
7 | }
8 | 


--------------------------------------------------------------------------------
/packages/cubejs-playground/src/QueryBuilderV2/utils/labels.ts:
--------------------------------------------------------------------------------
1 | export const ORDER_LABEL_BY_TYPE = {
2 |   string: ['A to Z', 'Z to A'],
3 |   number: ['0 to 9', '9 to 0'],
4 |   time: ['Old to new', 'New to old'],
5 |   boolean: ['T to F', 'F to T'],
6 | };
7 | 


--------------------------------------------------------------------------------
/packages/cubejs-playground/src/QueryBuilderV2/utils/uncapitalize.ts:
--------------------------------------------------------------------------------
1 | export function unCapitalize(name: string) {
2 |   return `${name[0].toLowerCase()}${name.slice(1)}`;
3 | }
4 | 


--------------------------------------------------------------------------------
/packages/cubejs-playground/src/QueryBuilderV2/utils/uniq-array.ts:
--------------------------------------------------------------------------------
1 | export function uniqArray<T = any>(array: T[]) {
2 |   return Array.from(new Set(array));
3 | }
4 | 


--------------------------------------------------------------------------------
/packages/cubejs-playground/src/QueryBuilderV2/utils/use-is-first-render.tsx:
--------------------------------------------------------------------------------
 1 | import { useRef } from 'react';
 2 | 
 3 | export function useIsFirstRender(): boolean {
 4 |   const isFirst = useRef(true);
 5 | 
 6 |   if (isFirst.current) {
 7 |     isFirst.current = false;
 8 | 
 9 |     return true;
10 |   }
11 | 
12 |   return isFirst.current;
13 | }
14 | 


--------------------------------------------------------------------------------
/packages/cubejs-playground/src/atoms/Popover.tsx:
--------------------------------------------------------------------------------
 1 | import styled from 'styled-components';
 2 | import { Popover as AntdPopover } from 'antd';
 3 | 
 4 | export const Popover = styled(AntdPopover)`
 5 |   && {
 6 |     .ant-popover-inner-content {
 7 |       padding: 0;
 8 |     }
 9 |   }
10 | `;
11 | 


--------------------------------------------------------------------------------
/packages/cubejs-playground/src/atoms/index.tsx:
--------------------------------------------------------------------------------
1 | export * from './Alert';
2 | export * from './CubeLoader';
3 | export * from './Button';
4 | export * from './Card';
5 | export * from './Popover';
6 | export * from './CodeSnippet';
7 | 


--------------------------------------------------------------------------------
/packages/cubejs-playground/src/cloud/index.ts:
--------------------------------------------------------------------------------
1 | export * from './CloudProvider'


--------------------------------------------------------------------------------
/packages/cubejs-playground/src/components/PlaygroundQueryBuilder/components/index.ts:
--------------------------------------------------------------------------------
1 | export * from './PreAggregationStatus';
2 | 


--------------------------------------------------------------------------------
/packages/cubejs-playground/src/grid/index.ts:
--------------------------------------------------------------------------------
1 | export * from './Flex'
2 | export * from './Box'
3 | 


--------------------------------------------------------------------------------
/packages/cubejs-playground/src/hooks/deep-compare-memoize.ts:
--------------------------------------------------------------------------------
 1 | import { useRef } from 'react';
 2 | import equals from 'fast-deep-equal/es6';
 3 | 
 4 | export function useDeepCompareMemoize(value) {
 5 |   const ref = useRef([]);
 6 | 
 7 |   if (!equals(value, ref.current)) {
 8 |     ref.current = value;
 9 |   }
10 | 
11 |   return ref.current;
12 | }
13 | 


--------------------------------------------------------------------------------
/packages/cubejs-playground/src/hooks/identifier.ts:
--------------------------------------------------------------------------------
1 | import { useAppContext } from './app-context';
2 | 
3 | export function useIdentifier(): string {
4 |   const { identifier } = useAppContext();
5 | 
6 |   return identifier || '';
7 | }
8 | 


--------------------------------------------------------------------------------
/packages/cubejs-playground/src/hooks/live-preview-context.ts:
--------------------------------------------------------------------------------
1 | import { useContext } from 'react';
2 | import { LivePreviewContextContext } from '../components/LivePreviewContext/LivePreviewContextProvider';
3 | 
4 | export function useLivePreviewContext() {
5 |   return useContext(LivePreviewContextContext);
6 | }
7 | 


--------------------------------------------------------------------------------
/packages/cubejs-playground/src/hooks/security-context.ts:
--------------------------------------------------------------------------------
1 | import { useContext } from 'react';
2 | import { SecurityContextContext } from '../components/SecurityContext/SecurityContextProvider';
3 | 
4 | export function useSecurityContext() {
5 |   return useContext(SecurityContextContext);
6 | }
7 | 


--------------------------------------------------------------------------------
/packages/cubejs-playground/src/hooks/toggle.ts:
--------------------------------------------------------------------------------
1 | import { useState } from 'react';
2 | 
3 | export function useToggle(defaultValue: boolean = false): [boolean, (...args: any) => void] {
4 |   const [isOn, toggle] = useState(defaultValue);
5 | 
6 |   return [isOn, () => toggle((value) => !value)];
7 | }
8 | 


--------------------------------------------------------------------------------
/packages/cubejs-playground/src/pages/components/Ui.tsx:
--------------------------------------------------------------------------------
 1 | import styled from 'styled-components';
 2 | 
 3 | export const Header = styled.div`
 4 |   padding: 24px 50px;
 5 | 
 6 |   h1 {
 7 |     font-size: 32px;
 8 |   }
 9 | `;
10 | 
11 | export const Content = styled.div`
12 |   padding: 0 50px;
13 | `;
14 | 


--------------------------------------------------------------------------------
/packages/cubejs-playground/src/pages/index.tsx:
--------------------------------------------------------------------------------
1 | export * from './Schema/SchemaPage';
2 | export * from './ConnectionWizard/ConnectionWizardPage';
3 | export * from './Explore/ExplorePage';
4 | export * from './Index/IndexPage';
5 | export * from './ConnectToBI/ConnectToBiPage';
6 | export * from './FrontendIntegrations/FrontendIntegrationsPage';
7 | 


--------------------------------------------------------------------------------
/packages/cubejs-playground/src/playground/index.ts:
--------------------------------------------------------------------------------
1 | export * from '../cloud';
2 | export * from './components/QueryBuilder';
3 | export * from '../hooks';
4 | export { fetchPoll } from '../utils';
5 | export { setTracker, setTelemetry } from '../events';
6 | 


--------------------------------------------------------------------------------
/packages/cubejs-playground/src/react-app-env.d.ts:
--------------------------------------------------------------------------------
1 | /// <reference types="react-scripts" />
2 | 


--------------------------------------------------------------------------------
/packages/cubejs-playground/src/rollup-designer/index.ts:
--------------------------------------------------------------------------------
1 | export * from './RollupDesigner';
2 | export * from './Context';
3 | 


--------------------------------------------------------------------------------
/packages/cubejs-playground/src/shared/svg.d.ts:
--------------------------------------------------------------------------------
1 | declare module '*.svg' {
2 |   const content: any;
3 |   export default content;
4 | }
5 | 


--------------------------------------------------------------------------------
/packages/cubejs-playground/src/theme.ts:
--------------------------------------------------------------------------------
 1 | const theme = {
 2 |   colors: {
 3 |     grey: '#A1A1B5',
 4 |     lightBlue: '#F3F3FB',
 5 |     purple: '#43436B',
 6 |     darkPurple: '#141446',
 7 |     red: '#FF6492',
 8 |   },
 9 | };
10 | 
11 | export default theme;
12 | 


--------------------------------------------------------------------------------
/packages/cubejs-playground/vitest.config.ts:
--------------------------------------------------------------------------------
 1 | /// <reference types="vitest" />
 2 | 
 3 | import { defineConfig } from 'vite'
 4 | 
 5 | export default defineConfig({
 6 |   test: {
 7 |     globals: true,
 8 |     environment: 'jsdom',
 9 |   },
10 | })


--------------------------------------------------------------------------------
/packages/cubejs-playground/vizard/.env.example:
--------------------------------------------------------------------------------
1 | # Create the .env.local file in the root of the project and copy the content of this file filling it with your params
2 | VITE_CUBE_API_URL=https://{domain or IP}/cubejs-api/v1
3 | VITE_CUBE_API_TOKEN={YOUR API TOKEN}
4 | VITE_CUBE_QUERY={QUERY IN JSON}
5 | VITE_CUBE_PIVOT_CONFIG={PIVOT CONFIG IN JSON}
6 | 


--------------------------------------------------------------------------------
/packages/cubejs-playground/vizard/.eslintrc:
--------------------------------------------------------------------------------
 1 | {
 2 |   "extends": [
 3 |     "plugin:react/recommended",
 4 |     "plugin:prettier/recommended"
 5 |   ],
 6 |   "plugins": ["react", "prettier"],
 7 |   "rules": {
 8 |     "prettier/prettier": "error"
 9 |   }
10 | }
11 | 


--------------------------------------------------------------------------------
/packages/cubejs-playground/vizard/.nvmrc:
--------------------------------------------------------------------------------
1 | 18.19.1
2 | 


--------------------------------------------------------------------------------
/packages/cubejs-playground/vizard/.prettierignore:
--------------------------------------------------------------------------------
1 | build
2 | node_modules
3 | public
4 | 


--------------------------------------------------------------------------------
/packages/cubejs-playground/vizard/.prettierrc:
--------------------------------------------------------------------------------
1 | {
2 |   "semi": true,
3 |   "singleQuote": true,
4 |   "tabWidth": 2,
5 |   "useTabs": false,
6 |   "trailingComma": "es5",
7 |   "printWidth": 80
8 | }
9 | 


--------------------------------------------------------------------------------
/packages/cubejs-playground/vizard/apps/react-typescript-antd-table/src/main.tsx:
--------------------------------------------------------------------------------
 1 | import React from 'react'
 2 | import ReactDOM from 'react-dom/client'
 3 | import App from './App.tsx'
 4 | import './index.css'
 5 | 
 6 | ReactDOM.createRoot(document.getElementById('root')!).render(
 7 |   <React.StrictMode>
 8 |     <App />
 9 |   </React.StrictMode>,
10 | )
11 | 


--------------------------------------------------------------------------------
/packages/cubejs-playground/vizard/apps/react-typescript-antd-table/src/vite-env.d.ts:
--------------------------------------------------------------------------------
1 | /// <reference types="vite/client" />
2 | 


--------------------------------------------------------------------------------
/packages/cubejs-playground/vizard/apps/react-typescript-antd-table/vite.config.ts:
--------------------------------------------------------------------------------
1 | import { defineConfig } from 'vite';
2 | import react from '@vitejs/plugin-react';
3 | 
4 | // https://vitejs.dev/config/
5 | export default defineConfig({
6 |   base: '/vizard/preview/react-typescript-antd-table/',
7 |   plugins: [react()],
8 | });
9 | 


--------------------------------------------------------------------------------
/packages/cubejs-playground/vizard/apps/react-typescript-chartjs-area+bar+doughnut+line+pie/src/vite-env.d.ts:
--------------------------------------------------------------------------------
1 | /// <reference types="vite/client" />
2 | 


--------------------------------------------------------------------------------
/packages/cubejs-playground/vizard/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cube-js/cube/2b400028f7b70a1e48fd82bd20a767fa8a3b2259/packages/cubejs-playground/vizard/public/favicon.ico


--------------------------------------------------------------------------------
/packages/cubejs-playground/vizard/public/fonts/Inter-Bold.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cube-js/cube/2b400028f7b70a1e48fd82bd20a767fa8a3b2259/packages/cubejs-playground/vizard/public/fonts/Inter-Bold.woff


--------------------------------------------------------------------------------
/packages/cubejs-playground/vizard/public/fonts/Inter-Bold.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cube-js/cube/2b400028f7b70a1e48fd82bd20a767fa8a3b2259/packages/cubejs-playground/vizard/public/fonts/Inter-Bold.woff2


--------------------------------------------------------------------------------
/packages/cubejs-playground/vizard/public/fonts/Inter-Medium.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cube-js/cube/2b400028f7b70a1e48fd82bd20a767fa8a3b2259/packages/cubejs-playground/vizard/public/fonts/Inter-Medium.woff


--------------------------------------------------------------------------------
/packages/cubejs-playground/vizard/public/fonts/Inter-Medium.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cube-js/cube/2b400028f7b70a1e48fd82bd20a767fa8a3b2259/packages/cubejs-playground/vizard/public/fonts/Inter-Medium.woff2


--------------------------------------------------------------------------------
/packages/cubejs-playground/vizard/public/fonts/Inter-Regular.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cube-js/cube/2b400028f7b70a1e48fd82bd20a767fa8a3b2259/packages/cubejs-playground/vizard/public/fonts/Inter-Regular.woff


--------------------------------------------------------------------------------
/packages/cubejs-playground/vizard/public/fonts/Inter-Regular.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cube-js/cube/2b400028f7b70a1e48fd82bd20a767fa8a3b2259/packages/cubejs-playground/vizard/public/fonts/Inter-Regular.woff2


--------------------------------------------------------------------------------
/packages/cubejs-playground/vizard/public/fonts/Inter-SemiBold.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cube-js/cube/2b400028f7b70a1e48fd82bd20a767fa8a3b2259/packages/cubejs-playground/vizard/public/fonts/Inter-SemiBold.woff


--------------------------------------------------------------------------------
/packages/cubejs-playground/vizard/public/fonts/Inter-SemiBold.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cube-js/cube/2b400028f7b70a1e48fd82bd20a767fa8a3b2259/packages/cubejs-playground/vizard/public/fonts/Inter-SemiBold.woff2


--------------------------------------------------------------------------------
/packages/cubejs-playground/vizard/public/fonts/JetBrainsMono-Bold.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cube-js/cube/2b400028f7b70a1e48fd82bd20a767fa8a3b2259/packages/cubejs-playground/vizard/public/fonts/JetBrainsMono-Bold.woff


--------------------------------------------------------------------------------
/packages/cubejs-playground/vizard/public/fonts/JetBrainsMono-Bold.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cube-js/cube/2b400028f7b70a1e48fd82bd20a767fa8a3b2259/packages/cubejs-playground/vizard/public/fonts/JetBrainsMono-Bold.woff2


--------------------------------------------------------------------------------
/packages/cubejs-playground/vizard/public/fonts/JetBrainsMono-Medium.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cube-js/cube/2b400028f7b70a1e48fd82bd20a767fa8a3b2259/packages/cubejs-playground/vizard/public/fonts/JetBrainsMono-Medium.woff


--------------------------------------------------------------------------------
/packages/cubejs-playground/vizard/public/fonts/JetBrainsMono-Medium.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cube-js/cube/2b400028f7b70a1e48fd82bd20a767fa8a3b2259/packages/cubejs-playground/vizard/public/fonts/JetBrainsMono-Medium.woff2


--------------------------------------------------------------------------------
/packages/cubejs-playground/vizard/public/fonts/JetBrainsMono-Regular.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cube-js/cube/2b400028f7b70a1e48fd82bd20a767fa8a3b2259/packages/cubejs-playground/vizard/public/fonts/JetBrainsMono-Regular.woff


--------------------------------------------------------------------------------
/packages/cubejs-playground/vizard/public/fonts/JetBrainsMono-Regular.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cube-js/cube/2b400028f7b70a1e48fd82bd20a767fa8a3b2259/packages/cubejs-playground/vizard/public/fonts/JetBrainsMono-Regular.woff2


--------------------------------------------------------------------------------
/packages/cubejs-playground/vizard/public/fonts/SourceCodePro-Regular.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cube-js/cube/2b400028f7b70a1e48fd82bd20a767fa8a3b2259/packages/cubejs-playground/vizard/public/fonts/SourceCodePro-Regular.woff


--------------------------------------------------------------------------------
/packages/cubejs-playground/vizard/public/fonts/SourceCodePro-Regular.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cube-js/cube/2b400028f7b70a1e48fd82bd20a767fa8a3b2259/packages/cubejs-playground/vizard/public/fonts/SourceCodePro-Regular.woff2


--------------------------------------------------------------------------------
/packages/cubejs-playground/vizard/public/fonts/text-security-disc.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cube-js/cube/2b400028f7b70a1e48fd82bd20a767fa8a3b2259/packages/cubejs-playground/vizard/public/fonts/text-security-disc.woff


--------------------------------------------------------------------------------
/packages/cubejs-playground/vizard/public/fonts/text-security-disc.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cube-js/cube/2b400028f7b70a1e48fd82bd20a767fa8a3b2259/packages/cubejs-playground/vizard/public/fonts/text-security-disc.woff2


--------------------------------------------------------------------------------
/packages/cubejs-playground/vizard/src/app-options.js:
--------------------------------------------------------------------------------
1 | export const APP_OPTIONS = {
2 |   visualization: ['line', 'bar', 'area', 'pie', 'doughnut', 'table'],
3 |   framework: ['react', 'angular', 'vue'],
4 |   language: ['typescript', 'javascript'],
5 |   library: ['chartjs', 'antd'],
6 | };
7 | 


--------------------------------------------------------------------------------
/packages/cubejs-playground/vizard/src/hooks/index.ts:
--------------------------------------------------------------------------------
1 | export * from './window-size';
2 | export * from './sync-ref';
3 | export * from './event';
4 | 


--------------------------------------------------------------------------------
/packages/cubejs-playground/vizard/src/hooks/sync-ref.ts:
--------------------------------------------------------------------------------
1 | import { MutableRefObject, useRef } from 'react';
2 | 
3 | export function useSyncRef<T>(value: T): MutableRefObject<T> {
4 |   const ref = useRef(value);
5 |   ref.current = value;
6 | 
7 |   return ref;
8 | }
9 | 


--------------------------------------------------------------------------------
/packages/cubejs-playground/vizard/src/main.tsx:
--------------------------------------------------------------------------------
1 | import './index.css';
2 | import 'react';
3 | import ReactDOM from 'react-dom/client';
4 | import { Vizard } from './Vizard';
5 | 
6 | ReactDOM.createRoot(document.getElementById('root')!).render(<Vizard />);
7 | 


--------------------------------------------------------------------------------
/packages/cubejs-playground/vizard/src/monaco/index.ts:
--------------------------------------------------------------------------------
1 | export * from './setup-monaco';
2 | 


--------------------------------------------------------------------------------
/packages/cubejs-playground/vizard/src/monaco/setup-monaco.ts:
--------------------------------------------------------------------------------
1 | import { setupWorkers } from './setup-workers';
2 | import './config';
3 | 
4 | export function setupMonaco() {
5 |   setupWorkers();
6 | }
7 | 


--------------------------------------------------------------------------------
/packages/cubejs-playground/vizard/src/monaco/workers/css.worker.ts:
--------------------------------------------------------------------------------
1 | import 'monaco-editor/esm/vs/language/css/css.worker';
2 | 


--------------------------------------------------------------------------------
/packages/cubejs-playground/vizard/src/monaco/workers/editor.worker.ts:
--------------------------------------------------------------------------------
1 | import 'monaco-editor/esm/vs/editor/editor.worker';
2 | 


--------------------------------------------------------------------------------
/packages/cubejs-playground/vizard/src/monaco/workers/json.worker.ts:
--------------------------------------------------------------------------------
1 | import 'monaco-editor/esm/vs/language/json/json.worker';
2 | 


--------------------------------------------------------------------------------
/packages/cubejs-playground/vizard/src/monaco/workers/ts.worker.ts:
--------------------------------------------------------------------------------
1 | import 'monaco-editor/esm/vs/language/typescript/ts.worker';
2 | 


--------------------------------------------------------------------------------
/packages/cubejs-playground/vizard/src/monaco/workers/yaml.worker.ts:
--------------------------------------------------------------------------------
1 | import 'monaco-yaml/yaml.worker';
2 | 


--------------------------------------------------------------------------------
/packages/cubejs-playground/vizard/src/vite-env.d.ts:
--------------------------------------------------------------------------------
1 | /// <reference types="vite/client" />
2 | 


--------------------------------------------------------------------------------
/packages/cubejs-playground/vizard/tsconfig.node.json:
--------------------------------------------------------------------------------
 1 | {
 2 |   "compilerOptions": {
 3 |     "composite": true,
 4 |     "skipLibCheck": true,
 5 |     "module": "ESNext",
 6 |     "moduleResolution": "bundler",
 7 |     "allowSyntheticDefaultImports": true,
 8 |     "strict": true
 9 |   },
10 |   "include": ["vite.config.ts"]
11 | }
12 | 


--------------------------------------------------------------------------------
/packages/cubejs-postgres-driver/.gitignore:
--------------------------------------------------------------------------------
1 | dist
2 | 


--------------------------------------------------------------------------------
/packages/cubejs-postgres-driver/src/index.ts:
--------------------------------------------------------------------------------
1 | import { PostgresDriver } from './PostgresDriver';
2 | 
3 | export * from './PostgresDriver';
4 | 
5 | export default PostgresDriver;
6 | 


--------------------------------------------------------------------------------
/packages/cubejs-postgres-driver/tsconfig.json:
--------------------------------------------------------------------------------
 1 | {
 2 |   "extends": "../../tsconfig.base.json",
 3 |   "include": [
 4 |     "src",
 5 |     "test"
 6 |   ],
 7 |   "compilerOptions": {
 8 |     "outDir": "dist",
 9 |     "rootDir": ".",
10 |     "baseUrl": ".",
11 |   }
12 | }
13 | 


--------------------------------------------------------------------------------
/packages/cubejs-prestodb-driver/.gitignore:
--------------------------------------------------------------------------------
1 | dist
2 | 


--------------------------------------------------------------------------------
/packages/cubejs-prestodb-driver/config/catalog/postgresql.properties:
--------------------------------------------------------------------------------
1 | connector.name=postgresql
2 | connection-url=jdbc:postgresql://postgres:5432/presto
3 | connection-user=presto
4 | connection-password=9bee2c3975024292eff5829526722ac2
5 | 


--------------------------------------------------------------------------------
/packages/cubejs-prestodb-driver/docker-compose.yml:
--------------------------------------------------------------------------------
 1 | version: '2.2'
 2 | 
 3 | services:
 4 |   coordinator:
 5 |     image: trinodb/trino
 6 |     ports:
 7 |       - "8080:8080"
 8 |     container_name: "coordinator"
 9 |     healthcheck:
10 |       test: "trino --execute 'SELECT 1' || exit 1"
11 |       interval: 10s
12 |       timeout: 5s
13 |       retries: 5
14 | 


--------------------------------------------------------------------------------
/packages/cubejs-prestodb-driver/jest.config.js:
--------------------------------------------------------------------------------
1 | const base = require('../../jest.base.config');
2 | 
3 | /** @type {import('jest').Config} */
4 | module.exports = {
5 |   ...base,
6 |   rootDir: '.',
7 | };
8 | 


--------------------------------------------------------------------------------
/packages/cubejs-prestodb-driver/src/index.ts:
--------------------------------------------------------------------------------
1 | import { PrestoDriver } from './PrestoDriver';
2 | 
3 | export default PrestoDriver;
4 | export { PrestoDriver };
5 | 


--------------------------------------------------------------------------------
/packages/cubejs-prestodb-driver/tsconfig.json:
--------------------------------------------------------------------------------
 1 | {
 2 |   "extends": "../../tsconfig.base.json",
 3 |   "include": [
 4 |     "src",
 5 |     "test"
 6 |   ],
 7 |   "compilerOptions": {
 8 |     "outDir": "dist",
 9 |     "rootDir": ".",
10 |     "baseUrl": "."
11 |   }
12 | }
13 | 


--------------------------------------------------------------------------------
/packages/cubejs-query-orchestrator/.gitignore:
--------------------------------------------------------------------------------
1 | dist
2 | .cubestore
3 | 


--------------------------------------------------------------------------------
/packages/cubejs-query-orchestrator/docker-compose.yml:
--------------------------------------------------------------------------------
1 | version: "3.2"
2 | services:
3 | 
4 |   redis:
5 |     image: "redis:alpine"
6 |     ports:
7 |       - "6379:6379"


--------------------------------------------------------------------------------
/packages/cubejs-query-orchestrator/jest.config.js:
--------------------------------------------------------------------------------
1 | const base = require('../../jest.base.config');
2 | 
3 | /** @type {import('jest').Config} */
4 | module.exports = {
5 |   ...base,
6 |   rootDir: '.',
7 | };
8 | 


--------------------------------------------------------------------------------
/packages/cubejs-query-orchestrator/src/index.ts:
--------------------------------------------------------------------------------
1 | export * from './orchestrator';
2 | 
3 | // reexport for backward compatibility
4 | export * from '@cubejs-backend/base-driver';
5 | 


--------------------------------------------------------------------------------
/packages/cubejs-query-orchestrator/src/orchestrator/ContinueWaitError.ts:
--------------------------------------------------------------------------------
1 | export class ContinueWaitError extends Error {
2 |   public constructor() {
3 |     super('Continue wait');
4 |   }
5 | }
6 | 


--------------------------------------------------------------------------------
/packages/cubejs-query-orchestrator/src/orchestrator/DriverFactory.ts:
--------------------------------------------------------------------------------
1 | import type { BaseDriver } from '@cubejs-backend/base-driver';
2 | 
3 | export type DriverFactory = () => (Promise<BaseDriver> | BaseDriver);
4 | export type DriverFactoryByDataSource =
5 |   (dataSource: string) => (Promise<BaseDriver> | BaseDriver);
6 | 


--------------------------------------------------------------------------------
/packages/cubejs-query-orchestrator/src/orchestrator/TimeoutError.ts:
--------------------------------------------------------------------------------
1 | export class TimeoutError extends Error {}
2 | 


--------------------------------------------------------------------------------
/packages/cubejs-query-orchestrator/test/unit/QueryCache.test.ts:
--------------------------------------------------------------------------------
1 | import { QueryCacheTest } from './QueryCache.abstract';
2 | 
3 | QueryCacheTest('Local');
4 | 


--------------------------------------------------------------------------------
/packages/cubejs-query-orchestrator/test/unit/QueryQueue.test.ts:
--------------------------------------------------------------------------------
1 | import { QueryQueueTest } from './QueryQueue.abstract';
2 | 
3 | QueryQueueTest('Local');
4 | 


--------------------------------------------------------------------------------
/packages/cubejs-questdb-driver/.gitignore:
--------------------------------------------------------------------------------
1 | dist
2 | 


--------------------------------------------------------------------------------
/packages/cubejs-questdb-driver/src/index.ts:
--------------------------------------------------------------------------------
1 | import { QuestDriver } from './QuestDriver';
2 | 
3 | export * from './QuestDriver';
4 | 
5 | export default QuestDriver;
6 | 


--------------------------------------------------------------------------------
/packages/cubejs-questdb-driver/tsconfig.json:
--------------------------------------------------------------------------------
 1 | {
 2 |   "extends": "../../tsconfig.base.json",
 3 |   "include": [
 4 |     "src",
 5 |     "test"
 6 |   ],
 7 |   "compilerOptions": {
 8 |     "outDir": "dist",
 9 |     "rootDir": ".",
10 |     "baseUrl": ".",
11 |   }
12 | }
13 | 


--------------------------------------------------------------------------------
/packages/cubejs-redshift-driver/.gitignore:
--------------------------------------------------------------------------------
1 | dist
2 | 


--------------------------------------------------------------------------------
/packages/cubejs-redshift-driver/src/index.ts:
--------------------------------------------------------------------------------
1 | import { RedshiftDriver } from './RedshiftDriver';
2 | 
3 | export * from './RedshiftDriver';
4 | 
5 | export default RedshiftDriver;
6 | 


--------------------------------------------------------------------------------
/packages/cubejs-redshift-driver/tsconfig.json:
--------------------------------------------------------------------------------
 1 | {
 2 |   "extends": "../../tsconfig.base.json",
 3 |   "include": [
 4 |     "src",
 5 |     "test"
 6 |   ],
 7 |   "compilerOptions": {
 8 |     "outDir": "dist",
 9 |     "rootDir": ".",
10 |     "baseUrl": ".",
11 |   }
12 | }
13 | 


--------------------------------------------------------------------------------
/packages/cubejs-schema-compiler/.eslintignore:
--------------------------------------------------------------------------------
 1 | src/parser/GenericSqlLexer.ts
 2 | src/parser/GenericSqlListener.ts
 3 | src/parser/GenericSqlParser.ts
 4 | src/parser/GenericSqlVisitor.ts
 5 | src/parser/Python3Lexer.ts
 6 | src/parser/Python3ParserListener.ts
 7 | src/parser/Python3Parser.ts
 8 | src/parser/Python3ParserVisitor.ts
 9 | test/unit/fixtures/*
10 | 


--------------------------------------------------------------------------------
/packages/cubejs-schema-compiler/.gitignore:
--------------------------------------------------------------------------------
1 | dist
2 | 


--------------------------------------------------------------------------------
/packages/cubejs-schema-compiler/src/compiler/CompileError.ts:
--------------------------------------------------------------------------------
1 | export class CompileError extends Error {
2 |   public constructor(
3 |     protected readonly messages: string,
4 |     protected readonly plainMessages?: string,
5 |   ) {
6 |     super(`Compile errors:\n${messages}`);
7 |   }
8 | }
9 | 


--------------------------------------------------------------------------------
/packages/cubejs-schema-compiler/src/compiler/DynamicReference.ts:
--------------------------------------------------------------------------------
1 | export class DynamicReference<T> {
2 |   public constructor(public memberNames: Array<string>, public fn: (...args: Array<unknown>) => T) {
3 |   }
4 | }
5 | 


--------------------------------------------------------------------------------
/packages/cubejs-schema-compiler/src/compiler/UserError.ts:
--------------------------------------------------------------------------------
1 | export class UserError extends Error {
2 |   protected readonly type: string = 'UserError';
3 | 
4 |   public constructor(message: string) {
5 |     super(message);
6 |   }
7 | }
8 | 


--------------------------------------------------------------------------------
/packages/cubejs-schema-compiler/src/compiler/converters/index.ts:
--------------------------------------------------------------------------------
1 | export * from './CubeSchemaConverter';
2 | export * from './CubePreAggregationConverter';
3 | 


--------------------------------------------------------------------------------
/packages/cubejs-schema-compiler/src/compiler/index.ts:
--------------------------------------------------------------------------------
1 | export * from './PrepareCompiler';
2 | export * from './UserError';
3 | export * from './converters';
4 | 


--------------------------------------------------------------------------------
/packages/cubejs-schema-compiler/src/compiler/transpilers/index.ts:
--------------------------------------------------------------------------------
1 | export * from './ImportExportTranspiler';
2 | export * from './CubePropContextTranspiler';
3 | export * from './CubeCheckDuplicatePropTranspiler';
4 | export * from './ValidationTranspiler';
5 | export * from './transpiler.interface';
6 | 


--------------------------------------------------------------------------------
/packages/cubejs-schema-compiler/src/extensions/index.ts:
--------------------------------------------------------------------------------
1 | export * from './Funnels';
2 | export * from './Reflection';
3 | export * from './RefreshKeys';
4 | export * from './extension.abstract';
5 | 


--------------------------------------------------------------------------------
/packages/cubejs-schema-compiler/src/index.ts:
--------------------------------------------------------------------------------
1 | export * from './adapter';
2 | export * from './compiler';
3 | export * from './scaffolding';
4 | export * from './extensions';
5 | 


--------------------------------------------------------------------------------
/packages/cubejs-schema-compiler/src/scaffolding/descriptors/MemberReference.ts:
--------------------------------------------------------------------------------
1 | export class MemberReference {
2 |   public constructor(public member) {
3 |     this.member = member;
4 |   }
5 | }
6 | 


--------------------------------------------------------------------------------
/packages/cubejs-schema-compiler/src/scaffolding/descriptors/ValueWithComments.ts:
--------------------------------------------------------------------------------
1 | export class ValueWithComments {
2 |   public constructor(
3 |     public readonly value: any,
4 |     public readonly comments: string[]
5 |   ) {
6 |   }
7 | }
8 | 


--------------------------------------------------------------------------------
/packages/cubejs-schema-compiler/src/scaffolding/formatters/index.ts:
--------------------------------------------------------------------------------
1 | export * from './JavaScriptSchemaFormatter';
2 | export * from './BaseSchemaFormatter';
3 | export * from './YamlSchemaFormatter';
4 | 


--------------------------------------------------------------------------------
/packages/cubejs-schema-compiler/src/scaffolding/index.ts:
--------------------------------------------------------------------------------
1 | export * from './ScaffoldingSchema';
2 | export * from './ScaffoldingTemplate';
3 | export * from './formatters';
4 | 


--------------------------------------------------------------------------------
/packages/cubejs-schema-compiler/test/global-setup.ts:
--------------------------------------------------------------------------------
1 | export default () => {
2 |   process.env.TZ = 'UTC';
3 | };
4 | 


--------------------------------------------------------------------------------
/packages/cubejs-schema-compiler/test/unit/TestHelperForImport.js:
--------------------------------------------------------------------------------
1 | exports.foo = () => 'bar';
2 | 


--------------------------------------------------------------------------------
/packages/cubejs-server-core/jest.config.js:
--------------------------------------------------------------------------------
 1 | const base = require('../../jest.base.config');
 2 | 
 3 | /** @type {import('jest').Config} */
 4 | module.exports = {
 5 |   ...base,
 6 |   rootDir: '.',
 7 |   setupFilesAfterEnv: [
 8 |     '<rootDir>/dist/test/setup.js'
 9 |   ],
10 | };
11 | 


--------------------------------------------------------------------------------
/packages/cubejs-server-core/src/core/utils.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cube-js/cube/2b400028f7b70a1e48fd82bd20a767fa8a3b2259/packages/cubejs-server-core/src/core/utils.ts


--------------------------------------------------------------------------------
/packages/cubejs-server/.gitignore:
--------------------------------------------------------------------------------
1 | dist
2 | 


--------------------------------------------------------------------------------
/packages/cubejs-server/bin/dev-server:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env node
2 | 
3 | require('@cubejs-backend/shared/dist/src/node-check');
4 | 
5 | require('../dist/src/bin/dev-server');
6 | 


--------------------------------------------------------------------------------
/packages/cubejs-server/bin/server:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env node
2 | 
3 | require('@cubejs-backend/shared/dist/src/node-check');
4 | 
5 | require('../dist/src/bin/server');
6 | 


--------------------------------------------------------------------------------
/packages/cubejs-server/command/README.md:
--------------------------------------------------------------------------------
1 | Compatibility layer for old Cube.js CLI. Because We started to compile src/ & test/ folders inside 
2 | cubejs-server package by TypeScript, which generates output of src/ folder to dist/src, but for compatibility reasons, 
3 | we should continue to support this path.
4 | 


--------------------------------------------------------------------------------
/packages/cubejs-server/command/dev-server.ts:
--------------------------------------------------------------------------------
1 | import DevServerCommand from '../src/command/dev-server';
2 | 
3 | export default DevServerCommand;
4 | 


--------------------------------------------------------------------------------
/packages/cubejs-server/command/server.ts:
--------------------------------------------------------------------------------
1 | import ServerCommand from '../src/command/server';
2 | 
3 | export default ServerCommand;
4 | 


--------------------------------------------------------------------------------
/packages/cubejs-server/tsconfig.json:
--------------------------------------------------------------------------------
 1 | {
 2 |   "extends": "../../tsconfig.base.json",
 3 |   "include": [
 4 |     "command",
 5 |     "src",
 6 |     "test"
 7 |   ],
 8 |   "compilerOptions": {
 9 |     "outDir": "dist",
10 |     "rootDir": ".",
11 |     "baseUrl": ".",
12 |     "allowJs": true,
13 |     "resolveJsonModule": true
14 |   }
15 | }
16 | 


--------------------------------------------------------------------------------
/packages/cubejs-snowflake-driver/.gitignore:
--------------------------------------------------------------------------------
1 | dist
2 | 


--------------------------------------------------------------------------------
/packages/cubejs-snowflake-driver/src/index.ts:
--------------------------------------------------------------------------------
1 | import { SnowflakeDriver } from './SnowflakeDriver';
2 | 
3 | export * from './SnowflakeDriver';
4 | 
5 | export default SnowflakeDriver;
6 | 


--------------------------------------------------------------------------------
/packages/cubejs-snowflake-driver/tsconfig.json:
--------------------------------------------------------------------------------
 1 | {
 2 |   "extends": "../../tsconfig.base.json",
 3 |   "include": [
 4 |     "src",
 5 |     "test"
 6 |   ],
 7 |   "compilerOptions": {
 8 |     "outDir": "dist",
 9 |     "rootDir": ".",
10 |     "baseUrl": ".",
11 |   }
12 | }
13 | 


--------------------------------------------------------------------------------
/packages/cubejs-templates/.gitignore:
--------------------------------------------------------------------------------
1 | dist
2 | 


--------------------------------------------------------------------------------
/packages/cubejs-templates/src/index.ts:
--------------------------------------------------------------------------------
1 | import 'source-map-support/register';
2 | 
3 | export * from './AppContainer';
4 | export * from './DependencyTree';
5 | export * from './PackageFetcher';
6 | export * from './DevPackageFetcher';
7 | export * from './SourceContainer';
8 | export * from './utils';
9 | 


--------------------------------------------------------------------------------
/packages/cubejs-templates/tsconfig.json:
--------------------------------------------------------------------------------
 1 | {
 2 |   "extends": "../../tsconfig.base.json",
 3 |   "include": [
 4 |     "src",
 5 |   ],
 6 |   "compilerOptions": {
 7 |     "outDir": "dist",
 8 |     "rootDir": ".",
 9 |     "baseUrl": ".",
10 |     "noImplicitAny": false,
11 |   },
12 | }
13 | 


--------------------------------------------------------------------------------
/packages/cubejs-testing-drivers/.gitignore:
--------------------------------------------------------------------------------
1 | .cubestore
2 | .temp
3 | fixtures/*.env
4 | .env.athena.sh
5 | .env.bigquery.sh
6 | .env.postgres.sh
7 | .env.databricks.sh
8 | 
9 | dist


--------------------------------------------------------------------------------
/packages/cubejs-testing-drivers/fixtures/_cube.js:
--------------------------------------------------------------------------------
 1 | module.exports = {
 2 |   contextToApiScopes: async (
 3 |     securityContext,
 4 |     defaultPermissions,
 5 |   ) => {
 6 |     defaultPermissions.push('jobs');
 7 |     return defaultPermissions;
 8 |   },
 9 | };
10 | 


--------------------------------------------------------------------------------
/packages/cubejs-testing-drivers/fixtures/_package.json:
--------------------------------------------------------------------------------
1 | {
2 |   "name": "testing-drivers",
3 |   "version": "0.0.0",
4 |   "private": true
5 | }


--------------------------------------------------------------------------------
/packages/cubejs-testing-drivers/test/athena-core.test.ts:
--------------------------------------------------------------------------------
1 | import { testSequence } from '../src/tests/testSequence';
2 | 
3 | testSequence('athena');
4 | 


--------------------------------------------------------------------------------
/packages/cubejs-testing-drivers/test/athena-driver.test.ts:
--------------------------------------------------------------------------------
1 | import { testConnection } from '../src/tests/testConnection';
2 | 
3 | testConnection('athena');
4 | 


--------------------------------------------------------------------------------
/packages/cubejs-testing-drivers/test/athena-export-bucket-s3-full.test.ts:
--------------------------------------------------------------------------------
1 | import { testQueries } from '../src/tests/testQueries';
2 | 
3 | testQueries('athena', { includeIncrementalSchemaSuite: true });
4 | 


--------------------------------------------------------------------------------
/packages/cubejs-testing-drivers/test/bigquery-core.test.ts:
--------------------------------------------------------------------------------
1 | import { testSequence } from '../src/tests/testSequence';
2 | 
3 | testSequence('bigquery');
4 | 


--------------------------------------------------------------------------------
/packages/cubejs-testing-drivers/test/bigquery-driver.test.ts:
--------------------------------------------------------------------------------
1 | import { testConnection } from '../src/tests/testConnection';
2 | 
3 | testConnection('bigquery');
4 | 


--------------------------------------------------------------------------------
/packages/cubejs-testing-drivers/test/bigquery-export-bucket-gcs-full.test.ts:
--------------------------------------------------------------------------------
1 | import { testQueries } from '../src/tests/testQueries';
2 | 
3 | testQueries('bigquery', {
4 |   includeIncrementalSchemaSuite: true,
5 |   includeHLLSuite: true,
6 | });
7 | 


--------------------------------------------------------------------------------
/packages/cubejs-testing-drivers/test/buildCubeImage.ts:
--------------------------------------------------------------------------------
1 | import { buildCube } from '../src/helpers/buildCube';
2 | 
3 | buildCube();
4 | 


--------------------------------------------------------------------------------
/packages/cubejs-testing-drivers/test/clickhouse-core.test.ts:
--------------------------------------------------------------------------------
1 | import { testSequence } from '../src/tests/testSequence';
2 | 
3 | testSequence('clickhouse');
4 | 


--------------------------------------------------------------------------------
/packages/cubejs-testing-drivers/test/clickhouse-driver.test.ts:
--------------------------------------------------------------------------------
1 | import { testConnection } from '../src/tests/testConnection';
2 | 
3 | testConnection('clickhouse');
4 | 


--------------------------------------------------------------------------------
/packages/cubejs-testing-drivers/test/clickhouse-export-bucket-s3-full.test.ts:
--------------------------------------------------------------------------------
1 | import { testQueries } from '../src/tests/testQueries';
2 | 
3 | testQueries('clickhouse', {
4 |   includeIncrementalSchemaSuite: true,
5 |   extendedEnv: 'export-bucket-s3'
6 | });
7 | 


--------------------------------------------------------------------------------
/packages/cubejs-testing-drivers/test/clickhouse-full.test.ts:
--------------------------------------------------------------------------------
1 | import { testQueries } from '../src/tests/testQueries';
2 | 
3 | testQueries('clickhouse', {
4 |   includeIncrementalSchemaSuite: true,
5 | });
6 | 


--------------------------------------------------------------------------------
/packages/cubejs-testing-drivers/test/databricks-jdbc-core.test.ts:
--------------------------------------------------------------------------------
1 | import { testSequence } from '../src/tests/testSequence';
2 | 
3 | testSequence('databricks-jdbc');
4 | 


--------------------------------------------------------------------------------
/packages/cubejs-testing-drivers/test/databricks-jdbc-driver.test.ts:
--------------------------------------------------------------------------------
1 | import { testConnection } from '../src/tests/testConnection';
2 | 
3 | testConnection('databricks-jdbc');
4 | 


--------------------------------------------------------------------------------
/packages/cubejs-testing-drivers/test/databricks-jdbc-export-bucket-azure-full.test.ts:
--------------------------------------------------------------------------------
1 | import { testQueries } from '../src/tests/testQueries';
2 | 
3 | testQueries('databricks-jdbc', {
4 |   includeHLLSuite: true,
5 |   extendedEnv: 'export-bucket-azure'
6 | });
7 | 


--------------------------------------------------------------------------------
/packages/cubejs-testing-drivers/test/databricks-jdbc-export-bucket-azure-prefix-full.test.ts:
--------------------------------------------------------------------------------
1 | import { testQueries } from '../src/tests/testQueries';
2 | 
3 | testQueries('databricks-jdbc', {
4 |   includeHLLSuite: false,
5 |   extendedEnv: 'export-bucket-azure-prefix'
6 | });
7 | 


--------------------------------------------------------------------------------
/packages/cubejs-testing-drivers/test/databricks-jdbc-export-bucket-gcs-full.test.ts:
--------------------------------------------------------------------------------
1 | import { testQueries } from '../src/tests/testQueries';
2 | 
3 | testQueries('databricks-jdbc', {
4 |   includeHLLSuite: true,
5 |   extendedEnv: 'export-bucket-gcs'
6 | });
7 | 


--------------------------------------------------------------------------------
/packages/cubejs-testing-drivers/test/databricks-jdbc-export-bucket-gcs-prefix-full.test.ts:
--------------------------------------------------------------------------------
1 | import { testQueries } from '../src/tests/testQueries';
2 | 
3 | testQueries('databricks-jdbc', {
4 |   includeHLLSuite: false,
5 |   extendedEnv: 'export-bucket-gcs-prefix'
6 | });
7 | 


--------------------------------------------------------------------------------
/packages/cubejs-testing-drivers/test/databricks-jdbc-full.test.ts:
--------------------------------------------------------------------------------
1 | import { testQueries } from '../src/tests/testQueries';
2 | 
3 | testQueries('databricks-jdbc', {
4 |   includeIncrementalSchemaSuite: true,
5 |   includeHLLSuite: true,
6 | });
7 | 


--------------------------------------------------------------------------------
/packages/cubejs-testing-drivers/test/mssql-core.test.ts:
--------------------------------------------------------------------------------
1 | import { testSequence } from '../src/tests/testSequence';
2 | 
3 | testSequence('mssql');
4 | 


--------------------------------------------------------------------------------
/packages/cubejs-testing-drivers/test/mssql-driver.test.ts:
--------------------------------------------------------------------------------
1 | import { testConnection } from '../src/tests/testConnection';
2 | 
3 | testConnection('mssql');
4 | 


--------------------------------------------------------------------------------
/packages/cubejs-testing-drivers/test/mssql-full.test.ts:
--------------------------------------------------------------------------------
1 | import { testQueries } from '../src/tests/testQueries';
2 | 
3 | testQueries('mssql', { includeIncrementalSchemaSuite: true });
4 | 


--------------------------------------------------------------------------------
/packages/cubejs-testing-drivers/test/mysql-core.test.ts:
--------------------------------------------------------------------------------
1 | import { testSequence } from '../src/tests/testSequence';
2 | 
3 | testSequence('mysql');
4 | 


--------------------------------------------------------------------------------
/packages/cubejs-testing-drivers/test/mysql-driver.test.ts:
--------------------------------------------------------------------------------
1 | import { testConnection } from '../src/tests/testConnection';
2 | 
3 | testConnection('mysql');
4 | 


--------------------------------------------------------------------------------
/packages/cubejs-testing-drivers/test/mysql-full.test.ts:
--------------------------------------------------------------------------------
1 | import { testQueries } from '../src/tests/testQueries';
2 | 
3 | testQueries('mysql', { includeIncrementalSchemaSuite: true });
4 | 


--------------------------------------------------------------------------------
/packages/cubejs-testing-drivers/test/postgres-core.test.ts:
--------------------------------------------------------------------------------
1 | import { testSequence } from '../src/tests/testSequence';
2 | 
3 | testSequence('postgres');
4 | 


--------------------------------------------------------------------------------
/packages/cubejs-testing-drivers/test/postgres-driver.test.ts:
--------------------------------------------------------------------------------
1 | import { testConnection } from '../src/tests/testConnection';
2 | 
3 | testConnection('postgres');
4 | 


--------------------------------------------------------------------------------
/packages/cubejs-testing-drivers/test/postgres-full.test.ts:
--------------------------------------------------------------------------------
1 | import { testQueries } from '../src/tests/testQueries';
2 | 
3 | testQueries('postgres', {
4 |   includeIncrementalSchemaSuite: true,
5 |   includeHLLSuite: true,
6 | });
7 | 


--------------------------------------------------------------------------------
/packages/cubejs-testing-drivers/test/redshift-core.test.ts:
--------------------------------------------------------------------------------
1 | import { testSequence } from '../src/tests/testSequence';
2 | 
3 | testSequence('redshift');
4 | 


--------------------------------------------------------------------------------
/packages/cubejs-testing-drivers/test/redshift-driver.test.ts:
--------------------------------------------------------------------------------
1 | import { testConnection } from '../src/tests/testConnection';
2 | 
3 | testConnection('redshift');
4 | 


--------------------------------------------------------------------------------
/packages/cubejs-testing-drivers/test/redshift-full.test.ts:
--------------------------------------------------------------------------------
1 | import { testQueries } from '../src/tests/testQueries';
2 | 
3 | testQueries('redshift', {
4 |   includeIncrementalSchemaSuite: true,
5 |   externalSchemaTests: true
6 | });
7 | 


--------------------------------------------------------------------------------
/packages/cubejs-testing-drivers/test/snowflake-core.test.ts:
--------------------------------------------------------------------------------
1 | import { testSequence } from '../src/tests/testSequence';
2 | 
3 | testSequence('snowflake');
4 | 


--------------------------------------------------------------------------------
/packages/cubejs-testing-drivers/test/snowflake-driver.test.ts:
--------------------------------------------------------------------------------
1 | import { testConnection } from '../src/tests/testConnection';
2 | 
3 | testConnection('snowflake');
4 | 


--------------------------------------------------------------------------------
/packages/cubejs-testing-drivers/test/snowflake-encrypted-pk-full.test.ts:
--------------------------------------------------------------------------------
1 | import { testQueries } from '../src/tests/testQueries';
2 | 
3 | testQueries('snowflake', {
4 |   includeIncrementalSchemaSuite: false,
5 |   includeHLLSuite: false,
6 |   extendedEnv: 'encrypted-pk',
7 | });
8 | 


--------------------------------------------------------------------------------
/packages/cubejs-testing-drivers/test/snowflake-export-bucket-azure-full.test.ts:
--------------------------------------------------------------------------------
1 | import { testQueries } from '../src/tests/testQueries';
2 | 
3 | testQueries('snowflake', {
4 |   includeHLLSuite: true,
5 |   extendedEnv: 'export-bucket-azure'
6 | });
7 | 


--------------------------------------------------------------------------------
/packages/cubejs-testing-drivers/test/snowflake-export-bucket-azure-prefix-full.test.ts:
--------------------------------------------------------------------------------
1 | import { testQueries } from '../src/tests/testQueries';
2 | 
3 | testQueries('snowflake', {
4 |   includeHLLSuite: false,
5 |   extendedEnv: 'export-bucket-azure-prefix'
6 | });
7 | 


--------------------------------------------------------------------------------
/packages/cubejs-testing-drivers/test/snowflake-export-bucket-azure-via-storage-integration-full.test.ts:
--------------------------------------------------------------------------------
1 | import { testQueries } from '../src/tests/testQueries';
2 | 
3 | testQueries('snowflake', {
4 |   includeHLLSuite: true,
5 |   extendedEnv: 'export-bucket-azure-via-storage-integration'
6 | });
7 | 


--------------------------------------------------------------------------------
/packages/cubejs-testing-drivers/test/snowflake-export-bucket-gcs-full.test.ts:
--------------------------------------------------------------------------------
1 | import { testQueries } from '../src/tests/testQueries';
2 | 
3 | testQueries('snowflake', {
4 |   includeHLLSuite: true,
5 |   extendedEnv: 'export-bucket-gcs'
6 | });
7 | 


--------------------------------------------------------------------------------
/packages/cubejs-testing-drivers/test/snowflake-export-bucket-gcs-prefix-full.test.ts:
--------------------------------------------------------------------------------
1 | import { testQueries } from '../src/tests/testQueries';
2 | 
3 | testQueries('snowflake', {
4 |   includeHLLSuite: false,
5 |   extendedEnv: 'export-bucket-gcs-prefix'
6 | });
7 | 


--------------------------------------------------------------------------------
/packages/cubejs-testing-drivers/test/snowflake-full.test.ts:
--------------------------------------------------------------------------------
1 | import { testQueries } from '../src/tests/testQueries';
2 | 
3 | testQueries('snowflake', {
4 |   includeIncrementalSchemaSuite: true,
5 |   includeHLLSuite: true,
6 | });
7 | 


--------------------------------------------------------------------------------
/packages/cubejs-testing-drivers/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 |   "extends": "../../tsconfig.base.json",
3 |   "include": ["src", "test"],
4 |   "compilerOptions": {
5 |     "outDir": "dist",
6 |     "rootDir": ".",
7 |     "baseUrl": "."
8 |   }
9 | }


--------------------------------------------------------------------------------
/packages/cubejs-testing-shared/.gitignore:
--------------------------------------------------------------------------------
1 | dist
2 | 


--------------------------------------------------------------------------------
/packages/cubejs-testing-shared/src/index.ts:
--------------------------------------------------------------------------------
 1 | import dedent from 'dedent';
 2 | 
 3 | export * from './query-test.abstract';
 4 | export * from './DriverTests';
 5 | export * from './utils';
 6 | 
 7 | export * from './db-container-runners';
 8 | 
 9 | export const smartStringTrim = dedent;
10 | 


--------------------------------------------------------------------------------
/packages/cubejs-testing-shared/tsconfig.json:
--------------------------------------------------------------------------------
 1 | {
 2 |   "extends": "../../tsconfig.base.json",
 3 |   "include": [
 4 |     "src"
 5 |   ],
 6 |   "compilerOptions": {
 7 |     "outDir": "dist",
 8 |     "rootDir": ".",
 9 |     "baseUrl": ".",
10 |   }
11 | }
12 | 


--------------------------------------------------------------------------------
/packages/cubejs-testing/birdbox-fixtures/databricks-jdbc/cube.js:
--------------------------------------------------------------------------------
 1 | // Cube.js configuration options: https://cube.dev/docs/config
 2 | module.exports = {
 3 |   queryRewrite: (query) => {
 4 |     if (query.measures) {
 5 |       query.measures = query.measures.filter(m => m !== 'Orders.toRemove');
 6 |     }
 7 |     return query;
 8 |   }
 9 | };
10 | 


--------------------------------------------------------------------------------
/packages/cubejs-testing/birdbox-fixtures/postgresql/cube.js:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cube-js/cube/2b400028f7b70a1e48fd82bd20a767fa8a3b2259/packages/cubejs-testing/birdbox-fixtures/postgresql/cube.js


--------------------------------------------------------------------------------
/packages/cubejs-testing/birdbox-fixtures/postgresql/scripts/load-pre-aggregations.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | exec 2>&1
3 | set -x
4 | set -e
5 | 
6 | psql -U test -d test -f /scripts/*.sql
7 | 


--------------------------------------------------------------------------------
/packages/cubejs-testing/birdbox-fixtures/postgresql/scripts/load.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | exec 2>&1
3 | set -x
4 | set -e
5 | 
6 | psql -U test -d test -f /data/*.sql
7 | 


--------------------------------------------------------------------------------
/packages/cubejs-testing/birdbox-fixtures/postgresql/single/cube.js:
--------------------------------------------------------------------------------
 1 | // Cube.js configuration options: https://cube.dev/docs/config
 2 | module.exports = {
 3 |   queryRewrite: (query) => {
 4 |     if (query.measures) {
 5 |       query.measures = query.measures.filter(m => m !== 'Orders.toRemove');
 6 |     }
 7 |     return query;
 8 |   }
 9 | };
10 | 


--------------------------------------------------------------------------------
/packages/cubejs-testing/birdbox-fixtures/smoke/cube.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 |   orchestratorOptions: {
3 |     preAggregationsOptions: {
4 |       externalRefresh: false,
5 |     },
6 |   },
7 | };
8 | 


--------------------------------------------------------------------------------
/packages/cubejs-testing/cypress/fixtures/example.json:
--------------------------------------------------------------------------------
1 | {
2 |   "name": "Using fixtures to represent data",
3 |   "email": "hello@cypress.io",
4 |   "body": "Fixtures are a great way to mock data for responses to routes"
5 | }


--------------------------------------------------------------------------------
/packages/cubejs-testing/cypress/tsconfig.json:
--------------------------------------------------------------------------------
 1 | {
 2 |   "extends": "../tsconfig.json",
 3 |   "include": [
 4 |     "src",
 5 |     "test"
 6 |   ],
 7 |   "compilerOptions": {
 8 |     "types": ["cypress", "@4tw/cypress-drag-drop"],
 9 |     "outDir": "dist",
10 |     "rootDir": ".",
11 |     "baseUrl": ".",
12 |     "sourceMap": false
13 |   }
14 | }


--------------------------------------------------------------------------------
/packages/cubejs-testing/jest.config.js:
--------------------------------------------------------------------------------
 1 | const base = require('../../jest.base.config');
 2 | 
 3 | /** @type {import('jest').Config} */
 4 | module.exports = {
 5 |   ...base,
 6 |   rootDir: '.',
 7 |   testMatch: [
 8 |     '<rootDir>/dist/test/*.{test,spec}.{ts,js}'
 9 |   ],
10 |   snapshotResolver: '<rootDir>/test/snapshotResolver.js',
11 | };
12 | 


--------------------------------------------------------------------------------
/packages/cubejs-testing/src/index.ts:
--------------------------------------------------------------------------------
1 | export * from './birdbox';
2 | 


--------------------------------------------------------------------------------
/packages/cubejs-testing/test/__snapshots__/smoke-athena.test.ts.snap:
--------------------------------------------------------------------------------
 1 | // Jest Snapshot v1, https://goo.gl/fbAQLP
 2 | 
 3 | exports[`athena query measure: query 1`] = `
 4 | Array [
 5 |   Object {
 6 |     "Orders.totalAmount": "1700",
 7 |   },
 8 | ]
 9 | `;
10 | 


--------------------------------------------------------------------------------
/packages/cubejs-testing/test/__snapshots__/smoke-bigquery.test.ts.snap:
--------------------------------------------------------------------------------
 1 | // Jest Snapshot v1, https://goo.gl/fbAQLP
 2 | 
 3 | exports[`bigquery query measure: query 1`] = `
 4 | Array [
 5 |   Object {
 6 |     "Orders.totalAmount": 1700,
 7 |   },
 8 | ]
 9 | `;
10 | 


--------------------------------------------------------------------------------
/packages/cubejs-testing/test/__snapshots__/smoke-crate.test.ts.snap:
--------------------------------------------------------------------------------
 1 | // Jest Snapshot v1, https://goo.gl/fbAQLP
 2 | 
 3 | exports[`crate query measure: query 1`] = `
 4 | Array [
 5 |   Object {
 6 |     "Orders.totalAmount": "1700",
 7 |   },
 8 | ]
 9 | `;
10 | 


--------------------------------------------------------------------------------
/packages/cubejs-testing/test/__snapshots__/smoke-duckdb.test.ts.snap:
--------------------------------------------------------------------------------
 1 | // Jest Snapshot v1, https://goo.gl/fbAQLP
 2 | 
 3 | exports[`duckdb query measure: query 1`] = `
 4 | Array [
 5 |   Object {
 6 |     "Orders.totalAmount": "1700",
 7 |   },
 8 | ]
 9 | `;
10 | 


--------------------------------------------------------------------------------
/packages/cubejs-testing/test/__snapshots__/smoke-oracle.test.ts.snap:
--------------------------------------------------------------------------------
 1 | // Jest Snapshot v1, https://goo.gl/fbAQLP
 2 | 
 3 | exports[`oracle query measure: query 1`] = `
 4 | Array [
 5 |   Object {
 6 |     "Orders.totalAmount": 1700,
 7 |   },
 8 | ]
 9 | `;
10 | 


--------------------------------------------------------------------------------
/packages/cubejs-testing/test/__snapshots__/smoke-questdb.test.ts.snap:
--------------------------------------------------------------------------------
 1 | // Jest Snapshot v1, https://goo.gl/fbAQLP
 2 | 
 3 | exports[`questdb query measure: query 1`] = `
 4 | Array [
 5 |   Object {
 6 |     "Orders.totalAmount": "1700",
 7 |   },
 8 | ]
 9 | `;
10 | 


--------------------------------------------------------------------------------
/packages/cubejs-testing/test/birdbox-postgresql-cubestore.test.ts:
--------------------------------------------------------------------------------
1 | import { createBirdBoxTestCase } from './abstract-test-case';
2 | import { startBirdBoxFromContainer } from '../src';
3 | 
4 | createBirdBoxTestCase('postgresql-cubestore', () => startBirdBoxFromContainer({
5 |   type: 'postgresql-cubestore',
6 |   loadScript: 'postgres-load-events.sh',
7 | }));
8 | 


--------------------------------------------------------------------------------
/packages/cubejs-testing/test/birdbox-postgresql.test.ts:
--------------------------------------------------------------------------------
1 | import { createBirdBoxTestCase } from './abstract-test-case';
2 | import { startBirdBoxFromContainer } from '../src';
3 | 
4 | createBirdBoxTestCase('postgresql', () => startBirdBoxFromContainer({
5 |   type: 'postgresql',
6 |   loadScript: 'postgres-load-events.sh',
7 | }));
8 | 


--------------------------------------------------------------------------------
/packages/cubejs-testing/tsconfig.json:
--------------------------------------------------------------------------------
 1 | {
 2 |   "extends": "../../tsconfig.base.json",
 3 |   "include": [
 4 |     "src",
 5 |     "test"
 6 |   ],
 7 |   "compilerOptions": {
 8 |     "types": ["cypress", "@4tw/cypress-drag-drop"],
 9 |     "outDir": "dist",
10 |     "rootDir": ".",
11 |     "baseUrl": ".",
12 |   }
13 | }


--------------------------------------------------------------------------------
/packages/cubejs-trino-driver/.gitignore:
--------------------------------------------------------------------------------
1 | dist
2 | 


--------------------------------------------------------------------------------
/packages/cubejs-trino-driver/docker-compose.yml:
--------------------------------------------------------------------------------
 1 | version: '2.2'
 2 | 
 3 | services:
 4 |   coordinator:
 5 |     image: trinodb/trino
 6 |     ports:
 7 |       - "8080:8080"
 8 |     container_name: "coordinator"
 9 |     healthcheck:
10 |       test: "trino --execute 'SELECT 1' || exit 1"
11 |       interval: 10s
12 |       timeout: 5s
13 |       retries: 5
14 | 


--------------------------------------------------------------------------------
/packages/cubejs-trino-driver/src/index.ts:
--------------------------------------------------------------------------------
1 | import { TrinoDriver } from './TrinoDriver';
2 | 
3 | export default TrinoDriver;
4 | export { TrinoDriver };
5 | 


--------------------------------------------------------------------------------
/packages/cubejs-trino-driver/tsconfig.json:
--------------------------------------------------------------------------------
 1 | {
 2 |   "extends": "../../tsconfig.base.json",
 3 |   "include": [
 4 |     "src",
 5 |     "test"
 6 |   ],
 7 |   "compilerOptions": {
 8 |     "outDir": "dist",
 9 |     "rootDir": ".",
10 |     "baseUrl": "."
11 |   }
12 | }
13 | 


--------------------------------------------------------------------------------
/packages/cubejs-vertica-driver/jest.config.js:
--------------------------------------------------------------------------------
1 | const base = require('../../jest.base.config');
2 | 
3 | /** @type {import('jest').Config} */
4 | module.exports = {
5 |   ...base,
6 |   rootDir: '.',
7 | };
8 | 


--------------------------------------------------------------------------------
/rust/cubenativeutils/.gitignore:
--------------------------------------------------------------------------------
 1 | /target
 2 | /cubesql/target
 3 | /.idea
 4 | upstream
 5 | .cargo/config.toml
 6 | dist
 7 | node_modules
 8 | .vscode
 9 | /cubesql/egraph-debug
10 | /cubesql/egraph-debug-final
11 | /cubesql/egraph-debug-intermediate
12 | egraph-debug
13 | /cubesql/debug-qtrace
14 | 


--------------------------------------------------------------------------------
/rust/cubenativeutils/rust-toolchain.toml:
--------------------------------------------------------------------------------
1 | [toolchain]
2 | channel = "1.84.1"
3 | components = ["rustfmt", "rustc-dev", "clippy"]
4 | profile = "minimal"
5 | 


--------------------------------------------------------------------------------
/rust/cubenativeutils/rustfmt.toml:
--------------------------------------------------------------------------------
1 | # TODO: Uncomment, when it will become stable in rustfmt - https://github.com/rust-lang/rustfmt/issues/4991
2 | # imports_granularity = "Crate"
3 | 


--------------------------------------------------------------------------------
/rust/cubenativeutils/src/lib.rs:
--------------------------------------------------------------------------------
1 | pub mod wrappers;
2 | pub use cubesql::{CubeError, CubeErrorCauseType};
3 | 


--------------------------------------------------------------------------------
/rust/cubenativeutils/src/wrappers/args_holder.rs:
--------------------------------------------------------------------------------
1 | use cubesql::CubeError;
2 | use serde::Serialize;
3 | 
4 | pub trait NativeArgsHolder {
5 |     fn add<T: Serialize>(&mut self, arg: T) -> Result<(), CubeError>;
6 | }
7 | 


--------------------------------------------------------------------------------
/rust/cubenativeutils/src/wrappers/neon/mod.rs:
--------------------------------------------------------------------------------
1 | pub mod context;
2 | pub mod inner_types;
3 | pub mod object;
4 | 


--------------------------------------------------------------------------------
/rust/cubenativeutils/src/wrappers/serializer/mod.rs:
--------------------------------------------------------------------------------
1 | pub mod deserialize;
2 | pub mod deserializer;
3 | pub mod error;
4 | pub mod serialize;
5 | pub mod serializer;
6 | 
7 | pub use deserialize::{NativeDeserialize, NativeDeserializer};
8 | pub use serialize::NativeSerialize;
9 | 


--------------------------------------------------------------------------------
/rust/cubeorchestrator/.gitignore:
--------------------------------------------------------------------------------
1 | /target
2 | /.idea
3 | .vscode
4 | 


--------------------------------------------------------------------------------
/rust/cubeorchestrator/CHANGELOG.md:
--------------------------------------------------------------------------------
1 | # ChangeLog
2 | 
3 | 


--------------------------------------------------------------------------------
/rust/cubeorchestrator/rust-toolchain.toml:
--------------------------------------------------------------------------------
1 | [toolchain]
2 | channel = "1.84.1"
3 | components = ["rustfmt", "clippy"]
4 | profile = "minimal"
5 | 


--------------------------------------------------------------------------------
/rust/cubeorchestrator/rustfmt.toml:
--------------------------------------------------------------------------------
1 | imports_granularity = "Crate"
2 | 


--------------------------------------------------------------------------------
/rust/cubeorchestrator/src/lib.rs:
--------------------------------------------------------------------------------
1 | pub mod query_message_parser;
2 | pub mod query_result_transform;
3 | pub mod transport;
4 | 


--------------------------------------------------------------------------------
/rust/cubeshared/.gitignore:
--------------------------------------------------------------------------------
1 | /target
2 | /.idea
3 | .vscode
4 | 


--------------------------------------------------------------------------------
/rust/cubeshared/CHANGELOG.md:
--------------------------------------------------------------------------------
1 | # ChangeLog
2 | 
3 | 


--------------------------------------------------------------------------------
/rust/cubeshared/Cargo.toml:
--------------------------------------------------------------------------------
1 | [package]
2 | name = "cubeshared"
3 | version = "0.1.0"
4 | edition = "2021"
5 | 
6 | [dependencies]
7 | flatbuffers = "23.1.21"
8 | 


--------------------------------------------------------------------------------
/rust/cubeshared/flatbuffers-codegen.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | 
3 | cd ./src/codegen || exit 1
4 | flatc --rust http_message.fbs
5 | 


--------------------------------------------------------------------------------
/rust/cubeshared/rust-toolchain.toml:
--------------------------------------------------------------------------------
1 | [toolchain]
2 | channel = "1.84.1"
3 | components = ["rustfmt", "clippy"]
4 | profile = "minimal"
5 | 


--------------------------------------------------------------------------------
/rust/cubeshared/rustfmt.toml:
--------------------------------------------------------------------------------
1 | imports_granularity = "Crate"


--------------------------------------------------------------------------------
/rust/cubeshared/src/codegen/mod.rs:
--------------------------------------------------------------------------------
1 | #[allow(unused_imports)]
2 | mod http_message_generated;
3 | 
4 | pub use http_message_generated::*;
5 | 


--------------------------------------------------------------------------------
/rust/cubeshared/src/lib.rs:
--------------------------------------------------------------------------------
1 | pub mod codegen;
2 | 


--------------------------------------------------------------------------------
/rust/cubesql/.cargo/config.toml:
--------------------------------------------------------------------------------
1 | # Please keep in sync this file with packages/cubejs-backend-native!
2 | 
3 | # If you are going to use local fork, feel free to uncomment
4 | #paths = ["../../../sqlparser-rs", "../../../arrow-datafusion/datafusion"]
5 | #paths = ["../../../arrow-datafusion/datafusion"]
6 | 


--------------------------------------------------------------------------------
/rust/cubesql/.gitignore:
--------------------------------------------------------------------------------
 1 | /target
 2 | /cubesql/target
 3 | /.idea
 4 | upstream
 5 | dist
 6 | node_modules
 7 | .vscode
 8 | /cubesql/egraph-debug
 9 | /cubesql/egraph-debug-final
10 | /cubesql/egraph-debug-intermediate
11 | egraph-debug
12 | /cubesql/debug-qtrace
13 | 


--------------------------------------------------------------------------------
/rust/cubesql/Cargo.toml:
--------------------------------------------------------------------------------
 1 | [workspace]
 2 | resolver = "2"
 3 | members = [
 4 |     "cubesql",
 5 |     "cubeclient",
 6 |     "pg-srv"
 7 | ]
 8 | 
 9 | [profile.bench]
10 | debug = true
11 | 


--------------------------------------------------------------------------------
/rust/cubesql/cubeclient/.gitignore:
--------------------------------------------------------------------------------
1 | /target/
2 | **/*.rs.bk
3 | Cargo.lock
4 | 


--------------------------------------------------------------------------------
/rust/cubesql/cubeclient/.openapi-generator/VERSION:
--------------------------------------------------------------------------------
1 | 7.14.0
2 | 


--------------------------------------------------------------------------------
/rust/cubesql/cubeclient/src/lib.rs:
--------------------------------------------------------------------------------
 1 | #![allow(unused_imports)]
 2 | #![allow(clippy::too_many_arguments)]
 3 | 
 4 | extern crate reqwest;
 5 | extern crate serde;
 6 | extern crate serde_json;
 7 | extern crate serde_repr;
 8 | extern crate url;
 9 | 
10 | pub mod apis;
11 | pub mod models;
12 | 


--------------------------------------------------------------------------------
/rust/cubesql/cubesql/e2e/tests/mod.rs:
--------------------------------------------------------------------------------
1 | pub mod basic;
2 | pub mod postgres;
3 | pub mod utils;
4 | 


--------------------------------------------------------------------------------
/rust/cubesql/cubesql/egraph-debug-template/public/index.html:
--------------------------------------------------------------------------------
1 | <div id="container">
2 |     <div id="ui"></div>
3 | </div>
4 | 


--------------------------------------------------------------------------------
/rust/cubesql/cubesql/src/compile/engine/df/mod.rs:
--------------------------------------------------------------------------------
1 | pub mod coerce;
2 | pub mod columar;
3 | pub mod optimizers;
4 | pub mod planner;
5 | pub mod scan;
6 | pub mod wrapper;
7 | 


--------------------------------------------------------------------------------
/rust/cubesql/cubesql/src/compile/engine/information_schema/mod.rs:
--------------------------------------------------------------------------------
1 | pub mod mysql;
2 | pub mod postgres;
3 | pub mod redshift;
4 | pub mod utils;
5 | 


--------------------------------------------------------------------------------
/rust/cubesql/cubesql/src/compile/engine/information_schema/mysql/mod.rs:
--------------------------------------------------------------------------------
 1 | pub mod collations;
 2 | pub mod columns;
 3 | pub mod ext;
 4 | pub mod key_column_usage;
 5 | pub mod processlist;
 6 | pub mod referential_constraints;
 7 | pub mod schemata;
 8 | pub mod statistics;
 9 | pub mod tables;
10 | pub mod variables;
11 | 
12 | use super::utils;
13 | 


--------------------------------------------------------------------------------
/rust/cubesql/cubesql/src/compile/engine/mod.rs:
--------------------------------------------------------------------------------
 1 | pub mod df;
 2 | pub mod information_schema;
 3 | pub mod udf;
 4 | 
 5 | mod context;
 6 | mod context_mysql;
 7 | mod context_postgresql;
 8 | mod variable_provider;
 9 | 
10 | // Public API
11 | pub use context::*;
12 | pub use variable_provider::*;
13 | 


--------------------------------------------------------------------------------
/rust/cubesql/cubesql/src/compile/engine/udf/extension/mod.rs:
--------------------------------------------------------------------------------
1 | mod xirr;
2 | 
3 | pub use xirr::*;
4 | 


--------------------------------------------------------------------------------
/rust/cubesql/cubesql/src/compile/engine/udf/mod.rs:
--------------------------------------------------------------------------------
 1 | mod common;
 2 | mod extension;
 3 | mod pg_catalog;
 4 | mod redshift;
 5 | mod utils;
 6 | 
 7 | pub use common::*;
 8 | pub use extension::*;
 9 | pub use pg_catalog::*;
10 | pub use redshift::*;
11 | 


--------------------------------------------------------------------------------
/rust/cubesql/cubesql/src/compile/snapshots/cubesql__compile__tests__avg_null_type.snap:
--------------------------------------------------------------------------------
 1 | ---
 2 | source: cubesql/src/compile/mod.rs
 3 | expression: "execute_query(\"SELECT AVG(x) FROM (SELECT NULL AS x) AS t\".to_string(),\nDatabaseProtocol::PostgreSQL).await?"
 4 | ---
 5 | +----------+
 6 | | AVG(t.x) |
 7 | +----------+
 8 | | NULL     |
 9 | +----------+
10 | 


--------------------------------------------------------------------------------
/rust/cubesql/cubesql/src/compile/snapshots/cubesql__compile__tests__cube_scan_exec.snap:
--------------------------------------------------------------------------------
 1 | ---
 2 | source: cubesql/src/compile/mod.rs
 3 | expression: context.execute_query(query).await.unwrap()
 4 | ---
 5 | +----------+
 6 | | dim_str0 |
 7 | +----------+
 8 | | foo      |
 9 | +----------+
10 | 


--------------------------------------------------------------------------------
/rust/cubesql/cubesql/src/compile/snapshots/cubesql__compile__tests__date_part_day_from_dimension.snap:
--------------------------------------------------------------------------------
 1 | ---
 2 | source: cubesql/src/compile/mod.rs
 3 | expression: context.execute_query(query).await.unwrap()
 4 | ---
 5 | +--------+
 6 | | result |
 7 | +--------+
 8 | | 1      |
 9 | +--------+
10 | 


--------------------------------------------------------------------------------
/rust/cubesql/cubesql/src/compile/snapshots/cubesql__compile__tests__date_part_dow_from_dimension.snap:
--------------------------------------------------------------------------------
 1 | ---
 2 | source: cubesql/src/compile/mod.rs
 3 | expression: context.execute_query(query).await.unwrap()
 4 | ---
 5 | +--------+
 6 | | result |
 7 | +--------+
 8 | | 2      |
 9 | +--------+
10 | 


--------------------------------------------------------------------------------
/rust/cubesql/cubesql/src/compile/snapshots/cubesql__compile__tests__date_part_doy_from_dimension.snap:
--------------------------------------------------------------------------------
 1 | ---
 2 | source: cubesql/src/compile/mod.rs
 3 | expression: context.execute_query(query).await.unwrap()
 4 | ---
 5 | +--------+
 6 | | result |
 7 | +--------+
 8 | | 275    |
 9 | +--------+
10 | 


--------------------------------------------------------------------------------
/rust/cubesql/cubesql/src/compile/snapshots/cubesql__compile__tests__date_part_epoch_from_dimension.snap:
--------------------------------------------------------------------------------
 1 | ---
 2 | source: cubesql/src/compile/mod.rs
 3 | expression: context.execute_query(query).await.unwrap()
 4 | ---
 5 | +--------------+
 6 | | result       |
 7 | +--------------+
 8 | | 1735606923.5 |
 9 | +--------------+
10 | 


--------------------------------------------------------------------------------
/rust/cubesql/cubesql/src/compile/snapshots/cubesql__compile__tests__date_part_qtr_from_dimension.snap:
--------------------------------------------------------------------------------
 1 | ---
 2 | source: cubesql/src/compile/mod.rs
 3 | expression: context.execute_query(query).await.unwrap()
 4 | ---
 5 | +--------+
 6 | | result |
 7 | +--------+
 8 | | 4      |
 9 | +--------+
10 | 


--------------------------------------------------------------------------------
/rust/cubesql/cubesql/src/compile/snapshots/cubesql__compile__tests__date_part_quarter_from_dimension.snap:
--------------------------------------------------------------------------------
 1 | ---
 2 | source: cubesql/src/compile/mod.rs
 3 | expression: context.execute_query(query).await.unwrap()
 4 | ---
 5 | +--------+
 6 | | result |
 7 | +--------+
 8 | | 4      |
 9 | +--------+
10 | 


--------------------------------------------------------------------------------
/rust/cubesql/cubesql/src/compile/snapshots/cubesql__compile__tests__discard_postgres_all.snap:
--------------------------------------------------------------------------------
1 | ---
2 | source: cubesql/src/compile/mod.rs
3 | expression: "execute_query(\"DISCARD ALL;\".to_string(), DatabaseProtocol::PostgreSQL).await?"
4 | ---
5 | 
6 | 


--------------------------------------------------------------------------------
/rust/cubesql/cubesql/src/compile/snapshots/cubesql__compile__tests__discard_postgres_plans.snap:
--------------------------------------------------------------------------------
1 | ---
2 | source: cubesql/src/compile/mod.rs
3 | expression: "execute_query(\"DISCARD PLANS;\".to_string(),\n            DatabaseProtocol::PostgreSQL).await?"
4 | ---
5 | 
6 | 


--------------------------------------------------------------------------------
/rust/cubesql/cubesql/src/compile/snapshots/cubesql__compile__tests__discard_postgres_sequences.snap:
--------------------------------------------------------------------------------
1 | ---
2 | source: cubesql/src/compile/mod.rs
3 | expression: "execute_query(\"DISCARD SEQUENCES;\".to_string(),\n            DatabaseProtocol::PostgreSQL).await?"
4 | ---
5 | 
6 | 


--------------------------------------------------------------------------------
/rust/cubesql/cubesql/src/compile/snapshots/cubesql__compile__tests__discard_postgres_temp.snap:
--------------------------------------------------------------------------------
1 | ---
2 | source: cubesql/src/compile/mod.rs
3 | expression: "execute_query(\"DISCARD TEMP;\".to_string(),\n            DatabaseProtocol::PostgreSQL).await?"
4 | ---
5 | 
6 | 


--------------------------------------------------------------------------------
/rust/cubesql/cubesql/src/compile/snapshots/cubesql__compile__tests__discard_postgres_temporary.snap:
--------------------------------------------------------------------------------
1 | ---
2 | source: cubesql/src/compile/mod.rs
3 | expression: "execute_query(\"DISCARD TEMPORARY;\".to_string(),\n            DatabaseProtocol::PostgreSQL).await?"
4 | ---
5 | 
6 | 


--------------------------------------------------------------------------------
/rust/cubesql/cubesql/src/compile/snapshots/cubesql__compile__tests__exponentiate_op.snap:
--------------------------------------------------------------------------------
 1 | ---
 2 | source: cubesql/src/compile/mod.rs
 3 | expression: "execute_query(\"SELECT 3^5 AS e\".to_string(),\n            DatabaseProtocol::PostgreSQL).await?"
 4 | ---
 5 | +-----+
 6 | | e   |
 7 | +-----+
 8 | | 243 |
 9 | +-----+
10 | 


--------------------------------------------------------------------------------
/rust/cubesql/cubesql/src/compile/snapshots/cubesql__compile__tests__extract_day_from_dimension.snap:
--------------------------------------------------------------------------------
 1 | ---
 2 | source: cubesql/src/compile/mod.rs
 3 | expression: context.execute_query(query).await.unwrap()
 4 | ---
 5 | +--------+
 6 | | result |
 7 | +--------+
 8 | | 1      |
 9 | +--------+
10 | 


--------------------------------------------------------------------------------
/rust/cubesql/cubesql/src/compile/snapshots/cubesql__compile__tests__extract_dow_from_dimension.snap:
--------------------------------------------------------------------------------
 1 | ---
 2 | source: cubesql/src/compile/mod.rs
 3 | expression: context.execute_query(query).await.unwrap()
 4 | ---
 5 | +--------+
 6 | | result |
 7 | +--------+
 8 | | 2      |
 9 | +--------+
10 | 


--------------------------------------------------------------------------------
/rust/cubesql/cubesql/src/compile/snapshots/cubesql__compile__tests__extract_doy_from_dimension.snap:
--------------------------------------------------------------------------------
 1 | ---
 2 | source: cubesql/src/compile/mod.rs
 3 | expression: context.execute_query(query).await.unwrap()
 4 | ---
 5 | +--------+
 6 | | result |
 7 | +--------+
 8 | | 275    |
 9 | +--------+
10 | 


--------------------------------------------------------------------------------
/rust/cubesql/cubesql/src/compile/snapshots/cubesql__compile__tests__extract_epoch_from_dimension.snap:
--------------------------------------------------------------------------------
 1 | ---
 2 | source: cubesql/src/compile/mod.rs
 3 | expression: context.execute_query(query).await.unwrap()
 4 | ---
 5 | +--------------+
 6 | | result       |
 7 | +--------------+
 8 | | 1735606923.5 |
 9 | +--------------+
10 | 


--------------------------------------------------------------------------------
/rust/cubesql/cubesql/src/compile/snapshots/cubesql__compile__tests__extract_quarter_from_dimension.snap:
--------------------------------------------------------------------------------
 1 | ---
 2 | source: cubesql/src/compile/mod.rs
 3 | expression: context.execute_query(query).await.unwrap()
 4 | ---
 5 | +--------+
 6 | | result |
 7 | +--------+
 8 | | 4      |
 9 | +--------+
10 | 


--------------------------------------------------------------------------------
/rust/cubesql/cubesql/src/compile/snapshots/cubesql__compile__tests__formatted_identifier.snap:
--------------------------------------------------------------------------------
 1 | ---
 2 | source: cubesql/src/compile/mod.rs
 3 | expression: result
 4 | ---
 5 | +----------------------+
 6 | | formatted_identifier |
 7 | +----------------------+
 8 | | "column_name"        |
 9 | +----------------------+
10 | 


--------------------------------------------------------------------------------
/rust/cubesql/cubesql/src/compile/snapshots/cubesql__compile__tests__formatted_identifiers.snap:
--------------------------------------------------------------------------------
 1 | ---
 2 | source: cubesql/src/compile/mod.rs
 3 | expression: result
 4 | ---
 5 | +-----------------------------+
 6 | | formatted_identifiers       |
 7 | +-----------------------------+
 8 | | "table_name", "column_name" |
 9 | +-----------------------------+
10 | 


--------------------------------------------------------------------------------
/rust/cubesql/cubesql/src/compile/snapshots/cubesql__compile__tests__formatted_string.snap:
--------------------------------------------------------------------------------
 1 | ---
 2 | source: cubesql/src/compile/mod.rs
 3 | expression: result
 4 | ---
 5 | +------------------+
 6 | | formatted_string |
 7 | +------------------+
 8 | | foo              |
 9 | +------------------+
10 | 


--------------------------------------------------------------------------------
/rust/cubesql/cubesql/src/compile/snapshots/cubesql__compile__tests__formatted_strings.snap:
--------------------------------------------------------------------------------
 1 | ---
 2 | source: cubesql/src/compile/mod.rs
 3 | expression: result
 4 | ---
 5 | +-------------------+
 6 | | formatted_strings |
 7 | +-------------------+
 8 | | foo.bar           |
 9 | +-------------------+
10 | 


--------------------------------------------------------------------------------
/rust/cubesql/cubesql/src/compile/snapshots/cubesql__compile__tests__metabase_table_exists.snap:
--------------------------------------------------------------------------------
1 | ---
2 | source: cubesql/src/compile/mod.rs
3 | expression: "execute_query(r#\"SELECT TRUE AS \"_\" FROM \"public\".\"KibanaSampleDataEcommerce\" WHERE 1 <> 1 LIMIT 0;\"#.to_string(),\nDatabaseProtocol::PostgreSQL,).await?"
4 | ---
5 | +---+
6 | | _ |
7 | +---+
8 | +---+
9 | 


--------------------------------------------------------------------------------
/rust/cubesql/cubesql/src/compile/snapshots/cubesql__compile__tests__noninjective_coalesce_from_dimension.snap:
--------------------------------------------------------------------------------
 1 | ---
 2 | source: cubesql/src/compile/mod.rs
 3 | expression: context.execute_query(query).await.unwrap()
 4 | ---
 5 | +--------+
 6 | | result |
 7 | +--------+
 8 | | (none) |
 9 | | ab__cd |
10 | | abcd   |
11 | | foo    |
12 | +--------+
13 | 


--------------------------------------------------------------------------------
/rust/cubesql/cubesql/src/compile/snapshots/cubesql__compile__tests__noninjective_left_from_dimension.snap:
--------------------------------------------------------------------------------
 1 | ---
 2 | source: cubesql/src/compile/mod.rs
 3 | expression: context.execute_query(query).await.unwrap()
 4 | ---
 5 | +--------+
 6 | | result |
 7 | +--------+
 8 | | (n     |
 9 | | ab     |
10 | | fo     |
11 | | NULL   |
12 | +--------+
13 | 


--------------------------------------------------------------------------------
/rust/cubesql/cubesql/src/compile/snapshots/cubesql__compile__tests__noninjective_nullif_from_dimension.snap:
--------------------------------------------------------------------------------
 1 | ---
 2 | source: cubesql/src/compile/mod.rs
 3 | expression: context.execute_query(query).await.unwrap()
 4 | ---
 5 | +--------+
 6 | | result |
 7 | +--------+
 8 | | ab__cd |
 9 | | abcd   |
10 | | foo    |
11 | | NULL   |
12 | +--------+
13 | 


--------------------------------------------------------------------------------
/rust/cubesql/cubesql/src/compile/snapshots/cubesql__compile__tests__noninjective_right_from_dimension.snap:
--------------------------------------------------------------------------------
 1 | ---
 2 | source: cubesql/src/compile/mod.rs
 3 | expression: context.execute_query(query).await.unwrap()
 4 | ---
 5 | +--------+
 6 | | result |
 7 | +--------+
 8 | | cd     |
 9 | | e)     |
10 | | oo     |
11 | | NULL   |
12 | +--------+
13 | 


--------------------------------------------------------------------------------
/rust/cubesql/cubesql/src/compile/snapshots/cubesql__compile__tests__quoted_identifier.snap:
--------------------------------------------------------------------------------
 1 | ---
 2 | source: cubesql/src/compile/mod.rs
 3 | expression: result
 4 | ---
 5 | +-------------------+
 6 | | quoted_identifier |
 7 | +-------------------+
 8 | | "column-name"     |
 9 | +-------------------+
10 | 


--------------------------------------------------------------------------------
/rust/cubesql/cubesql/src/compile/snapshots/cubesql__compile__tests__quoted_keyword.snap:
--------------------------------------------------------------------------------
 1 | ---
 2 | source: cubesql/src/compile/mod.rs
 3 | expression: result
 4 | ---
 5 | +----------------+
 6 | | quoted_keyword |
 7 | +----------------+
 8 | | "select"       |
 9 | +----------------+
10 | 


--------------------------------------------------------------------------------
/rust/cubesql/cubesql/src/compile/snapshots/cubesql__compile__tests__show_max_identifier_length.snap:
--------------------------------------------------------------------------------
 1 | ---
 2 | source: cubesql/src/compile/mod.rs
 3 | expression: "execute_query(\"show max_identifier_length;\".to_string(),\n            DatabaseProtocol::PostgreSQL).await?"
 4 | ---
 5 | +---------+
 6 | | setting |
 7 | +---------+
 8 | | 63      |
 9 | +---------+
10 | 


--------------------------------------------------------------------------------
/rust/cubesql/cubesql/src/compile/snapshots/cubesql__compile__tests__sum_null_type.snap:
--------------------------------------------------------------------------------
 1 | ---
 2 | source: cubesql/src/compile/mod.rs
 3 | expression: "execute_query(\"SELECT SUM(x) FROM (SELECT NULL AS x) AS t\".to_string(),\nDatabaseProtocol::PostgreSQL).await?"
 4 | ---
 5 | +----------+
 6 | | SUM(t.x) |
 7 | +----------+
 8 | | NULL     |
 9 | +----------+
10 | 


--------------------------------------------------------------------------------
/rust/cubesql/cubesql/src/compile/snapshots/cubesql__compile__tests__test_offset_limit_3.snap:
--------------------------------------------------------------------------------
1 | ---
2 | source: cubesql/src/compile/mod.rs
3 | expression: "execute_query(\"select n from generate_series(1, 1000) pos(n) limit 0 offset 10\".to_string(),\n            DatabaseProtocol::PostgreSQL).await?"
4 | ---
5 | +---+
6 | | n |
7 | +---+
8 | +---+
9 | 


--------------------------------------------------------------------------------
/rust/cubesql/cubesql/src/compile/test/snapshots/cubesql__compile__test__test_df_execution__date_part_interval.snap:
--------------------------------------------------------------------------------
 1 | ---
 2 | source: cubesql/src/compile/test/test_df_execution.rs
 3 | expression: "execute_query(query.to_string(), DatabaseProtocol::PostgreSQL).await.unwrap()"
 4 | ---
 5 | +---+
 6 | | d |
 7 | +---+
 8 | | 3 |
 9 | +---+
10 | 


--------------------------------------------------------------------------------
/rust/cubesql/cubesql/src/compile/test/snapshots/cubesql__compile__test__test_udfs__array_lower_string.snap:
--------------------------------------------------------------------------------
 1 | ---
 2 | source: cubesql/src/compile/test/test_udfs.rs
 3 | expression: "execute_query(\"SELECT array_lower(ARRAY['a', 'b']) v1\".to_string(),\nDatabaseProtocol::PostgreSQL).await?"
 4 | ---
 5 | +----+
 6 | | v1 |
 7 | +----+
 8 | | 1  |
 9 | +----+
10 | 


--------------------------------------------------------------------------------
/rust/cubesql/cubesql/src/compile/test/snapshots/cubesql__compile__test__test_udfs__array_upper_string.snap:
--------------------------------------------------------------------------------
 1 | ---
 2 | source: cubesql/src/compile/test/test_udfs.rs
 3 | expression: "execute_query(\"SELECT array_upper(ARRAY['a', 'b']) v1\".to_string(),\nDatabaseProtocol::PostgreSQL).await?"
 4 | ---
 5 | +----+
 6 | | v1 |
 7 | +----+
 8 | | 2  |
 9 | +----+
10 | 


--------------------------------------------------------------------------------
/rust/cubesql/cubesql/src/sql/database_variables/mysql/mod.rs:
--------------------------------------------------------------------------------
1 | pub mod global_vars;
2 | pub mod session_vars;
3 | 


--------------------------------------------------------------------------------
/rust/cubesql/cubesql/src/sql/database_variables/postgres/mod.rs:
--------------------------------------------------------------------------------
1 | pub mod global_vars;
2 | pub mod session_vars;
3 | 


--------------------------------------------------------------------------------
/rust/cubesql/cubesql/src/sql/postgres/mod.rs:
--------------------------------------------------------------------------------
 1 | pub(crate) mod extended;
 2 | pub mod pg_auth_service;
 3 | pub(crate) mod pg_type;
 4 | pub(crate) mod service;
 5 | pub(crate) mod shim;
 6 | pub(crate) mod writer;
 7 | 
 8 | pub use pg_type::*;
 9 | pub use service::*;
10 | 


--------------------------------------------------------------------------------
/rust/cubesql/cubesql/test.sql:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cube-js/cube/2b400028f7b70a1e48fd82bd20a767fa8a3b2259/rust/cubesql/cubesql/test.sql


--------------------------------------------------------------------------------
/rust/cubesql/index.js:
--------------------------------------------------------------------------------
1 | // It's just a virtual package, which we use for versioning cube sql library
2 | 


--------------------------------------------------------------------------------
/rust/cubesql/pg-srv/src/extended.rs:
--------------------------------------------------------------------------------
 1 | //! Implementation for Extended Query
 2 | 
 3 | #[derive(Debug, PartialEq)]
 4 | pub enum BindValue {
 5 |     String(String),
 6 |     Int64(i64),
 7 |     Float64(f64),
 8 |     Bool(bool),
 9 |     Null,
10 | }
11 | 


--------------------------------------------------------------------------------
/rust/cubesql/rust-toolchain.toml:
--------------------------------------------------------------------------------
1 | [toolchain]
2 | channel = "1.84.1"
3 | components = ["rustfmt", "clippy"]
4 | profile = "minimal"
5 | 


--------------------------------------------------------------------------------
/rust/cubesql/rustfmt.toml:
--------------------------------------------------------------------------------
1 | # TODO: Uncomment, when it will become stable in rustfmt - https://github.com/rust-lang/rustfmt/issues/4991
2 | # imports_granularity = "Crate"


--------------------------------------------------------------------------------
/rust/cubesqlplanner/.gitignore:
--------------------------------------------------------------------------------
 1 | /target
 2 | /cubesql/target
 3 | /.idea
 4 | upstream
 5 | .cargo/config.toml
 6 | dist
 7 | node_modules
 8 | .vscode
 9 | /cubesql/egraph-debug
10 | /cubesql/egraph-debug-final
11 | /cubesql/egraph-debug-intermediate
12 | egraph-debug
13 | /cubesql/debug-qtrace
14 | 


--------------------------------------------------------------------------------
/rust/cubesqlplanner/Cargo.toml:
--------------------------------------------------------------------------------
1 | [workspace]
2 | resolver = "2"
3 | members = [
4 |     "cubesqlplanner",
5 |     "nativebridge",
6 | ]
7 | 


--------------------------------------------------------------------------------
/rust/cubesqlplanner/cubesqlplanner/.gitignore:
--------------------------------------------------------------------------------
 1 | /target
 2 | /cubesql/target
 3 | /.idea
 4 | upstream
 5 | .cargo/config.toml
 6 | dist
 7 | node_modules
 8 | .vscode
 9 | /cubesql/egraph-debug
10 | /cubesql/egraph-debug-final
11 | /cubesql/egraph-debug-intermediate
12 | egraph-debug
13 | /cubesql/debug-qtrace
14 | 


--------------------------------------------------------------------------------
/rust/cubesqlplanner/cubesqlplanner/src/lib.rs:
--------------------------------------------------------------------------------
1 | pub mod cube_bridge;
2 | pub mod logical_plan;
3 | pub mod physical_plan_builder;
4 | pub mod plan;
5 | pub mod planner;
6 | 


--------------------------------------------------------------------------------
/rust/cubesqlplanner/cubesqlplanner/src/logical_plan/optimizers/common/mod.rs:
--------------------------------------------------------------------------------
1 | mod cube_names_collector;
2 | mod helper;
3 | 
4 | pub use cube_names_collector::*;
5 | pub use helper::*;
6 | 


--------------------------------------------------------------------------------
/rust/cubesqlplanner/cubesqlplanner/src/logical_plan/optimizers/mod.rs:
--------------------------------------------------------------------------------
1 | mod common;
2 | mod pre_aggregation;
3 | 
4 | pub use common::*;
5 | pub use pre_aggregation::*;
6 | 


--------------------------------------------------------------------------------
/rust/cubesqlplanner/cubesqlplanner/src/physical_plan_builder/mod.rs:
--------------------------------------------------------------------------------
1 | mod builder;
2 | pub use builder::*;
3 | 


--------------------------------------------------------------------------------
/rust/cubesqlplanner/cubesqlplanner/src/plan/builder/mod.rs:
--------------------------------------------------------------------------------
1 | pub mod join;
2 | pub mod select;
3 | 
4 | pub use join::JoinBuilder;
5 | pub use select::SelectBuilder;
6 | 


--------------------------------------------------------------------------------
/rust/cubesqlplanner/cubesqlplanner/src/plan/schema/mod.rs:
--------------------------------------------------------------------------------
1 | mod column;
2 | mod schema;
3 | 
4 | pub use column::{QualifiedColumnName, SchemaColumn};
5 | pub use schema::Schema;
6 | 


--------------------------------------------------------------------------------
/rust/cubesqlplanner/cubesqlplanner/src/planner/filter/mod.rs:
--------------------------------------------------------------------------------
1 | pub mod base_filter;
2 | pub mod base_segment;
3 | pub mod compiler;
4 | pub mod filter_operator;
5 | 
6 | pub use base_filter::BaseFilter;
7 | pub use base_segment::BaseSegment;
8 | pub use filter_operator::FilterOperator;
9 | 


--------------------------------------------------------------------------------
/rust/cubesqlplanner/cubesqlplanner/src/planner/sql_templates/mod.rs:
--------------------------------------------------------------------------------
1 | pub mod filter;
2 | pub mod plan;
3 | pub mod structs;
4 | 
5 | pub use filter::FilterTemplates;
6 | pub use plan::PlanSqlTemplates;
7 | pub use structs::{TemplateGroupByColumn, TemplateOrderByColumn, TemplateProjectionColumn};
8 | 


--------------------------------------------------------------------------------
/rust/cubesqlplanner/cubesqlplanner/src/planner/time_dimension/mod.rs:
--------------------------------------------------------------------------------
 1 | mod date_time;
 2 | mod date_time_helper;
 3 | mod granularity;
 4 | mod granularity_helper;
 5 | mod sql_interval;
 6 | 
 7 | pub use date_time::*;
 8 | pub use date_time_helper::*;
 9 | pub use granularity::*;
10 | pub use granularity_helper::*;
11 | pub use sql_interval::*;
12 | 


--------------------------------------------------------------------------------
/rust/cubesqlplanner/cubesqlplanner/src/planner/utils.rs:
--------------------------------------------------------------------------------
1 | 
2 | 


--------------------------------------------------------------------------------
/rust/cubesqlplanner/rust-toolchain.toml:
--------------------------------------------------------------------------------
1 | [toolchain]
2 | channel = "1.84.1"
3 | components = ["rustfmt", "rustc-dev", "clippy"]
4 | profile = "minimal"
5 | 


--------------------------------------------------------------------------------
/rust/cubestore/.dockerignore:
--------------------------------------------------------------------------------
 1 | target
 2 | Dockerfile
 3 | .cubestore
 4 | upstream
 5 | dist
 6 | js-wrapper
 7 | bin
 8 | cross
 9 | downloaded
10 | cubestore/.cubestore
11 | cubestore/upstream


--------------------------------------------------------------------------------
/rust/cubestore/.gitignore:
--------------------------------------------------------------------------------
 1 | /target
 2 | /.idea
 3 | upstream
 4 | .cubestore
 5 | dist
 6 | node_modules
 7 | downloaded
 8 | cubestore/target
 9 | cubesql/target
10 | cubestore-sql-tests/data/**
11 | cubestore/db-tmp


--------------------------------------------------------------------------------
/rust/cubestore/Cargo.toml:
--------------------------------------------------------------------------------
 1 | [workspace]
 2 | resolver = "2"
 3 | members = [
 4 |     "cubestore",
 5 |     "cubestore-sql-tests",
 6 |     "cubehll",
 7 |     "cubedatasketches",
 8 |     "cubezetasketch",
 9 |     "cuberpc",
10 |     "cuberockstore",
11 | ]
12 | 


--------------------------------------------------------------------------------
/rust/cubestore/bin/cubestore-dev:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env node
2 | 
3 | require('../dist/src/cubestore-dev.js')
4 | 


--------------------------------------------------------------------------------
/rust/cubestore/cubedatasketches/README.md:
--------------------------------------------------------------------------------
1 | # Overview
2 | 


--------------------------------------------------------------------------------
/rust/cubestore/cuberockstore/src/lib.rs:
--------------------------------------------------------------------------------
1 | // re-export
2 | pub use rocksdb;
3 | 


--------------------------------------------------------------------------------
/rust/cubestore/cubestore-sql-tests/src/files.rs:
--------------------------------------------------------------------------------
 1 | use cubestore::CubeError;
 2 | use std::io::Write;
 3 | use tempfile::NamedTempFile;
 4 | 
 5 | pub fn write_tmp_file(text: &str) -> Result<NamedTempFile, CubeError> {
 6 |     let mut file = NamedTempFile::new()?;
 7 |     file.write_all(text.as_bytes())?;
 8 |     return Ok(file);
 9 | }
10 | 


--------------------------------------------------------------------------------
/rust/cubestore/cubestore/flatbuffers-codegen.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | 
3 | cd src/codegen
4 | flatc --rust http_message.fbs
5 | 


--------------------------------------------------------------------------------
/rust/cubestore/cubestore/src/cluster/ingestion/mod.rs:
--------------------------------------------------------------------------------
1 | pub mod job_processor;
2 | pub mod job_runner;
3 | 


--------------------------------------------------------------------------------
/rust/cubestore/cubestore/src/config/processing_loop.rs:
--------------------------------------------------------------------------------
 1 | use crate::CubeError;
 2 | use async_trait::async_trait;
 3 | 
 4 | #[async_trait]
 5 | pub trait ProcessingLoop: Send + Sync {
 6 |     async fn processing_loop(&self) -> Result<(), CubeError>;
 7 | 
 8 |     async fn stop_processing(&self) -> Result<(), CubeError>;
 9 | }
10 | 


--------------------------------------------------------------------------------
/rust/cubestore/cubestore/src/metastore/snapshot_info.rs:
--------------------------------------------------------------------------------
1 | use serde::{Deserialize, Serialize};
2 | 
3 | #[derive(Debug, Serialize, Deserialize)]
4 | pub struct SnapshotInfo {
5 |     pub id: u128,
6 |     pub current: bool,
7 | }
8 | 


--------------------------------------------------------------------------------
/rust/cubestore/cubestore/src/queryplanner/providers/mod.rs:
--------------------------------------------------------------------------------
1 | mod query_cache;
2 | 
3 | pub use query_cache::InfoSchemaQueryCacheTableProvider;
4 | 


--------------------------------------------------------------------------------
/rust/cubestore/cubestore/src/shared/mod.rs:
--------------------------------------------------------------------------------
1 | pub mod deadline_queue;
2 | 


--------------------------------------------------------------------------------
/rust/cubestore/cubestore/src/sys/mod.rs:
--------------------------------------------------------------------------------
1 | pub mod malloc;
2 | pub mod process;
3 | 


--------------------------------------------------------------------------------
/rust/cubestore/cubestore/src/util/error.rs:
--------------------------------------------------------------------------------
 1 | /// Use a macro to keep the call site information (file, line number) in the log message.
 2 | #[macro_export]
 3 | macro_rules! ack_error {
 4 |     ($x:expr) => {
 5 |         if let std::result::Result::Err(e) = $x {
 6 |             log::error!("Error: {:?}", e);
 7 |         }
 8 |     };
 9 | }
10 | 


--------------------------------------------------------------------------------
/rust/cubestore/cubestore/testing-fixtures/cachestore-migration/000010.log:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cube-js/cube/2b400028f7b70a1e48fd82bd20a767fa8a3b2259/rust/cubestore/cubestore/testing-fixtures/cachestore-migration/000010.log


--------------------------------------------------------------------------------
/rust/cubestore/cubestore/testing-fixtures/cachestore-migration/000012.sst:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cube-js/cube/2b400028f7b70a1e48fd82bd20a767fa8a3b2259/rust/cubestore/cubestore/testing-fixtures/cachestore-migration/000012.sst


--------------------------------------------------------------------------------
/rust/cubestore/cubestore/testing-fixtures/cachestore-migration/CURRENT:
--------------------------------------------------------------------------------
1 | MANIFEST-000005
2 | 


--------------------------------------------------------------------------------
/rust/cubestore/cubestore/testing-fixtures/cachestore-migration/IDENTITY:
--------------------------------------------------------------------------------
1 | 9593b66b-7dd1-4702-96a5-243c2b886a30


--------------------------------------------------------------------------------
/rust/cubestore/cubestore/testing-fixtures/cachestore-migration/LOCK:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cube-js/cube/2b400028f7b70a1e48fd82bd20a767fa8a3b2259/rust/cubestore/cubestore/testing-fixtures/cachestore-migration/LOCK


--------------------------------------------------------------------------------
/rust/cubestore/cubestore/testing-fixtures/cachestore-migration/MANIFEST-000005:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cube-js/cube/2b400028f7b70a1e48fd82bd20a767fa8a3b2259/rust/cubestore/cubestore/testing-fixtures/cachestore-migration/MANIFEST-000005


--------------------------------------------------------------------------------
/rust/cubestore/cubestore/testing-fixtures/cachestore-migration/README.md:
--------------------------------------------------------------------------------
1 | This fixture was created on 0.30.0


--------------------------------------------------------------------------------
/rust/cubestore/cubestore/testing-fixtures/cachestore-migration/archive/000004.log:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cube-js/cube/2b400028f7b70a1e48fd82bd20a767fa8a3b2259/rust/cubestore/cubestore/testing-fixtures/cachestore-migration/archive/000004.log


--------------------------------------------------------------------------------
/rust/cubestore/cubezetasketch/Cargo.toml:
--------------------------------------------------------------------------------
 1 | [package]
 2 | name = "cubezetasketch"
 3 | version = "0.1.0"
 4 | authors = ["Cube Dev, Inc."]
 5 | edition = "2018"
 6 | license = "Apache-2.0"
 7 | description = "HyperLogLog++ implementation ported from ZetaSketch"
 8 | 
 9 | [dependencies]
10 | itertools = "0.10.0"
11 | protobuf = "2.20.0"
12 | 


--------------------------------------------------------------------------------
/rust/cubestore/docker-bake.hcl:
--------------------------------------------------------------------------------
 1 | target "rust-builder-bookworm" {
 2 |   context = "."
 3 |   dockerfile = "builder.Dockerfile"
 4 |   args = {
 5 |     OS_NAME = "1-slim-bookworm"
 6 |     LLVM_VERSION = "18"
 7 |   }
 8 |   tags = ["cubejs/rust-builder:bookworm-llvm-18"]
 9 |   platforms = ["linux/amd64", "linux/arm64"]
10 | }
11 | 


--------------------------------------------------------------------------------
/rust/cubestore/js-wrapper/src/index.ts:
--------------------------------------------------------------------------------
1 | export * from './process';
2 | export { isCubeStoreSupported } from './utils';
3 | 


--------------------------------------------------------------------------------
/rust/cubestore/rust-toolchain.toml:
--------------------------------------------------------------------------------
1 | [toolchain]
2 | channel = "nightly-2024-01-29"
3 | components = ["rustfmt", "clippy"]
4 | profile = "minimal"
5 | 


--------------------------------------------------------------------------------
/tsconfig.jest.json:
--------------------------------------------------------------------------------
 1 | {
 2 |   "extends": "./tsconfig.json",
 3 |   "compilerOptions": {
 4 |     "module": "CommonJS",
 5 |     "sourceMap": true,
 6 |     "inlineSourceMap": true,
 7 |     "inlineSources": true,
 8 |     "resolveJsonModule": true
 9 |   }
10 | }
11 | 


--------------------------------------------------------------------------------