@quillsql/node 0.6.14 → 0.6.16

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.
Files changed (39) hide show
  1. package/dist/cjs/db/BigQuery.js +8 -9
  2. package/dist/cjs/db/BigQuery.js.map +1 -1
  3. package/dist/cjs/db/CachedConnection.d.ts +3 -2
  4. package/dist/cjs/db/CachedConnection.js.map +1 -1
  5. package/dist/cjs/db/ClickHouse.d.ts +28 -0
  6. package/dist/cjs/db/ClickHouse.js +305 -0
  7. package/dist/cjs/db/ClickHouse.js.map +1 -0
  8. package/dist/cjs/db/DatabaseHelper.d.ts +14 -12
  9. package/dist/cjs/db/DatabaseHelper.js +30 -12
  10. package/dist/cjs/db/DatabaseHelper.js.map +1 -1
  11. package/dist/cjs/db/Mysql.js +9 -10
  12. package/dist/cjs/db/Mysql.js.map +1 -1
  13. package/dist/cjs/db/Postgres.js +9 -10
  14. package/dist/cjs/db/Postgres.js.map +1 -1
  15. package/dist/cjs/db/Snowflake.js +9 -10
  16. package/dist/cjs/db/Snowflake.js.map +1 -1
  17. package/dist/cjs/index.d.ts +3 -3
  18. package/dist/cjs/index.js +6 -5
  19. package/dist/cjs/index.js.map +1 -1
  20. package/dist/cjs/utils/Error.js +2 -2
  21. package/dist/cjs/utils/Error.js.map +1 -1
  22. package/dist/cjs/utils/RunQueryProcesses.js +2 -3
  23. package/dist/cjs/utils/RunQueryProcesses.js.map +1 -1
  24. package/dist/cjs/utils/schemaConversion.js +1 -2
  25. package/dist/cjs/utils/schemaConversion.js.map +1 -1
  26. package/dist/cjs/utils/textProcessing.js +2 -3
  27. package/dist/cjs/utils/textProcessing.js.map +1 -1
  28. package/dist/esm/db/CachedConnection.d.ts +3 -2
  29. package/dist/esm/db/CachedConnection.js.map +1 -1
  30. package/dist/esm/db/ClickHouse.d.ts +28 -0
  31. package/dist/esm/db/ClickHouse.js +294 -0
  32. package/dist/esm/db/ClickHouse.js.map +1 -0
  33. package/dist/esm/db/DatabaseHelper.d.ts +14 -12
  34. package/dist/esm/db/DatabaseHelper.js +19 -0
  35. package/dist/esm/db/DatabaseHelper.js.map +1 -1
  36. package/dist/esm/index.d.ts +3 -3
  37. package/dist/esm/index.js +6 -5
  38. package/dist/esm/index.js.map +1 -1
  39. package/package.json +3 -2
@@ -9,7 +9,14 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
9
  });
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.getSchemaColumnInfoBigQuery = exports.getForeignKeysBigQuery = exports.getColumnsByTableBigQuery = exports.getTablesBySchemaBigQuery = exports.getSchemaBigQuery = exports.runQueryBigQuery = exports.connectToBigQuery = exports.formatBigQueryConfig = void 0;
12
+ exports.formatBigQueryConfig = formatBigQueryConfig;
13
+ exports.connectToBigQuery = connectToBigQuery;
14
+ exports.runQueryBigQuery = runQueryBigQuery;
15
+ exports.getSchemaBigQuery = getSchemaBigQuery;
16
+ exports.getTablesBySchemaBigQuery = getTablesBySchemaBigQuery;
17
+ exports.getColumnsByTableBigQuery = getColumnsByTableBigQuery;
18
+ exports.getForeignKeysBigQuery = getForeignKeysBigQuery;
19
+ exports.getSchemaColumnInfoBigQuery = getSchemaColumnInfoBigQuery;
13
20
  const bigquery_1 = require("@google-cloud/bigquery");
14
21
  const textProcessing_1 = require("../utils/textProcessing");
15
22
  function formatBigQueryConfig(connectionString) {
@@ -35,11 +42,9 @@ function formatBigQueryConfig(connectionString) {
35
42
  throw new Error("Failed to parse JSON string: " + error);
36
43
  }
37
44
  }
38
- exports.formatBigQueryConfig = formatBigQueryConfig;
39
45
  function connectToBigQuery(config) {
40
46
  return new bigquery_1.BigQuery(config);
41
47
  }
42
- exports.connectToBigQuery = connectToBigQuery;
43
48
  function runQueryBigQuery(sql, bigQuery) {
44
49
  return __awaiter(this, void 0, void 0, function* () {
45
50
  const rows = yield bigQuery.query(sql);
@@ -64,7 +69,6 @@ function runQueryBigQuery(sql, bigQuery) {
64
69
  };
65
70
  });
66
71
  }
67
- exports.runQueryBigQuery = runQueryBigQuery;
68
72
  function getSchemaBigQuery(bigQuery) {
69
73
  return __awaiter(this, void 0, void 0, function* () {
70
74
  const [datasets] = yield bigQuery.getDatasets();
@@ -78,7 +82,6 @@ function getSchemaBigQuery(bigQuery) {
78
82
  return filtered;
79
83
  });
80
84
  }
81
- exports.getSchemaBigQuery = getSchemaBigQuery;
82
85
  function getTablesBySchemaBigQuery(bigQuery, schemaNames) {
83
86
  return __awaiter(this, void 0, void 0, function* () {
84
87
  const allColumns = yield Promise.all(schemaNames.map((schema) => __awaiter(this, void 0, void 0, function* () {
@@ -91,7 +94,6 @@ function getTablesBySchemaBigQuery(bigQuery, schemaNames) {
91
94
  return allColumns.flat();
92
95
  });
93
96
  }
94
- exports.getTablesBySchemaBigQuery = getTablesBySchemaBigQuery;
95
97
  function getColumnsByTableBigQuery(bigQuery, schemaName, tableName) {
96
98
  return __awaiter(this, void 0, void 0, function* () {
97
99
  const sql = `SELECT column_name FROM ${schemaName}.INFORMATION_SCHEMA.COLUMNS WHERE table_name = '${tableName}'`;
@@ -99,7 +101,6 @@ function getColumnsByTableBigQuery(bigQuery, schemaName, tableName) {
99
101
  return rows[0].map((row) => row.column_name);
100
102
  });
101
103
  }
102
- exports.getColumnsByTableBigQuery = getColumnsByTableBigQuery;
103
104
  function getForeignKeysBigQuery(connection, schemaName, tableName, primaryKey) {
104
105
  return __awaiter(this, void 0, void 0, function* () {
105
106
  const depluralizedTableName = (0, textProcessing_1.depluralize)(tableName);
@@ -131,7 +132,6 @@ function getForeignKeysBigQuery(connection, schemaName, tableName, primaryKey) {
131
132
  return foreignKeysString;
132
133
  });
133
134
  }
134
- exports.getForeignKeysBigQuery = getForeignKeysBigQuery;
135
135
  function getSchemaColumnInfoBigQuery(connection, schemaName, tableNames) {
136
136
  return __awaiter(this, void 0, void 0, function* () {
137
137
  const allColumns = yield Promise.all(tableNames.map((tableName) => __awaiter(this, void 0, void 0, function* () {
@@ -156,7 +156,6 @@ function getSchemaColumnInfoBigQuery(connection, schemaName, tableNames) {
156
156
  return allColumns;
157
157
  });
158
158
  }
159
- exports.getSchemaColumnInfoBigQuery = getSchemaColumnInfoBigQuery;
160
159
  function convertBigQueryTypeToPostgresOID(type) {
161
160
  const typeToOidMap = {
162
161
  VARCHAR: 1043,
@@ -1 +1 @@
1
- {"version":3,"file":"BigQuery.js","sourceRoot":"","sources":["../../../src/db/BigQuery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BigQuery.js","sourceRoot":"","sources":["../../../src/db/BigQuery.ts"],"names":[],"mappings":"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"}
@@ -4,15 +4,16 @@ import { PostgresConnectionConfig } from "./Postgres";
4
4
  import { SnowflakeConnectionConfig } from "./Snowflake";
5
5
  import { BigQueryConfig } from "./BigQuery";
6
6
  import { MysqlConnectionConfig } from "./Mysql";
7
+ import { ClickHouseConnectionConfig } from "./ClickHouse";
7
8
  export declare class CachedConnection {
8
- databaseType: "postgresql" | "snowflake" | "bigquery" | "mysql";
9
+ databaseType: "postgresql" | "snowflake" | "bigquery" | "mysql" | "clickhouse";
9
10
  readonly pool: DatabaseConnection;
10
11
  orgId: string | string[] | null;
11
12
  ttl: number;
12
13
  cache: Mappable | null;
13
14
  private _isClosed;
14
15
  get isClosed(): boolean;
15
- constructor(databaseType: "postgresql" | "snowflake" | "bigquery" | "mysql", config: PostgresConnectionConfig | SnowflakeConnectionConfig | BigQueryConfig | MysqlConnectionConfig, cacheConfig?: Partial<CacheCredentials>);
16
+ constructor(databaseType: "postgresql" | "snowflake" | "bigquery" | "mysql" | "clickhouse", config: PostgresConnectionConfig | SnowflakeConnectionConfig | BigQueryConfig | MysqlConnectionConfig | ClickHouseConnectionConfig, cacheConfig?: Partial<CacheCredentials>);
16
17
  query(text: string): Promise<any>;
17
18
  /**
18
19
  * Configures and returns a cache instance or null if none could be created.
@@ -1 +1 @@
1
- {"version":3,"file":"CachedConnection.js","sourceRoot":"","sources":["../../../src/db/CachedConnection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CachedConnection.js","sourceRoot":"","sources":["../../../src/db/CachedConnection.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ import { ClickHouseClient } from "@clickhouse/client";
2
+ import { QuillQueryResults } from "./DatabaseHelper";
3
+ export type ClickHouseConnectionConfig = {
4
+ url: string;
5
+ username: string;
6
+ password: string;
7
+ };
8
+ export declare function connectToClickHouse(config: ClickHouseConnectionConfig): ClickHouseClient;
9
+ export declare function disconnectFromClickHouse(client: ClickHouseClient): void;
10
+ export declare function runQueryClickHouse(sql: string, client: ClickHouseClient): Promise<QuillQueryResults>;
11
+ export declare function getSchemasClickHouse(client: ClickHouseClient): Promise<string[]>;
12
+ export declare function getTablesBySchemaClickHouse(client: ClickHouseClient, schemaNames: string[]): Promise<{
13
+ tableName: string;
14
+ schemaName: string;
15
+ }[]>;
16
+ export declare function getColumnsByTableClickHouse(client: ClickHouseClient, schemaName: string, tableName: string): Promise<string[]>;
17
+ export declare function getForeignKeysClickHouse(client: ClickHouseClient, schemaName: string, tableName: string, primaryKey: string): Promise<string[]>;
18
+ export declare function getSchemaColumnInfoClickHouse(client: ClickHouseClient, schemaName: string, tableNames: {
19
+ tableName: string;
20
+ schemaName: string;
21
+ }[]): Promise<{
22
+ tableName: string;
23
+ columns: {
24
+ columnName: string;
25
+ dataTypeID: number;
26
+ }[];
27
+ }[]>;
28
+ export declare function formatClickHouseConfig(connectionString: string): ClickHouseConnectionConfig;
@@ -0,0 +1,305 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.connectToClickHouse = connectToClickHouse;
13
+ exports.disconnectFromClickHouse = disconnectFromClickHouse;
14
+ exports.runQueryClickHouse = runQueryClickHouse;
15
+ exports.getSchemasClickHouse = getSchemasClickHouse;
16
+ exports.getTablesBySchemaClickHouse = getTablesBySchemaClickHouse;
17
+ exports.getColumnsByTableClickHouse = getColumnsByTableClickHouse;
18
+ exports.getForeignKeysClickHouse = getForeignKeysClickHouse;
19
+ exports.getSchemaColumnInfoClickHouse = getSchemaColumnInfoClickHouse;
20
+ exports.formatClickHouseConfig = formatClickHouseConfig;
21
+ // import { Pool, types } from "pg";
22
+ const client_1 = require("@clickhouse/client");
23
+ const textProcessing_1 = require("../utils/textProcessing");
24
+ // Parse type TIMESTAMP WITHOUT TIME ZONE as string so it doesn't get converted to a Date object
25
+ // types.setTypeParser(1114, function (val) {
26
+ // return val;
27
+ // });
28
+ const CLICKHOUSE_PG_TYPE_MAP = {
29
+ // Signed Integer Types and Aliases
30
+ 'Int8': 21,
31
+ 'TINYINT': 21,
32
+ 'INT1': 21,
33
+ 'BYTE': 21,
34
+ 'TINYINT SIGNED': 21,
35
+ 'INT1 SIGNED': 21,
36
+ 'Int16': 21,
37
+ 'SMALLINT': 21,
38
+ 'SMALLINT SIGNED': 21,
39
+ 'Int32': 23,
40
+ 'INT': 23,
41
+ 'INTEGER': 23,
42
+ 'MEDIUMINT': 23,
43
+ 'MEDIUMINT SIGNED': 23,
44
+ 'INT SIGNED': 23,
45
+ 'INTEGER SIGNED': 23,
46
+ 'Int64': 20,
47
+ 'BIGINT': 20,
48
+ 'SIGNED': 20,
49
+ 'BIGINT SIGNED': 20,
50
+ 'TIME': 20,
51
+ // Unsigned Integer Types and Aliases
52
+ 'UInt8': 21,
53
+ 'TINYINT UNSIGNED': 21,
54
+ 'INT1 UNSIGNED': 21,
55
+ 'UInt16': 21,
56
+ 'SMALLINT UNSIGNED': 21,
57
+ 'UInt32': 23,
58
+ 'MEDIUMINT UNSIGNED': 23,
59
+ 'INT UNSIGNED': 23,
60
+ 'INTEGER UNSIGNED': 23,
61
+ 'UInt64': 20,
62
+ 'UNSIGNED': 20,
63
+ 'BIGINT UNSIGNED': 20,
64
+ 'BIT': 20,
65
+ 'SET': 20,
66
+ // Floating Point Types and Aliases
67
+ 'Float32': 700,
68
+ 'FLOAT': 700,
69
+ 'REAL': 700,
70
+ 'SINGLE': 700,
71
+ 'Float64': 701,
72
+ 'DOUBLE': 701,
73
+ 'DOUBLE PRECISION': 701,
74
+ 'BFloat16': 700, // Mapped to REAL as closest approximation
75
+ // Decimal Types
76
+ 'Decimal': 1700,
77
+ 'Decimal32': 1700,
78
+ 'Decimal64': 1700,
79
+ 'Decimal128': 1700,
80
+ 'Decimal256': 1700,
81
+ // Boolean Type
82
+ 'Bool': 16,
83
+ // String Types and Aliases
84
+ 'String': 25,
85
+ 'LONGTEXT': 25,
86
+ 'MEDIUMTEXT': 25,
87
+ 'TINYTEXT': 25,
88
+ 'TEXT': 25,
89
+ 'LONGBLOB': 25,
90
+ 'MEDIUMBLOB': 25,
91
+ 'TINYBLOB': 25,
92
+ 'BLOB': 25,
93
+ 'VARCHAR': 1043,
94
+ 'CHAR': 1042,
95
+ 'CHAR LARGE OBJECT': 25,
96
+ 'CHAR VARYING': 1043,
97
+ 'CHARACTER LARGE OBJECT': 25,
98
+ 'CHARACTER VARYING': 1043,
99
+ 'NCHAR LARGE OBJECT': 25,
100
+ 'NCHAR VARYING': 1043,
101
+ 'NATIONAL CHARACTER LARGE OBJECT': 25,
102
+ 'NATIONAL CHARACTER VARYING': 1043,
103
+ 'NATIONAL CHAR VARYING': 1043,
104
+ 'NATIONAL CHARACTER': 1042,
105
+ 'NATIONAL CHAR': 1042,
106
+ 'BINARY LARGE OBJECT': 17,
107
+ 'BINARY VARYING': 17,
108
+ // Fixed String
109
+ 'FixedString': 1042,
110
+ // Identifier Types
111
+ 'UUID': 2950,
112
+ // Date and Time Types
113
+ 'Date': 1082,
114
+ 'Date32': 1082,
115
+ 'DateTime': 1184,
116
+ 'DateTime64': 1184,
117
+ // Array Types
118
+ 'Array': 2277,
119
+ // JSON-like Types
120
+ 'JSON': 3802,
121
+ 'Nested': 3802,
122
+ // Binary Types
123
+ 'IPv4': 1043,
124
+ 'IPv6': 1043,
125
+ // Enum Types
126
+ 'Enum8': 1043,
127
+ 'Enum16': 1043,
128
+ // Geospatial-like Types
129
+ 'Point': 25,
130
+ 'Ring': 25,
131
+ 'Polygon': 25,
132
+ // Specialized Types
133
+ 'Nothing': 25,
134
+ 'Interval': 1186,
135
+ };
136
+ function parseClickHouseType(type) {
137
+ // Remove whitespace and handle common variations
138
+ const normalizedType = type.trim().replace(/\s+/g, ' ');
139
+ // Handle Nullable types
140
+ if (normalizedType.startsWith('Nullable(')) {
141
+ const innerType = normalizedType.slice(9, -1);
142
+ return parseClickHouseType(innerType);
143
+ }
144
+ // Handle Array types
145
+ if (normalizedType.startsWith('Array(')) {
146
+ return CLICKHOUSE_PG_TYPE_MAP['Array'];
147
+ }
148
+ // Handle Enum types
149
+ if (normalizedType.startsWith('Enum8(')) {
150
+ return CLICKHOUSE_PG_TYPE_MAP['Enum8'];
151
+ }
152
+ if (normalizedType.startsWith('Enum16(')) {
153
+ return CLICKHOUSE_PG_TYPE_MAP['Enum16'];
154
+ }
155
+ // Handle DateTime with timezone
156
+ if (normalizedType.startsWith('DateTime(')) {
157
+ return CLICKHOUSE_PG_TYPE_MAP['DateTime'];
158
+ }
159
+ // Handle FixedString
160
+ if (normalizedType.startsWith('FixedString(')) {
161
+ return CLICKHOUSE_PG_TYPE_MAP['FixedString'];
162
+ }
163
+ // Handle LowCardinality
164
+ if (normalizedType.startsWith('LowCardinality(')) {
165
+ const innerType = normalizedType.slice(15, -1);
166
+ return parseClickHouseType(innerType);
167
+ }
168
+ // Direct lookup (case-insensitive)
169
+ const lookupType = Object.keys(CLICKHOUSE_PG_TYPE_MAP).find(key => key.toLowerCase() === normalizedType.toLowerCase());
170
+ if (lookupType) {
171
+ return CLICKHOUSE_PG_TYPE_MAP[lookupType];
172
+ }
173
+ console.warn(`Unknown ClickHouse type: ${type}. Defaulting to VARCHAR.`);
174
+ return 1043; // Default to Varchar
175
+ }
176
+ function connectToClickHouse(config) {
177
+ const client = (0, client_1.createClient)(config);
178
+ return client;
179
+ }
180
+ function disconnectFromClickHouse(client) {
181
+ client.close();
182
+ }
183
+ function runQueryClickHouse(sql, client) {
184
+ return __awaiter(this, void 0, void 0, function* () {
185
+ var _a;
186
+ const results = yield client.query({
187
+ query: sql,
188
+ format: "JSON",
189
+ });
190
+ const data = yield results.json();
191
+ // Extract column metadata
192
+ const fields = ((_a = data === null || data === void 0 ? void 0 : data.meta) === null || _a === void 0 ? void 0 : _a.map((field) => ({
193
+ name: field.name,
194
+ dataTypeID: parseClickHouseType(field.type),
195
+ }))) || [];
196
+ return {
197
+ fields, // Column metadata
198
+ rows: data.data, // Query result rows
199
+ };
200
+ });
201
+ }
202
+ function getSchemasClickHouse(client) {
203
+ return __awaiter(this, void 0, void 0, function* () {
204
+ const sql = `SELECT DISTINCT database AS schema_name
205
+ FROM system.tables
206
+ WHERE LOWER(database) NOT IN ('system', 'information_schema')`;
207
+ const results = yield runQueryClickHouse(sql, client);
208
+ return results.rows.map((row) => row.schema_name);
209
+ });
210
+ }
211
+ function getTablesBySchemaClickHouse(client, schemaNames) {
212
+ return __awaiter(this, void 0, void 0, function* () {
213
+ const allTables = yield Promise.all(schemaNames.map((schema) => __awaiter(this, void 0, void 0, function* () {
214
+ const sql = `SELECT name as table_name, database as table_schema
215
+ FROM system.tables
216
+ WHERE database = '${schema}'`;
217
+ const results = yield runQueryClickHouse(sql, client);
218
+ return results.rows.map((row) => ({
219
+ tableName: row.table_name,
220
+ schemaName: row.table_schema
221
+ }));
222
+ })));
223
+ return allTables.flat();
224
+ });
225
+ }
226
+ function getColumnsByTableClickHouse(client, schemaName, tableName) {
227
+ return __awaiter(this, void 0, void 0, function* () {
228
+ const sql = `SELECT name as column_name
229
+ FROM system.columns
230
+ WHERE database = '${schemaName}' AND table = '${tableName}'`;
231
+ const results = yield runQueryClickHouse(sql, client);
232
+ return results.rows.map((row) => row.column_name);
233
+ });
234
+ }
235
+ function getForeignKeysClickHouse(client, schemaName, tableName, primaryKey) {
236
+ return __awaiter(this, void 0, void 0, function* () {
237
+ const depluralizedTableName = (0, textProcessing_1.depluralize)(tableName);
238
+ let sql = `SELECT column_name FROM information_schema.columns
239
+ WHERE table_schema = '${schemaName}'
240
+ and table_name != '${tableName}'
241
+ and (column_name = '${primaryKey}'
242
+ or column_name = '${depluralizedTableName}_${primaryKey}'
243
+ or column_name = '${depluralizedTableName}${(0, textProcessing_1.capitalize)(primaryKey)}')`;
244
+ const results = yield runQueryClickHouse(sql, client);
245
+ let foreignKeysString = results.rows.map((key) => {
246
+ return key.column_name;
247
+ });
248
+ foreignKeysString = foreignKeysString.filter((key) => key !== "id" && key !== "_id_");
249
+ foreignKeysString = [...new Set(foreignKeysString)];
250
+ if (foreignKeysString.length === 0) {
251
+ sql = `SELECT column_name FROM information_schema.columns
252
+ WHERE table_schema = '${schemaName}'
253
+ and table_name != '${tableName}'
254
+ and (column_name like '${tableName}%'
255
+ or column_name like '%\\_id'
256
+ or column_name like '%Id'
257
+ or column_name like '%\\_${primaryKey}'
258
+ or column_name like '%${(0, textProcessing_1.capitalize)(primaryKey)}')`;
259
+ const results = yield runQueryClickHouse(sql, client);
260
+ foreignKeysString = results.rows.map((key) => {
261
+ return key.column_name;
262
+ });
263
+ foreignKeysString = [...new Set(foreignKeysString)];
264
+ }
265
+ return foreignKeysString;
266
+ });
267
+ }
268
+ function getSchemaColumnInfoClickHouse(client, schemaName, tableNames) {
269
+ return __awaiter(this, void 0, void 0, function* () {
270
+ const allColumns = yield Promise.all(tableNames.map((tableName) => __awaiter(this, void 0, void 0, function* () {
271
+ const query = `
272
+ SELECT
273
+ name as "columnName",
274
+ type as "fieldType"
275
+ FROM system.columns
276
+ WHERE database = '${tableName.schemaName}'
277
+ AND table = '${tableName.tableName}'
278
+ `;
279
+ const results = yield runQueryClickHouse(query, client);
280
+ return {
281
+ tableName: `${tableName.schemaName}.${tableName.tableName}`,
282
+ displayName: `${tableName.schemaName}.${tableName.tableName}`,
283
+ columns: results.rows.map((row) => {
284
+ const typeOid = parseClickHouseType(row.fieldType); // Default to text/varchar
285
+ return {
286
+ columnName: row.columnName,
287
+ displayName: row.columnName,
288
+ dataTypeID: typeOid,
289
+ fieldType: row.fieldType,
290
+ };
291
+ }),
292
+ };
293
+ })));
294
+ return allColumns;
295
+ });
296
+ }
297
+ function formatClickHouseConfig(connectionString) {
298
+ const parsed = new URL(connectionString);
299
+ return {
300
+ url: `${parsed.protocol}//${parsed.hostname}:${parsed.port}`, // Base URL without credentials
301
+ username: parsed.username || 'default', // Default to 'default' if not provided
302
+ password: parsed.password || '', // Default to empty password if not provided
303
+ };
304
+ }
305
+ //# sourceMappingURL=ClickHouse.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ClickHouse.js","sourceRoot":"","sources":["../../../src/db/ClickHouse.ts"],"names":[],"mappings":"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"}
@@ -2,11 +2,13 @@ import { Pool } from "pg";
2
2
  import snowflake from "snowflake-sdk";
3
3
  import { Pool as MysqlPool } from "mysql2";
4
4
  import { BigQuery } from "@google-cloud/bigquery";
5
+ import { ClickHouseClient } from "@clickhouse/client";
5
6
  import { PostgresConnectionConfig } from "./Postgres";
6
7
  import { SnowflakeConnectionConfig } from "./Snowflake";
7
8
  import { BigQueryConfig } from "./BigQuery";
8
9
  import { MysqlConnectionConfig } from "./Mysql";
9
- export type DatabaseConnection = Pool | snowflake.Connection | BigQuery | MysqlPool;
10
+ import { ClickHouseConnectionConfig } from "./ClickHouse";
11
+ export type DatabaseConnection = Pool | snowflake.Connection | BigQuery | MysqlPool | ClickHouseClient;
10
12
  export interface QuillQueryResults {
11
13
  fields: {
12
14
  name: string;
@@ -16,20 +18,20 @@ export interface QuillQueryResults {
16
18
  [fieldName: string]: any;
17
19
  }[];
18
20
  }
19
- export declare function getDatabaseCredentials(databaseType: "postgresql" | "snowflake" | "bigquery" | "mysql", connectionString: string): PostgresConnectionConfig | SnowflakeConnectionConfig | BigQueryConfig | MysqlConnectionConfig;
20
- export declare function connectToDatabase(databaseType: "postgresql" | "snowflake" | "bigquery" | "mysql", config: PostgresConnectionConfig | SnowflakeConnectionConfig | BigQueryConfig | MysqlConnectionConfig): DatabaseConnection;
21
- export declare function withConnection<T>(databaseType: "postgresql" | "snowflake" | "bigquery" | "mysql", connectionString: string, callback: (connection: DatabaseConnection) => T): Promise<T>;
22
- export declare function runQueryByDatabase(databaseType: "postgresql" | "snowflake" | "bigquery" | "mysql", connection: DatabaseConnection, sql: string): Promise<QuillQueryResults> | undefined;
23
- export declare function connectAndRunQuery(databaseType: "postgresql" | "snowflake" | "bigquery" | "mysql", connectionString: string, sql: string): Promise<QuillQueryResults | undefined>;
24
- export declare function disconnectFromDatabase(databaseType: "postgresql" | "snowflake" | "bigquery" | "mysql", database: DatabaseConnection): void | Promise<void>;
25
- export declare function getSchemasByDatabase(databaseType: "postgresql" | "snowflake" | "bigquery" | "mysql", connection: DatabaseConnection): Promise<string[] | undefined>;
26
- export declare function getTablesBySchemaByDatabase(databaseType: "postgresql" | "snowflake" | "bigquery" | "mysql", connection: DatabaseConnection, schemaName: string | string[]): Promise<string[] | {
21
+ export declare function getDatabaseCredentials(databaseType: "postgresql" | "snowflake" | "bigquery" | "mysql" | "clickhouse", connectionString: string): PostgresConnectionConfig | SnowflakeConnectionConfig | BigQueryConfig | MysqlConnectionConfig | ClickHouseConnectionConfig;
22
+ export declare function connectToDatabase(databaseType: "postgresql" | "snowflake" | "bigquery" | "mysql" | "clickhouse", config: PostgresConnectionConfig | SnowflakeConnectionConfig | BigQueryConfig | MysqlConnectionConfig | ClickHouseConnectionConfig): DatabaseConnection;
23
+ export declare function withConnection<T>(databaseType: "postgresql" | "snowflake" | "bigquery" | "mysql" | "clickhouse", connectionString: string, callback: (connection: DatabaseConnection) => T): Promise<T>;
24
+ export declare function runQueryByDatabase(databaseType: "postgresql" | "snowflake" | "bigquery" | "mysql" | "clickhouse", connection: DatabaseConnection, sql: string): Promise<QuillQueryResults> | undefined;
25
+ export declare function connectAndRunQuery(databaseType: "postgresql" | "snowflake" | "bigquery" | "mysql" | "clickhouse", connectionString: string, sql: string): Promise<QuillQueryResults | undefined>;
26
+ export declare function disconnectFromDatabase(databaseType: "postgresql" | "snowflake" | "bigquery" | "mysql" | "clickhouse", database: DatabaseConnection): void | Promise<void>;
27
+ export declare function getSchemasByDatabase(databaseType: "postgresql" | "snowflake" | "bigquery" | "mysql" | "clickhouse", connection: DatabaseConnection): Promise<string[] | undefined>;
28
+ export declare function getTablesBySchemaByDatabase(databaseType: "postgresql" | "snowflake" | "bigquery" | "mysql" | "clickhouse", connection: DatabaseConnection, schemaName: string | string[]): Promise<string[] | {
27
29
  tableName: string;
28
30
  schemaName: string;
29
31
  }[] | undefined>;
30
- export declare function getColumnsByTableByDatabase(databaseType: "postgresql" | "snowflake" | "bigquery" | "mysql", connection: DatabaseConnection, schemaName: string, tableName: string): Promise<string[] | undefined>;
31
- export declare function getForeignKeysByDatabase(databaseType: "postgresql" | "snowflake" | "bigquery" | "mysql", connection: DatabaseConnection, schemaName: string, tableName: string, primaryKey: string): Promise<string[] | undefined>;
32
- export declare function getColumnInfoBySchemaByDatabase(databaseType: "postgresql" | "snowflake" | "bigquery" | "mysql", connection: DatabaseConnection, schemaName: string, tables: string[] | {
32
+ export declare function getColumnsByTableByDatabase(databaseType: "postgresql" | "snowflake" | "bigquery" | "mysql" | "clickhouse", connection: DatabaseConnection, schemaName: string, tableName: string): Promise<string[] | undefined>;
33
+ export declare function getForeignKeysByDatabase(databaseType: "postgresql" | "snowflake" | "bigquery" | "mysql" | "clickhouse", connection: DatabaseConnection, schemaName: string, tableName: string, primaryKey: string): Promise<string[] | undefined>;
34
+ export declare function getColumnInfoBySchemaByDatabase(databaseType: "postgresql" | "snowflake" | "bigquery" | "mysql" | "clickhouse", connection: DatabaseConnection, schemaName: string, tables: string[] | {
33
35
  tableName: string;
34
36
  schemaName: string;
35
37
  }[]): Promise<{