@hypequery/clickhouse 2.10.1 → 2.11.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/core/cte-scope.d.ts +91 -0
- package/dist/core/cte-scope.d.ts.map +1 -0
- package/dist/core/cte-scope.js +52 -0
- package/dist/core/dialects/clickhouse-dialect.d.ts.map +1 -1
- package/dist/core/dialects/clickhouse-dialect.js +4 -1
- package/dist/core/features/analytics.d.ts +13 -2
- package/dist/core/features/analytics.d.ts.map +1 -1
- package/dist/core/features/analytics.js +49 -3
- package/dist/core/features/joins.d.ts +5 -1
- package/dist/core/features/joins.d.ts.map +1 -1
- package/dist/core/features/joins.js +5 -1
- package/dist/core/formatters/sql-formatter.d.ts +1 -0
- package/dist/core/formatters/sql-formatter.d.ts.map +1 -1
- package/dist/core/formatters/sql-formatter.js +10 -3
- package/dist/core/query-builder.d.ts +89 -12
- package/dist/core/query-builder.d.ts.map +1 -1
- package/dist/core/query-builder.js +56 -4
- package/dist/core/query-node.d.ts.map +1 -1
- package/dist/core/query-node.js +7 -1
- package/dist/core/tests/integration/setup.d.ts +9 -0
- package/dist/core/tests/integration/setup.d.ts.map +1 -1
- package/dist/core/tests/test-utils.d.ts +23 -1
- package/dist/core/tests/test-utils.d.ts.map +1 -1
- package/dist/core/tests/test-utils.js +12 -3
- package/dist/core/types/builder-state.d.ts +68 -9
- package/dist/core/types/builder-state.d.ts.map +1 -1
- package/dist/core/types/builder-state.js +1 -0
- package/dist/core/types/select-types.d.ts +4 -2
- package/dist/core/types/select-types.d.ts.map +1 -1
- package/dist/core/utils/compound-parameter.d.ts +6 -0
- package/dist/core/utils/compound-parameter.d.ts.map +1 -0
- package/dist/core/utils/compound-parameter.js +70 -0
- package/dist/core/utils/cte-fragments.d.ts +17 -0
- package/dist/core/utils/cte-fragments.d.ts.map +1 -0
- package/dist/core/utils/cte-fragments.js +20 -0
- package/dist/core/utils/cte-scope-state.d.ts +5 -0
- package/dist/core/utils/cte-scope-state.d.ts.map +1 -0
- package/dist/core/utils/cte-scope-state.js +16 -0
- package/dist/core/utils/named-parameters.d.ts +30 -0
- package/dist/core/utils/named-parameters.d.ts.map +1 -0
- package/dist/core/utils/named-parameters.js +108 -0
- package/dist/core/utils/parameter-type.d.ts +10 -0
- package/dist/core/utils/parameter-type.d.ts.map +1 -0
- package/dist/core/utils/parameter-type.js +46 -0
- package/dist/core/utils/record-guards.d.ts +3 -0
- package/dist/core/utils/record-guards.d.ts.map +1 -0
- package/dist/core/utils/record-guards.js +7 -0
- package/dist/core/utils/sql-parens.d.ts +6 -0
- package/dist/core/utils/sql-parens.d.ts.map +1 -1
- package/dist/core/utils/sql-parens.js +6 -1
- package/dist/index.d.ts +4 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/types/base.d.ts +39 -0
- package/dist/types/base.d.ts.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import type { DatabaseAdapter } from './adapters/database-adapter.js';
|
|
2
|
+
import type { QueryRuntimeContext } from './cache/runtime-context.js';
|
|
3
|
+
import type { SqlDialect } from './dialects/sql-dialect.js';
|
|
4
|
+
import type { CteBody } from './features/analytics.js';
|
|
5
|
+
import { QueryBuilder } from './query-builder.js';
|
|
6
|
+
import type { AnyBuilderState, CteShapes, CteSourceState, InitialState, RegisterCte, SchemaDefinition, WithCtes } from './types/builder-state.js';
|
|
7
|
+
import type { ColumnType } from '../types/schema.js';
|
|
8
|
+
import type { RawCteBody } from '../types/index.js';
|
|
9
|
+
/** One CTE declared on a scope, replayed onto every query the scope starts. */
|
|
10
|
+
type CteDeclaration = {
|
|
11
|
+
alias: string;
|
|
12
|
+
columns?: Record<string, ColumnType>;
|
|
13
|
+
} & ({
|
|
14
|
+
recursive: true;
|
|
15
|
+
body: string | RawCteBody;
|
|
16
|
+
} | {
|
|
17
|
+
recursive: false;
|
|
18
|
+
body: CteBody;
|
|
19
|
+
});
|
|
20
|
+
/** What a scope needs to build a query, mirroring `createQueryBuilder`. */
|
|
21
|
+
export interface CteScopeDeps {
|
|
22
|
+
runtime: QueryRuntimeContext;
|
|
23
|
+
adapter: DatabaseAdapter;
|
|
24
|
+
dialect: SqlDialect;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* CTEs declared before a query has a source, so the query can read *from* one
|
|
28
|
+
* of them. `db.table('users').withCTE(...)` covers the case where the CTE is
|
|
29
|
+
* joined into a query over a schema table; a scope covers the case where the
|
|
30
|
+
* CTE is the source, which a table-first chain cannot express.
|
|
31
|
+
*
|
|
32
|
+
* Declarations are scoped to the queries a scope starts. Nothing is added to
|
|
33
|
+
* the schema.
|
|
34
|
+
*/
|
|
35
|
+
export declare class CteScope<Schema extends SchemaDefinition<Schema>, Ctes extends CteShapes = {}> {
|
|
36
|
+
private readonly deps;
|
|
37
|
+
private readonly declarations;
|
|
38
|
+
constructor(deps: CteScopeDeps, declarations?: readonly CteDeclaration[]);
|
|
39
|
+
/**
|
|
40
|
+
* Declares a CTE. Columns declared alongside a raw body type the alias the
|
|
41
|
+
* same way a builder body's output type does.
|
|
42
|
+
*/
|
|
43
|
+
withCTE<Alias extends string, SubqueryState extends AnyBuilderState>(alias: Alias, subquery: QueryBuilder<any, SubqueryState>): CteScope<Schema, RegisterCte<Ctes, Alias, SubqueryState['output']>>;
|
|
44
|
+
withCTE<Alias extends string, Columns extends Record<string, ColumnType>>(alias: Alias, sql: string | RawCteBody, columns: Columns): CteScope<Schema, RegisterCte<Ctes, Alias, Columns>>;
|
|
45
|
+
withCTE(alias: string, sql: string | RawCteBody): CteScope<Schema, Ctes>;
|
|
46
|
+
/**
|
|
47
|
+
* Declares a recursive CTE, rendering the clause as `WITH RECURSIVE`. The
|
|
48
|
+
* body must be raw SQL: its recursive term references the CTE's own alias,
|
|
49
|
+
* which no builder can express.
|
|
50
|
+
*
|
|
51
|
+
* ClickHouse requires `enable_analyzer` (on by default from 24.8), a
|
|
52
|
+
* `UNION ALL` between the seed and the recursive term, and stops at
|
|
53
|
+
* `max_recursive_cte_evaluation_depth` (1000 by default).
|
|
54
|
+
*
|
|
55
|
+
* @example
|
|
56
|
+
* ```ts
|
|
57
|
+
* const rows = await db
|
|
58
|
+
* .withRecursiveCTE(
|
|
59
|
+
* 'descendants',
|
|
60
|
+
* {
|
|
61
|
+
* sql: `
|
|
62
|
+
* SELECT {rootId:UUID} AS id
|
|
63
|
+
* UNION ALL
|
|
64
|
+
* SELECT link.child_id AS id
|
|
65
|
+
* FROM asset_link AS link
|
|
66
|
+
* INNER JOIN descendants AS walked ON link.parent_id = walked.id
|
|
67
|
+
* WHERE link.organization_id = {organizationId:UUID}
|
|
68
|
+
* `,
|
|
69
|
+
* parameters: { rootId, organizationId },
|
|
70
|
+
* },
|
|
71
|
+
* { id: 'UUID' },
|
|
72
|
+
* )
|
|
73
|
+
* .table('descendants')
|
|
74
|
+
* .select(['id'])
|
|
75
|
+
* .distinct()
|
|
76
|
+
* .execute();
|
|
77
|
+
* ```
|
|
78
|
+
*/
|
|
79
|
+
withRecursiveCTE<Alias extends string, Columns extends Record<string, ColumnType>>(alias: Alias, body: string | RawCteBody, columns: Columns): CteScope<Schema, RegisterCte<Ctes, Alias, Columns>>;
|
|
80
|
+
withRecursiveCTE(alias: string, body: string | RawCteBody): CteScope<Schema, Ctes>;
|
|
81
|
+
/**
|
|
82
|
+
* Starts a query, reading either from a declared CTE or from a schema table.
|
|
83
|
+
* Either way the query carries every CTE declared on this scope, so the rest
|
|
84
|
+
* of them stay available as join targets.
|
|
85
|
+
*/
|
|
86
|
+
table<Alias extends Extract<keyof Ctes, string>>(alias: Alias): QueryBuilder<Schema, CteSourceState<Schema, Alias, Ctes>>;
|
|
87
|
+
table<TableName extends Extract<keyof Schema, string>>(tableName: TableName): QueryBuilder<Schema, WithCtes<InitialState<Schema, TableName>, Ctes>>;
|
|
88
|
+
private declare;
|
|
89
|
+
}
|
|
90
|
+
export {};
|
|
91
|
+
//# sourceMappingURL=cte-scope.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cte-scope.d.ts","sourceRoot":"","sources":["../../src/core/cte-scope.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,KAAK,EACV,eAAe,EACf,SAAS,EACT,cAAc,EACd,YAAY,EACZ,WAAW,EACX,gBAAgB,EAChB,QAAQ,EACT,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAGpD,+EAA+E;AAC/E,KAAK,cAAc,GAAG;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;CACtC,GAAG,CACA;IAAE,SAAS,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAAA;CAAE,GAC9C;IAAE,SAAS,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,OAAO,CAAA;CAAE,CACtC,CAAC;AAUF,2EAA2E;AAC3E,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,mBAAmB,CAAC;IAC7B,OAAO,EAAE,eAAe,CAAC;IACzB,OAAO,EAAE,UAAU,CAAC;CACrB;AAED;;;;;;;;GAQG;AACH,qBAAa,QAAQ,CAAC,MAAM,SAAS,gBAAgB,CAAC,MAAM,CAAC,EAAE,IAAI,SAAS,SAAS,GAAG,EAAE;IAEtF,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,YAAY;gBADZ,IAAI,EAAE,YAAY,EAClB,YAAY,GAAE,SAAS,cAAc,EAAO;IAG/D;;;OAGG;IACH,OAAO,CAAC,KAAK,SAAS,MAAM,EAAE,aAAa,SAAS,eAAe,EACjE,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,YAAY,CAAC,GAAG,EAAE,aAAa,CAAC,GACzC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC;IACtE,OAAO,CAAC,KAAK,SAAS,MAAM,EAAE,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,EACtE,KAAK,EAAE,KAAK,EACZ,GAAG,EAAE,MAAM,GAAG,UAAU,EACxB,OAAO,EAAE,OAAO,GACf,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IACtD,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,UAAU,GAAG,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC;IAaxE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAgCG;IACH,gBAAgB,CAAC,KAAK,SAAS,MAAM,EAAE,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,EAC/E,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,MAAM,GAAG,UAAU,EACzB,OAAO,EAAE,OAAO,GACf,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IACtD,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC;IAalF;;;;OAIG;IACH,KAAK,CAAC,KAAK,SAAS,OAAO,CAAC,MAAM,IAAI,EAAE,MAAM,CAAC,EAC7C,KAAK,EAAE,KAAK,GACX,YAAY,CAAC,MAAM,EAAE,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IAC5D,KAAK,CAAC,SAAS,SAAS,OAAO,CAAC,MAAM,MAAM,EAAE,MAAM,CAAC,EACnD,SAAS,EAAE,SAAS,GACnB,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,YAAY,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,IAAI,CAAC,CAAC;IAgCxE,OAAO,CAAC,OAAO;CAGhB"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { QueryBuilder } from './query-builder.js';
|
|
2
|
+
import { createCteScopeState } from './utils/cte-scope-state.js';
|
|
3
|
+
/**
|
|
4
|
+
* CTEs declared before a query has a source, so the query can read *from* one
|
|
5
|
+
* of them. `db.table('users').withCTE(...)` covers the case where the CTE is
|
|
6
|
+
* joined into a query over a schema table; a scope covers the case where the
|
|
7
|
+
* CTE is the source, which a table-first chain cannot express.
|
|
8
|
+
*
|
|
9
|
+
* Declarations are scoped to the queries a scope starts. Nothing is added to
|
|
10
|
+
* the schema.
|
|
11
|
+
*/
|
|
12
|
+
export class CteScope {
|
|
13
|
+
deps;
|
|
14
|
+
declarations;
|
|
15
|
+
constructor(deps, declarations = []) {
|
|
16
|
+
this.deps = deps;
|
|
17
|
+
this.declarations = declarations;
|
|
18
|
+
}
|
|
19
|
+
withCTE(alias, body, columns) {
|
|
20
|
+
return this.declare({ alias, body, columns, recursive: false });
|
|
21
|
+
}
|
|
22
|
+
withRecursiveCTE(alias, body, columns) {
|
|
23
|
+
return this.declare({ alias, body, columns, recursive: true });
|
|
24
|
+
}
|
|
25
|
+
// QueryBuilder is invariant in State. Only this overload boundary erases it;
|
|
26
|
+
// the replay loop below uses a concrete state, and callers see the overloads.
|
|
27
|
+
table(name) {
|
|
28
|
+
const cte = this.declarations.some(entry => entry.alias === name);
|
|
29
|
+
let builder = new QueryBuilder(name, createCteScopeState(name), this.deps.runtime, this.deps.adapter, this.deps.dialect, cte ? { kind: 'table', name, cte: true } : undefined);
|
|
30
|
+
// Keep replay on the builder's own paths. Narrow raw vs builder bodies so
|
|
31
|
+
// each call satisfies the public overloads without erasing the builder.
|
|
32
|
+
for (const entry of this.declarations) {
|
|
33
|
+
if (entry.recursive) {
|
|
34
|
+
builder = entry.columns
|
|
35
|
+
? builder.withRecursiveCTE(entry.alias, entry.body, entry.columns)
|
|
36
|
+
: builder.withRecursiveCTE(entry.alias, entry.body);
|
|
37
|
+
}
|
|
38
|
+
else if (entry.body instanceof QueryBuilder) {
|
|
39
|
+
builder = builder.withCTE(entry.alias, entry.body);
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
builder = entry.columns
|
|
43
|
+
? builder.withCTE(entry.alias, entry.body, entry.columns)
|
|
44
|
+
: builder.withCTE(entry.alias, entry.body);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
return builder;
|
|
48
|
+
}
|
|
49
|
+
declare(declaration) {
|
|
50
|
+
return new CteScope(this.deps, [...this.declarations, declaration]);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clickhouse-dialect.d.ts","sourceRoot":"","sources":["../../../src/core/dialects/clickhouse-dialect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAc,MAAM,sBAAsB,CAAC;AAGvF,OAAO,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAExE,qBAAa,iBAAkB,YAAW,UAAU;IAClD,QAAQ,CAAC,IAAI,gBAAgB;IAC7B,OAAO,CAAC,SAAS,CAAsB;IAEvC,YAAY,CAAC,KAAK,EAAE,eAAe,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,mBAAmB,GAAG,aAAa;
|
|
1
|
+
{"version":3,"file":"clickhouse-dialect.d.ts","sourceRoot":"","sources":["../../../src/core/dialects/clickhouse-dialect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAc,MAAM,sBAAsB,CAAC;AAGvF,OAAO,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAExE,qBAAa,iBAAkB,YAAW,UAAU;IAClD,QAAQ,CAAC,IAAI,gBAAgB;IAC7B,OAAO,CAAC,SAAS,CAAsB;IAEvC,YAAY,CAAC,KAAK,EAAE,eAAe,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,mBAAmB,GAAG,aAAa;IAuE3F,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM;IAQ5E,cAAc,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM;IAMzD,OAAO,CAAC,aAAa;CActB"}
|
|
@@ -7,7 +7,10 @@ export class ClickHouseDialect {
|
|
|
7
7
|
const parts = [];
|
|
8
8
|
const parameters = [];
|
|
9
9
|
if (query.ctes?.length) {
|
|
10
|
-
|
|
10
|
+
// CTE parameters lead the positional list because WITH renders first.
|
|
11
|
+
const compiled = this.formatter.compileCtes(query);
|
|
12
|
+
parts.push(`WITH ${query.recursiveCtes ? 'RECURSIVE ' : ''}${compiled.query}`);
|
|
13
|
+
parameters.push(...compiled.parameters);
|
|
11
14
|
}
|
|
12
15
|
parts.push(`SELECT ${this.formatter.formatSelect(query)}`);
|
|
13
16
|
const compiledSource = this.compileSource(query.from ?? { kind: 'table', name: context.tableName }, context);
|
|
@@ -3,11 +3,22 @@ import type { AnyBuilderState, BuilderState, SchemaDefinition } from '../types/b
|
|
|
3
3
|
import { QueryBuilder } from '../query-builder.js';
|
|
4
4
|
import type { SqlDialect } from '../dialects/sql-dialect.js';
|
|
5
5
|
import type { PredicateExpression } from '../utils/predicate-builder.js';
|
|
6
|
-
import type { SelectQueryNode } from '../../types/index.js';
|
|
6
|
+
import type { RawCteBody, SelectQueryNode } from '../../types/index.js';
|
|
7
|
+
/** Every form a CTE body can take. */
|
|
8
|
+
export type CteBody = QueryBuilder<any, AnyBuilderState> | string | RawCteBody;
|
|
7
9
|
export declare class AnalyticsFeature<Schema extends SchemaDefinition<Schema>, State extends BuilderState<Schema, string, any, keyof Schema, Partial<Record<string, keyof Schema>>, any, any>> {
|
|
8
10
|
private builder;
|
|
9
11
|
constructor(builder: QueryBuilder<Schema, State>);
|
|
10
|
-
addCTE(alias: string, subquery:
|
|
12
|
+
addCTE(alias: string, subquery: CteBody, options?: {
|
|
13
|
+
recursive?: boolean;
|
|
14
|
+
}): SelectQueryNode<State['output'], Schema>;
|
|
15
|
+
/**
|
|
16
|
+
* A builder subquery is compiled with its placeholders intact so its values
|
|
17
|
+
* stay bound, and a raw body's `{name:Type}` placeholders are rewritten to the
|
|
18
|
+
* same positional markers. `rendered` keeps the inlined form the node has
|
|
19
|
+
* always carried, using the path `toSQL()` takes.
|
|
20
|
+
*/
|
|
21
|
+
private compileCteBody;
|
|
11
22
|
addScalar(alias: string, expression: PredicateExpression): SelectQueryNode<State['output'], Schema>;
|
|
12
23
|
addTimeInterval(column: string, interval: string, method: 'toStartOfInterval' | 'toStartOfMinute' | 'toStartOfHour' | 'toStartOfDay' | 'toStartOfWeek' | 'toStartOfMonth' | 'toStartOfQuarter' | 'toStartOfYear', dialect: SqlDialect): SelectQueryNode<State['output'], Schema>;
|
|
13
24
|
addSettings(opts: ClickHouseSettings): SelectQueryNode<State['output'], Schema>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analytics.d.ts","sourceRoot":"","sources":["../../../src/core/features/analytics.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AACjG,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"analytics.d.ts","sourceRoot":"","sources":["../../../src/core/features/analytics.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AACjG,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAKzE,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAExE,sCAAsC;AACtC,MAAM,MAAM,OAAO,GAAG,YAAY,CAAC,GAAG,EAAE,eAAe,CAAC,GAAG,MAAM,GAAG,UAAU,CAAC;AAS/E,qBAAa,gBAAgB,CAC3B,MAAM,SAAS,gBAAgB,CAAC,MAAM,CAAC,EACvC,KAAK,SAAS,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC;IAElG,OAAO,CAAC,OAAO;gBAAP,OAAO,EAAE,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC;IAExD,MAAM,CACJ,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,OAAO,EACjB,OAAO,GAAE;QAAE,SAAS,CAAC,EAAE,OAAO,CAAA;KAAO,GACpC,eAAe,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAsB3C;;;;;OAKG;IACH,OAAO,CAAC,cAAc;IA4BtB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,mBAAmB,GAAG,eAAe,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAYnG,eAAe,CACb,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,mBAAmB,GAAG,iBAAiB,GAAG,eAAe,GAAG,cAAc,GAAG,eAAe,GAAG,gBAAgB,GAAG,kBAAkB,GAAG,eAAe,EAC9J,OAAO,EAAE,UAAU,GAClB,eAAe,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAa3C,WAAW,CAAC,IAAI,EAAE,kBAAkB,GAAG,eAAe,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAUhF"}
|
|
@@ -1,16 +1,62 @@
|
|
|
1
|
+
import { QueryBuilder } from '../query-builder.js';
|
|
1
2
|
import { substituteParameters } from '../utils.js';
|
|
3
|
+
import { renderCteBody } from '../utils/cte-fragments.js';
|
|
2
4
|
import { terminateTrailingLineComment } from '../utils/sql-parens.js';
|
|
5
|
+
import { bindNamedParameters } from '../utils/named-parameters.js';
|
|
3
6
|
export class AnalyticsFeature {
|
|
4
7
|
builder;
|
|
5
8
|
constructor(builder) {
|
|
6
9
|
this.builder = builder;
|
|
7
10
|
}
|
|
8
|
-
addCTE(alias, subquery) {
|
|
11
|
+
addCTE(alias, subquery, options = {}) {
|
|
9
12
|
const query = this.builder.getQueryNode();
|
|
10
|
-
const
|
|
13
|
+
const { body, parameters, rendered } = this.compileCteBody(subquery);
|
|
11
14
|
return {
|
|
12
15
|
...query,
|
|
13
|
-
|
|
16
|
+
// RECURSIVE belongs to the WITH clause, so one recursive entry marks the
|
|
17
|
+
// whole list and a later plain entry never clears it.
|
|
18
|
+
recursiveCtes: options.recursive ? true : query.recursiveCtes,
|
|
19
|
+
ctes: [
|
|
20
|
+
...(query.ctes || []),
|
|
21
|
+
{
|
|
22
|
+
kind: 'cte',
|
|
23
|
+
name: alias,
|
|
24
|
+
body,
|
|
25
|
+
parameters,
|
|
26
|
+
expression: `${alias} AS (${rendered})`,
|
|
27
|
+
}
|
|
28
|
+
]
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* A builder subquery is compiled with its placeholders intact so its values
|
|
33
|
+
* stay bound, and a raw body's `{name:Type}` placeholders are rewritten to the
|
|
34
|
+
* same positional markers. `rendered` keeps the inlined form the node has
|
|
35
|
+
* always carried, using the path `toSQL()` takes.
|
|
36
|
+
*/
|
|
37
|
+
compileCteBody(subquery) {
|
|
38
|
+
if (typeof subquery === 'string') {
|
|
39
|
+
const body = terminateTrailingLineComment(subquery);
|
|
40
|
+
return { body, parameters: [], rendered: body };
|
|
41
|
+
}
|
|
42
|
+
if (subquery instanceof QueryBuilder) {
|
|
43
|
+
const compiled = subquery.toSQLWithParams();
|
|
44
|
+
return {
|
|
45
|
+
body: compiled.sql,
|
|
46
|
+
parameters: compiled.parameters,
|
|
47
|
+
rendered: renderCteBody(compiled.sql, compiled.parameters, this.builder.getAdapter()),
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
const bound = bindNamedParameters(subquery.sql.trim(), subquery.parameters, 'CTE body');
|
|
51
|
+
const body = terminateTrailingLineComment(bound.sql);
|
|
52
|
+
return {
|
|
53
|
+
body,
|
|
54
|
+
parameters: bound.parameters,
|
|
55
|
+
// With nothing bound there is nothing to substitute, and a stray `?` in
|
|
56
|
+
// the body would be mistaken for a placeholder.
|
|
57
|
+
rendered: bound.parameters.length
|
|
58
|
+
? renderCteBody(body, bound.parameters, this.builder.getAdapter())
|
|
59
|
+
: body,
|
|
14
60
|
};
|
|
15
61
|
}
|
|
16
62
|
addScalar(alias, expression) {
|
|
@@ -4,6 +4,10 @@ import { JoinType, type JoinConditionInput, type SelectQueryNode } from '../../t
|
|
|
4
4
|
export declare class JoinFeature<Schema extends SchemaDefinition<Schema>, State extends BuilderState<Schema, string, any, keyof Schema, Partial<Record<string, keyof Schema>>, any, any>> {
|
|
5
5
|
private builder;
|
|
6
6
|
constructor(builder: QueryBuilder<Schema, State>);
|
|
7
|
-
|
|
7
|
+
/**
|
|
8
|
+
* Join targets are plain identifiers here: the caller has already checked the
|
|
9
|
+
* table against the schema, or the CTEs declared on the query.
|
|
10
|
+
*/
|
|
11
|
+
addJoin(type: JoinType, table: string, leftColumn: string, rightColumn: string, alias?: string, leftSource?: string, on?: JoinConditionInput | JoinConditionInput[]): SelectQueryNode<State['output'], Schema>;
|
|
8
12
|
}
|
|
9
13
|
//# sourceMappingURL=joins.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"joins.d.ts","sourceRoot":"","sources":["../../../src/core/features/joins.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAChF,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EACL,QAAQ,EAGR,KAAK,kBAAkB,EACvB,KAAK,eAAe,EAErB,MAAM,sBAAsB,CAAC;AAqC9B,qBAAa,WAAW,CACtB,MAAM,SAAS,gBAAgB,CAAC,MAAM,CAAC,EACvC,KAAK,SAAS,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC;IAElG,OAAO,CAAC,OAAO;gBAAP,OAAO,EAAE,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC;IAExD,OAAO,
|
|
1
|
+
{"version":3,"file":"joins.d.ts","sourceRoot":"","sources":["../../../src/core/features/joins.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAChF,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EACL,QAAQ,EAGR,KAAK,kBAAkB,EACvB,KAAK,eAAe,EAErB,MAAM,sBAAsB,CAAC;AAqC9B,qBAAa,WAAW,CACtB,MAAM,SAAS,gBAAgB,CAAC,MAAM,CAAC,EACvC,KAAK,SAAS,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC;IAElG,OAAO,CAAC,OAAO;gBAAP,OAAO,EAAE,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC;IAExD;;;OAGG;IACH,OAAO,CACL,IAAI,EAAE,QAAQ,EACd,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,EACnB,KAAK,CAAC,EAAE,MAAM,EACd,UAAU,CAAC,EAAE,MAAM,EACnB,EAAE,CAAC,EAAE,kBAAkB,GAAG,kBAAkB,EAAE,GAC7C,eAAe,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAuB5C"}
|
|
@@ -34,10 +34,14 @@ export class JoinFeature {
|
|
|
34
34
|
constructor(builder) {
|
|
35
35
|
this.builder = builder;
|
|
36
36
|
}
|
|
37
|
+
/**
|
|
38
|
+
* Join targets are plain identifiers here: the caller has already checked the
|
|
39
|
+
* table against the schema, or the CTEs declared on the query.
|
|
40
|
+
*/
|
|
37
41
|
addJoin(type, table, leftColumn, rightColumn, alias, leftSource, on) {
|
|
38
42
|
const query = this.builder.getQueryNode();
|
|
39
43
|
const renderedRightColumn = alias
|
|
40
|
-
? rightColumn.replace(`${
|
|
44
|
+
? rightColumn.replace(`${table}.`, `${alias}.`)
|
|
41
45
|
: rightColumn;
|
|
42
46
|
const newConfig = {
|
|
43
47
|
...query,
|
|
@@ -12,6 +12,7 @@ export declare class SQLFormatter {
|
|
|
12
12
|
private getSqlOperator;
|
|
13
13
|
compileJoins(query: SelectQueryNode<any, any>): CompiledQuery;
|
|
14
14
|
formatJoins(query: SelectQueryNode<any, any>): string;
|
|
15
|
+
compileCtes(query: SelectQueryNode<any, any>): CompiledQuery;
|
|
15
16
|
formatCtes(query: SelectQueryNode<any, any>): string;
|
|
16
17
|
formatOrderBy(query: SelectQueryNode<any, any>): string;
|
|
17
18
|
formatLimitBy(query: SelectQueryNode<any, any>): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sql-formatter.d.ts","sourceRoot":"","sources":["../../../src/core/formatters/sql-formatter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,KAAK,aAAa,EAAE,KAAK,QAAQ,EAAE,KAAK,eAAe,EAAE,KAAK,UAAU,EAAkB,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"sql-formatter.d.ts","sourceRoot":"","sources":["../../../src/core/formatters/sql-formatter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,KAAK,aAAa,EAAE,KAAK,QAAQ,EAAE,KAAK,eAAe,EAAE,KAAK,UAAU,EAAkB,MAAM,sBAAsB,CAAC;AAIhJ,qBAAa,YAAY;IACvB,YAAY,CAAC,KAAK,EAAE,eAAe,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,MAAM;IAMtD,aAAa,CAAC,KAAK,EAAE,eAAe,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,MAAM;IAMvD,gBAAgB,CAAC,KAAK,EAAE,eAAe,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,MAAM;IAO1D,cAAc,CAAC,KAAK,EAAE,eAAe,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,MAAM;IAIxD,WAAW,CAAC,KAAK,EAAE,eAAe,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,MAAM;IAIrD,UAAU,CAAC,MAAM,CAAC,EAAE,UAAU,GAAG,MAAM;IAYvC,WAAW,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,MAAM,UAAQ,GAAG,aAAa;IA0D3D,OAAO,CAAC,gBAAgB;IAuFxB,aAAa,CAAC,KAAK,EAAE,eAAe,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,aAAa;IAkB9D,OAAO,CAAC,cAAc;IActB,YAAY,CAAC,KAAK,EAAE,eAAe,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,aAAa;IAkB7D,WAAW,CAAC,KAAK,EAAE,eAAe,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,MAAM;IAIrD,WAAW,CAAC,KAAK,EAAE,eAAe,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,aAAa;IAW5D,UAAU,CAAC,KAAK,EAAE,eAAe,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,MAAM;IAIpD,aAAa,CAAC,KAAK,EAAE,eAAe,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,MAAM;IAOvD,aAAa,CAAC,KAAK,EAAE,eAAe,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,MAAM;IAKvD,OAAO,CAAC,eAAe;IAOvB,OAAO,CAAC,4BAA4B;CAMrC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { cteFragment } from '../utils/cte-fragments.js';
|
|
1
2
|
import { hasTopLevelLogicalOperator, terminateTrailingLineComment } from '../utils/sql-parens.js';
|
|
2
3
|
export class SQLFormatter {
|
|
3
4
|
formatSelect(query) {
|
|
@@ -226,10 +227,16 @@ export class SQLFormatter {
|
|
|
226
227
|
formatJoins(query) {
|
|
227
228
|
return this.compileJoins(query).query;
|
|
228
229
|
}
|
|
229
|
-
|
|
230
|
+
compileCtes(query) {
|
|
230
231
|
if (!query.ctes?.length)
|
|
231
|
-
return '';
|
|
232
|
-
return query.ctes.map(item =>
|
|
232
|
+
return { query: '', parameters: [] };
|
|
233
|
+
return this.combineCompiledWithSeparator(query.ctes.map(item => {
|
|
234
|
+
const { sql, parameters } = cteFragment(item);
|
|
235
|
+
return { query: sql, parameters: [...parameters] };
|
|
236
|
+
}), ', ');
|
|
237
|
+
}
|
|
238
|
+
formatCtes(query) {
|
|
239
|
+
return this.compileCtes(query).query;
|
|
233
240
|
}
|
|
234
241
|
formatOrderBy(query) {
|
|
235
242
|
if (!query.orderBy?.length)
|
|
@@ -1,23 +1,24 @@
|
|
|
1
1
|
import type { DatabaseAdapter, QueryExecutionOptions } from './adapters/database-adapter.js';
|
|
2
2
|
import type { SqlDialect } from './dialects/sql-dialect.js';
|
|
3
3
|
import { CrossFilter } from './cross-filter.js';
|
|
4
|
-
import { FilterOperator, OperatorValueMap, OrderDirection, type JoinConditionInput, type SelectQueryNode, type SourceNode } from '../types/index.js';
|
|
5
|
-
import { AnySchema } from '../types/schema.js';
|
|
4
|
+
import { FilterOperator, OperatorValueMap, OrderDirection, type JoinConditionInput, type RawCteBody, type SelectQueryNode, type SourceNode } from '../types/index.js';
|
|
5
|
+
import { AnySchema, ColumnType } from '../types/schema.js';
|
|
6
|
+
import { type CteBody } from './features/analytics.js';
|
|
6
7
|
import { ExecutorFeature } from './features/executor.js';
|
|
7
8
|
import { JoinRelationships, JoinPathOptions, type JoinPath, type ValidJoinPathChain } from './join-relationships.js';
|
|
8
9
|
import { PredicateBuilder, PredicateExpression } from './utils/predicate-builder.js';
|
|
10
|
+
import { CteScope } from './cte-scope.js';
|
|
9
11
|
import type { ClickHouseSettings, BaseClickHouseClientConfigOptions } from '@clickhouse/client-common';
|
|
10
12
|
import type { ClickHouseClient as NodeClickHouseClient } from '@clickhouse/client';
|
|
11
13
|
import type { ClickHouseClient as WebClickHouseClient } from '@clickhouse/client-web';
|
|
12
14
|
import type { CacheOptions, CacheConfig } from './cache/types.js';
|
|
13
15
|
import type { QueryRuntimeContext } from './cache/runtime-context.js';
|
|
14
16
|
import { type InsertQB } from './insert-builder.js';
|
|
15
|
-
import {
|
|
16
|
-
import type { BuilderState, AnyBuilderState, SchemaDefinition, InitialState, UpdateOutput, WidenTables, AppendToOutput, BaseRow, AddAlias, AddScalar, FromSubqueryState } from './types/builder-state.js';
|
|
17
|
+
import type { BuilderState, AnyBuilderState, SchemaDefinition, InitialState, UpdateOutput, WidenTables, AppendToOutput, BaseRow, AddAlias, AddScalar, AddCte, FromSubqueryState, JoinableTable, JoinRightColumn, JoinAliasArg, JoinResultState, NonTableSource } from './types/builder-state.js';
|
|
17
18
|
import { SelectableItem, SelectableColumn, ArraySelectableColumn, SelectionResult, ColumnSelectionValue } from './types/select-types.js';
|
|
18
19
|
type WhereColumn<State extends AnyBuilderState> = SelectableColumn<State>;
|
|
19
20
|
type ColumnOperatorValue<Schema extends SchemaDefinition<Schema>, State extends BuilderState<Schema, string, any, keyof Schema, Partial<Record<string, keyof Schema>>, any, any>, Column extends WhereColumn<State>, Op extends keyof OperatorValueMap<any, Schema>> = OperatorValueMap<ColumnSelectionValue<State, Column>, Schema>[Op];
|
|
20
|
-
type TableSourceMethodThis<State extends AnyBuilderState, Builder> = Extract<State['tables'],
|
|
21
|
+
type TableSourceMethodThis<State extends AnyBuilderState, Builder> = Extract<State['tables'], NonTableSource> extends never ? Builder : never;
|
|
21
22
|
type ClickHouseClient = NodeClickHouseClient | WebClickHouseClient;
|
|
22
23
|
type ScalarAlias<Alias extends string> = Alias extends `${string} ${string}` ? never : Alias;
|
|
23
24
|
type JoinPathTableName<Schema extends SchemaDefinition<Schema>, Path extends JoinPath<Schema, string>> = Extract<Path['to'], keyof Schema>;
|
|
@@ -108,7 +109,57 @@ export declare class QueryBuilder<Schema extends SchemaDefinition<Schema>, State
|
|
|
108
109
|
private runDraftCallback;
|
|
109
110
|
debug(): this;
|
|
110
111
|
cache(options: CacheOptions | false): this;
|
|
111
|
-
|
|
112
|
+
/**
|
|
113
|
+
* Adds a CTE to the query. The alias becomes a typed join target when its
|
|
114
|
+
* columns are known — derived from the builder passed in, or declared
|
|
115
|
+
* alongside a raw SQL body.
|
|
116
|
+
*
|
|
117
|
+
* @example
|
|
118
|
+
* ```ts
|
|
119
|
+
* const activeUsers = db.table('users').select(['id', 'user_name']).where('status', 'eq', 'active');
|
|
120
|
+
*
|
|
121
|
+
* db.table('orders')
|
|
122
|
+
* .withCTE('active_users', activeUsers)
|
|
123
|
+
* .innerJoin('active_users', 'user_id', 'active_users.id')
|
|
124
|
+
* .select(['orders.id', 'active_users.user_name']);
|
|
125
|
+
* ```
|
|
126
|
+
*/
|
|
127
|
+
withCTE<Alias extends string, SubqueryState extends AnyBuilderState>(alias: Alias, subquery: QueryBuilder<any, SubqueryState>): QueryBuilder<Schema, AddCte<State, Alias, SubqueryState['output']>>;
|
|
128
|
+
withCTE<Alias extends string, Columns extends Record<string, ColumnType>>(alias: Alias, sql: string | RawCteBody, columns: Columns): QueryBuilder<Schema, AddCte<State, Alias, Columns>>;
|
|
129
|
+
withCTE(alias: string, sql: string | RawCteBody): this;
|
|
130
|
+
withCTE(alias: string, subquery: CteBody): this;
|
|
131
|
+
/**
|
|
132
|
+
* Adds a recursive CTE, rendering the clause as `WITH RECURSIVE`. The body
|
|
133
|
+
* must be raw SQL: its recursive term references the CTE's own alias, which
|
|
134
|
+
* no builder can express.
|
|
135
|
+
*
|
|
136
|
+
* ClickHouse requires `enable_analyzer` (on by default from 24.8), a
|
|
137
|
+
* `UNION ALL` between the seed and the recursive term, and stops at
|
|
138
|
+
* `max_recursive_cte_evaluation_depth` (1000 by default).
|
|
139
|
+
*
|
|
140
|
+
* @example
|
|
141
|
+
* ```ts
|
|
142
|
+
* db.table('asset')
|
|
143
|
+
* .withRecursiveCTE(
|
|
144
|
+
* 'descendants',
|
|
145
|
+
* {
|
|
146
|
+
* sql: `
|
|
147
|
+
* SELECT {rootId:UUID} AS id
|
|
148
|
+
* UNION ALL
|
|
149
|
+
* SELECT link.child_id AS id
|
|
150
|
+
* FROM asset_link AS link
|
|
151
|
+
* INNER JOIN descendants AS walked ON link.parent_id = walked.id
|
|
152
|
+
* `,
|
|
153
|
+
* parameters: { rootId },
|
|
154
|
+
* },
|
|
155
|
+
* { id: 'UUID' },
|
|
156
|
+
* )
|
|
157
|
+
* .innerJoin('descendants', 'id', 'descendants.id');
|
|
158
|
+
* ```
|
|
159
|
+
*/
|
|
160
|
+
withRecursiveCTE<Alias extends string, Columns extends Record<string, ColumnType>>(alias: Alias, body: string | RawCteBody, columns: Columns): QueryBuilder<Schema, AddCte<State, Alias, Columns>>;
|
|
161
|
+
withRecursiveCTE(alias: string, body: string | RawCteBody): this;
|
|
162
|
+
private addCte;
|
|
112
163
|
withScalar<Alias extends string, TValue>(alias: ScalarAlias<Alias>, expressionBuilder: (expr: PredicateBuilder<State>) => PredicateExpression<TValue>): QueryBuilder<Schema, AddScalar<State, Alias, TValue>>;
|
|
113
164
|
/**
|
|
114
165
|
* Groups results by a time interval using a specified ClickHouse function.
|
|
@@ -125,7 +176,7 @@ export declare class QueryBuilder<Schema extends SchemaDefinition<Schema>, State
|
|
|
125
176
|
groupByTimeInterval(column: SelectableColumn<State>, interval: string, method?: 'toStartOfInterval' | 'toStartOfMinute' | 'toStartOfHour' | 'toStartOfDay' | 'toStartOfWeek' | 'toStartOfMonth' | 'toStartOfQuarter' | 'toStartOfYear'): this;
|
|
126
177
|
raw(sql: string): this;
|
|
127
178
|
settings(opts: ClickHouseSettings): this;
|
|
128
|
-
final(): this;
|
|
179
|
+
final(this: TableSourceMethodThis<State, this>): this;
|
|
129
180
|
/**
|
|
130
181
|
* Applies a set of cross filters to the current query.
|
|
131
182
|
* All filter conditions from the provided CrossFilter are added to the query.
|
|
@@ -291,16 +342,16 @@ export declare class QueryBuilder<Schema extends SchemaDefinition<Schema>, State
|
|
|
291
342
|
prewhereNull<Column extends WhereColumn<State>>(this: TableSourceMethodThis<State, this>, column: Column): this;
|
|
292
343
|
prewhereNotNull<Column extends WhereColumn<State>>(this: TableSourceMethodThis<State, this>, column: Column): this;
|
|
293
344
|
whereBetween<Column extends keyof BaseRow<State>>(column: Column, [min, max]: [BaseRow<State>[Column], BaseRow<State>[Column]]): this;
|
|
294
|
-
innerJoin<TableName extends
|
|
295
|
-
leftJoin<TableName extends
|
|
345
|
+
innerJoin<TableName extends JoinableTable<State>, Alias extends string | undefined = undefined>(table: TableName, leftColumn: keyof BaseRow<State>, rightColumn: JoinRightColumn<State, TableName>, alias?: JoinAliasArg<State, TableName, Alias>): QueryBuilder<Schema, JoinResultState<State, TableName, Alias>>;
|
|
346
|
+
leftJoin<TableName extends JoinableTable<State>, Alias extends string | undefined = undefined>(table: TableName, leftColumn: keyof BaseRow<State>, rightColumn: JoinRightColumn<State, TableName>, alias?: JoinAliasArg<State, TableName, Alias>, on?: JoinConditionInput | JoinConditionInput[]): QueryBuilder<Schema, JoinResultState<State, TableName, Alias>>;
|
|
296
347
|
/**
|
|
297
348
|
* ClickHouse `LEFT ANY JOIN`: like `leftJoin`, but takes at most one matching
|
|
298
349
|
* right-side row per left row, so duplicate join keys never fan out the
|
|
299
350
|
* result. Used by the semantic layer for to-one relationship traversal.
|
|
300
351
|
*/
|
|
301
|
-
leftAnyJoin<TableName extends
|
|
302
|
-
rightJoin<TableName extends
|
|
303
|
-
fullJoin<TableName extends
|
|
352
|
+
leftAnyJoin<TableName extends JoinableTable<State>, Alias extends string | undefined = undefined>(table: TableName, leftColumn: keyof BaseRow<State>, rightColumn: JoinRightColumn<State, TableName>, alias?: JoinAliasArg<State, TableName, Alias>, on?: JoinConditionInput | JoinConditionInput[]): QueryBuilder<Schema, JoinResultState<State, TableName, Alias>>;
|
|
353
|
+
rightJoin<TableName extends JoinableTable<State>, Alias extends string | undefined = undefined>(table: TableName, leftColumn: keyof BaseRow<State>, rightColumn: JoinRightColumn<State, TableName>, alias?: JoinAliasArg<State, TableName, Alias>): QueryBuilder<Schema, JoinResultState<State, TableName, Alias>>;
|
|
354
|
+
fullJoin<TableName extends JoinableTable<State>, Alias extends string | undefined = undefined>(table: TableName, leftColumn: keyof BaseRow<State>, rightColumn: JoinRightColumn<State, TableName>, alias?: JoinAliasArg<State, TableName, Alias>): QueryBuilder<Schema, JoinResultState<State, TableName, Alias>>;
|
|
304
355
|
private applyJoin;
|
|
305
356
|
/**
|
|
306
357
|
* @deprecated Prefer `getQueryNode()` for inspection or `toQueryNode()` for the
|
|
@@ -336,6 +387,32 @@ export declare function createQueryBuilder<Schema extends SchemaDefinition<Schem
|
|
|
336
387
|
cache: import("./cache/controller.js").CacheController;
|
|
337
388
|
adapter: DatabaseAdapter;
|
|
338
389
|
dialect: SqlDialect;
|
|
390
|
+
/**
|
|
391
|
+
* Declares a CTE before the query has a source, so the query can read from
|
|
392
|
+
* it. Use `db.table('x').withCTE(...)` when the CTE is only joined in.
|
|
393
|
+
*
|
|
394
|
+
* @example
|
|
395
|
+
* ```ts
|
|
396
|
+
* const rows = await db
|
|
397
|
+
* .withCTE('active_users', db.table('users').select(['id']).where('status', 'eq', 'active'))
|
|
398
|
+
* .table('active_users')
|
|
399
|
+
* .select(['id'])
|
|
400
|
+
* .execute();
|
|
401
|
+
* ```
|
|
402
|
+
*/
|
|
403
|
+
withCTE: {
|
|
404
|
+
<Alias extends string, SubqueryState extends AnyBuilderState>(alias: Alias, subquery: QueryBuilder<any, SubqueryState>): CteScope<Schema, import("./types/builder-state.js").RegisterCte<{}, Alias, SubqueryState["output"]>>;
|
|
405
|
+
<Alias extends string, Columns extends Record<string, ColumnType>>(alias: Alias, sql: string | RawCteBody, columns: Columns): CteScope<Schema, import("./types/builder-state.js").RegisterCte<{}, Alias, Columns>>;
|
|
406
|
+
(alias: string, sql: string | RawCteBody): CteScope<Schema, {}>;
|
|
407
|
+
};
|
|
408
|
+
/**
|
|
409
|
+
* Declares a recursive CTE and renders the clause as `WITH RECURSIVE`.
|
|
410
|
+
* See {@link CteScope.withRecursiveCTE}.
|
|
411
|
+
*/
|
|
412
|
+
withRecursiveCTE: {
|
|
413
|
+
<Alias extends string, Columns extends Record<string, ColumnType>>(alias: Alias, body: string | RawCteBody, columns: Columns): CteScope<Schema, import("./types/builder-state.js").RegisterCte<{}, Alias, Columns>>;
|
|
414
|
+
(alias: string, body: string | RawCteBody): CteScope<Schema, {}>;
|
|
415
|
+
};
|
|
339
416
|
rawQuery<TResult = any>(sql: string, params?: unknown[], options?: QueryExecutionOptions): Promise<TResult[]>;
|
|
340
417
|
/**
|
|
341
418
|
* Closes the underlying connection pool for graceful shutdown. A client
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query-builder.d.ts","sourceRoot":"","sources":["../../src/core/query-builder.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"query-builder.d.ts","sourceRoot":"","sources":["../../src/core/query-builder.ts"],"names":[],"mappings":"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"}
|