@chkit/clickhouse 0.1.2-beta.7 → 0.2.0-beta.12

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 (45) hide show
  1. package/dist/alter-column-statement.d.ts +32 -0
  2. package/dist/alter-column-statement.d.ts.map +1 -0
  3. package/dist/alter-column-statement.js +137 -0
  4. package/dist/alter-column-statement.js.map +1 -0
  5. package/dist/async-insert-guard.d.ts +31 -0
  6. package/dist/async-insert-guard.d.ts.map +1 -0
  7. package/dist/async-insert-guard.js +55 -0
  8. package/dist/async-insert-guard.js.map +1 -0
  9. package/dist/canonicalize.d.ts +21 -0
  10. package/dist/canonicalize.d.ts.map +1 -0
  11. package/dist/canonicalize.js +70 -0
  12. package/dist/canonicalize.js.map +1 -0
  13. package/dist/create-table-parser.d.ts +3 -0
  14. package/dist/create-table-parser.d.ts.map +1 -1
  15. package/dist/create-table-parser.js +54 -43
  16. package/dist/create-table-parser.js.map +1 -1
  17. package/dist/ddl-propagation.d.ts +62 -6
  18. package/dist/ddl-propagation.d.ts.map +1 -1
  19. package/dist/ddl-propagation.js +459 -49
  20. package/dist/ddl-propagation.js.map +1 -1
  21. package/dist/e2e-testkit.d.ts +26 -4
  22. package/dist/e2e-testkit.d.ts.map +1 -1
  23. package/dist/e2e-testkit.js +56 -14
  24. package/dist/e2e-testkit.js.map +1 -1
  25. package/dist/exact-json.d.ts +27 -0
  26. package/dist/exact-json.d.ts.map +1 -0
  27. package/dist/exact-json.js +128 -0
  28. package/dist/exact-json.js.map +1 -0
  29. package/dist/index.d.ts +52 -9
  30. package/dist/index.d.ts.map +1 -1
  31. package/dist/index.js +220 -64
  32. package/dist/index.js.map +1 -1
  33. package/dist/insert-barrier.d.ts +32 -0
  34. package/dist/insert-barrier.d.ts.map +1 -0
  35. package/dist/insert-barrier.js +57 -0
  36. package/dist/insert-barrier.js.map +1 -0
  37. package/dist/replicas.d.ts +21 -0
  38. package/dist/replicas.d.ts.map +1 -0
  39. package/dist/replicas.js +39 -0
  40. package/dist/replicas.js.map +1 -0
  41. package/dist/view-details.d.ts +30 -0
  42. package/dist/view-details.d.ts.map +1 -0
  43. package/dist/view-details.js +73 -0
  44. package/dist/view-details.js.map +1 -0
  45. package/package.json +5 -2
@@ -1 +1 @@
1
- {"version":3,"file":"ddl-propagation.js","sourceRoot":"","sources":["../src/ddl-propagation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ddl-propagation.js","sourceRoot":"","sources":["../src/ddl-propagation.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,8 @@
1
1
  /**
2
2
  * Shared E2E test utilities for live ClickHouse tests.
3
3
  *
4
- * Hard-fails on missing env — never skips.
4
+ * Targets the local test stack (test/infra) unless CLICKHOUSE_* points elsewhere.
5
+ * Never skips: an unreachable server fails the test.
5
6
  * Uses ClickHouseExecutor so any package that depends on @chkit/clickhouse can import this.
6
7
  */
7
8
  import { type ClickHouseExecutor } from './index.js';
@@ -12,10 +13,16 @@ export interface LiveEnv {
12
13
  clickhouseDatabase: string;
13
14
  }
14
15
  /**
15
- * Reads and validates required ClickHouse env vars.
16
- * Throws immediately if anything is missing — tests must not silently skip.
16
+ * The ClickHouse in test/infra/docker-compose.yml, which `infra:up` starts on
17
+ * CHKIT_TEST_PORT (default 8123).
17
18
  */
18
- export declare function getRequiredEnv(): LiveEnv;
19
+ export declare const LOCAL_STACK_ENV: LiveEnv;
20
+ /**
21
+ * Reads the ClickHouse target from env vars. Without CLICKHOUSE_URL or
22
+ * CLICKHOUSE_HOST, tests run against the local test stack. A remote target
23
+ * must also set CLICKHOUSE_PASSWORD.
24
+ */
25
+ export declare function getLiveEnv(): LiveEnv;
19
26
  /**
20
27
  * Creates a ClickHouseExecutor configured for E2E tests from env vars.
21
28
  */
@@ -30,5 +37,20 @@ export declare function quoteIdent(value: string): string;
30
37
  export declare function createRunTag(): string;
31
38
  export declare function createPrefix(label: string): string;
32
39
  export declare function createJournalTableName(label: string): string;
40
+ export interface PollUntilOptions {
41
+ timeoutMs?: number;
42
+ intervalMs?: number;
43
+ }
44
+ /**
45
+ * Re-reads `read()` until `predicate` accepts its value or `timeoutMs` elapses.
46
+ * Unlike `waitForRows`, running out of time returns the last observed value
47
+ * instead of throwing, so the caller's own `expect` reports the real diff.
48
+ * A read that keeps throwing until the deadline rethrows its last error.
49
+ *
50
+ * Put the whole observation inside `read` (e.g. `SYSTEM RELOAD DICTIONARY`
51
+ * followed by `dictGet`): on multi-replica services each attempt may land on a
52
+ * different replica, so a one-off preparation step can't be relied on.
53
+ */
54
+ export declare function pollUntil<T>(read: () => Promise<T>, predicate: (value: T) => boolean, options?: PollUntilOptions): Promise<T>;
33
55
  export { waitForTable, waitForView, waitForColumn, waitForDictionary, waitForRows, } from './ddl-propagation.js';
34
56
  //# sourceMappingURL=e2e-testkit.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"e2e-testkit.d.ts","sourceRoot":"","sources":["../src/e2e-testkit.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAGL,KAAK,kBAAkB,EACxB,MAAM,YAAY,CAAA;AAMnB,MAAM,WAAW,OAAO;IACtB,aAAa,EAAE,MAAM,CAAA;IACrB,cAAc,EAAE,MAAM,CAAA;IACtB,kBAAkB,EAAE,MAAM,CAAA;IAC1B,kBAAkB,EAAE,MAAM,CAAA;CAC3B;AAED;;;GAGG;AACH,wBAAgB,cAAc,IAAI,OAAO,CAiBxC;AAMD;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,kBAAkB,CAOnE;AAED;;;;GAIG;AACH,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,OAAO,GAAG,kBAAkB,CAO5E;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEhD;AAMD,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAElD;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAK5D;AAMD,OAAO,EACL,YAAY,EACZ,WAAW,EACX,aAAa,EACb,iBAAiB,EACjB,WAAW,GACZ,MAAM,sBAAsB,CAAA"}
1
+ {"version":3,"file":"e2e-testkit.d.ts","sourceRoot":"","sources":["../src/e2e-testkit.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,OAAO,EAGL,KAAK,kBAAkB,EACxB,MAAM,YAAY,CAAA;AAMnB,MAAM,WAAW,OAAO;IACtB,aAAa,EAAE,MAAM,CAAA;IACrB,cAAc,EAAE,MAAM,CAAA;IACtB,kBAAkB,EAAE,MAAM,CAAA;IAC1B,kBAAkB,EAAE,MAAM,CAAA;CAC3B;AAED;;;GAGG;AACH,eAAO,MAAM,eAAe,EAAE,OAK7B,CAAA;AAED;;;;GAIG;AACH,wBAAgB,UAAU,IAAI,OAAO,CAepC;AAMD;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,kBAAkB,CAOnE;AAED;;;;GAIG;AACH,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,OAAO,GAAG,kBAAkB,CAO5E;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEhD;AAMD,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAElD;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAK5D;AAMD,MAAM,WAAW,gBAAgB;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED;;;;;;;;;GASG;AACH,wBAAsB,SAAS,CAAC,CAAC,EAC/B,IAAI,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACtB,SAAS,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,OAAO,EAChC,OAAO,GAAE,gBAAqB,GAC7B,OAAO,CAAC,CAAC,CAAC,CAgBZ;AAID,OAAO,EACL,YAAY,EACZ,WAAW,EACX,aAAa,EACb,iBAAiB,EACjB,WAAW,GACZ,MAAM,sBAAsB,CAAA"}
@@ -1,23 +1,36 @@
1
1
  /**
2
2
  * Shared E2E test utilities for live ClickHouse tests.
3
3
  *
4
- * Hard-fails on missing env — never skips.
4
+ * Targets the local test stack (test/infra) unless CLICKHOUSE_* points elsewhere.
5
+ * Never skips: an unreachable server fails the test.
5
6
  * Uses ClickHouseExecutor so any package that depends on @chkit/clickhouse can import this.
6
7
  */
8
+ import { setTimeout as sleep } from 'node:timers/promises';
9
+ import { quoteIdentifier } from '@chkit/core';
7
10
  import { createClickHouseExecutor, createStatelessClickHouseExecutor, } from './index.js';
8
11
  /**
9
- * Reads and validates required ClickHouse env vars.
10
- * Throws immediately if anything is missing — tests must not silently skip.
12
+ * The ClickHouse in test/infra/docker-compose.yml, which `infra:up` starts on
13
+ * CHKIT_TEST_PORT (default 8123).
11
14
  */
12
- export function getRequiredEnv() {
15
+ export const LOCAL_STACK_ENV = {
16
+ clickhouseUrl: `http://localhost:${process.env.CHKIT_TEST_PORT?.trim() || '8123'}`,
17
+ clickhouseUser: 'default',
18
+ clickhousePassword: 'chkit-ci',
19
+ clickhouseDatabase: 'default',
20
+ };
21
+ /**
22
+ * Reads the ClickHouse target from env vars. Without CLICKHOUSE_URL or
23
+ * CLICKHOUSE_HOST, tests run against the local test stack. A remote target
24
+ * must also set CLICKHOUSE_PASSWORD.
25
+ */
26
+ export function getLiveEnv() {
13
27
  const clickhouseHost = process.env.CLICKHOUSE_HOST?.trim();
14
28
  const clickhouseUrl = process.env.CLICKHOUSE_URL?.trim() || (clickhouseHost ? `https://${clickhouseHost}` : '');
29
+ if (!clickhouseUrl)
30
+ return LOCAL_STACK_ENV;
15
31
  const clickhouseUser = process.env.CLICKHOUSE_USER?.trim() || 'default';
16
32
  const clickhousePassword = process.env.CLICKHOUSE_PASSWORD?.trim() || '';
17
33
  const clickhouseDatabase = process.env.CLICKHOUSE_DB?.trim() || 'default';
18
- if (!clickhouseUrl) {
19
- throw new Error('Missing CLICKHOUSE_URL or CLICKHOUSE_HOST');
20
- }
21
34
  if (!clickhousePassword) {
22
35
  throw new Error('Missing CLICKHOUSE_PASSWORD');
23
36
  }
@@ -51,7 +64,7 @@ export function createStatelessLiveExecutor(env) {
51
64
  });
52
65
  }
53
66
  export function quoteIdent(value) {
54
- return `\`${value.replace(/`/g, '``')}\``;
67
+ return quoteIdentifier(value);
55
68
  }
56
69
  // ---------------------------------------------------------------------------
57
70
  // Run tags & naming
@@ -63,12 +76,41 @@ export function createPrefix(label) {
63
76
  return `chkit_e2e_${label}_${Date.now()}_${Math.floor(Math.random() * 100000)}_`;
64
77
  }
65
78
  export function createJournalTableName(label) {
66
- const runTag = process.env.GITHUB_RUN_ID?.trim() ||
67
- `${Date.now()}_${Math.floor(Math.random() * 100000)}`;
68
- return `_chkit_migrations_${label}_${runTag}`;
79
+ // The CI run id alone is not unique: the TS and Python suites run at the same
80
+ // time against one server and share labels, so a random suffix always follows.
81
+ const runTag = process.env.GITHUB_RUN_ID?.trim() || `${Date.now()}`;
82
+ return `_chkit_migrations_${label}_${runTag}_${Math.floor(Math.random() * 100000)}`;
69
83
  }
70
- // ---------------------------------------------------------------------------
71
- // State-based polling (re-exported from ddl-propagation for test convenience)
72
- // ---------------------------------------------------------------------------
84
+ /**
85
+ * Re-reads `read()` until `predicate` accepts its value or `timeoutMs` elapses.
86
+ * Unlike `waitForRows`, running out of time returns the last observed value
87
+ * instead of throwing, so the caller's own `expect` reports the real diff.
88
+ * A read that keeps throwing until the deadline rethrows its last error.
89
+ *
90
+ * Put the whole observation inside `read` (e.g. `SYSTEM RELOAD DICTIONARY`
91
+ * followed by `dictGet`): on multi-replica services each attempt may land on a
92
+ * different replica, so a one-off preparation step can't be relied on.
93
+ */
94
+ export async function pollUntil(read, predicate, options = {}) {
95
+ const timeoutMs = options.timeoutMs ?? 30_000;
96
+ const intervalMs = options.intervalMs ?? 500;
97
+ const deadline = Date.now() + timeoutMs;
98
+ for (;;) {
99
+ let value;
100
+ try {
101
+ value = await read();
102
+ }
103
+ catch (error) {
104
+ if (Date.now() >= deadline)
105
+ throw error;
106
+ await sleep(intervalMs);
107
+ continue;
108
+ }
109
+ if (predicate(value) || Date.now() >= deadline)
110
+ return value;
111
+ await sleep(intervalMs);
112
+ }
113
+ }
114
+ // Re-exported from ddl-propagation for test convenience.
73
115
  export { waitForTable, waitForView, waitForColumn, waitForDictionary, waitForRows, } from './ddl-propagation.js';
74
116
  //# sourceMappingURL=e2e-testkit.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"e2e-testkit.js","sourceRoot":"","sources":["../src/e2e-testkit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"e2e-testkit.js","sourceRoot":"","sources":["../src/e2e-testkit.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ import type { ClickHouseJsonQueryResult } from './index.js';
2
+ /**
3
+ * Parses a ClickHouse `FORMAT JSON` body without losing digits (#381).
4
+ * ClickHouse writes 64-bit and wider integers and Decimals as bare JSON
5
+ * numbers, and `JSON.parse` rounds them to a double. In a column whose type
6
+ * is or contains one of them, every number becomes a string of the digits
7
+ * ClickHouse sent, as `output_format_json_quote_64bit_integers = 1` and
8
+ * `output_format_json_quote_decimals = 1` would do. Sending those settings
9
+ * instead would fail for a `readonly = 1` user (#402). In a column whose type
10
+ * is or contains `JSON`, `Object` or `Dynamic`, only a number a double would
11
+ * change becomes a string, as in `parseJsonEachRowLine` (#438). Other numbers
12
+ * stay numbers. A statement without a result set (DDL, `OPTIMIZE`) has an empty
13
+ * body, read as no rows.
14
+ */
15
+ export declare function parseJsonResult<T extends Record<string, unknown>>(body: string): ClickHouseJsonQueryResult<T>;
16
+ /** Parses a `JSONEachRow` body, every nonempty line as `parseJsonEachRowLine`. */
17
+ export declare function parseJsonEachRow<T>(body: string): T[];
18
+ /**
19
+ * Parses one `JSONEachRow` line without rounding (#415). A number whose
20
+ * double does not print back to the digits ClickHouse wrote (a 64-bit or
21
+ * wider integer beyond 2^53, a Decimal with more than 15 significant digits)
22
+ * becomes a string of those digits. Every other number, Float64 included, stays a
23
+ * number. Unlike `parseJsonResult`, this needs no column types: values that
24
+ * read correctly today keep their type.
25
+ */
26
+ export declare function parseJsonEachRowLine<T>(line: string): T;
27
+ //# sourceMappingURL=exact-json.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exact-json.d.ts","sourceRoot":"","sources":["../src/exact-json.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAA;AAqC3D;;;;;;;;;;;;GAYG;AACH,wBAAgB,eAAe,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChE,IAAI,EAAE,MAAM,GACV,yBAAyB,CAAC,CAAC,CAAC,CA4B9B;AAED,kFAAkF;AAClF,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,EAAE,CAKrD;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,CAQvD"}
@@ -0,0 +1,128 @@
1
+ /**
2
+ * Column types whose JSON numbers a double cannot hold exactly: 64-bit and
3
+ * wider integers and Decimals. The Python port uses the same patterns.
4
+ */
5
+ const EXACT_TYPE_RE = /\b(?:U?Int(?:64|128|256)|Decimal(?:32|64|128|256)?)\b/;
6
+ /**
7
+ * Column types whose values can hold any number, from a Float64 to a UInt64
8
+ * (#438). Their numbers follow the rule of `parseJsonEachRowLine`.
9
+ */
10
+ const DYNAMIC_TYPE_RE = /\b(?:JSON|Object|Dynamic)\b/;
11
+ const SIXTEEN_DIGITS_RE = /[\d.]{16}/;
12
+ const JSON_NUMBER = Symbol('JsonNumber');
13
+ /**
14
+ * Parses a ClickHouse `FORMAT JSON` body without losing digits (#381).
15
+ * ClickHouse writes 64-bit and wider integers and Decimals as bare JSON
16
+ * numbers, and `JSON.parse` rounds them to a double. In a column whose type
17
+ * is or contains one of them, every number becomes a string of the digits
18
+ * ClickHouse sent, as `output_format_json_quote_64bit_integers = 1` and
19
+ * `output_format_json_quote_decimals = 1` would do. Sending those settings
20
+ * instead would fail for a `readonly = 1` user (#402). In a column whose type
21
+ * is or contains `JSON`, `Object` or `Dynamic`, only a number a double would
22
+ * change becomes a string, as in `parseJsonEachRowLine` (#438). Other numbers
23
+ * stay numbers. A statement without a result set (DDL, `OPTIMIZE`) has an empty
24
+ * body, read as no rows.
25
+ */
26
+ export function parseJsonResult(body) {
27
+ if (body.trim() === '')
28
+ return { data: [], meta: [], rows: 0 };
29
+ // context.source is the number's JSON text (Node 21+, Bun).
30
+ const { data, meta, ...rest } = JSON.parse(body, (_key, value, context) => typeof value === 'number' ? jsonNumber(context?.source, value) : value);
31
+ const modes = new Map(meta.map((column) => [column.name, numberMode(column.type)]));
32
+ // Rows keyed by column name: data, totals (WITH TOTALS) and extremes.min/max.
33
+ const restoreRow = (row) => isRecord(row)
34
+ ? Object.fromEntries(Object.entries(row).map(([name, cell]) => [name, restore(cell, modes.get(name) ?? 'double')]))
35
+ : restore(row, 'double');
36
+ // data first, as the ObsessionDB executor and the Python port print it.
37
+ return {
38
+ data: data.map(restoreRow),
39
+ meta,
40
+ ...Object.fromEntries(Object.entries(rest).map(([key, value]) => {
41
+ if (key === 'totals')
42
+ return [key, restoreRow(value)];
43
+ if (key === 'extremes' && isRecord(value)) {
44
+ return [key, Object.fromEntries(Object.entries(value).map(([bound, row]) => [bound, restoreRow(row)]))];
45
+ }
46
+ return [key, restore(value, 'double')];
47
+ })),
48
+ };
49
+ }
50
+ /** Parses a `JSONEachRow` body, every nonempty line as `parseJsonEachRowLine`. */
51
+ export function parseJsonEachRow(body) {
52
+ return body
53
+ .split('\n')
54
+ .filter((line) => line.trim().length > 0)
55
+ .map((line) => parseJsonEachRowLine(line));
56
+ }
57
+ /**
58
+ * Parses one `JSONEachRow` line without rounding (#415). A number whose
59
+ * double does not print back to the digits ClickHouse wrote (a 64-bit or
60
+ * wider integer beyond 2^53, a Decimal with more than 15 significant digits)
61
+ * becomes a string of those digits. Every other number, Float64 included, stays a
62
+ * number. Unlike `parseJsonResult`, this needs no column types: values that
63
+ * read correctly today keep their type.
64
+ */
65
+ export function parseJsonEachRowLine(line) {
66
+ // The reviver makes JSON.parse several times slower. A number with more
67
+ // than 15 digits needs a run of 16 digits and points, so a line without
68
+ // one has nothing to restore.
69
+ if (!SIXTEEN_DIGITS_RE.test(line))
70
+ return JSON.parse(line);
71
+ return JSON.parse(line, (_key, value, context) => typeof value === 'number' ? roundTripNumber(context?.source, value) : value);
72
+ }
73
+ function numberMode(type) {
74
+ if (DYNAMIC_TYPE_RE.test(type))
75
+ return 'roundTrip';
76
+ return EXACT_TYPE_RE.test(type) ? 'digits' : 'double';
77
+ }
78
+ /** The number, or the digits ClickHouse wrote when its double prints other digits. */
79
+ function roundTripNumber(source, value) {
80
+ // Up to 15 significant digits always survive a double (DBL_DIG), and
81
+ // Node 20 gives the reviver no source text: both keep the number.
82
+ if (source === undefined || source.length <= 15)
83
+ return value;
84
+ return canonicalDecimal(source) === canonicalDecimal(String(value)) ? value : source;
85
+ }
86
+ function jsonNumber(source, value) {
87
+ return { [JSON_NUMBER]: true, source, value };
88
+ }
89
+ function isJsonNumber(value) {
90
+ return value !== null && typeof value === 'object' && JSON_NUMBER in value;
91
+ }
92
+ function isRecord(value) {
93
+ return value !== null && typeof value === 'object' && !Array.isArray(value) && !isJsonNumber(value);
94
+ }
95
+ /**
96
+ * A JSON number's value as `<sign><significant digits>e<exponent>`, so that
97
+ * `100000000000000000000` and `1e+20`, or `0.10` and `0.1`, compare equal.
98
+ */
99
+ function canonicalDecimal(text) {
100
+ const match = /^(-?)(\d*)(?:\.(\d*))?(?:[eE]([+-]?\d+))?$/.exec(text);
101
+ if (!match)
102
+ return text;
103
+ const [, sign = '', integer = '', fraction = '', exponent = '0'] = match;
104
+ const digits = integer + fraction;
105
+ const first = digits.search(/[1-9]/);
106
+ if (first === -1)
107
+ return '0';
108
+ return `${sign}${digits.slice(first).replace(/0+$/, '')}e${integer.length - first + Number(exponent)}`;
109
+ }
110
+ function restore(value, mode) {
111
+ if (isJsonNumber(value)) {
112
+ if (mode === 'double')
113
+ return value.value;
114
+ // Node 20 gives the reviver no source text: the double would be printed
115
+ // as if it were exact.
116
+ if (value.source === undefined) {
117
+ throw new Error('Reading 64-bit and wider integers and Decimals exactly needs Node.js 22 or later, or Bun. Upgrade Node.js or run chkit with Bun.');
118
+ }
119
+ return mode === 'digits' ? value.source : roundTripNumber(value.source, value.value);
120
+ }
121
+ if (Array.isArray(value))
122
+ return value.map((item) => restore(item, mode));
123
+ if (isRecord(value)) {
124
+ return Object.fromEntries(Object.entries(value).map(([key, item]) => [key, restore(item, mode)]));
125
+ }
126
+ return value;
127
+ }
128
+ //# sourceMappingURL=exact-json.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exact-json.js","sourceRoot":"","sources":["../src/exact-json.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { type ChxConfig, type ColumnDefinition, type ProjectionDefinition, type SkipIndexDefinition } from '@chkit/core';
1
+ import { type ChxConfig, type ColumnDefinition, type ProjectionDefinition, type SkipIndexDefinition, type TableConstraintDefinition } from '@chkit/core';
2
2
  import { type ClickHouseSettings, createClient } from '@clickhouse/client';
3
3
  export interface QueryStatus {
4
4
  status: 'running' | 'finished' | 'failed' | 'unknown';
@@ -10,11 +10,25 @@ export interface QueryStatus {
10
10
  durationMs?: number;
11
11
  error?: string;
12
12
  }
13
+ export interface QueryStatusOptions {
14
+ afterTime?: string;
15
+ everyReplica?: boolean;
16
+ }
13
17
  export type { ClickHouseSettings };
14
18
  export interface ClickHouseInsertParams<T extends Record<string, unknown>> {
15
19
  table: string;
16
20
  values: T[];
21
+ /** Encode rows through a stream instead of joining an entire INSERT into one string. */
22
+ stream?: boolean;
17
23
  compressed?: boolean;
24
+ /** Per-insert settings, e.g. a stable `insert_deduplication_token`. */
25
+ settings?: ClickHouseSettings;
26
+ /**
27
+ * Explicit INSERT column list as SQL identifiers (quote names that need it).
28
+ * Required to supply EPHEMERAL inputs: without it ClickHouse treats their
29
+ * keys as unknown fields and silently drops them.
30
+ */
31
+ columns?: string[];
18
32
  }
19
33
  export interface ClickHouseJsonQueryResult<T extends Record<string, unknown> = Record<string, unknown>> {
20
34
  data: T[];
@@ -30,8 +44,12 @@ export interface ClickHouseJsonQueryResult<T extends Record<string, unknown> = R
30
44
  };
31
45
  query_id?: string;
32
46
  }
47
+ export type ObservableSystemTable = 'processes' | 'query_log';
33
48
  export interface ClickHouseExecutor {
34
- command(sql: string): Promise<void>;
49
+ command(sql: string, settings?: ClickHouseSettings): Promise<void>;
50
+ /** Rows as JSON objects. A number a double cannot hold exactly (an integer
51
+ * beyond 2^53, a Decimal with more than 15 digits) arrives as a string of
52
+ * its digits; the ObsessionDB console API returns every value as a string. */
35
53
  query<T>(sql: string, settings?: ClickHouseSettings): Promise<T[]>;
36
54
  queryJson?<T extends Record<string, unknown>>(sql: string, settings?: ClickHouseSettings): Promise<ClickHouseJsonQueryResult<T>>;
37
55
  insert<T extends Record<string, unknown>>(params: ClickHouseInsertParams<T>): Promise<void>;
@@ -41,18 +59,34 @@ export interface ClickHouseExecutor {
41
59
  * Returns immediately without waiting for completion.
42
60
  * @param sql - The SQL to execute
43
61
  * @param queryId - Optional deterministic query_id (useful for resumability). Auto-generated if omitted.
62
+ * @param settings - Optional ClickHouse settings sent with the query.
44
63
  * @returns The query_id assigned to this query. */
45
- submit(sql: string, queryId?: string): Promise<string>;
64
+ submit(sql: string, queryId?: string, settings?: ClickHouseSettings): Promise<string>;
46
65
  /** Check the status of a previously submitted query.
47
66
  * Checks system.processes first (running?), then system.query_log (finished/failed?).
67
+ * On a multi-replica target (see `resolveReplicaFanout`) both are read on every replica,
68
+ * because the query runs on whichever replica received it.
48
69
  * @param queryId - The query_id returned by submit()
49
70
  * @param options.afterTime - Only consider query_log entries for queries started at or after this ISO timestamp.
50
- * Useful when resubmitting with the same query_id to ignore stale entries from previous attempts. */
51
- queryStatus(queryId: string, options?: {
52
- afterTime?: string;
53
- }): Promise<QueryStatus>;
71
+ * Useful when resubmitting with the same query_id to ignore stale entries from previous attempts.
72
+ * @param options.everyReplica - Fail when a replica cannot be read instead of skipping it, so a
73
+ * status other than 'running' means that no replica runs the query. Polls leave it unset and
74
+ * keep going while a replica is unavailable. */
75
+ queryStatus(queryId: string, options?: QueryStatusOptions): Promise<QueryStatus>;
76
+ /** Optional capability: FROM-clause source for cluster-aware system table polling.
77
+ * Native executors return `clusterAllReplicas(...)` when `clickhouse.cluster` is set.
78
+ * Remote / ObsessionDB executors may omit this and keep local `system.*` tables. */
79
+ systemTableSource?(table: ObservableSystemTable): string;
80
+ /** Optional capability: whether the user may change settings, which a readonly = 1
81
+ * user may not. Native executors look it up once, with their first read. */
82
+ canChangeSettings?(): Promise<boolean>;
54
83
  close(): Promise<void>;
55
84
  }
85
+ /**
86
+ * Resolve the system table expression used for async query observation.
87
+ * Prefers `executor.systemTableSource` when present; otherwise local `system.<table>`.
88
+ */
89
+ export declare function observableSystemTable(executor: Pick<ClickHouseExecutor, 'systemTableSource'>, table: ObservableSystemTable): string;
56
90
  export interface SchemaObjectRef {
57
91
  kind: 'table' | 'view' | 'materialized_view' | 'dictionary';
58
92
  database: string;
@@ -63,6 +97,7 @@ export interface SystemTableRow {
63
97
  name: string;
64
98
  engine: string;
65
99
  create_table_query?: string;
100
+ primary_key?: string;
66
101
  }
67
102
  export interface SystemColumnRow {
68
103
  database: string;
@@ -95,6 +130,7 @@ export interface IntrospectedTable {
95
130
  settings: Record<string, string>;
96
131
  indexes: SkipIndexDefinition[];
97
132
  projections: ProjectionDefinition[];
133
+ constraints?: TableConstraintDefinition[];
98
134
  ttl?: string;
99
135
  }
100
136
  type ClickHouseClient = ReturnType<typeof createClient>;
@@ -105,7 +141,9 @@ type ClickHouseClientOptions = {
105
141
  response?: boolean;
106
142
  };
107
143
  };
108
- export { parseEngineFromCreateTableQuery, parseOrderByFromCreateTableQuery, parsePartitionByFromCreateTableQuery, parsePrimaryKeyFromCreateTableQuery, parseProjectionsFromCreateTableQuery, parseSettingsFromCreateTableQuery, parseTTLFromCreateTableQuery, parseUniqueKeyFromCreateTableQuery, } from './create-table-parser.js';
144
+ export { parseConstraintsFromCreateTableQuery, parseEngineFromCreateTableQuery, parseOrderByFromCreateTableQuery, parsePartitionByFromCreateTableQuery, parsePrimaryKeyFromCreateTableQuery, parseProjectionsFromCreateTableQuery, parseSettingsFromCreateTableQuery, parseTTLFromCreateTableQuery, parseUniqueKeyFromCreateTableQuery, } from './create-table-parser.js';
145
+ export { canonicalizeSqlFragments } from './canonicalize.js';
146
+ export { listViewDetails, parseMaterializedViewTarget, type IntrospectedView } from './view-details.js';
109
147
  export { parseCommentFromCreateDictionaryQuery, parseDictionaryAttributesFromCreateDictionaryQuery, parseDictionaryPrimaryKeyFromCreateDictionaryQuery, parseDictionaryRangeFromCreateDictionaryQuery, parseDictionarySettingsFromCreateDictionaryQuery, parseLayoutFromCreateDictionaryQuery, parseLifetimeFromCreateDictionaryQuery, parseSourceFromCreateDictionaryQuery, type ParsedDictionaryAttribute, } from './create-dictionary-parser.js';
110
148
  export declare function inferSchemaKindFromEngine(engine: string): SchemaObjectRef['kind'] | null;
111
149
  export declare function normalizeColumnFromSystemRow(row: SystemColumnRow): ColumnDefinition;
@@ -117,6 +155,8 @@ export declare function buildIntrospectedTables(tables: SystemTableRow[], column
117
155
  * Pure so it can be unit-tested without catching thrown errors.
118
156
  */
119
157
  export declare function formatConnectionError(error: unknown, url: string, username?: string): string | undefined;
158
+ /** The URL without its `user:password@` part, for messages and logs. */
159
+ export declare function urlWithoutCredentials(url: string): string;
120
160
  export declare function wrapConnectionError(error: unknown, url: string, username?: string): never;
121
161
  export declare function isUnknownDatabaseError(error: unknown): boolean;
122
162
  /**
@@ -148,7 +188,10 @@ export declare function assertStreamedQuerySucceeded(input: {
148
188
  query_id: string;
149
189
  sql: string | undefined;
150
190
  }): void;
151
- export { waitForColumn, waitForDDLPropagation, waitForDictionary, waitForTable, waitForTableAbsent, waitForView, } from './ddl-propagation.js';
191
+ export { type PropagationOptions, waitForColumn, waitForColumnAbsent, parseExchangeTables, waitForDDLPropagation, waitForDictionary, waitForExchange, waitForTable, waitForTableAbsent, waitForView, } from './ddl-propagation.js';
192
+ export { allReplicas, resolveReplicaFanout, type ReplicaFanout } from './replicas.js';
193
+ export { type AsyncInsertGuardOptions, type QualifiedTable, assertNoFireAndForgetAsyncInserts } from './async-insert-guard.js';
194
+ export { type InsertBarrierOptions, waitForInsertBarrier } from './insert-barrier.js';
152
195
  export declare function createStatelessClickHouseClient(config: ClickHouseConfig, clickhouseSettings?: ClickHouseSettings, options?: ClickHouseClientOptions): ClickHouseClient;
153
196
  /**
154
197
  * Creates a ClickHouse client that sends one session_id with every request.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}