@effect/sql-clickhouse 4.0.0-beta.66 → 4.0.0-beta.68
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/ClickhouseClient.d.ts +80 -20
- package/dist/ClickhouseClient.d.ts.map +1 -1
- package/dist/ClickhouseClient.js +61 -14
- package/dist/ClickhouseClient.js.map +1 -1
- package/dist/ClickhouseMigrator.d.ts +28 -5
- package/dist/ClickhouseMigrator.d.ts.map +1 -1
- package/dist/ClickhouseMigrator.js +10 -4
- package/dist/ClickhouseMigrator.js.map +1 -1
- package/dist/index.d.ts +40 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +40 -3
- package/dist/index.js.map +1 -1
- package/package.json +6 -6
- package/src/ClickhouseClient.ts +80 -20
- package/src/ClickhouseMigrator.ts +28 -5
- package/src/index.ts +40 -3
|
@@ -1,5 +1,25 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* ClickHouse client implementation for Effect SQL, backed by
|
|
3
|
+
* `@clickhouse/client`.
|
|
4
|
+
*
|
|
5
|
+
* This module exposes constructors and layers for providing both the
|
|
6
|
+
* ClickHouse-specific `ClickhouseClient` service and the generic `SqlClient`
|
|
7
|
+
* service. It is intended for analytical application queries, migrations,
|
|
8
|
+
* background jobs, bulk inserts, and streaming reads that need Effect SQL query
|
|
9
|
+
* compilation, scoped lifecycle management, interruption, and consistent
|
|
10
|
+
* `SqlError` classification for ClickHouse failures.
|
|
11
|
+
*
|
|
12
|
+
* The client uses the ClickHouse HTTP client APIs for `query`, `command`, and
|
|
13
|
+
* `insert` operations. Regular queries read JSON result sets, `executeValues`
|
|
14
|
+
* requests `JSONCompact`, streams request `JSONEachRow`, and `insertQuery`
|
|
15
|
+
* defaults inserts to `JSONEachRow`. Interrupting an operation aborts the
|
|
16
|
+
* underlying HTTP request and attempts to kill the generated or supplied
|
|
17
|
+
* `query_id`. The statement compiler emits ClickHouse typed placeholders such
|
|
18
|
+
* as `{p1: Type}`; use `param` when the inferred type is too broad, and write
|
|
19
|
+
* ClickHouse-specific clauses such as engines, `SETTINGS`, `FORMAT`, or
|
|
20
|
+
* cluster directives explicitly.
|
|
21
|
+
*
|
|
22
|
+
* @since 4.0.0
|
|
3
23
|
*/
|
|
4
24
|
import * as Clickhouse from "@clickhouse/client";
|
|
5
25
|
import * as Config from "effect/Config";
|
|
@@ -13,18 +33,26 @@ import { SqlError } from "effect/unstable/sql/SqlError";
|
|
|
13
33
|
import * as Statement from "effect/unstable/sql/Statement";
|
|
14
34
|
import type { Readable } from "node:stream";
|
|
15
35
|
/**
|
|
16
|
-
*
|
|
17
|
-
*
|
|
36
|
+
* Unique runtime identifier used to tag `ClickhouseClient` values.
|
|
37
|
+
*
|
|
38
|
+
* @category type IDs
|
|
39
|
+
* @since 4.0.0
|
|
18
40
|
*/
|
|
19
41
|
export declare const TypeId: TypeId;
|
|
20
42
|
/**
|
|
21
|
-
*
|
|
22
|
-
*
|
|
43
|
+
* Type-level literal for the `ClickhouseClient` runtime identifier.
|
|
44
|
+
*
|
|
45
|
+
* @category type IDs
|
|
46
|
+
* @since 4.0.0
|
|
23
47
|
*/
|
|
24
48
|
export type TypeId = "~@effect/sql-clickhouse/ClickhouseClient";
|
|
25
49
|
/**
|
|
50
|
+
* ClickHouse-specific `SqlClient` extension with access to its configuration,
|
|
51
|
+
* typed parameter fragments, command-mode execution, insert queries, and
|
|
52
|
+
* per-effect query ID and ClickHouse settings.
|
|
53
|
+
*
|
|
26
54
|
* @category models
|
|
27
|
-
* @since
|
|
55
|
+
* @since 4.0.0
|
|
28
56
|
*/
|
|
29
57
|
export interface ClickhouseClient extends Client.SqlClient {
|
|
30
58
|
readonly [TypeId]: TypeId;
|
|
@@ -46,13 +74,19 @@ export interface ClickhouseClient extends Client.SqlClient {
|
|
|
46
74
|
};
|
|
47
75
|
}
|
|
48
76
|
/**
|
|
77
|
+
* Context service tag for accessing the active `ClickhouseClient`.
|
|
78
|
+
*
|
|
49
79
|
* @category tags
|
|
50
|
-
* @since
|
|
80
|
+
* @since 4.0.0
|
|
51
81
|
*/
|
|
52
82
|
export declare const ClickhouseClient: Context.Service<ClickhouseClient, ClickhouseClient>;
|
|
53
83
|
/**
|
|
84
|
+
* Configuration for creating a ClickHouse client, combining
|
|
85
|
+
* `@clickhouse/client` options with optional span attributes and query/result
|
|
86
|
+
* name transforms.
|
|
87
|
+
*
|
|
54
88
|
* @category constructors
|
|
55
|
-
* @since
|
|
89
|
+
* @since 4.0.0
|
|
56
90
|
*/
|
|
57
91
|
export interface ClickhouseClientConfig extends Clickhouse.ClickHouseClientConfigOptions {
|
|
58
92
|
readonly spanAttributes?: Record<string, unknown> | undefined;
|
|
@@ -60,48 +94,74 @@ export interface ClickhouseClientConfig extends Clickhouse.ClickHouseClientConfi
|
|
|
60
94
|
readonly transformQueryNames?: ((str: string) => string) | undefined;
|
|
61
95
|
}
|
|
62
96
|
/**
|
|
97
|
+
* Creates a scoped `ClickhouseClient`, verifies connectivity with `SELECT 1`,
|
|
98
|
+
* closes the underlying client when the scope ends, maps ClickHouse failures
|
|
99
|
+
* to `SqlError`, and aborts plus kills in-flight queries when interrupted.
|
|
100
|
+
*
|
|
63
101
|
* @category constructors
|
|
64
|
-
* @since
|
|
102
|
+
* @since 4.0.0
|
|
65
103
|
*/
|
|
66
104
|
export declare const make: (options: ClickhouseClientConfig) => Effect.Effect<ClickhouseClient, SqlError, Scope.Scope | Reactivity.Reactivity>;
|
|
67
105
|
/**
|
|
68
|
-
*
|
|
69
|
-
*
|
|
106
|
+
* Fiber reference read by the low-level ClickHouse connection to choose query
|
|
107
|
+
* or command execution for statements; defaults to `query`.
|
|
108
|
+
*
|
|
109
|
+
* @category references
|
|
110
|
+
* @since 4.0.0
|
|
70
111
|
*/
|
|
71
112
|
export declare const ClientMethod: Context.Reference<"query" | "command" | "insert">;
|
|
72
113
|
/**
|
|
73
|
-
*
|
|
74
|
-
*
|
|
114
|
+
* Fiber reference for the ClickHouse `query_id` applied to queries and
|
|
115
|
+
* inserts; a random UUID is generated when no query ID is set.
|
|
116
|
+
*
|
|
117
|
+
* @category references
|
|
118
|
+
* @since 4.0.0
|
|
75
119
|
*/
|
|
76
120
|
export declare const QueryId: Context.Reference<string | undefined>;
|
|
77
121
|
/**
|
|
78
|
-
*
|
|
79
|
-
*
|
|
122
|
+
* Fiber reference containing ClickHouse settings to attach to queries,
|
|
123
|
+
* commands, and inserts.
|
|
124
|
+
*
|
|
125
|
+
* @category references
|
|
126
|
+
* @since 4.0.0
|
|
80
127
|
*/
|
|
81
128
|
export declare const ClickhouseSettings: Context.Reference<NonNullable<Clickhouse.BaseQueryParams["clickhouse_settings"]>>;
|
|
82
129
|
/**
|
|
130
|
+
* Provides both `ClickhouseClient` and generic `SqlClient` services from a
|
|
131
|
+
* `Config`-backed ClickHouse client configuration.
|
|
132
|
+
*
|
|
83
133
|
* @category layers
|
|
84
|
-
* @since
|
|
134
|
+
* @since 4.0.0
|
|
85
135
|
*/
|
|
86
136
|
export declare const layerConfig: (config: Config.Wrap<ClickhouseClientConfig>) => Layer.Layer<ClickhouseClient | Client.SqlClient, Config.ConfigError | SqlError>;
|
|
87
137
|
/**
|
|
138
|
+
* Provides both `ClickhouseClient` and generic `SqlClient` services from a
|
|
139
|
+
* ClickHouse client configuration.
|
|
140
|
+
*
|
|
88
141
|
* @category layers
|
|
89
|
-
* @since
|
|
142
|
+
* @since 4.0.0
|
|
90
143
|
*/
|
|
91
144
|
export declare const layer: (config: ClickhouseClientConfig) => Layer.Layer<ClickhouseClient | Client.SqlClient, Config.ConfigError | SqlError>;
|
|
92
145
|
/**
|
|
146
|
+
* Creates the SQL statement compiler for ClickHouse, emitting typed
|
|
147
|
+
* `{pN: Type}` placeholders and escaping identifiers with an optional query
|
|
148
|
+
* name transform.
|
|
149
|
+
*
|
|
93
150
|
* @category compiler
|
|
94
|
-
* @since
|
|
151
|
+
* @since 4.0.0
|
|
95
152
|
*/
|
|
96
153
|
export declare const makeCompiler: (transform?: (_: string) => string) => Statement.Compiler;
|
|
97
154
|
/**
|
|
155
|
+
* Custom SQL fragment type used for ClickHouse typed parameters created by
|
|
156
|
+
* `ClickhouseClient.param`.
|
|
157
|
+
*
|
|
98
158
|
* @category custom types
|
|
99
|
-
* @since
|
|
159
|
+
* @since 4.0.0
|
|
100
160
|
*/
|
|
101
161
|
export type ClickhouseCustom = ClickhouseParam;
|
|
102
162
|
/**
|
|
103
163
|
* @category custom types
|
|
104
|
-
* @since
|
|
164
|
+
* @since 4.0.0
|
|
105
165
|
*/
|
|
106
166
|
interface ClickhouseParam extends Statement.Custom<"ClickhouseParam", string, unknown> {
|
|
107
167
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClickhouseClient.d.ts","sourceRoot":"","sources":["../src/ClickhouseClient.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"ClickhouseClient.d.ts","sourceRoot":"","sources":["../src/ClickhouseClient.ts"],"names":[],"mappings":"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"}
|
package/dist/ClickhouseClient.js
CHANGED
|
@@ -1,5 +1,25 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* ClickHouse client implementation for Effect SQL, backed by
|
|
3
|
+
* `@clickhouse/client`.
|
|
4
|
+
*
|
|
5
|
+
* This module exposes constructors and layers for providing both the
|
|
6
|
+
* ClickHouse-specific `ClickhouseClient` service and the generic `SqlClient`
|
|
7
|
+
* service. It is intended for analytical application queries, migrations,
|
|
8
|
+
* background jobs, bulk inserts, and streaming reads that need Effect SQL query
|
|
9
|
+
* compilation, scoped lifecycle management, interruption, and consistent
|
|
10
|
+
* `SqlError` classification for ClickHouse failures.
|
|
11
|
+
*
|
|
12
|
+
* The client uses the ClickHouse HTTP client APIs for `query`, `command`, and
|
|
13
|
+
* `insert` operations. Regular queries read JSON result sets, `executeValues`
|
|
14
|
+
* requests `JSONCompact`, streams request `JSONEachRow`, and `insertQuery`
|
|
15
|
+
* defaults inserts to `JSONEachRow`. Interrupting an operation aborts the
|
|
16
|
+
* underlying HTTP request and attempts to kill the generated or supplied
|
|
17
|
+
* `query_id`. The statement compiler emits ClickHouse typed placeholders such
|
|
18
|
+
* as `{p1: Type}`; use `param` when the inferred type is too broad, and write
|
|
19
|
+
* ClickHouse-specific clauses such as engines, `SETTINGS`, `FORMAT`, or
|
|
20
|
+
* cluster directives explicitly.
|
|
21
|
+
*
|
|
22
|
+
* @since 4.0.0
|
|
3
23
|
*/
|
|
4
24
|
import * as Clickhouse from "@clickhouse/client";
|
|
5
25
|
import * as NodeStream from "@effect/platform-node/NodeStream";
|
|
@@ -57,18 +77,26 @@ const classifyError = (cause, message, operation, fallback = "unknown") => {
|
|
|
57
77
|
return fallback === "connection" ? new ConnectionError(props) : new UnknownError(props);
|
|
58
78
|
};
|
|
59
79
|
/**
|
|
60
|
-
*
|
|
61
|
-
*
|
|
80
|
+
* Unique runtime identifier used to tag `ClickhouseClient` values.
|
|
81
|
+
*
|
|
82
|
+
* @category type IDs
|
|
83
|
+
* @since 4.0.0
|
|
62
84
|
*/
|
|
63
85
|
export const TypeId = "~@effect/sql-clickhouse/ClickhouseClient";
|
|
64
86
|
/**
|
|
87
|
+
* Context service tag for accessing the active `ClickhouseClient`.
|
|
88
|
+
*
|
|
65
89
|
* @category tags
|
|
66
|
-
* @since
|
|
90
|
+
* @since 4.0.0
|
|
67
91
|
*/
|
|
68
92
|
export const ClickhouseClient = /*#__PURE__*/Context.Service("@effect/sql-clickhouse/ClickhouseClient");
|
|
69
93
|
/**
|
|
94
|
+
* Creates a scoped `ClickhouseClient`, verifies connectivity with `SELECT 1`,
|
|
95
|
+
* closes the underlying client when the scope ends, maps ClickHouse failures
|
|
96
|
+
* to `SqlError`, and aborts plus kills in-flight queries when interrupted.
|
|
97
|
+
*
|
|
70
98
|
* @category constructors
|
|
71
|
-
* @since
|
|
99
|
+
* @since 4.0.0
|
|
72
100
|
*/
|
|
73
101
|
export const make = options => Effect.gen(function* () {
|
|
74
102
|
const compiler = makeCompiler(options.transformQueryNames);
|
|
@@ -229,34 +257,49 @@ export const make = options => Effect.gen(function* () {
|
|
|
229
257
|
});
|
|
230
258
|
});
|
|
231
259
|
/**
|
|
232
|
-
*
|
|
233
|
-
*
|
|
260
|
+
* Fiber reference read by the low-level ClickHouse connection to choose query
|
|
261
|
+
* or command execution for statements; defaults to `query`.
|
|
262
|
+
*
|
|
263
|
+
* @category references
|
|
264
|
+
* @since 4.0.0
|
|
234
265
|
*/
|
|
235
266
|
export const ClientMethod = /*#__PURE__*/Context.Reference("@effect/sql-clickhouse/ClickhouseClient/ClientMethod", {
|
|
236
267
|
defaultValue: () => "query"
|
|
237
268
|
});
|
|
238
269
|
/**
|
|
239
|
-
*
|
|
240
|
-
*
|
|
270
|
+
* Fiber reference for the ClickHouse `query_id` applied to queries and
|
|
271
|
+
* inserts; a random UUID is generated when no query ID is set.
|
|
272
|
+
*
|
|
273
|
+
* @category references
|
|
274
|
+
* @since 4.0.0
|
|
241
275
|
*/
|
|
242
276
|
export const QueryId = /*#__PURE__*/Context.Reference("@effect/sql-clickhouse/ClickhouseClient/QueryId", {
|
|
243
277
|
defaultValue: () => undefined
|
|
244
278
|
});
|
|
245
279
|
/**
|
|
246
|
-
*
|
|
247
|
-
*
|
|
280
|
+
* Fiber reference containing ClickHouse settings to attach to queries,
|
|
281
|
+
* commands, and inserts.
|
|
282
|
+
*
|
|
283
|
+
* @category references
|
|
284
|
+
* @since 4.0.0
|
|
248
285
|
*/
|
|
249
286
|
export const ClickhouseSettings = /*#__PURE__*/Context.Reference("@effect/sql-clickhouse/ClickhouseClient/ClickhouseSettings", {
|
|
250
287
|
defaultValue: () => ({})
|
|
251
288
|
});
|
|
252
289
|
/**
|
|
290
|
+
* Provides both `ClickhouseClient` and generic `SqlClient` services from a
|
|
291
|
+
* `Config`-backed ClickHouse client configuration.
|
|
292
|
+
*
|
|
253
293
|
* @category layers
|
|
254
|
-
* @since
|
|
294
|
+
* @since 4.0.0
|
|
255
295
|
*/
|
|
256
296
|
export const layerConfig = config => Layer.effectContext(Config.unwrap(config).pipe(Effect.flatMap(make), Effect.map(client => Context.make(ClickhouseClient, client).pipe(Context.add(Client.SqlClient, client))))).pipe(Layer.provide(Reactivity.layer));
|
|
257
297
|
/**
|
|
298
|
+
* Provides both `ClickhouseClient` and generic `SqlClient` services from a
|
|
299
|
+
* ClickHouse client configuration.
|
|
300
|
+
*
|
|
258
301
|
* @category layers
|
|
259
|
-
* @since
|
|
302
|
+
* @since 4.0.0
|
|
260
303
|
*/
|
|
261
304
|
export const layer = config => Layer.effectContext(Effect.map(make(config), client => Context.make(ClickhouseClient, client).pipe(Context.add(Client.SqlClient, client)))).pipe(Layer.provide(Reactivity.layer));
|
|
262
305
|
const typeFromUnknown = value => {
|
|
@@ -284,8 +327,12 @@ const typeFromUnknown = value => {
|
|
|
284
327
|
}
|
|
285
328
|
};
|
|
286
329
|
/**
|
|
330
|
+
* Creates the SQL statement compiler for ClickHouse, emitting typed
|
|
331
|
+
* `{pN: Type}` placeholders and escaping identifiers with an optional query
|
|
332
|
+
* name transform.
|
|
333
|
+
*
|
|
287
334
|
* @category compiler
|
|
288
|
-
* @since
|
|
335
|
+
* @since 4.0.0
|
|
289
336
|
*/
|
|
290
337
|
export const makeCompiler = transform => Statement.makeCompiler({
|
|
291
338
|
dialect: "sqlite",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClickhouseClient.js","names":["Clickhouse","NodeStream","Config","Context","Duration","Effect","Fiber","dual","Layer","Stream","Reactivity","Client","AuthenticationError","AuthorizationError","ConnectionError","SqlError","SqlSyntaxError","StatementTimeoutError","UnknownError","Statement","Crypto","ATTR_DB_SYSTEM_NAME","ATTR_DB_NAMESPACE","clickhouseCodeFromCause","cause","undefined","code","parsed","Number","isNaN","clickhouseSyntaxErrorCodes","Set","classifyError","message","operation","fallback","props","has","TypeId","ClickhouseClient","Service","make","options","gen","compiler","makeCompiler","transformQueryNames","transformRows","transformResultNames","defaultTransforms","array","client","createClient","acquireRelease","tryPromise","try","exec","query","catch","reason","promise","close","pipe","timeoutOrElse","duration","seconds","orElse","fail","Error","ConnectionImpl","conn","constructor","runRaw","sql","params","format","paramsObj","i","length","withFiber","fiber","method","getRef","ClientMethod","callback","resume","queryId","QueryId","randomUUID","settings","ClickhouseSettings","controller","AbortController","command","query_params","abort_signal","signal","query_id","clickhouse_settings","then","result","succeed","suspend","abort","run","flatMap","json","data","execute","map","executeRaw","executeValues","executeUnprepared","executeStream","empty","fromReadable","evaluate","stream","onError","unwrap","chunks","mapEffect","chunk","promises","rows","row","push","Promise","all","flattenIterable","connection","Object","assign","acquirer","spanAttributes","entries","database","beginTransaction","config","param","dataType","value","fragment","clickhouseParam","asCommand","effect","provideService","insertQuery","getCurrent","insert","withQueryId","withClickhouseSettings","Reference","defaultValue","layerConfig","effectContext","add","SqlClient","provide","layer","typeFromUnknown","isFragment","segments","isClickhouseParam","paramA","Array","isArray","Date","transform","dialect","placeholder","u","onIdentifier","withoutTransform","escape","onRecordUpdate","onCustom","type","paramB","defaultEscape","custom","isCustom"],"sources":["../src/ClickhouseClient.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,UAAU,MAAM,oBAAoB;AAChD,OAAO,KAAKC,UAAU,MAAM,kCAAkC;AAC9D,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,OAAO,MAAM,gBAAgB;AACzC,OAAO,KAAKC,QAAQ,MAAM,iBAAiB;AAC3C,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,SAASC,IAAI,QAAQ,iBAAiB;AACtC,OAAO,KAAKC,KAAK,MAAM,cAAc;AAErC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,UAAU,MAAM,uCAAuC;AACnE,OAAO,KAAKC,MAAM,MAAM,+BAA+B;AAEvD,SACEC,mBAAmB,EACnBC,kBAAkB,EAClBC,eAAe,EACfC,QAAQ,EACRC,cAAc,EACdC,qBAAqB,EACrBC,YAAY,QACP,8BAA8B;AACrC,OAAO,KAAKC,SAAS,MAAM,+BAA+B;AAC1D,OAAO,KAAKC,MAAM,MAAM,aAAa;AAGrC,MAAMC,mBAAmB,GAAG,gBAAgB;AAC5C,MAAMC,iBAAiB,GAAG,cAAc;AAExC,MAAMC,uBAAuB,GAAIC,KAAc,IAAwB;EACrE,IAAI,OAAOA,KAAK,KAAK,QAAQ,IAAIA,KAAK,KAAK,IAAI,IAAI,EAAE,MAAM,IAAIA,KAAK,CAAC,EAAE;IACrE,OAAOC,SAAS;EAClB;EACA,MAAMC,IAAI,GAAGF,KAAK,CAACE,IAAI;EACvB,IAAI,OAAOA,IAAI,KAAK,QAAQ,EAAE;IAC5B,OAAOA,IAAI;EACb;EACA,IAAI,OAAOA,IAAI,KAAK,QAAQ,EAAE;IAC5B,MAAMC,MAAM,GAAGC,MAAM,CAACF,IAAI,CAAC;IAC3B,OAAOE,MAAM,CAACC,KAAK,CAACF,MAAM,CAAC,GAAGF,SAAS,GAAGE,MAAM;EAClD;EACA,OAAOF,SAAS;AAClB,CAAC;AAED,MAAMK,0BAA0B,gBAAG,IAAIC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;AAE7D,MAAMC,aAAa,GAAGA,CACpBR,KAAc,EACdS,OAAe,EACfC,SAAiB,EACjBC,QAAA,GAAqC,SAAS,KAC5C;EACF,MAAMC,KAAK,GAAG;IAAEZ,KAAK;IAAES,OAAO;IAAEC;EAAS,CAAE;EAC3C,MAAMR,IAAI,GAAGH,uBAAuB,CAACC,KAAK,CAAC;EAC3C,IAAIE,IAAI,KAAKD,SAAS,EAAE;IACtB,IAAIC,IAAI,KAAK,GAAG,EAAE;MAChB,OAAO,IAAId,mBAAmB,CAACwB,KAAK,CAAC;IACvC;IACA,IAAIV,IAAI,KAAK,GAAG,EAAE;MAChB,OAAO,IAAIb,kBAAkB,CAACuB,KAAK,CAAC;IACtC;IACA,IAAIN,0BAA0B,CAACO,GAAG,CAACX,IAAI,CAAC,EAAE;MACxC,OAAO,IAAIV,cAAc,CAACoB,KAAK,CAAC;IAClC;IACA,IAAIV,IAAI,KAAK,GAAG,IAAIA,IAAI,KAAK,GAAG,EAAE;MAChC,OAAO,IAAIT,qBAAqB,CAACmB,KAAK,CAAC;IACzC;EACF;EACA,OAAOD,QAAQ,KAAK,YAAY,GAAG,IAAIrB,eAAe,CAACsB,KAAK,CAAC,GAAG,IAAIlB,YAAY,CAACkB,KAAK,CAAC;AACzF,CAAC;AAED;;;;AAIA,OAAO,MAAME,MAAM,GAAW,0CAA0C;AAqCxE;;;;AAIA,OAAO,MAAMC,gBAAgB,gBAAGpC,OAAO,CAACqC,OAAO,CAAmB,yCAAyC,CAAC;AAY5G;;;;AAIA,OAAO,MAAMC,IAAI,GACfC,OAA+B,IAE/BrC,MAAM,CAACsC,GAAG,CAAC,aAAS;EAClB,MAAMC,QAAQ,GAAGC,YAAY,CAACH,OAAO,CAACI,mBAAmB,CAAC;EAC1D,MAAMC,aAAa,GAAGL,OAAO,CAACM,oBAAoB,GAC9C7B,SAAS,CAAC8B,iBAAiB,CAACP,OAAO,CAACM,oBAAoB,CAAC,CAACE,KAAK,GAC/DzB,SAAS;EAEb,MAAM0B,MAAM,GAAGnD,UAAU,CAACoD,YAAY,CAACV,OAAO,CAAC;EAE/C,OAAOrC,MAAM,CAACgD,cAAc,CAC1BhD,MAAM,CAACiD,UAAU,CAAC;IAChBC,GAAG,EAAEA,CAAA,KAAMJ,MAAM,CAACK,IAAI,CAAC;MAAEC,KAAK,EAAE;IAAU,CAAE,CAAC;IAC7CC,KAAK,EAAGlC,KAAK,IACX,IAAIT,QAAQ,CAAC;MAAE4C,MAAM,EAAE3B,aAAa,CAACR,KAAK,EAAE,qCAAqC,EAAE,SAAS,EAAE,YAAY;IAAC,CAAE;GAChH,CAAC,EACF,MAAMnB,MAAM,CAACuD,OAAO,CAAC,MAAMT,MAAM,CAACU,KAAK,EAAE,CAAC,CAC3C,CAACC,IAAI,CACJzD,MAAM,CAAC0D,aAAa,CAAC;IACnBC,QAAQ,EAAE5D,QAAQ,CAAC6D,OAAO,CAAC,CAAC,CAAC;IAC7BC,MAAM,EAAEA,CAAA,KACN7D,MAAM,CAAC8D,IAAI,CACT,IAAIpD,QAAQ,CAAC;MACX4C,MAAM,EAAE,IAAI7C,eAAe,CAAC;QAC1BmB,OAAO,EAAE,sCAAsC;QAC/CT,KAAK,EAAE,IAAI4C,KAAK,CAAC,oBAAoB,CAAC;QACtClC,SAAS,EAAE;OACZ;KACF,CAAC;GAEP,CAAC,CACH;EAED,MAAMmC,cAAc;IACVC,IAAI;IACZC,YAAYD,IAAiC;MAC3C,IAAI,CAACA,IAAI,GAAGA,IAAI;IAClB;IAEQE,MAAMA,CAACC,GAAW,EAAEC,MAA8B,EAAEC,MAAA,GAAgC,MAAM;MAChG,MAAMC,SAAS,GAA4B,EAAE;MAC7C,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGH,MAAM,CAACI,MAAM,EAAED,CAAC,EAAE,EAAE;QACtCD,SAAS,CAAC,IAAIC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAGH,MAAM,CAACG,CAAC,CAAC;MACpC;MACA,OAAOxE,MAAM,CAAC0E,SAAS,CAAqEC,KAAK,IAAI;QACnG,MAAMC,MAAM,GAAGD,KAAK,CAACE,MAAM,CAACC,YAAY,CAAC;QACzC,OAAO9E,MAAM,CAAC+E,QAAQ,CAAqEC,MAAM,IAAI;UACnG,MAAMC,OAAO,GAAGN,KAAK,CAACE,MAAM,CAACK,OAAO,CAAC,IAAInE,MAAM,CAACoE,UAAU,EAAE;UAC5D,MAAMC,QAAQ,GAAGT,KAAK,CAACE,MAAM,CAACQ,kBAAkB,CAAC;UACjD,MAAMC,UAAU,GAAG,IAAIC,eAAe,EAAE;UACxC,IAAIX,MAAM,KAAK,SAAS,EAAE;YACxB,IAAI,CAACX,IAAI,CAACuB,OAAO,CAAC;cAChBpC,KAAK,EAAEgB,GAAG;cACVqB,YAAY,EAAElB,SAAS;cACvBmB,YAAY,EAAEJ,UAAU,CAACK,MAAM;cAC/BC,QAAQ,EAAEX,OAAO;cACjBY,mBAAmB,EAAET;aACtB,CAAC,CAACU,IAAI,CACJC,MAAM,IAAKf,MAAM,CAAChF,MAAM,CAACgG,OAAO,CAACD,MAAM,CAAC,CAAC,EACzC5E,KAAK,IACJ6D,MAAM,CACJhF,MAAM,CAAC8D,IAAI,CACT,IAAIpD,QAAQ,CAAC;cAAE4C,MAAM,EAAE3B,aAAa,CAACR,KAAK,EAAE,6BAA6B,EAAE,SAAS;YAAC,CAAE,CAAC,CACzF,CACF,CACJ;UACH,CAAC,MAAM;YACL,IAAI,CAAC8C,IAAI,CAACb,KAAK,CAAC;cACdA,KAAK,EAAEgB,GAAG;cACVqB,YAAY,EAAElB,SAAS;cACvBmB,YAAY,EAAEJ,UAAU,CAACK,MAAM;cAC/BC,QAAQ,EAAEX,OAAO;cACjBY,mBAAmB,EAAET,QAAQ;cAC7Bd;aACD,CAAC,CAACwB,IAAI,CACJC,MAAM,IAAKf,MAAM,CAAChF,MAAM,CAACgG,OAAO,CAACD,MAAM,CAAC,CAAC,EACzC5E,KAAK,IACJ6D,MAAM,CACJhF,MAAM,CAAC8D,IAAI,CACT,IAAIpD,QAAQ,CAAC;cAAE4C,MAAM,EAAE3B,aAAa,CAACR,KAAK,EAAE,6BAA6B,EAAE,SAAS;YAAC,CAAE,CAAC,CACzF,CACF,CACJ;UACH;UACA,OAAOnB,MAAM,CAACiG,OAAO,CAAC,MAAK;YACzBX,UAAU,CAACY,KAAK,EAAE;YAClB,OAAOlG,MAAM,CAACuD,OAAO,CAAC,MAAM,IAAI,CAACU,IAAI,CAACuB,OAAO,CAAC;cAAEpC,KAAK,EAAE,gCAAgC6B,OAAO;YAAG,CAAE,CAAC,CAAC;UACvG,CAAC,CAAC;QACJ,CAAC,CAAC;MACJ,CAAC,CAAC;IACJ;IAEQkB,GAAGA,CAAC/B,GAAW,EAAEC,MAA8B,EAAEC,MAA8B;MACrF,OAAO,IAAI,CAACH,MAAM,CAACC,GAAG,EAAEC,MAAM,EAAEC,MAAM,CAAC,CAACb,IAAI,CAC1CzD,MAAM,CAACoG,OAAO,CAAEL,MAAM,IAAI;QACxB,IAAI,MAAM,IAAIA,MAAM,EAAE;UACpB,OAAO/F,MAAM,CAACuD,OAAO,CAAC,MACpBwC,MAAM,CAACM,IAAI,EAAE,CAACP,IAAI,CACfC,MAAM,IAAK,MAAM,IAAIA,MAAM,GAAGA,MAAM,CAACO,IAAI,GAAGP,MAAa,EAC1D,MAAM,EAAE,CACT,CACF;QACH;QACA,OAAO/F,MAAM,CAACgG,OAAO,CAAC,EAAE,CAAC;MAC3B,CAAC,CAAC,CACH;IACH;IAEAO,OAAOA,CACLnC,GAAW,EACXC,MAA8B,EAC9B3B,aAA0F;MAE1F,OAAOA,aAAa,GAChB1C,MAAM,CAACwG,GAAG,CAAC,IAAI,CAACL,GAAG,CAAC/B,GAAG,EAAEC,MAAM,CAAC,EAAE3B,aAAa,CAAC,GAChD,IAAI,CAACyD,GAAG,CAAC/B,GAAG,EAAEC,MAAM,CAAC;IAC3B;IACAoC,UAAUA,CAACrC,GAAW,EAAEC,MAA8B;MACpD,OAAO,IAAI,CAACF,MAAM,CAACC,GAAG,EAAEC,MAAM,CAAC;IACjC;IACAqC,aAAaA,CAACtC,GAAW,EAAEC,MAA8B;MACvD,OAAO,IAAI,CAAC8B,GAAG,CAAC/B,GAAG,EAAEC,MAAM,EAAE,aAAa,CAAC;IAC7C;IACAsC,iBAAiBA,CAACvC,GAAW,EAAEC,MAA8B,EAAE3B,aAAmB;MAChF,OAAO,IAAI,CAAC6D,OAAO,CAACnC,GAAG,EAAEC,MAAM,EAAE3B,aAAa,CAAC;IACjD;IACAkE,aAAaA,CACXxC,GAAW,EACXC,MAA8B,EAC9B3B,aAA0F;MAE1F,OAAO,IAAI,CAACyB,MAAM,CAACC,GAAG,EAAEC,MAAM,EAAE,aAAa,CAAC,CAACZ,IAAI,CACjDzD,MAAM,CAACwG,GAAG,CAAET,MAAM,IAAI;QACpB,IAAI,EAAE,QAAQ,IAAIA,MAAM,CAAC,EAAE;UACzB,OAAO3F,MAAM,CAACyG,KAAK;QACrB;QACA,OAAOjH,UAAU,CAACkH,YAAY,CAA8D;UAC1FC,QAAQ,EAAEA,CAAA,KAAMhB,MAAM,CAACiB,MAAM,EAAS;UACtCC,OAAO,EAAG9F,KAAK,IAAK,IAAIT,QAAQ,CAAC;YAAE4C,MAAM,EAAE3B,aAAa,CAACR,KAAK,EAAE,0BAA0B,EAAE,QAAQ;UAAC,CAAE;SACxG,CAAC;MACJ,CAAC,CAAC,EACFf,MAAM,CAAC8G,MAAM,EACb9G,MAAM,CAAC+G,MAAM,EACb/G,MAAM,CAACgH,SAAS,CAAEC,KAAK,IAAI;QACzB,MAAMC,QAAQ,GAAwB,EAAE;QACxC,KAAK,MAAMC,IAAI,IAAIF,KAAK,EAAE;UACxB,KAAK,MAAMG,GAAG,IAAID,IAAI,EAAE;YACtBD,QAAQ,CAACG,IAAI,CAACD,GAAG,CAACnB,IAAI,EAAE,CAAC;UAC3B;QACF;QACA,OAAOrG,MAAM,CAACiD,UAAU,CAAC;UACvBC,GAAG,EAAEA,CAAA,KAAMwE,OAAO,CAACC,GAAG,CAACL,QAAQ,CAAC,CAACxB,IAAI,CAAEyB,IAAI,IAAK7E,aAAa,GAAGA,aAAa,CAAC6E,IAAI,CAAC,GAAGA,IAAI,CAAC;UAC3FlE,KAAK,EAAGlC,KAAK,IAAK,IAAIT,QAAQ,CAAC;YAAE4C,MAAM,EAAE3B,aAAa,CAACR,KAAK,EAAE,qBAAqB,EAAE,UAAU;UAAC,CAAE;SACnG,CAAC;MACJ,CAAC,CAAC,EACFf,MAAM,CAACwH,eAAe,CACvB;IACH;;EAGF,MAAMC,UAAU,GAAG,IAAI7D,cAAc,CAAClB,MAAM,CAAC;EAE7C,OAAOgF,MAAM,CAACC,MAAM,CAClB,OAAOzH,MAAM,CAAC8B,IAAI,CAAC;IACjB4F,QAAQ,EAAEhI,MAAM,CAACgG,OAAO,CAAC6B,UAAU,CAAC;IACpCtF,QAAQ;IACR0F,cAAc,EAAE,CACd,IAAI5F,OAAO,CAAC4F,cAAc,GAAGH,MAAM,CAACI,OAAO,CAAC7F,OAAO,CAAC4F,cAAc,CAAC,GAAG,EAAE,CAAC,EACzE,CAACjH,mBAAmB,EAAE,YAAY,CAAC,EACnC,CAACC,iBAAiB,EAAEoB,OAAO,CAAC8F,QAAQ,IAAI,SAAS,CAAC,CACnD;IACDC,gBAAgB,EAAE,mBAAmB;IACrC1F;GACD,CAAC,EACF;IACE,CAACT,MAAM,GAAGA,MAAgB;IAC1BoG,MAAM,EAAEhG,OAAO;IACfiG,KAAKA,CAACC,QAAgB,EAAEC,KAAc;MACpC,OAAO1H,SAAS,CAAC2H,QAAQ,CAAC,CAACC,eAAe,CAACH,QAAQ,EAAEC,KAAK,CAAC,CAAC,CAAC;IAC/D,CAAC;IACDG,SAASA,CAAUC,MAA8B;MAC/C,OAAO5I,MAAM,CAAC6I,cAAc,CAACD,MAAM,EAAE9D,YAAY,EAAE,SAAS,CAAC;IAC/D,CAAC;IACDgE,WAAWA,CAAczG,OAIxB;MACC,OAAOrC,MAAM,CAAC+E,QAAQ,CAAqCC,MAAM,IAAI;QACnE,MAAML,KAAK,GAAG1E,KAAK,CAAC8I,UAAU,EAAG;QACjC,MAAM9D,OAAO,GAAGN,KAAK,CAACE,MAAM,CAACK,OAAO,CAAC,IAAInE,MAAM,CAACoE,UAAU,EAAE;QAC5D,MAAMC,QAAQ,GAAGT,KAAK,CAACE,MAAM,CAACQ,kBAAkB,CAAC;QACjD,MAAMC,UAAU,GAAG,IAAIC,eAAe,EAAE;QACxCzC,MAAM,CAACkG,MAAM,CAAC;UACZ1E,MAAM,EAAE,aAAa;UACrB,GAAGjC,OAAO;UACVqD,YAAY,EAAEJ,UAAU,CAACK,MAAM;UAC/BC,QAAQ,EAAEX,OAAO;UACjBY,mBAAmB,EAAET;SACtB,CAAC,CAACU,IAAI,CACJC,MAAM,IAAKf,MAAM,CAAChF,MAAM,CAACgG,OAAO,CAACD,MAAM,CAAC,CAAC,EACzC5E,KAAK,IACJ6D,MAAM,CAAChF,MAAM,CAAC8D,IAAI,CAAC,IAAIpD,QAAQ,CAAC;UAAE4C,MAAM,EAAE3B,aAAa,CAACR,KAAK,EAAE,uBAAuB,EAAE,QAAQ;QAAC,CAAE,CAAC,CAAC,CAAC,CACzG;QACD,OAAOnB,MAAM,CAACiG,OAAO,CAAC,MAAK;UACzBX,UAAU,CAACY,KAAK,EAAE;UAClB,OAAOlG,MAAM,CAACuD,OAAO,CAAC,MAAMT,MAAM,CAAC0C,OAAO,CAAC;YAAEpC,KAAK,EAAE,gCAAgC6B,OAAO;UAAG,CAAE,CAAC,CAAC;QACpG,CAAC,CAAC;MACJ,CAAC,CAAC;IACJ,CAAC;IACDgE,WAAW,EAAE/I,IAAI,CACf,CAAC,EACD,CAAU0I,MAA8B,EAAE3D,OAAe,KAAKjF,MAAM,CAAC6I,cAAc,CAACD,MAAM,EAAE1D,OAAO,EAAED,OAAO,CAAC,CAC9G;IACDiE,sBAAsB,EAAEhJ,IAAI,CAC1B,CAAC,EACD,CACE0I,MAA8B,EAC9BxD,QAAwE,KACrEpF,MAAM,CAAC6I,cAAc,CAACD,MAAM,EAAEvD,kBAAkB,EAAED,QAAQ,CAAC;GAEnE,CACF;AACH,CAAC,CAAC;AAEJ;;;;AAIA,OAAO,MAAMN,YAAY,gBAAGhF,OAAO,CAACqJ,SAAS,CAC3C,sDAAsD,EACtD;EACEC,YAAY,EAAEA,CAAA,KAAM;CACrB,CACF;AAED;;;;AAIA,OAAO,MAAMlE,OAAO,gBAAGpF,OAAO,CAACqJ,SAAS,CACtC,iDAAiD,EACjD;EAAEC,YAAY,EAAEA,CAAA,KAAMhI;AAAS,CAAE,CAClC;AAED;;;;AAIA,OAAO,MAAMiE,kBAAkB,gBAE3BvF,OAAO,CAACqJ,SAAS,CAAC,4DAA4D,EAAE;EAClFC,YAAY,EAAEA,CAAA,MAAO,EAAE;CACxB,CAAC;AAEF;;;;AAIA,OAAO,MAAMC,WAAW,GAGtBhB,MAA2C,IAE3ClI,KAAK,CAACmJ,aAAa,CACjBzJ,MAAM,CAACqH,MAAM,CAACmB,MAAM,CAAC,CAAC5E,IAAI,CACxBzD,MAAM,CAACoG,OAAO,CAAChE,IAAI,CAAC,EACpBpC,MAAM,CAACwG,GAAG,CAAE1D,MAAM,IAChBhD,OAAO,CAACsC,IAAI,CAACF,gBAAgB,EAAEY,MAAM,CAAC,CAACW,IAAI,CACzC3D,OAAO,CAACyJ,GAAG,CAACjJ,MAAM,CAACkJ,SAAS,EAAE1G,MAAM,CAAC,CACtC,CACF,CACF,CACF,CAACW,IAAI,CAACtD,KAAK,CAACsJ,OAAO,CAACpJ,UAAU,CAACqJ,KAAK,CAAC,CAAC;AAEzC;;;;AAIA,OAAO,MAAMA,KAAK,GAChBrB,MAA8B,IAE9BlI,KAAK,CAACmJ,aAAa,CACjBtJ,MAAM,CAACwG,GAAG,CAACpE,IAAI,CAACiG,MAAM,CAAC,EAAGvF,MAAM,IAC9BhD,OAAO,CAACsC,IAAI,CAACF,gBAAgB,EAAEY,MAAM,CAAC,CAACW,IAAI,CACzC3D,OAAO,CAACyJ,GAAG,CAACjJ,MAAM,CAACkJ,SAAS,EAAE1G,MAAM,CAAC,CACtC,CAAC,CACL,CAACW,IAAI,CAACtD,KAAK,CAACsJ,OAAO,CAACpJ,UAAU,CAACqJ,KAAK,CAAC,CAAC;AAEzC,MAAMC,eAAe,GAAInB,KAAc,IAAY;EACjD,IAAI1H,SAAS,CAAC8I,UAAU,CAACpB,KAAK,CAAC,EAAE;IAC/B,OAAOmB,eAAe,CAACnB,KAAK,CAACqB,QAAQ,CAAC,CAAC,CAAC,CAAC;EAC3C,CAAC,MAAM,IAAIC,iBAAiB,CAACtB,KAAK,CAAC,EAAE;IACnC,OAAOA,KAAK,CAACuB,MAAM;EACrB,CAAC,MAAM,IAAIC,KAAK,CAACC,OAAO,CAACzB,KAAK,CAAC,EAAE;IAC/B,OAAO,SAASmB,eAAe,CAACnB,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG;EAC9C;EACA,QAAQ,OAAOA,KAAK;IAClB,KAAK,QAAQ;MACX,OAAO,SAAS;IAClB,KAAK,QAAQ;MACX,OAAO,OAAO;IAChB,KAAK,SAAS;MACZ,OAAO,MAAM;IACf,KAAK,QAAQ;MACX,IAAIA,KAAK,YAAY0B,IAAI,EAAE;QACzB,OAAO,YAAY;MACrB;MACA,OAAO,QAAQ;IACjB;MACE,OAAO,QAAQ;EACnB;AACF,CAAC;AAED;;;;AAIA,OAAO,MAAM1H,YAAY,GAAI2H,SAAiC,IAC5DrJ,SAAS,CAAC0B,YAAY,CAAmB;EACvC4H,OAAO,EAAE,QAAQ;EACjBC,WAAWA,CAAC7F,CAAC,EAAE8F,CAAC;IACd,OAAO,KAAK9F,CAAC,KAAKmF,eAAe,CAACW,CAAC,CAAC,GAAG;EACzC,CAAC;EACDC,YAAY,EAAEJ,SAAS,GACrB,UAAS3B,KAAK,EAAEgC,gBAAgB;IAC9B,OAAOA,gBAAgB,GAAGC,MAAM,CAACjC,KAAK,CAAC,GAAGiC,MAAM,CAACN,SAAS,CAAC3B,KAAK,CAAC,CAAC;EACpE,CAAC,GACDiC,MAAM;EACRC,cAAcA,CAAA;IACZ,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC;EACjB,CAAC;EACDC,QAAQA,CAACC,IAAI,EAAEP,WAAW;IACxB,OAAO,CAACA,WAAW,CAACO,IAAI,CAAC,EAAE,CAACA,IAAI,CAACC,MAAM,CAAC,CAAC;EAC3C;CACD,CAAC;AAEJ;AAEA,MAAMJ,MAAM,gBAAG3J,SAAS,CAACgK,aAAa,CAAC,IAAI,CAAC;AAc5C,MAAMpC,eAAe,gBAAG5H,SAAS,CAACiK,MAAM,CAAkB,iBAAiB,CAAC;AAC5E,MAAMjB,iBAAiB,gBAAGhJ,SAAS,CAACkK,QAAQ,CAAkB,iBAAiB,CAAC","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"ClickhouseClient.js","names":["Clickhouse","NodeStream","Config","Context","Duration","Effect","Fiber","dual","Layer","Stream","Reactivity","Client","AuthenticationError","AuthorizationError","ConnectionError","SqlError","SqlSyntaxError","StatementTimeoutError","UnknownError","Statement","Crypto","ATTR_DB_SYSTEM_NAME","ATTR_DB_NAMESPACE","clickhouseCodeFromCause","cause","undefined","code","parsed","Number","isNaN","clickhouseSyntaxErrorCodes","Set","classifyError","message","operation","fallback","props","has","TypeId","ClickhouseClient","Service","make","options","gen","compiler","makeCompiler","transformQueryNames","transformRows","transformResultNames","defaultTransforms","array","client","createClient","acquireRelease","tryPromise","try","exec","query","catch","reason","promise","close","pipe","timeoutOrElse","duration","seconds","orElse","fail","Error","ConnectionImpl","conn","constructor","runRaw","sql","params","format","paramsObj","i","length","withFiber","fiber","method","getRef","ClientMethod","callback","resume","queryId","QueryId","randomUUID","settings","ClickhouseSettings","controller","AbortController","command","query_params","abort_signal","signal","query_id","clickhouse_settings","then","result","succeed","suspend","abort","run","flatMap","json","data","execute","map","executeRaw","executeValues","executeUnprepared","executeStream","empty","fromReadable","evaluate","stream","onError","unwrap","chunks","mapEffect","chunk","promises","rows","row","push","Promise","all","flattenIterable","connection","Object","assign","acquirer","spanAttributes","entries","database","beginTransaction","config","param","dataType","value","fragment","clickhouseParam","asCommand","effect","provideService","insertQuery","getCurrent","insert","withQueryId","withClickhouseSettings","Reference","defaultValue","layerConfig","effectContext","add","SqlClient","provide","layer","typeFromUnknown","isFragment","segments","isClickhouseParam","paramA","Array","isArray","Date","transform","dialect","placeholder","u","onIdentifier","withoutTransform","escape","onRecordUpdate","onCustom","type","paramB","defaultEscape","custom","isCustom"],"sources":["../src/ClickhouseClient.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -1,5 +1,22 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Utilities for applying Effect SQL migrations to ClickHouse databases.
|
|
3
|
+
*
|
|
4
|
+
* This module re-exports the shared `Migrator` loaders and error types, then
|
|
5
|
+
* provides `run` and `layer` helpers for applying ordered migrations through
|
|
6
|
+
* the current ClickHouse `SqlClient`. It is typically used during application
|
|
7
|
+
* startup, deployment, or integration tests that need to prepare analytical
|
|
8
|
+
* tables before dependent services begin reading or writing data.
|
|
9
|
+
*
|
|
10
|
+
* Applied migrations are stored in `effect_sql_migrations` by default and use
|
|
11
|
+
* the shared `<id>_<name>` loader convention. Only migrations with ids greater
|
|
12
|
+
* than the latest recorded id are run. ClickHouse schema changes often depend
|
|
13
|
+
* on engine, `ORDER BY`, database, and cluster settings, and many deployments
|
|
14
|
+
* rely on explicit `ON CLUSTER` clauses or coordinated rollout tooling. This
|
|
15
|
+
* adapter does not add a ClickHouse-specific table lock or schema dumper, so
|
|
16
|
+
* coordinate concurrent migrators and do not expect `schemaDirectory` to emit a
|
|
17
|
+
* ClickHouse schema snapshot.
|
|
18
|
+
*
|
|
19
|
+
* @since 4.0.0
|
|
3
20
|
*/
|
|
4
21
|
import type * as Effect from "effect/Effect";
|
|
5
22
|
import * as Layer from "effect/Layer";
|
|
@@ -7,17 +24,23 @@ import * as Migrator from "effect/unstable/sql/Migrator";
|
|
|
7
24
|
import type * as Client from "effect/unstable/sql/SqlClient";
|
|
8
25
|
import type { SqlError } from "effect/unstable/sql/SqlError";
|
|
9
26
|
/**
|
|
10
|
-
* @since
|
|
27
|
+
* @since 4.0.0
|
|
11
28
|
*/
|
|
12
29
|
export * from "effect/unstable/sql/Migrator";
|
|
13
30
|
/**
|
|
14
|
-
*
|
|
15
|
-
*
|
|
31
|
+
* Runs SQL migrations for ClickHouse using the supplied migrator options and
|
|
32
|
+
* returns the applied migration IDs and names.
|
|
33
|
+
*
|
|
34
|
+
* @category constructors
|
|
35
|
+
* @since 4.0.0
|
|
16
36
|
*/
|
|
17
37
|
export declare const run: <R2 = never>({ loader, schemaDirectory, table }: Migrator.MigratorOptions<R2>) => Effect.Effect<ReadonlyArray<readonly [id: number, name: string]>, Migrator.MigrationError | SqlError, Client.SqlClient | R2>;
|
|
18
38
|
/**
|
|
39
|
+
* Creates a layer that runs the configured ClickHouse migrations during layer
|
|
40
|
+
* construction and provides no services.
|
|
41
|
+
*
|
|
19
42
|
* @category layers
|
|
20
|
-
* @since
|
|
43
|
+
* @since 4.0.0
|
|
21
44
|
*/
|
|
22
45
|
export declare const layer: <R>(options: Migrator.MigratorOptions<R>) => Layer.Layer<never, Migrator.MigrationError | SqlError, Client.SqlClient | R>;
|
|
23
46
|
//# sourceMappingURL=ClickhouseMigrator.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClickhouseMigrator.d.ts","sourceRoot":"","sources":["../src/ClickhouseMigrator.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"ClickhouseMigrator.d.ts","sourceRoot":"","sources":["../src/ClickhouseMigrator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,QAAQ,MAAM,8BAA8B,CAAA;AACxD,OAAO,KAAK,KAAK,MAAM,MAAM,+BAA+B,CAAA;AAC5D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAA;AAE5D;;GAEG;AACH,cAAc,8BAA8B,CAAA;AAE5C;;;;;;GAMG;AACH,eAAO,MAAM,GAAG,EAAE,CAAC,EAAE,GAAG,KAAK,EAC3B,EAAE,MAAM,EAAE,eAAe,EAAE,KAAK,EAAE,EAAE,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC,KAC7D,MAAM,CAAC,MAAM,CAChB,aAAa,CAAC,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,EAClD,QAAQ,CAAC,cAAc,GAAG,QAAQ,EAClC,MAAM,CAAC,SAAS,GAAG,EAAE,CACF,CAAA;AAErB;;;;;;GAMG;AACH,eAAO,MAAM,KAAK,GAAI,CAAC,EACrB,SAAS,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,KACnC,KAAK,CAAC,KAAK,CACZ,KAAK,EACL,QAAQ,CAAC,cAAc,GAAG,QAAQ,EAClC,MAAM,CAAC,SAAS,GAAG,CAAC,CACgB,CAAA"}
|
|
@@ -1,17 +1,23 @@
|
|
|
1
1
|
import * as Layer from "effect/Layer";
|
|
2
2
|
import * as Migrator from "effect/unstable/sql/Migrator";
|
|
3
3
|
/**
|
|
4
|
-
* @since
|
|
4
|
+
* @since 4.0.0
|
|
5
5
|
*/
|
|
6
6
|
export * from "effect/unstable/sql/Migrator";
|
|
7
7
|
/**
|
|
8
|
-
*
|
|
9
|
-
*
|
|
8
|
+
* Runs SQL migrations for ClickHouse using the supplied migrator options and
|
|
9
|
+
* returns the applied migration IDs and names.
|
|
10
|
+
*
|
|
11
|
+
* @category constructors
|
|
12
|
+
* @since 4.0.0
|
|
10
13
|
*/
|
|
11
14
|
export const run = /*#__PURE__*/Migrator.make({});
|
|
12
15
|
/**
|
|
16
|
+
* Creates a layer that runs the configured ClickHouse migrations during layer
|
|
17
|
+
* construction and provides no services.
|
|
18
|
+
*
|
|
13
19
|
* @category layers
|
|
14
|
-
* @since
|
|
20
|
+
* @since 4.0.0
|
|
15
21
|
*/
|
|
16
22
|
export const layer = options => Layer.effectDiscard(run(options));
|
|
17
23
|
//# sourceMappingURL=ClickhouseMigrator.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClickhouseMigrator.js","names":["Layer","Migrator","run","make","layer","options","effectDiscard"],"sources":["../src/ClickhouseMigrator.ts"],"sourcesContent":[null],"mappings":"
|
|
1
|
+
{"version":3,"file":"ClickhouseMigrator.js","names":["Layer","Migrator","run","make","layer","options","effectDiscard"],"sources":["../src/ClickhouseMigrator.ts"],"sourcesContent":[null],"mappings":"AAqBA,OAAO,KAAKA,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,QAAQ,MAAM,8BAA8B;AAIxD;;;AAGA,cAAc,8BAA8B;AAE5C;;;;;;;AAOA,OAAO,MAAMC,GAAG,gBAMZD,QAAQ,CAACE,IAAI,CAAC,EAAE,CAAC;AAErB;;;;;;;AAOA,OAAO,MAAMC,KAAK,GAChBC,OAAoC,IAKjCL,KAAK,CAACM,aAAa,CAACJ,GAAG,CAACG,OAAO,CAAC,CAAC","ignoreList":[]}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,12 +1,49 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @since
|
|
2
|
+
* @since 4.0.0
|
|
3
3
|
*/
|
|
4
4
|
/**
|
|
5
|
-
*
|
|
5
|
+
* ClickHouse client implementation for Effect SQL, backed by
|
|
6
|
+
* `@clickhouse/client`.
|
|
7
|
+
*
|
|
8
|
+
* This module exposes constructors and layers for providing both the
|
|
9
|
+
* ClickHouse-specific `ClickhouseClient` service and the generic `SqlClient`
|
|
10
|
+
* service. It is intended for analytical application queries, migrations,
|
|
11
|
+
* background jobs, bulk inserts, and streaming reads that need Effect SQL query
|
|
12
|
+
* compilation, scoped lifecycle management, interruption, and consistent
|
|
13
|
+
* `SqlError` classification for ClickHouse failures.
|
|
14
|
+
*
|
|
15
|
+
* The client uses the ClickHouse HTTP client APIs for `query`, `command`, and
|
|
16
|
+
* `insert` operations. Regular queries read JSON result sets, `executeValues`
|
|
17
|
+
* requests `JSONCompact`, streams request `JSONEachRow`, and `insertQuery`
|
|
18
|
+
* defaults inserts to `JSONEachRow`. Interrupting an operation aborts the
|
|
19
|
+
* underlying HTTP request and attempts to kill the generated or supplied
|
|
20
|
+
* `query_id`. The statement compiler emits ClickHouse typed placeholders such
|
|
21
|
+
* as `{p1: Type}`; use `param` when the inferred type is too broad, and write
|
|
22
|
+
* ClickHouse-specific clauses such as engines, `SETTINGS`, `FORMAT`, or
|
|
23
|
+
* cluster directives explicitly.
|
|
24
|
+
*
|
|
25
|
+
* @since 4.0.0
|
|
6
26
|
*/
|
|
7
27
|
export * as ClickhouseClient from "./ClickhouseClient.ts";
|
|
8
28
|
/**
|
|
9
|
-
*
|
|
29
|
+
* Utilities for applying Effect SQL migrations to ClickHouse databases.
|
|
30
|
+
*
|
|
31
|
+
* This module re-exports the shared `Migrator` loaders and error types, then
|
|
32
|
+
* provides `run` and `layer` helpers for applying ordered migrations through
|
|
33
|
+
* the current ClickHouse `SqlClient`. It is typically used during application
|
|
34
|
+
* startup, deployment, or integration tests that need to prepare analytical
|
|
35
|
+
* tables before dependent services begin reading or writing data.
|
|
36
|
+
*
|
|
37
|
+
* Applied migrations are stored in `effect_sql_migrations` by default and use
|
|
38
|
+
* the shared `<id>_<name>` loader convention. Only migrations with ids greater
|
|
39
|
+
* than the latest recorded id are run. ClickHouse schema changes often depend
|
|
40
|
+
* on engine, `ORDER BY`, database, and cluster settings, and many deployments
|
|
41
|
+
* rely on explicit `ON CLUSTER` clauses or coordinated rollout tooling. This
|
|
42
|
+
* adapter does not add a ClickHouse-specific table lock or schema dumper, so
|
|
43
|
+
* coordinate concurrent migrators and do not expect `schemaDirectory` to emit a
|
|
44
|
+
* ClickHouse schema snapshot.
|
|
45
|
+
*
|
|
46
|
+
* @since 4.0.0
|
|
10
47
|
*/
|
|
11
48
|
export * as ClickhouseMigrator from "./ClickhouseMigrator.ts";
|
|
12
49
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,OAAO,KAAK,gBAAgB,MAAM,uBAAuB,CAAA;AAEzD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,KAAK,kBAAkB,MAAM,yBAAyB,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -1,13 +1,50 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @since
|
|
2
|
+
* @since 4.0.0
|
|
3
3
|
*/
|
|
4
4
|
// @barrel: Auto-generated exports. Do not edit manually.
|
|
5
5
|
/**
|
|
6
|
-
*
|
|
6
|
+
* ClickHouse client implementation for Effect SQL, backed by
|
|
7
|
+
* `@clickhouse/client`.
|
|
8
|
+
*
|
|
9
|
+
* This module exposes constructors and layers for providing both the
|
|
10
|
+
* ClickHouse-specific `ClickhouseClient` service and the generic `SqlClient`
|
|
11
|
+
* service. It is intended for analytical application queries, migrations,
|
|
12
|
+
* background jobs, bulk inserts, and streaming reads that need Effect SQL query
|
|
13
|
+
* compilation, scoped lifecycle management, interruption, and consistent
|
|
14
|
+
* `SqlError` classification for ClickHouse failures.
|
|
15
|
+
*
|
|
16
|
+
* The client uses the ClickHouse HTTP client APIs for `query`, `command`, and
|
|
17
|
+
* `insert` operations. Regular queries read JSON result sets, `executeValues`
|
|
18
|
+
* requests `JSONCompact`, streams request `JSONEachRow`, and `insertQuery`
|
|
19
|
+
* defaults inserts to `JSONEachRow`. Interrupting an operation aborts the
|
|
20
|
+
* underlying HTTP request and attempts to kill the generated or supplied
|
|
21
|
+
* `query_id`. The statement compiler emits ClickHouse typed placeholders such
|
|
22
|
+
* as `{p1: Type}`; use `param` when the inferred type is too broad, and write
|
|
23
|
+
* ClickHouse-specific clauses such as engines, `SETTINGS`, `FORMAT`, or
|
|
24
|
+
* cluster directives explicitly.
|
|
25
|
+
*
|
|
26
|
+
* @since 4.0.0
|
|
7
27
|
*/
|
|
8
28
|
export * as ClickhouseClient from "./ClickhouseClient.js";
|
|
9
29
|
/**
|
|
10
|
-
*
|
|
30
|
+
* Utilities for applying Effect SQL migrations to ClickHouse databases.
|
|
31
|
+
*
|
|
32
|
+
* This module re-exports the shared `Migrator` loaders and error types, then
|
|
33
|
+
* provides `run` and `layer` helpers for applying ordered migrations through
|
|
34
|
+
* the current ClickHouse `SqlClient`. It is typically used during application
|
|
35
|
+
* startup, deployment, or integration tests that need to prepare analytical
|
|
36
|
+
* tables before dependent services begin reading or writing data.
|
|
37
|
+
*
|
|
38
|
+
* Applied migrations are stored in `effect_sql_migrations` by default and use
|
|
39
|
+
* the shared `<id>_<name>` loader convention. Only migrations with ids greater
|
|
40
|
+
* than the latest recorded id are run. ClickHouse schema changes often depend
|
|
41
|
+
* on engine, `ORDER BY`, database, and cluster settings, and many deployments
|
|
42
|
+
* rely on explicit `ON CLUSTER` clauses or coordinated rollout tooling. This
|
|
43
|
+
* adapter does not add a ClickHouse-specific table lock or schema dumper, so
|
|
44
|
+
* coordinate concurrent migrators and do not expect `schemaDirectory` to emit a
|
|
45
|
+
* ClickHouse schema snapshot.
|
|
46
|
+
*
|
|
47
|
+
* @since 4.0.0
|
|
11
48
|
*/
|
|
12
49
|
export * as ClickhouseMigrator from "./ClickhouseMigrator.js";
|
|
13
50
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["ClickhouseClient","ClickhouseMigrator"],"sources":["../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAIA;AAEA
|
|
1
|
+
{"version":3,"file":"index.js","names":["ClickhouseClient","ClickhouseMigrator"],"sources":["../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAIA;AAEA;;;;;;;;;;;;;;;;;;;;;;;AAuBA,OAAO,KAAKA,gBAAgB,MAAM,uBAAuB;AAEzD;;;;;;;;;;;;;;;;;;;;AAoBA,OAAO,KAAKC,kBAAkB,MAAM,yBAAyB","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@effect/sql-clickhouse",
|
|
3
|
-
"version": "4.0.0-beta.
|
|
3
|
+
"version": "4.0.0-beta.68",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"description": "A Clickhouse toolkit for Effect",
|
|
@@ -43,15 +43,15 @@
|
|
|
43
43
|
"provenance": true
|
|
44
44
|
},
|
|
45
45
|
"devDependencies": {
|
|
46
|
-
"effect": "^4.0.0-beta.
|
|
47
|
-
"
|
|
46
|
+
"@effect/platform-node": "^4.0.0-beta.68",
|
|
47
|
+
"effect": "^4.0.0-beta.68"
|
|
48
48
|
},
|
|
49
49
|
"peerDependencies": {
|
|
50
|
-
"@effect/platform-node": "^4.0.0-beta.
|
|
51
|
-
"effect": "^4.0.0-beta.
|
|
50
|
+
"@effect/platform-node": "^4.0.0-beta.68",
|
|
51
|
+
"effect": "^4.0.0-beta.68"
|
|
52
52
|
},
|
|
53
53
|
"dependencies": {
|
|
54
|
-
"@clickhouse/client": "^1.18.
|
|
54
|
+
"@clickhouse/client": "^1.18.4"
|
|
55
55
|
},
|
|
56
56
|
"scripts": {
|
|
57
57
|
"codegen": "effect-utils codegen",
|
package/src/ClickhouseClient.ts
CHANGED
|
@@ -1,5 +1,25 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* ClickHouse client implementation for Effect SQL, backed by
|
|
3
|
+
* `@clickhouse/client`.
|
|
4
|
+
*
|
|
5
|
+
* This module exposes constructors and layers for providing both the
|
|
6
|
+
* ClickHouse-specific `ClickhouseClient` service and the generic `SqlClient`
|
|
7
|
+
* service. It is intended for analytical application queries, migrations,
|
|
8
|
+
* background jobs, bulk inserts, and streaming reads that need Effect SQL query
|
|
9
|
+
* compilation, scoped lifecycle management, interruption, and consistent
|
|
10
|
+
* `SqlError` classification for ClickHouse failures.
|
|
11
|
+
*
|
|
12
|
+
* The client uses the ClickHouse HTTP client APIs for `query`, `command`, and
|
|
13
|
+
* `insert` operations. Regular queries read JSON result sets, `executeValues`
|
|
14
|
+
* requests `JSONCompact`, streams request `JSONEachRow`, and `insertQuery`
|
|
15
|
+
* defaults inserts to `JSONEachRow`. Interrupting an operation aborts the
|
|
16
|
+
* underlying HTTP request and attempts to kill the generated or supplied
|
|
17
|
+
* `query_id`. The statement compiler emits ClickHouse typed placeholders such
|
|
18
|
+
* as `{p1: Type}`; use `param` when the inferred type is too broad, and write
|
|
19
|
+
* ClickHouse-specific clauses such as engines, `SETTINGS`, `FORMAT`, or
|
|
20
|
+
* cluster directives explicitly.
|
|
21
|
+
*
|
|
22
|
+
* @since 4.0.0
|
|
3
23
|
*/
|
|
4
24
|
import * as Clickhouse from "@clickhouse/client"
|
|
5
25
|
import * as NodeStream from "@effect/platform-node/NodeStream"
|
|
@@ -74,20 +94,28 @@ const classifyError = (
|
|
|
74
94
|
}
|
|
75
95
|
|
|
76
96
|
/**
|
|
77
|
-
*
|
|
78
|
-
*
|
|
97
|
+
* Unique runtime identifier used to tag `ClickhouseClient` values.
|
|
98
|
+
*
|
|
99
|
+
* @category type IDs
|
|
100
|
+
* @since 4.0.0
|
|
79
101
|
*/
|
|
80
102
|
export const TypeId: TypeId = "~@effect/sql-clickhouse/ClickhouseClient"
|
|
81
103
|
|
|
82
104
|
/**
|
|
83
|
-
*
|
|
84
|
-
*
|
|
105
|
+
* Type-level literal for the `ClickhouseClient` runtime identifier.
|
|
106
|
+
*
|
|
107
|
+
* @category type IDs
|
|
108
|
+
* @since 4.0.0
|
|
85
109
|
*/
|
|
86
110
|
export type TypeId = "~@effect/sql-clickhouse/ClickhouseClient"
|
|
87
111
|
|
|
88
112
|
/**
|
|
113
|
+
* ClickHouse-specific `SqlClient` extension with access to its configuration,
|
|
114
|
+
* typed parameter fragments, command-mode execution, insert queries, and
|
|
115
|
+
* per-effect query ID and ClickHouse settings.
|
|
116
|
+
*
|
|
89
117
|
* @category models
|
|
90
|
-
* @since
|
|
118
|
+
* @since 4.0.0
|
|
91
119
|
*/
|
|
92
120
|
export interface ClickhouseClient extends Client.SqlClient {
|
|
93
121
|
readonly [TypeId]: TypeId
|
|
@@ -115,14 +143,20 @@ export interface ClickhouseClient extends Client.SqlClient {
|
|
|
115
143
|
}
|
|
116
144
|
|
|
117
145
|
/**
|
|
146
|
+
* Context service tag for accessing the active `ClickhouseClient`.
|
|
147
|
+
*
|
|
118
148
|
* @category tags
|
|
119
|
-
* @since
|
|
149
|
+
* @since 4.0.0
|
|
120
150
|
*/
|
|
121
151
|
export const ClickhouseClient = Context.Service<ClickhouseClient>("@effect/sql-clickhouse/ClickhouseClient")
|
|
122
152
|
|
|
123
153
|
/**
|
|
154
|
+
* Configuration for creating a ClickHouse client, combining
|
|
155
|
+
* `@clickhouse/client` options with optional span attributes and query/result
|
|
156
|
+
* name transforms.
|
|
157
|
+
*
|
|
124
158
|
* @category constructors
|
|
125
|
-
* @since
|
|
159
|
+
* @since 4.0.0
|
|
126
160
|
*/
|
|
127
161
|
export interface ClickhouseClientConfig extends Clickhouse.ClickHouseClientConfigOptions {
|
|
128
162
|
readonly spanAttributes?: Record<string, unknown> | undefined
|
|
@@ -131,8 +165,12 @@ export interface ClickhouseClientConfig extends Clickhouse.ClickHouseClientConfi
|
|
|
131
165
|
}
|
|
132
166
|
|
|
133
167
|
/**
|
|
168
|
+
* Creates a scoped `ClickhouseClient`, verifies connectivity with `SELECT 1`,
|
|
169
|
+
* closes the underlying client when the scope ends, maps ClickHouse failures
|
|
170
|
+
* to `SqlError`, and aborts plus kills in-flight queries when interrupted.
|
|
171
|
+
*
|
|
134
172
|
* @category constructors
|
|
135
|
-
* @since
|
|
173
|
+
* @since 4.0.0
|
|
136
174
|
*/
|
|
137
175
|
export const make = (
|
|
138
176
|
options: ClickhouseClientConfig
|
|
@@ -361,8 +399,11 @@ export const make = (
|
|
|
361
399
|
})
|
|
362
400
|
|
|
363
401
|
/**
|
|
364
|
-
*
|
|
365
|
-
*
|
|
402
|
+
* Fiber reference read by the low-level ClickHouse connection to choose query
|
|
403
|
+
* or command execution for statements; defaults to `query`.
|
|
404
|
+
*
|
|
405
|
+
* @category references
|
|
406
|
+
* @since 4.0.0
|
|
366
407
|
*/
|
|
367
408
|
export const ClientMethod = Context.Reference<"query" | "command" | "insert">(
|
|
368
409
|
"@effect/sql-clickhouse/ClickhouseClient/ClientMethod",
|
|
@@ -372,8 +413,11 @@ export const ClientMethod = Context.Reference<"query" | "command" | "insert">(
|
|
|
372
413
|
)
|
|
373
414
|
|
|
374
415
|
/**
|
|
375
|
-
*
|
|
376
|
-
*
|
|
416
|
+
* Fiber reference for the ClickHouse `query_id` applied to queries and
|
|
417
|
+
* inserts; a random UUID is generated when no query ID is set.
|
|
418
|
+
*
|
|
419
|
+
* @category references
|
|
420
|
+
* @since 4.0.0
|
|
377
421
|
*/
|
|
378
422
|
export const QueryId = Context.Reference<string | undefined>(
|
|
379
423
|
"@effect/sql-clickhouse/ClickhouseClient/QueryId",
|
|
@@ -381,8 +425,11 @@ export const QueryId = Context.Reference<string | undefined>(
|
|
|
381
425
|
)
|
|
382
426
|
|
|
383
427
|
/**
|
|
384
|
-
*
|
|
385
|
-
*
|
|
428
|
+
* Fiber reference containing ClickHouse settings to attach to queries,
|
|
429
|
+
* commands, and inserts.
|
|
430
|
+
*
|
|
431
|
+
* @category references
|
|
432
|
+
* @since 4.0.0
|
|
386
433
|
*/
|
|
387
434
|
export const ClickhouseSettings: Context.Reference<
|
|
388
435
|
NonNullable<Clickhouse.BaseQueryParams["clickhouse_settings"]>
|
|
@@ -391,8 +438,11 @@ export const ClickhouseSettings: Context.Reference<
|
|
|
391
438
|
})
|
|
392
439
|
|
|
393
440
|
/**
|
|
441
|
+
* Provides both `ClickhouseClient` and generic `SqlClient` services from a
|
|
442
|
+
* `Config`-backed ClickHouse client configuration.
|
|
443
|
+
*
|
|
394
444
|
* @category layers
|
|
395
|
-
* @since
|
|
445
|
+
* @since 4.0.0
|
|
396
446
|
*/
|
|
397
447
|
export const layerConfig: (
|
|
398
448
|
config: Config.Wrap<ClickhouseClientConfig>
|
|
@@ -411,8 +461,11 @@ export const layerConfig: (
|
|
|
411
461
|
).pipe(Layer.provide(Reactivity.layer))
|
|
412
462
|
|
|
413
463
|
/**
|
|
464
|
+
* Provides both `ClickhouseClient` and generic `SqlClient` services from a
|
|
465
|
+
* ClickHouse client configuration.
|
|
466
|
+
*
|
|
414
467
|
* @category layers
|
|
415
|
-
* @since
|
|
468
|
+
* @since 4.0.0
|
|
416
469
|
*/
|
|
417
470
|
export const layer = (
|
|
418
471
|
config: ClickhouseClientConfig
|
|
@@ -450,8 +503,12 @@ const typeFromUnknown = (value: unknown): string => {
|
|
|
450
503
|
}
|
|
451
504
|
|
|
452
505
|
/**
|
|
506
|
+
* Creates the SQL statement compiler for ClickHouse, emitting typed
|
|
507
|
+
* `{pN: Type}` placeholders and escaping identifiers with an optional query
|
|
508
|
+
* name transform.
|
|
509
|
+
*
|
|
453
510
|
* @category compiler
|
|
454
|
-
* @since
|
|
511
|
+
* @since 4.0.0
|
|
455
512
|
*/
|
|
456
513
|
export const makeCompiler = (transform?: (_: string) => string) =>
|
|
457
514
|
Statement.makeCompiler<ClickhouseCustom>({
|
|
@@ -477,14 +534,17 @@ export const makeCompiler = (transform?: (_: string) => string) =>
|
|
|
477
534
|
const escape = Statement.defaultEscape("\"")
|
|
478
535
|
|
|
479
536
|
/**
|
|
537
|
+
* Custom SQL fragment type used for ClickHouse typed parameters created by
|
|
538
|
+
* `ClickhouseClient.param`.
|
|
539
|
+
*
|
|
480
540
|
* @category custom types
|
|
481
|
-
* @since
|
|
541
|
+
* @since 4.0.0
|
|
482
542
|
*/
|
|
483
543
|
export type ClickhouseCustom = ClickhouseParam
|
|
484
544
|
|
|
485
545
|
/**
|
|
486
546
|
* @category custom types
|
|
487
|
-
* @since
|
|
547
|
+
* @since 4.0.0
|
|
488
548
|
*/
|
|
489
549
|
interface ClickhouseParam extends Statement.Custom<"ClickhouseParam", string, unknown> {}
|
|
490
550
|
|
|
@@ -1,5 +1,22 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Utilities for applying Effect SQL migrations to ClickHouse databases.
|
|
3
|
+
*
|
|
4
|
+
* This module re-exports the shared `Migrator` loaders and error types, then
|
|
5
|
+
* provides `run` and `layer` helpers for applying ordered migrations through
|
|
6
|
+
* the current ClickHouse `SqlClient`. It is typically used during application
|
|
7
|
+
* startup, deployment, or integration tests that need to prepare analytical
|
|
8
|
+
* tables before dependent services begin reading or writing data.
|
|
9
|
+
*
|
|
10
|
+
* Applied migrations are stored in `effect_sql_migrations` by default and use
|
|
11
|
+
* the shared `<id>_<name>` loader convention. Only migrations with ids greater
|
|
12
|
+
* than the latest recorded id are run. ClickHouse schema changes often depend
|
|
13
|
+
* on engine, `ORDER BY`, database, and cluster settings, and many deployments
|
|
14
|
+
* rely on explicit `ON CLUSTER` clauses or coordinated rollout tooling. This
|
|
15
|
+
* adapter does not add a ClickHouse-specific table lock or schema dumper, so
|
|
16
|
+
* coordinate concurrent migrators and do not expect `schemaDirectory` to emit a
|
|
17
|
+
* ClickHouse schema snapshot.
|
|
18
|
+
*
|
|
19
|
+
* @since 4.0.0
|
|
3
20
|
*/
|
|
4
21
|
import type * as Effect from "effect/Effect"
|
|
5
22
|
import * as Layer from "effect/Layer"
|
|
@@ -8,13 +25,16 @@ import type * as Client from "effect/unstable/sql/SqlClient"
|
|
|
8
25
|
import type { SqlError } from "effect/unstable/sql/SqlError"
|
|
9
26
|
|
|
10
27
|
/**
|
|
11
|
-
* @since
|
|
28
|
+
* @since 4.0.0
|
|
12
29
|
*/
|
|
13
30
|
export * from "effect/unstable/sql/Migrator"
|
|
14
31
|
|
|
15
32
|
/**
|
|
16
|
-
*
|
|
17
|
-
*
|
|
33
|
+
* Runs SQL migrations for ClickHouse using the supplied migrator options and
|
|
34
|
+
* returns the applied migration IDs and names.
|
|
35
|
+
*
|
|
36
|
+
* @category constructors
|
|
37
|
+
* @since 4.0.0
|
|
18
38
|
*/
|
|
19
39
|
export const run: <R2 = never>(
|
|
20
40
|
{ loader, schemaDirectory, table }: Migrator.MigratorOptions<R2>
|
|
@@ -25,8 +45,11 @@ export const run: <R2 = never>(
|
|
|
25
45
|
> = Migrator.make({})
|
|
26
46
|
|
|
27
47
|
/**
|
|
48
|
+
* Creates a layer that runs the configured ClickHouse migrations during layer
|
|
49
|
+
* construction and provides no services.
|
|
50
|
+
*
|
|
28
51
|
* @category layers
|
|
29
|
-
* @since
|
|
52
|
+
* @since 4.0.0
|
|
30
53
|
*/
|
|
31
54
|
export const layer = <R>(
|
|
32
55
|
options: Migrator.MigratorOptions<R>
|
package/src/index.ts
CHANGED
|
@@ -1,15 +1,52 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @since
|
|
2
|
+
* @since 4.0.0
|
|
3
3
|
*/
|
|
4
4
|
|
|
5
5
|
// @barrel: Auto-generated exports. Do not edit manually.
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
|
-
*
|
|
8
|
+
* ClickHouse client implementation for Effect SQL, backed by
|
|
9
|
+
* `@clickhouse/client`.
|
|
10
|
+
*
|
|
11
|
+
* This module exposes constructors and layers for providing both the
|
|
12
|
+
* ClickHouse-specific `ClickhouseClient` service and the generic `SqlClient`
|
|
13
|
+
* service. It is intended for analytical application queries, migrations,
|
|
14
|
+
* background jobs, bulk inserts, and streaming reads that need Effect SQL query
|
|
15
|
+
* compilation, scoped lifecycle management, interruption, and consistent
|
|
16
|
+
* `SqlError` classification for ClickHouse failures.
|
|
17
|
+
*
|
|
18
|
+
* The client uses the ClickHouse HTTP client APIs for `query`, `command`, and
|
|
19
|
+
* `insert` operations. Regular queries read JSON result sets, `executeValues`
|
|
20
|
+
* requests `JSONCompact`, streams request `JSONEachRow`, and `insertQuery`
|
|
21
|
+
* defaults inserts to `JSONEachRow`. Interrupting an operation aborts the
|
|
22
|
+
* underlying HTTP request and attempts to kill the generated or supplied
|
|
23
|
+
* `query_id`. The statement compiler emits ClickHouse typed placeholders such
|
|
24
|
+
* as `{p1: Type}`; use `param` when the inferred type is too broad, and write
|
|
25
|
+
* ClickHouse-specific clauses such as engines, `SETTINGS`, `FORMAT`, or
|
|
26
|
+
* cluster directives explicitly.
|
|
27
|
+
*
|
|
28
|
+
* @since 4.0.0
|
|
9
29
|
*/
|
|
10
30
|
export * as ClickhouseClient from "./ClickhouseClient.ts"
|
|
11
31
|
|
|
12
32
|
/**
|
|
13
|
-
*
|
|
33
|
+
* Utilities for applying Effect SQL migrations to ClickHouse databases.
|
|
34
|
+
*
|
|
35
|
+
* This module re-exports the shared `Migrator` loaders and error types, then
|
|
36
|
+
* provides `run` and `layer` helpers for applying ordered migrations through
|
|
37
|
+
* the current ClickHouse `SqlClient`. It is typically used during application
|
|
38
|
+
* startup, deployment, or integration tests that need to prepare analytical
|
|
39
|
+
* tables before dependent services begin reading or writing data.
|
|
40
|
+
*
|
|
41
|
+
* Applied migrations are stored in `effect_sql_migrations` by default and use
|
|
42
|
+
* the shared `<id>_<name>` loader convention. Only migrations with ids greater
|
|
43
|
+
* than the latest recorded id are run. ClickHouse schema changes often depend
|
|
44
|
+
* on engine, `ORDER BY`, database, and cluster settings, and many deployments
|
|
45
|
+
* rely on explicit `ON CLUSTER` clauses or coordinated rollout tooling. This
|
|
46
|
+
* adapter does not add a ClickHouse-specific table lock or schema dumper, so
|
|
47
|
+
* coordinate concurrent migrators and do not expect `schemaDirectory` to emit a
|
|
48
|
+
* ClickHouse schema snapshot.
|
|
49
|
+
*
|
|
50
|
+
* @since 4.0.0
|
|
14
51
|
*/
|
|
15
52
|
export * as ClickhouseMigrator from "./ClickhouseMigrator.ts"
|