@jantokic/chtype 0.3.0 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/client/client.d.ts +3 -3
- package/dist/client/client.d.ts.map +1 -1
- package/dist/client/client.js.map +1 -1
- package/dist/migrate/differ.d.ts +43 -0
- package/dist/migrate/differ.d.ts.map +1 -0
- package/dist/migrate/differ.js +77 -0
- package/dist/migrate/differ.js.map +1 -0
- package/dist/migrate/generator.d.ts +33 -0
- package/dist/migrate/generator.d.ts.map +1 -0
- package/dist/migrate/generator.js +125 -0
- package/dist/migrate/generator.js.map +1 -0
- package/dist/migrate/index.d.ts +4 -0
- package/dist/migrate/index.d.ts.map +1 -0
- package/dist/migrate/index.js +4 -0
- package/dist/migrate/index.js.map +1 -0
- package/dist/migrate/snapshot.d.ts +31 -0
- package/dist/migrate/snapshot.d.ts.map +1 -0
- package/dist/migrate/snapshot.js +68 -0
- package/dist/migrate/snapshot.js.map +1 -0
- package/dist/query/expressions.d.ts +6 -4
- package/dist/query/expressions.d.ts.map +1 -1
- package/dist/query/expressions.js +1 -1
- package/dist/query/expressions.js.map +1 -1
- package/dist/query/index.d.ts +2 -1
- package/dist/query/index.d.ts.map +1 -1
- package/dist/query/index.js +1 -0
- package/dist/query/index.js.map +1 -1
- package/dist/query/query-builder.d.ts +1 -1
- package/dist/query/query-builder.d.ts.map +1 -1
- package/dist/query/query-builder.js.map +1 -1
- package/dist/query/select-builder.d.ts +23 -19
- package/dist/query/select-builder.d.ts.map +1 -1
- package/dist/query/select-builder.js.map +1 -1
- package/dist/query/sql-template.d.ts +37 -0
- package/dist/query/sql-template.d.ts.map +1 -0
- package/dist/query/sql-template.js +80 -0
- package/dist/query/sql-template.js.map +1 -0
- package/dist/query/types.d.ts +6 -2
- package/dist/query/types.d.ts.map +1 -1
- package/package.json +5 -1
package/dist/client/client.d.ts
CHANGED
|
@@ -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,
|
|
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,
|
|
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":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
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
|
+
/**
|
|
9
|
+
* Generate ClickHouse SQL statements from a SchemaDiff.
|
|
10
|
+
*
|
|
11
|
+
* Returns an array of SQL strings, one per statement.
|
|
12
|
+
*/
|
|
13
|
+
export declare function generateSQL(diff: SchemaDiff): string[];
|
|
14
|
+
/**
|
|
15
|
+
* Generate a CREATE TABLE statement from a full table definition.
|
|
16
|
+
*
|
|
17
|
+
* Note: sortingKey, partitionKey, defaultExpression, and other values are
|
|
18
|
+
* trusted inputs from introspect.ts (sourced from system tables), not
|
|
19
|
+
* user-supplied strings, so they are emitted as-is without sanitization.
|
|
20
|
+
*/
|
|
21
|
+
export declare function generateCreateTable(table: IntrospectedTable): string;
|
|
22
|
+
/**
|
|
23
|
+
* Generate a DROP TABLE statement.
|
|
24
|
+
*/
|
|
25
|
+
export declare function generateDropTable(tableName: string): string;
|
|
26
|
+
/**
|
|
27
|
+
* Generate ALTER TABLE statements for column-level changes.
|
|
28
|
+
*
|
|
29
|
+
* Each column change produces a separate ALTER TABLE statement for clarity
|
|
30
|
+
* and to allow partial application.
|
|
31
|
+
*/
|
|
32
|
+
export declare function generateAlterTable(tableName: string, columns: ColumnDiff[]): string[];
|
|
33
|
+
//# 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;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,EAAE,CAsBtD;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,iBAAiB,GAAG,MAAM,CAgCpE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAE3D;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,MAAM,EAAE,CAmCrF"}
|
|
@@ -0,0 +1,125 @@
|
|
|
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) {
|
|
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));
|
|
18
|
+
}
|
|
19
|
+
break;
|
|
20
|
+
case 'drop':
|
|
21
|
+
statements.push(generateDropTable(tableDiff.table));
|
|
22
|
+
break;
|
|
23
|
+
case 'modify':
|
|
24
|
+
if (tableDiff.columns) {
|
|
25
|
+
statements.push(...generateAlterTable(tableDiff.table, tableDiff.columns));
|
|
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) {
|
|
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
|
+
let sql = `CREATE TABLE ${quoteIdentifier(table.name)}\n(\n${columns.join(',\n')}\n)`;
|
|
51
|
+
sql += `\nENGINE = ${table.engineFull || table.engine}`;
|
|
52
|
+
// ORDER BY, PARTITION BY, and PRIMARY KEY are only valid for MergeTree-family engines.
|
|
53
|
+
// Emitting them for Log, Memory, Kafka, etc. produces invalid DDL.
|
|
54
|
+
const isMergeTree = table.engine.includes('MergeTree');
|
|
55
|
+
if (isMergeTree && table.partitionKey) {
|
|
56
|
+
sql += `\nPARTITION BY ${table.partitionKey}`;
|
|
57
|
+
}
|
|
58
|
+
if (isMergeTree && table.sortingKey) {
|
|
59
|
+
sql += `\nORDER BY (${table.sortingKey})`;
|
|
60
|
+
}
|
|
61
|
+
if (isMergeTree && table.primaryKey && table.primaryKey !== table.sortingKey) {
|
|
62
|
+
sql += `\nPRIMARY KEY (${table.primaryKey})`;
|
|
63
|
+
}
|
|
64
|
+
if (table.comment) {
|
|
65
|
+
sql += `\nCOMMENT ${quoteSingleString(table.comment)}`;
|
|
66
|
+
}
|
|
67
|
+
return sql;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Generate a DROP TABLE statement.
|
|
71
|
+
*/
|
|
72
|
+
export function generateDropTable(tableName) {
|
|
73
|
+
return `DROP TABLE ${quoteIdentifier(tableName)}`;
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Generate ALTER TABLE statements for column-level changes.
|
|
77
|
+
*
|
|
78
|
+
* Each column change produces a separate ALTER TABLE statement for clarity
|
|
79
|
+
* and to allow partial application.
|
|
80
|
+
*/
|
|
81
|
+
export function generateAlterTable(tableName, columns) {
|
|
82
|
+
const statements = [];
|
|
83
|
+
const quoted = quoteIdentifier(tableName);
|
|
84
|
+
for (const diff of columns) {
|
|
85
|
+
switch (diff.action) {
|
|
86
|
+
case 'add': {
|
|
87
|
+
let clause = `ALTER TABLE ${quoted} ADD COLUMN ${quoteIdentifier(diff.column.name)} ${diff.column.type}`;
|
|
88
|
+
if (diff.column.defaultKind && diff.column.defaultExpression) {
|
|
89
|
+
clause += ` ${diff.column.defaultKind} ${diff.column.defaultExpression}`;
|
|
90
|
+
}
|
|
91
|
+
if (diff.column.comment) {
|
|
92
|
+
clause += ` COMMENT ${quoteSingleString(diff.column.comment)}`;
|
|
93
|
+
}
|
|
94
|
+
statements.push(clause);
|
|
95
|
+
break;
|
|
96
|
+
}
|
|
97
|
+
case 'drop':
|
|
98
|
+
statements.push(`ALTER TABLE ${quoted} DROP COLUMN ${quoteIdentifier(diff.column.name)}`);
|
|
99
|
+
break;
|
|
100
|
+
case 'modify': {
|
|
101
|
+
let clause = `ALTER TABLE ${quoted} MODIFY COLUMN ${quoteIdentifier(diff.column.name)} ${diff.column.type}`;
|
|
102
|
+
if (diff.column.defaultKind && diff.column.defaultExpression) {
|
|
103
|
+
clause += ` ${diff.column.defaultKind} ${diff.column.defaultExpression}`;
|
|
104
|
+
}
|
|
105
|
+
if (diff.column.comment) {
|
|
106
|
+
clause += ` COMMENT ${quoteSingleString(diff.column.comment)}`;
|
|
107
|
+
}
|
|
108
|
+
statements.push(clause);
|
|
109
|
+
break;
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
return statements;
|
|
114
|
+
}
|
|
115
|
+
/** Quote a ClickHouse identifier with backticks if it contains special characters. */
|
|
116
|
+
function quoteIdentifier(name) {
|
|
117
|
+
if (/^[a-zA-Z_][a-zA-Z0-9_]*$/.test(name))
|
|
118
|
+
return name;
|
|
119
|
+
return `\`${name.replace(/`/g, '\\`')}\``;
|
|
120
|
+
}
|
|
121
|
+
/** Escape and quote a string for use in SQL (single quotes). */
|
|
122
|
+
function quoteSingleString(value) {
|
|
123
|
+
return `'${value.replace(/'/g, "\\'")}'`;
|
|
124
|
+
}
|
|
125
|
+
//# 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, } 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,GACnB,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,GACnB,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:
|
|
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":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,
|
|
1
|
+
{"version":3,"file":"expressions.d.ts","sourceRoot":"","sources":["../../src/query/expressions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,mHAAmH;AACnH,qBAAa,UAAU,CAAC,KAAK,GAAG,OAAO;aAEnB,GAAG,EAAE,MAAM;aACX,KAAK,CAAC,EAAE,MAAM;gBADd,GAAG,EAAE,MAAM,EACX,KAAK,CAAC,EAAE,MAAM,YAAA;IAGhC,EAAE,CAAC,CAAC,SAAS,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG;QAAE,KAAK,EAAE,CAAC,CAAA;KAAE;IAIhE,QAAQ,IAAI,MAAM;CAGnB;AAED,oDAAoD;AACpD,KAAK,cAAc,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,UAAU,CAAC,CAAC;AAE9E,mFAAmF;AACnF,qBAAa,cAAe,SAAQ,UAAU;IAC5C,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC;gBAEb,UAAU,EAAE,CAAC,cAAc,GAAG,UAAU,CAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,GAAG,IAAI;CAwBhF;AAED,gCAAgC;AAChC,wBAAgB,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,cAAc,GAAG,UAAU,CAAC,EAAE,GAAG,cAAc,CAEjF;AAED,iCAAiC;AACjC,wBAAgB,GAAG,CAAC,GAAG,UAAU,EAAE,CAAC,cAAc,GAAG,UAAU,CAAC,EAAE,GAAG,cAAc,CAElF;AAED,6FAA6F;AAC7F,qBAAa,QAAS,SAAQ,UAAU;IACtC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBAErC,QAAQ,EAAE,aAAa,CAAC,OAAO,CAAC;CAI7C;AAED,oCAAoC;AACpC,eAAO,MAAM,EAAE;mBACE,MAAM,iBAAiB,MAAM,GAAG,UAAU;mBAG1C,MAAM,iBAAiB,MAAM,GAAG,UAAU;mBAG1C,MAAM,GAAG,UAAU;0BAGZ,MAAM,GAAG,UAAU;gBAG7B,MAAM,GAAG,UAAU;gBAGnB,MAAM,GAAG,UAAU;gBAGnB,MAAM,GAAG,UAAU;gBAGnB,MAAM,GAAG,UAAU;uBAGZ,MAAM,GAAG,UAAU;sBAGpB,MAAM,GAAG,UAAU;iBAGxB,MAAM,GAAG,UAAU;sBAGd,MAAM,GAAG,UAAU;yBAGhB,MAAM,GAAG,UAAU;0BAGlB,MAAM,GAAG,UAAU;qBAKxB,MAAM,UAAU,MAAM,GAAG,UAAU;wBAGhC,MAAM,UAAU,MAAM,GAAG,UAAU;wBAGnC,MAAM,UAAU,MAAM,GAAG,UAAU;qBAGtC,MAAM,UAAU,MAAM,GAAG,UAAU;sBAGlC,MAAM,GAAG,UAAU;yBAGhB,MAAM,GAAG,UAAU;0BAGlB,MAAM,GAAG,UAAU;yBAGpB,MAAM,GAAG,UAAU;4BAGhB,MAAM,EAAE,GAAG,UAAU;uBAG1B,MAAM,UAAU,MAAM,WAAW,MAAM,GAAG,UAAU;mBAIxD,MAAM,GAAG,UAAU;gBAGtB,MAAM,WAAW,MAAM,GAAG,UAAU;oBAGhC,MAAM,WAAW,MAAM,GAAG,UAAU;oBAMpC,MAAM,GAAG,UAAU;sBAGjB,MAAM,GAAG,UAAU;wBAGjB,MAAM,OAAO,MAAM,GAAG,UAAU;yBAM/B,MAAM,SAAS,MAAM,GAAG,UAAU;0BAMjC,MAAM,GAAG,UAAU;2BAGlB,MAAM,GAAG,UAAU;0BAGpB,MAAM,GAAG,UAAU;4BAGjB,MAAM,GAAG,UAAU;mBAG5B,MAAM,GAAG,UAAU;uBAGf,MAAM,GAAG,UAAU;WAG/B,UAAU;aAGR,UAAU;mBAGJ,MAAM,SAAS,MAAM,OAAO,MAAM,GAAG,UAAU;kBAMhD,MAAM,GAAG,UAAU;kBAGnB,MAAM,GAAG,UAAU;iBAGpB,MAAM,GAAG,UAAU;uBAGb,MAAM,EAAE,GAAG,UAAU;sBAGtB,MAAM,UAAU,MAAM,WAAW,MAAM,GAAG,UAAU;mBAOvD,MAAM,QAAQ,MAAM,SAAS,MAAM,GAAG,UAAU;qBAG9C,MAAM,EAAE,GAAG,UAAU;yBAGjB,MAAM,EAAE,GAAG,UAAU;qBAMzB,MAAM,GAAG,UAAU;qBAGnB,MAAM,GAAG,UAAU;oBAGpB,MAAM,GAAG,UAAU;sBAGjB,MAAM,GAAG,UAAU;sBAGnB,MAAM,GAAG,UAAU;oBAMrB,MAAM,UAAU,MAAM,GAAG,UAAU;mBAGpC,MAAM,GAAG,UAAU;gBAGtB,MAAM,GAAG,UAAU;oBAGf,MAAM,GAAG,UAAU;kBAGrB,MAAM,aAAa,MAAM,GAAG,UAAU;uBAGjC,MAAM,GAAG,UAAU;kBAGxB,MAAM,aAAa,MAAM,GAAG,UAAU;IAIpD,kEAAkE;aACzD,MAAM,GAAG,UAAU;CAG7B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"expressions.js","sourceRoot":"","sources":["../../src/query/expressions.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,
|
|
1
|
+
{"version":3,"file":"expressions.js","sourceRoot":"","sources":["../../src/query/expressions.ts"],"names":[],"mappings":"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"}
|
package/dist/query/index.d.ts
CHANGED
|
@@ -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
|
|
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"}
|
package/dist/query/index.js
CHANGED
|
@@ -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
|
package/dist/query/index.js.map
CHANGED
|
@@ -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;
|
|
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,
|
|
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
|
|
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":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EACV,SAAS,EACT,UAAU,EACV,aAAa,EACb,YAAY,EACZ,cAAc,EACd,QAAQ,EACR,KAAK,EACL,aAAa,EACb,SAAS,EACT,OAAO,EAER,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AA4BnC,qBAAa,aAAa,CACxB,EAAE,SAAS,cAAc,EACzB,CAAC,SAAS,SAAS,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,EAAE,CAAC,EACvC,SAAS,SAAS,MAAM,GAAG,MAAM;IAEjC,OAAO,CAAC,MAAM,CAAI;IAClB,OAAO,CAAC,WAAW,CAAC,CAAS;IAC7B,OAAO,CAAC,QAAQ,CAA+B;IAC/C,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,KAAK,CAAmB;IAChC,OAAO,CAAC,OAAO,CAAqB;IACpC,OAAO,CAAC,UAAU,CAAqB;IACvC,OAAO,CAAC,MAAM,CAAoB;IAClC,OAAO,CAAC,QAAQ,CAAgB;IAChC,OAAO,CAAC,QAAQ,CAAqB;IACrC,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,MAAM,CAA+B;IAC7C,OAAO,CAAC,OAAO,CAA+B;IAC9C,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,OAAO,CAAuB;IACtC,OAAO,CAAC,aAAa,CAAuB;IAC5C,OAAO,CAAC,SAAS,CAAiD;gBAEtD,KAAK,EAAE,CAAC;IAIpB,gDAAgD;IAChD,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAKvB,yCAAyC;IACzC,QAAQ,IAAI,IAAI;IAKhB,oFAAoF;IACpF,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG;QAAE,OAAO,IAAI,aAAa,CAAA;KAAE,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"select-builder.d.ts","sourceRoot":"","sources":["../../src/query/select-builder.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EACV,SAAS,EACT,UAAU,EACV,aAAa,EACb,YAAY,EACZ,cAAc,EACd,QAAQ,EACR,OAAO,EACP,YAAY,EACZ,KAAK,EACL,aAAa,EACb,SAAS,EACT,OAAO,EAER,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AA4BnC,qBAAa,aAAa,CACxB,EAAE,SAAS,cAAc,EACzB,CAAC,SAAS,SAAS,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,EAAE,CAAC,EACvC,SAAS,SAAS,MAAM,GAAG,MAAM;IAEjC,OAAO,CAAC,MAAM,CAAI;IAClB,OAAO,CAAC,WAAW,CAAC,CAAS;IAC7B,OAAO,CAAC,QAAQ,CAA+B;IAC/C,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,KAAK,CAAmB;IAChC,OAAO,CAAC,OAAO,CAAqB;IACpC,OAAO,CAAC,UAAU,CAAqB;IACvC,OAAO,CAAC,MAAM,CAAoB;IAClC,OAAO,CAAC,QAAQ,CAAgB;IAChC,OAAO,CAAC,QAAQ,CAAqB;IACrC,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,MAAM,CAA+B;IAC7C,OAAO,CAAC,OAAO,CAA+B;IAC9C,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,OAAO,CAAuB;IACtC,OAAO,CAAC,aAAa,CAAuB;IAC5C,OAAO,CAAC,SAAS,CAAiD;gBAEtD,KAAK,EAAE,CAAC;IAIpB,gDAAgD;IAChD,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAKvB,yCAAyC;IACzC,QAAQ,IAAI,IAAI;IAKhB,oFAAoF;IACpF,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG;QAAE,OAAO,IAAI,aAAa,CAAC,OAAO,CAAC,CAAA;KAAE,GAAG,IAAI;IASpF,0GAA0G;IAC1G,QAAQ,CACN,MAAM,EAAE,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,UAAU,GAAG,MAAM,EAC/C,EAAE,EAAE,YAAY,EAChB,KAAK,EAAE,KAAK,GAAG,UAAU,GACxB,IAAI;IACP,QAAQ,CACN,MAAM,EAAE,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,UAAU,GAAG,MAAM,EAC/C,EAAE,EAAE,KAAK,EACT,KAAK,EAAE,KAAK,GAAG,UAAU,GACxB,IAAI;IACP,QAAQ,CACN,MAAM,EAAE,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,UAAU,GAAG,MAAM,EAC/C,EAAE,EAAE,OAAO,GACV,IAAI;IACP,QAAQ,CACN,MAAM,EAAE,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,UAAU,GAAG,MAAM,EAC/C,EAAE,EAAE,SAAS,EACb,KAAK,EAAE,CAAC,KAAK,GAAG,UAAU,EAAE,KAAK,GAAG,UAAU,CAAC,GAC9C,IAAI;IACP,QAAQ,CAAC,SAAS,EAAE,UAAU,GAAG,IAAI;IAUrC,MAAM,CAAC,CAAC,SAAS,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,SAAS,UAAU,GAAG;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,EAC1E,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,EAAE,GAC9B,aAAa,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,SAAS;QAAE,KAAK,EAAE,MAAM,CAAC,SAAS,MAAM,CAAA;KAAE,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;IAKtF,kFAAkF;IAClF,KAAK,CACH,MAAM,EAAE,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,UAAU,GAAG,MAAM,EAC/C,EAAE,EAAE,YAAY,EAChB,KAAK,EAAE,KAAK,GAAG,UAAU,GACxB,IAAI;IACP,4EAA4E;IAC5E,KAAK,CACH,MAAM,EAAE,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,UAAU,GAAG,MAAM,EAC/C,EAAE,EAAE,KAAK,EACT,KAAK,EAAE,KAAK,GAAG,UAAU,GACxB,IAAI;IACP,8DAA8D;IAC9D,KAAK,CACH,MAAM,EAAE,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,UAAU,GAAG,MAAM,EAC/C,EAAE,EAAE,OAAO,GACV,IAAI;IACP,8DAA8D;IAC9D,KAAK,CACH,MAAM,EAAE,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,UAAU,GAAG,MAAM,EAC/C,EAAE,EAAE,SAAS,EACb,KAAK,EAAE,CAAC,KAAK,GAAG,UAAU,EAAE,KAAK,GAAG,UAAU,CAAC,GAC9C,IAAI;IACP,+DAA+D;IAC/D,KAAK,CAAC,SAAS,EAAE,UAAU,GAAG,IAAI;IAUlC;;;;;;;;;OASG;IACH,IAAI,CACF,IAAI,EAAE,QAAQ,EACd,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,GACd,IAAI;IAKP,gCAAgC;IAChC,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAI1F,+BAA+B;IAC/B,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAIzF,gCAAgC;IAChC,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAI1F,4EAA4E;IAC5E,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI;IAK9C,yDAAyD;IACzD,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAI5F,OAAO,CAAC,GAAG,OAAO,EAAE,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,UAAU,GAAG,MAAM,CAAC,EAAE,GAAG,IAAI;IAKtE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,EAAE,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,KAAK,GAAG,UAAU,GAAG,IAAI;IACtF,MAAM,CAAC,SAAS,EAAE,UAAU,GAAG,IAAI;IAenC,OAAO,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,UAAU,GAAG,MAAM,EAAE,SAAS,GAAE,aAAqB,GAAG,IAAI;IAMhG,KAAK,CAAC,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,IAAI;IAK9B,MAAM,CAAC,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,IAAI;IAK/B,qEAAqE;IACrE,KAAK,IAAI,IAAI;IAKb;;;;OAIG;IACH,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;IAQ5C,sFAAsF;IACtF,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,GAAG,IAAI;IAa5D,OAAO,IAAI,aAAa,CAAC,MAAM,SAAS,SAAS,GAAG,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,YAAY,CAAC,EAAE,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC;CAkFrG;AAED,KAAK,WAAW,GAAG,WAAW,GAAG,gBAAgB,GAAG,WAAW,GAAG,QAAQ,CAAC;AAE3E,0GAA0G;AAC1G,wBAAgB,YAAY,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACtD,QAAQ,EAAE,WAAW,EACrB,GAAG,OAAO,EAAE;IAAE,OAAO,IAAI,aAAa,CAAC,CAAC,CAAC,CAAA;CAAE,EAAE,GAC5C,aAAa,CAAC,CAAC,CAAC,CAqBlB;AAED,+BAA+B;AAC/B,wBAAgB,QAAQ,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,OAAO,EAAE;IAAE,OAAO,IAAI,aAAa,CAAC,CAAC,CAAC,CAAA;CAAE,EAAE,GAAG,aAAa,CAAC,CAAC,CAAC,CAErH;AAED,oCAAoC;AACpC,wBAAgB,aAAa,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,OAAO,EAAE;IAAE,OAAO,IAAI,aAAa,CAAC,CAAC,CAAC,CAAA;CAAE,EAAE,GAAG,aAAa,CAAC,CAAC,CAAC,CAE1H;AAED,+BAA+B;AAC/B,wBAAgB,SAAS,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,OAAO,EAAE;IAAE,OAAO,IAAI,aAAa,CAAC,CAAC,CAAC,CAAA;CAAE,EAAE,GAAG,aAAa,CAAC,CAAC,CAAC,CAEtH;AAED,4BAA4B;AAC5B,wBAAgB,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,OAAO,EAAE;IAAE,OAAO,IAAI,aAAa,CAAC,CAAC,CAAC,CAAA;CAAE,EAAE,GAAG,aAAa,CAAC,CAAC,CAAC,CAEnH"}
|
|
@@ -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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"}
|
package/dist/query/types.d.ts
CHANGED
|
@@ -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,
|
|
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
|
+
"version": "0.4.0",
|
|
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": {
|