@chkit/clickhouse 0.1.0-beta.2 → 0.1.0-beta.20

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 ADDED
@@ -0,0 +1,25 @@
1
+ # @chkit/clickhouse
2
+
3
+ ClickHouse client wrapper used internally by chkit.
4
+
5
+ Part of the [chkit](https://github.com/obsessiondb/chkit) monorepo.
6
+
7
+ > **Note:** This is an internal package. You typically don't need to install it directly -- it's used by [`chkit`](https://www.npmjs.com/package/chkit) and other chkit packages.
8
+
9
+ ## Getting Started
10
+
11
+ To get started with chkit, install the CLI:
12
+
13
+ ```bash
14
+ bun add -d chkit
15
+ ```
16
+
17
+ See the [`chkit` CLI package](https://www.npmjs.com/package/chkit) for usage instructions.
18
+
19
+ ## Documentation
20
+
21
+ See the [chkit documentation](https://chkit.obsessiondb.com).
22
+
23
+ ## License
24
+
25
+ [MIT](../../LICENSE)
@@ -1 +1 @@
1
- {"version":3,"file":"create-table-parser.d.ts","sourceRoot":"","sources":["../src/create-table-parser.ts"],"names":[],"mappings":"AAEA,UAAU,yBAAyB;IACjC,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;CACd;AAuGD,wBAAgB,iCAAiC,CAAC,gBAAgB,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAiB9G;AAED,wBAAgB,4BAA4B,CAAC,gBAAgB,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAMrG;AAED,wBAAgB,+BAA+B,CAAC,gBAAgB,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAMxG;AAED,wBAAgB,mCAAmC,CACjD,gBAAgB,EAAE,MAAM,GAAG,SAAS,GACnC,MAAM,GAAG,SAAS,CAMpB;AAED,wBAAgB,gCAAgC,CAAC,gBAAgB,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAMzG;AAED,wBAAgB,oCAAoC,CAClD,gBAAgB,EAAE,MAAM,GAAG,SAAS,GACnC,MAAM,GAAG,SAAS,CAMpB;AAED,wBAAgB,kCAAkC,CAChD,gBAAgB,EAAE,MAAM,GAAG,SAAS,GACnC,MAAM,GAAG,SAAS,CAMpB;AAED,wBAAgB,oCAAoC,CAClD,gBAAgB,EAAE,MAAM,GAAG,SAAS,GACnC,yBAAyB,EAAE,CAgB7B"}
1
+ {"version":3,"file":"create-table-parser.d.ts","sourceRoot":"","sources":["../src/create-table-parser.ts"],"names":[],"mappings":"AAEA,UAAU,yBAAyB;IACjC,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;CACd;AA0DD,wBAAgB,iCAAiC,CAAC,gBAAgB,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAiB9G;AAED,wBAAgB,4BAA4B,CAAC,gBAAgB,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAMrG;AAED,wBAAgB,+BAA+B,CAAC,gBAAgB,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAMxG;AAED,wBAAgB,mCAAmC,CACjD,gBAAgB,EAAE,MAAM,GAAG,SAAS,GACnC,MAAM,GAAG,SAAS,CAMpB;AAED,wBAAgB,gCAAgC,CAAC,gBAAgB,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAMzG;AAED,wBAAgB,oCAAoC,CAClD,gBAAgB,EAAE,MAAM,GAAG,SAAS,GACnC,MAAM,GAAG,SAAS,CAMpB;AAED,wBAAgB,kCAAkC,CAChD,gBAAgB,EAAE,MAAM,GAAG,SAAS,GACnC,MAAM,GAAG,SAAS,CAMpB;AAED,wBAAgB,oCAAoC,CAClD,gBAAgB,EAAE,MAAM,GAAG,SAAS,GACnC,yBAAyB,EAAE,CAgB7B"}
@@ -1,51 +1,4 @@
1
- import { normalizeSQLFragment } from '@chkit/core';
2
- function splitTopLevelCommaSeparated(input) {
3
- const out = [];
4
- let current = '';
5
- let depth = 0;
6
- let inString = false;
7
- let stringQuote = "'";
8
- for (let i = 0; i < input.length; i += 1) {
9
- const char = input[i];
10
- if (!char)
11
- continue;
12
- if (inString) {
13
- current += char;
14
- if (char === stringQuote && input[i - 1] !== '\\') {
15
- inString = false;
16
- }
17
- continue;
18
- }
19
- if (char === "'" || char === '"') {
20
- inString = true;
21
- stringQuote = char;
22
- current += char;
23
- continue;
24
- }
25
- if (char === '(') {
26
- depth += 1;
27
- current += char;
28
- continue;
29
- }
30
- if (char === ')') {
31
- depth = Math.max(0, depth - 1);
32
- current += char;
33
- continue;
34
- }
35
- if (char === ',' && depth === 0) {
36
- const chunk = current.trim();
37
- if (chunk.length > 0)
38
- out.push(chunk);
39
- current = '';
40
- continue;
41
- }
42
- current += char;
43
- }
44
- const last = current.trim();
45
- if (last.length > 0)
46
- out.push(last);
47
- return out;
48
- }
1
+ import { normalizeSQLFragment, splitTopLevelComma } from '@chkit/core';
49
2
  function parseClauseFromCreateTableQuery(createTableQuery, clausePattern, stopPattern) {
50
3
  if (!createTableQuery)
51
4
  return undefined;
@@ -110,7 +63,7 @@ export function parseSettingsFromCreateTableQuery(createTableQuery) {
110
63
  const rawSettings = settingsMatch[1].trim();
111
64
  if (!rawSettings)
112
65
  return {};
113
- const items = splitTopLevelCommaSeparated(rawSettings);
66
+ const items = splitTopLevelComma(rawSettings);
114
67
  const out = {};
115
68
  for (const item of items) {
116
69
  const eq = item.indexOf('=');
@@ -152,7 +105,7 @@ export function parseProjectionsFromCreateTableQuery(createTableQuery) {
152
105
  const body = extractCreateTableBody(createTableQuery);
153
106
  if (!body)
154
107
  return [];
155
- const parts = splitTopLevelCommaSeparated(body);
108
+ const parts = splitTopLevelComma(body);
156
109
  const projections = [];
157
110
  for (const part of parts) {
158
111
  const match = part.match(/^\s*PROJECTION\s+(`([^`]+)`|([A-Za-z_][A-Za-z0-9_]*))\s*\(([\s\S]*)\)\s*$/i);
@@ -1 +1 @@
1
- {"version":3,"file":"create-table-parser.js","sourceRoot":"","sources":["../src/create-table-parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create-table-parser.js","sourceRoot":"","sources":["../src/create-table-parser.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import type { ClickHouseExecutor } from './index.js';
2
+ export declare function waitForTable(executor: ClickHouseExecutor, database: string, tableName: string): Promise<void>;
3
+ export declare function waitForView(executor: ClickHouseExecutor, database: string, viewName: string): Promise<void>;
4
+ export declare function waitForColumn(executor: ClickHouseExecutor, database: string, tableName: string, columnName: string): Promise<void>;
5
+ export declare function waitForTableAbsent(executor: ClickHouseExecutor, database: string, tableName: string): Promise<void>;
6
+ /**
7
+ * Waits for DDL propagation based on the operation type and key.
8
+ * Called after each DDL statement in the migration execution loop.
9
+ */
10
+ export declare function waitForDDLPropagation(executor: ClickHouseExecutor, operationType: string, operationKey: string): Promise<void>;
11
+ //# sourceMappingURL=ddl-propagation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ddl-propagation.d.ts","sourceRoot":"","sources":["../src/ddl-propagation.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAIpD,wBAAsB,YAAY,CAChC,QAAQ,EAAE,kBAAkB,EAC5B,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,IAAI,CAAC,CASf;AAED,wBAAsB,WAAW,CAC/B,QAAQ,EAAE,kBAAkB,EAC5B,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC,CASf;AAED,wBAAsB,aAAa,CACjC,QAAQ,EAAE,kBAAkB,EAC5B,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC,CAWf;AAED,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,kBAAkB,EAC5B,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,IAAI,CAAC,CAWf;AAwBD;;;GAGG;AACH,wBAAsB,qBAAqB,CACzC,QAAQ,EAAE,kBAAkB,EAC5B,aAAa,EAAE,MAAM,EACrB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,IAAI,CAAC,CAsCf"}
@@ -0,0 +1,80 @@
1
+ import pRetry from 'p-retry';
2
+ const RETRY_OPTIONS = { retries: 20, minTimeout: 500, factor: 1 };
3
+ export async function waitForTable(executor, database, tableName) {
4
+ await pRetry(async () => {
5
+ const rows = await executor.query(`SELECT 1 AS x FROM system.tables WHERE database = '${database}' AND name = '${tableName}'`);
6
+ if (rows.length === 0) {
7
+ throw new Error(`waitForTable: ${database}.${tableName} not yet visible`);
8
+ }
9
+ }, RETRY_OPTIONS);
10
+ }
11
+ export async function waitForView(executor, database, viewName) {
12
+ await pRetry(async () => {
13
+ const rows = await executor.query(`SELECT 1 AS x FROM system.tables WHERE database = '${database}' AND name = '${viewName}' AND engine LIKE '%View%'`);
14
+ if (rows.length === 0) {
15
+ throw new Error(`waitForView: ${database}.${viewName} not yet visible`);
16
+ }
17
+ }, RETRY_OPTIONS);
18
+ }
19
+ export async function waitForColumn(executor, database, tableName, columnName) {
20
+ await pRetry(async () => {
21
+ const rows = await executor.query(`SELECT 1 AS x FROM system.columns WHERE database = '${database}' AND table = '${tableName}' AND name = '${columnName}'`);
22
+ if (rows.length === 0) {
23
+ throw new Error(`waitForColumn: ${database}.${tableName}.${columnName} not yet visible`);
24
+ }
25
+ }, RETRY_OPTIONS);
26
+ }
27
+ export async function waitForTableAbsent(executor, database, tableName) {
28
+ await pRetry(async () => {
29
+ const rows = await executor.query(`SELECT 1 AS x FROM system.tables WHERE database = '${database}' AND name = '${tableName}'`);
30
+ if (rows.length > 0) {
31
+ throw new Error(`waitForTableAbsent: ${database}.${tableName} still present`);
32
+ }
33
+ }, RETRY_OPTIONS);
34
+ }
35
+ /**
36
+ * Parses an operation key like "table:app.users" or "table:app.users:column:name"
37
+ * into its components.
38
+ */
39
+ function parseOperationKey(key) {
40
+ const tableMatch = key.match(/^table:([^.]+)\.([^:]+)/);
41
+ if (!tableMatch)
42
+ return undefined;
43
+ // biome-ignore lint/style/noNonNullAssertion: capture groups guaranteed by regex match
44
+ const database = tableMatch[1];
45
+ // biome-ignore lint/style/noNonNullAssertion: capture groups guaranteed by regex match
46
+ const table = tableMatch[2];
47
+ const columnMatch = key.match(/:column:([^:]+)/);
48
+ return { database, table, column: columnMatch?.[1] };
49
+ }
50
+ /**
51
+ * Waits for DDL propagation based on the operation type and key.
52
+ * Called after each DDL statement in the migration execution loop.
53
+ */
54
+ export async function waitForDDLPropagation(executor, operationType, operationKey) {
55
+ const parsed = parseOperationKey(operationKey);
56
+ if (!parsed)
57
+ return; // database-level ops or unrecognized keys — no wait needed
58
+ switch (operationType) {
59
+ case 'create_table':
60
+ return waitForTable(executor, parsed.database, parsed.table);
61
+ case 'create_view':
62
+ case 'create_materialized_view':
63
+ return waitForView(executor, parsed.database, parsed.table);
64
+ case 'alter_table_add_column':
65
+ case 'alter_table_modify_column':
66
+ if (parsed.column) {
67
+ return waitForColumn(executor, parsed.database, parsed.table, parsed.column);
68
+ }
69
+ return;
70
+ case 'drop_table':
71
+ case 'drop_view':
72
+ case 'drop_materialized_view':
73
+ return waitForTableAbsent(executor, parsed.database, parsed.table);
74
+ default:
75
+ // alter_table_add_index, alter_table_modify_setting, etc.
76
+ // Wait for the table to exist as a basic sanity check.
77
+ return waitForTable(executor, parsed.database, parsed.table);
78
+ }
79
+ }
80
+ //# sourceMappingURL=ddl-propagation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ddl-propagation.js","sourceRoot":"","sources":["../src/ddl-propagation.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,15 +1,68 @@
1
1
  import { type ChxConfig, type ColumnDefinition, type ProjectionDefinition, type SkipIndexDefinition } from '@chkit/core';
2
+ export interface QueryStatus {
3
+ status: 'running' | 'finished' | 'failed' | 'unknown';
4
+ readRows?: number;
5
+ readBytes?: number;
6
+ writtenRows?: number;
7
+ writtenBytes?: number;
8
+ elapsedMs?: number;
9
+ durationMs?: number;
10
+ error?: string;
11
+ }
2
12
  export interface ClickHouseExecutor {
3
- execute(sql: string): Promise<void>;
13
+ command(sql: string): Promise<void>;
4
14
  query<T>(sql: string): Promise<T[]>;
15
+ insert<T extends Record<string, unknown>>(params: {
16
+ table: string;
17
+ values: T[];
18
+ }): Promise<void>;
5
19
  listSchemaObjects(): Promise<SchemaObjectRef[]>;
6
20
  listTableDetails(databases: string[]): Promise<IntrospectedTable[]>;
21
+ /** Submit a query asynchronously. ClickHouse accepts the query and processes it server-side.
22
+ * Returns immediately without waiting for completion.
23
+ * @param sql - The SQL to execute
24
+ * @param queryId - Optional deterministic query_id (useful for resumability). Auto-generated if omitted.
25
+ * @returns The query_id assigned to this query. */
26
+ submit(sql: string, queryId?: string): Promise<string>;
27
+ /** Check the status of a previously submitted query.
28
+ * Checks system.processes first (running?), then system.query_log (finished/failed?).
29
+ * @param queryId - The query_id returned by submit()
30
+ * @param options.afterTime - Only consider query_log entries for queries started at or after this ISO timestamp.
31
+ * Useful when resubmitting with the same query_id to ignore stale entries from previous attempts. */
32
+ queryStatus(queryId: string, options?: {
33
+ afterTime?: string;
34
+ }): Promise<QueryStatus>;
35
+ close(): Promise<void>;
7
36
  }
8
37
  export interface SchemaObjectRef {
9
38
  kind: 'table' | 'view' | 'materialized_view';
10
39
  database: string;
11
40
  name: string;
12
41
  }
42
+ export interface SystemTableRow {
43
+ database: string;
44
+ name: string;
45
+ engine: string;
46
+ create_table_query?: string;
47
+ }
48
+ export interface SystemColumnRow {
49
+ database: string;
50
+ table: string;
51
+ name: string;
52
+ type: string;
53
+ default_kind?: string;
54
+ default_expression?: string;
55
+ comment?: string;
56
+ position: number;
57
+ }
58
+ export interface SystemSkippingIndexRow {
59
+ database: string;
60
+ table: string;
61
+ name: string;
62
+ expr: string;
63
+ type: string;
64
+ granularity: number;
65
+ }
13
66
  export interface IntrospectedTable {
14
67
  database: string;
15
68
  name: string;
@@ -26,5 +79,10 @@ export interface IntrospectedTable {
26
79
  }
27
80
  export { parseEngineFromCreateTableQuery, parseOrderByFromCreateTableQuery, parsePartitionByFromCreateTableQuery, parsePrimaryKeyFromCreateTableQuery, parseProjectionsFromCreateTableQuery, parseSettingsFromCreateTableQuery, parseTTLFromCreateTableQuery, parseUniqueKeyFromCreateTableQuery, } from './create-table-parser.js';
28
81
  export declare function inferSchemaKindFromEngine(engine: string): SchemaObjectRef['kind'] | null;
82
+ export declare function normalizeColumnFromSystemRow(row: SystemColumnRow): ColumnDefinition;
83
+ export declare function normalizeIndexFromSystemRow(row: SystemSkippingIndexRow): SkipIndexDefinition;
84
+ export declare function buildIntrospectedTables(tables: SystemTableRow[], columns: SystemColumnRow[], indexes: SystemSkippingIndexRow[]): IntrospectedTable[];
85
+ export declare function isUnknownDatabaseError(error: unknown): boolean;
86
+ export { waitForDDLPropagation, waitForTable, waitForView, waitForColumn, waitForTableAbsent, } from './ddl-propagation.js';
29
87
  export declare function createClickHouseExecutor(config: NonNullable<ChxConfig['clickhouse']>): ClickHouseExecutor;
30
88
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,SAAS,EACd,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACzB,MAAM,aAAa,CAAA;AAYpB,MAAM,WAAW,kBAAkB;IACjC,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACnC,KAAK,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CAAA;IACnC,iBAAiB,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC,CAAA;IAC/C,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAA;CACpE;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,mBAAmB,CAAA;IAC5C,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;CACb;AA6BD,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,OAAO,EAAE,gBAAgB,EAAE,CAAA;IAC3B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAChC,OAAO,EAAE,mBAAmB,EAAE,CAAA;IAC9B,WAAW,EAAE,oBAAoB,EAAE,CAAA;IACnC,GAAG,CAAC,EAAE,MAAM,CAAA;CACb;AAED,OAAO,EACL,+BAA+B,EAC/B,gCAAgC,EAChC,oCAAoC,EACpC,mCAAmC,EACnC,oCAAoC,EACpC,iCAAiC,EACjC,4BAA4B,EAC5B,kCAAkC,GACnC,MAAM,0BAA0B,CAAA;AAEjC,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,GAAG,IAAI,CAKxF;AAsCD,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,WAAW,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,GAAG,kBAAkB,CAgHzG"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -11,7 +11,7 @@ export function inferSchemaKindFromEngine(engine) {
11
11
  return null;
12
12
  return 'table';
13
13
  }
14
- function normalizeColumnFromSystemRow(row) {
14
+ export function normalizeColumnFromSystemRow(row) {
15
15
  const nullableMatch = row.type.match(/^Nullable\((.+)\)$/);
16
16
  const type = nullableMatch?.[1] ? nullableMatch[1] : row.type;
17
17
  const nullable = Boolean(nullableMatch?.[1]);
@@ -27,50 +27,250 @@ function normalizeColumnFromSystemRow(row) {
27
27
  comment: row.comment?.trim() || undefined,
28
28
  };
29
29
  }
30
- function normalizeIndexType(value) {
31
- if (value === 'minmax')
32
- return 'minmax';
33
- if (value === 'set')
34
- return 'set';
35
- if (value === 'bloom_filter')
36
- return 'bloom_filter';
37
- if (value === 'tokenbf_v1')
38
- return 'tokenbf_v1';
39
- if (value === 'ngrambf_v1')
40
- return 'ngrambf_v1';
41
- return 'set';
30
+ function parseIndexType(value) {
31
+ const match = value.match(/^(\w+)\((.+)\)$/);
32
+ const baseName = match?.[1] ?? value;
33
+ const args = match?.[2];
34
+ switch (baseName) {
35
+ case 'minmax':
36
+ return args !== undefined ? { type: 'minmax', typeArgs: args } : { type: 'minmax' };
37
+ case 'bloom_filter':
38
+ return args !== undefined ? { type: 'bloom_filter', typeArgs: args } : { type: 'bloom_filter' };
39
+ case 'tokenbf_v1':
40
+ return { type: 'tokenbf_v1', typeArgs: args ?? '0' };
41
+ case 'ngrambf_v1':
42
+ return { type: 'ngrambf_v1', typeArgs: args ?? '0' };
43
+ default:
44
+ return { type: 'set', typeArgs: args ?? '0' };
45
+ }
42
46
  }
43
- function normalizeIndexFromSystemRow(row) {
47
+ export function normalizeIndexFromSystemRow(row) {
48
+ const parsed = parseIndexType(row.type);
44
49
  return {
45
50
  name: row.name,
46
51
  expression: normalizeSQLFragment(row.expr),
47
- type: normalizeIndexType(row.type),
48
52
  granularity: row.granularity,
53
+ ...parsed,
49
54
  };
50
55
  }
56
+ export function buildIntrospectedTables(tables, columns, indexes) {
57
+ const tableRows = tables.filter((row) => inferSchemaKindFromEngine(row.engine) === 'table');
58
+ if (tableRows.length === 0)
59
+ return [];
60
+ const columnsByTable = new Map();
61
+ for (const row of columns) {
62
+ const key = `${row.database}.${row.table}`;
63
+ const rows = columnsByTable.get(key);
64
+ if (rows)
65
+ rows.push(row);
66
+ else
67
+ columnsByTable.set(key, [row]);
68
+ }
69
+ const indexesByTable = new Map();
70
+ for (const row of indexes) {
71
+ const key = `${row.database}.${row.table}`;
72
+ const rows = indexesByTable.get(key);
73
+ if (rows)
74
+ rows.push(row);
75
+ else
76
+ indexesByTable.set(key, [row]);
77
+ }
78
+ return tableRows
79
+ .map((row) => {
80
+ const key = `${row.database}.${row.name}`;
81
+ const columnRows = (columnsByTable.get(key) ?? []).sort((a, b) => a.position - b.position);
82
+ const indexRows = indexesByTable.get(key) ?? [];
83
+ return {
84
+ database: row.database,
85
+ name: row.name,
86
+ engine: parseEngineFromCreateTableQuery(row.create_table_query),
87
+ primaryKey: parsePrimaryKeyFromCreateTableQuery(row.create_table_query),
88
+ orderBy: parseOrderByFromCreateTableQuery(row.create_table_query),
89
+ uniqueKey: parseUniqueKeyFromCreateTableQuery(row.create_table_query),
90
+ partitionBy: parsePartitionByFromCreateTableQuery(row.create_table_query),
91
+ columns: columnRows.map(normalizeColumnFromSystemRow),
92
+ settings: parseSettingsFromCreateTableQuery(row.create_table_query),
93
+ indexes: indexRows.map(normalizeIndexFromSystemRow),
94
+ projections: parseProjectionsFromCreateTableQuery(row.create_table_query),
95
+ ttl: parseTTLFromCreateTableQuery(row.create_table_query),
96
+ };
97
+ })
98
+ .sort((a, b) => {
99
+ const dbOrder = a.database.localeCompare(b.database);
100
+ if (dbOrder !== 0)
101
+ return dbOrder;
102
+ return a.name.localeCompare(b.name);
103
+ });
104
+ }
105
+ const NETWORK_ERROR_LABELS = {
106
+ ECONNREFUSED: 'connection refused',
107
+ ENOTFOUND: 'host not found',
108
+ ETIMEDOUT: 'connection timed out',
109
+ ECONNRESET: 'connection reset',
110
+ EHOSTUNREACH: 'host unreachable',
111
+ };
112
+ function wrapConnectionError(error, url) {
113
+ if (error instanceof Error && 'code' in error) {
114
+ const code = error.code ?? '';
115
+ const label = NETWORK_ERROR_LABELS[code];
116
+ if (label) {
117
+ throw new Error(`Could not connect to ClickHouse at ${url} (${label})`);
118
+ }
119
+ }
120
+ throw error;
121
+ }
122
+ export function isUnknownDatabaseError(error) {
123
+ if (!(error instanceof Error))
124
+ return false;
125
+ if (!('code' in error))
126
+ return false;
127
+ return String(error.code) === '81';
128
+ }
129
+ export { waitForDDLPropagation, waitForTable, waitForView, waitForColumn, waitForTableAbsent, } from './ddl-propagation.js';
51
130
  export function createClickHouseExecutor(config) {
52
131
  const client = createClient({
53
132
  url: config.url,
54
133
  username: config.username,
55
134
  password: config.password,
56
135
  database: config.database,
136
+ session_id: crypto.randomUUID(),
57
137
  clickhouse_settings: {
58
138
  wait_end_of_query: 1,
139
+ async_insert: 0,
140
+ },
141
+ });
142
+ const fireAndForgetClient = createClient({
143
+ url: config.url,
144
+ username: config.username,
145
+ password: config.password,
146
+ database: config.database,
147
+ clickhouse_settings: {
148
+ wait_end_of_query: 0,
59
149
  },
60
150
  });
61
151
  return {
62
- async execute(sql) {
63
- await client.command({ query: sql });
152
+ async command(sql) {
153
+ try {
154
+ await client.command({ query: sql, http_headers: { 'X-DDL': '1' } });
155
+ }
156
+ catch (error) {
157
+ if (isUnknownDatabaseError(error)) {
158
+ // The configured database doesn't exist yet. Retry without the
159
+ // session database so that CREATE DATABASE can succeed.
160
+ const fallback = createClient({
161
+ url: config.url,
162
+ username: config.username,
163
+ password: config.password,
164
+ clickhouse_settings: { wait_end_of_query: 1, async_insert: 0 },
165
+ });
166
+ try {
167
+ await fallback.command({ query: sql, http_headers: { 'X-DDL': '1' } });
168
+ }
169
+ finally {
170
+ await fallback.close();
171
+ }
172
+ return;
173
+ }
174
+ wrapConnectionError(error, config.url);
175
+ }
64
176
  },
65
177
  async query(sql) {
66
- const result = await client.query({ query: sql, format: 'JSONEachRow' });
67
- return result.json();
178
+ try {
179
+ const result = await client.query({ query: sql, format: 'JSONEachRow', http_headers: { 'X-DDL': '1' } });
180
+ return result.json();
181
+ }
182
+ catch (error) {
183
+ wrapConnectionError(error, config.url);
184
+ }
185
+ },
186
+ async insert(params) {
187
+ try {
188
+ await client.insert({
189
+ table: params.table,
190
+ values: params.values,
191
+ format: 'JSONEachRow',
192
+ });
193
+ }
194
+ catch (error) {
195
+ wrapConnectionError(error, config.url);
196
+ }
197
+ },
198
+ async submit(sql, queryId) {
199
+ const id = queryId ?? crypto.randomUUID();
200
+ try {
201
+ await fireAndForgetClient.command({ query: sql, query_id: id });
202
+ }
203
+ catch (error) {
204
+ wrapConnectionError(error, config.url);
205
+ }
206
+ return id;
207
+ },
208
+ async queryStatus(queryId, options) {
209
+ try {
210
+ const running = await client.query({
211
+ query: `SELECT read_rows, read_bytes, written_rows, written_bytes, elapsed FROM clusterAllReplicas('parallel_replicas', system.processes) WHERE user = currentUser() AND query_id = {qid:String} SETTINGS skip_unavailable_shards = 1`,
212
+ query_params: { qid: queryId },
213
+ format: 'JSONEachRow',
214
+ });
215
+ const runningRows = await running.json();
216
+ if (runningRows.length > 0) {
217
+ const proc = runningRows[0];
218
+ return {
219
+ status: 'running',
220
+ readRows: Number(proc.read_rows),
221
+ readBytes: Number(proc.read_bytes),
222
+ writtenRows: Number(proc.written_rows),
223
+ writtenBytes: Number(proc.written_bytes),
224
+ elapsedMs: Math.round(Number(proc.elapsed) * 1000),
225
+ };
226
+ }
227
+ const afterTime = options?.afterTime ?? '1970-01-01T00:00:00Z';
228
+ const log = await client.query({
229
+ query: `SELECT type, written_rows, written_bytes, query_duration_ms, exception
230
+ FROM clusterAllReplicas('parallel_replicas', system.query_log)
231
+ WHERE user = currentUser()
232
+ AND query_id = {qid:String}
233
+ AND type IN ('QueryFinish', 'ExceptionWhileProcessing')
234
+ AND is_initial_query = 1
235
+ AND query_start_time >= parseDateTimeBestEffort({after:String})
236
+ ORDER BY event_time DESC
237
+ LIMIT 1
238
+ SETTINGS skip_unavailable_shards = 1`,
239
+ query_params: { qid: queryId, after: afterTime },
240
+ format: 'JSONEachRow',
241
+ });
242
+ const logRows = await log.json();
243
+ if (logRows.length === 0) {
244
+ return { status: 'unknown' };
245
+ }
246
+ const row = logRows[0];
247
+ if (row.type === 'QueryFinish') {
248
+ return {
249
+ status: 'finished',
250
+ writtenRows: Number(row.written_rows),
251
+ writtenBytes: Number(row.written_bytes),
252
+ durationMs: Number(row.query_duration_ms),
253
+ };
254
+ }
255
+ return {
256
+ status: 'failed',
257
+ durationMs: Number(row.query_duration_ms),
258
+ error: row.exception,
259
+ };
260
+ }
261
+ catch (error) {
262
+ wrapConnectionError(error, config.url);
263
+ }
264
+ },
265
+ async close() {
266
+ await Promise.all([client.close(), fireAndForgetClient.close()]);
68
267
  },
69
268
  async listSchemaObjects() {
70
269
  const rows = await this.query(`SELECT database, name, engine
71
270
  FROM system.tables
72
271
  WHERE is_temporary = 0
73
- AND database NOT IN ('system', 'information_schema', 'INFORMATION_SCHEMA')`);
272
+ AND database NOT IN ('system', 'information_schema', 'INFORMATION_SCHEMA')
273
+ AND name NOT LIKE '_chkit_%'`);
74
274
  const out = [];
75
275
  for (const row of rows) {
76
276
  const kind = inferSchemaKindFromEngine(row.engine);
@@ -92,63 +292,13 @@ WHERE is_temporary = 0
92
292
  FROM system.tables
93
293
  WHERE is_temporary = 0
94
294
  AND database IN (${quotedDatabases})`);
95
- const tableRows = tables.filter((row) => inferSchemaKindFromEngine(row.engine) === 'table');
96
- if (tableRows.length === 0)
97
- return [];
98
295
  const columns = await this.query(`SELECT database, table, name, type, default_kind, default_expression, comment, position
99
296
  FROM system.columns
100
297
  WHERE database IN (${quotedDatabases})`);
101
298
  const indexes = await this.query(`SELECT database, table, name, expr, type, granularity
102
299
  FROM system.data_skipping_indices
103
300
  WHERE database IN (${quotedDatabases})`);
104
- const columnsByTable = new Map();
105
- for (const row of columns) {
106
- const key = `${row.database}.${row.table}`;
107
- const rows = columnsByTable.get(key);
108
- if (rows) {
109
- rows.push(row);
110
- }
111
- else {
112
- columnsByTable.set(key, [row]);
113
- }
114
- }
115
- const indexesByTable = new Map();
116
- for (const row of indexes) {
117
- const key = `${row.database}.${row.table}`;
118
- const rows = indexesByTable.get(key);
119
- if (rows) {
120
- rows.push(row);
121
- }
122
- else {
123
- indexesByTable.set(key, [row]);
124
- }
125
- }
126
- return tableRows
127
- .map((row) => {
128
- const key = `${row.database}.${row.name}`;
129
- const columnRows = (columnsByTable.get(key) ?? []).sort((a, b) => a.position - b.position);
130
- const indexRows = indexesByTable.get(key) ?? [];
131
- return {
132
- database: row.database,
133
- name: row.name,
134
- engine: parseEngineFromCreateTableQuery(row.create_table_query),
135
- primaryKey: parsePrimaryKeyFromCreateTableQuery(row.create_table_query),
136
- orderBy: parseOrderByFromCreateTableQuery(row.create_table_query),
137
- uniqueKey: parseUniqueKeyFromCreateTableQuery(row.create_table_query),
138
- partitionBy: parsePartitionByFromCreateTableQuery(row.create_table_query),
139
- columns: columnRows.map(normalizeColumnFromSystemRow),
140
- settings: parseSettingsFromCreateTableQuery(row.create_table_query),
141
- indexes: indexRows.map(normalizeIndexFromSystemRow),
142
- projections: parseProjectionsFromCreateTableQuery(row.create_table_query),
143
- ttl: parseTTLFromCreateTableQuery(row.create_table_query),
144
- };
145
- })
146
- .sort((a, b) => {
147
- const dbOrder = a.database.localeCompare(b.database);
148
- if (dbOrder !== 0)
149
- return dbOrder;
150
- return a.name.localeCompare(b.name);
151
- });
301
+ return buildIntrospectedTables(tables, columns, indexes);
152
302
  },
153
303
  };
154
304
  }
package/dist/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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"}
package/package.json CHANGED
@@ -1,6 +1,23 @@
1
1
  {
2
2
  "name": "@chkit/clickhouse",
3
- "version": "0.1.0-beta.2",
3
+ "version": "0.1.0-beta.20",
4
+ "description": "ClickHouse client wrapper for chkit",
5
+ "license": "MIT",
6
+ "author": "ObsessionDB",
7
+ "keywords": [
8
+ "clickhouse",
9
+ "database",
10
+ "client"
11
+ ],
12
+ "homepage": "https://chkit.obsessiondb.com",
13
+ "bugs": {
14
+ "url": "https://github.com/obsessiondb/chkit/issues"
15
+ },
16
+ "repository": {
17
+ "type": "git",
18
+ "url": "https://github.com/obsessiondb/chkit.git",
19
+ "directory": "packages/clickhouse"
20
+ },
4
21
  "type": "module",
5
22
  "main": "./dist/index.js",
6
23
  "types": "./dist/index.d.ts",
@@ -9,6 +26,10 @@
9
26
  "source": "./src/index.ts",
10
27
  "types": "./dist/index.d.ts",
11
28
  "default": "./dist/index.js"
29
+ },
30
+ "./e2e-testkit": {
31
+ "bun": "./src/e2e-testkit.ts",
32
+ "default": "./src/e2e-testkit.ts"
12
33
  }
13
34
  },
14
35
  "files": [
@@ -23,7 +44,8 @@
23
44
  "clean": "rm -rf dist"
24
45
  },
25
46
  "dependencies": {
26
- "@chkit/core": "0.1.0-beta.1",
27
- "@clickhouse/client": "^1.11.0"
47
+ "@chkit/core": "0.1.0-beta.20",
48
+ "@clickhouse/client": "^1.11.0",
49
+ "p-retry": "^7.1.1"
28
50
  }
29
51
  }