diff --git a/CHANGELOG.md b/CHANGELOG.md index 855b19d2ca20b..baaf400b7928e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,17 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.6.10](https://github.com/cube-js/cube/compare/v1.6.9...v1.6.10) (2026-02-09) + +### Bug Fixes + +- **docker:** Set UTF-8 locale environment variables to fix Python UnicodeEncodeError ([#10378](https://github.com/cube-js/cube/issues/10378)) ([104ff5f](https://github.com/cube-js/cube/commit/104ff5f732c80fe54945c959736db5493b4d2575)) + +### Features + +- **cubesql:** Support forwards directions for FETCH statement ([#10377](https://github.com/cube-js/cube/issues/10377)) ([7cbafd5](https://github.com/cube-js/cube/commit/7cbafd541a88c1d244e67aa980c208ca7c0ea68a)) +- Unify pool to make named timeout errors ([#10375](https://github.com/cube-js/cube/issues/10375)) ([bac3cd0](https://github.com/cube-js/cube/commit/bac3cd0f2f3f572fac037686ffa16a2e687fbcdc)) + ## [1.6.9](https://github.com/cube-js/cube/compare/v1.6.8...v1.6.9) (2026-02-06) ### Bug Fixes diff --git a/lerna.json b/lerna.json index 1e1fb5deb868f..084f4af893aae 100644 --- a/lerna.json +++ b/lerna.json @@ -1,5 +1,5 @@ { - "version": "1.6.9", + "version": "1.6.10", "npmClient": "yarn", "command": { "bootstrap": { diff --git a/packages/cubejs-api-gateway/CHANGELOG.md b/packages/cubejs-api-gateway/CHANGELOG.md index e5ea67fc0012a..f8951727d7f22 100644 --- a/packages/cubejs-api-gateway/CHANGELOG.md +++ b/packages/cubejs-api-gateway/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.6.10](https://github.com/cube-js/cube/compare/v1.6.9...v1.6.10) (2026-02-09) + +**Note:** Version bump only for package @cubejs-backend/api-gateway + ## [1.6.9](https://github.com/cube-js/cube/compare/v1.6.8...v1.6.9) (2026-02-06) **Note:** Version bump only for package @cubejs-backend/api-gateway diff --git a/packages/cubejs-api-gateway/package.json b/packages/cubejs-api-gateway/package.json index 1e3033b8fc5f1..ded17370a0155 100644 --- a/packages/cubejs-api-gateway/package.json +++ b/packages/cubejs-api-gateway/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/api-gateway", "description": "Cube.js API Gateway", "author": "Cube Dev, Inc.", - "version": "1.6.9", + "version": "1.6.10", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -27,9 +27,9 @@ "dist/src/*" ], "dependencies": { - "@cubejs-backend/native": "1.6.9", - "@cubejs-backend/query-orchestrator": "1.6.9", - "@cubejs-backend/shared": "1.6.9", + "@cubejs-backend/native": "1.6.10", + "@cubejs-backend/query-orchestrator": "1.6.10", + "@cubejs-backend/shared": "1.6.10", "@ungap/structured-clone": "^0.3.4", "assert-never": "^1.4.0", "body-parser": "^1.19.0", @@ -53,7 +53,7 @@ "zod": "^4.1.13" }, "devDependencies": { - "@cubejs-backend/linter": "1.6.9", + "@cubejs-backend/linter": "1.6.10", "@types/express": "^4.17.21", "@types/jest": "^29", "@types/jsonwebtoken": "^9.0.2", diff --git a/packages/cubejs-athena-driver/CHANGELOG.md b/packages/cubejs-athena-driver/CHANGELOG.md index 53cfe1c0490be..1fbf031abf1b4 100644 --- a/packages/cubejs-athena-driver/CHANGELOG.md +++ b/packages/cubejs-athena-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.6.10](https://github.com/cube-js/cube/compare/v1.6.9...v1.6.10) (2026-02-09) + +**Note:** Version bump only for package @cubejs-backend/athena-driver + ## [1.6.9](https://github.com/cube-js/cube/compare/v1.6.8...v1.6.9) (2026-02-06) **Note:** Version bump only for package @cubejs-backend/athena-driver diff --git a/packages/cubejs-athena-driver/package.json b/packages/cubejs-athena-driver/package.json index 87a7b53f72969..e2e00d250caaf 100644 --- a/packages/cubejs-athena-driver/package.json +++ b/packages/cubejs-athena-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/athena-driver", "description": "Cube.js Athena database driver", "author": "Cube Dev, Inc.", - "version": "1.6.9", + "version": "1.6.10", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -30,13 +30,13 @@ "dependencies": { "@aws-sdk/client-athena": "^3.22.0", "@aws-sdk/credential-providers": "^3.22.0", - "@cubejs-backend/base-driver": "1.6.9", - "@cubejs-backend/shared": "1.6.9", + "@cubejs-backend/base-driver": "1.6.10", + "@cubejs-backend/shared": "1.6.10", "sqlstring": "^2.3.1" }, "devDependencies": { - "@cubejs-backend/linter": "1.6.9", - "@cubejs-backend/testing-shared": "1.6.9", + "@cubejs-backend/linter": "1.6.10", + "@cubejs-backend/testing-shared": "1.6.10", "@types/ramda": "^0.27.40", "typescript": "~5.2.2" }, diff --git a/packages/cubejs-backend-cloud/CHANGELOG.md b/packages/cubejs-backend-cloud/CHANGELOG.md index 4b79583e58d55..a5f353bb9108c 100644 --- a/packages/cubejs-backend-cloud/CHANGELOG.md +++ b/packages/cubejs-backend-cloud/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.6.10](https://github.com/cube-js/cube/compare/v1.6.9...v1.6.10) (2026-02-09) + +**Note:** Version bump only for package @cubejs-backend/cloud + ## [1.6.9](https://github.com/cube-js/cube/compare/v1.6.8...v1.6.9) (2026-02-06) **Note:** Version bump only for package @cubejs-backend/cloud diff --git a/packages/cubejs-backend-cloud/package.json b/packages/cubejs-backend-cloud/package.json index 34ca447e6abb7..157d4391ef0dd 100644 --- a/packages/cubejs-backend-cloud/package.json +++ b/packages/cubejs-backend-cloud/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-backend/cloud", - "version": "1.6.9", + "version": "1.6.10", "description": "Cube Cloud package", "main": "dist/src/index.js", "typings": "dist/src/index.d.ts", @@ -30,7 +30,7 @@ "devDependencies": { "@babel/core": "^7.24.5", "@babel/preset-env": "^7.24.5", - "@cubejs-backend/linter": "1.6.9", + "@cubejs-backend/linter": "1.6.10", "@types/fs-extra": "^9.0.8", "@types/jest": "^29", "jest": "^29", @@ -38,7 +38,7 @@ }, "dependencies": { "@cubejs-backend/dotenv": "^9.0.2", - "@cubejs-backend/shared": "1.6.9", + "@cubejs-backend/shared": "1.6.10", "chokidar": "^3.5.1", "env-var": "^6.3.0", "form-data": "^4.0.0", diff --git a/packages/cubejs-backend-maven/CHANGELOG.md b/packages/cubejs-backend-maven/CHANGELOG.md index c255dd0c72dd6..3f0567db107e0 100644 --- a/packages/cubejs-backend-maven/CHANGELOG.md +++ b/packages/cubejs-backend-maven/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.6.10](https://github.com/cube-js/cube/compare/v1.6.9...v1.6.10) (2026-02-09) + +**Note:** Version bump only for package @cubejs-backend/maven + ## [1.6.9](https://github.com/cube-js/cube/compare/v1.6.8...v1.6.9) (2026-02-06) **Note:** Version bump only for package @cubejs-backend/maven diff --git a/packages/cubejs-backend-maven/package.json b/packages/cubejs-backend-maven/package.json index eba772174e4a5..f5795462eb6e2 100644 --- a/packages/cubejs-backend-maven/package.json +++ b/packages/cubejs-backend-maven/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/maven", "description": "Cube.js Maven Wrapper for java dependencies downloading", "author": "Cube Dev, Inc.", - "version": "1.6.9", + "version": "1.6.10", "license": "Apache-2.0", "repository": { "type": "git", @@ -31,12 +31,12 @@ "dist/src/*" ], "dependencies": { - "@cubejs-backend/shared": "1.6.9", + "@cubejs-backend/shared": "1.6.10", "source-map-support": "^0.5.19", "xmlbuilder2": "^2.4.0" }, "devDependencies": { - "@cubejs-backend/linter": "1.6.9", + "@cubejs-backend/linter": "1.6.10", "@types/jest": "^29", "@types/node": "^20", "jest": "^29", diff --git a/packages/cubejs-backend-native/CHANGELOG.md b/packages/cubejs-backend-native/CHANGELOG.md index c749e9c24cef0..a109b80640614 100644 --- a/packages/cubejs-backend-native/CHANGELOG.md +++ b/packages/cubejs-backend-native/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.6.10](https://github.com/cube-js/cube/compare/v1.6.9...v1.6.10) (2026-02-09) + +**Note:** Version bump only for package @cubejs-backend/native + ## [1.6.9](https://github.com/cube-js/cube/compare/v1.6.8...v1.6.9) (2026-02-06) **Note:** Version bump only for package @cubejs-backend/native diff --git a/packages/cubejs-backend-native/package.json b/packages/cubejs-backend-native/package.json index 76b8085ef38f6..df4aa56c3fdc7 100644 --- a/packages/cubejs-backend-native/package.json +++ b/packages/cubejs-backend-native/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-backend/native", - "version": "1.6.9", + "version": "1.6.10", "author": "Cube Dev, Inc.", "description": "Native module for Cube.js (binding to Rust codebase)", "main": "dist/js/index.js", @@ -36,7 +36,7 @@ "dist/js" ], "devDependencies": { - "@cubejs-backend/linter": "1.6.9", + "@cubejs-backend/linter": "1.6.10", "@types/jest": "^29", "@types/node": "^20", "cargo-cp-artifact": "^0.1.9", @@ -47,8 +47,8 @@ "uuid": "^8.3.2" }, "dependencies": { - "@cubejs-backend/cubesql": "1.6.9", - "@cubejs-backend/shared": "1.6.9", + "@cubejs-backend/cubesql": "1.6.10", + "@cubejs-backend/shared": "1.6.10", "@cubejs-infra/post-installer": "^0.0.7" }, "resources": { diff --git a/packages/cubejs-backend-shared/CHANGELOG.md b/packages/cubejs-backend-shared/CHANGELOG.md index 14cc31bd37aa9..888378bf29f58 100644 --- a/packages/cubejs-backend-shared/CHANGELOG.md +++ b/packages/cubejs-backend-shared/CHANGELOG.md @@ -3,6 +3,12 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.6.10](https://github.com/cube-js/cube/compare/v1.6.9...v1.6.10) (2026-02-09) + +### Features + +- Unify pool to make named timeout errors ([#10375](https://github.com/cube-js/cube/issues/10375)) ([bac3cd0](https://github.com/cube-js/cube/commit/bac3cd0f2f3f572fac037686ffa16a2e687fbcdc)) + ## [1.6.9](https://github.com/cube-js/cube/compare/v1.6.8...v1.6.9) (2026-02-06) **Note:** Version bump only for package @cubejs-backend/shared diff --git a/packages/cubejs-backend-shared/package.json b/packages/cubejs-backend-shared/package.json index 79fa221f6db4a..fef42ae4cfe96 100644 --- a/packages/cubejs-backend-shared/package.json +++ b/packages/cubejs-backend-shared/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-backend/shared", - "version": "1.6.9", + "version": "1.6.10", "description": "Shared code for Cube.js backend packages", "main": "dist/src/index.js", "typings": "dist/src/index.d.ts", @@ -27,7 +27,7 @@ }, "license": "Apache-2.0", "devDependencies": { - "@cubejs-backend/linter": "1.6.9", + "@cubejs-backend/linter": "1.6.10", "@types/bytes": "^3.1.5", "@types/cli-progress": "^3.9.1", "@types/decompress": "^4.2.7", @@ -48,6 +48,7 @@ "decompress": "^4.2.1", "env-var": "^6.3.0", "fs-extra": "^9.1.0", + "generic-pool": "^3.9.0", "lru-cache": "^11.1.0", "moment-range": "^4.0.2", "moment-timezone": "^0.5.47", diff --git a/packages/cubejs-backend-shared/src/index.ts b/packages/cubejs-backend-shared/src/index.ts index 62b8d6533a732..39fec179304e6 100644 --- a/packages/cubejs-backend-shared/src/index.ts +++ b/packages/cubejs-backend-shared/src/index.ts @@ -26,3 +26,4 @@ export * from './decorators'; export * from './PerfTracker'; export * from './disposedProxy'; export * from './logger'; +export * from './pool'; diff --git a/packages/cubejs-backend-shared/src/pool.ts b/packages/cubejs-backend-shared/src/pool.ts new file mode 100644 index 0000000000000..85ef2ad425f9f --- /dev/null +++ b/packages/cubejs-backend-shared/src/pool.ts @@ -0,0 +1,110 @@ +/** + * @copyright Cube Dev, Inc. + * @license Apache-2.0 + * @fileoverview Named pool wrapper around generic-pool with enhanced error messages. + */ + +import genericPool, { Pool as GenericPool, Factory, Options } from 'generic-pool'; + +export { Factory, Options as PoolOptions } from 'generic-pool'; + +export class PoolTimeoutError extends Error { + public readonly poolName: string; + + public constructor(poolName: string) { + super(`ResourceRequest timed out (pool: ${poolName})`); + this.name = 'PoolTimeoutError'; + this.poolName = poolName; + } +} + +/** + * Uses composition instead of inheritance because generic-pool doesn't export + * a Pool class, the Pool type is an interface, not an extendable class. + */ +export class Pool { + private readonly pool: GenericPool; + + private readonly name: string; + + public constructor(name: string, factory: Factory, options?: Options) { + this.name = name; + this.pool = genericPool.createPool(factory, options); + } + + public async acquire(priority?: number): Promise { + try { + return await this.pool.acquire(priority); + } catch (error) { + if (error instanceof Error && error.name === 'TimeoutError') { + throw new PoolTimeoutError(this.name); + } + + throw error; + } + } + + public async release(resource: T): Promise { + return this.pool.release(resource); + } + + public async destroy(resource: T): Promise { + return this.pool.destroy(resource); + } + + public async drain(): Promise { + return this.pool.drain(); + } + + public async clear(): Promise { + return this.pool.clear(); + } + + public async use(cb: (resource: T) => U | Promise): Promise { + try { + return await this.pool.use(cb); + } catch (error) { + if (error instanceof Error && error.name === 'TimeoutError') { + throw new PoolTimeoutError(this.name); + } + throw error; + } + } + + // State accessors + public get size(): number { + return this.pool.size; + } + + public get available(): number { + return this.pool.available; + } + + public get borrowed(): number { + return this.pool.borrowed; + } + + public get pending(): number { + return this.pool.pending; + } + + public get max(): number { + return this.pool.max; + } + + public get min(): number { + return this.pool.min; + } + + // Event handling + public on(event: 'factoryCreateError' | 'factoryDestroyError', listener: (err: Error) => void): this { + this.pool.on(event, listener); + return this; + } + + // For backward compatibility (drivers use pool._factory for testConnection) + public get _factory(): Factory { + // eslint-disable-next-line no-underscore-dangle + return (this.pool as any)._factory; + } +} diff --git a/packages/cubejs-base-driver/CHANGELOG.md b/packages/cubejs-base-driver/CHANGELOG.md index dc5cb54d47583..44ee9eb110e63 100644 --- a/packages/cubejs-base-driver/CHANGELOG.md +++ b/packages/cubejs-base-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.6.10](https://github.com/cube-js/cube/compare/v1.6.9...v1.6.10) (2026-02-09) + +**Note:** Version bump only for package @cubejs-backend/base-driver + ## [1.6.9](https://github.com/cube-js/cube/compare/v1.6.8...v1.6.9) (2026-02-06) **Note:** Version bump only for package @cubejs-backend/base-driver diff --git a/packages/cubejs-base-driver/package.json b/packages/cubejs-base-driver/package.json index a6ea2587fd084..7b99ab0045af7 100644 --- a/packages/cubejs-base-driver/package.json +++ b/packages/cubejs-base-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/base-driver", "description": "Cube.js Base Driver", "author": "Cube Dev, Inc.", - "version": "1.6.9", + "version": "1.6.10", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -33,11 +33,11 @@ "@aws-sdk/s3-request-presigner": "^3.49.0", "@azure/identity": "^4.4.1", "@azure/storage-blob": "^12.9.0", - "@cubejs-backend/shared": "1.6.9", + "@cubejs-backend/shared": "1.6.10", "@google-cloud/storage": "^7.13.0" }, "devDependencies": { - "@cubejs-backend/linter": "1.6.9", + "@cubejs-backend/linter": "1.6.10", "@types/jest": "^29", "@types/node": "^20", "jest": "^29", diff --git a/packages/cubejs-bigquery-driver/CHANGELOG.md b/packages/cubejs-bigquery-driver/CHANGELOG.md index 946e24b84a04d..2bf60debca34a 100644 --- a/packages/cubejs-bigquery-driver/CHANGELOG.md +++ b/packages/cubejs-bigquery-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.6.10](https://github.com/cube-js/cube/compare/v1.6.9...v1.6.10) (2026-02-09) + +**Note:** Version bump only for package @cubejs-backend/bigquery-driver + ## [1.6.9](https://github.com/cube-js/cube/compare/v1.6.8...v1.6.9) (2026-02-06) **Note:** Version bump only for package @cubejs-backend/bigquery-driver diff --git a/packages/cubejs-bigquery-driver/package.json b/packages/cubejs-bigquery-driver/package.json index ea0a6a2104bd3..46d49500d98c3 100644 --- a/packages/cubejs-bigquery-driver/package.json +++ b/packages/cubejs-bigquery-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/bigquery-driver", "description": "Cube.js BigQuery database driver", "author": "Cube Dev, Inc.", - "version": "1.6.9", + "version": "1.6.10", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -29,15 +29,15 @@ "main": "index.js", "types": "dist/src/index.d.ts", "dependencies": { - "@cubejs-backend/base-driver": "1.6.9", + "@cubejs-backend/base-driver": "1.6.10", "@cubejs-backend/dotenv": "^9.0.2", - "@cubejs-backend/shared": "1.6.9", + "@cubejs-backend/shared": "1.6.10", "@google-cloud/bigquery": "^7.7.0", "@google-cloud/storage": "^7.13.0", "ramda": "^0.27.2" }, "devDependencies": { - "@cubejs-backend/testing-shared": "1.6.9", + "@cubejs-backend/testing-shared": "1.6.10", "@types/big.js": "^6.2.2", "@types/dedent": "^0.7.0", "@types/jest": "^29", diff --git a/packages/cubejs-cli/CHANGELOG.md b/packages/cubejs-cli/CHANGELOG.md index a9c772c22b9f8..a328c0b6475c2 100644 --- a/packages/cubejs-cli/CHANGELOG.md +++ b/packages/cubejs-cli/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.6.10](https://github.com/cube-js/cube/compare/v1.6.9...v1.6.10) (2026-02-09) + +**Note:** Version bump only for package cubejs-cli + ## [1.6.9](https://github.com/cube-js/cube/compare/v1.6.8...v1.6.9) (2026-02-06) **Note:** Version bump only for package cubejs-cli diff --git a/packages/cubejs-cli/package.json b/packages/cubejs-cli/package.json index a52f4d415006c..e30acdeb47152 100644 --- a/packages/cubejs-cli/package.json +++ b/packages/cubejs-cli/package.json @@ -2,7 +2,7 @@ "name": "cubejs-cli", "description": "Cube.js Command Line Interface", "author": "Cube Dev, Inc.", - "version": "1.6.9", + "version": "1.6.10", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -30,10 +30,10 @@ "LICENSE" ], "dependencies": { - "@cubejs-backend/cloud": "1.6.9", + "@cubejs-backend/cloud": "1.6.10", "@cubejs-backend/dotenv": "^9.0.2", - "@cubejs-backend/schema-compiler": "1.6.9", - "@cubejs-backend/shared": "1.6.9", + "@cubejs-backend/schema-compiler": "1.6.10", + "@cubejs-backend/shared": "1.6.10", "chalk": "^2.4.2", "cli-progress": "^3.10", "commander": "^2.19.0", @@ -50,8 +50,8 @@ "colors": "1.4.0" }, "devDependencies": { - "@cubejs-backend/linter": "1.6.9", - "@cubejs-backend/server": "1.6.9", + "@cubejs-backend/linter": "1.6.10", + "@cubejs-backend/server": "1.6.10", "@oclif/command": "^1.8.0", "@types/cli-progress": "^3.8.0", "@types/cross-spawn": "^6.0.2", diff --git a/packages/cubejs-clickhouse-driver/CHANGELOG.md b/packages/cubejs-clickhouse-driver/CHANGELOG.md index d940222bb062b..86332892c6500 100644 --- a/packages/cubejs-clickhouse-driver/CHANGELOG.md +++ b/packages/cubejs-clickhouse-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.6.10](https://github.com/cube-js/cube/compare/v1.6.9...v1.6.10) (2026-02-09) + +**Note:** Version bump only for package @cubejs-backend/clickhouse-driver + ## [1.6.9](https://github.com/cube-js/cube/compare/v1.6.8...v1.6.9) (2026-02-06) **Note:** Version bump only for package @cubejs-backend/clickhouse-driver diff --git a/packages/cubejs-clickhouse-driver/package.json b/packages/cubejs-clickhouse-driver/package.json index f3e15a8c25ca6..f1d352c7bd3a8 100644 --- a/packages/cubejs-clickhouse-driver/package.json +++ b/packages/cubejs-clickhouse-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/clickhouse-driver", "description": "Cube.js ClickHouse database driver", "author": "Cube Dev, Inc.", - "version": "1.6.9", + "version": "1.6.10", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -28,16 +28,16 @@ }, "dependencies": { "@clickhouse/client": "^1.12.0", - "@cubejs-backend/base-driver": "1.6.9", - "@cubejs-backend/shared": "1.6.9", + "@cubejs-backend/base-driver": "1.6.10", + "@cubejs-backend/shared": "1.6.10", "moment": "^2.24.0", "sqlstring": "^2.3.1", "uuid": "^8.3.2" }, "license": "Apache-2.0", "devDependencies": { - "@cubejs-backend/linter": "1.6.9", - "@cubejs-backend/testing-shared": "1.6.9", + "@cubejs-backend/linter": "1.6.10", + "@cubejs-backend/testing-shared": "1.6.10", "@types/jest": "^29", "jest": "^29", "typescript": "~5.2.2" diff --git a/packages/cubejs-client-core/CHANGELOG.md b/packages/cubejs-client-core/CHANGELOG.md index f016f5a109fc3..c38f3ada5cff7 100644 --- a/packages/cubejs-client-core/CHANGELOG.md +++ b/packages/cubejs-client-core/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.6.10](https://github.com/cube-js/cube/compare/v1.6.9...v1.6.10) (2026-02-09) + +**Note:** Version bump only for package @cubejs-client/core + ## [1.6.9](https://github.com/cube-js/cube/compare/v1.6.8...v1.6.9) (2026-02-06) **Note:** Version bump only for package @cubejs-client/core diff --git a/packages/cubejs-client-core/package.json b/packages/cubejs-client-core/package.json index 445aec2f145c9..c77667daf3551 100644 --- a/packages/cubejs-client-core/package.json +++ b/packages/cubejs-client-core/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-client/core", - "version": "1.6.9", + "version": "1.6.10", "engines": {}, "repository": { "type": "git", @@ -39,7 +39,7 @@ ], "license": "MIT", "devDependencies": { - "@cubejs-backend/linter": "1.6.9", + "@cubejs-backend/linter": "1.6.10", "@types/jest": "^29", "@types/moment-range": "^4.0.0", "@types/ramda": "^0.27.34", diff --git a/packages/cubejs-client-dx/CHANGELOG.md b/packages/cubejs-client-dx/CHANGELOG.md index 40fa5331bba64..4f4e1dc94adae 100644 --- a/packages/cubejs-client-dx/CHANGELOG.md +++ b/packages/cubejs-client-dx/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.6.10](https://github.com/cube-js/cube/compare/v1.6.9...v1.6.10) (2026-02-09) + +**Note:** Version bump only for package @cubejs-client/dx + ## [1.6.9](https://github.com/cube-js/cube/compare/v1.6.8...v1.6.9) (2026-02-06) **Note:** Version bump only for package @cubejs-client/dx diff --git a/packages/cubejs-client-dx/package.json b/packages/cubejs-client-dx/package.json index 91de6b780968b..21828363d8188 100644 --- a/packages/cubejs-client-dx/package.json +++ b/packages/cubejs-client-dx/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-client/dx", - "version": "1.6.9", + "version": "1.6.10", "engines": {}, "repository": { "type": "git", diff --git a/packages/cubejs-client-ngx/CHANGELOG.md b/packages/cubejs-client-ngx/CHANGELOG.md index 3b2abdc702932..0e6ca53b5d59d 100644 --- a/packages/cubejs-client-ngx/CHANGELOG.md +++ b/packages/cubejs-client-ngx/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.6.10](https://github.com/cube-js/cube/compare/v1.6.9...v1.6.10) (2026-02-09) + +**Note:** Version bump only for package @cubejs-client/ngx + ## [1.6.9](https://github.com/cube-js/cube/compare/v1.6.8...v1.6.9) (2026-02-06) **Note:** Version bump only for package @cubejs-client/ngx diff --git a/packages/cubejs-client-ngx/package.json b/packages/cubejs-client-ngx/package.json index cd171d661e071..7d53932328606 100644 --- a/packages/cubejs-client-ngx/package.json +++ b/packages/cubejs-client-ngx/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-client/ngx", - "version": "1.6.9", + "version": "1.6.10", "author": "Cube Dev, Inc.", "engines": {}, "repository": { diff --git a/packages/cubejs-client-react/CHANGELOG.md b/packages/cubejs-client-react/CHANGELOG.md index fce94e58086e2..f121473c3e292 100644 --- a/packages/cubejs-client-react/CHANGELOG.md +++ b/packages/cubejs-client-react/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.6.10](https://github.com/cube-js/cube/compare/v1.6.9...v1.6.10) (2026-02-09) + +**Note:** Version bump only for package @cubejs-client/react + ## [1.6.9](https://github.com/cube-js/cube/compare/v1.6.8...v1.6.9) (2026-02-06) **Note:** Version bump only for package @cubejs-client/react diff --git a/packages/cubejs-client-react/package.json b/packages/cubejs-client-react/package.json index ab8b2862d8d2b..7c8afab94bc34 100644 --- a/packages/cubejs-client-react/package.json +++ b/packages/cubejs-client-react/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-client/react", - "version": "1.6.9", + "version": "1.6.10", "author": "Cube Dev, Inc.", "license": "MIT", "engines": {}, @@ -24,7 +24,7 @@ ], "dependencies": { "@babel/runtime": "^7.1.2", - "@cubejs-client/core": "1.6.9", + "@cubejs-client/core": "1.6.10", "core-js": "^3.6.5", "ramda": "^0.27.2" }, diff --git a/packages/cubejs-client-vue3/CHANGELOG.md b/packages/cubejs-client-vue3/CHANGELOG.md index 92e4ebb7aa1a2..91fc8d10ae0ed 100644 --- a/packages/cubejs-client-vue3/CHANGELOG.md +++ b/packages/cubejs-client-vue3/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.6.10](https://github.com/cube-js/cube/compare/v1.6.9...v1.6.10) (2026-02-09) + +**Note:** Version bump only for package @cubejs-client/vue3 + ## [1.6.9](https://github.com/cube-js/cube/compare/v1.6.8...v1.6.9) (2026-02-06) **Note:** Version bump only for package @cubejs-client/vue3 diff --git a/packages/cubejs-client-vue3/package.json b/packages/cubejs-client-vue3/package.json index 8ccc690d43cac..4b24d6ddd953a 100644 --- a/packages/cubejs-client-vue3/package.json +++ b/packages/cubejs-client-vue3/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-client/vue3", - "version": "1.6.9", + "version": "1.6.10", "engines": {}, "repository": { "type": "git", @@ -28,7 +28,7 @@ "src" ], "dependencies": { - "@cubejs-client/core": "1.6.9", + "@cubejs-client/core": "1.6.10", "ramda": "^0.27.0" }, "devDependencies": { diff --git a/packages/cubejs-client-ws-transport/CHANGELOG.md b/packages/cubejs-client-ws-transport/CHANGELOG.md index b799aca0c45ac..0e4ad82748519 100644 --- a/packages/cubejs-client-ws-transport/CHANGELOG.md +++ b/packages/cubejs-client-ws-transport/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.6.10](https://github.com/cube-js/cube/compare/v1.6.9...v1.6.10) (2026-02-09) + +**Note:** Version bump only for package @cubejs-client/ws-transport + ## [1.6.9](https://github.com/cube-js/cube/compare/v1.6.8...v1.6.9) (2026-02-06) **Note:** Version bump only for package @cubejs-client/ws-transport diff --git a/packages/cubejs-client-ws-transport/package.json b/packages/cubejs-client-ws-transport/package.json index e5296b213957e..d9f6aa6c9637c 100644 --- a/packages/cubejs-client-ws-transport/package.json +++ b/packages/cubejs-client-ws-transport/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-client/ws-transport", - "version": "1.6.9", + "version": "1.6.10", "engines": {}, "repository": { "type": "git", @@ -20,7 +20,7 @@ }, "dependencies": { "@babel/runtime": "^7.1.2", - "@cubejs-client/core": "1.6.9", + "@cubejs-client/core": "1.6.10", "core-js": "^3.6.5", "isomorphic-ws": "^4.0.1", "ws": "^7.3.1" @@ -33,7 +33,7 @@ "@babel/core": "^7.3.3", "@babel/preset-env": "^7.3.1", "@babel/preset-typescript": "^7.12.1", - "@cubejs-backend/linter": "1.6.9", + "@cubejs-backend/linter": "1.6.10", "@types/ws": "^7.2.9", "typescript": "~5.2.2" }, diff --git a/packages/cubejs-crate-driver/CHANGELOG.md b/packages/cubejs-crate-driver/CHANGELOG.md index 252555b6f6fd7..8fd73148e03b7 100644 --- a/packages/cubejs-crate-driver/CHANGELOG.md +++ b/packages/cubejs-crate-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.6.10](https://github.com/cube-js/cube/compare/v1.6.9...v1.6.10) (2026-02-09) + +**Note:** Version bump only for package @cubejs-backend/crate-driver + ## [1.6.9](https://github.com/cube-js/cube/compare/v1.6.8...v1.6.9) (2026-02-06) **Note:** Version bump only for package @cubejs-backend/crate-driver diff --git a/packages/cubejs-crate-driver/package.json b/packages/cubejs-crate-driver/package.json index a1ffc6b7de811..4c28ed2def78a 100644 --- a/packages/cubejs-crate-driver/package.json +++ b/packages/cubejs-crate-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/crate-driver", "description": "Cube.js Crate database driver", "author": "Cube Dev, Inc.", - "version": "1.6.9", + "version": "1.6.10", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -28,14 +28,14 @@ "lint:fix": "eslint --fix src/* --ext .ts" }, "dependencies": { - "@cubejs-backend/postgres-driver": "1.6.9", - "@cubejs-backend/shared": "1.6.9", + "@cubejs-backend/postgres-driver": "1.6.10", + "@cubejs-backend/shared": "1.6.10", "pg": "^8.7.1" }, "license": "Apache-2.0", "devDependencies": { - "@cubejs-backend/linter": "1.6.9", - "@cubejs-backend/testing-shared": "1.6.9", + "@cubejs-backend/linter": "1.6.10", + "@cubejs-backend/testing-shared": "1.6.10", "testcontainers": "^10.28.0", "typescript": "~5.2.2" }, diff --git a/packages/cubejs-cubestore-driver/CHANGELOG.md b/packages/cubejs-cubestore-driver/CHANGELOG.md index c70f62a2497d8..bea03b7873866 100644 --- a/packages/cubejs-cubestore-driver/CHANGELOG.md +++ b/packages/cubejs-cubestore-driver/CHANGELOG.md @@ -3,6 +3,12 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.6.10](https://github.com/cube-js/cube/compare/v1.6.9...v1.6.10) (2026-02-09) + +### Features + +- Unify pool to make named timeout errors ([#10375](https://github.com/cube-js/cube/issues/10375)) ([bac3cd0](https://github.com/cube-js/cube/commit/bac3cd0f2f3f572fac037686ffa16a2e687fbcdc)) + ## [1.6.9](https://github.com/cube-js/cube/compare/v1.6.8...v1.6.9) (2026-02-06) ### Features diff --git a/packages/cubejs-cubestore-driver/package.json b/packages/cubejs-cubestore-driver/package.json index 5403741863068..41f5c92801caf 100644 --- a/packages/cubejs-cubestore-driver/package.json +++ b/packages/cubejs-cubestore-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/cubestore-driver", "description": "Cube Store driver", "author": "Cube Dev, Inc.", - "version": "1.6.9", + "version": "1.6.10", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -26,14 +26,13 @@ "lint:fix": "eslint --fix src/*.ts" }, "dependencies": { - "@cubejs-backend/base-driver": "1.6.9", - "@cubejs-backend/cubestore": "1.6.9", - "@cubejs-backend/native": "1.6.9", - "@cubejs-backend/shared": "1.6.9", + "@cubejs-backend/base-driver": "1.6.10", + "@cubejs-backend/cubestore": "1.6.10", + "@cubejs-backend/native": "1.6.10", + "@cubejs-backend/shared": "1.6.10", "csv-write-stream": "^2.0.0", "flatbuffers": "23.3.3", "fs-extra": "^9.1.0", - "generic-pool": "^3.8.2", "node-fetch": "^2.6.1", "sqlstring": "^2.3.3", "tempy": "^1.0.1", @@ -41,7 +40,7 @@ "ws": "^7.4.3" }, "devDependencies": { - "@cubejs-backend/linter": "1.6.9", + "@cubejs-backend/linter": "1.6.10", "@types/csv-write-stream": "^2.0.0", "@types/jest": "^29", "@types/node": "^20", diff --git a/packages/cubejs-databricks-jdbc-driver/CHANGELOG.md b/packages/cubejs-databricks-jdbc-driver/CHANGELOG.md index 0733f1e77a87d..caa45a601828d 100644 --- a/packages/cubejs-databricks-jdbc-driver/CHANGELOG.md +++ b/packages/cubejs-databricks-jdbc-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.6.10](https://github.com/cube-js/cube/compare/v1.6.9...v1.6.10) (2026-02-09) + +**Note:** Version bump only for package @cubejs-backend/databricks-jdbc-driver + ## [1.6.9](https://github.com/cube-js/cube/compare/v1.6.8...v1.6.9) (2026-02-06) **Note:** Version bump only for package @cubejs-backend/databricks-jdbc-driver diff --git a/packages/cubejs-databricks-jdbc-driver/package.json b/packages/cubejs-databricks-jdbc-driver/package.json index 2ec7bf5ea5508..99d92bb58aff8 100644 --- a/packages/cubejs-databricks-jdbc-driver/package.json +++ b/packages/cubejs-databricks-jdbc-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/databricks-jdbc-driver", "description": "Cube.js Databricks database driver", "author": "Cube Dev, Inc.", - "version": "1.6.9", + "version": "1.6.10", "license": "Apache-2.0", "repository": { "type": "git", @@ -30,17 +30,17 @@ "bin" ], "dependencies": { - "@cubejs-backend/base-driver": "1.6.9", - "@cubejs-backend/jdbc-driver": "1.6.9", - "@cubejs-backend/schema-compiler": "1.6.9", - "@cubejs-backend/shared": "1.6.9", + "@cubejs-backend/base-driver": "1.6.10", + "@cubejs-backend/jdbc-driver": "1.6.10", + "@cubejs-backend/schema-compiler": "1.6.10", + "@cubejs-backend/shared": "1.6.10", "node-fetch": "^2.6.1", "ramda": "^0.27.2", "source-map-support": "^0.5.19", "uuid": "^8.3.2" }, "devDependencies": { - "@cubejs-backend/linter": "1.6.9", + "@cubejs-backend/linter": "1.6.10", "@types/jest": "^29", "@types/node": "^20", "@types/ramda": "^0.27.34", diff --git a/packages/cubejs-dbt-schema-extension/CHANGELOG.md b/packages/cubejs-dbt-schema-extension/CHANGELOG.md index c8c8955610979..5338c772514ce 100644 --- a/packages/cubejs-dbt-schema-extension/CHANGELOG.md +++ b/packages/cubejs-dbt-schema-extension/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.6.10](https://github.com/cube-js/cube/compare/v1.6.9...v1.6.10) (2026-02-09) + +**Note:** Version bump only for package @cubejs-backend/dbt-schema-extension + ## [1.6.9](https://github.com/cube-js/cube/compare/v1.6.8...v1.6.9) (2026-02-06) **Note:** Version bump only for package @cubejs-backend/dbt-schema-extension diff --git a/packages/cubejs-dbt-schema-extension/package.json b/packages/cubejs-dbt-schema-extension/package.json index 2c9a3ebd39c5a..f7b52f11185fc 100644 --- a/packages/cubejs-dbt-schema-extension/package.json +++ b/packages/cubejs-dbt-schema-extension/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/dbt-schema-extension", "description": "Cube.js dbt Schema Extension", "author": "Cube Dev, Inc.", - "version": "1.6.9", + "version": "1.6.10", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -25,14 +25,14 @@ "lint:fix": "eslint --fix src/* --ext .ts,.js" }, "dependencies": { - "@cubejs-backend/schema-compiler": "1.6.9", + "@cubejs-backend/schema-compiler": "1.6.10", "fs-extra": "^9.1.0", "inflection": "^1.12.0", "node-fetch": "^2.6.1" }, "devDependencies": { - "@cubejs-backend/linter": "1.6.9", - "@cubejs-backend/testing": "1.6.9", + "@cubejs-backend/linter": "1.6.10", + "@cubejs-backend/testing": "1.6.10", "@types/jest": "^29", "jest": "^29", "stream-to-array": "^2.3.0", diff --git a/packages/cubejs-docker/CHANGELOG.md b/packages/cubejs-docker/CHANGELOG.md index b589cef9ff982..caf41f0271060 100644 --- a/packages/cubejs-docker/CHANGELOG.md +++ b/packages/cubejs-docker/CHANGELOG.md @@ -3,6 +3,12 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.6.10](https://github.com/cube-js/cube/compare/v1.6.9...v1.6.10) (2026-02-09) + +### Bug Fixes + +- **docker:** Set UTF-8 locale environment variables to fix Python UnicodeEncodeError ([#10378](https://github.com/cube-js/cube/issues/10378)) ([104ff5f](https://github.com/cube-js/cube/commit/104ff5f732c80fe54945c959736db5493b4d2575)) + ## [1.6.9](https://github.com/cube-js/cube/compare/v1.6.8...v1.6.9) (2026-02-06) **Note:** Version bump only for package @cubejs-backend/docker diff --git a/packages/cubejs-docker/dev.Dockerfile b/packages/cubejs-docker/dev.Dockerfile index c38c8bdb3a626..d07058d87058a 100644 --- a/packages/cubejs-docker/dev.Dockerfile +++ b/packages/cubejs-docker/dev.Dockerfile @@ -184,6 +184,8 @@ COPY packages/cubejs-docker/bin/cubejs-dev /usr/local/bin/cubejs # By default Node dont search in parent directory from /cube/conf, @todo Reaserch a little bit more ENV NODE_PATH /cube/conf/node_modules:/cube/node_modules ENV PYTHONUNBUFFERED=1 +ENV LANG=C.UTF-8 +ENV LC_ALL=C.UTF-8 RUN ln -s /cubejs/packages/cubejs-docker /cube RUN ln -s /cubejs/rust/cubestore/bin/cubestore-dev /usr/local/bin/cubestore-dev diff --git a/packages/cubejs-docker/latest-debian-jdk.Dockerfile b/packages/cubejs-docker/latest-debian-jdk.Dockerfile index 1e9cb01c19917..76f756b8421d9 100644 --- a/packages/cubejs-docker/latest-debian-jdk.Dockerfile +++ b/packages/cubejs-docker/latest-debian-jdk.Dockerfile @@ -49,6 +49,8 @@ COPY --chown=cube:cube --from=builder /cube . # By default Node dont search in parent directory from /cube/conf, @todo Reaserch a little bit more ENV NODE_PATH /cube/conf/node_modules:/cube/node_modules ENV PYTHONUNBUFFERED=1 +ENV LANG=C.UTF-8 +ENV LC_ALL=C.UTF-8 RUN ln -s /cube/node_modules/.bin/cubejs /usr/local/bin/cubejs RUN ln -s /cube/node_modules/.bin/cubestore-dev /usr/local/bin/cubestore-dev diff --git a/packages/cubejs-docker/latest.Dockerfile b/packages/cubejs-docker/latest.Dockerfile index c3c4dde29513f..78f1b59be2af0 100644 --- a/packages/cubejs-docker/latest.Dockerfile +++ b/packages/cubejs-docker/latest.Dockerfile @@ -36,6 +36,8 @@ RUN DEBIAN_FRONTEND=noninteractive \ RUN yarn policies set-version v1.22.22 ENV NODE_ENV=production +ENV LANG=C.UTF-8 +ENV LC_ALL=C.UTF-8 WORKDIR /cube diff --git a/packages/cubejs-docker/local.Dockerfile b/packages/cubejs-docker/local.Dockerfile index 04ec7a908dbd4..fca70e19193b9 100644 --- a/packages/cubejs-docker/local.Dockerfile +++ b/packages/cubejs-docker/local.Dockerfile @@ -41,6 +41,8 @@ RUN yarn install --prod && yarn cache clean && yarn link:dev # By default Node dont search in parent directory from /cube/conf, @todo Reaserch a little bit more ENV NODE_PATH /cube/conf/node_modules:/cube/node_modules ENV PYTHONUNBUFFERED=1 +ENV LANG=C.UTF-8 +ENV LC_ALL=C.UTF-8 RUN ln -s /cube/node_modules/.bin/cubejs /usr/local/bin/cubejs RUN ln -s /cube/node_modules/.bin/cubestore-dev /usr/local/bin/cubestore-dev diff --git a/packages/cubejs-docker/package.json b/packages/cubejs-docker/package.json index f0b7bc7568890..e6d7431fb2e41 100644 --- a/packages/cubejs-docker/package.json +++ b/packages/cubejs-docker/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-backend/docker", - "version": "1.6.9", + "version": "1.6.10", "description": "Cube.js In Docker (virtual package)", "author": "Cube Dev, Inc.", "license": "Apache-2.0", @@ -9,35 +9,35 @@ "node": ">=18.0.0" }, "dependencies": { - "@cubejs-backend/athena-driver": "1.6.9", - "@cubejs-backend/bigquery-driver": "1.6.9", - "@cubejs-backend/clickhouse-driver": "1.6.9", - "@cubejs-backend/crate-driver": "1.6.9", - "@cubejs-backend/databricks-jdbc-driver": "1.6.9", - "@cubejs-backend/dbt-schema-extension": "1.6.9", - "@cubejs-backend/dremio-driver": "1.6.9", - "@cubejs-backend/druid-driver": "1.6.9", - "@cubejs-backend/duckdb-driver": "1.6.9", - "@cubejs-backend/elasticsearch-driver": "1.6.9", - "@cubejs-backend/firebolt-driver": "1.6.9", - "@cubejs-backend/hive-driver": "1.6.9", - "@cubejs-backend/ksql-driver": "1.6.9", - "@cubejs-backend/materialize-driver": "1.6.9", - "@cubejs-backend/mongobi-driver": "1.6.9", - "@cubejs-backend/mssql-driver": "1.6.9", - "@cubejs-backend/mysql-driver": "1.6.9", - "@cubejs-backend/oracle-driver": "1.6.9", - "@cubejs-backend/pinot-driver": "1.6.9", - "@cubejs-backend/postgres-driver": "1.6.9", - "@cubejs-backend/prestodb-driver": "1.6.9", - "@cubejs-backend/questdb-driver": "1.6.9", - "@cubejs-backend/redshift-driver": "1.6.9", - "@cubejs-backend/server": "1.6.9", - "@cubejs-backend/snowflake-driver": "1.6.9", - "@cubejs-backend/sqlite-driver": "1.6.9", - "@cubejs-backend/trino-driver": "1.6.9", - "@cubejs-backend/vertica-driver": "1.6.9", - "cubejs-cli": "1.6.9", + "@cubejs-backend/athena-driver": "1.6.10", + "@cubejs-backend/bigquery-driver": "1.6.10", + "@cubejs-backend/clickhouse-driver": "1.6.10", + "@cubejs-backend/crate-driver": "1.6.10", + "@cubejs-backend/databricks-jdbc-driver": "1.6.10", + "@cubejs-backend/dbt-schema-extension": "1.6.10", + "@cubejs-backend/dremio-driver": "1.6.10", + "@cubejs-backend/druid-driver": "1.6.10", + "@cubejs-backend/duckdb-driver": "1.6.10", + "@cubejs-backend/elasticsearch-driver": "1.6.10", + "@cubejs-backend/firebolt-driver": "1.6.10", + "@cubejs-backend/hive-driver": "1.6.10", + "@cubejs-backend/ksql-driver": "1.6.10", + "@cubejs-backend/materialize-driver": "1.6.10", + "@cubejs-backend/mongobi-driver": "1.6.10", + "@cubejs-backend/mssql-driver": "1.6.10", + "@cubejs-backend/mysql-driver": "1.6.10", + "@cubejs-backend/oracle-driver": "1.6.10", + "@cubejs-backend/pinot-driver": "1.6.10", + "@cubejs-backend/postgres-driver": "1.6.10", + "@cubejs-backend/prestodb-driver": "1.6.10", + "@cubejs-backend/questdb-driver": "1.6.10", + "@cubejs-backend/redshift-driver": "1.6.10", + "@cubejs-backend/server": "1.6.10", + "@cubejs-backend/snowflake-driver": "1.6.10", + "@cubejs-backend/sqlite-driver": "1.6.10", + "@cubejs-backend/trino-driver": "1.6.10", + "@cubejs-backend/vertica-driver": "1.6.10", + "cubejs-cli": "1.6.10", "typescript": "~5.2.2" }, "resolutions": { diff --git a/packages/cubejs-docker/testing-drivers.Dockerfile b/packages/cubejs-docker/testing-drivers.Dockerfile index eda30b66c3f47..e7da9e95793d5 100644 --- a/packages/cubejs-docker/testing-drivers.Dockerfile +++ b/packages/cubejs-docker/testing-drivers.Dockerfile @@ -179,6 +179,9 @@ COPY packages/cubejs-docker/bin/cubejs-dev /usr/local/bin/cubejs # By default Node dont search in parent directory from /cube/conf, @todo Reaserch a little bit more ENV NODE_PATH /cube/conf/node_modules:/cube/node_modules +ENV PYTHONUNBUFFERED=1 +ENV LANG=C.UTF-8 +ENV LC_ALL=C.UTF-8 RUN ln -s /cubejs/packages/cubejs-docker /cube RUN ln -s /cubejs/rust/cubestore/bin/cubestore-dev /usr/local/bin/cubestore-dev diff --git a/packages/cubejs-dremio-driver/CHANGELOG.md b/packages/cubejs-dremio-driver/CHANGELOG.md index 1340ff1e9c6f7..eb3f9d9276691 100644 --- a/packages/cubejs-dremio-driver/CHANGELOG.md +++ b/packages/cubejs-dremio-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.6.10](https://github.com/cube-js/cube/compare/v1.6.9...v1.6.10) (2026-02-09) + +**Note:** Version bump only for package @cubejs-backend/dremio-driver + ## [1.6.9](https://github.com/cube-js/cube/compare/v1.6.8...v1.6.9) (2026-02-06) **Note:** Version bump only for package @cubejs-backend/dremio-driver diff --git a/packages/cubejs-dremio-driver/package.json b/packages/cubejs-dremio-driver/package.json index f200ac15fd007..25d5aa9e5d790 100644 --- a/packages/cubejs-dremio-driver/package.json +++ b/packages/cubejs-dremio-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/dremio-driver", "description": "Cube.js Dremio driver", "author": "Cube Dev, Inc.", - "version": "1.6.9", + "version": "1.6.10", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -22,15 +22,15 @@ "lint:fix": "eslint driver/*.js" }, "dependencies": { - "@cubejs-backend/base-driver": "1.6.9", - "@cubejs-backend/schema-compiler": "1.6.9", - "@cubejs-backend/shared": "1.6.9", + "@cubejs-backend/base-driver": "1.6.10", + "@cubejs-backend/schema-compiler": "1.6.10", + "@cubejs-backend/shared": "1.6.10", "axios": "^1.8.3", "sqlstring": "^2.3.1" }, "devDependencies": { - "@cubejs-backend/linter": "1.6.9", - "@cubejs-backend/testing-shared": "1.6.9", + "@cubejs-backend/linter": "1.6.10", + "@cubejs-backend/testing-shared": "1.6.10", "jest": "^29" }, "license": "Apache-2.0", diff --git a/packages/cubejs-druid-driver/CHANGELOG.md b/packages/cubejs-druid-driver/CHANGELOG.md index ef0b2a3abbb9a..658cf71b1932c 100644 --- a/packages/cubejs-druid-driver/CHANGELOG.md +++ b/packages/cubejs-druid-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.6.10](https://github.com/cube-js/cube/compare/v1.6.9...v1.6.10) (2026-02-09) + +**Note:** Version bump only for package @cubejs-backend/druid-driver + ## [1.6.9](https://github.com/cube-js/cube/compare/v1.6.8...v1.6.9) (2026-02-06) **Note:** Version bump only for package @cubejs-backend/druid-driver diff --git a/packages/cubejs-druid-driver/package.json b/packages/cubejs-druid-driver/package.json index c36daa825c88b..a06529d12e2d2 100644 --- a/packages/cubejs-druid-driver/package.json +++ b/packages/cubejs-druid-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/druid-driver", "description": "Cube.js Druid database driver", "author": "Cube Dev, Inc.", - "version": "1.6.9", + "version": "1.6.10", "license": "Apache-2.0", "repository": { "type": "git", @@ -28,13 +28,13 @@ "dist/src/*" ], "dependencies": { - "@cubejs-backend/base-driver": "1.6.9", - "@cubejs-backend/schema-compiler": "1.6.9", - "@cubejs-backend/shared": "1.6.9", + "@cubejs-backend/base-driver": "1.6.10", + "@cubejs-backend/schema-compiler": "1.6.10", + "@cubejs-backend/shared": "1.6.10", "axios": "^1.8.3" }, "devDependencies": { - "@cubejs-backend/linter": "1.6.9", + "@cubejs-backend/linter": "1.6.10", "@types/jest": "^29", "@types/node": "^20", "jest": "^29", diff --git a/packages/cubejs-duckdb-driver/CHANGELOG.md b/packages/cubejs-duckdb-driver/CHANGELOG.md index 11abce6e27a4b..281ef1f985316 100644 --- a/packages/cubejs-duckdb-driver/CHANGELOG.md +++ b/packages/cubejs-duckdb-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.6.10](https://github.com/cube-js/cube/compare/v1.6.9...v1.6.10) (2026-02-09) + +**Note:** Version bump only for package @cubejs-backend/duckdb-driver + ## [1.6.9](https://github.com/cube-js/cube/compare/v1.6.8...v1.6.9) (2026-02-06) **Note:** Version bump only for package @cubejs-backend/duckdb-driver diff --git a/packages/cubejs-duckdb-driver/package.json b/packages/cubejs-duckdb-driver/package.json index 333acdb2030c4..279869bb22cf8 100644 --- a/packages/cubejs-duckdb-driver/package.json +++ b/packages/cubejs-duckdb-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/duckdb-driver", "description": "Cube DuckDB database driver", "author": "Cube Dev, Inc.", - "version": "1.6.9", + "version": "1.6.10", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -27,15 +27,15 @@ "lint:fix": "eslint --fix src/* --ext .ts" }, "dependencies": { - "@cubejs-backend/base-driver": "1.6.9", - "@cubejs-backend/schema-compiler": "1.6.9", - "@cubejs-backend/shared": "1.6.9", + "@cubejs-backend/base-driver": "1.6.10", + "@cubejs-backend/schema-compiler": "1.6.10", + "@cubejs-backend/shared": "1.6.10", "duckdb": "^1.4.1" }, "license": "Apache-2.0", "devDependencies": { - "@cubejs-backend/linter": "1.6.9", - "@cubejs-backend/testing-shared": "1.6.9", + "@cubejs-backend/linter": "1.6.10", + "@cubejs-backend/testing-shared": "1.6.10", "@types/jest": "^29", "@types/node": "^20", "jest": "^29", diff --git a/packages/cubejs-elasticsearch-driver/CHANGELOG.md b/packages/cubejs-elasticsearch-driver/CHANGELOG.md index b7bd6e1e19ec5..4fbb5aed688c5 100644 --- a/packages/cubejs-elasticsearch-driver/CHANGELOG.md +++ b/packages/cubejs-elasticsearch-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.6.10](https://github.com/cube-js/cube/compare/v1.6.9...v1.6.10) (2026-02-09) + +**Note:** Version bump only for package @cubejs-backend/elasticsearch-driver + ## [1.6.9](https://github.com/cube-js/cube/compare/v1.6.8...v1.6.9) (2026-02-06) **Note:** Version bump only for package @cubejs-backend/elasticsearch-driver diff --git a/packages/cubejs-elasticsearch-driver/package.json b/packages/cubejs-elasticsearch-driver/package.json index 7642c461c6d2c..5322b621e670b 100644 --- a/packages/cubejs-elasticsearch-driver/package.json +++ b/packages/cubejs-elasticsearch-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/elasticsearch-driver", "description": "Cube.js elasticsearch database driver", "author": "Cube Dev, Inc.", - "version": "1.6.9", + "version": "1.6.10", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -23,14 +23,14 @@ "driver" ], "dependencies": { - "@cubejs-backend/base-driver": "1.6.9", - "@cubejs-backend/shared": "1.6.9", + "@cubejs-backend/base-driver": "1.6.10", + "@cubejs-backend/shared": "1.6.10", "@elastic/elasticsearch": "7.12.0", "sqlstring": "^2.3.1" }, "license": "Apache-2.0", "devDependencies": { - "@cubejs-backend/linter": "1.6.9", + "@cubejs-backend/linter": "1.6.10", "@types/jest": "^29", "jest": "^29", "testcontainers": "^10.28.0" diff --git a/packages/cubejs-firebolt-driver/CHANGELOG.md b/packages/cubejs-firebolt-driver/CHANGELOG.md index 258ed41cabb1d..5830bd7c49188 100644 --- a/packages/cubejs-firebolt-driver/CHANGELOG.md +++ b/packages/cubejs-firebolt-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.6.10](https://github.com/cube-js/cube/compare/v1.6.9...v1.6.10) (2026-02-09) + +**Note:** Version bump only for package @cubejs-backend/firebolt-driver + ## [1.6.9](https://github.com/cube-js/cube/compare/v1.6.8...v1.6.9) (2026-02-06) **Note:** Version bump only for package @cubejs-backend/firebolt-driver diff --git a/packages/cubejs-firebolt-driver/package.json b/packages/cubejs-firebolt-driver/package.json index 9a06650d93b60..3719d15003f3f 100644 --- a/packages/cubejs-firebolt-driver/package.json +++ b/packages/cubejs-firebolt-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/firebolt-driver", "description": "Cube.js Firebolt database driver", "author": "Cube Dev, Inc.", - "version": "1.6.9", + "version": "1.6.10", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -28,15 +28,15 @@ "lint:fix": "eslint --fix src/* --ext .ts" }, "dependencies": { - "@cubejs-backend/base-driver": "1.6.9", - "@cubejs-backend/schema-compiler": "1.6.9", - "@cubejs-backend/shared": "1.6.9", + "@cubejs-backend/base-driver": "1.6.10", + "@cubejs-backend/schema-compiler": "1.6.10", + "@cubejs-backend/shared": "1.6.10", "firebolt-sdk": "1.10.0" }, "license": "Apache-2.0", "devDependencies": { - "@cubejs-backend/linter": "1.6.9", - "@cubejs-backend/testing-shared": "1.6.9", + "@cubejs-backend/linter": "1.6.10", + "@cubejs-backend/testing-shared": "1.6.10", "typescript": "~5.2.2" }, "publishConfig": { diff --git a/packages/cubejs-hive-driver/CHANGELOG.md b/packages/cubejs-hive-driver/CHANGELOG.md index 1603d7a5fc877..1bfa5857c3dd1 100644 --- a/packages/cubejs-hive-driver/CHANGELOG.md +++ b/packages/cubejs-hive-driver/CHANGELOG.md @@ -3,6 +3,12 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.6.10](https://github.com/cube-js/cube/compare/v1.6.9...v1.6.10) (2026-02-09) + +### Features + +- Unify pool to make named timeout errors ([#10375](https://github.com/cube-js/cube/issues/10375)) ([bac3cd0](https://github.com/cube-js/cube/commit/bac3cd0f2f3f572fac037686ffa16a2e687fbcdc)) + ## [1.6.9](https://github.com/cube-js/cube/compare/v1.6.8...v1.6.9) (2026-02-06) **Note:** Version bump only for package @cubejs-backend/hive-driver diff --git a/packages/cubejs-hive-driver/package.json b/packages/cubejs-hive-driver/package.json index 264bd70a9257d..9f0d545ac0063 100644 --- a/packages/cubejs-hive-driver/package.json +++ b/packages/cubejs-hive-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/hive-driver", "description": "Cube.js Hive database driver", "author": "Cube Dev, Inc.", - "version": "1.6.9", + "version": "1.6.10", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -17,9 +17,8 @@ "lint:fix": "eslint --fix src/* --ext .ts" }, "dependencies": { - "@cubejs-backend/base-driver": "1.6.9", - "@cubejs-backend/shared": "1.6.9", - "generic-pool": "^3.8.2", + "@cubejs-backend/base-driver": "1.6.10", + "@cubejs-backend/shared": "1.6.10", "jshs2": "^0.4.4", "sasl-plain": "^0.1.0", "saslmechanisms": "^0.1.1", @@ -28,7 +27,7 @@ }, "license": "Apache-2.0", "devDependencies": { - "@cubejs-backend/linter": "1.6.9" + "@cubejs-backend/linter": "1.6.10" }, "publishConfig": { "access": "public" diff --git a/packages/cubejs-hive-driver/src/HiveDriver.js b/packages/cubejs-hive-driver/src/HiveDriver.js index 66ba418633660..63908361e9cce 100644 --- a/packages/cubejs-hive-driver/src/HiveDriver.js +++ b/packages/cubejs-hive-driver/src/HiveDriver.js @@ -7,10 +7,10 @@ const { getEnv, assertDataSource, + Pool, } = require('@cubejs-backend/shared'); const jshs2 = require('jshs2'); const SqlString = require('sqlstring'); -const genericPool = require('generic-pool'); const { BaseDriver } = require('@cubejs-backend/base-driver'); const Connection = require('jshs2/lib/Connection'); const IDLFactory = require('jshs2/lib/common/IDLFactory'); @@ -82,7 +82,7 @@ class HiveDriver extends BaseDriver { const configuration = new Configuration(this.config); - this.pool = genericPool.createPool({ + this.pool = new Pool('hive', { create: async () => { const idl = new IDLContainer(); await idl.initialize(configuration); diff --git a/packages/cubejs-jdbc-driver/CHANGELOG.md b/packages/cubejs-jdbc-driver/CHANGELOG.md index 29e3dee075042..041482365a0c6 100644 --- a/packages/cubejs-jdbc-driver/CHANGELOG.md +++ b/packages/cubejs-jdbc-driver/CHANGELOG.md @@ -3,6 +3,12 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.6.10](https://github.com/cube-js/cube/compare/v1.6.9...v1.6.10) (2026-02-09) + +### Features + +- Unify pool to make named timeout errors ([#10375](https://github.com/cube-js/cube/issues/10375)) ([bac3cd0](https://github.com/cube-js/cube/commit/bac3cd0f2f3f572fac037686ffa16a2e687fbcdc)) + ## [1.6.9](https://github.com/cube-js/cube/compare/v1.6.8...v1.6.9) (2026-02-06) **Note:** Version bump only for package @cubejs-backend/jdbc-driver diff --git a/packages/cubejs-jdbc-driver/package.json b/packages/cubejs-jdbc-driver/package.json index 8f5af614ddb94..2ff32802e8e7c 100644 --- a/packages/cubejs-jdbc-driver/package.json +++ b/packages/cubejs-jdbc-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/jdbc-driver", "description": "Cube.js JDBC database driver", "author": "Cube Dev, Inc.", - "version": "1.6.9", + "version": "1.6.10", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -25,10 +25,9 @@ "index.js" ], "dependencies": { - "@cubejs-backend/base-driver": "1.6.9", + "@cubejs-backend/base-driver": "1.6.10", "@cubejs-backend/node-java-maven": "^0.1.3", - "@cubejs-backend/shared": "1.6.9", - "generic-pool": "^3.9.0", + "@cubejs-backend/shared": "1.6.10", "sqlstring": "^2.3.0" }, "optionalDependencies": { @@ -43,7 +42,7 @@ "testEnvironment": "node" }, "devDependencies": { - "@cubejs-backend/linter": "1.6.9", + "@cubejs-backend/linter": "1.6.10", "@types/node": "^20", "@types/sqlstring": "^2.3.0", "typescript": "~5.2.2" diff --git a/packages/cubejs-jdbc-driver/src/JDBCDriver.ts b/packages/cubejs-jdbc-driver/src/JDBCDriver.ts index 2acd4eefb9d08..9a93f15f39dba 100644 --- a/packages/cubejs-jdbc-driver/src/JDBCDriver.ts +++ b/packages/cubejs-jdbc-driver/src/JDBCDriver.ts @@ -8,6 +8,7 @@ import { getEnv, assertDataSource, CancelablePromise, + Pool, } from '@cubejs-backend/shared'; import { BaseDriver, @@ -17,7 +18,6 @@ import { } from '@cubejs-backend/base-driver'; import * as SqlString from 'sqlstring'; import { promisify } from 'util'; -import genericPool, { Factory, Pool } from 'generic-pool'; import path from 'path'; import { SupportedDrivers } from './supported-drivers'; @@ -72,14 +72,10 @@ Connection.prototype.getMetaDataAsync = promisify(Connection.prototype.getMetaDa DatabaseMetaData.prototype.getSchemasAsync = promisify(DatabaseMetaData.prototype.getSchemas); DatabaseMetaData.prototype.getTablesAsync = promisify(DatabaseMetaData.prototype.getTables); -interface ExtendedPool extends Pool { - _factory: Factory; -} - export class JDBCDriver extends BaseDriver { protected readonly config: JDBCDriverConfiguration; - protected pool: ExtendedPool; + protected pool: Pool; protected jdbcProps: any; @@ -136,7 +132,7 @@ export class JDBCDriver extends BaseDriver { throw new Error('url is required property'); } - this.pool = genericPool.createPool({ + this.pool = new Pool('jdbc', { create: async () => { await initMvn(await this.getCustomClassPath()); @@ -182,7 +178,7 @@ export class JDBCDriver extends BaseDriver { testOnBorrow: true, acquireTimeoutMillis: 120000, ...(poolOptions || {}) - }) as ExtendedPool; + }); // https://github.com/coopernurse/node-pool/blob/ee5db9ddb54ce3a142fde3500116b393d4f2f755/README.md#L220-L226 this.pool.on('factoryCreateError', (err) => { diff --git a/packages/cubejs-jdbc-driver/src/types.ts b/packages/cubejs-jdbc-driver/src/types.ts index ddf31cadeeb00..16aabec1c3cb4 100644 --- a/packages/cubejs-jdbc-driver/src/types.ts +++ b/packages/cubejs-jdbc-driver/src/types.ts @@ -1,4 +1,4 @@ -import { Options } from 'generic-pool'; +import { PoolOptions } from '@cubejs-backend/shared'; export type JDBCDriverConfiguration = { database: string, @@ -7,6 +7,6 @@ export type JDBCDriverConfiguration = { drivername: string, customClassPath?: string, properties: Record, - poolOptions?: Options; + poolOptions?: PoolOptions; prepareConnectionQueries?: string[]; }; diff --git a/packages/cubejs-ksql-driver/CHANGELOG.md b/packages/cubejs-ksql-driver/CHANGELOG.md index f0b6d463998d7..2dd7688d79b6b 100644 --- a/packages/cubejs-ksql-driver/CHANGELOG.md +++ b/packages/cubejs-ksql-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.6.10](https://github.com/cube-js/cube/compare/v1.6.9...v1.6.10) (2026-02-09) + +**Note:** Version bump only for package @cubejs-backend/ksql-driver + ## [1.6.9](https://github.com/cube-js/cube/compare/v1.6.8...v1.6.9) (2026-02-06) **Note:** Version bump only for package @cubejs-backend/ksql-driver diff --git a/packages/cubejs-ksql-driver/package.json b/packages/cubejs-ksql-driver/package.json index 16f4841ba467f..03ce486b9968d 100644 --- a/packages/cubejs-ksql-driver/package.json +++ b/packages/cubejs-ksql-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/ksql-driver", "description": "Cube.js ksql database driver", "author": "Cube Dev, Inc.", - "version": "1.6.9", + "version": "1.6.10", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -25,9 +25,9 @@ "lint:fix": "eslint --fix src/* --ext .ts" }, "dependencies": { - "@cubejs-backend/base-driver": "1.6.9", - "@cubejs-backend/schema-compiler": "1.6.9", - "@cubejs-backend/shared": "1.6.9", + "@cubejs-backend/base-driver": "1.6.10", + "@cubejs-backend/schema-compiler": "1.6.10", + "@cubejs-backend/shared": "1.6.10", "async-mutex": "0.3.2", "axios": "^1.8.3", "kafkajs": "^2.2.3", @@ -41,7 +41,7 @@ "extends": "../cubejs-linter" }, "devDependencies": { - "@cubejs-backend/linter": "1.6.9", + "@cubejs-backend/linter": "1.6.10", "typescript": "~5.2.2" } } diff --git a/packages/cubejs-linter/CHANGELOG.md b/packages/cubejs-linter/CHANGELOG.md index f476d1b2c46b5..e05b9b3ed9a55 100644 --- a/packages/cubejs-linter/CHANGELOG.md +++ b/packages/cubejs-linter/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.6.10](https://github.com/cube-js/cube/compare/v1.6.9...v1.6.10) (2026-02-09) + +**Note:** Version bump only for package @cubejs-backend/linter + ## [1.6.9](https://github.com/cube-js/cube/compare/v1.6.8...v1.6.9) (2026-02-06) **Note:** Version bump only for package @cubejs-backend/linter diff --git a/packages/cubejs-linter/package.json b/packages/cubejs-linter/package.json index abf445f56bca6..752f56e49f9ca 100644 --- a/packages/cubejs-linter/package.json +++ b/packages/cubejs-linter/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/linter", "description": "Cube.js ESLint (virtual package) for linting code", "author": "Cube Dev, Inc.", - "version": "1.6.9", + "version": "1.6.10", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", diff --git a/packages/cubejs-materialize-driver/CHANGELOG.md b/packages/cubejs-materialize-driver/CHANGELOG.md index e825b47b6c991..0c18ad3218df2 100644 --- a/packages/cubejs-materialize-driver/CHANGELOG.md +++ b/packages/cubejs-materialize-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.6.10](https://github.com/cube-js/cube/compare/v1.6.9...v1.6.10) (2026-02-09) + +**Note:** Version bump only for package @cubejs-backend/materialize-driver + ## [1.6.9](https://github.com/cube-js/cube/compare/v1.6.8...v1.6.9) (2026-02-06) **Note:** Version bump only for package @cubejs-backend/materialize-driver diff --git a/packages/cubejs-materialize-driver/package.json b/packages/cubejs-materialize-driver/package.json index 648cc00cb7e27..cb2ca465da6d4 100644 --- a/packages/cubejs-materialize-driver/package.json +++ b/packages/cubejs-materialize-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/materialize-driver", "description": "Cube.js Materialize database driver", "author": "Cube Dev, Inc.", - "version": "1.6.9", + "version": "1.6.10", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -27,17 +27,17 @@ "lint:fix": "eslint --fix src/* --ext .ts" }, "dependencies": { - "@cubejs-backend/base-driver": "1.6.9", - "@cubejs-backend/postgres-driver": "1.6.9", - "@cubejs-backend/shared": "1.6.9", + "@cubejs-backend/base-driver": "1.6.10", + "@cubejs-backend/postgres-driver": "1.6.10", + "@cubejs-backend/shared": "1.6.10", "@types/pg": "^8.6.0", "pg": "^8.6.0", "semver": "^7.6.3" }, "license": "Apache-2.0", "devDependencies": { - "@cubejs-backend/linter": "1.6.9", - "@cubejs-backend/testing": "1.6.9", + "@cubejs-backend/linter": "1.6.10", + "@cubejs-backend/testing": "1.6.10", "typescript": "~5.2.2" }, "publishConfig": { diff --git a/packages/cubejs-mongobi-driver/CHANGELOG.md b/packages/cubejs-mongobi-driver/CHANGELOG.md index ab88ef2c9aee6..a1d825bcdce60 100644 --- a/packages/cubejs-mongobi-driver/CHANGELOG.md +++ b/packages/cubejs-mongobi-driver/CHANGELOG.md @@ -3,6 +3,12 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.6.10](https://github.com/cube-js/cube/compare/v1.6.9...v1.6.10) (2026-02-09) + +### Features + +- Unify pool to make named timeout errors ([#10375](https://github.com/cube-js/cube/issues/10375)) ([bac3cd0](https://github.com/cube-js/cube/commit/bac3cd0f2f3f572fac037686ffa16a2e687fbcdc)) + ## [1.6.9](https://github.com/cube-js/cube/compare/v1.6.8...v1.6.9) (2026-02-06) **Note:** Version bump only for package @cubejs-backend/mongobi-driver diff --git a/packages/cubejs-mongobi-driver/package.json b/packages/cubejs-mongobi-driver/package.json index 887d2983aa77f..64ed0b4062636 100644 --- a/packages/cubejs-mongobi-driver/package.json +++ b/packages/cubejs-mongobi-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/mongobi-driver", "description": "Cube.js MongoBI driver", "author": "krunalsabnis@gmail.com", - "version": "1.6.9", + "version": "1.6.10", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -27,10 +27,9 @@ "integration:mongobi": "jest dist/test" }, "dependencies": { - "@cubejs-backend/base-driver": "1.6.9", - "@cubejs-backend/shared": "1.6.9", + "@cubejs-backend/base-driver": "1.6.10", + "@cubejs-backend/shared": "1.6.10", "@types/node": "^20", - "generic-pool": "^3.9.0", "moment": "^2.29.1", "mysql2": "^3.11.5" }, @@ -39,7 +38,7 @@ "access": "public" }, "devDependencies": { - "@cubejs-backend/linter": "1.6.9", + "@cubejs-backend/linter": "1.6.10", "testcontainers": "^10.28.0", "typescript": "~5.2.2" }, diff --git a/packages/cubejs-mongobi-driver/src/MongoBIDriver.ts b/packages/cubejs-mongobi-driver/src/MongoBIDriver.ts index 3d1187f061476..b1a45c5c82c88 100644 --- a/packages/cubejs-mongobi-driver/src/MongoBIDriver.ts +++ b/packages/cubejs-mongobi-driver/src/MongoBIDriver.ts @@ -7,9 +7,9 @@ import { getEnv, assertDataSource, + Pool, } from '@cubejs-backend/shared'; import { createConnection, Connection, ConnectionOptions, RowDataPacket, Field } from 'mysql2'; -import genericPool, { Pool } from 'generic-pool'; import { Readable } from 'stream'; import { BaseDriver, @@ -94,7 +94,7 @@ export class MongoBIDriver extends BaseDriver implements DriverInterface { flags: ['-CONNECT_ATTRS'], ...mongoBIDriverConfiguration }; - this.pool = genericPool.createPool({ + this.pool = new Pool('mongobi', { create: async () => { const conn: Connection = createConnection(this.config); diff --git a/packages/cubejs-mssql-driver/CHANGELOG.md b/packages/cubejs-mssql-driver/CHANGELOG.md index 9a6913cfe8d34..11068f3777a28 100644 --- a/packages/cubejs-mssql-driver/CHANGELOG.md +++ b/packages/cubejs-mssql-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.6.10](https://github.com/cube-js/cube/compare/v1.6.9...v1.6.10) (2026-02-09) + +**Note:** Version bump only for package @cubejs-backend/mssql-driver + ## [1.6.9](https://github.com/cube-js/cube/compare/v1.6.8...v1.6.9) (2026-02-06) **Note:** Version bump only for package @cubejs-backend/mssql-driver diff --git a/packages/cubejs-mssql-driver/package.json b/packages/cubejs-mssql-driver/package.json index a3eacdadbe62f..d500f68227c42 100644 --- a/packages/cubejs-mssql-driver/package.json +++ b/packages/cubejs-mssql-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/mssql-driver", "description": "Cube.js MS SQL database driver", "author": "Cube Dev, Inc.", - "version": "1.6.9", + "version": "1.6.10", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -25,8 +25,8 @@ "lint:fix": "eslint --fix src/* --ext .ts,.js" }, "dependencies": { - "@cubejs-backend/base-driver": "1.6.9", - "@cubejs-backend/shared": "1.6.9", + "@cubejs-backend/base-driver": "1.6.10", + "@cubejs-backend/shared": "1.6.10", "mssql": "^11.0.1" }, "devDependencies": { diff --git a/packages/cubejs-mysql-aurora-serverless-driver/CHANGELOG.md b/packages/cubejs-mysql-aurora-serverless-driver/CHANGELOG.md index 992d8b9e7f8f3..a1820d1574f6a 100644 --- a/packages/cubejs-mysql-aurora-serverless-driver/CHANGELOG.md +++ b/packages/cubejs-mysql-aurora-serverless-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.6.10](https://github.com/cube-js/cube/compare/v1.6.9...v1.6.10) (2026-02-09) + +**Note:** Version bump only for package @cubejs-backend/mysql-aurora-serverless-driver + ## [1.6.9](https://github.com/cube-js/cube/compare/v1.6.8...v1.6.9) (2026-02-06) **Note:** Version bump only for package @cubejs-backend/mysql-aurora-serverless-driver diff --git a/packages/cubejs-mysql-aurora-serverless-driver/package.json b/packages/cubejs-mysql-aurora-serverless-driver/package.json index ed7918864e17d..58dbf896a97e5 100644 --- a/packages/cubejs-mysql-aurora-serverless-driver/package.json +++ b/packages/cubejs-mysql-aurora-serverless-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/mysql-aurora-serverless-driver", "description": "Cube.js Aurora Serverless Mysql database driver", "author": "Cube Dev, Inc.", - "version": "1.6.9", + "version": "1.6.10", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -21,14 +21,14 @@ "lint": "eslint driver/*.js test/*.js" }, "dependencies": { - "@cubejs-backend/base-driver": "1.6.9", - "@cubejs-backend/shared": "1.6.9", + "@cubejs-backend/base-driver": "1.6.10", + "@cubejs-backend/shared": "1.6.10", "@types/mysql": "^2.15.15", "aws-sdk": "^2.787.0", "data-api-client": "^1.1.0" }, "devDependencies": { - "@cubejs-backend/linter": "1.6.9", + "@cubejs-backend/linter": "1.6.10", "@types/data-api-client": "^1.2.1", "@types/jest": "^29", "jest": "^29", diff --git a/packages/cubejs-mysql-driver/CHANGELOG.md b/packages/cubejs-mysql-driver/CHANGELOG.md index ba3ad31d9d0cf..67e9ebeeb15ec 100644 --- a/packages/cubejs-mysql-driver/CHANGELOG.md +++ b/packages/cubejs-mysql-driver/CHANGELOG.md @@ -3,6 +3,12 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.6.10](https://github.com/cube-js/cube/compare/v1.6.9...v1.6.10) (2026-02-09) + +### Features + +- Unify pool to make named timeout errors ([#10375](https://github.com/cube-js/cube/issues/10375)) ([bac3cd0](https://github.com/cube-js/cube/commit/bac3cd0f2f3f572fac037686ffa16a2e687fbcdc)) + ## [1.6.9](https://github.com/cube-js/cube/compare/v1.6.8...v1.6.9) (2026-02-06) **Note:** Version bump only for package @cubejs-backend/mysql-driver diff --git a/packages/cubejs-mysql-driver/package.json b/packages/cubejs-mysql-driver/package.json index b07644191209a..675f13b713228 100644 --- a/packages/cubejs-mysql-driver/package.json +++ b/packages/cubejs-mysql-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/mysql-driver", "description": "Cube.js Mysql database driver", "author": "Cube Dev, Inc.", - "version": "1.6.9", + "version": "1.6.10", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -27,14 +27,13 @@ "lint:fix": "eslint --fix src/* test/* --ext .ts,.js" }, "dependencies": { - "@cubejs-backend/base-driver": "1.6.9", - "@cubejs-backend/shared": "1.6.9", - "generic-pool": "^3.9.0", + "@cubejs-backend/base-driver": "1.6.10", + "@cubejs-backend/shared": "1.6.10", "mysql": "^2.18.1" }, "devDependencies": { - "@cubejs-backend/linter": "1.6.9", - "@cubejs-backend/testing-shared": "1.6.9", + "@cubejs-backend/linter": "1.6.10", + "@cubejs-backend/testing-shared": "1.6.10", "@types/jest": "^29", "@types/mysql": "^2.15.21", "jest": "^29", diff --git a/packages/cubejs-mysql-driver/src/MySqlDriver.ts b/packages/cubejs-mysql-driver/src/MySqlDriver.ts index 55522b3c54f4c..b8ee61fedafb8 100644 --- a/packages/cubejs-mysql-driver/src/MySqlDriver.ts +++ b/packages/cubejs-mysql-driver/src/MySqlDriver.ts @@ -7,9 +7,9 @@ import { getEnv, assertDataSource, + Pool, } from '@cubejs-backend/shared'; import mysql, { Connection, ConnectionConfig, FieldInfo, QueryOptions } from 'mysql'; -import genericPool from 'generic-pool'; import { promisify } from 'util'; import { BaseDriver, @@ -92,7 +92,7 @@ export class MySqlDriver extends BaseDriver implements DriverInterface { protected readonly config: MySqlDriverConfiguration; - protected readonly pool: genericPool.Pool; + protected readonly pool: Pool; /** * Class constructor. @@ -138,7 +138,7 @@ export class MySqlDriver extends BaseDriver implements DriverInterface { readOnly: true, ...restConfig, }; - this.pool = genericPool.createPool({ + this.pool = new Pool('mysql', { create: async () => { const conn: any = mysql.createConnection(this.config); const connect = promisify(conn.connect.bind(conn)); diff --git a/packages/cubejs-oracle-driver/CHANGELOG.md b/packages/cubejs-oracle-driver/CHANGELOG.md index e7f86f2d312a2..20e39b4a155a9 100644 --- a/packages/cubejs-oracle-driver/CHANGELOG.md +++ b/packages/cubejs-oracle-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.6.10](https://github.com/cube-js/cube/compare/v1.6.9...v1.6.10) (2026-02-09) + +**Note:** Version bump only for package @cubejs-backend/oracle-driver + ## [1.6.9](https://github.com/cube-js/cube/compare/v1.6.8...v1.6.9) (2026-02-06) **Note:** Version bump only for package @cubejs-backend/oracle-driver diff --git a/packages/cubejs-oracle-driver/package.json b/packages/cubejs-oracle-driver/package.json index 669608889b1fc..0a4e5a432417c 100644 --- a/packages/cubejs-oracle-driver/package.json +++ b/packages/cubejs-oracle-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/oracle-driver", "description": "Cube.js oracle database driver", "author": "Cube Dev, Inc.", - "version": "1.6.9", + "version": "1.6.10", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -13,7 +13,7 @@ }, "main": "driver/OracleDriver.js", "dependencies": { - "@cubejs-backend/base-driver": "1.6.9", + "@cubejs-backend/base-driver": "1.6.10", "ramda": "^0.27.0" }, "optionalDependencies": { diff --git a/packages/cubejs-pinot-driver/CHANGELOG.md b/packages/cubejs-pinot-driver/CHANGELOG.md index 7e4fdbef5c347..e23b5fd3af539 100644 --- a/packages/cubejs-pinot-driver/CHANGELOG.md +++ b/packages/cubejs-pinot-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.6.10](https://github.com/cube-js/cube/compare/v1.6.9...v1.6.10) (2026-02-09) + +**Note:** Version bump only for package @cubejs-backend/pinot-driver + ## [1.6.9](https://github.com/cube-js/cube/compare/v1.6.8...v1.6.9) (2026-02-06) **Note:** Version bump only for package @cubejs-backend/pinot-driver diff --git a/packages/cubejs-pinot-driver/package.json b/packages/cubejs-pinot-driver/package.json index 32ed2b8633a0c..16c5012ff2775 100644 --- a/packages/cubejs-pinot-driver/package.json +++ b/packages/cubejs-pinot-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/pinot-driver", "description": "Cube.js Pinot database driver", "author": "Julian Ronsse, InTheMemory, Cube Dev, Inc.", - "version": "1.6.9", + "version": "1.6.10", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -27,9 +27,9 @@ "lint:fix": "eslint --fix src/* --ext .ts" }, "dependencies": { - "@cubejs-backend/base-driver": "1.6.9", - "@cubejs-backend/schema-compiler": "1.6.9", - "@cubejs-backend/shared": "1.6.9", + "@cubejs-backend/base-driver": "1.6.10", + "@cubejs-backend/schema-compiler": "1.6.10", + "@cubejs-backend/shared": "1.6.10", "node-fetch": "^2.6.1", "ramda": "^0.27.2", "sqlstring": "^2.3.3" @@ -39,7 +39,7 @@ "access": "public" }, "devDependencies": { - "@cubejs-backend/linter": "1.6.9", + "@cubejs-backend/linter": "1.6.10", "@types/jest": "^29", "jest": "^29", "should": "^13.2.3", diff --git a/packages/cubejs-playground/CHANGELOG.md b/packages/cubejs-playground/CHANGELOG.md index 57b2c693ce511..b53ac02104f1f 100644 --- a/packages/cubejs-playground/CHANGELOG.md +++ b/packages/cubejs-playground/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.6.10](https://github.com/cube-js/cube/compare/v1.6.9...v1.6.10) (2026-02-09) + +**Note:** Version bump only for package @cubejs-client/playground + ## [1.6.9](https://github.com/cube-js/cube/compare/v1.6.8...v1.6.9) (2026-02-06) **Note:** Version bump only for package @cubejs-client/playground diff --git a/packages/cubejs-playground/package.json b/packages/cubejs-playground/package.json index 57454ec04c5f5..2fdedb12d8946 100644 --- a/packages/cubejs-playground/package.json +++ b/packages/cubejs-playground/package.json @@ -1,7 +1,7 @@ { "name": "@cubejs-client/playground", "author": "Cube Dev, Inc.", - "version": "1.6.9", + "version": "1.6.10", "engines": {}, "repository": { "type": "git", @@ -69,8 +69,8 @@ "@ant-design/compatible": "^1.0.1", "@ant-design/icons": "^5.3.5", "@cube-dev/ui-kit": "0.52.3", - "@cubejs-client/core": "1.6.9", - "@cubejs-client/react": "1.6.9", + "@cubejs-client/core": "1.6.10", + "@cubejs-client/react": "1.6.10", "@types/flexsearch": "^0.7.3", "@types/node": "^20", "@types/react": "^18.3.4", diff --git a/packages/cubejs-postgres-driver/CHANGELOG.md b/packages/cubejs-postgres-driver/CHANGELOG.md index 7cad1b3b77244..a525ce38ae59f 100644 --- a/packages/cubejs-postgres-driver/CHANGELOG.md +++ b/packages/cubejs-postgres-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.6.10](https://github.com/cube-js/cube/compare/v1.6.9...v1.6.10) (2026-02-09) + +**Note:** Version bump only for package @cubejs-backend/postgres-driver + ## [1.6.9](https://github.com/cube-js/cube/compare/v1.6.8...v1.6.9) (2026-02-06) **Note:** Version bump only for package @cubejs-backend/postgres-driver diff --git a/packages/cubejs-postgres-driver/package.json b/packages/cubejs-postgres-driver/package.json index 4c9e6645dc270..19a6e0b3c557b 100644 --- a/packages/cubejs-postgres-driver/package.json +++ b/packages/cubejs-postgres-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/postgres-driver", "description": "Cube.js Postgres database driver", "author": "Cube Dev, Inc.", - "version": "1.6.9", + "version": "1.6.10", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -27,8 +27,8 @@ "lint:fix": "eslint --fix src/* --ext .ts" }, "dependencies": { - "@cubejs-backend/base-driver": "1.6.9", - "@cubejs-backend/shared": "1.6.9", + "@cubejs-backend/base-driver": "1.6.10", + "@cubejs-backend/shared": "1.6.10", "@types/pg": "^8.6.0", "@types/pg-query-stream": "^1.0.3", "moment": "^2.24.0", @@ -37,8 +37,8 @@ }, "license": "Apache-2.0", "devDependencies": { - "@cubejs-backend/linter": "1.6.9", - "@cubejs-backend/testing-shared": "1.6.9", + "@cubejs-backend/linter": "1.6.10", + "@cubejs-backend/testing-shared": "1.6.10", "testcontainers": "^10.28.0", "typescript": "~5.2.2" }, diff --git a/packages/cubejs-prestodb-driver/CHANGELOG.md b/packages/cubejs-prestodb-driver/CHANGELOG.md index 098c0b9416770..29343184dbfca 100644 --- a/packages/cubejs-prestodb-driver/CHANGELOG.md +++ b/packages/cubejs-prestodb-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.6.10](https://github.com/cube-js/cube/compare/v1.6.9...v1.6.10) (2026-02-09) + +**Note:** Version bump only for package @cubejs-backend/prestodb-driver + ## [1.6.9](https://github.com/cube-js/cube/compare/v1.6.8...v1.6.9) (2026-02-06) **Note:** Version bump only for package @cubejs-backend/prestodb-driver diff --git a/packages/cubejs-prestodb-driver/package.json b/packages/cubejs-prestodb-driver/package.json index 9ff4ff0ffb0b8..37950788d78f5 100644 --- a/packages/cubejs-prestodb-driver/package.json +++ b/packages/cubejs-prestodb-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/prestodb-driver", "description": "Cube.js Presto database driver", "author": "Cube Dev, Inc.", - "version": "1.6.9", + "version": "1.6.10", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -27,8 +27,8 @@ "lint:fix": "eslint --fix src/* --ext .ts" }, "dependencies": { - "@cubejs-backend/base-driver": "1.6.9", - "@cubejs-backend/shared": "1.6.9", + "@cubejs-backend/base-driver": "1.6.10", + "@cubejs-backend/shared": "1.6.10", "presto-client": "^1.1.0", "ramda": "^0.27.0", "sqlstring": "^2.3.1" @@ -38,7 +38,7 @@ "access": "public" }, "devDependencies": { - "@cubejs-backend/linter": "1.6.9", + "@cubejs-backend/linter": "1.6.10", "@types/jest": "^29", "jest": "^29", "should": "^13.2.3", diff --git a/packages/cubejs-query-orchestrator/CHANGELOG.md b/packages/cubejs-query-orchestrator/CHANGELOG.md index 70329a670b9b7..19cd3f60b4b2f 100644 --- a/packages/cubejs-query-orchestrator/CHANGELOG.md +++ b/packages/cubejs-query-orchestrator/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.6.10](https://github.com/cube-js/cube/compare/v1.6.9...v1.6.10) (2026-02-09) + +**Note:** Version bump only for package @cubejs-backend/query-orchestrator + ## [1.6.9](https://github.com/cube-js/cube/compare/v1.6.8...v1.6.9) (2026-02-06) ### Bug Fixes diff --git a/packages/cubejs-query-orchestrator/package.json b/packages/cubejs-query-orchestrator/package.json index 49e12dd42b776..d16f5123cda90 100644 --- a/packages/cubejs-query-orchestrator/package.json +++ b/packages/cubejs-query-orchestrator/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/query-orchestrator", "description": "Cube.js Query Orchestrator and Cache", "author": "Cube Dev, Inc.", - "version": "1.6.9", + "version": "1.6.10", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -29,15 +29,15 @@ "dist/src/*" ], "dependencies": { - "@cubejs-backend/base-driver": "1.6.9", - "@cubejs-backend/cubestore-driver": "1.6.9", - "@cubejs-backend/shared": "1.6.9", + "@cubejs-backend/base-driver": "1.6.10", + "@cubejs-backend/cubestore-driver": "1.6.10", + "@cubejs-backend/shared": "1.6.10", "csv-write-stream": "^2.0.0", "lru-cache": "^11.1.0", "ramda": "^0.27.2" }, "devDependencies": { - "@cubejs-backend/linter": "1.6.9", + "@cubejs-backend/linter": "1.6.10", "@types/jest": "^29", "@types/node": "^20", "@types/ramda": "^0.27.32", diff --git a/packages/cubejs-questdb-driver/CHANGELOG.md b/packages/cubejs-questdb-driver/CHANGELOG.md index c44344463cc30..9616ad800fa75 100644 --- a/packages/cubejs-questdb-driver/CHANGELOG.md +++ b/packages/cubejs-questdb-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.6.10](https://github.com/cube-js/cube/compare/v1.6.9...v1.6.10) (2026-02-09) + +**Note:** Version bump only for package @cubejs-backend/questdb-driver + ## [1.6.9](https://github.com/cube-js/cube/compare/v1.6.8...v1.6.9) (2026-02-06) **Note:** Version bump only for package @cubejs-backend/questdb-driver diff --git a/packages/cubejs-questdb-driver/package.json b/packages/cubejs-questdb-driver/package.json index 53f26d55da125..d7be6fae5e52b 100644 --- a/packages/cubejs-questdb-driver/package.json +++ b/packages/cubejs-questdb-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/questdb-driver", "description": "Cube.js QuestDB database driver", "author": "Cube Dev, Inc.", - "version": "1.6.9", + "version": "1.6.10", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -27,9 +27,9 @@ "lint:fix": "eslint --fix src/* --ext .ts" }, "dependencies": { - "@cubejs-backend/base-driver": "1.6.9", - "@cubejs-backend/schema-compiler": "1.6.9", - "@cubejs-backend/shared": "1.6.9", + "@cubejs-backend/base-driver": "1.6.10", + "@cubejs-backend/schema-compiler": "1.6.10", + "@cubejs-backend/shared": "1.6.10", "@types/pg": "^8.6.0", "moment": "^2.24.0", "pg": "^8.7.0", @@ -37,8 +37,8 @@ }, "license": "Apache-2.0", "devDependencies": { - "@cubejs-backend/linter": "1.6.9", - "@cubejs-backend/testing-shared": "1.6.9", + "@cubejs-backend/linter": "1.6.10", + "@cubejs-backend/testing-shared": "1.6.10", "testcontainers": "^10.28.0", "typescript": "~5.2.2" }, diff --git a/packages/cubejs-redshift-driver/CHANGELOG.md b/packages/cubejs-redshift-driver/CHANGELOG.md index d1311d758eebb..713575d1b82b9 100644 --- a/packages/cubejs-redshift-driver/CHANGELOG.md +++ b/packages/cubejs-redshift-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.6.10](https://github.com/cube-js/cube/compare/v1.6.9...v1.6.10) (2026-02-09) + +**Note:** Version bump only for package @cubejs-backend/redshift-driver + ## [1.6.9](https://github.com/cube-js/cube/compare/v1.6.8...v1.6.9) (2026-02-06) **Note:** Version bump only for package @cubejs-backend/redshift-driver diff --git a/packages/cubejs-redshift-driver/package.json b/packages/cubejs-redshift-driver/package.json index 183782426c143..4e40609a65b59 100644 --- a/packages/cubejs-redshift-driver/package.json +++ b/packages/cubejs-redshift-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/redshift-driver", "description": "Cube.js Redshift database driver", "author": "Cube Dev, Inc.", - "version": "1.6.9", + "version": "1.6.10", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -25,13 +25,13 @@ "lint:fix": "eslint --fix src/* --ext .ts" }, "dependencies": { - "@cubejs-backend/base-driver": "1.6.9", - "@cubejs-backend/postgres-driver": "1.6.9", - "@cubejs-backend/shared": "1.6.9" + "@cubejs-backend/base-driver": "1.6.10", + "@cubejs-backend/postgres-driver": "1.6.10", + "@cubejs-backend/shared": "1.6.10" }, "license": "Apache-2.0", "devDependencies": { - "@cubejs-backend/linter": "1.6.9", + "@cubejs-backend/linter": "1.6.10", "typescript": "~5.2.2" }, "publishConfig": { diff --git a/packages/cubejs-schema-compiler/CHANGELOG.md b/packages/cubejs-schema-compiler/CHANGELOG.md index a739e89debc88..6bbb95d0b14bb 100644 --- a/packages/cubejs-schema-compiler/CHANGELOG.md +++ b/packages/cubejs-schema-compiler/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.6.10](https://github.com/cube-js/cube/compare/v1.6.9...v1.6.10) (2026-02-09) + +**Note:** Version bump only for package @cubejs-backend/schema-compiler + ## [1.6.9](https://github.com/cube-js/cube/compare/v1.6.8...v1.6.9) (2026-02-06) **Note:** Version bump only for package @cubejs-backend/schema-compiler diff --git a/packages/cubejs-schema-compiler/package.json b/packages/cubejs-schema-compiler/package.json index 8de9a57738389..88d50544ea938 100644 --- a/packages/cubejs-schema-compiler/package.json +++ b/packages/cubejs-schema-compiler/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/schema-compiler", "description": "Cube schema compiler", "author": "Cube Dev, Inc.", - "version": "1.6.9", + "version": "1.6.10", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -40,8 +40,8 @@ "@babel/standalone": "^7.24", "@babel/traverse": "^7.24", "@babel/types": "^7.24", - "@cubejs-backend/native": "1.6.9", - "@cubejs-backend/shared": "1.6.9", + "@cubejs-backend/native": "1.6.10", + "@cubejs-backend/shared": "1.6.10", "antlr4": "^4.13.2", "camelcase": "^6.2.0", "cron-parser": "^4.9.0", @@ -60,8 +60,8 @@ }, "devDependencies": { "@clickhouse/client": "^1.12.0", - "@cubejs-backend/linter": "1.6.9", - "@cubejs-backend/query-orchestrator": "1.6.9", + "@cubejs-backend/linter": "1.6.10", + "@cubejs-backend/query-orchestrator": "1.6.10", "@types/babel__code-frame": "^7.0.6", "@types/babel__generator": "^7.6.8", "@types/babel__traverse": "^7.20.5", diff --git a/packages/cubejs-server-core/CHANGELOG.md b/packages/cubejs-server-core/CHANGELOG.md index ef77938783bb6..1d30e60040371 100644 --- a/packages/cubejs-server-core/CHANGELOG.md +++ b/packages/cubejs-server-core/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.6.10](https://github.com/cube-js/cube/compare/v1.6.9...v1.6.10) (2026-02-09) + +**Note:** Version bump only for package @cubejs-backend/server-core + ## [1.6.9](https://github.com/cube-js/cube/compare/v1.6.8...v1.6.9) (2026-02-06) **Note:** Version bump only for package @cubejs-backend/server-core diff --git a/packages/cubejs-server-core/package.json b/packages/cubejs-server-core/package.json index 4750d83351844..62fda18d0a294 100644 --- a/packages/cubejs-server-core/package.json +++ b/packages/cubejs-server-core/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/server-core", "description": "Cube.js base component to wire all backend components together", "author": "Cube Dev, Inc.", - "version": "1.6.9", + "version": "1.6.10", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -29,16 +29,16 @@ "unit": "jest --runInBand --forceExit --coverage dist/test" }, "dependencies": { - "@cubejs-backend/api-gateway": "1.6.9", - "@cubejs-backend/base-driver": "1.6.9", - "@cubejs-backend/cloud": "1.6.9", - "@cubejs-backend/cubestore-driver": "1.6.9", + "@cubejs-backend/api-gateway": "1.6.10", + "@cubejs-backend/base-driver": "1.6.10", + "@cubejs-backend/cloud": "1.6.10", + "@cubejs-backend/cubestore-driver": "1.6.10", "@cubejs-backend/dotenv": "^9.0.2", - "@cubejs-backend/native": "1.6.9", - "@cubejs-backend/query-orchestrator": "1.6.9", - "@cubejs-backend/schema-compiler": "1.6.9", - "@cubejs-backend/shared": "1.6.9", - "@cubejs-backend/templates": "1.6.9", + "@cubejs-backend/native": "1.6.10", + "@cubejs-backend/query-orchestrator": "1.6.10", + "@cubejs-backend/schema-compiler": "1.6.10", + "@cubejs-backend/shared": "1.6.10", + "@cubejs-backend/templates": "1.6.10", "codesandbox-import-utils": "^2.1.12", "cross-spawn": "^7.0.1", "fs-extra": "^8.1.0", @@ -62,8 +62,8 @@ "ws": "^7.5.3" }, "devDependencies": { - "@cubejs-backend/linter": "1.6.9", - "@cubejs-client/playground": "1.6.9", + "@cubejs-backend/linter": "1.6.10", + "@cubejs-client/playground": "1.6.10", "@types/cross-spawn": "^6.0.2", "@types/express": "^4.17.21", "@types/fs-extra": "^9.0.8", diff --git a/packages/cubejs-server/CHANGELOG.md b/packages/cubejs-server/CHANGELOG.md index 19b21a38814f0..2674a70b6699b 100644 --- a/packages/cubejs-server/CHANGELOG.md +++ b/packages/cubejs-server/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.6.10](https://github.com/cube-js/cube/compare/v1.6.9...v1.6.10) (2026-02-09) + +**Note:** Version bump only for package @cubejs-backend/server + ## [1.6.9](https://github.com/cube-js/cube/compare/v1.6.8...v1.6.9) (2026-02-06) **Note:** Version bump only for package @cubejs-backend/server diff --git a/packages/cubejs-server/package.json b/packages/cubejs-server/package.json index a1d74c378953e..56674a955261a 100644 --- a/packages/cubejs-server/package.json +++ b/packages/cubejs-server/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/server", "description": "Cube.js all-in-one server", "author": "Cube Dev, Inc.", - "version": "1.6.9", + "version": "1.6.10", "types": "index.d.ts", "repository": { "type": "git", @@ -40,11 +40,11 @@ "jest:shapshot": "jest --updateSnapshot test" }, "dependencies": { - "@cubejs-backend/cubestore-driver": "1.6.9", + "@cubejs-backend/cubestore-driver": "1.6.10", "@cubejs-backend/dotenv": "^9.0.2", - "@cubejs-backend/native": "1.6.9", - "@cubejs-backend/server-core": "1.6.9", - "@cubejs-backend/shared": "1.6.9", + "@cubejs-backend/native": "1.6.10", + "@cubejs-backend/server-core": "1.6.10", + "@cubejs-backend/shared": "1.6.10", "@oclif/color": "^1.0.0", "@oclif/command": "^1.8.13", "@oclif/config": "^1.18.2", @@ -61,8 +61,8 @@ "ws": "^7.1.2" }, "devDependencies": { - "@cubejs-backend/linter": "1.6.9", - "@cubejs-backend/query-orchestrator": "1.6.9", + "@cubejs-backend/linter": "1.6.10", + "@cubejs-backend/query-orchestrator": "1.6.10", "@oclif/dev-cli": "^1.23.1", "@types/body-parser": "^1.19.0", "@types/cors": "^2.8.8", diff --git a/packages/cubejs-snowflake-driver/CHANGELOG.md b/packages/cubejs-snowflake-driver/CHANGELOG.md index fb95d1e9a28b0..430dd8369445c 100644 --- a/packages/cubejs-snowflake-driver/CHANGELOG.md +++ b/packages/cubejs-snowflake-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.6.10](https://github.com/cube-js/cube/compare/v1.6.9...v1.6.10) (2026-02-09) + +**Note:** Version bump only for package @cubejs-backend/snowflake-driver + ## [1.6.9](https://github.com/cube-js/cube/compare/v1.6.8...v1.6.9) (2026-02-06) **Note:** Version bump only for package @cubejs-backend/snowflake-driver diff --git a/packages/cubejs-snowflake-driver/package.json b/packages/cubejs-snowflake-driver/package.json index d2d8c70172cc0..a612fc1f63bd7 100644 --- a/packages/cubejs-snowflake-driver/package.json +++ b/packages/cubejs-snowflake-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/snowflake-driver", "description": "Cube.js Snowflake database driver", "author": "Cube Dev, Inc.", - "version": "1.6.9", + "version": "1.6.10", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -26,8 +26,8 @@ }, "dependencies": { "@aws-sdk/client-s3": "^3.726.0", - "@cubejs-backend/base-driver": "1.6.9", - "@cubejs-backend/shared": "1.6.9", + "@cubejs-backend/base-driver": "1.6.10", + "@cubejs-backend/shared": "1.6.10", "date-fns-timezone": "^0.1.4", "snowflake-sdk": "^2.2.0" }, @@ -39,7 +39,7 @@ "extends": "../cubejs-linter" }, "devDependencies": { - "@cubejs-backend/linter": "1.6.9", + "@cubejs-backend/linter": "1.6.10", "typescript": "~5.2.2" } } diff --git a/packages/cubejs-sqlite-driver/CHANGELOG.md b/packages/cubejs-sqlite-driver/CHANGELOG.md index 53e9d38d6ce2c..91420e99debba 100644 --- a/packages/cubejs-sqlite-driver/CHANGELOG.md +++ b/packages/cubejs-sqlite-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.6.10](https://github.com/cube-js/cube/compare/v1.6.9...v1.6.10) (2026-02-09) + +**Note:** Version bump only for package @cubejs-backend/sqlite-driver + ## [1.6.9](https://github.com/cube-js/cube/compare/v1.6.8...v1.6.9) (2026-02-06) **Note:** Version bump only for package @cubejs-backend/sqlite-driver diff --git a/packages/cubejs-sqlite-driver/package.json b/packages/cubejs-sqlite-driver/package.json index b4812e9d11bfb..507b3b37d99bc 100644 --- a/packages/cubejs-sqlite-driver/package.json +++ b/packages/cubejs-sqlite-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/sqlite-driver", "description": "Cube.js Sqlite database driver", "author": "Cube Dev, Inc.", - "version": "1.6.9", + "version": "1.6.10", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -18,13 +18,13 @@ "unit": "jest" }, "dependencies": { - "@cubejs-backend/base-driver": "1.6.9", - "@cubejs-backend/shared": "1.6.9", + "@cubejs-backend/base-driver": "1.6.10", + "@cubejs-backend/shared": "1.6.10", "sqlite3": "^5.1.7" }, "license": "Apache-2.0", "devDependencies": { - "@cubejs-backend/linter": "1.6.9", + "@cubejs-backend/linter": "1.6.10", "jest": "^29" }, "publishConfig": { diff --git a/packages/cubejs-templates/CHANGELOG.md b/packages/cubejs-templates/CHANGELOG.md index 6297ab7b35d0a..2c8ebeba81afe 100644 --- a/packages/cubejs-templates/CHANGELOG.md +++ b/packages/cubejs-templates/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.6.10](https://github.com/cube-js/cube/compare/v1.6.9...v1.6.10) (2026-02-09) + +**Note:** Version bump only for package @cubejs-backend/templates + ## [1.6.9](https://github.com/cube-js/cube/compare/v1.6.8...v1.6.9) (2026-02-06) **Note:** Version bump only for package @cubejs-backend/templates diff --git a/packages/cubejs-templates/package.json b/packages/cubejs-templates/package.json index 4565a94ea9d4a..0fc9d66439fa9 100644 --- a/packages/cubejs-templates/package.json +++ b/packages/cubejs-templates/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-backend/templates", - "version": "1.6.9", + "version": "1.6.10", "description": "Cube.js Templates helpers", "author": "Cube Dev, Inc.", "repository": { @@ -31,7 +31,7 @@ "extends": "../cubejs-linter" }, "dependencies": { - "@cubejs-backend/shared": "1.6.9", + "@cubejs-backend/shared": "1.6.10", "cross-spawn": "^7.0.3", "decompress": "^4.2.1", "decompress-targz": "^4.1.1", @@ -41,7 +41,7 @@ "source-map-support": "^0.5.19" }, "devDependencies": { - "@cubejs-backend/linter": "1.6.9", + "@cubejs-backend/linter": "1.6.10", "typescript": "~5.2.2" } } diff --git a/packages/cubejs-testing-drivers/CHANGELOG.md b/packages/cubejs-testing-drivers/CHANGELOG.md index e80b5b3e29866..227b6d3f1e961 100644 --- a/packages/cubejs-testing-drivers/CHANGELOG.md +++ b/packages/cubejs-testing-drivers/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.6.10](https://github.com/cube-js/cube/compare/v1.6.9...v1.6.10) (2026-02-09) + +**Note:** Version bump only for package @cubejs-backend/testing-drivers + ## [1.6.9](https://github.com/cube-js/cube/compare/v1.6.8...v1.6.9) (2026-02-06) **Note:** Version bump only for package @cubejs-backend/testing-drivers diff --git a/packages/cubejs-testing-drivers/package.json b/packages/cubejs-testing-drivers/package.json index 8cefb2cf50506..4c30feb1fc577 100644 --- a/packages/cubejs-testing-drivers/package.json +++ b/packages/cubejs-testing-drivers/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-backend/testing-drivers", - "version": "1.6.9", + "version": "1.6.10", "description": "Cube.js drivers test suite", "author": "Cube Dev, Inc.", "repository": { @@ -72,24 +72,24 @@ "dist/src" ], "dependencies": { - "@cubejs-backend/athena-driver": "1.6.9", - "@cubejs-backend/base-driver": "1.6.9", - "@cubejs-backend/bigquery-driver": "1.6.9", - "@cubejs-backend/clickhouse-driver": "1.6.9", - "@cubejs-backend/cubestore-driver": "1.6.9", - "@cubejs-backend/databricks-jdbc-driver": "1.6.9", + "@cubejs-backend/athena-driver": "1.6.10", + "@cubejs-backend/base-driver": "1.6.10", + "@cubejs-backend/bigquery-driver": "1.6.10", + "@cubejs-backend/clickhouse-driver": "1.6.10", + "@cubejs-backend/cubestore-driver": "1.6.10", + "@cubejs-backend/databricks-jdbc-driver": "1.6.10", "@cubejs-backend/dotenv": "^9.0.2", - "@cubejs-backend/linter": "1.6.9", - "@cubejs-backend/mssql-driver": "1.6.9", - "@cubejs-backend/mysql-driver": "1.6.9", - "@cubejs-backend/postgres-driver": "1.6.9", - "@cubejs-backend/query-orchestrator": "1.6.9", - "@cubejs-backend/server-core": "1.6.9", - "@cubejs-backend/shared": "1.6.9", - "@cubejs-backend/snowflake-driver": "1.6.9", - "@cubejs-backend/testing-shared": "1.6.9", - "@cubejs-client/core": "1.6.9", - "@cubejs-client/ws-transport": "1.6.9", + "@cubejs-backend/linter": "1.6.10", + "@cubejs-backend/mssql-driver": "1.6.10", + "@cubejs-backend/mysql-driver": "1.6.10", + "@cubejs-backend/postgres-driver": "1.6.10", + "@cubejs-backend/query-orchestrator": "1.6.10", + "@cubejs-backend/server-core": "1.6.10", + "@cubejs-backend/shared": "1.6.10", + "@cubejs-backend/snowflake-driver": "1.6.10", + "@cubejs-backend/testing-shared": "1.6.10", + "@cubejs-client/core": "1.6.10", + "@cubejs-client/ws-transport": "1.6.10", "@jest/globals": "^29", "@types/jest": "^29", "@types/node": "^20", diff --git a/packages/cubejs-testing-shared/CHANGELOG.md b/packages/cubejs-testing-shared/CHANGELOG.md index ae24c40fabd20..4a7b2a9c2e97c 100644 --- a/packages/cubejs-testing-shared/CHANGELOG.md +++ b/packages/cubejs-testing-shared/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.6.10](https://github.com/cube-js/cube/compare/v1.6.9...v1.6.10) (2026-02-09) + +**Note:** Version bump only for package @cubejs-backend/testing-shared + ## [1.6.9](https://github.com/cube-js/cube/compare/v1.6.8...v1.6.9) (2026-02-06) **Note:** Version bump only for package @cubejs-backend/testing-shared diff --git a/packages/cubejs-testing-shared/package.json b/packages/cubejs-testing-shared/package.json index 84b9891b58138..32dddb0d51cc2 100644 --- a/packages/cubejs-testing-shared/package.json +++ b/packages/cubejs-testing-shared/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-backend/testing-shared", - "version": "1.6.9", + "version": "1.6.10", "description": "Cube.js Testing Helpers", "author": "Cube Dev, Inc.", "repository": { @@ -26,16 +26,16 @@ ], "dependencies": { "@cubejs-backend/dotenv": "^9.0.2", - "@cubejs-backend/query-orchestrator": "1.6.9", - "@cubejs-backend/schema-compiler": "1.6.9", - "@cubejs-backend/shared": "1.6.9", + "@cubejs-backend/query-orchestrator": "1.6.10", + "@cubejs-backend/schema-compiler": "1.6.10", + "@cubejs-backend/shared": "1.6.10", "@testcontainers/kafka": "~10.28.0", "dedent": "^0.7.0", "node-fetch": "^2.6.7", "testcontainers": "^10.28.0" }, "devDependencies": { - "@cubejs-backend/linter": "1.6.9", + "@cubejs-backend/linter": "1.6.10", "@jest/globals": "^29", "@types/dedent": "^0.7.0", "@types/jest": "^29", diff --git a/packages/cubejs-testing/CHANGELOG.md b/packages/cubejs-testing/CHANGELOG.md index 70175edcdb743..6f271dcce446a 100644 --- a/packages/cubejs-testing/CHANGELOG.md +++ b/packages/cubejs-testing/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.6.10](https://github.com/cube-js/cube/compare/v1.6.9...v1.6.10) (2026-02-09) + +**Note:** Version bump only for package @cubejs-backend/testing + ## [1.6.9](https://github.com/cube-js/cube/compare/v1.6.8...v1.6.9) (2026-02-06) **Note:** Version bump only for package @cubejs-backend/testing diff --git a/packages/cubejs-testing/package.json b/packages/cubejs-testing/package.json index 69de72b31eb1f..b8eac3a854a02 100644 --- a/packages/cubejs-testing/package.json +++ b/packages/cubejs-testing/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-backend/testing", - "version": "1.6.9", + "version": "1.6.10", "description": "Cube.js e2e tests", "author": "Cube Dev, Inc.", "repository": { @@ -99,15 +99,15 @@ "birdbox-fixtures" ], "dependencies": { - "@cubejs-backend/cubestore-driver": "1.6.9", + "@cubejs-backend/cubestore-driver": "1.6.10", "@cubejs-backend/dotenv": "^9.0.2", - "@cubejs-backend/ksql-driver": "1.6.9", - "@cubejs-backend/postgres-driver": "1.6.9", - "@cubejs-backend/query-orchestrator": "1.6.9", - "@cubejs-backend/schema-compiler": "1.6.9", - "@cubejs-backend/shared": "1.6.9", - "@cubejs-backend/testing-shared": "1.6.9", - "@cubejs-client/ws-transport": "1.6.9", + "@cubejs-backend/ksql-driver": "1.6.10", + "@cubejs-backend/postgres-driver": "1.6.10", + "@cubejs-backend/query-orchestrator": "1.6.10", + "@cubejs-backend/schema-compiler": "1.6.10", + "@cubejs-backend/shared": "1.6.10", + "@cubejs-backend/testing-shared": "1.6.10", + "@cubejs-client/ws-transport": "1.6.10", "dedent": "^0.7.0", "fs-extra": "^8.1.0", "http-proxy": "^1.18.1", @@ -118,8 +118,8 @@ }, "devDependencies": { "@4tw/cypress-drag-drop": "^1.6.0", - "@cubejs-backend/linter": "1.6.9", - "@cubejs-client/core": "1.6.9", + "@cubejs-backend/linter": "1.6.10", + "@cubejs-client/core": "1.6.10", "@jest/globals": "^29", "@types/dedent": "^0.7.0", "@types/http-proxy": "^1.17.5", diff --git a/packages/cubejs-trino-driver/CHANGELOG.md b/packages/cubejs-trino-driver/CHANGELOG.md index 4e7fcbf418445..07c9858c6b1c9 100644 --- a/packages/cubejs-trino-driver/CHANGELOG.md +++ b/packages/cubejs-trino-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.6.10](https://github.com/cube-js/cube/compare/v1.6.9...v1.6.10) (2026-02-09) + +**Note:** Version bump only for package @cubejs-backend/trino-driver + ## [1.6.9](https://github.com/cube-js/cube/compare/v1.6.8...v1.6.9) (2026-02-06) **Note:** Version bump only for package @cubejs-backend/trino-driver diff --git a/packages/cubejs-trino-driver/package.json b/packages/cubejs-trino-driver/package.json index 7ebe3c0df43c2..1d8c039a61ccb 100644 --- a/packages/cubejs-trino-driver/package.json +++ b/packages/cubejs-trino-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/trino-driver", "description": "Cube.js Trino database driver", "author": "Cube Dev, Inc.", - "version": "1.6.9", + "version": "1.6.10", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -27,10 +27,10 @@ "lint:fix": "eslint --fix src/* --ext .ts" }, "dependencies": { - "@cubejs-backend/base-driver": "1.6.9", - "@cubejs-backend/prestodb-driver": "1.6.9", - "@cubejs-backend/schema-compiler": "1.6.9", - "@cubejs-backend/shared": "1.6.9", + "@cubejs-backend/base-driver": "1.6.10", + "@cubejs-backend/prestodb-driver": "1.6.10", + "@cubejs-backend/schema-compiler": "1.6.10", + "@cubejs-backend/shared": "1.6.10", "node-fetch": "^2.6.1", "presto-client": "^1.1.0", "sqlstring": "^2.3.1" @@ -40,7 +40,7 @@ "access": "public" }, "devDependencies": { - "@cubejs-backend/linter": "1.6.9", + "@cubejs-backend/linter": "1.6.10", "@types/jest": "^29", "jest": "^29", "testcontainers": "^10.28.0", diff --git a/packages/cubejs-vertica-driver/CHANGELOG.md b/packages/cubejs-vertica-driver/CHANGELOG.md index dc8fb208268c4..489d003a28b7b 100644 --- a/packages/cubejs-vertica-driver/CHANGELOG.md +++ b/packages/cubejs-vertica-driver/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.6.10](https://github.com/cube-js/cube/compare/v1.6.9...v1.6.10) (2026-02-09) + +**Note:** Version bump only for package @cubejs-backend/vertica-driver + ## [1.6.9](https://github.com/cube-js/cube/compare/v1.6.8...v1.6.9) (2026-02-06) **Note:** Version bump only for package @cubejs-backend/vertica-driver diff --git a/packages/cubejs-vertica-driver/package.json b/packages/cubejs-vertica-driver/package.json index b84f4affac41e..04c3c43750d79 100644 --- a/packages/cubejs-vertica-driver/package.json +++ b/packages/cubejs-vertica-driver/package.json @@ -2,7 +2,7 @@ "name": "@cubejs-backend/vertica-driver", "description": "Cube.js Vertica database driver", "author": "Eduard Karacharov, Tim Brown, Cube Dev, Inc.", - "version": "1.6.9", + "version": "1.6.10", "repository": { "type": "git", "url": "https://github.com/cube-js/cube.git", @@ -19,16 +19,16 @@ "lint:fix": "eslint --fix **/*.js" }, "dependencies": { - "@cubejs-backend/base-driver": "1.6.9", - "@cubejs-backend/query-orchestrator": "1.6.9", - "@cubejs-backend/schema-compiler": "1.6.9", - "@cubejs-backend/shared": "1.6.9", + "@cubejs-backend/base-driver": "1.6.10", + "@cubejs-backend/query-orchestrator": "1.6.10", + "@cubejs-backend/schema-compiler": "1.6.10", + "@cubejs-backend/shared": "1.6.10", "vertica-nodejs": "^1.0.3" }, "license": "Apache-2.0", "devDependencies": { - "@cubejs-backend/linter": "1.6.9", - "@cubejs-backend/testing-shared": "1.6.9", + "@cubejs-backend/linter": "1.6.10", + "@cubejs-backend/testing-shared": "1.6.10", "@types/jest": "^29", "jest": "^29", "testcontainers": "^10.28.0" diff --git a/rust/cubesql/CHANGELOG.md b/rust/cubesql/CHANGELOG.md index 512fad490fb9c..e071e0c52387f 100644 --- a/rust/cubesql/CHANGELOG.md +++ b/rust/cubesql/CHANGELOG.md @@ -3,6 +3,12 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.6.10](https://github.com/cube-js/cube/compare/v1.6.9...v1.6.10) (2026-02-09) + +### Features + +- **cubesql:** Support forwards directions for FETCH statement ([#10377](https://github.com/cube-js/cube/issues/10377)) ([7cbafd5](https://github.com/cube-js/cube/commit/7cbafd541a88c1d244e67aa980c208ca7c0ea68a)) + ## [1.6.9](https://github.com/cube-js/cube/compare/v1.6.8...v1.6.9) (2026-02-06) **Note:** Version bump only for package @cubejs-backend/cubesql diff --git a/rust/cubesql/cubesql/e2e/tests/postgres.rs b/rust/cubesql/cubesql/e2e/tests/postgres.rs index e79d3578e27f3..ec66a6204a155 100644 --- a/rust/cubesql/cubesql/e2e/tests/postgres.rs +++ b/rust/cubesql/cubesql/e2e/tests/postgres.rs @@ -666,6 +666,109 @@ impl PostgresIntegrationTestSuite { Ok(()) } + async fn test_fetch_directions(&self) -> RunResult<()> { + self.test_simple_query( + r#"DECLARE test_fetch_directions CURSOR WITH HOLD FOR SELECT generate_series(1, 100);"# + .to_string(), + |_| {}, + ) + .await?; + + // Test FETCH FORWARD 1 - should return row "1" + self.test_simple_query( + r#"FETCH FORWARD 1 IN test_fetch_directions;"#.to_string(), + |messages| { + assert_eq!(messages.len(), 2); // 1 row + completion + if let SimpleQueryMessage::Row(row) = &messages[0] { + assert_eq!(row.get(0), Some("1")); + } else { + panic!("Expected Row for FETCH FORWARD 1"); + } + }, + ) + .await?; + + // Test FETCH NEXT - should return row "2" + self.test_simple_query( + r#"FETCH NEXT IN test_fetch_directions;"#.to_string(), + |messages| { + assert_eq!(messages.len(), 2); // 1 row + completion + if let SimpleQueryMessage::Row(row) = &messages[0] { + assert_eq!(row.get(0), Some("2")); + } else { + panic!("Expected Row for FETCH NEXT"); + } + }, + ) + .await?; + + // Test FETCH FORWARD 5 - should return rows 3-7 + self.test_simple_query( + r#"FETCH FORWARD 5 IN test_fetch_directions;"#.to_string(), + |messages| { + assert_eq!(messages.len(), 6); // 5 rows + completion + if let SimpleQueryMessage::Row(row) = &messages[0] { + assert_eq!(row.get(0), Some("3")); + } else { + panic!("Expected Row for FETCH FORWARD 5, first row"); + } + if let SimpleQueryMessage::Row(row) = &messages[4] { + assert_eq!(row.get(0), Some("7")); + } else { + panic!("Expected Row for FETCH FORWARD 5, last row"); + } + }, + ) + .await?; + + // Test FETCH ALL - should return remaining rows (8-100 = 93 rows) + self.test_simple_query( + r#"FETCH ALL IN test_fetch_directions;"#.to_string(), + |messages| { + // 93 rows + 1 completion + assert_eq!(messages.len(), 94); + if let SimpleQueryMessage::Row(row) = &messages[0] { + assert_eq!(row.get(0), Some("8")); + } else { + panic!("Expected Row for FETCH ALL, first row"); + } + if let SimpleQueryMessage::Row(row) = &messages[92] { + assert_eq!(row.get(0), Some("100")); + } else { + panic!("Expected Row for FETCH ALL, last row"); + } + }, + ) + .await?; + + self.test_simple_query(r#"CLOSE test_fetch_directions;"#.to_string(), |_| {}) + .await?; + + Ok(()) + } + + async fn test_fetch_forward_all(&self) -> RunResult<()> { + self.test_simple_query( + r#"DECLARE test_forward_all CURSOR WITH HOLD FOR SELECT generate_series(1, 10);"# + .to_string(), + |_| {}, + ) + .await?; + + self.test_simple_query( + r#"FETCH FORWARD ALL IN test_forward_all;"#.to_string(), + |messages| { + assert_eq!(messages.len(), 11); // 10 rows + 1 completion + }, + ) + .await?; + + self.test_simple_query(r#"CLOSE test_forward_all;"#.to_string(), |_| {}) + .await?; + + Ok(()) + } + // Tableau Desktop uses it async fn test_simple_cursors_without_hold(&self) -> RunResult<()> { // without hold is default behaviour @@ -1175,6 +1278,8 @@ impl AsyncTestSuite for PostgresIntegrationTestSuite { self.test_stream_single().await?; self.test_portal_pagination().await?; self.test_simple_cursors().await?; + self.test_fetch_directions().await?; + self.test_fetch_forward_all().await?; self.test_simple_cursors_without_hold().await?; self.test_simple_cursors_close_specific().await?; self.test_simple_cursors_close_all().await?; diff --git a/rust/cubesql/cubesql/src/sql/postgres/ast_helpers.rs b/rust/cubesql/cubesql/src/sql/postgres/ast_helpers.rs new file mode 100644 index 0000000000000..cf1f9afa1c9a8 --- /dev/null +++ b/rust/cubesql/cubesql/src/sql/postgres/ast_helpers.rs @@ -0,0 +1,45 @@ +use std::sync::Arc; + +use pg_srv::protocol; +use sqlparser::ast::Value; + +use super::error::ConnectionError; +use crate::transport::SpanId; + +pub fn parse_fetch_limit( + limit: &Value, + span_id: &Option>, +) -> Result { + match limit { + Value::Number(v, negative) => { + if *negative { + return Err(ConnectionError::Protocol( + protocol::ErrorResponse::error( + protocol::ErrorCode::ObjectNotInPrerequisiteState, + "cursor can only scan forward".to_string(), + ) + .into(), + span_id.clone(), + )); + } + v.parse::().map_err(|err| { + ConnectionError::Protocol( + protocol::ErrorResponse::error( + protocol::ErrorCode::ProtocolViolation, + format!(r#"Unable to parse number "{}" for fetch limit: {}"#, v, err), + ) + .into(), + span_id.clone(), + ) + }) + } + other => Err(ConnectionError::Protocol( + protocol::ErrorResponse::error( + protocol::ErrorCode::ProtocolViolation, + format!("FETCH limit must be a number, got: {}", other), + ) + .into(), + span_id.clone(), + )), + } +} diff --git a/rust/cubesql/cubesql/src/sql/postgres/error.rs b/rust/cubesql/cubesql/src/sql/postgres/error.rs new file mode 100644 index 0000000000000..4d9bf41b8b567 --- /dev/null +++ b/rust/cubesql/cubesql/src/sql/postgres/error.rs @@ -0,0 +1,188 @@ +use std::{backtrace::Backtrace, sync::Arc}; + +use datafusion::{arrow::error::ArrowError, error::DataFusionError}; +use pg_srv::{ + protocol::{self, ErrorResponse}, + ProtocolError, +}; + +use crate::{compile::CompilationError, transport::SpanId, CubeError}; + +#[derive(thiserror::Error, Debug)] +pub enum ConnectionError { + #[error("CubeError: {0}")] + Cube(CubeError, Option>), + #[error("DataFusionError: {0}")] + DataFusion(DataFusionError, Option>), + #[error("ArrowError: {0}")] + Arrow(ArrowError, Option>), + #[error("CompilationError: {0}")] + CompilationError(CompilationError, Option>), + #[error("ProtocolError: {0}")] + Protocol(ProtocolError, Option>), +} + +impl ConnectionError { + /// Return Backtrace from any variant of Enum + pub fn backtrace(&self) -> Option<&Backtrace> { + match &self { + ConnectionError::Cube(e, _) => e.backtrace(), + ConnectionError::CompilationError(e, _) => e.backtrace(), + ConnectionError::Protocol(e, _) => e.backtrace(), + ConnectionError::DataFusion(_, _) | ConnectionError::Arrow(_, _) => None, + } + } + + /// Converts Error to protocol::ErrorResponse which is usefully for writing response to the client + pub fn to_error_response(self) -> protocol::ErrorResponse { + match self { + ConnectionError::Cube(e, _) => Self::cube_to_error_response(&e), + ConnectionError::DataFusion(e, _) => Self::df_to_error_response(&e), + ConnectionError::Arrow(e, _) => Self::arrow_to_error_response(&e), + ConnectionError::CompilationError(e, _) => { + fn to_error_response(e: CompilationError) -> protocol::ErrorResponse { + match e { + CompilationError::Internal(_, _, _) => protocol::ErrorResponse::error( + protocol::ErrorCode::InternalError, + e.to_string(), + ), + CompilationError::User(_, _) => protocol::ErrorResponse::error( + protocol::ErrorCode::InvalidSqlStatement, + e.to_string(), + ), + CompilationError::Unsupported(_, _) => protocol::ErrorResponse::error( + protocol::ErrorCode::FeatureNotSupported, + e.to_string(), + ), + CompilationError::Fatal(_, _) => protocol::ErrorResponse::fatal( + protocol::ErrorCode::InternalError, + e.to_string(), + ), + } + } + + to_error_response(e) + } + ConnectionError::Protocol(e, _) => e.to_error_response(), + } + } + + pub fn with_span_id(self, span_id: Option>) -> Self { + match self { + ConnectionError::Cube(e, _) => ConnectionError::Cube(e, span_id), + ConnectionError::DataFusion(e, _) => ConnectionError::DataFusion(e, span_id), + ConnectionError::Arrow(e, _) => ConnectionError::Arrow(e, span_id), + ConnectionError::CompilationError(e, _) => { + ConnectionError::CompilationError(e, span_id) + } + ConnectionError::Protocol(e, _) => ConnectionError::Protocol(e, span_id), + } + } + + pub fn span_id(&self) -> Option> { + match self { + ConnectionError::Cube(_, span_id) => span_id.clone(), + ConnectionError::DataFusion(_, span_id) => span_id.clone(), + ConnectionError::Arrow(_, span_id) => span_id.clone(), + ConnectionError::CompilationError(_, span_id) => span_id.clone(), + ConnectionError::Protocol(_, span_id) => span_id.clone(), + } + } + + fn cube_to_error_response(e: &CubeError) -> protocol::ErrorResponse { + let message = e.to_string(); + // Remove `Error: ` prefix that can come from JS + let message = if let Some(message) = message.strip_prefix("Error: ") { + message.to_string() + } else { + message + }; + protocol::ErrorResponse::error(protocol::ErrorCode::InternalError, message) + } + + fn df_to_error_response(e: &DataFusionError) -> protocol::ErrorResponse { + match e { + DataFusionError::ArrowError(arrow_err) => { + return Self::arrow_to_error_response(arrow_err); + } + DataFusionError::External(err) => { + if let Some(cube_err) = err.downcast_ref::() { + return Self::cube_to_error_response(cube_err); + } + } + _ => {} + } + protocol::ErrorResponse::error( + protocol::ErrorCode::InternalError, + format!("Post-processing Error: {}", e), + ) + } + + fn arrow_to_error_response(e: &ArrowError) -> protocol::ErrorResponse { + match e { + ArrowError::ExternalError(err) => { + if let Some(df_err) = err.downcast_ref::() { + return Self::df_to_error_response(df_err); + } + if let Some(cube_err) = err.downcast_ref::() { + return Self::cube_to_error_response(cube_err); + } + } + _ => {} + } + protocol::ErrorResponse::error( + protocol::ErrorCode::InternalError, + format!("Post-processing Error: {}", e), + ) + } +} + +impl From for ConnectionError { + fn from(e: CubeError) -> Self { + ConnectionError::Cube(e, None) + } +} + +impl From for ConnectionError { + fn from(e: CompilationError) -> Self { + ConnectionError::CompilationError(e, None) + } +} + +impl From for ConnectionError { + fn from(e: ProtocolError) -> Self { + ConnectionError::Protocol(e, None) + } +} + +impl From for ConnectionError { + fn from(e: tokio::task::JoinError) -> Self { + ConnectionError::Cube(e.into(), None) + } +} + +impl From for ConnectionError { + fn from(e: DataFusionError) -> Self { + ConnectionError::DataFusion(e, None) + } +} + +impl From for ConnectionError { + fn from(e: ArrowError) -> Self { + ConnectionError::Arrow(e, None) + } +} + +/// Auto converting for all kind of io:Error to ConnectionError, sugar +impl From for ConnectionError { + fn from(e: std::io::Error) -> Self { + ConnectionError::Protocol(e.into(), None) + } +} + +/// Auto converting for all kind of io:Error to ConnectionError, sugar +impl From for ConnectionError { + fn from(e: ErrorResponse) -> Self { + ConnectionError::Protocol(e.into(), None) + } +} diff --git a/rust/cubesql/cubesql/src/sql/postgres/extended.rs b/rust/cubesql/cubesql/src/sql/postgres/extended.rs index 9d2871491e56f..867f9a817031f 100644 --- a/rust/cubesql/cubesql/src/sql/postgres/extended.rs +++ b/rust/cubesql/cubesql/src/sql/postgres/extended.rs @@ -14,7 +14,7 @@ use pg_srv::{protocol, BindValue, PgTypeId, ProtocolError}; use sqlparser::ast; use std::{fmt, pin::Pin, sync::Arc}; -use crate::sql::shim::{ConnectionError, QueryPlanExt}; +use super::{shim::QueryPlanExt, ConnectionError}; use datafusion::{ arrow::array::Array, dataframe::DataFrame as DFDataFrame, physical_plan::SendableRecordBatchStream, @@ -599,7 +599,7 @@ mod tests { }; use pg_srv::protocol::Format; - use crate::sql::{extended::PortalFrom, shim::ConnectionError}; + use crate::sql::{error::ConnectionError, extended::PortalFrom}; use datafusion::{ arrow::{ array::{ArrayRef, StringArray}, diff --git a/rust/cubesql/cubesql/src/sql/postgres/mod.rs b/rust/cubesql/cubesql/src/sql/postgres/mod.rs index 38f111ebb2252..a2019a7fac25c 100644 --- a/rust/cubesql/cubesql/src/sql/postgres/mod.rs +++ b/rust/cubesql/cubesql/src/sql/postgres/mod.rs @@ -1,3 +1,5 @@ +pub(crate) mod ast_helpers; +pub(crate) mod error; pub(crate) mod extended; pub mod pg_auth_service; pub(crate) mod pg_type; @@ -5,5 +7,6 @@ pub(crate) mod service; pub(crate) mod shim; pub(crate) mod writer; +pub use error::ConnectionError; pub use pg_type::*; pub use service::*; diff --git a/rust/cubesql/cubesql/src/sql/postgres/shim.rs b/rust/cubesql/cubesql/src/sql/postgres/shim.rs index f6ae2cc36820d..ffd2c5e6e6260 100644 --- a/rust/cubesql/cubesql/src/sql/postgres/shim.rs +++ b/rust/cubesql/cubesql/src/sql/postgres/shim.rs @@ -3,7 +3,10 @@ use std::{ time::SystemTime, }; -use super::{extended::PreparedStatement, pg_auth_service::AuthenticationStatus}; +use super::{ + ast_helpers::parse_fetch_limit, error::ConnectionError, extended::PreparedStatement, + pg_auth_service::AuthenticationStatus, +}; use crate::{ compile::{ convert_statement_to_cube_query, @@ -22,9 +25,8 @@ use crate::{ transport::{MetaContext, SpanId}, CubeError, }; -use datafusion::{arrow::error::ArrowError, error::DataFusionError}; use futures::{FutureExt, StreamExt}; -use log::{debug, error, trace}; +use log::{debug, trace}; use pg_srv::{ buffer, protocol::{ @@ -33,7 +35,7 @@ use pg_srv::{ }, PgType, PgTypeId, ProtocolError, }; -use sqlparser::ast::{self, CloseCursor, FetchDirection, Query, SetExpr, Statement, Value}; +use sqlparser::ast::{self, CloseCursor, FetchDirection, Query, SetExpr, Statement}; use tokio::{io::AsyncWriteExt, net::TcpStream}; use tokio_util::sync::CancellationToken; use uuid::Uuid; @@ -105,185 +107,6 @@ impl QueryPlanExt for QueryPlan { } } -#[derive(thiserror::Error, Debug)] -pub enum ConnectionError { - #[error("CubeError: {0}")] - Cube(CubeError, Option>), - #[error("DataFusionError: {0}")] - DataFusion(DataFusionError, Option>), - #[error("ArrowError: {0}")] - Arrow(ArrowError, Option>), - #[error("CompilationError: {0}")] - CompilationError(CompilationError, Option>), - #[error("ProtocolError: {0}")] - Protocol(ProtocolError, Option>), -} - -impl ConnectionError { - /// Return Backtrace from any variant of Enum - pub fn backtrace(&self) -> Option<&Backtrace> { - match &self { - ConnectionError::Cube(e, _) => e.backtrace(), - ConnectionError::CompilationError(e, _) => e.backtrace(), - ConnectionError::Protocol(e, _) => e.backtrace(), - ConnectionError::DataFusion(_, _) | ConnectionError::Arrow(_, _) => None, - } - } - - /// Converts Error to protocol::ErrorResponse which is usefully for writing response to the client - pub fn to_error_response(self) -> protocol::ErrorResponse { - match self { - ConnectionError::Cube(e, _) => Self::cube_to_error_response(&e), - ConnectionError::DataFusion(e, _) => Self::df_to_error_response(&e), - ConnectionError::Arrow(e, _) => Self::arrow_to_error_response(&e), - ConnectionError::CompilationError(e, _) => { - fn to_error_response(e: CompilationError) -> protocol::ErrorResponse { - match e { - CompilationError::Internal(_, _, _) => protocol::ErrorResponse::error( - protocol::ErrorCode::InternalError, - e.to_string(), - ), - CompilationError::User(_, _) => protocol::ErrorResponse::error( - protocol::ErrorCode::InvalidSqlStatement, - e.to_string(), - ), - CompilationError::Unsupported(_, _) => protocol::ErrorResponse::error( - protocol::ErrorCode::FeatureNotSupported, - e.to_string(), - ), - CompilationError::Fatal(_, _) => protocol::ErrorResponse::fatal( - protocol::ErrorCode::InternalError, - e.to_string(), - ), - } - } - - to_error_response(e) - } - ConnectionError::Protocol(e, _) => e.to_error_response(), - } - } - - pub fn with_span_id(self, span_id: Option>) -> Self { - match self { - ConnectionError::Cube(e, _) => ConnectionError::Cube(e, span_id), - ConnectionError::DataFusion(e, _) => ConnectionError::DataFusion(e, span_id), - ConnectionError::Arrow(e, _) => ConnectionError::Arrow(e, span_id), - ConnectionError::CompilationError(e, _) => { - ConnectionError::CompilationError(e, span_id) - } - ConnectionError::Protocol(e, _) => ConnectionError::Protocol(e, span_id), - } - } - - pub fn span_id(&self) -> Option> { - match self { - ConnectionError::Cube(_, span_id) => span_id.clone(), - ConnectionError::DataFusion(_, span_id) => span_id.clone(), - ConnectionError::Arrow(_, span_id) => span_id.clone(), - ConnectionError::CompilationError(_, span_id) => span_id.clone(), - ConnectionError::Protocol(_, span_id) => span_id.clone(), - } - } - - fn cube_to_error_response(e: &CubeError) -> protocol::ErrorResponse { - let message = e.to_string(); - // Remove `Error: ` prefix that can come from JS - let message = if let Some(message) = message.strip_prefix("Error: ") { - message.to_string() - } else { - message - }; - protocol::ErrorResponse::error(protocol::ErrorCode::InternalError, message) - } - - fn df_to_error_response(e: &DataFusionError) -> protocol::ErrorResponse { - match e { - DataFusionError::ArrowError(arrow_err) => { - return Self::arrow_to_error_response(arrow_err); - } - DataFusionError::External(err) => { - if let Some(cube_err) = err.downcast_ref::() { - return Self::cube_to_error_response(cube_err); - } - } - _ => {} - } - protocol::ErrorResponse::error( - protocol::ErrorCode::InternalError, - format!("Post-processing Error: {}", e), - ) - } - - fn arrow_to_error_response(e: &ArrowError) -> protocol::ErrorResponse { - match e { - ArrowError::ExternalError(err) => { - if let Some(df_err) = err.downcast_ref::() { - return Self::df_to_error_response(df_err); - } - if let Some(cube_err) = err.downcast_ref::() { - return Self::cube_to_error_response(cube_err); - } - } - _ => {} - } - protocol::ErrorResponse::error( - protocol::ErrorCode::InternalError, - format!("Post-processing Error: {}", e), - ) - } -} - -impl From for ConnectionError { - fn from(e: CubeError) -> Self { - ConnectionError::Cube(e, None) - } -} - -impl From for ConnectionError { - fn from(e: CompilationError) -> Self { - ConnectionError::CompilationError(e, None) - } -} - -impl From for ConnectionError { - fn from(e: ProtocolError) -> Self { - ConnectionError::Protocol(e, None) - } -} - -impl From for ConnectionError { - fn from(e: tokio::task::JoinError) -> Self { - ConnectionError::Cube(e.into(), None) - } -} - -impl From for ConnectionError { - fn from(e: DataFusionError) -> Self { - ConnectionError::DataFusion(e, None) - } -} - -impl From for ConnectionError { - fn from(e: ArrowError) -> Self { - ConnectionError::Arrow(e, None) - } -} - -/// Auto converting for all kind of io:Error to ConnectionError, sugar -impl From for ConnectionError { - fn from(e: std::io::Error) -> Self { - ConnectionError::Protocol(e.into(), None) - } -} - -/// Auto converting for all kind of io:Error to ConnectionError, sugar -impl From for ConnectionError { - fn from(e: ErrorResponse) -> Self { - ConnectionError::Protocol(e.into(), None) - } -} - impl AsyncPostgresShim { async fn flush_and_write_admin_shutdown_fatal_message( shim: &mut AsyncPostgresShim, @@ -1457,39 +1280,26 @@ impl AsyncPostgresShim { }; let limit: usize = match direction { - FetchDirection::Count { limit } => { - match limit { - Value::Number(v, negative) => { - if negative { - // HINT: Declare it with SCROLL option to enable backward scan. - // But it's not supported right now! - return Err(ConnectionError::Protocol( - protocol::ErrorResponse::error( - protocol::ErrorCode::ObjectNotInPrerequisiteState, - "cursor can only scan forward".to_string(), - ) - .into(), - span_id.clone(), - )); - } - - v.parse::().map_err(|err| ConnectionError::Protocol( - protocol::ErrorResponse::error( - protocol::ErrorCode::ProtocolViolation, - format!(r#""Unable to parse number "{}" for fetch limit: {}"#, v, err), - ) - .into(), - span_id.clone(), - ))? - } - _ => unreachable!(), - } - } + FetchDirection::Count { limit } => parse_fetch_limit(&limit, &span_id)?, + + // Fetch the next row. This is the default if direction is omitted. + FetchDirection::Next => 1, + + FetchDirection::Forward { limit } => match limit { + // Fetch the next count rows. FORWARD 0 re-fetches the current row. + Some(v) => parse_fetch_limit(&v, &span_id)?, + // Fetch the next row (same as NEXT). + None => 1, + }, + + // Fetch all remaining rows. + FetchDirection::All | FetchDirection::ForwardAll => usize::MAX, + other => { return Err(ConnectionError::Protocol( protocol::ErrorResponse::error( - protocol::ErrorCode::ProtocolViolation, - format!("Limit {} is not supported for FETCH statement", other), + protocol::ErrorCode::FeatureNotSupported, + format!("FETCH with direction ({}) is not supported", other), ) .into(), span_id.clone(), diff --git a/rust/cubesql/cubesql/src/sql/postgres/writer.rs b/rust/cubesql/cubesql/src/sql/postgres/writer.rs index 3d9c365d935b9..dfb6592bafbe7 100644 --- a/rust/cubesql/cubesql/src/sql/postgres/writer.rs +++ b/rust/cubesql/cubesql/src/sql/postgres/writer.rs @@ -237,7 +237,7 @@ impl Serialize for BatchWriter { mod tests { use crate::sql::{ dataframe::{Decimal128Value, ListValue}, - shim::ConnectionError, + error::ConnectionError, writer::{BatchWriter, ToProtocolValue}, }; use bytes::BytesMut; diff --git a/rust/cubesql/cubesql/src/sql/statement.rs b/rust/cubesql/cubesql/src/sql/statement.rs index 5823f2f4bbb3f..9bdb496ef240f 100644 --- a/rust/cubesql/cubesql/src/sql/statement.rs +++ b/rust/cubesql/cubesql/src/sql/statement.rs @@ -11,7 +11,7 @@ use sqlparser::ast::{ use std::{collections::HashMap, error::Error}; use super::types::ColumnType; -use crate::sql::shim::ConnectionError; +use crate::sql::postgres::ConnectionError; #[derive(Debug)] enum PlaceholderType { diff --git a/rust/cubesql/package.json b/rust/cubesql/package.json index 71e05cbdf3514..8f1f48a3206b3 100644 --- a/rust/cubesql/package.json +++ b/rust/cubesql/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-backend/cubesql", - "version": "1.6.9", + "version": "1.6.10", "description": "SQL API for Cube as proxy over MySQL protocol.", "engines": { "node": "^12.0.0 || ^14.0.0 || >=16.0.0" diff --git a/rust/cubestore/CHANGELOG.md b/rust/cubestore/CHANGELOG.md index 0bfd78cbd0556..d255d91f7852a 100644 --- a/rust/cubestore/CHANGELOG.md +++ b/rust/cubestore/CHANGELOG.md @@ -3,6 +3,12 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.6.10](https://github.com/cube-js/cube/compare/v1.6.9...v1.6.10) (2026-02-09) + +### Bug Fixes + +- **docker:** Set UTF-8 locale environment variables to fix Python UnicodeEncodeError ([#10378](https://github.com/cube-js/cube/issues/10378)) ([104ff5f](https://github.com/cube-js/cube/commit/104ff5f732c80fe54945c959736db5493b4d2575)) + ## [1.6.9](https://github.com/cube-js/cube/compare/v1.6.8...v1.6.9) (2026-02-06) **Note:** Version bump only for package @cubejs-backend/cubestore diff --git a/rust/cubestore/cross/aarch64-unknown-linux-gnu-python.Dockerfile b/rust/cubestore/cross/aarch64-unknown-linux-gnu-python.Dockerfile index 0e392e68be1db..8874ff75972ba 100644 --- a/rust/cubestore/cross/aarch64-unknown-linux-gnu-python.Dockerfile +++ b/rust/cubestore/cross/aarch64-unknown-linux-gnu-python.Dockerfile @@ -30,3 +30,5 @@ RUN wget https://www.python.org/ftp/python/${PYTHON_VERSION}/Python-${PYTHON_VER ENV PYO3_CROSS_PYTHON_VERSION=${PYTHON_RELEASE} \ PYO3_CROSS_INCLUDE_DIR=/usr/aarch64-linux-gnu/include \ PYO3_CROSS_LIB_DIR=/usr/aarch64-linux-gnu/lib +ENV LANG=C.UTF-8 +ENV LC_ALL=C.UTF-8 diff --git a/rust/cubestore/cross/x86_64-unknown-linux-gnu-python.Dockerfile b/rust/cubestore/cross/x86_64-unknown-linux-gnu-python.Dockerfile index cae7244b9e1ca..6791649e52a82 100644 --- a/rust/cubestore/cross/x86_64-unknown-linux-gnu-python.Dockerfile +++ b/rust/cubestore/cross/x86_64-unknown-linux-gnu-python.Dockerfile @@ -18,3 +18,5 @@ RUN cd tmp && wget https://www.python.org/ftp/python/${PYTHON_VERSION}/Python-${ && cd .. && rm -rf Python-${PYTHON_VERSION}; ENV PYO3_PYTHON=python${PYTHON_RELEASE} +ENV LANG=C.UTF-8 +ENV LC_ALL=C.UTF-8 diff --git a/rust/cubestore/package.json b/rust/cubestore/package.json index fa95cae3ecff1..a356d77259f52 100644 --- a/rust/cubestore/package.json +++ b/rust/cubestore/package.json @@ -1,6 +1,6 @@ { "name": "@cubejs-backend/cubestore", - "version": "1.6.9", + "version": "1.6.10", "description": "Cube.js pre-aggregation storage layer.", "main": "dist/src/index.js", "typings": "dist/src/index.d.ts", @@ -32,7 +32,7 @@ }, "license": "Apache-2.0", "devDependencies": { - "@cubejs-backend/linter": "1.6.9", + "@cubejs-backend/linter": "1.6.10", "@types/jest": "^27", "@types/node": "^18", "jest": "^27", @@ -42,7 +42,7 @@ "access": "public" }, "dependencies": { - "@cubejs-backend/shared": "1.6.9", + "@cubejs-backend/shared": "1.6.10", "@octokit/core": "^3.2.5", "source-map-support": "^0.5.19" },