@jantokic/chtype 0.3.0 → 0.4.1

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 (40) hide show
  1. package/dist/client/client.d.ts +3 -3
  2. package/dist/client/client.d.ts.map +1 -1
  3. package/dist/client/client.js.map +1 -1
  4. package/dist/migrate/differ.d.ts +43 -0
  5. package/dist/migrate/differ.d.ts.map +1 -0
  6. package/dist/migrate/differ.js +77 -0
  7. package/dist/migrate/differ.js.map +1 -0
  8. package/dist/migrate/generator.d.ts +40 -0
  9. package/dist/migrate/generator.d.ts.map +1 -0
  10. package/dist/migrate/generator.js +134 -0
  11. package/dist/migrate/generator.js.map +1 -0
  12. package/dist/migrate/index.d.ts +4 -0
  13. package/dist/migrate/index.d.ts.map +1 -0
  14. package/dist/migrate/index.js +4 -0
  15. package/dist/migrate/index.js.map +1 -0
  16. package/dist/migrate/snapshot.d.ts +31 -0
  17. package/dist/migrate/snapshot.d.ts.map +1 -0
  18. package/dist/migrate/snapshot.js +68 -0
  19. package/dist/migrate/snapshot.js.map +1 -0
  20. package/dist/query/expressions.d.ts +6 -4
  21. package/dist/query/expressions.d.ts.map +1 -1
  22. package/dist/query/expressions.js +1 -1
  23. package/dist/query/expressions.js.map +1 -1
  24. package/dist/query/index.d.ts +2 -1
  25. package/dist/query/index.d.ts.map +1 -1
  26. package/dist/query/index.js +1 -0
  27. package/dist/query/index.js.map +1 -1
  28. package/dist/query/query-builder.d.ts +1 -1
  29. package/dist/query/query-builder.d.ts.map +1 -1
  30. package/dist/query/query-builder.js.map +1 -1
  31. package/dist/query/select-builder.d.ts +23 -19
  32. package/dist/query/select-builder.d.ts.map +1 -1
  33. package/dist/query/select-builder.js.map +1 -1
  34. package/dist/query/sql-template.d.ts +37 -0
  35. package/dist/query/sql-template.d.ts.map +1 -0
  36. package/dist/query/sql-template.js +80 -0
  37. package/dist/query/sql-template.js.map +1 -0
  38. package/dist/query/types.d.ts +6 -2
  39. package/dist/query/types.d.ts.map +1 -1
  40. package/package.json +5 -1
@@ -6,10 +6,10 @@
6
6
  import { type ClickHouseClient as BaseClient, type ClickHouseClientConfigOptions } from '@clickhouse/client';
7
7
  import type { CompiledQuery, DatabaseSchema, InsertType, TableName } from '../query/types.js';
8
8
  export interface ChtypeClient<DB extends DatabaseSchema> {
9
- /** Execute a compiled query and return typed rows. */
10
- execute<T = Record<string, unknown>>(query: CompiledQuery): Promise<T[]>;
9
+ /** Execute a compiled query and return typed rows. Result type is inferred from the compiled query. */
10
+ execute<T = Record<string, unknown>>(query: CompiledQuery<T>): Promise<T[]>;
11
11
  /** Execute a compiled query and return a typed async iterable for streaming large result sets. */
12
- stream<T = Record<string, unknown>>(query: CompiledQuery): AsyncIterable<T[]>;
12
+ stream<T = Record<string, unknown>>(query: CompiledQuery<T>): AsyncIterable<T[]>;
13
13
  /** Execute a raw SQL query with optional parameters. */
14
14
  query<T = Record<string, unknown>>(sql: string, params?: Record<string, unknown>): Promise<T[]>;
15
15
  /** Insert rows into a table. Type-checked against the table's Insert type. */
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client/client.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,KAAK,gBAAgB,IAAI,UAAU,EACnC,KAAK,6BAA6B,EAEnC,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE9F,MAAM,WAAW,YAAY,CAAC,EAAE,SAAS,cAAc;IACrD,sDAAsD;IACtD,OAAO,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;IAEzE,kGAAkG;IAClG,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,aAAa,GAAG,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC;IAE9E,wDAAwD;IACxD,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;IAEhG,8EAA8E;IAC9E,MAAM,CAAC,CAAC,SAAS,SAAS,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEpF;;;;;;OAMG;IACH,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEpC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAC;CAC1B;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,YAAY,CAAC,EAAE,SAAS,cAAc,EACpD,OAAO,EAAE,6BAA6B,GACrC,YAAY,CAAC,EAAE,CAAC,CA0DlB"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client/client.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,KAAK,gBAAgB,IAAI,UAAU,EACnC,KAAK,6BAA6B,EAEnC,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE9F,MAAM,WAAW,YAAY,CAAC,EAAE,SAAS,cAAc;IACrD,uGAAuG;IACvG,OAAO,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;IAE5E,kGAAkG;IAClG,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC;IAEjF,wDAAwD;IACxD,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;IAEhG,8EAA8E;IAC9E,MAAM,CAAC,CAAC,SAAS,SAAS,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEpF;;;;;;OAMG;IACH,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEpC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAC;CAC1B;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,YAAY,CAAC,EAAE,SAAS,cAAc,EACpD,OAAO,EAAE,6BAA6B,GACrC,YAAY,CAAC,EAAE,CAAC,CA0DlB"}
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client/client.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAGL,YAAY,IAAI,gBAAgB,GACjC,MAAM,oBAAoB,CAAC;AA6B5B;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,YAAY,CAC1B,OAAsC;IAEtC,MAAM,MAAM,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAEzC,OAAO;QACL,KAAK,CAAC,OAAO,CAA8B,KAAoB;YAC7D,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC;gBAChC,KAAK,EAAE,KAAK,CAAC,GAAG;gBAChB,YAAY,EAAE,KAAK,CAAC,MAAM;gBAC1B,MAAM,EAAE,aAAa;aACtB,CAAC,CAAC;YACH,OAAO,MAAM,CAAC,IAAI,EAAK,CAAC;QAC1B,CAAC;QAED,KAAK,CAAC,CAAC,MAAM,CAA8B,KAAoB;YAC7D,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC;gBAChC,KAAK,EAAE,KAAK,CAAC,GAAG;gBAChB,YAAY,EAAE,KAAK,CAAC,MAAM;gBAC1B,MAAM,EAAE,aAAa;aACtB,CAAC,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,EAAK,CAAC;YAClC,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;gBAChC,MAAM,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;YACtC,CAAC;QACH,CAAC;QAED,KAAK,CAAC,KAAK,CACT,GAAW,EACX,MAAgC;YAEhC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC;gBAChC,KAAK,EAAE,GAAG;gBACV,YAAY,EAAE,MAAM;gBACpB,MAAM,EAAE,aAAa;aACtB,CAAC,CAAC;YACH,OAAO,MAAM,CAAC,IAAI,EAAK,CAAC;QAC1B,CAAC;QAED,KAAK,CAAC,MAAM,CAA0B,KAAQ,EAAE,IAAyB;YACvE,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO;YAC9B,MAAM,MAAM,CAAC,MAAM,CAAC;gBAClB,KAAK,EAAE,KAAe;gBACtB,MAAM,EAAE,IAAI;gBACZ,MAAM,EAAE,aAAa;aACtB,CAAC,CAAC;QACL,CAAC;QAED,KAAK,CAAC,OAAO,CAAC,GAAW;YACvB,MAAM,MAAM,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;QACvC,CAAC;QAED,KAAK,CAAC,KAAK;YACT,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;QACvB,CAAC;QAED,IAAI,GAAG;YACL,OAAO,MAAM,CAAC;QAChB,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client/client.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAGL,YAAY,IAAI,gBAAgB,GACjC,MAAM,oBAAoB,CAAC;AA6B5B;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,YAAY,CAC1B,OAAsC;IAEtC,MAAM,MAAM,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAEzC,OAAO;QACL,KAAK,CAAC,OAAO,CAA8B,KAAuB;YAChE,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC;gBAChC,KAAK,EAAE,KAAK,CAAC,GAAG;gBAChB,YAAY,EAAE,KAAK,CAAC,MAAM;gBAC1B,MAAM,EAAE,aAAa;aACtB,CAAC,CAAC;YACH,OAAO,MAAM,CAAC,IAAI,EAAK,CAAC;QAC1B,CAAC;QAED,KAAK,CAAC,CAAC,MAAM,CAA8B,KAAuB;YAChE,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC;gBAChC,KAAK,EAAE,KAAK,CAAC,GAAG;gBAChB,YAAY,EAAE,KAAK,CAAC,MAAM;gBAC1B,MAAM,EAAE,aAAa;aACtB,CAAC,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,EAAK,CAAC;YAClC,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;gBAChC,MAAM,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;YACtC,CAAC;QACH,CAAC;QAED,KAAK,CAAC,KAAK,CACT,GAAW,EACX,MAAgC;YAEhC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC;gBAChC,KAAK,EAAE,GAAG;gBACV,YAAY,EAAE,MAAM;gBACpB,MAAM,EAAE,aAAa;aACtB,CAAC,CAAC;YACH,OAAO,MAAM,CAAC,IAAI,EAAK,CAAC;QAC1B,CAAC;QAED,KAAK,CAAC,MAAM,CAA0B,KAAQ,EAAE,IAAyB;YACvE,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO;YAC9B,MAAM,MAAM,CAAC,MAAM,CAAC;gBAClB,KAAK,EAAE,KAAe;gBACtB,MAAM,EAAE,IAAI;gBACZ,MAAM,EAAE,aAAa;aACtB,CAAC,CAAC;QACL,CAAC;QAED,KAAK,CAAC,OAAO,CAAC,GAAW;YACvB,MAAM,MAAM,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;QACvC,CAAC;QAED,KAAK,CAAC,KAAK;YACT,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;QACvB,CAAC;QAED,IAAI,GAAG;YACL,OAAO,MAAM,CAAC;QAChB,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,43 @@
1
+ /**
2
+ * Schema differ — compares two schemas (arrays of IntrospectedTable)
3
+ * and produces a structured diff describing all changes.
4
+ */
5
+ import type { IntrospectedColumn, IntrospectedTable } from '../codegen/introspect.js';
6
+ export type DiffAction = 'add' | 'drop' | 'modify';
7
+ export interface ColumnDiff {
8
+ action: DiffAction;
9
+ column: IntrospectedColumn;
10
+ /** Present only when action is 'modify' — the column definition before the change. */
11
+ previous?: IntrospectedColumn;
12
+ }
13
+ export interface TableDiff {
14
+ action: DiffAction;
15
+ table: string;
16
+ /** Full table definition — present for 'add' (the new table) and 'drop' (the dropped table). */
17
+ definition?: IntrospectedTable;
18
+ /** Column-level changes — present only when action is 'modify'. */
19
+ columns?: ColumnDiff[];
20
+ }
21
+ export interface SchemaDiff {
22
+ tables: TableDiff[];
23
+ /** True when the two schemas are identical. */
24
+ isEmpty: boolean;
25
+ }
26
+ /**
27
+ * Compare two IntrospectedColumn values and return true if they differ
28
+ * in type, default kind, default expression, or comment.
29
+ *
30
+ * Key membership flags (isInSortingKey, isInPrimaryKey, isInPartitionKey) are
31
+ * intentionally excluded — changing ORDER BY / PARTITION BY requires table
32
+ * recreation in ClickHouse, which is out of scope for column-level diffing.
33
+ */
34
+ export declare function columnsEqual(a: IntrospectedColumn, b: IntrospectedColumn): boolean;
35
+ /**
36
+ * Diff two schemas and produce a list of table-level and column-level changes.
37
+ *
38
+ * @param from - The current / source schema (e.g. production snapshot).
39
+ * @param to - The desired / target schema (e.g. dev database).
40
+ * @returns A SchemaDiff describing every change needed to go from `from` to `to`.
41
+ */
42
+ export declare function diffSchemas(from: IntrospectedTable[], to: IntrospectedTable[]): SchemaDiff;
43
+ //# sourceMappingURL=differ.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"differ.d.ts","sourceRoot":"","sources":["../../src/migrate/differ.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAEtF,MAAM,MAAM,UAAU,GAAG,KAAK,GAAG,MAAM,GAAG,QAAQ,CAAC;AAEnD,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,UAAU,CAAC;IACnB,MAAM,EAAE,kBAAkB,CAAC;IAC3B,sFAAsF;IACtF,QAAQ,CAAC,EAAE,kBAAkB,CAAC;CAC/B;AAED,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,UAAU,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,gGAAgG;IAChG,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAC/B,mEAAmE;IACnE,OAAO,CAAC,EAAE,UAAU,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,+CAA+C;IAC/C,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,kBAAkB,EAAE,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAOlF;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,iBAAiB,EAAE,EAAE,EAAE,EAAE,iBAAiB,EAAE,GAAG,UAAU,CA8B1F"}
@@ -0,0 +1,77 @@
1
+ /**
2
+ * Schema differ — compares two schemas (arrays of IntrospectedTable)
3
+ * and produces a structured diff describing all changes.
4
+ */
5
+ /**
6
+ * Compare two IntrospectedColumn values and return true if they differ
7
+ * in type, default kind, default expression, or comment.
8
+ *
9
+ * Key membership flags (isInSortingKey, isInPrimaryKey, isInPartitionKey) are
10
+ * intentionally excluded — changing ORDER BY / PARTITION BY requires table
11
+ * recreation in ClickHouse, which is out of scope for column-level diffing.
12
+ */
13
+ export function columnsEqual(a, b) {
14
+ return (a.type === b.type &&
15
+ a.defaultKind === b.defaultKind &&
16
+ a.defaultExpression === b.defaultExpression &&
17
+ a.comment === b.comment);
18
+ }
19
+ /**
20
+ * Diff two schemas and produce a list of table-level and column-level changes.
21
+ *
22
+ * @param from - The current / source schema (e.g. production snapshot).
23
+ * @param to - The desired / target schema (e.g. dev database).
24
+ * @returns A SchemaDiff describing every change needed to go from `from` to `to`.
25
+ */
26
+ export function diffSchemas(from, to) {
27
+ const fromMap = new Map(from.map((t) => [t.name, t]));
28
+ const toMap = new Map(to.map((t) => [t.name, t]));
29
+ const tables = [];
30
+ // Detect dropped tables (in `from` but not in `to`)
31
+ for (const [name, table] of fromMap) {
32
+ if (!toMap.has(name)) {
33
+ tables.push({ action: 'drop', table: name, definition: table });
34
+ }
35
+ }
36
+ // Detect new tables and modified tables
37
+ for (const [name, toTable] of toMap) {
38
+ const fromTable = fromMap.get(name);
39
+ if (!fromTable) {
40
+ tables.push({ action: 'add', table: name, definition: toTable });
41
+ continue;
42
+ }
43
+ // Table exists in both — diff columns
44
+ const columnDiffs = diffColumns(fromTable.columns, toTable.columns);
45
+ if (columnDiffs.length > 0) {
46
+ tables.push({ action: 'modify', table: name, columns: columnDiffs });
47
+ }
48
+ }
49
+ return { tables, isEmpty: tables.length === 0 };
50
+ }
51
+ /**
52
+ * Diff two column lists and return the set of column-level changes.
53
+ */
54
+ function diffColumns(from, to) {
55
+ const fromMap = new Map(from.map((c) => [c.name, c]));
56
+ const toMap = new Map(to.map((c) => [c.name, c]));
57
+ const diffs = [];
58
+ // Dropped columns
59
+ for (const [name, col] of fromMap) {
60
+ if (!toMap.has(name)) {
61
+ diffs.push({ action: 'drop', column: col });
62
+ }
63
+ }
64
+ // New and modified columns
65
+ for (const [name, toCol] of toMap) {
66
+ const fromCol = fromMap.get(name);
67
+ if (!fromCol) {
68
+ diffs.push({ action: 'add', column: toCol });
69
+ continue;
70
+ }
71
+ if (!columnsEqual(fromCol, toCol)) {
72
+ diffs.push({ action: 'modify', column: toCol, previous: fromCol });
73
+ }
74
+ }
75
+ return diffs;
76
+ }
77
+ //# sourceMappingURL=differ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"differ.js","sourceRoot":"","sources":["../../src/migrate/differ.ts"],"names":[],"mappings":"AAAA;;;GAGG;AA4BH;;;;;;;GAOG;AACH,MAAM,UAAU,YAAY,CAAC,CAAqB,EAAE,CAAqB;IACvE,OAAO,CACL,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI;QACjB,CAAC,CAAC,WAAW,KAAK,CAAC,CAAC,WAAW;QAC/B,CAAC,CAAC,iBAAiB,KAAK,CAAC,CAAC,iBAAiB;QAC3C,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,OAAO,CACxB,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,WAAW,CAAC,IAAyB,EAAE,EAAuB;IAC5E,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACtD,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAElD,MAAM,MAAM,GAAgB,EAAE,CAAC;IAE/B,oDAAoD;IACpD,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,OAAO,EAAE,CAAC;QACpC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACrB,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;QAClE,CAAC;IACH,CAAC;IAED,wCAAwC;IACxC,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,KAAK,EAAE,CAAC;QACpC,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAEpC,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,CAAC;YACjE,SAAS;QACX,CAAC;QAED,sCAAsC;QACtC,MAAM,WAAW,GAAG,WAAW,CAAC,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QACpE,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC;QACvE,CAAC;IACH,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;AAClD,CAAC;AAED;;GAEG;AACH,SAAS,WAAW,CAAC,IAA0B,EAAE,EAAwB;IACvE,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACtD,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAElD,MAAM,KAAK,GAAiB,EAAE,CAAC;IAE/B,kBAAkB;IAClB,KAAK,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,OAAO,EAAE,CAAC;QAClC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACrB,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;IAED,2BAA2B;IAC3B,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,KAAK,EAAE,CAAC;QAClC,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAElC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;YAC7C,SAAS;QACX,CAAC;QAED,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC;YAClC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;QACrE,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * SQL generator — converts schema diffs into valid ClickHouse SQL statements.
3
+ *
4
+ * Produces CREATE TABLE, DROP TABLE, and ALTER TABLE ADD/DROP/MODIFY COLUMN statements.
5
+ */
6
+ import type { IntrospectedTable } from '../codegen/introspect.js';
7
+ import type { ColumnDiff, SchemaDiff } from './differ.js';
8
+ /** Options for SQL generation. */
9
+ export interface GenerateOptions {
10
+ /** Emit IF EXISTS / IF NOT EXISTS for idempotent reruns. Default: false. */
11
+ idempotent?: boolean;
12
+ /** Emit ON CLUSTER for distributed DDL. e.g. "'{cluster}'" */
13
+ cluster?: string;
14
+ }
15
+ /**
16
+ * Generate ClickHouse SQL statements from a SchemaDiff.
17
+ *
18
+ * Returns an array of SQL strings, one per statement.
19
+ */
20
+ export declare function generateSQL(diff: SchemaDiff, options?: GenerateOptions): string[];
21
+ /**
22
+ * Generate a CREATE TABLE statement from a full table definition.
23
+ *
24
+ * Note: sortingKey, partitionKey, defaultExpression, and other values are
25
+ * trusted inputs from introspect.ts (sourced from system tables), not
26
+ * user-supplied strings, so they are emitted as-is without sanitization.
27
+ */
28
+ export declare function generateCreateTable(table: IntrospectedTable, options?: GenerateOptions): string;
29
+ /**
30
+ * Generate a DROP TABLE statement.
31
+ */
32
+ export declare function generateDropTable(tableName: string, options?: GenerateOptions): string;
33
+ /**
34
+ * Generate ALTER TABLE statements for column-level changes.
35
+ *
36
+ * Each column change produces a separate ALTER TABLE statement for clarity
37
+ * and to allow partial application.
38
+ */
39
+ export declare function generateAlterTable(tableName: string, columns: ColumnDiff[], options?: GenerateOptions): string[];
40
+ //# sourceMappingURL=generator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../../src/migrate/generator.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAa,MAAM,aAAa,CAAC;AAErE,kCAAkC;AAClC,MAAM,WAAW,eAAe;IAC9B,4EAA4E;IAC5E,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,8DAA8D;IAC9D,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,MAAM,EAAE,CAsBjF;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,iBAAiB,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,MAAM,CAmC/F;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,MAAM,CAItF;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,MAAM,EAAE,CAwChH"}
@@ -0,0 +1,134 @@
1
+ /**
2
+ * SQL generator — converts schema diffs into valid ClickHouse SQL statements.
3
+ *
4
+ * Produces CREATE TABLE, DROP TABLE, and ALTER TABLE ADD/DROP/MODIFY COLUMN statements.
5
+ */
6
+ /**
7
+ * Generate ClickHouse SQL statements from a SchemaDiff.
8
+ *
9
+ * Returns an array of SQL strings, one per statement.
10
+ */
11
+ export function generateSQL(diff, options) {
12
+ const statements = [];
13
+ for (const tableDiff of diff.tables) {
14
+ switch (tableDiff.action) {
15
+ case 'add':
16
+ if (tableDiff.definition) {
17
+ statements.push(generateCreateTable(tableDiff.definition, options));
18
+ }
19
+ break;
20
+ case 'drop':
21
+ statements.push(generateDropTable(tableDiff.table, options));
22
+ break;
23
+ case 'modify':
24
+ if (tableDiff.columns) {
25
+ statements.push(...generateAlterTable(tableDiff.table, tableDiff.columns, options));
26
+ }
27
+ break;
28
+ }
29
+ }
30
+ return statements;
31
+ }
32
+ /**
33
+ * Generate a CREATE TABLE statement from a full table definition.
34
+ *
35
+ * Note: sortingKey, partitionKey, defaultExpression, and other values are
36
+ * trusted inputs from introspect.ts (sourced from system tables), not
37
+ * user-supplied strings, so they are emitted as-is without sanitization.
38
+ */
39
+ export function generateCreateTable(table, options) {
40
+ const columns = table.columns.map((col) => {
41
+ let def = ` ${quoteIdentifier(col.name)} ${col.type}`;
42
+ if (col.defaultKind && col.defaultExpression) {
43
+ def += ` ${col.defaultKind} ${col.defaultExpression}`;
44
+ }
45
+ if (col.comment) {
46
+ def += ` COMMENT ${quoteSingleString(col.comment)}`;
47
+ }
48
+ return def;
49
+ });
50
+ const ifNotExists = options?.idempotent ? ' IF NOT EXISTS' : '';
51
+ const onCluster = options?.cluster ? ` ON CLUSTER ${options.cluster}` : '';
52
+ let sql = `CREATE TABLE${ifNotExists} ${quoteIdentifier(table.name)}${onCluster}\n(\n${columns.join(',\n')}\n)`;
53
+ sql += `\nENGINE = ${table.engineFull || table.engine}`;
54
+ // ORDER BY, PARTITION BY, and PRIMARY KEY are only valid for MergeTree-family engines.
55
+ // Emitting them for Log, Memory, Kafka, etc. produces invalid DDL.
56
+ const isMergeTree = table.engine.includes('MergeTree');
57
+ if (isMergeTree && table.partitionKey) {
58
+ sql += `\nPARTITION BY ${table.partitionKey}`;
59
+ }
60
+ if (isMergeTree && table.sortingKey) {
61
+ sql += `\nORDER BY (${table.sortingKey})`;
62
+ }
63
+ if (isMergeTree && table.primaryKey && table.primaryKey !== table.sortingKey) {
64
+ sql += `\nPRIMARY KEY (${table.primaryKey})`;
65
+ }
66
+ if (table.comment) {
67
+ sql += `\nCOMMENT ${quoteSingleString(table.comment)}`;
68
+ }
69
+ return sql;
70
+ }
71
+ /**
72
+ * Generate a DROP TABLE statement.
73
+ */
74
+ export function generateDropTable(tableName, options) {
75
+ const ifExists = options?.idempotent ? ' IF EXISTS' : '';
76
+ const onCluster = options?.cluster ? ` ON CLUSTER ${options.cluster}` : '';
77
+ return `DROP TABLE${ifExists} ${quoteIdentifier(tableName)}${onCluster}`;
78
+ }
79
+ /**
80
+ * Generate ALTER TABLE statements for column-level changes.
81
+ *
82
+ * Each column change produces a separate ALTER TABLE statement for clarity
83
+ * and to allow partial application.
84
+ */
85
+ export function generateAlterTable(tableName, columns, options) {
86
+ const statements = [];
87
+ const quoted = quoteIdentifier(tableName);
88
+ const onCluster = options?.cluster ? ` ON CLUSTER ${options.cluster}` : '';
89
+ const ifExists = options?.idempotent;
90
+ for (const diff of columns) {
91
+ switch (diff.action) {
92
+ case 'add': {
93
+ const ifNotExists = ifExists ? ' IF NOT EXISTS' : '';
94
+ let clause = `ALTER TABLE ${quoted}${onCluster} ADD COLUMN${ifNotExists} ${quoteIdentifier(diff.column.name)} ${diff.column.type}`;
95
+ if (diff.column.defaultKind && diff.column.defaultExpression) {
96
+ clause += ` ${diff.column.defaultKind} ${diff.column.defaultExpression}`;
97
+ }
98
+ if (diff.column.comment) {
99
+ clause += ` COMMENT ${quoteSingleString(diff.column.comment)}`;
100
+ }
101
+ statements.push(clause);
102
+ break;
103
+ }
104
+ case 'drop': {
105
+ const ifExistsCol = ifExists ? ' IF EXISTS' : '';
106
+ statements.push(`ALTER TABLE ${quoted}${onCluster} DROP COLUMN${ifExistsCol} ${quoteIdentifier(diff.column.name)}`);
107
+ break;
108
+ }
109
+ case 'modify': {
110
+ let clause = `ALTER TABLE ${quoted}${onCluster} MODIFY COLUMN ${quoteIdentifier(diff.column.name)} ${diff.column.type}`;
111
+ if (diff.column.defaultKind && diff.column.defaultExpression) {
112
+ clause += ` ${diff.column.defaultKind} ${diff.column.defaultExpression}`;
113
+ }
114
+ if (diff.column.comment) {
115
+ clause += ` COMMENT ${quoteSingleString(diff.column.comment)}`;
116
+ }
117
+ statements.push(clause);
118
+ break;
119
+ }
120
+ }
121
+ }
122
+ return statements;
123
+ }
124
+ /** Quote a ClickHouse identifier with backticks if it contains special characters. */
125
+ function quoteIdentifier(name) {
126
+ if (/^[a-zA-Z_][a-zA-Z0-9_]*$/.test(name))
127
+ return name;
128
+ return `\`${name.replace(/`/g, '\\`')}\``;
129
+ }
130
+ /** Escape and quote a string for use in SQL (single quotes). */
131
+ function quoteSingleString(value) {
132
+ return `'${value.replace(/'/g, "\\'")}'`;
133
+ }
134
+ //# sourceMappingURL=generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../src/migrate/generator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export { diffSchemas, columnsEqual, type ColumnDiff, type TableDiff, type SchemaDiff, type DiffAction, } from './differ.js';
2
+ export { generateSQL, generateCreateTable, generateDropTable, generateAlterTable, type GenerateOptions, } from './generator.js';
3
+ export { createSnapshot, saveSnapshot, loadSnapshot, type Snapshot, type SnapshotMeta, } from './snapshot.js';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/migrate/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,YAAY,EACZ,KAAK,UAAU,EACf,KAAK,SAAS,EACd,KAAK,UAAU,EACf,KAAK,UAAU,GAChB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,WAAW,EACX,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EAClB,KAAK,eAAe,GACrB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,KAAK,QAAQ,EACb,KAAK,YAAY,GAClB,MAAM,eAAe,CAAC"}
@@ -0,0 +1,4 @@
1
+ export { diffSchemas, columnsEqual, } from './differ.js';
2
+ export { generateSQL, generateCreateTable, generateDropTable, generateAlterTable, } from './generator.js';
3
+ export { createSnapshot, saveSnapshot, loadSnapshot, } from './snapshot.js';
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/migrate/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,YAAY,GAKb,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,WAAW,EACX,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,GAEnB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,cAAc,EACd,YAAY,EACZ,YAAY,GAGb,MAAM,eAAe,CAAC"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Schema snapshot — save and load IntrospectedTable arrays as JSON files.
3
+ *
4
+ * Snapshots are the mechanism for comparing a live database against a
5
+ * previously captured schema state.
6
+ */
7
+ import type { IntrospectedTable } from '../codegen/introspect.js';
8
+ export interface SnapshotMeta {
9
+ version: 1;
10
+ createdAt: string;
11
+ database: string;
12
+ }
13
+ export interface Snapshot {
14
+ meta: SnapshotMeta;
15
+ tables: IntrospectedTable[];
16
+ }
17
+ /**
18
+ * Create a Snapshot object from introspected tables.
19
+ */
20
+ export declare function createSnapshot(tables: IntrospectedTable[], database: string): Snapshot;
21
+ /**
22
+ * Save a snapshot to a JSON file.
23
+ */
24
+ export declare function saveSnapshot(snapshot: Snapshot, filePath: string): Promise<void>;
25
+ /**
26
+ * Load a snapshot from a JSON file.
27
+ *
28
+ * Throws if the file does not exist or contains invalid JSON.
29
+ */
30
+ export declare function loadSnapshot(filePath: string): Promise<Snapshot>;
31
+ //# sourceMappingURL=snapshot.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"snapshot.d.ts","sourceRoot":"","sources":["../../src/migrate/snapshot.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAElE,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,CAAC,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,YAAY,CAAC;IACnB,MAAM,EAAE,iBAAiB,EAAE,CAAC;CAC7B;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,iBAAiB,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,QAAQ,CAStF;AAED;;GAEG;AACH,wBAAsB,YAAY,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAGtF;AAED;;;;GAIG;AACH,wBAAsB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAStE"}
@@ -0,0 +1,68 @@
1
+ /**
2
+ * Schema snapshot — save and load IntrospectedTable arrays as JSON files.
3
+ *
4
+ * Snapshots are the mechanism for comparing a live database against a
5
+ * previously captured schema state.
6
+ */
7
+ import { readFile, writeFile } from 'node:fs/promises';
8
+ /**
9
+ * Create a Snapshot object from introspected tables.
10
+ */
11
+ export function createSnapshot(tables, database) {
12
+ return {
13
+ meta: {
14
+ version: 1,
15
+ createdAt: new Date().toISOString(),
16
+ database,
17
+ },
18
+ tables,
19
+ };
20
+ }
21
+ /**
22
+ * Save a snapshot to a JSON file.
23
+ */
24
+ export async function saveSnapshot(snapshot, filePath) {
25
+ const json = JSON.stringify(snapshot, null, 2);
26
+ await writeFile(filePath, json + '\n', 'utf-8');
27
+ }
28
+ /**
29
+ * Load a snapshot from a JSON file.
30
+ *
31
+ * Throws if the file does not exist or contains invalid JSON.
32
+ */
33
+ export async function loadSnapshot(filePath) {
34
+ const raw = await readFile(filePath, 'utf-8');
35
+ const parsed = JSON.parse(raw);
36
+ if (!isSnapshot(parsed)) {
37
+ throw new Error(`Invalid snapshot file: ${filePath}`);
38
+ }
39
+ return parsed;
40
+ }
41
+ function isSnapshot(value) {
42
+ if (typeof value !== 'object' || value === null)
43
+ return false;
44
+ const obj = value;
45
+ if (typeof obj['meta'] !== 'object' || obj['meta'] === null)
46
+ return false;
47
+ const meta = obj['meta'];
48
+ if (meta['version'] !== 1)
49
+ return false;
50
+ if (typeof meta['createdAt'] !== 'string')
51
+ return false;
52
+ if (typeof meta['database'] !== 'string')
53
+ return false;
54
+ if (!Array.isArray(obj['tables']))
55
+ return false;
56
+ // Validate each table entry has the minimum required shape
57
+ for (const entry of obj['tables']) {
58
+ if (typeof entry !== 'object' || entry === null)
59
+ return false;
60
+ const table = entry;
61
+ if (typeof table['name'] !== 'string')
62
+ return false;
63
+ if (!Array.isArray(table['columns']))
64
+ return false;
65
+ }
66
+ return true;
67
+ }
68
+ //# sourceMappingURL=snapshot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"snapshot.js","sourceRoot":"","sources":["../../src/migrate/snapshot.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAcvD;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,MAA2B,EAAE,QAAgB;IAC1E,OAAO;QACL,IAAI,EAAE;YACJ,OAAO,EAAE,CAAC;YACV,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,QAAQ;SACT;QACD,MAAM;KACP,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,QAAkB,EAAE,QAAgB;IACrE,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAC/C,MAAM,SAAS,CAAC,QAAQ,EAAE,IAAI,GAAG,IAAI,EAAE,OAAO,CAAC,CAAC;AAClD,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,QAAgB;IACjD,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC9C,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAExC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,0BAA0B,QAAQ,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,UAAU,CAAC,KAAc;IAChC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IAC9D,MAAM,GAAG,GAAG,KAAgC,CAAC;IAC7C,IAAI,OAAO,GAAG,CAAC,MAAM,CAAC,KAAK,QAAQ,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IAC1E,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAA4B,CAAC;IACpD,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACxC,IAAI,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IACxD,IAAI,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IACvD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IAEhD,2DAA2D;IAC3D,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,QAAQ,CAAc,EAAE,CAAC;QAC/C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO,KAAK,CAAC;QAC9D,MAAM,KAAK,GAAG,KAAgC,CAAC;QAC/C,IAAI,OAAO,KAAK,CAAC,MAAM,CAAC,KAAK,QAAQ;YAAE,OAAO,KAAK,CAAC;QACpD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC;IACrD,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -1,11 +1,13 @@
1
1
  import type { CompiledQuery } from './types.js';
2
2
  import { Param } from './param.js';
3
- /** Represents a raw SQL expression with an optional alias. */
4
- export declare class Expression {
3
+ /** Represents a raw SQL expression with an optional alias. TType carries the result type for typed expressions. */
4
+ export declare class Expression<TType = unknown> {
5
5
  readonly sql: string;
6
6
  readonly alias?: string | undefined;
7
7
  constructor(sql: string, alias?: string | undefined);
8
- as(alias: string): Expression;
8
+ as<A extends string>(alias: A): Expression<TType> & {
9
+ alias: A;
10
+ };
9
11
  toString(): string;
10
12
  }
11
13
  /** A condition tuple: [column, operator, value]. */
@@ -22,7 +24,7 @@ export declare function and(...conditions: (ConditionTuple | Expression)[]): Con
22
24
  /** A subquery expression — wraps a compiled SELECT in parentheses and carries its params. */
23
25
  export declare class Subquery extends Expression {
24
26
  readonly subqueryParams: Record<string, unknown>;
25
- constructor(compiled: CompiledQuery);
27
+ constructor(compiled: CompiledQuery<unknown>);
26
28
  }
27
29
  /** ClickHouse function builders. */
28
30
  export declare const fn: {
@@ -1 +1 @@
1
- {"version":3,"file":"expressions.d.ts","sourceRoot":"","sources":["../../src/query/expressions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"expressions.d.ts","sourceRoot":"","sources":["../../src/query/expressions.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { Param } from './param.js';
2
- /** Represents a raw SQL expression with an optional alias. */
2
+ /** Represents a raw SQL expression with an optional alias. TType carries the result type for typed expressions. */
3
3
  export class Expression {
4
4
  sql;
5
5
  alias;
@@ -1 +1 @@
1
- {"version":3,"file":"expressions.js","sourceRoot":"","sources":["../../src/query/expressions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"expressions.js","sourceRoot":"","sources":["../../src/query/expressions.ts"],"names":[],"mappings":"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"}
@@ -5,5 +5,6 @@ export { DeleteBuilder } from './delete-builder.js';
5
5
  export { UpdateBuilder } from './update-builder.js';
6
6
  export { Expression, ConditionGroup, Subquery, fn, or, and } from './expressions.js';
7
7
  export { Param, param, type ClickHouseParamType } from './param.js';
8
- export type { DatabaseSchema, TableName, RowType, InsertType, ColumnName, CompiledQuery, SortDirection, ComparisonOp, SetOp, UnaryOp, BetweenOp, WhereOp, JoinType, } from './types.js';
8
+ export { sql, type SqlInterpolation } from './sql-template.js';
9
+ export type { DatabaseSchema, TableName, RowType, InsertType, ColumnName, CompiledQuery, SelectResult, SortDirection, ComparisonOp, SetOp, UnaryOp, BetweenOp, WhereOp, JoinType, } from './types.js';
9
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/query/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAC9G,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACrF,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACpE,YAAY,EACV,cAAc,EACd,SAAS,EACT,OAAO,EACP,UAAU,EACV,UAAU,EACV,aAAa,EACb,aAAa,EACb,YAAY,EACZ,KAAK,EACL,OAAO,EACP,SAAS,EACT,OAAO,EACP,QAAQ,GACT,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/query/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAC9G,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACrF,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACpE,OAAO,EAAE,GAAG,EAAE,KAAK,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC/D,YAAY,EACV,cAAc,EACd,SAAS,EACT,OAAO,EACP,UAAU,EACV,UAAU,EACV,aAAa,EACb,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,KAAK,EACL,OAAO,EACP,SAAS,EACT,OAAO,EACP,QAAQ,GACT,MAAM,YAAY,CAAC"}
@@ -5,4 +5,5 @@ export { DeleteBuilder } from './delete-builder.js';
5
5
  export { UpdateBuilder } from './update-builder.js';
6
6
  export { Expression, ConditionGroup, Subquery, fn, or, and } from './expressions.js';
7
7
  export { Param, param } from './param.js';
8
+ export { sql } from './sql-template.js';
8
9
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/query/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAqB,MAAM,oBAAoB,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAC9G,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACrF,OAAO,EAAE,KAAK,EAAE,KAAK,EAA4B,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/query/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAqB,MAAM,oBAAoB,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAC9G,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACrF,OAAO,EAAE,KAAK,EAAE,KAAK,EAA4B,MAAM,YAAY,CAAC;AACpE,OAAO,EAAE,GAAG,EAAyB,MAAM,mBAAmB,CAAC"}
@@ -13,7 +13,7 @@ export interface QueryBuilder<DB extends DatabaseSchema> {
13
13
  param(name: string, type: ClickHouseParamType): Param;
14
14
  /** Wrap a compiled query as a subquery expression for use in WHERE IN / NOT IN. */
15
15
  subquery(builder: {
16
- compile(): CompiledQuery;
16
+ compile(): CompiledQuery<unknown>;
17
17
  }): Subquery;
18
18
  fn: typeof fn;
19
19
  }
@@ -1 +1 @@
1
- {"version":3,"file":"query-builder.d.ts","sourceRoot":"","sources":["../../src/query/query-builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC3E,OAAO,EAAE,KAAK,mBAAmB,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEhD,MAAM,WAAW,YAAY,CAAC,EAAE,SAAS,cAAc;IACrD,UAAU,CAAC,CAAC,SAAS,SAAS,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,aAAa,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IACpE,UAAU,CAAC,CAAC,SAAS,SAAS,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,aAAa,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IACpE,UAAU,CAAC,CAAC,SAAS,SAAS,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,aAAa,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IACpE,MAAM,CAAC,CAAC,SAAS,SAAS,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,aAAa,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IAChE,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,mBAAmB,GAAG,KAAK,CAAC;IACtD,mFAAmF;IACnF,QAAQ,CAAC,OAAO,EAAE;QAAE,OAAO,IAAI,aAAa,CAAA;KAAE,GAAG,QAAQ,CAAC;IAC1D,EAAE,EAAE,OAAO,EAAE,CAAC;CACf;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,kBAAkB,CAAC,EAAE,SAAS,cAAc,KAAK,YAAY,CAAC,EAAE,CAAC,CAsBhF"}
1
+ {"version":3,"file":"query-builder.d.ts","sourceRoot":"","sources":["../../src/query/query-builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC3E,OAAO,EAAE,KAAK,mBAAmB,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEhD,MAAM,WAAW,YAAY,CAAC,EAAE,SAAS,cAAc;IACrD,UAAU,CAAC,CAAC,SAAS,SAAS,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,aAAa,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IACpE,UAAU,CAAC,CAAC,SAAS,SAAS,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,aAAa,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IACpE,UAAU,CAAC,CAAC,SAAS,SAAS,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,aAAa,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IACpE,MAAM,CAAC,CAAC,SAAS,SAAS,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,aAAa,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IAChE,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,mBAAmB,GAAG,KAAK,CAAC;IACtD,mFAAmF;IACnF,QAAQ,CAAC,OAAO,EAAE;QAAE,OAAO,IAAI,aAAa,CAAC,OAAO,CAAC,CAAA;KAAE,GAAG,QAAQ,CAAC;IACnE,EAAE,EAAE,OAAO,EAAE,CAAC;CACf;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,kBAAkB,CAAC,EAAE,SAAS,cAAc,KAAK,YAAY,CAAC,EAAE,CAAC,CAsBhF"}
@@ -1 +1 @@
1
- {"version":3,"file":"query-builder.js","sourceRoot":"","sources":["../../src/query/query-builder.ts"],"names":[],"mappings":"AACA,OAAO,EAA4B,KAAK,EAAE,MAAM,YAAY,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAahD;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,kBAAkB;IAChC,OAAO;QACL,UAAU,CAA0B,KAAQ;YAC1C,OAAO,IAAI,aAAa,CAAQ,KAAK,CAAC,CAAC;QACzC,CAAC;QACD,UAAU,CAA0B,KAAQ;YAC1C,OAAO,IAAI,aAAa,CAAQ,KAAK,CAAC,CAAC;QACzC,CAAC;QACD,UAAU,CAA0B,KAAQ;YAC1C,OAAO,IAAI,aAAa,CAAQ,KAAK,CAAC,CAAC;QACzC,CAAC;QACD,MAAM,CAA0B,KAAQ;YACtC,OAAO,IAAI,aAAa,CAAQ,KAAK,CAAC,CAAC;QACzC,CAAC;QACD,KAAK,CAAC,IAAY,EAAE,IAAyB;YAC3C,OAAO,IAAI,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC/B,CAAC;QACD,QAAQ,CAAC,OAAqC;YAC5C,OAAO,IAAI,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;QACzC,CAAC;QACD,EAAE;KACH,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"query-builder.js","sourceRoot":"","sources":["../../src/query/query-builder.ts"],"names":[],"mappings":"AACA,OAAO,EAA4B,KAAK,EAAE,MAAM,YAAY,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAahD;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,kBAAkB;IAChC,OAAO;QACL,UAAU,CAA0B,KAAQ;YAC1C,OAAO,IAAI,aAAa,CAAQ,KAAK,CAAC,CAAC;QACzC,CAAC;QACD,UAAU,CAA0B,KAAQ;YAC1C,OAAO,IAAI,aAAa,CAAQ,KAAK,CAAC,CAAC;QACzC,CAAC;QACD,UAAU,CAA0B,KAAQ;YAC1C,OAAO,IAAI,aAAa,CAAQ,KAAK,CAAC,CAAC;QACzC,CAAC;QACD,MAAM,CAA0B,KAAQ;YACtC,OAAO,IAAI,aAAa,CAAQ,KAAK,CAAC,CAAC;QACzC,CAAC;QACD,KAAK,CAAC,IAAY,EAAE,IAAyB;YAC3C,OAAO,IAAI,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC/B,CAAC;QACD,QAAQ,CAAC,OAA8C;YACrD,OAAO,IAAI,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;QACzC,CAAC;QACD,EAAE;KACH,CAAC;AACJ,CAAC"}
@@ -5,7 +5,7 @@
5
5
  * literals are NOT allowed to prevent SQL injection. Use `qb.param()` to create
6
6
  * typed parameter placeholders.
7
7
  */
8
- import type { BetweenOp, ColumnName, CompiledQuery, ComparisonOp, DatabaseSchema, JoinType, SetOp, SortDirection, TableName, UnaryOp } from './types.js';
8
+ import type { BetweenOp, ColumnName, CompiledQuery, ComparisonOp, DatabaseSchema, JoinType, RowType, SelectResult, SetOp, SortDirection, TableName, UnaryOp } from './types.js';
9
9
  import { Expression, Subquery } from './expressions.js';
10
10
  import { Param } from './param.js';
11
11
  export declare class SelectBuilder<DB extends DatabaseSchema, T extends TableName<DB> = TableName<DB>, TSelected extends string = string> {
@@ -33,7 +33,7 @@ export declare class SelectBuilder<DB extends DatabaseSchema, T extends TableNam
33
33
  distinct(): this;
34
34
  /** Add a WITH (CTE) clause. The subquery is compiled and prepended to the query. */
35
35
  with(name: string, subquery: Subquery | {
36
- compile(): CompiledQuery;
36
+ compile(): CompiledQuery<unknown>;
37
37
  }): this;
38
38
  /** Add a PREWHERE condition (ClickHouse-specific optimization, applied before data is read from disk). */
39
39
  prewhere(column: ColumnName<DB, T> | Expression | string, op: ComparisonOp, value: Param | Expression): this;
@@ -41,7 +41,11 @@ export declare class SelectBuilder<DB extends DatabaseSchema, T extends TableNam
41
41
  prewhere(column: ColumnName<DB, T> | Expression | string, op: UnaryOp): this;
42
42
  prewhere(column: ColumnName<DB, T> | Expression | string, op: BetweenOp, value: [Param | Expression, Param | Expression]): this;
43
43
  prewhere(condition: Expression): this;
44
- select<C extends ColumnName<DB, T>>(columns: (C | Expression)[]): SelectBuilder<DB, T, C>;
44
+ select<C extends ColumnName<DB, T>, E extends Expression & {
45
+ alias: string;
46
+ }>(columns: (C | E | Expression)[]): SelectBuilder<DB, T, C | (E extends {
47
+ alias: infer A extends string;
48
+ } ? A : never)>;
45
49
  /** Add a WHERE condition. Values must be Param or Expression — no raw strings. */
46
50
  where(column: ColumnName<DB, T> | Expression | string, op: ComparisonOp, value: Param | Expression): this;
47
51
  /** Add a WHERE IN / NOT IN condition. Value must be an Array(...) Param. */
@@ -89,28 +93,28 @@ export declare class SelectBuilder<DB extends DatabaseSchema, T extends TableNam
89
93
  sample(ratio: number, offset?: number): this;
90
94
  /** Add SETTINGS clause. Keys and string values are validated to prevent injection. */
91
95
  settings(s: Record<string, string | number | boolean>): this;
92
- compile(): CompiledQuery;
96
+ compile(): CompiledQuery<string extends TSelected ? RowType<DB, T> : SelectResult<DB, T, TSelected>>;
93
97
  }
94
98
  type SetOperator = 'UNION ALL' | 'UNION DISTINCT' | 'INTERSECT' | 'EXCEPT';
95
99
  /** Combine multiple SELECT queries with a set operator (UNION ALL, UNION DISTINCT, INTERSECT, EXCEPT). */
96
- export declare function setOperation(operator: SetOperator, ...queries: {
97
- compile(): CompiledQuery;
98
- }[]): CompiledQuery;
100
+ export declare function setOperation<T = Record<string, unknown>>(operator: SetOperator, ...queries: {
101
+ compile(): CompiledQuery<T>;
102
+ }[]): CompiledQuery<T>;
99
103
  /** Shorthand for UNION ALL. */
100
- export declare function unionAll(...queries: {
101
- compile(): CompiledQuery;
102
- }[]): CompiledQuery;
104
+ export declare function unionAll<T = Record<string, unknown>>(...queries: {
105
+ compile(): CompiledQuery<T>;
106
+ }[]): CompiledQuery<T>;
103
107
  /** Shorthand for UNION DISTINCT. */
104
- export declare function unionDistinct(...queries: {
105
- compile(): CompiledQuery;
106
- }[]): CompiledQuery;
108
+ export declare function unionDistinct<T = Record<string, unknown>>(...queries: {
109
+ compile(): CompiledQuery<T>;
110
+ }[]): CompiledQuery<T>;
107
111
  /** Shorthand for INTERSECT. */
108
- export declare function intersect(...queries: {
109
- compile(): CompiledQuery;
110
- }[]): CompiledQuery;
112
+ export declare function intersect<T = Record<string, unknown>>(...queries: {
113
+ compile(): CompiledQuery<T>;
114
+ }[]): CompiledQuery<T>;
111
115
  /** Shorthand for EXCEPT. */
112
- export declare function except(...queries: {
113
- compile(): CompiledQuery;
114
- }[]): CompiledQuery;
116
+ export declare function except<T = Record<string, unknown>>(...queries: {
117
+ compile(): CompiledQuery<T>;
118
+ }[]): CompiledQuery<T>;
115
119
  export {};
116
120
  //# sourceMappingURL=select-builder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"select-builder.d.ts","sourceRoot":"","sources":["../../src/query/select-builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"select-builder.d.ts","sourceRoot":"","sources":["../../src/query/select-builder.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"select-builder.js","sourceRoot":"","sources":["../../src/query/select-builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"select-builder.js","sourceRoot":"","sources":["../../src/query/select-builder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ import type { CompiledQuery } from './types.js';
2
+ import { Expression, Subquery } from './expressions.js';
3
+ import { Param } from './param.js';
4
+ /**
5
+ * Allowed interpolation types for the `sql` tagged template.
6
+ * Raw strings and numbers are intentionally excluded to prevent SQL injection.
7
+ */
8
+ export type SqlInterpolation = Param | Expression | Subquery | CompiledQuery;
9
+ /**
10
+ * Type-level guard that rejects raw string/number interpolation.
11
+ * Produces a compile-time error with a helpful message.
12
+ */
13
+ type RejectRaw<T> = T extends string ? never & {
14
+ error: 'Raw strings are not allowed in sql`...` — use Param, Expression, or fn.raw() instead';
15
+ } : T extends number ? never & {
16
+ error: 'Raw numbers are not allowed in sql`...` — use Param or Expression instead';
17
+ } : T extends SqlInterpolation ? T : never & {
18
+ error: 'Unsupported interpolation type — use Param, Expression, Subquery, or CompiledQuery';
19
+ };
20
+ /**
21
+ * Tagged template literal for raw SQL with type-safe interpolation.
22
+ *
23
+ * Accepts `Param`, `Expression`, `Subquery`, and `CompiledQuery` interpolations.
24
+ * Raw strings and numbers are rejected at the TypeScript type level.
25
+ *
26
+ * @example
27
+ * ```ts
28
+ * const minScore = qb.param('min', 'Float64');
29
+ * const query = sql`SELECT user_id FROM users WHERE score > ${minScore}`;
30
+ * // query.sql === 'SELECT user_id FROM users WHERE score > {min:Float64}'
31
+ * ```
32
+ */
33
+ export declare function sql<T extends SqlInterpolation[]>(strings: TemplateStringsArray, ...values: {
34
+ [K in keyof T]: RejectRaw<T[K]>;
35
+ }): CompiledQuery;
36
+ export {};
37
+ //# sourceMappingURL=sql-template.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sql-template.d.ts","sourceRoot":"","sources":["../../src/query/sql-template.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAkB,UAAU,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACxE,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GAAG,KAAK,GAAG,UAAU,GAAG,QAAQ,GAAG,aAAa,CAAC;AAE7E;;;GAGG;AACH,KAAK,SAAS,CAAC,CAAC,IAAI,CAAC,SAAS,MAAM,GAChC,KAAK,GAAG;IAAE,KAAK,EAAE,sFAAsF,CAAA;CAAE,GACzG,CAAC,SAAS,MAAM,GACd,KAAK,GAAG;IAAE,KAAK,EAAE,2EAA2E,CAAA;CAAE,GAC9F,CAAC,SAAS,gBAAgB,GACxB,CAAC,GACD,KAAK,GAAG;IAAE,KAAK,EAAE,oFAAoF,CAAA;CAAE,CAAC;AAiBhH;;;;;;;;;;;;GAYG;AACH,wBAAgB,GAAG,CAAC,CAAC,SAAS,gBAAgB,EAAE,EAC9C,OAAO,EAAE,oBAAoB,EAC7B,GAAG,MAAM,EAAE;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,GAC7C,aAAa,CAmDf"}
@@ -0,0 +1,80 @@
1
+ import { ConditionGroup, Expression, Subquery } from './expressions.js';
2
+ import { Param } from './param.js';
3
+ /** Check if a value is a CompiledQuery (duck-type check). */
4
+ function isCompiledQuery(value) {
5
+ return (typeof value === 'object' &&
6
+ value !== null &&
7
+ 'sql' in value &&
8
+ 'params' in value &&
9
+ typeof value.sql === 'string' &&
10
+ typeof value.params === 'object' &&
11
+ !(value instanceof Expression) &&
12
+ !(value instanceof Param) &&
13
+ !(value instanceof Subquery));
14
+ }
15
+ /**
16
+ * Tagged template literal for raw SQL with type-safe interpolation.
17
+ *
18
+ * Accepts `Param`, `Expression`, `Subquery`, and `CompiledQuery` interpolations.
19
+ * Raw strings and numbers are rejected at the TypeScript type level.
20
+ *
21
+ * @example
22
+ * ```ts
23
+ * const minScore = qb.param('min', 'Float64');
24
+ * const query = sql`SELECT user_id FROM users WHERE score > ${minScore}`;
25
+ * // query.sql === 'SELECT user_id FROM users WHERE score > {min:Float64}'
26
+ * ```
27
+ */
28
+ export function sql(strings, ...values) {
29
+ const params = {};
30
+ const registeredParams = new Set();
31
+ function registerParam(p) {
32
+ if (registeredParams.has(p.name)) {
33
+ throw new Error(`Param name collision: "${p.name}" is already used in this query`);
34
+ }
35
+ registeredParams.add(p.name);
36
+ params[p.name] = undefined;
37
+ }
38
+ function mergeParams(source, label) {
39
+ for (const key of Object.keys(source)) {
40
+ if (registeredParams.has(key)) {
41
+ throw new Error(`Param name collision: "${key}" is used in both the ${label} and outer query`);
42
+ }
43
+ registeredParams.add(key);
44
+ params[key] = source[key];
45
+ }
46
+ }
47
+ const sqlParts = [strings[0]];
48
+ for (let i = 0; i < values.length; i++) {
49
+ const value = values[i];
50
+ const nextString = strings[i + 1];
51
+ if (value instanceof Param) {
52
+ registerParam(value);
53
+ sqlParts.push(value.toString(), nextString);
54
+ }
55
+ else if (value instanceof Subquery) {
56
+ mergeParams(value.subqueryParams, 'subquery');
57
+ sqlParts.push(value.sql, nextString);
58
+ }
59
+ else if (value instanceof ConditionGroup) {
60
+ for (const p of value.params)
61
+ registerParam(p);
62
+ sqlParts.push(value.toString(), nextString);
63
+ }
64
+ else if (value instanceof Expression) {
65
+ sqlParts.push(value.toString(), nextString);
66
+ }
67
+ else if (isCompiledQuery(value)) {
68
+ mergeParams(value.params, 'embedded query');
69
+ sqlParts.push(value.sql, nextString);
70
+ }
71
+ else {
72
+ throw new Error('Unsupported interpolation type in sql template — use Param, Expression, Subquery, or CompiledQuery');
73
+ }
74
+ }
75
+ return {
76
+ sql: sqlParts.join(''),
77
+ params,
78
+ };
79
+ }
80
+ //# sourceMappingURL=sql-template.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sql-template.js","sourceRoot":"","sources":["../../src/query/sql-template.ts"],"names":[],"mappings":"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"}
@@ -11,13 +11,17 @@ export type TableName<DB extends DatabaseSchema> = keyof DB & string;
11
11
  export type RowType<DB extends DatabaseSchema, T extends TableName<DB>> = DB[T]['row'];
12
12
  export type InsertType<DB extends DatabaseSchema, T extends TableName<DB>> = DB[T]['insert'];
13
13
  export type ColumnName<DB extends DatabaseSchema, T extends TableName<DB>> = keyof RowType<DB, T> & string;
14
- /** A compiled query ready for execution. */
15
- export interface CompiledQuery {
14
+ /** A compiled query ready for execution. TResult carries the inferred row type from selected columns. */
15
+ export interface CompiledQuery<TResult = Record<string, unknown>> {
16
16
  /** The parameterized SQL string with {name:Type} placeholders. */
17
17
  sql: string;
18
18
  /** Registry of parameter names that appear in the query. Values are undefined (filled at execution time). */
19
19
  params: Record<string, unknown>;
20
+ /** Phantom field — never set at runtime, only used by TypeScript to carry the result type. */
21
+ readonly _resultType?: TResult;
20
22
  }
23
+ /** Compute the result row type from selected columns and expressions. */
24
+ export type SelectResult<DB extends DatabaseSchema, T extends TableName<DB>, TSelected extends string> = string extends TSelected ? Record<string, unknown> : Pick<RowType<DB, T>, TSelected & keyof RowType<DB, T>> & Record<Exclude<TSelected, keyof RowType<DB, T>>, unknown>;
21
25
  export type SortDirection = 'ASC' | 'DESC';
22
26
  /** Comparison operators for scalar values. */
23
27
  export type ComparisonOp = '=' | '!=' | '>' | '<' | '>=' | '<=' | 'LIKE' | 'NOT LIKE' | 'ILIKE' | 'NOT ILIKE';
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/query/types.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,MAAM,WAAW,cAAc;IAC7B,CAAC,SAAS,EAAE,MAAM,GAAG;QACnB,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC7B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAChC,MAAM,EAAE,MAAM,CAAC;QACf,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;KAC9B,CAAC;CACH;AAED,MAAM,MAAM,SAAS,CAAC,EAAE,SAAS,cAAc,IAAI,MAAM,EAAE,GAAG,MAAM,CAAC;AACrE,MAAM,MAAM,OAAO,CAAC,EAAE,SAAS,cAAc,EAAE,CAAC,SAAS,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AACvF,MAAM,MAAM,UAAU,CAAC,EAAE,SAAS,cAAc,EAAE,CAAC,SAAS,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;AAC7F,MAAM,MAAM,UAAU,CAAC,EAAE,SAAS,cAAc,EAAE,CAAC,SAAS,SAAS,CAAC,EAAE,CAAC,IAAI,MAAM,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC;AAE3G,4CAA4C;AAC5C,MAAM,WAAW,aAAa;IAC5B,kEAAkE;IAClE,GAAG,EAAE,MAAM,CAAC;IACZ,6GAA6G;IAC7G,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC;AAED,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,MAAM,CAAC;AAE3C,8CAA8C;AAC9C,MAAM,MAAM,YAAY,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,MAAM,GAAG,UAAU,GAAG,OAAO,GAAG,WAAW,CAAC;AAE9G,iEAAiE;AACjE,MAAM,MAAM,KAAK,GAAG,IAAI,GAAG,QAAQ,CAAC;AAEpC,2CAA2C;AAC3C,MAAM,MAAM,OAAO,GAAG,SAAS,GAAG,aAAa,CAAC;AAEhD,qDAAqD;AACrD,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,aAAa,CAAC;AAElD,2BAA2B;AAC3B,MAAM,MAAM,OAAO,GAAG,YAAY,GAAG,KAAK,GAAG,OAAO,GAAG,SAAS,CAAC;AAEjE,6BAA6B;AAC7B,MAAM,MAAM,QAAQ,GAChB,MAAM,GACN,YAAY,GACZ,WAAW,GACX,YAAY,GACZ,WAAW,GACX,YAAY,GACZ,iBAAiB,GACjB,kBAAkB,GAClB,iBAAiB,GACjB,UAAU,GACV,eAAe,GACf,gBAAgB,GAChB,gBAAgB,GAChB,UAAU,GACV,eAAe,GACf,gBAAgB,GAChB,gBAAgB,GAChB,WAAW,GACX,gBAAgB,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/query/types.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,MAAM,WAAW,cAAc;IAC7B,CAAC,SAAS,EAAE,MAAM,GAAG;QACnB,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC7B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAChC,MAAM,EAAE,MAAM,CAAC;QACf,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;KAC9B,CAAC;CACH;AAED,MAAM,MAAM,SAAS,CAAC,EAAE,SAAS,cAAc,IAAI,MAAM,EAAE,GAAG,MAAM,CAAC;AACrE,MAAM,MAAM,OAAO,CAAC,EAAE,SAAS,cAAc,EAAE,CAAC,SAAS,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AACvF,MAAM,MAAM,UAAU,CAAC,EAAE,SAAS,cAAc,EAAE,CAAC,SAAS,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;AAC7F,MAAM,MAAM,UAAU,CAAC,EAAE,SAAS,cAAc,EAAE,CAAC,SAAS,SAAS,CAAC,EAAE,CAAC,IAAI,MAAM,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC;AAE3G,yGAAyG;AACzG,MAAM,WAAW,aAAa,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAC9D,kEAAkE;IAClE,GAAG,EAAE,MAAM,CAAC;IACZ,6GAA6G;IAC7G,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,8FAA8F;IAC9F,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;CAChC;AAED,yEAAyE;AACzE,MAAM,MAAM,YAAY,CAAC,EAAE,SAAS,cAAc,EAAE,CAAC,SAAS,SAAS,CAAC,EAAE,CAAC,EAAE,SAAS,SAAS,MAAM,IACnG,MAAM,SAAS,SAAS,GACpB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACvB,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,SAAS,GAAG,MAAM,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GACpD,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;AAElE,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,MAAM,CAAC;AAE3C,8CAA8C;AAC9C,MAAM,MAAM,YAAY,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,MAAM,GAAG,UAAU,GAAG,OAAO,GAAG,WAAW,CAAC;AAE9G,iEAAiE;AACjE,MAAM,MAAM,KAAK,GAAG,IAAI,GAAG,QAAQ,CAAC;AAEpC,2CAA2C;AAC3C,MAAM,MAAM,OAAO,GAAG,SAAS,GAAG,aAAa,CAAC;AAEhD,qDAAqD;AACrD,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,aAAa,CAAC;AAElD,2BAA2B;AAC3B,MAAM,MAAM,OAAO,GAAG,YAAY,GAAG,KAAK,GAAG,OAAO,GAAG,SAAS,CAAC;AAEjE,6BAA6B;AAC7B,MAAM,MAAM,QAAQ,GAChB,MAAM,GACN,YAAY,GACZ,WAAW,GACX,YAAY,GACZ,WAAW,GACX,YAAY,GACZ,iBAAiB,GACjB,kBAAkB,GAClB,iBAAiB,GACjB,UAAU,GACV,eAAe,GACf,gBAAgB,GAChB,gBAAgB,GAChB,UAAU,GACV,eAAe,GACf,gBAAgB,GAChB,gBAAgB,GAChB,WAAW,GACX,gBAAgB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jantokic/chtype",
3
- "version": "0.3.0",
3
+ "version": "0.4.1",
4
4
  "description": "Type-safe ClickHouse toolkit for TypeScript — schema codegen, query builder, and enhanced client",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -24,6 +24,10 @@
24
24
  "./client": {
25
25
  "import": "./dist/client/index.js",
26
26
  "types": "./dist/client/index.d.ts"
27
+ },
28
+ "./migrate": {
29
+ "import": "./dist/migrate/index.js",
30
+ "types": "./dist/migrate/index.d.ts"
27
31
  }
28
32
  },
29
33
  "scripts": {