@querypanel/node-sdk 1.0.20 → 1.0.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +30 -5
- package/dist/cjs/connectors/base.d.ts +3 -2
- package/dist/cjs/connectors/base.d.ts.map +1 -1
- package/dist/cjs/connectors/clickhouse.d.ts +10 -28
- package/dist/cjs/connectors/clickhouse.d.ts.map +1 -1
- package/dist/cjs/connectors/clickhouse.js +77 -55
- package/dist/cjs/connectors/clickhouse.js.map +1 -1
- package/dist/cjs/index.d.ts +45 -1
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +92 -19
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/tenant-isolation.spec.js +54 -0
- package/dist/cjs/tenant-isolation.spec.js.map +1 -1
- package/dist/esm/connectors/clickhouse.d.ts +4 -4
- package/dist/esm/connectors/clickhouse.d.ts.map +1 -1
- package/dist/esm/connectors/clickhouse.js +32 -25
- package/dist/esm/connectors/clickhouse.js.map +1 -1
- package/dist/esm/index.d.ts +45 -1
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +92 -19
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/tenant-isolation.spec.js +54 -0
- package/dist/esm/tenant-isolation.spec.js.map +1 -1
- package/package.json +1 -1
- package/dist/cjs/__tests__/ingest.test.d.ts +0 -5
- package/dist/cjs/__tests__/ingest.test.d.ts.map +0 -1
- package/dist/cjs/__tests__/ingest.test.js +0 -95
- package/dist/cjs/__tests__/ingest.test.js.map +0 -1
- package/dist/cjs/connectors/__tests__/clickhouse.introspect.test.d.ts +0 -2
- package/dist/cjs/connectors/__tests__/clickhouse.introspect.test.d.ts.map +0 -1
- package/dist/cjs/connectors/__tests__/clickhouse.introspect.test.js +0 -119
- package/dist/cjs/connectors/__tests__/clickhouse.introspect.test.js.map +0 -1
package/dist/cjs/index.js
CHANGED
|
@@ -41,7 +41,7 @@ function anonymizeResults(rows) {
|
|
|
41
41
|
});
|
|
42
42
|
}
|
|
43
43
|
class QueryPanelSdkAPI {
|
|
44
|
-
constructor(baseUrl, jwtTokenOrPrivateKey, organizationId) {
|
|
44
|
+
constructor(baseUrl, jwtTokenOrPrivateKey, organizationId, options) {
|
|
45
45
|
// Database registry
|
|
46
46
|
this.databases = new Map();
|
|
47
47
|
this.databaseMetadata = new Map();
|
|
@@ -58,6 +58,8 @@ class QueryPanelSdkAPI {
|
|
|
58
58
|
// Legacy mode: use provided JWT
|
|
59
59
|
this.token = jwtTokenOrPrivateKey;
|
|
60
60
|
}
|
|
61
|
+
// Store additional headers if provided
|
|
62
|
+
this.additionalHeaders = options?.additionalHeaders;
|
|
61
63
|
}
|
|
62
64
|
/**
|
|
63
65
|
* Attach a database adapter with a specific name
|
|
@@ -240,13 +242,43 @@ class QueryPanelSdkAPI {
|
|
|
240
242
|
this.syncedDatabases.add(databaseName);
|
|
241
243
|
return result;
|
|
242
244
|
}
|
|
245
|
+
/**
|
|
246
|
+
* Introspect and ingest schema to LangChain vector store (v4)
|
|
247
|
+
* Combines introspectV3 + API call to /v4/ingest
|
|
248
|
+
*
|
|
249
|
+
* @param databaseName - Name of the attached database to introspect
|
|
250
|
+
* @param options - Required tenant ID and optional table filter
|
|
251
|
+
* @returns Ingestion summary from the LangChain module
|
|
252
|
+
*
|
|
253
|
+
* @example
|
|
254
|
+
* ```typescript
|
|
255
|
+
* const result = await sdk.ingestSchemaV4("my_database", {
|
|
256
|
+
* tenantId: "tenant-123",
|
|
257
|
+
* tables: ["users", "orders"]
|
|
258
|
+
* });
|
|
259
|
+
*
|
|
260
|
+
* console.log(`Ingested ${result.chunksCreated} chunks`);
|
|
261
|
+
* ```
|
|
262
|
+
*/
|
|
263
|
+
async ingestSchemaV4(databaseName, options, signal) {
|
|
264
|
+
// Introspect schema in V3 format (v4 uses the same schema format)
|
|
265
|
+
const schemaExport = await this.introspectV3(databaseName, {
|
|
266
|
+
tenantId: options.tenantId,
|
|
267
|
+
...(options.tables && { tables: options.tables }),
|
|
268
|
+
});
|
|
269
|
+
// Post to v4/ingest endpoint
|
|
270
|
+
const result = await this.post("/v4/ingest", { schema: schemaExport }, options.tenantId, options.userId, options.scopes, signal);
|
|
271
|
+
// Mark database as synced
|
|
272
|
+
this.syncedDatabases.add(databaseName);
|
|
273
|
+
return result;
|
|
274
|
+
}
|
|
243
275
|
/**
|
|
244
276
|
* Ensure all attached databases have been synced at least once.
|
|
245
277
|
* Called automatically on first ask() if needed (unless disabled).
|
|
246
278
|
*/
|
|
247
|
-
async ensureDatabasesSynced(tenantId, userId, scopes, useV3, disableAutoSync) {
|
|
279
|
+
async ensureDatabasesSynced(tenantId, userId, scopes, useV3, useV4, disableAutoSync) {
|
|
248
280
|
if (disableAutoSync) {
|
|
249
|
-
return; // Auto-sync disabled, user must call syncSchema/ingestSchemaV3 manually
|
|
281
|
+
return; // Auto-sync disabled, user must call syncSchema/ingestSchemaV3/ingestSchemaV4 manually
|
|
250
282
|
}
|
|
251
283
|
const dbNames = Array.from(this.databases.keys());
|
|
252
284
|
if (dbNames.length === 0)
|
|
@@ -260,19 +292,26 @@ class QueryPanelSdkAPI {
|
|
|
260
292
|
if (unsyncedDbs.length === 0)
|
|
261
293
|
return;
|
|
262
294
|
}
|
|
263
|
-
|
|
295
|
+
const version = useV4 ? "v4" : useV3 ? "v3" : "v2";
|
|
296
|
+
console.log(`Auto-syncing databases (${version}): ${unsyncedDbs.join(", ")}`);
|
|
264
297
|
// Sync all unsynced databases in parallel
|
|
265
|
-
await Promise.all(unsyncedDbs.map((dbName) =>
|
|
266
|
-
? this.
|
|
298
|
+
await Promise.all(unsyncedDbs.map((dbName) => useV4
|
|
299
|
+
? this.ingestSchemaV4(dbName, {
|
|
267
300
|
tenantId,
|
|
268
301
|
...(userId ? { userId } : {}),
|
|
269
302
|
...(scopes ? { scopes } : {}),
|
|
270
303
|
}).catch((err) => console.warn(`Failed to sync ${dbName}:`, err))
|
|
271
|
-
:
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
304
|
+
: useV3
|
|
305
|
+
? this.ingestSchemaV3(dbName, {
|
|
306
|
+
tenantId,
|
|
307
|
+
...(userId ? { userId } : {}),
|
|
308
|
+
...(scopes ? { scopes } : {}),
|
|
309
|
+
}).catch((err) => console.warn(`Failed to sync ${dbName}:`, err))
|
|
310
|
+
: this.syncSchema(dbName, {
|
|
311
|
+
tenantId,
|
|
312
|
+
...(userId ? { userId } : {}),
|
|
313
|
+
...(scopes ? { scopes } : {}),
|
|
314
|
+
}).catch((err) => console.warn(`Failed to sync ${dbName}:`, err))));
|
|
276
315
|
}
|
|
277
316
|
/**
|
|
278
317
|
* Generate a hash of the introspection for change detection
|
|
@@ -342,12 +381,18 @@ class QueryPanelSdkAPI {
|
|
|
342
381
|
}
|
|
343
382
|
const tenantFieldName = metadata.tenantFieldName;
|
|
344
383
|
const tenantFieldType = metadata.tenantFieldType || "String";
|
|
345
|
-
// Check if tenant
|
|
384
|
+
// Check if tenant field is already being filtered in SQL
|
|
346
385
|
let parameterFound = false;
|
|
386
|
+
let placeholderName;
|
|
347
387
|
if (metadata.dialect === "clickhouse") {
|
|
348
|
-
// ClickHouse
|
|
349
|
-
|
|
350
|
-
|
|
388
|
+
// ClickHouse: Check if the field name appears in a WHERE/AND clause with comparison
|
|
389
|
+
// This catches patterns like: "customer_id = {tenantId:Int32}" or "customer_id = {customer_id:String}"
|
|
390
|
+
const fieldFilterPattern = new RegExp(`\\b${tenantFieldName}\\s*=\\s*\\{([^}:]+)(?::[^}]+)?\\}`, "i");
|
|
391
|
+
const match = sql.match(fieldFilterPattern);
|
|
392
|
+
if (match) {
|
|
393
|
+
parameterFound = true;
|
|
394
|
+
placeholderName = match[1]; // Extract placeholder name (e.g., "tenantId" from "{tenantId:Int32}")
|
|
395
|
+
}
|
|
351
396
|
}
|
|
352
397
|
else if (metadata.dialect === "postgres") {
|
|
353
398
|
// Check if field name appears in SQL (basic check for tenant field)
|
|
@@ -363,7 +408,14 @@ class QueryPanelSdkAPI {
|
|
|
363
408
|
}
|
|
364
409
|
// Always enforce tenant parameter with correct tenantId
|
|
365
410
|
// This ensures the parameter is set even if the API returns 0 or any other placeholder
|
|
366
|
-
|
|
411
|
+
if (placeholderName) {
|
|
412
|
+
// Use the actual placeholder name found in SQL (e.g., "tenantId")
|
|
413
|
+
params[placeholderName] = tenantId;
|
|
414
|
+
}
|
|
415
|
+
else {
|
|
416
|
+
// Fallback to field name
|
|
417
|
+
params[tenantFieldName] = tenantId;
|
|
418
|
+
}
|
|
367
419
|
// If parameter not found in SQL, add tenant filter
|
|
368
420
|
if (!parameterFound) {
|
|
369
421
|
console.warn(`[Tenant Isolation] Adding missing tenant filter to SQL for field '${tenantFieldName}' on database '${metadata.name}'`);
|
|
@@ -433,19 +485,28 @@ class QueryPanelSdkAPI {
|
|
|
433
485
|
return sql;
|
|
434
486
|
}
|
|
435
487
|
async ask(question, options, signal) {
|
|
436
|
-
const { tenantId, database, userId, scopes, sqlMaxAttempts = 3, chartMaxRetries = 3, useV3 = false, disableAutoSync = false, } = options;
|
|
488
|
+
const { tenantId, database, userId, scopes, sqlMaxAttempts = 3, chartMaxRetries = 3, useV3 = false, useV4 = false, disableAutoSync = false, } = options;
|
|
437
489
|
// Auto-sync databases on first use (unless disabled)
|
|
438
|
-
await this.ensureDatabasesSynced(tenantId, userId, scopes, useV3, disableAutoSync);
|
|
490
|
+
await this.ensureDatabasesSynced(tenantId, userId, scopes, useV3, useV4, disableAutoSync);
|
|
439
491
|
let attempt = 0;
|
|
440
492
|
const sessionId = (0, node_crypto_1.randomUUID)();
|
|
441
493
|
let lastError;
|
|
494
|
+
let failedSql;
|
|
442
495
|
while (attempt < sqlMaxAttempts) {
|
|
443
496
|
// Build available databases list with metadata (includes tenantFieldName per database)
|
|
444
497
|
const availableDatabases = Array.from(this.databaseMetadata.values());
|
|
445
|
-
|
|
498
|
+
// Determine endpoint based on version flag
|
|
499
|
+
const endpoint = useV4
|
|
500
|
+
? "/v4/generate-sql"
|
|
501
|
+
: useV3
|
|
502
|
+
? "/v3/generate-sql"
|
|
503
|
+
: "/v2/generate-sql";
|
|
504
|
+
const sqlResponse = await this.post(endpoint, {
|
|
446
505
|
question,
|
|
447
506
|
max_retries: Math.max(1, sqlMaxAttempts - attempt),
|
|
507
|
+
attempt_count: attempt,
|
|
448
508
|
...(lastError ? { last_error: lastError } : {}),
|
|
509
|
+
...(failedSql ? { failed_sql: failedSql } : {}),
|
|
449
510
|
...(database ? { database } : {}), // Optional hint
|
|
450
511
|
available_databases: availableDatabases,
|
|
451
512
|
...(options.additionalPrompts && options.additionalPrompts.length > 0
|
|
@@ -512,6 +573,7 @@ class QueryPanelSdkAPI {
|
|
|
512
573
|
}
|
|
513
574
|
catch (error) {
|
|
514
575
|
lastError = error instanceof Error ? error.message : String(error);
|
|
576
|
+
failedSql = sqlResponse.sql;
|
|
515
577
|
attempt += 1;
|
|
516
578
|
if (attempt >= sqlMaxAttempts) {
|
|
517
579
|
throw error;
|
|
@@ -741,6 +803,10 @@ class QueryPanelSdkAPI {
|
|
|
741
803
|
if (sessionId) {
|
|
742
804
|
headers["x-session-id"] = sessionId;
|
|
743
805
|
}
|
|
806
|
+
// Merge in additional headers if provided
|
|
807
|
+
if (this.additionalHeaders) {
|
|
808
|
+
Object.assign(headers, this.additionalHeaders);
|
|
809
|
+
}
|
|
744
810
|
return headers;
|
|
745
811
|
}
|
|
746
812
|
async parseResponse(res) {
|
|
@@ -756,6 +822,13 @@ class QueryPanelSdkAPI {
|
|
|
756
822
|
err.status = res.status;
|
|
757
823
|
if (json?.details)
|
|
758
824
|
err.details = json.details;
|
|
825
|
+
// Special handling for 429 (MaxRetriesError from v4 API)
|
|
826
|
+
if (res.status === 429 && json?.attemptCount && json?.maxRetries) {
|
|
827
|
+
err.details = {
|
|
828
|
+
...json,
|
|
829
|
+
message: `Maximum retry attempts (${json.maxRetries}) exceeded after ${json.attemptCount} attempts`,
|
|
830
|
+
};
|
|
831
|
+
}
|
|
759
832
|
throw err;
|
|
760
833
|
}
|
|
761
834
|
return json;
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -108,6 +108,60 @@ const index_js_1 = require("./index.js");
|
|
|
108
108
|
(0, vitest_1.expect)(result).toBe(sql);
|
|
109
109
|
(0, vitest_1.expect)(params).toHaveProperty("customer_id", "customer-123");
|
|
110
110
|
});
|
|
111
|
+
(0, vitest_1.it)("should handle when API uses different placeholder name than field name", () => {
|
|
112
|
+
const metadata = {
|
|
113
|
+
name: "analytics",
|
|
114
|
+
dialect: "clickhouse",
|
|
115
|
+
tenantFieldName: "customer_id",
|
|
116
|
+
tenantFieldType: "Int32",
|
|
117
|
+
enforceTenantIsolation: true,
|
|
118
|
+
};
|
|
119
|
+
// API returns SQL with placeholder named "tenantId" but field is "customer_id"
|
|
120
|
+
const sql = "SELECT state FROM fraud_transaction WHERE customer_id = {tenantId:Int32} LIMIT 100";
|
|
121
|
+
const params = { tenantId: 3 }; // API provided this
|
|
122
|
+
const tenantId = "123"; // Actual tenant ID from SDK
|
|
123
|
+
const result = sdk.ensureTenantIsolation(sql, params, metadata, tenantId);
|
|
124
|
+
// Should not modify SQL since customer_id field is already filtered
|
|
125
|
+
(0, vitest_1.expect)(result).toBe(sql);
|
|
126
|
+
// Should set the placeholder param to the correct tenant ID
|
|
127
|
+
(0, vitest_1.expect)(params).toHaveProperty("tenantId", "123");
|
|
128
|
+
});
|
|
129
|
+
(0, vitest_1.it)("should handle various placeholder names (userId, orgId, etc)", () => {
|
|
130
|
+
const testCases = [
|
|
131
|
+
{
|
|
132
|
+
placeholder: "userId",
|
|
133
|
+
sql: "SELECT * FROM data WHERE customer_id = {userId:String}",
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
placeholder: "orgId",
|
|
137
|
+
sql: "SELECT * FROM data WHERE customer_id = {orgId:String}",
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
placeholder: "accountId",
|
|
141
|
+
sql: "SELECT * FROM data WHERE customer_id = {accountId:String}",
|
|
142
|
+
},
|
|
143
|
+
{
|
|
144
|
+
placeholder: "tenant",
|
|
145
|
+
sql: "SELECT * FROM data WHERE customer_id = {tenant:String}",
|
|
146
|
+
},
|
|
147
|
+
];
|
|
148
|
+
testCases.forEach(({ placeholder, sql }) => {
|
|
149
|
+
const metadata = {
|
|
150
|
+
name: "analytics",
|
|
151
|
+
dialect: "clickhouse",
|
|
152
|
+
tenantFieldName: "customer_id",
|
|
153
|
+
tenantFieldType: "String",
|
|
154
|
+
enforceTenantIsolation: true,
|
|
155
|
+
};
|
|
156
|
+
const params = {};
|
|
157
|
+
const tenantId = "tenant-123";
|
|
158
|
+
const result = sdk.ensureTenantIsolation(sql, params, metadata, tenantId);
|
|
159
|
+
// Should not modify SQL
|
|
160
|
+
(0, vitest_1.expect)(result).toBe(sql);
|
|
161
|
+
// Should set the correct placeholder param
|
|
162
|
+
(0, vitest_1.expect)(params).toHaveProperty(placeholder, "tenant-123");
|
|
163
|
+
});
|
|
164
|
+
});
|
|
111
165
|
(0, vitest_1.it)("should handle different field types", () => {
|
|
112
166
|
const testCases = [
|
|
113
167
|
{ type: "String", expected: "{org_id:String}" },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tenant-isolation.spec.js","sourceRoot":"","sources":["../../src/tenant-isolation.spec.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tenant-isolation.spec.js","sourceRoot":"","sources":["../../src/tenant-isolation.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { type ClickHouseClient, type ClickHouseClientConfigOptions } from
|
|
2
|
-
import type { IntrospectOptions, SchemaIntrospection } from
|
|
3
|
-
import type { DatabaseConnector, QueryOptions } from
|
|
1
|
+
import { type ClickHouseClient, type ClickHouseClientConfigOptions } from "@clickhouse/client";
|
|
2
|
+
import type { IntrospectOptions, SchemaIntrospection } from "../schema/types.js";
|
|
3
|
+
import type { DatabaseConnector, QueryOptions } from "./base.js";
|
|
4
4
|
export interface ClickHouseConnectorConfig {
|
|
5
5
|
/** Fully qualified ClickHouse URL. Overrides host/port/protocol when provided. */
|
|
6
6
|
url?: string;
|
|
7
7
|
host?: string;
|
|
8
8
|
port?: number;
|
|
9
|
-
protocol?:
|
|
9
|
+
protocol?: "http" | "https";
|
|
10
10
|
database: string;
|
|
11
11
|
username?: string;
|
|
12
12
|
password?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clickhouse.d.ts","sourceRoot":"","sources":["../../../src/connectors/clickhouse.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"clickhouse.d.ts","sourceRoot":"","sources":["../../../src/connectors/clickhouse.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,KAAK,gBAAgB,EACrB,KAAK,6BAA6B,EAIlC,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAEX,iBAAiB,EACjB,mBAAmB,EAEnB,MAAM,oBAAoB,CAAC;AAQ5B,OAAO,KAAK,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAEjE,MAAM,WAAW,yBAAyB;IACzC,kFAAkF;IAClF,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC7C,aAAa,CAAC,EAAE,OAAO,CAAC,6BAA6B,CAAC,CAAC;CACvD;AAED,MAAM,WAAW,4BAA4B;IAC5C,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,gBAAgB,CAAC;CACvC;AA4BD,qBAAa,mBAAoB,YAAW,iBAAiB;IAO3D,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAP3B,OAAO,CAAC,MAAM,CAA0B;IACxC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAEC;gBAGb,MAAM,EAAE,yBAAyB,EACjC,SAAS,GAAE,4BAAiC;IAKxD,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAIxB,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACtC,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,YAAY,GACpB,OAAO,CAAC,CAAC,EAAE,CAAC;IAmCT,UAAU,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAyGrE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;YAMd,YAAY;YAcZ,QAAQ;IAYtB,OAAO,CAAC,iBAAiB;CAkCzB"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { createClient, } from
|
|
2
|
-
import { extractFixedStringLength, extractPrecisionScale, isNullableType, parseKeyExpression, unwrapTypeModifiers, } from
|
|
1
|
+
import { createClient, } from "@clickhouse/client";
|
|
2
|
+
import { extractFixedStringLength, extractPrecisionScale, isNullableType, parseKeyExpression, unwrapTypeModifiers, } from "../utils/clickhouse.js";
|
|
3
3
|
export class ClickHouseConnector {
|
|
4
4
|
constructor(config, overrides = {}) {
|
|
5
5
|
this.config = config;
|
|
6
6
|
this.overrides = overrides;
|
|
7
|
-
this.defaultFormat =
|
|
7
|
+
this.defaultFormat = "JSONEachRow";
|
|
8
8
|
this.client = overrides.client ?? null;
|
|
9
9
|
}
|
|
10
10
|
async connect() {
|
|
@@ -23,14 +23,16 @@ export class ClickHouseConnector {
|
|
|
23
23
|
Object.assign(params, { query_params: options.params });
|
|
24
24
|
}
|
|
25
25
|
if (options?.settings) {
|
|
26
|
-
Object.assign(params, {
|
|
26
|
+
Object.assign(params, {
|
|
27
|
+
clickhouse_settings: options.settings,
|
|
28
|
+
});
|
|
27
29
|
}
|
|
28
30
|
const result = await client.query(params);
|
|
29
31
|
const payload = await result.json();
|
|
30
32
|
if (Array.isArray(payload)) {
|
|
31
33
|
return payload;
|
|
32
34
|
}
|
|
33
|
-
if (payload && typeof payload ===
|
|
35
|
+
if (payload && typeof payload === "object") {
|
|
34
36
|
const maybeData = payload.data;
|
|
35
37
|
if (Array.isArray(maybeData)) {
|
|
36
38
|
return maybeData;
|
|
@@ -47,12 +49,14 @@ export class ClickHouseConnector {
|
|
|
47
49
|
if (hasFilter) {
|
|
48
50
|
queryParams.tables = allowTables;
|
|
49
51
|
}
|
|
50
|
-
const filterClause = hasFilter ?
|
|
52
|
+
const filterClause = hasFilter ? " AND name IN {tables:Array(String)}" : "";
|
|
51
53
|
const tables = await this.query(`SELECT name, engine, comment, total_rows, total_bytes, is_view, primary_key, sorting_key
|
|
52
54
|
FROM system.tables
|
|
53
55
|
WHERE database = {db:String}${filterClause}
|
|
54
56
|
ORDER BY name`, { params: queryParams });
|
|
55
|
-
const columnFilterClause = hasFilter
|
|
57
|
+
const columnFilterClause = hasFilter
|
|
58
|
+
? " AND table IN {tables:Array(String)}"
|
|
59
|
+
: "";
|
|
56
60
|
const columns = await this.query(`SELECT table, name, type, position, default_kind, default_expression, comment,
|
|
57
61
|
codec_expression, ttl_expression, is_in_primary_key,
|
|
58
62
|
data_compressed_bytes, data_uncompressed_bytes
|
|
@@ -71,15 +75,16 @@ export class ClickHouseConnector {
|
|
|
71
75
|
const totalRows = toNumber(table.total_rows);
|
|
72
76
|
const totalBytes = toNumber(table.total_bytes);
|
|
73
77
|
for (const column of tableColumns) {
|
|
74
|
-
column.isPrimaryKey =
|
|
78
|
+
column.isPrimaryKey =
|
|
79
|
+
column.isPrimaryKey || primaryKeyColumns.includes(column.name);
|
|
75
80
|
}
|
|
76
81
|
const indexes = primaryKeyColumns.length
|
|
77
82
|
? [
|
|
78
83
|
{
|
|
79
|
-
name:
|
|
84
|
+
name: "primary_key",
|
|
80
85
|
columns: primaryKeyColumns,
|
|
81
86
|
unique: true,
|
|
82
|
-
type:
|
|
87
|
+
type: "PRIMARY KEY",
|
|
83
88
|
...(table.primary_key ? { definition: table.primary_key } : {}),
|
|
84
89
|
},
|
|
85
90
|
]
|
|
@@ -87,8 +92,8 @@ export class ClickHouseConnector {
|
|
|
87
92
|
const constraints = primaryKeyColumns.length
|
|
88
93
|
? [
|
|
89
94
|
{
|
|
90
|
-
name:
|
|
91
|
-
type:
|
|
95
|
+
name: "primary_key",
|
|
96
|
+
type: "PRIMARY KEY",
|
|
92
97
|
columns: primaryKeyColumns,
|
|
93
98
|
},
|
|
94
99
|
]
|
|
@@ -114,7 +119,7 @@ export class ClickHouseConnector {
|
|
|
114
119
|
});
|
|
115
120
|
return {
|
|
116
121
|
db: {
|
|
117
|
-
kind:
|
|
122
|
+
kind: "clickhouse",
|
|
118
123
|
name: this.config.database,
|
|
119
124
|
},
|
|
120
125
|
tables: tableSchemas,
|
|
@@ -131,10 +136,12 @@ export class ClickHouseConnector {
|
|
|
131
136
|
if (this.client) {
|
|
132
137
|
return this.client;
|
|
133
138
|
}
|
|
134
|
-
this.client =
|
|
139
|
+
this.client =
|
|
140
|
+
this.overrides?.clientFactory?.() ??
|
|
141
|
+
createClient(this.buildClientConfig());
|
|
135
142
|
const pingResult = await this.safePing(this.client);
|
|
136
|
-
if (pingResult &&
|
|
137
|
-
throw pingResult.error ?? new Error(
|
|
143
|
+
if (pingResult && "success" in pingResult && pingResult.success === false) {
|
|
144
|
+
throw pingResult.error ?? new Error("ClickHouse ping failed");
|
|
138
145
|
}
|
|
139
146
|
return this.client;
|
|
140
147
|
}
|
|
@@ -156,8 +163,8 @@ export class ClickHouseConnector {
|
|
|
156
163
|
merged.url = this.config.url;
|
|
157
164
|
}
|
|
158
165
|
else if (this.config.host) {
|
|
159
|
-
const protocol = this.config.protocol ??
|
|
160
|
-
const port = this.config.port ?? (protocol ===
|
|
166
|
+
const protocol = this.config.protocol ?? "https";
|
|
167
|
+
const port = this.config.port ?? (protocol === "https" ? 8443 : 8123);
|
|
161
168
|
merged.url = `${protocol}://${this.config.host}:${port}`;
|
|
162
169
|
}
|
|
163
170
|
merged.database = this.config.database;
|
|
@@ -190,7 +197,7 @@ function normalizeTableFilter(tables) {
|
|
|
190
197
|
const trimmed = table.trim();
|
|
191
198
|
if (!trimmed)
|
|
192
199
|
continue;
|
|
193
|
-
const parts = trimmed.split(
|
|
200
|
+
const parts = trimmed.split(".");
|
|
194
201
|
const tableName = parts[parts.length - 1];
|
|
195
202
|
if (!tableName || seen.has(tableName))
|
|
196
203
|
continue;
|
|
@@ -247,7 +254,7 @@ function transformColumnRow(row) {
|
|
|
247
254
|
function toNumber(value) {
|
|
248
255
|
if (value === null || value === undefined)
|
|
249
256
|
return undefined;
|
|
250
|
-
if (typeof value ===
|
|
257
|
+
if (typeof value === "number")
|
|
251
258
|
return value;
|
|
252
259
|
const parsed = Number.parseFloat(String(value));
|
|
253
260
|
return Number.isNaN(parsed) ? undefined : parsed;
|
|
@@ -259,14 +266,14 @@ function sanitize(value) {
|
|
|
259
266
|
return trimmed.length ? trimmed : undefined;
|
|
260
267
|
}
|
|
261
268
|
function asTableType(isView) {
|
|
262
|
-
if (typeof isView ===
|
|
263
|
-
return isView > 0 ?
|
|
269
|
+
if (typeof isView === "number") {
|
|
270
|
+
return isView > 0 ? "view" : "table";
|
|
264
271
|
}
|
|
265
|
-
if (typeof isView ===
|
|
272
|
+
if (typeof isView === "string") {
|
|
266
273
|
const normalized = isView.toLowerCase();
|
|
267
|
-
return normalized ===
|
|
274
|
+
return normalized === "1" || normalized === "true" ? "view" : "table";
|
|
268
275
|
}
|
|
269
|
-
return
|
|
276
|
+
return "table";
|
|
270
277
|
}
|
|
271
278
|
function buildTableStatistics(totalRows, totalBytes) {
|
|
272
279
|
if (totalRows === undefined && totalBytes === undefined)
|