@chkit/clickhouse 0.1.2-beta.5 → 0.2.0-beta.11
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/dist/canonicalize.d.ts +21 -0
- package/dist/canonicalize.d.ts.map +1 -0
- package/dist/canonicalize.js +70 -0
- package/dist/canonicalize.js.map +1 -0
- package/dist/create-dictionary-parser.d.ts +6 -0
- package/dist/create-dictionary-parser.d.ts.map +1 -1
- package/dist/create-dictionary-parser.js +84 -10
- package/dist/create-dictionary-parser.js.map +1 -1
- package/dist/create-table-parser.d.ts.map +1 -1
- package/dist/create-table-parser.js +63 -46
- package/dist/create-table-parser.js.map +1 -1
- package/dist/ddl-propagation.d.ts +1 -0
- package/dist/ddl-propagation.d.ts.map +1 -1
- package/dist/ddl-propagation.js +62 -15
- package/dist/ddl-propagation.js.map +1 -1
- package/dist/e2e-testkit.d.ts +24 -5
- package/dist/e2e-testkit.d.ts.map +1 -1
- package/dist/e2e-testkit.js +50 -12
- package/dist/e2e-testkit.js.map +1 -1
- package/dist/index.d.ts +23 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +55 -13
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { ClickHouseExecutor } from './index.js';
|
|
2
|
+
/**
|
|
3
|
+
* Canonicalize SQL fragments through ClickHouse's own formatter, so a schema
|
|
4
|
+
* fragment can be compared against what ClickHouse actually stores. The server
|
|
5
|
+
* rewrites expressions on the way in — spacing, operator precedence parens,
|
|
6
|
+
* `INTERVAL n UNIT` → `toIntervalUnit(n)` — which no local string normalizer can
|
|
7
|
+
* reproduce (#195).
|
|
8
|
+
*
|
|
9
|
+
* `wrap` distinguishes a scalar expression (wrapped as `SELECT <expr>`, prefix
|
|
10
|
+
* stripped back off) from a full `SELECT` query (formatted as-is). Formatting is
|
|
11
|
+
* batched into a single query using `formatQuerySingleLineOrNull`, which yields
|
|
12
|
+
* NULL for a fragment it can't parse rather than failing the whole batch — those
|
|
13
|
+
* are simply left out of the map so the caller falls back to string comparison.
|
|
14
|
+
*
|
|
15
|
+
* Returns a map from the input fragment to its ClickHouse-canonical form. A
|
|
16
|
+
* fragment missing from the map (unparseable, or an empty input) has no entry.
|
|
17
|
+
*/
|
|
18
|
+
export declare function canonicalizeSqlFragments(executor: ClickHouseExecutor, fragments: readonly string[], options: {
|
|
19
|
+
wrap: boolean;
|
|
20
|
+
}): Promise<Map<string, string>>;
|
|
21
|
+
//# sourceMappingURL=canonicalize.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"canonicalize.d.ts","sourceRoot":"","sources":["../src/canonicalize.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAkCpD;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,wBAAwB,CAC5C,QAAQ,EAAE,kBAAkB,EAC5B,SAAS,EAAE,SAAS,MAAM,EAAE,EAC5B,OAAO,EAAE;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,GACzB,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAwB9B"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
function quoteLiteral(value) {
|
|
2
|
+
return `'${value.replace(/\\/g, '\\\\').replace(/'/g, "''")}'`;
|
|
3
|
+
}
|
|
4
|
+
function stripSelectPrefix(formatted) {
|
|
5
|
+
const match = formatted.match(/^SELECT\s+([\s\S]+)$/i);
|
|
6
|
+
return match?.[1]?.trim() ?? null;
|
|
7
|
+
}
|
|
8
|
+
// Keep each batched query well under ClickHouse's default max_query_size
|
|
9
|
+
// (262144 bytes) so a large schema doesn't overflow a single query — which would
|
|
10
|
+
// throw and silently drop the whole run back to string comparison.
|
|
11
|
+
const MAX_BATCH_LITERAL_BYTES = 128_000;
|
|
12
|
+
function batchFragments(fragments) {
|
|
13
|
+
const batches = [];
|
|
14
|
+
let current = [];
|
|
15
|
+
let size = 0;
|
|
16
|
+
for (const fragment of fragments) {
|
|
17
|
+
const cost = quoteLiteral(fragment).length + 2; // literal + ", " separator
|
|
18
|
+
if (current.length > 0 && size + cost > MAX_BATCH_LITERAL_BYTES) {
|
|
19
|
+
batches.push(current);
|
|
20
|
+
current = [];
|
|
21
|
+
size = 0;
|
|
22
|
+
}
|
|
23
|
+
current.push(fragment);
|
|
24
|
+
size += cost;
|
|
25
|
+
}
|
|
26
|
+
if (current.length > 0)
|
|
27
|
+
batches.push(current);
|
|
28
|
+
return batches;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Canonicalize SQL fragments through ClickHouse's own formatter, so a schema
|
|
32
|
+
* fragment can be compared against what ClickHouse actually stores. The server
|
|
33
|
+
* rewrites expressions on the way in — spacing, operator precedence parens,
|
|
34
|
+
* `INTERVAL n UNIT` → `toIntervalUnit(n)` — which no local string normalizer can
|
|
35
|
+
* reproduce (#195).
|
|
36
|
+
*
|
|
37
|
+
* `wrap` distinguishes a scalar expression (wrapped as `SELECT <expr>`, prefix
|
|
38
|
+
* stripped back off) from a full `SELECT` query (formatted as-is). Formatting is
|
|
39
|
+
* batched into a single query using `formatQuerySingleLineOrNull`, which yields
|
|
40
|
+
* NULL for a fragment it can't parse rather than failing the whole batch — those
|
|
41
|
+
* are simply left out of the map so the caller falls back to string comparison.
|
|
42
|
+
*
|
|
43
|
+
* Returns a map from the input fragment to its ClickHouse-canonical form. A
|
|
44
|
+
* fragment missing from the map (unparseable, or an empty input) has no entry.
|
|
45
|
+
*/
|
|
46
|
+
export async function canonicalizeSqlFragments(executor, fragments, options) {
|
|
47
|
+
const result = new Map();
|
|
48
|
+
const unique = [...new Set(fragments.map((fragment) => fragment.trim()).filter((f) => f.length > 0))];
|
|
49
|
+
if (unique.length === 0)
|
|
50
|
+
return result;
|
|
51
|
+
const formatCall = options.wrap
|
|
52
|
+
? `formatQuerySingleLineOrNull('SELECT ' || fragment)`
|
|
53
|
+
: `formatQuerySingleLineOrNull(fragment)`;
|
|
54
|
+
for (const batch of batchFragments(unique)) {
|
|
55
|
+
const arrayLiteral = batch.map(quoteLiteral).join(', ');
|
|
56
|
+
const rows = await executor.query(`SELECT arrayMap(fragment -> ${formatCall}, [${arrayLiteral}]) AS formatted`);
|
|
57
|
+
const formatted = rows[0]?.formatted ?? [];
|
|
58
|
+
for (let i = 0; i < batch.length; i += 1) {
|
|
59
|
+
const raw = batch[i];
|
|
60
|
+
const value = formatted[i];
|
|
61
|
+
if (raw === undefined || value == null)
|
|
62
|
+
continue;
|
|
63
|
+
const canonical = options.wrap ? stripSelectPrefix(value) : value.trim();
|
|
64
|
+
if (canonical)
|
|
65
|
+
result.set(raw, canonical);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
return result;
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=canonicalize.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"canonicalize.js","sourceRoot":"","sources":["../src/canonicalize.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@ export interface ParsedDictionaryAttribute {
|
|
|
4
4
|
default?: string | number;
|
|
5
5
|
expression?: string;
|
|
6
6
|
hierarchical?: boolean;
|
|
7
|
+
bidirectional?: boolean;
|
|
7
8
|
injective?: boolean;
|
|
8
9
|
isObjectId?: boolean;
|
|
9
10
|
}
|
|
@@ -13,4 +14,9 @@ export declare function parseSourceFromCreateDictionaryQuery(query: string | und
|
|
|
13
14
|
export declare function parseLayoutFromCreateDictionaryQuery(query: string | undefined): string | undefined;
|
|
14
15
|
export declare function parseLifetimeFromCreateDictionaryQuery(query: string | undefined): string | undefined;
|
|
15
16
|
export declare function parseCommentFromCreateDictionaryQuery(query: string | undefined): string | undefined;
|
|
17
|
+
export declare function parseDictionaryRangeFromCreateDictionaryQuery(query: string | undefined): {
|
|
18
|
+
min: string;
|
|
19
|
+
max: string;
|
|
20
|
+
} | undefined;
|
|
21
|
+
export declare function parseDictionarySettingsFromCreateDictionaryQuery(query: string | undefined): Record<string, string | number> | undefined;
|
|
16
22
|
//# sourceMappingURL=create-dictionary-parser.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-dictionary-parser.d.ts","sourceRoot":"","sources":["../src/create-dictionary-parser.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACzB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB;
|
|
1
|
+
{"version":3,"file":"create-dictionary-parser.d.ts","sourceRoot":"","sources":["../src/create-dictionary-parser.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACzB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB;AA+MD,wBAAgB,kDAAkD,CAChE,KAAK,EAAE,MAAM,GAAG,SAAS,GACxB,yBAAyB,EAAE,CAmB7B;AAED,wBAAgB,kDAAkD,CAChE,KAAK,EAAE,MAAM,GAAG,SAAS,GACxB,MAAM,EAAE,CAWV;AAED,wBAAgB,oCAAoC,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAGlG;AAED,wBAAgB,oCAAoC,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAGlG;AAED,wBAAgB,sCAAsC,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAGpG;AAED,wBAAgB,qCAAqC,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAKnG;AAOD,wBAAgB,6CAA6C,CAC3D,KAAK,EAAE,MAAM,GAAG,SAAS,GACxB;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAO1C;AAED,wBAAgB,gDAAgD,CAC9D,KAAK,EAAE,MAAM,GAAG,SAAS,GACxB,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,GAAG,SAAS,CAc7C"}
|
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
import { splitTopLevelComma } from '@chkit/core';
|
|
2
|
-
const MODIFIER_KEYWORDS = [
|
|
2
|
+
const MODIFIER_KEYWORDS = [
|
|
3
|
+
'DEFAULT',
|
|
4
|
+
'EXPRESSION',
|
|
5
|
+
'HIERARCHICAL',
|
|
6
|
+
'BIDIRECTIONAL',
|
|
7
|
+
'INJECTIVE',
|
|
8
|
+
'IS_OBJECT_ID',
|
|
9
|
+
];
|
|
3
10
|
function extractBalancedParenGroup(text, fromIndex) {
|
|
4
11
|
const openIndex = text.indexOf('(', fromIndex);
|
|
5
12
|
if (openIndex === -1)
|
|
@@ -33,25 +40,52 @@ function extractBalancedParenGroup(text, fromIndex) {
|
|
|
33
40
|
}
|
|
34
41
|
return undefined;
|
|
35
42
|
}
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
43
|
+
/**
|
|
44
|
+
* Positions of the parens that open and close the attribute list — the close
|
|
45
|
+
* being the one right before the dictionary's `PRIMARY KEY ...` clause.
|
|
46
|
+
* Returns undefined when there is no balanced attribute list (e.g. a query we
|
|
47
|
+
* can't parse).
|
|
48
|
+
*/
|
|
49
|
+
function findAttributeListBounds(query) {
|
|
39
50
|
const nameMatch = query.match(/\bCREATE\s+(?:OR\s+REPLACE\s+)?DICTIONARY\s+(?:IF\s+NOT\s+EXISTS\s+)?[`\w.]+\s*/i);
|
|
40
51
|
if (!nameMatch || nameMatch.index === undefined)
|
|
41
52
|
return undefined;
|
|
42
53
|
const start = nameMatch.index + nameMatch[0].length;
|
|
54
|
+
const openIndex = query.indexOf('(', start);
|
|
55
|
+
if (openIndex === -1)
|
|
56
|
+
return undefined;
|
|
43
57
|
const group = extractBalancedParenGroup(query, start);
|
|
44
|
-
|
|
58
|
+
return group ? { open: openIndex, close: group.endIndex - 1 } : undefined;
|
|
59
|
+
}
|
|
60
|
+
function extractCreateDictionaryBody(query) {
|
|
61
|
+
if (!query)
|
|
62
|
+
return undefined;
|
|
63
|
+
const bounds = findAttributeListBounds(query);
|
|
64
|
+
if (!bounds)
|
|
45
65
|
return undefined;
|
|
46
|
-
const
|
|
47
|
-
return
|
|
66
|
+
const body = query.slice(bounds.open + 1, bounds.close).trim();
|
|
67
|
+
return body.length > 0 ? body : undefined;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Everything after the attribute list: `PRIMARY KEY ... SOURCE(...) LAYOUT(...)
|
|
71
|
+
* ...`. This is where dictionary-level clauses live. Table-level keywords like
|
|
72
|
+
* SOURCE/RANGE can also appear inside an attribute's EXPRESSION (`range()` is a
|
|
73
|
+
* real ClickHouse array function) — searching the whole query would risk
|
|
74
|
+
* matching one of those instead of the real clause. Falls back to the whole
|
|
75
|
+
* query when the attribute list can't be located, preserving behaviour for
|
|
76
|
+
* unparseable inputs.
|
|
77
|
+
*/
|
|
78
|
+
function extractDictionaryOptions(query) {
|
|
79
|
+
const bounds = findAttributeListBounds(query);
|
|
80
|
+
return bounds ? query.slice(bounds.close + 1) : query;
|
|
48
81
|
}
|
|
49
82
|
function extractKeywordParenBody(query, keyword) {
|
|
50
|
-
const
|
|
83
|
+
const options = extractDictionaryOptions(query);
|
|
84
|
+
const match = new RegExp(`\\b${keyword}\\s*\\(`, 'i').exec(options);
|
|
51
85
|
if (!match || match.index === undefined)
|
|
52
86
|
return undefined;
|
|
53
87
|
const openIndex = match.index + match[0].length - 1;
|
|
54
|
-
const group = extractBalancedParenGroup(
|
|
88
|
+
const group = extractBalancedParenGroup(options, openIndex);
|
|
55
89
|
return group ? group.content.trim() : undefined;
|
|
56
90
|
}
|
|
57
91
|
// Scans a single attribute's trailing text (everything after `name type`) for the
|
|
@@ -149,6 +183,11 @@ function applyAttributeModifiers(attribute, tail) {
|
|
|
149
183
|
remaining = remaining.replace(/^HIERARCHICAL\b/i, '').trim();
|
|
150
184
|
continue;
|
|
151
185
|
}
|
|
186
|
+
if (/^BIDIRECTIONAL\b/i.test(remaining)) {
|
|
187
|
+
attribute.bidirectional = true;
|
|
188
|
+
remaining = remaining.replace(/^BIDIRECTIONAL\b/i, '').trim();
|
|
189
|
+
continue;
|
|
190
|
+
}
|
|
152
191
|
if (/^INJECTIVE\b/i.test(remaining)) {
|
|
153
192
|
attribute.injective = true;
|
|
154
193
|
remaining = remaining.replace(/^INJECTIVE\b/i, '').trim();
|
|
@@ -190,7 +229,8 @@ export function parseDictionaryAttributesFromCreateDictionaryQuery(query) {
|
|
|
190
229
|
export function parseDictionaryPrimaryKeyFromCreateDictionaryQuery(query) {
|
|
191
230
|
if (!query)
|
|
192
231
|
return [];
|
|
193
|
-
const
|
|
232
|
+
const options = extractDictionaryOptions(query);
|
|
233
|
+
const match = /^\s*PRIMARY\s+KEY\s+([\s\S]*?)(?:\bSOURCE\s*\(|\bLAYOUT\s*\(|\bLIFETIME\s*\(|\bCOMMENT\b|;|$)/i.exec(options);
|
|
194
234
|
const raw = match?.[1]?.trim();
|
|
195
235
|
if (!raw)
|
|
196
236
|
return [];
|
|
@@ -221,4 +261,38 @@ export function parseCommentFromCreateDictionaryQuery(query) {
|
|
|
221
261
|
return undefined;
|
|
222
262
|
return match[1].replace(/\\'/g, "'").replace(/''/g, "'");
|
|
223
263
|
}
|
|
264
|
+
function stripBackticks(value) {
|
|
265
|
+
const trimmed = value.trim();
|
|
266
|
+
return trimmed.startsWith('`') && trimmed.endsWith('`') ? trimmed.slice(1, -1) : trimmed;
|
|
267
|
+
}
|
|
268
|
+
export function parseDictionaryRangeFromCreateDictionaryQuery(query) {
|
|
269
|
+
if (!query)
|
|
270
|
+
return undefined;
|
|
271
|
+
const body = extractKeywordParenBody(query, 'RANGE');
|
|
272
|
+
if (!body)
|
|
273
|
+
return undefined;
|
|
274
|
+
const match = /^MIN\s+(\S+)\s+MAX\s+(\S+)$/i.exec(body.trim());
|
|
275
|
+
if (!match?.[1] || !match[2])
|
|
276
|
+
return undefined;
|
|
277
|
+
return { min: stripBackticks(match[1]), max: stripBackticks(match[2]) };
|
|
278
|
+
}
|
|
279
|
+
export function parseDictionarySettingsFromCreateDictionaryQuery(query) {
|
|
280
|
+
if (!query)
|
|
281
|
+
return undefined;
|
|
282
|
+
const body = extractKeywordParenBody(query, 'SETTINGS');
|
|
283
|
+
if (!body)
|
|
284
|
+
return undefined;
|
|
285
|
+
const out = {};
|
|
286
|
+
for (const part of splitTopLevelComma(body)) {
|
|
287
|
+
const eq = part.indexOf('=');
|
|
288
|
+
if (eq === -1)
|
|
289
|
+
continue;
|
|
290
|
+
const key = part.slice(0, eq).trim();
|
|
291
|
+
if (!key)
|
|
292
|
+
continue;
|
|
293
|
+
const { value } = consumeQuotedOrBareValue(part.slice(eq + 1).trim());
|
|
294
|
+
out[key] = value;
|
|
295
|
+
}
|
|
296
|
+
return Object.keys(out).length > 0 ? out : undefined;
|
|
297
|
+
}
|
|
224
298
|
//# sourceMappingURL=create-dictionary-parser.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-dictionary-parser.js","sourceRoot":"","sources":["../src/create-dictionary-parser.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"create-dictionary-parser.js","sourceRoot":"","sources":["../src/create-dictionary-parser.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-table-parser.d.ts","sourceRoot":"","sources":["../src/create-table-parser.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"create-table-parser.d.ts","sourceRoot":"","sources":["../src/create-table-parser.ts"],"names":[],"mappings":"AAUA,KAAK,yBAAyB,GAC1B;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAC/B;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAA;AA6EjD,wBAAgB,iCAAiC,CAAC,gBAAgB,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAoB9G;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,CAOxG;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,CA8B7B"}
|
|
@@ -1,66 +1,83 @@
|
|
|
1
|
-
import { normalizeProjectionIndex, normalizeSQLFragment, splitTopLevelComma } from '@chkit/core';
|
|
2
|
-
function parseClauseFromCreateTableQuery(createTableQuery, clausePattern, stopPattern) {
|
|
1
|
+
import { findQuoteEnd, findTopLevelSQLPattern, isQuoteChar, normalizeProjectionIndex, normalizeSQLFragment, splitTopLevelComma, unquoteIdentifiers, } from '@chkit/core';
|
|
2
|
+
function parseClauseFromCreateTableQuery(createTableQuery, clausePattern, stopPattern, preserveWhitespace = false) {
|
|
3
3
|
if (!createTableQuery)
|
|
4
4
|
return undefined;
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
// Table-level clauses (ENGINE, ORDER BY, PRIMARY KEY, ...) only appear after
|
|
6
|
+
// the column list. Searching the whole query would match a keyword inside the
|
|
7
|
+
// body — e.g. the `ORDER BY` of a projection's SELECT — and swallow the real
|
|
8
|
+
// clause plus everything up to the next stop keyword (issue #190).
|
|
9
|
+
const options = extractTableOptions(createTableQuery);
|
|
10
|
+
const start = findTopLevelSQLPattern(options, clausePattern);
|
|
11
|
+
if (!start)
|
|
7
12
|
return undefined;
|
|
8
|
-
const afterClause =
|
|
9
|
-
const stop = afterClause
|
|
13
|
+
const afterClause = options.slice(start.index + start.length);
|
|
14
|
+
const stop = findTopLevelSQLPattern(afterClause, stopPattern);
|
|
10
15
|
const raw = (stop ? afterClause.slice(0, stop.index) : afterClause).trim();
|
|
11
16
|
if (!raw)
|
|
12
17
|
return undefined;
|
|
13
|
-
return normalizeSQLFragment(raw);
|
|
18
|
+
return preserveWhitespace ? raw : normalizeSQLFragment(raw);
|
|
14
19
|
}
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
if (openIndex === -1)
|
|
24
|
-
return undefined;
|
|
20
|
+
/**
|
|
21
|
+
* Positions of the parens that open and close the column list — the close being
|
|
22
|
+
* the one right before the table-level `ENGINE =`. Returns undefined when there
|
|
23
|
+
* is no balanced column list (e.g. a view, or a query we can't parse). Quoted
|
|
24
|
+
* strings and identifiers are skipped, so parens or commas inside a quoted
|
|
25
|
+
* table or column name never count.
|
|
26
|
+
*/
|
|
27
|
+
function findColumnListBounds(createTableQuery) {
|
|
25
28
|
let depth = 0;
|
|
26
|
-
let
|
|
27
|
-
let
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
continue;
|
|
32
|
-
if (inString) {
|
|
33
|
-
if (char === stringQuote && left[i - 1] !== '\\') {
|
|
34
|
-
inString = false;
|
|
35
|
-
}
|
|
36
|
-
continue;
|
|
37
|
-
}
|
|
38
|
-
if (char === "'" || char === '"') {
|
|
39
|
-
inString = true;
|
|
40
|
-
stringQuote = char;
|
|
29
|
+
let openIndex = -1;
|
|
30
|
+
for (let i = 0; i < createTableQuery.length; i += 1) {
|
|
31
|
+
const char = createTableQuery[i];
|
|
32
|
+
if (isQuoteChar(char)) {
|
|
33
|
+
i = findQuoteEnd(createTableQuery, i, char);
|
|
41
34
|
continue;
|
|
42
35
|
}
|
|
43
36
|
if (char === '(') {
|
|
37
|
+
if (depth === 0)
|
|
38
|
+
openIndex = i;
|
|
44
39
|
depth += 1;
|
|
45
40
|
continue;
|
|
46
41
|
}
|
|
47
42
|
if (char === ')') {
|
|
48
43
|
depth -= 1;
|
|
49
44
|
if (depth === 0) {
|
|
50
|
-
|
|
51
|
-
|
|
45
|
+
return /^\s*ENGINE\s*=/i.test(createTableQuery.slice(i + 1))
|
|
46
|
+
? { open: openIndex, close: i }
|
|
47
|
+
: undefined;
|
|
52
48
|
}
|
|
53
49
|
}
|
|
54
50
|
}
|
|
55
51
|
return undefined;
|
|
56
52
|
}
|
|
53
|
+
function extractCreateTableBody(createTableQuery) {
|
|
54
|
+
if (!createTableQuery)
|
|
55
|
+
return undefined;
|
|
56
|
+
const bounds = findColumnListBounds(createTableQuery);
|
|
57
|
+
if (!bounds)
|
|
58
|
+
return undefined;
|
|
59
|
+
const body = createTableQuery.slice(bounds.open + 1, bounds.close).trim();
|
|
60
|
+
return body.length > 0 ? body : undefined;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Everything after the column list: `ENGINE = ... PARTITION BY ... ORDER BY ...`.
|
|
64
|
+
* This is where table-level clauses live. Falls back to the whole query when the
|
|
65
|
+
* column list can't be located, preserving behaviour for unparseable inputs.
|
|
66
|
+
*/
|
|
67
|
+
function extractTableOptions(createTableQuery) {
|
|
68
|
+
const bounds = findColumnListBounds(createTableQuery);
|
|
69
|
+
return bounds ? createTableQuery.slice(bounds.close + 1) : createTableQuery;
|
|
70
|
+
}
|
|
57
71
|
export function parseSettingsFromCreateTableQuery(createTableQuery) {
|
|
58
72
|
if (!createTableQuery)
|
|
59
73
|
return {};
|
|
60
|
-
const
|
|
61
|
-
|
|
74
|
+
const options = extractTableOptions(createTableQuery);
|
|
75
|
+
const start = findTopLevelSQLPattern(options, /\bSETTINGS\b/i);
|
|
76
|
+
if (!start)
|
|
62
77
|
return {};
|
|
63
|
-
const
|
|
78
|
+
const tail = options.slice(start.index + start.length);
|
|
79
|
+
const stop = findTopLevelSQLPattern(tail, /\bCOMMENT\b|;/i);
|
|
80
|
+
const rawSettings = (stop ? tail.slice(0, stop.index) : tail).trim();
|
|
64
81
|
if (!rawSettings)
|
|
65
82
|
return {};
|
|
66
83
|
const items = splitTopLevelComma(rawSettings);
|
|
@@ -80,14 +97,14 @@ export function parseSettingsFromCreateTableQuery(createTableQuery) {
|
|
|
80
97
|
export function parseTTLFromCreateTableQuery(createTableQuery) {
|
|
81
98
|
if (!createTableQuery)
|
|
82
99
|
return undefined;
|
|
83
|
-
const ttlMatch = createTableQuery.match(/\bTTL\b([\s\S]*?)(?:\bSETTINGS\b|;|$)/i);
|
|
100
|
+
const ttlMatch = extractTableOptions(createTableQuery).match(/\bTTL\b([\s\S]*?)(?:\bSETTINGS\b|;|$)/i);
|
|
84
101
|
const raw = ttlMatch?.[1]?.trim();
|
|
85
102
|
if (!raw)
|
|
86
103
|
return undefined;
|
|
87
104
|
return normalizeSQLFragment(raw);
|
|
88
105
|
}
|
|
89
106
|
export function parseEngineFromCreateTableQuery(createTableQuery) {
|
|
90
|
-
return parseClauseFromCreateTableQuery(createTableQuery, /\bENGINE\s*=\s*/i, /\bPRIMARY\s+KEY\b|\bORDER\s+BY\b|\bPARTITION\s+BY\b|\bUNIQUE\s+KEY\b|\bSAMPLE\s+BY\b|\bTTL\b|\bSETTINGS\b|;|$/i);
|
|
107
|
+
return parseClauseFromCreateTableQuery(createTableQuery, /\bENGINE\s*=\s*/i, /\bPRIMARY\s+KEY\b|\bORDER\s+BY\b|\bPARTITION\s+BY\b|\bUNIQUE\s+KEY\b|\bSAMPLE\s+BY\b|\bTTL\b|\bSETTINGS\b|\bCOMMENT\b|;|$/i, true);
|
|
91
108
|
}
|
|
92
109
|
export function parsePrimaryKeyFromCreateTableQuery(createTableQuery) {
|
|
93
110
|
return parseClauseFromCreateTableQuery(createTableQuery, /\bPRIMARY\s+KEY\b/i, /\bORDER\s+BY\b|\bPARTITION\s+BY\b|\bUNIQUE\s+KEY\b|\bSAMPLE\s+BY\b|\bTTL\b|\bSETTINGS\b|;|$/i);
|
|
@@ -110,21 +127,21 @@ export function parseProjectionsFromCreateTableQuery(createTableQuery) {
|
|
|
110
127
|
for (const part of parts) {
|
|
111
128
|
// Index-only projections have no SELECT body, so they must be matched
|
|
112
129
|
// before the parenthesized SELECT form.
|
|
113
|
-
const indexMatch = part.match(/^\s*PROJECTION\s+(
|
|
130
|
+
const indexMatch = part.match(/^\s*PROJECTION\s+(`(?:[^`\\]|\\.|``)+`|[A-Za-z_][A-Za-z0-9_]*)\s+INDEX\s+([\s\S]+?)\s+TYPE\s+([A-Za-z_][A-Za-z0-9_]*)\s*$/i);
|
|
114
131
|
if (indexMatch) {
|
|
115
|
-
const name = (indexMatch[1] ??
|
|
116
|
-
const index = normalizeProjectionIndex(indexMatch[
|
|
117
|
-
const type = (indexMatch[
|
|
132
|
+
const name = unquoteIdentifiers(indexMatch[1] ?? '').trim();
|
|
133
|
+
const index = normalizeProjectionIndex(indexMatch[2] ?? '');
|
|
134
|
+
const type = (indexMatch[3] ?? '').trim();
|
|
118
135
|
if (!name || !index || !type)
|
|
119
136
|
continue;
|
|
120
137
|
projections.push({ name, index, type });
|
|
121
138
|
continue;
|
|
122
139
|
}
|
|
123
|
-
const match = part.match(/^\s*PROJECTION\s+(
|
|
140
|
+
const match = part.match(/^\s*PROJECTION\s+(`(?:[^`\\]|\\.|``)+`|[A-Za-z_][A-Za-z0-9_]*)\s*\(([\s\S]*)\)\s*$/i);
|
|
124
141
|
if (!match)
|
|
125
142
|
continue;
|
|
126
|
-
const name = (match[1] ??
|
|
127
|
-
const query = normalizeSQLFragment((match[
|
|
143
|
+
const name = unquoteIdentifiers(match[1] ?? '').trim();
|
|
144
|
+
const query = normalizeSQLFragment((match[2] ?? '').trim());
|
|
128
145
|
if (!name || !query)
|
|
129
146
|
continue;
|
|
130
147
|
projections.push({ name, query });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-table-parser.js","sourceRoot":"","sources":["../src/create-table-parser.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"create-table-parser.js","sourceRoot":"","sources":["../src/create-table-parser.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { ClickHouseExecutor } from './index.js';
|
|
2
2
|
export declare function waitForTable(executor: ClickHouseExecutor, database: string, tableName: string): Promise<void>;
|
|
3
3
|
export declare function waitForView(executor: ClickHouseExecutor, database: string, viewName: string): Promise<void>;
|
|
4
|
+
export declare function waitForDictionary(executor: ClickHouseExecutor, database: string, dictionaryName: string): Promise<void>;
|
|
4
5
|
export declare function waitForColumn(executor: ClickHouseExecutor, database: string, tableName: string, columnName: string): Promise<void>;
|
|
5
6
|
/**
|
|
6
7
|
* Polls a query until its rows satisfy `predicate`, then returns them. Use for
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ddl-propagation.d.ts","sourceRoot":"","sources":["../src/ddl-propagation.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ddl-propagation.d.ts","sourceRoot":"","sources":["../src/ddl-propagation.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAuBpD,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,iBAAiB,CACrC,QAAQ,EAAE,kBAAkB,EAC5B,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,MAAM,GACrB,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;;;;GAIG;AACH,wBAAsB,WAAW,CAAC,CAAC,EACjC,QAAQ,EAAE,kBAAkB,EAC5B,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,OAAO,EACjC,KAAK,SAAgB,GACpB,OAAO,CAAC,CAAC,EAAE,CAAC,CAQd;AAED,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,kBAAkB,EAC5B,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,IAAI,CAAC,CAWf;AAsCD;;;GAGG;AACH,wBAAsB,qBAAqB,CACzC,QAAQ,EAAE,kBAAkB,EAC5B,aAAa,EAAE,MAAM,EACrB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,IAAI,CAAC,CA2Cf"}
|