@chkit/plugin-backfill 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 (64) hide show
  1. package/README.md +3 -3
  2. package/dist/async-backfill.d.ts +13 -2
  3. package/dist/async-backfill.d.ts.map +1 -1
  4. package/dist/async-backfill.js +38 -17
  5. package/dist/async-backfill.js.map +1 -1
  6. package/dist/check.d.ts +1 -1
  7. package/dist/check.d.ts.map +1 -1
  8. package/dist/check.js +42 -2
  9. package/dist/check.js.map +1 -1
  10. package/dist/chunking/e2e/seed-datasets.script.d.ts +2 -5
  11. package/dist/chunking/e2e/seed-datasets.script.d.ts.map +1 -1
  12. package/dist/chunking/e2e/seed-datasets.script.js +4 -7
  13. package/dist/chunking/e2e/seed-datasets.script.js.map +1 -1
  14. package/dist/chunking/services/distribution-source.js.map +1 -1
  15. package/dist/chunking/services/metadata-source.d.ts.map +1 -1
  16. package/dist/chunking/services/metadata-source.js +10 -2
  17. package/dist/chunking/services/metadata-source.js.map +1 -1
  18. package/dist/chunking/services/row-probe.js.map +1 -1
  19. package/dist/chunking/sql.d.ts +2 -0
  20. package/dist/chunking/sql.d.ts.map +1 -1
  21. package/dist/chunking/sql.js +54 -7
  22. package/dist/chunking/sql.js.map +1 -1
  23. package/dist/options.d.ts +20 -2
  24. package/dist/options.d.ts.map +1 -1
  25. package/dist/options.js +18 -1
  26. package/dist/options.js.map +1 -1
  27. package/dist/planner.d.ts +31 -2
  28. package/dist/planner.d.ts.map +1 -1
  29. package/dist/planner.js +211 -9
  30. package/dist/planner.js.map +1 -1
  31. package/dist/plugin.d.ts.map +1 -1
  32. package/dist/plugin.js +34 -3
  33. package/dist/plugin.js.map +1 -1
  34. package/dist/sdk.d.ts +2 -1
  35. package/dist/sdk.d.ts.map +1 -1
  36. package/dist/sdk.js +1 -0
  37. package/dist/sdk.js.map +1 -1
  38. package/dist/state.d.ts +43 -1
  39. package/dist/state.d.ts.map +1 -1
  40. package/dist/state.js +58 -0
  41. package/dist/state.js.map +1 -1
  42. package/dist/types.d.ts +23 -3
  43. package/dist/types.d.ts.map +1 -1
  44. package/package.json +4 -6
  45. package/dist/args.d.ts +0 -111
  46. package/dist/args.d.ts.map +0 -1
  47. package/dist/args.js +0 -146
  48. package/dist/args.js.map +0 -1
  49. package/dist/chunking/build.d.ts +0 -11
  50. package/dist/chunking/build.d.ts.map +0 -1
  51. package/dist/chunking/build.js +0 -51
  52. package/dist/chunking/build.js.map +0 -1
  53. package/dist/chunking/introspect.d.ts +0 -40
  54. package/dist/chunking/introspect.d.ts.map +0 -1
  55. package/dist/chunking/introspect.js +0 -187
  56. package/dist/chunking/introspect.js.map +0 -1
  57. package/dist/chunking/splitter.d.ts +0 -20
  58. package/dist/chunking/splitter.d.ts.map +0 -1
  59. package/dist/chunking/splitter.js +0 -76
  60. package/dist/chunking/splitter.js.map +0 -1
  61. package/dist/runtime.d.ts +0 -54
  62. package/dist/runtime.d.ts.map +0 -1
  63. package/dist/runtime.js +0 -517
  64. package/dist/runtime.js.map +0 -1
package/dist/args.js DELETED
@@ -1,146 +0,0 @@
1
- import { defineFlags, typedFlags } from '@chkit/core';
2
- import { BackfillConfigError } from './errors.js';
3
- export const PLAN_FLAGS = defineFlags([
4
- { name: '--target', type: 'string', description: 'Target table (database.table)', placeholder: '<database.table>' },
5
- { name: '--from', type: 'string', description: 'Start timestamp', placeholder: '<timestamp>' },
6
- { name: '--to', type: 'string', description: 'End timestamp', placeholder: '<timestamp>' },
7
- { name: '--chunk-hours', type: 'string', description: 'Hours per chunk', placeholder: '<hours>' },
8
- { name: '--time-column', type: 'string', description: 'Time column for WHERE clause', placeholder: '<column>' },
9
- { name: '--force-large-window', type: 'boolean', description: 'Allow large time windows without confirmation' },
10
- { name: '--force', type: 'boolean', description: 'Delete existing plan and regenerate from scratch' },
11
- ]);
12
- export const RUN_FLAGS = defineFlags([
13
- { name: '--plan-id', type: 'string', description: 'Plan ID to execute', placeholder: '<id>' },
14
- { name: '--replay-done', type: 'boolean', description: 'Re-execute already completed chunks' },
15
- { name: '--replay-failed', type: 'boolean', description: 'Re-execute failed chunks' },
16
- { name: '--force-overlap', type: 'boolean', description: 'Allow overlapping runs' },
17
- { name: '--force-compatibility', type: 'boolean', description: 'Skip compatibility checks' },
18
- { name: '--force-environment', type: 'boolean', description: 'Skip environment mismatch checks' },
19
- { name: '--simulate-fail-chunk', type: 'string', description: 'Simulate failure on chunk', placeholder: '<chunk-id>' },
20
- { name: '--simulate-fail-count', type: 'string', description: 'Number of simulated failures', placeholder: '<count>' },
21
- ]);
22
- export const RESUME_FLAGS = defineFlags([
23
- { name: '--plan-id', type: 'string', description: 'Plan ID to resume', placeholder: '<id>' },
24
- { name: '--replay-done', type: 'boolean', description: 'Re-execute already completed chunks' },
25
- { name: '--replay-failed', type: 'boolean', description: 'Re-execute failed chunks' },
26
- { name: '--force-overlap', type: 'boolean', description: 'Allow overlapping runs' },
27
- { name: '--force-compatibility', type: 'boolean', description: 'Skip compatibility checks' },
28
- { name: '--force-environment', type: 'boolean', description: 'Skip environment mismatch checks' },
29
- ]);
30
- export const PLAN_ID_FLAGS = defineFlags([
31
- { name: '--plan-id', type: 'string', description: 'Plan ID', placeholder: '<id>' },
32
- ]);
33
- function normalizeTimestamp(raw, flagName) {
34
- const value = raw.trim();
35
- if (value.length === 0) {
36
- throw new BackfillConfigError(`Missing value for ${flagName}`);
37
- }
38
- const date = new Date(value);
39
- if (Number.isNaN(date.getTime())) {
40
- throw new BackfillConfigError(`Invalid timestamp for ${flagName}: ${raw}`);
41
- }
42
- return date.toISOString();
43
- }
44
- function normalizeTarget(raw) {
45
- const value = raw.trim();
46
- if (!/^[A-Za-z0-9_]+\.[A-Za-z0-9_]+$/.test(value)) {
47
- throw new BackfillConfigError('Invalid value for --target. Expected <database.table>.');
48
- }
49
- return value;
50
- }
51
- function normalizePlanId(raw) {
52
- const value = raw.trim();
53
- if (!/^[a-f0-9]{16}$/.test(value)) {
54
- throw new BackfillConfigError('Invalid value for --plan-id. Expected a 16-char lowercase hex id.');
55
- }
56
- return value;
57
- }
58
- export function parsePlanArgs(flags) {
59
- const f = typedFlags(flags, PLAN_FLAGS);
60
- const target = f['--target'];
61
- const from = f['--from'];
62
- const to = f['--to'];
63
- const rawChunkHours = f['--chunk-hours'];
64
- const timeColumn = f['--time-column'];
65
- const forceLargeWindow = f['--force-large-window'] === true;
66
- const force = f['--force'] === true;
67
- let chunkHours;
68
- if (rawChunkHours !== undefined) {
69
- const parsed = Number(rawChunkHours);
70
- if (!Number.isFinite(parsed) || parsed <= 0) {
71
- throw new BackfillConfigError('Invalid value for --chunk-hours. Expected a positive number.');
72
- }
73
- chunkHours = parsed;
74
- }
75
- if (!target)
76
- throw new BackfillConfigError('Missing required --target <database.table>');
77
- if (!from)
78
- throw new BackfillConfigError('Missing required --from <timestamp>');
79
- if (!to)
80
- throw new BackfillConfigError('Missing required --to <timestamp>');
81
- return {
82
- target: normalizeTarget(target),
83
- from: normalizeTimestamp(from, '--from'),
84
- to: normalizeTimestamp(to, '--to'),
85
- chunkHours,
86
- timeColumn: timeColumn?.trim() || undefined,
87
- forceLargeWindow,
88
- force,
89
- };
90
- }
91
- export function parseRunArgs(flags) {
92
- const f = typedFlags(flags, RUN_FLAGS);
93
- const planId = f['--plan-id'];
94
- const replayDone = f['--replay-done'] === true;
95
- const replayFailed = f['--replay-failed'] === true;
96
- const forceOverlap = f['--force-overlap'] === true;
97
- const forceCompatibility = f['--force-compatibility'] === true;
98
- const forceEnvironment = f['--force-environment'] === true;
99
- const simulateFailChunk = f['--simulate-fail-chunk'];
100
- let simulateFailCount = 1;
101
- const rawSimulateFailCount = f['--simulate-fail-count'];
102
- if (rawSimulateFailCount !== undefined) {
103
- const parsed = Number(rawSimulateFailCount);
104
- if (!Number.isFinite(parsed) || parsed <= 0 || !Number.isInteger(parsed)) {
105
- throw new BackfillConfigError('Invalid value for --simulate-fail-count. Expected integer > 0.');
106
- }
107
- simulateFailCount = parsed;
108
- }
109
- if (!planId)
110
- throw new BackfillConfigError('Missing required --plan-id <id>');
111
- return {
112
- planId: normalizePlanId(planId),
113
- replayDone,
114
- replayFailed,
115
- forceOverlap,
116
- forceCompatibility,
117
- forceEnvironment,
118
- simulateFailChunk,
119
- simulateFailCount,
120
- };
121
- }
122
- export function parseResumeArgs(flags) {
123
- const parsed = parseRunArgs(flags);
124
- return {
125
- planId: parsed.planId,
126
- replayDone: parsed.replayDone,
127
- replayFailed: parsed.replayFailed,
128
- forceOverlap: parsed.forceOverlap,
129
- forceCompatibility: parsed.forceCompatibility,
130
- forceEnvironment: parsed.forceEnvironment,
131
- };
132
- }
133
- export function parseStatusArgs(flags) {
134
- const f = typedFlags(flags, PLAN_ID_FLAGS);
135
- const planId = f['--plan-id'];
136
- if (!planId)
137
- throw new BackfillConfigError('Missing required --plan-id <id>');
138
- return { planId: normalizePlanId(planId) };
139
- }
140
- export function parseCancelArgs(flags) {
141
- return parseStatusArgs(flags);
142
- }
143
- export function parseDoctorArgs(flags) {
144
- return parseStatusArgs(flags);
145
- }
146
- //# sourceMappingURL=args.js.map
package/dist/args.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"args.js","sourceRoot":"","sources":["../src/args.ts"],"names":[],"mappings":"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"}
@@ -1,11 +0,0 @@
1
- import type { ChunkBoundary, PartitionInfo, SortKeyInfo } from './types.js';
2
- export declare function buildChunkBoundaries(input: {
3
- partitions: PartitionInfo[];
4
- maxChunkBytes: number;
5
- sortKey?: SortKeyInfo;
6
- sortKeyRanges?: Map<string, {
7
- min: string;
8
- max: string;
9
- }>;
10
- }): ChunkBoundary[];
11
- //# sourceMappingURL=build.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/chunking/build.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAE3E,wBAAgB,oBAAoB,CAAC,KAAK,EAAE;IAC1C,UAAU,EAAE,aAAa,EAAE,CAAA;IAC3B,aAAa,EAAE,MAAM,CAAA;IACrB,OAAO,CAAC,EAAE,WAAW,CAAA;IACrB,aAAa,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAC1D,GAAG,aAAa,EAAE,CAmDlB"}
@@ -1,51 +0,0 @@
1
- import { splitSortKeyRange } from './splitter.js';
2
- export function buildChunkBoundaries(input) {
3
- const boundaries = [];
4
- for (const partition of input.partitions) {
5
- if (partition.bytesOnDisk <= input.maxChunkBytes) {
6
- boundaries.push({
7
- partitionId: partition.partitionId,
8
- estimatedBytes: partition.bytesOnDisk,
9
- });
10
- }
11
- else if (input.sortKey && input.sortKeyRanges) {
12
- const range = input.sortKeyRanges.get(partition.partitionId);
13
- if (!range) {
14
- // No range data — emit as single chunk
15
- boundaries.push({
16
- partitionId: partition.partitionId,
17
- estimatedBytes: partition.bytesOnDisk,
18
- });
19
- continue;
20
- }
21
- // If min === max, splitting would produce empty sub-ranges; emit as single chunk
22
- if (range.min === range.max) {
23
- boundaries.push({
24
- partitionId: partition.partitionId,
25
- estimatedBytes: partition.bytesOnDisk,
26
- });
27
- continue;
28
- }
29
- const subCount = Math.ceil(partition.bytesOnDisk / input.maxChunkBytes);
30
- const subRanges = splitSortKeyRange(input.sortKey.category, range.min, range.max, subCount);
31
- const estimatedBytesPerSub = Math.ceil(partition.bytesOnDisk / subCount);
32
- for (const sub of subRanges) {
33
- boundaries.push({
34
- partitionId: partition.partitionId,
35
- sortKeyFrom: sub.from,
36
- sortKeyTo: sub.to,
37
- estimatedBytes: estimatedBytesPerSub,
38
- });
39
- }
40
- }
41
- else {
42
- // No sort key info — emit as single chunk despite being oversized
43
- boundaries.push({
44
- partitionId: partition.partitionId,
45
- estimatedBytes: partition.bytesOnDisk,
46
- });
47
- }
48
- }
49
- return boundaries;
50
- }
51
- //# sourceMappingURL=build.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/chunking/build.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AAGjD,MAAM,UAAU,oBAAoB,CAAC,KAKpC;IACC,MAAM,UAAU,GAAoB,EAAE,CAAA;IAEtC,KAAK,MAAM,SAAS,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;QACzC,IAAI,SAAS,CAAC,WAAW,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;YACjD,UAAU,CAAC,IAAI,CAAC;gBACd,WAAW,EAAE,SAAS,CAAC,WAAW;gBAClC,cAAc,EAAE,SAAS,CAAC,WAAW;aACtC,CAAC,CAAA;QACJ,CAAC;aAAM,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;YAChD,MAAM,KAAK,GAAG,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;YAC5D,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,uCAAuC;gBACvC,UAAU,CAAC,IAAI,CAAC;oBACd,WAAW,EAAE,SAAS,CAAC,WAAW;oBAClC,cAAc,EAAE,SAAS,CAAC,WAAW;iBACtC,CAAC,CAAA;gBACF,SAAQ;YACV,CAAC;YAED,iFAAiF;YACjF,IAAI,KAAK,CAAC,GAAG,KAAK,KAAK,CAAC,GAAG,EAAE,CAAC;gBAC5B,UAAU,CAAC,IAAI,CAAC;oBACd,WAAW,EAAE,SAAS,CAAC,WAAW;oBAClC,cAAc,EAAE,SAAS,CAAC,WAAW;iBACtC,CAAC,CAAA;gBACF,SAAQ;YACV,CAAC;YAED,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,GAAG,KAAK,CAAC,aAAa,CAAC,CAAA;YACvE,MAAM,SAAS,GAAG,iBAAiB,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;YAC3F,MAAM,oBAAoB,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,GAAG,QAAQ,CAAC,CAAA;YAExE,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;gBAC5B,UAAU,CAAC,IAAI,CAAC;oBACd,WAAW,EAAE,SAAS,CAAC,WAAW;oBAClC,WAAW,EAAE,GAAG,CAAC,IAAI;oBACrB,SAAS,EAAE,GAAG,CAAC,EAAE;oBACjB,cAAc,EAAE,oBAAoB;iBACrC,CAAC,CAAA;YACJ,CAAC;QACH,CAAC;aAAM,CAAC;YACN,kEAAkE;YAClE,UAAU,CAAC,IAAI,CAAC;gBACd,WAAW,EAAE,SAAS,CAAC,WAAW;gBAClC,cAAc,EAAE,SAAS,CAAC,WAAW;aACtC,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IAED,OAAO,UAAU,CAAA;AACnB,CAAC"}
@@ -1,40 +0,0 @@
1
- import type { PartitionInfo, SortKeyInfo } from './types.js';
2
- export declare function queryPartitionInfo(input: {
3
- database: string;
4
- table: string;
5
- from?: string;
6
- to?: string;
7
- query: <T>(sql: string) => Promise<T[]>;
8
- }): Promise<PartitionInfo[]>;
9
- export declare function querySortKeys(input: {
10
- database: string;
11
- table: string;
12
- query: <T>(sql: string) => Promise<T[]>;
13
- }): Promise<SortKeyInfo[]>;
14
- export declare function querySortKeyInfo(input: {
15
- database: string;
16
- table: string;
17
- query: <T>(sql: string) => Promise<T[]>;
18
- }): Promise<SortKeyInfo | undefined>;
19
- export declare function querySortKeyRanges(input: {
20
- database: string;
21
- table: string;
22
- sortKeyColumn: string;
23
- partitionIds: string[];
24
- query: <T>(sql: string) => Promise<T[]>;
25
- }): Promise<Map<string, {
26
- min: string;
27
- max: string;
28
- }>>;
29
- export declare function introspectTable(input: {
30
- database: string;
31
- table: string;
32
- from?: string;
33
- to?: string;
34
- query: <T>(sql: string) => Promise<T[]>;
35
- }): Promise<{
36
- partitions: PartitionInfo[];
37
- sortKey?: SortKeyInfo;
38
- sortKeys: SortKeyInfo[];
39
- }>;
40
- //# sourceMappingURL=introspect.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"introspect.d.ts","sourceRoot":"","sources":["../../src/chunking/introspect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAkB5D,wBAAsB,kBAAkB,CAAC,KAAK,EAAE;IAC9C,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC,EAAE,CAAC,CAAA;CACxC,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CA+C3B;AA2FD,wBAAsB,aAAa,CAAC,KAAK,EAAE;IACzC,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC,EAAE,CAAC,CAAA;CACxC,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CA6CzB;AAED,wBAAsB,gBAAgB,CAAC,KAAK,EAAE;IAC5C,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC,EAAE,CAAC,CAAA;CACxC,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CAEnC;AAED,wBAAsB,kBAAkB,CAAC,KAAK,EAAE;IAC9C,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;IACb,aAAa,EAAE,MAAM,CAAA;IACrB,YAAY,EAAE,MAAM,EAAE,CAAA;IACtB,KAAK,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC,EAAE,CAAC,CAAA;CACxC,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,CAiBrD;AAED,wBAAsB,eAAe,CAAC,KAAK,EAAE;IAC3C,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC,EAAE,CAAC,CAAA;CACxC,GAAG,OAAO,CAAC;IAAE,UAAU,EAAE,aAAa,EAAE,CAAC;IAAC,OAAO,CAAC,EAAE,WAAW,CAAC;IAAC,QAAQ,EAAE,WAAW,EAAE,CAAA;CAAE,CAAC,CAS3F"}
@@ -1,187 +0,0 @@
1
- const NUMERIC_TYPES = new Set([
2
- 'Int8', 'Int16', 'Int32', 'Int64', 'Int128', 'Int256',
3
- 'UInt8', 'UInt16', 'UInt32', 'UInt64', 'UInt128', 'UInt256',
4
- 'Float32', 'Float64',
5
- ]);
6
- const DATETIME_TYPES = new Set(['Date', 'Date32', 'DateTime', 'DateTime64']);
7
- function classifySortKeyType(type) {
8
- if (NUMERIC_TYPES.has(type))
9
- return 'numeric';
10
- if (DATETIME_TYPES.has(type))
11
- return 'datetime';
12
- if (type.startsWith('DateTime64('))
13
- return 'datetime';
14
- if (type.startsWith("DateTime('"))
15
- return 'datetime';
16
- return 'string';
17
- }
18
- export async function queryPartitionInfo(input) {
19
- // Force replica sync on the target table before reading system.parts.
20
- // select_sequential_consistency is only effective on user tables, not system
21
- // tables, so this preliminary query ensures the replica has caught up with
22
- // all pending writes before we inspect part metadata.
23
- await input.query(`SELECT 1 FROM ${input.database}.${input.table} LIMIT 1 SETTINGS select_sequential_consistency = 1`);
24
- const rows = await input.query(`SELECT
25
- partition_id,
26
- toString(sum(rows)) AS total_rows,
27
- toString(sum(bytes_on_disk)) AS total_bytes,
28
- toString(sum(data_uncompressed_bytes)) AS total_uncompressed_bytes,
29
- toString(min(min_time)) AS min_time,
30
- toString(max(max_time)) AS max_time
31
- FROM system.parts
32
- WHERE database = '${input.database}'
33
- AND table = '${input.table}'
34
- AND active = 1
35
- GROUP BY partition_id
36
- ORDER BY partition_id
37
- SETTINGS select_sequential_consistency = 1`);
38
- const partitions = rows.map((row) => ({
39
- partitionId: row.partition_id,
40
- rows: Number(row.total_rows),
41
- bytesOnDisk: Number(row.total_bytes),
42
- bytesUncompressed: Number(row.total_uncompressed_bytes ?? row.total_bytes),
43
- minTime: new Date(row.min_time).toISOString(),
44
- maxTime: new Date(row.max_time).toISOString(),
45
- }));
46
- return partitions.filter((p) => {
47
- if (input.from && p.maxTime < input.from)
48
- return false;
49
- if (input.to && p.minTime >= input.to)
50
- return false;
51
- return true;
52
- });
53
- }
54
- function extractSortKeyColumns(sortingKey) {
55
- return splitTopLevelCsv(sortingKey)
56
- .map((part) => part.trim())
57
- .filter((part) => part.length > 0);
58
- }
59
- function splitTopLevelCsv(input) {
60
- const parts = [];
61
- let current = '';
62
- let depth = 0;
63
- let quote;
64
- for (let index = 0; index < input.length; index++) {
65
- const char = input[index];
66
- if (char === undefined)
67
- continue;
68
- if (quote) {
69
- current += char;
70
- if (char === quote && input[index - 1] !== '\\') {
71
- quote = undefined;
72
- }
73
- continue;
74
- }
75
- if (char === '\'' || char === '"') {
76
- quote = char;
77
- current += char;
78
- continue;
79
- }
80
- if (char === '(') {
81
- depth += 1;
82
- current += char;
83
- continue;
84
- }
85
- if (char === ')') {
86
- depth = Math.max(0, depth - 1);
87
- current += char;
88
- continue;
89
- }
90
- if (char === ',' && depth === 0) {
91
- parts.push(current.trim());
92
- current = '';
93
- continue;
94
- }
95
- current += char;
96
- }
97
- if (current.trim().length > 0) {
98
- parts.push(current.trim());
99
- }
100
- return parts;
101
- }
102
- function resolveSortKeyColumn(expression, knownColumns) {
103
- const trimmed = expression.trim();
104
- if (knownColumns.has(trimmed)) {
105
- return trimmed;
106
- }
107
- const identifiers = Array.from(trimmed.matchAll(/\b[A-Za-z_][A-Za-z0-9_]*\b/g))
108
- .map((match) => match[0])
109
- .filter((identifier) => Boolean(identifier));
110
- const matches = Array.from(new Set(identifiers.filter((identifier) => knownColumns.has(identifier))));
111
- if (matches.length === 1) {
112
- return matches[0];
113
- }
114
- return undefined;
115
- }
116
- function resolveSortKeyColumnWithoutSchema(expression) {
117
- const trimmed = expression.trim();
118
- if (/^[A-Za-z_][A-Za-z0-9_]*$/.test(trimmed)) {
119
- return trimmed;
120
- }
121
- const identifiers = Array.from(trimmed.matchAll(/\b[A-Za-z_][A-Za-z0-9_]*\b/g))
122
- .map((match) => match[0])
123
- .filter((identifier) => Boolean(identifier));
124
- return identifiers.length > 0 ? identifiers[identifiers.length - 1] : undefined;
125
- }
126
- export async function querySortKeys(input) {
127
- const tableRows = await input.query(`SELECT sorting_key FROM system.tables WHERE database = '${input.database}' AND name = '${input.table}'`);
128
- const sortingKey = tableRows[0]?.sorting_key;
129
- if (!sortingKey)
130
- return [];
131
- const expressions = extractSortKeyColumns(sortingKey);
132
- if (expressions.length === 0)
133
- return [];
134
- const columnRows = await input.query(`SELECT name, type FROM system.columns WHERE database = '${input.database}' AND table = '${input.table}'`);
135
- const typeByName = new Map(columnRows
136
- .filter((row) => Boolean(row.name))
137
- .map((row) => [row.name, row.type]));
138
- const knownColumns = new Set(typeByName.keys());
139
- if (knownColumns.size === 0) {
140
- return expressions.flatMap((expression, index) => {
141
- const column = resolveSortKeyColumnWithoutSchema(expression);
142
- const type = columnRows[index]?.type ?? columnRows[0]?.type;
143
- if (!column || !type)
144
- return [];
145
- return [{
146
- column,
147
- type,
148
- category: classifySortKeyType(type),
149
- }];
150
- });
151
- }
152
- return expressions.flatMap((expression) => {
153
- const column = resolveSortKeyColumn(expression, knownColumns);
154
- if (!column)
155
- return [];
156
- const type = typeByName.get(column) ?? 'String';
157
- return [{
158
- column,
159
- type,
160
- category: classifySortKeyType(type),
161
- }];
162
- });
163
- }
164
- export async function querySortKeyInfo(input) {
165
- return (await querySortKeys(input))[0];
166
- }
167
- export async function querySortKeyRanges(input) {
168
- if (input.partitionIds.length === 0)
169
- return new Map();
170
- const inList = input.partitionIds.map((id) => `'${id}'`).join(', ');
171
- const rows = await input.query(`SELECT _partition_id AS partition_id, toString(min(${input.sortKeyColumn})) AS min_val, toString(max(${input.sortKeyColumn})) AS max_val FROM ${input.database}.${input.table} WHERE _partition_id IN (${inList}) GROUP BY _partition_id SETTINGS select_sequential_consistency = 1`);
172
- const result = new Map();
173
- for (const row of rows) {
174
- result.set(row.partition_id, { min: row.min_val, max: row.max_val });
175
- }
176
- return result;
177
- }
178
- export async function introspectTable(input) {
179
- const partitions = await queryPartitionInfo(input);
180
- const sortKeys = await querySortKeys({
181
- database: input.database,
182
- table: input.table,
183
- query: input.query,
184
- });
185
- return { partitions, sortKey: sortKeys[0], sortKeys };
186
- }
187
- //# sourceMappingURL=introspect.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"introspect.js","sourceRoot":"","sources":["../../src/chunking/introspect.ts"],"names":[],"mappings":"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"}
@@ -1,20 +0,0 @@
1
- import type { SortKeyInfo } from './types.js';
2
- export declare function splitNumericRange(min: number, max: number, count: number): Array<{
3
- from: string;
4
- to: string;
5
- }>;
6
- export declare function splitDateTimeRange(min: string, max: string, count: number): Array<{
7
- from: string;
8
- to: string;
9
- }>;
10
- export declare function stringToUint64(s: string): bigint;
11
- export declare function uint64ToString(n: bigint): string;
12
- export declare function splitStringRange(min: string, max: string, count: number): Array<{
13
- from: string;
14
- to: string;
15
- }>;
16
- export declare function splitSortKeyRange(category: SortKeyInfo['category'], min: string, max: string, count: number): Array<{
17
- from: string;
18
- to: string;
19
- }>;
20
- //# sourceMappingURL=splitter.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"splitter.d.ts","sourceRoot":"","sources":["../../src/chunking/splitter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAE7C,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC,CAU9G;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC,CAc/G;AAED,wBAAgB,cAAc,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAWhD;AAED,wBAAgB,cAAc,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAUhD;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC,CAc7G;AAED,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,WAAW,CAAC,UAAU,CAAC,EACjC,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,GACZ,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC,CASrC"}
@@ -1,76 +0,0 @@
1
- export function splitNumericRange(min, max, count) {
2
- const span = max - min;
3
- const step = span / count;
4
- const ranges = [];
5
- for (let i = 0; i < count; i++) {
6
- const from = min + i * step;
7
- const to = i === count - 1 ? max + 1 : min + (i + 1) * step;
8
- ranges.push({ from: String(from), to: String(to) });
9
- }
10
- return ranges;
11
- }
12
- export function splitDateTimeRange(min, max, count) {
13
- const minMs = new Date(min).getTime();
14
- const maxMs = new Date(max).getTime();
15
- const span = maxMs - minMs;
16
- const step = span / count;
17
- const ranges = [];
18
- for (let i = 0; i < count; i++) {
19
- const from = new Date(minMs + i * step).toISOString();
20
- const to = i === count - 1
21
- ? new Date(maxMs + 1).toISOString()
22
- : new Date(minMs + (i + 1) * step).toISOString();
23
- ranges.push({ from, to });
24
- }
25
- return ranges;
26
- }
27
- export function stringToUint64(s) {
28
- let result = 0n;
29
- const bytes = Math.min(s.length, 8);
30
- for (let i = 0; i < bytes; i++) {
31
- result = (result << 8n) | BigInt(s.charCodeAt(i));
32
- }
33
- // Pad remaining bytes with zeros
34
- for (let i = bytes; i < 8; i++) {
35
- result = result << 8n;
36
- }
37
- return result;
38
- }
39
- export function uint64ToString(n) {
40
- const chars = [];
41
- for (let i = 7; i >= 0; i--) {
42
- const byte = Number((n >> BigInt(i * 8)) & 0xffn);
43
- chars.push(String.fromCharCode(byte));
44
- }
45
- // Trim trailing NUL bytes (padding from stringToUint64 for short strings)
46
- let end = chars.length;
47
- while (end > 0 && chars[end - 1] === '\0')
48
- end--;
49
- return chars.slice(0, end).join('');
50
- }
51
- export function splitStringRange(min, max, count) {
52
- const minVal = stringToUint64(min);
53
- const maxVal = stringToUint64(max);
54
- const span = maxVal - minVal;
55
- const step = span / BigInt(count);
56
- const ranges = [];
57
- for (let i = 0; i < count; i++) {
58
- const from = uint64ToString(minVal + BigInt(i) * step);
59
- const to = i === count - 1
60
- ? uint64ToString(maxVal + 1n)
61
- : uint64ToString(minVal + BigInt(i + 1) * step);
62
- ranges.push({ from, to });
63
- }
64
- return ranges;
65
- }
66
- export function splitSortKeyRange(category, min, max, count) {
67
- switch (category) {
68
- case 'numeric':
69
- return splitNumericRange(Number(min), Number(max), count);
70
- case 'datetime':
71
- return splitDateTimeRange(min, max, count);
72
- case 'string':
73
- return splitStringRange(min, max, count);
74
- }
75
- }
76
- //# sourceMappingURL=splitter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"splitter.js","sourceRoot":"","sources":["../../src/chunking/splitter.ts"],"names":[],"mappings":"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"}
package/dist/runtime.d.ts DELETED
@@ -1,54 +0,0 @@
1
- import type { ResolvedChxConfig } from '@chkit/core';
2
- import type { BackfillDoctorReport, BackfillExecutionOptions, BackfillPluginCheckResult, BackfillStatusSummary, ExecuteBackfillRunOutput, NormalizedBackfillPluginOptions } from './types.js';
3
- export declare function evaluateBackfillCheck(input: {
4
- configPath: string;
5
- config: Pick<ResolvedChxConfig, 'metaDir'>;
6
- options: NormalizedBackfillPluginOptions;
7
- }): Promise<BackfillPluginCheckResult>;
8
- export declare function executeBackfillRun(input: {
9
- planId: string;
10
- configPath: string;
11
- config: Pick<ResolvedChxConfig, 'metaDir'>;
12
- options: NormalizedBackfillPluginOptions;
13
- execution?: BackfillExecutionOptions;
14
- execute?: (sql: string) => Promise<undefined | {
15
- rowsWritten?: number;
16
- }>;
17
- clickhouse?: {
18
- url: string;
19
- database: string;
20
- };
21
- }): Promise<ExecuteBackfillRunOutput>;
22
- export declare function resumeBackfillRun(input: {
23
- planId: string;
24
- configPath: string;
25
- config: Pick<ResolvedChxConfig, 'metaDir'>;
26
- options: NormalizedBackfillPluginOptions;
27
- execution?: BackfillExecutionOptions;
28
- execute?: (sql: string) => Promise<undefined | {
29
- rowsWritten?: number;
30
- }>;
31
- clickhouse?: {
32
- url: string;
33
- database: string;
34
- };
35
- }): Promise<ExecuteBackfillRunOutput>;
36
- export declare function getBackfillStatus(input: {
37
- planId: string;
38
- configPath: string;
39
- config: Pick<ResolvedChxConfig, 'metaDir'>;
40
- options: NormalizedBackfillPluginOptions;
41
- }): Promise<BackfillStatusSummary>;
42
- export declare function cancelBackfillRun(input: {
43
- planId: string;
44
- configPath: string;
45
- config: Pick<ResolvedChxConfig, 'metaDir'>;
46
- options: NormalizedBackfillPluginOptions;
47
- }): Promise<BackfillStatusSummary>;
48
- export declare function getBackfillDoctorReport(input: {
49
- planId: string;
50
- configPath: string;
51
- config: Pick<ResolvedChxConfig, 'metaDir'>;
52
- options: NormalizedBackfillPluginOptions;
53
- }): Promise<BackfillDoctorReport>;
54
- //# sourceMappingURL=runtime.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAiBpD,OAAO,KAAK,EACV,oBAAoB,EAEpB,wBAAwB,EACxB,yBAAyB,EAGzB,qBAAqB,EACrB,wBAAwB,EACxB,+BAA+B,EAChC,MAAM,YAAY,CAAA;AAEnB,wBAAsB,qBAAqB,CAAC,KAAK,EAAE;IACjD,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,IAAI,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAA;IAC1C,OAAO,EAAE,+BAA+B,CAAA;CACzC,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAgFrC;AA+RD,wBAAsB,kBAAkB,CAAC,KAAK,EAAE;IAC9C,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,IAAI,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAA;IAC1C,OAAO,EAAE,+BAA+B,CAAA;IACxC,SAAS,CAAC,EAAE,wBAAwB,CAAA;IACpC,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,SAAS,GAAG;QAAE,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IACxE,UAAU,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAA;CAC/C,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAgEpC;AAED,wBAAsB,iBAAiB,CAAC,KAAK,EAAE;IAC7C,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,IAAI,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAA;IAC1C,OAAO,EAAE,+BAA+B,CAAA;IACxC,SAAS,CAAC,EAAE,wBAAwB,CAAA;IACpC,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,SAAS,GAAG;QAAE,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IACxE,UAAU,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAA;CAC/C,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAyDpC;AAED,wBAAsB,iBAAiB,CAAC,KAAK,EAAE;IAC7C,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,IAAI,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAA;IAC1C,OAAO,EAAE,+BAA+B,CAAA;CACzC,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAgCjC;AAED,wBAAsB,iBAAiB,CAAC,KAAK,EAAE;IAC7C,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,IAAI,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAA;IAC1C,OAAO,EAAE,+BAA+B,CAAA;CACzC,GAAG,OAAO,CAAC,qBAAqB,CAAC,CA0CjC;AAED,wBAAsB,uBAAuB,CAAC,KAAK,EAAE;IACnD,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,IAAI,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAA;IAC1C,OAAO,EAAE,+BAA+B,CAAA;CACzC,GAAG,OAAO,CAAC,oBAAoB,CAAC,CA2ChC"}