@effect/sql-mssql 4.0.0-beta.7 → 4.0.0-beta.71

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.
@@ -1,13 +1,48 @@
1
1
  /**
2
- * @since 1.0.0
2
+ * Microsoft SQL Server client implementation for Effect SQL, backed by the
3
+ * `tedious` driver.
4
+ *
5
+ * This module provides the `MssqlClient` service, constructors, layers, and SQL
6
+ * Server statement compiler. The layers provide both `MssqlClient` and the
7
+ * generic `SqlClient` service, so code written against Effect SQL can run
8
+ * regular queries while SQL Server-specific code can add typed Tedious
9
+ * parameters with `param` and execute stored procedures with `call`.
10
+ *
11
+ * **Mental model**
12
+ *
13
+ * A client owns a scoped pool of Tedious connections and validates startup with
14
+ * `SELECT 1`. Ordinary queries borrow a pooled connection for one operation.
15
+ * Transactions keep one connection for their lifetime, and nested transactions
16
+ * are represented with SQL Server savepoints. Long-running transactions
17
+ * therefore reduce available pool capacity.
18
+ *
19
+ * **Common tasks**
20
+ *
21
+ * Use {@link layer} for a concrete `MssqlClientConfig`, {@link layerConfig} when
22
+ * configuration should come from Effect `Config`, and {@link make} when a scoped
23
+ * client value is needed directly. Use `param` to override the default mapping
24
+ * from Effect SQL primitive values to Tedious `DataType`s, and use the
25
+ * `Procedure` and `Parameter` helpers when a stored procedure needs typed input
26
+ * parameters, output parameters, or result rows.
27
+ *
28
+ * **Gotchas**
29
+ *
30
+ * Tedious permits one active request per connection, and this client does not
31
+ * implement streaming queries. Statements compile to SQL Server-style `@1`
32
+ * parameters and bracket-escaped identifiers. Be explicit about connection pool
33
+ * and timeout settings for workloads with transactions. Review TLS settings:
34
+ * `encrypt` defaults to `false`, and `trustServer` defaults to `true` for the
35
+ * Tedious `trustServerCertificate` option unless overridden.
36
+ *
37
+ * @since 4.0.0
3
38
  */
4
39
  import * as Config from "effect/Config";
40
+ import * as Context from "effect/Context";
5
41
  import * as Duration from "effect/Duration";
6
42
  import * as Effect from "effect/Effect";
7
43
  import * as Layer from "effect/Layer";
8
44
  import * as Redacted from "effect/Redacted";
9
45
  import * as Scope from "effect/Scope";
10
- import * as ServiceMap from "effect/ServiceMap";
11
46
  import * as Reactivity from "effect/unstable/reactivity/Reactivity";
12
47
  import * as Client from "effect/unstable/sql/SqlClient";
13
48
  import { SqlError } from "effect/unstable/sql/SqlError";
@@ -17,18 +52,24 @@ import type { ParameterOptions } from "tedious/lib/request.ts";
17
52
  import type { Parameter } from "./Parameter.ts";
18
53
  import type * as Procedure from "./Procedure.ts";
19
54
  /**
20
- * @category type ids
21
- * @since 1.0.0
55
+ * Runtime type identifier used to mark `MssqlClient` values.
56
+ *
57
+ * @category type IDs
58
+ * @since 4.0.0
22
59
  */
23
60
  export declare const TypeId: unique symbol;
24
61
  /**
25
- * @category type ids
26
- * @since 1.0.0
62
+ * Type-level identifier used to mark `MssqlClient` values.
63
+ *
64
+ * @category type IDs
65
+ * @since 4.0.0
27
66
  */
28
67
  export type TypeId = typeof TypeId;
29
68
  /**
69
+ * Microsoft SQL Server client service, extending `SqlClient` with typed parameter fragments and stored procedure calls.
70
+ *
30
71
  * @category models
31
- * @since 1.0.0
72
+ * @since 4.0.0
32
73
  */
33
74
  export interface MssqlClient extends Client.SqlClient {
34
75
  readonly [TypeId]: TypeId;
@@ -37,13 +78,17 @@ export interface MssqlClient extends Client.SqlClient {
37
78
  readonly call: <I extends Record<string, Parameter<any>>, O extends Record<string, Parameter<any>>, A extends object>(procedure: Procedure.ProcedureWithValues<I, O, A>) => Effect.Effect<Procedure.Procedure.Result<O, A>, SqlError>;
38
79
  }
39
80
  /**
81
+ * Context tag used to access the `MssqlClient` service.
82
+ *
40
83
  * @category tags
41
- * @since 1.0.0
84
+ * @since 4.0.0
42
85
  */
43
- export declare const MssqlClient: ServiceMap.Service<MssqlClient, MssqlClient>;
86
+ export declare const MssqlClient: Context.Service<MssqlClient, MssqlClient>;
44
87
  /**
88
+ * Configuration for a Microsoft SQL Server client, including connection, authentication, pool, parameter type, span attribute, and query/result name transform options.
89
+ *
45
90
  * @category models
46
- * @since 1.0.0
91
+ * @since 4.0.0
47
92
  */
48
93
  export interface MssqlClientConfig {
49
94
  readonly domain?: string | undefined;
@@ -66,27 +111,38 @@ export interface MssqlClientConfig {
66
111
  readonly transformQueryNames?: ((str: string) => string) | undefined;
67
112
  }
68
113
  /**
114
+ * Creates a scoped Microsoft SQL Server client backed by a connection pool, with transaction and stored procedure support. Streaming queries are not implemented.
115
+ *
69
116
  * @category constructors
70
- * @since 1.0.0
117
+ * @since 4.0.0
71
118
  */
72
119
  export declare const make: (options: MssqlClientConfig) => Effect.Effect<MssqlClient, SqlError, Scope.Scope | Reactivity.Reactivity>;
73
120
  /**
121
+ * Creates a layer from a `Config`-wrapped SQL Server client configuration, providing both `MssqlClient` and `SqlClient`.
122
+ *
74
123
  * @category layers
75
- * @since 1.0.0
124
+ * @since 4.0.0
76
125
  */
77
126
  export declare const layerConfig: (config: Config.Wrap<MssqlClientConfig>) => Layer.Layer<Client.SqlClient | MssqlClient, Config.ConfigError | SqlError>;
78
127
  /**
128
+ * Creates a layer from a concrete SQL Server client configuration, providing both `MssqlClient` and `SqlClient`.
129
+ *
79
130
  * @category layers
80
- * @since 1.0.0
131
+ * @since 4.0.0
81
132
  */
82
133
  export declare const layer: (config: MssqlClientConfig) => Layer.Layer<Client.SqlClient | MssqlClient, never | SqlError>;
83
134
  /**
135
+ * Creates the SQL Server statement compiler, using `@1`-style placeholders, bracket-escaped identifiers, and SQL Server `OUTPUT INSERTED` returning clauses.
136
+ *
84
137
  * @category compiler
85
- * @since 1.0.0
138
+ * @since 4.0.0
86
139
  */
87
140
  export declare const makeCompiler: (transform?: (_: string) => string) => Statement.Compiler;
88
141
  /**
89
- * @since 1.0.0
142
+ * Default mapping from Effect SQL primitive value kinds to Tedious SQL Server parameter data types.
143
+ *
144
+ * @category configuration
145
+ * @since 4.0.0
90
146
  */
91
147
  export declare const defaultParameterTypes: Record<Statement.PrimitiveKind, DataType>;
92
148
  //# sourceMappingURL=MssqlClient.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MssqlClient.d.ts","sourceRoot":"","sources":["../src/MssqlClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MssqlClient.d.ts","sourceRoot":"","sources":["../src/MssqlClient.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,43 @@
1
1
  /**
2
- * @since 1.0.0
2
+ * Microsoft SQL Server client implementation for Effect SQL, backed by the
3
+ * `tedious` driver.
4
+ *
5
+ * This module provides the `MssqlClient` service, constructors, layers, and SQL
6
+ * Server statement compiler. The layers provide both `MssqlClient` and the
7
+ * generic `SqlClient` service, so code written against Effect SQL can run
8
+ * regular queries while SQL Server-specific code can add typed Tedious
9
+ * parameters with `param` and execute stored procedures with `call`.
10
+ *
11
+ * **Mental model**
12
+ *
13
+ * A client owns a scoped pool of Tedious connections and validates startup with
14
+ * `SELECT 1`. Ordinary queries borrow a pooled connection for one operation.
15
+ * Transactions keep one connection for their lifetime, and nested transactions
16
+ * are represented with SQL Server savepoints. Long-running transactions
17
+ * therefore reduce available pool capacity.
18
+ *
19
+ * **Common tasks**
20
+ *
21
+ * Use {@link layer} for a concrete `MssqlClientConfig`, {@link layerConfig} when
22
+ * configuration should come from Effect `Config`, and {@link make} when a scoped
23
+ * client value is needed directly. Use `param` to override the default mapping
24
+ * from Effect SQL primitive values to Tedious `DataType`s, and use the
25
+ * `Procedure` and `Parameter` helpers when a stored procedure needs typed input
26
+ * parameters, output parameters, or result rows.
27
+ *
28
+ * **Gotchas**
29
+ *
30
+ * Tedious permits one active request per connection, and this client does not
31
+ * implement streaming queries. Statements compile to SQL Server-style `@1`
32
+ * parameters and bracket-escaped identifiers. Be explicit about connection pool
33
+ * and timeout settings for workloads with transactions. Review TLS settings:
34
+ * `encrypt` defaults to `false`, and `trustServer` defaults to `true` for the
35
+ * Tedious `trustServerCertificate` option unless overridden.
36
+ *
37
+ * @since 4.0.0
3
38
  */
4
39
  import * as Config from "effect/Config";
40
+ import * as Context from "effect/Context";
5
41
  import * as Duration from "effect/Duration";
6
42
  import * as Effect from "effect/Effect";
7
43
  import { identity } from "effect/Function";
@@ -9,31 +45,118 @@ import * as Layer from "effect/Layer";
9
45
  import * as Pool from "effect/Pool";
10
46
  import * as Redacted from "effect/Redacted";
11
47
  import * as Scope from "effect/Scope";
12
- import * as ServiceMap from "effect/ServiceMap";
13
48
  import * as Stream from "effect/Stream";
14
49
  import * as Reactivity from "effect/unstable/reactivity/Reactivity";
15
50
  import * as Client from "effect/unstable/sql/SqlClient";
16
- import { SqlError } from "effect/unstable/sql/SqlError";
51
+ import { AuthenticationError, AuthorizationError, ConnectionError, ConstraintError, DeadlockError, LockTimeoutError, SerializationError, SqlError, SqlSyntaxError, UniqueViolation, UnknownError } from "effect/unstable/sql/SqlError";
17
52
  import * as Statement from "effect/unstable/sql/Statement";
18
53
  import * as Tedious from "tedious";
19
54
  const ATTR_DB_SYSTEM_NAME = "db.system.name";
20
55
  const ATTR_DB_NAMESPACE = "db.namespace";
21
56
  const ATTR_SERVER_ADDRESS = "server.address";
22
57
  const ATTR_SERVER_PORT = "server.port";
58
+ const mssqlNumberFromCause = cause => {
59
+ if (typeof cause !== "object" || cause === null || !("number" in cause)) {
60
+ return undefined;
61
+ }
62
+ const number = cause.number;
63
+ return typeof number === "number" ? number : undefined;
64
+ };
65
+ const mssqlConnectionErrorCodes = /*#__PURE__*/new Set([233, 10054]);
66
+ const mssqlAuthenticationErrorCodes = /*#__PURE__*/new Set([4060, 18452, 18456]);
67
+ const mssqlAuthorizationErrorCodes = /*#__PURE__*/new Set([229, 230, 262, 297, 300]);
68
+ const mssqlSyntaxErrorCodes = /*#__PURE__*/new Set([102, 207, 208, 2714]);
69
+ const mssqlConstraintErrorCodes = /*#__PURE__*/new Set([515, 547]);
70
+ const UNKNOWN_CONSTRAINT = "unknown";
71
+ const normalizeConstraintIdentifier = identifier => {
72
+ if (typeof identifier !== "string") {
73
+ return UNKNOWN_CONSTRAINT;
74
+ }
75
+ const trimmed = identifier.trim();
76
+ return trimmed.length === 0 ? UNKNOWN_CONSTRAINT : trimmed;
77
+ };
78
+ const mssqlCauseProperty = (cause, property) => {
79
+ if (typeof cause !== "object" || cause === null || !(property in cause)) {
80
+ return undefined;
81
+ }
82
+ return cause[property];
83
+ };
84
+ const mssqlUniqueViolationConstraintFromMessage = (number, message) => {
85
+ if (typeof message !== "string") {
86
+ return UNKNOWN_CONSTRAINT;
87
+ }
88
+ const match = number === 2627 ? /\bconstraint\s+'([^']*)'/i.exec(message) : /\bunique index\s+'([^']*)'/i.exec(message);
89
+ return match === null ? UNKNOWN_CONSTRAINT : normalizeConstraintIdentifier(match[1]);
90
+ };
91
+ const mssqlUniqueViolationConstraintFromCause = (number, cause) => {
92
+ const constraint = normalizeConstraintIdentifier(mssqlCauseProperty(cause, "constraint"));
93
+ if (constraint !== UNKNOWN_CONSTRAINT) {
94
+ return constraint;
95
+ }
96
+ return mssqlUniqueViolationConstraintFromMessage(number, mssqlCauseProperty(cause, "message"));
97
+ };
98
+ const classifyError = (cause, message, operation, fallback = "unknown") => {
99
+ const props = {
100
+ cause,
101
+ message,
102
+ operation
103
+ };
104
+ const number = mssqlNumberFromCause(cause);
105
+ if (number !== undefined) {
106
+ if (mssqlConnectionErrorCodes.has(number)) {
107
+ return new ConnectionError(props);
108
+ }
109
+ if (mssqlAuthenticationErrorCodes.has(number)) {
110
+ return new AuthenticationError(props);
111
+ }
112
+ if (mssqlAuthorizationErrorCodes.has(number)) {
113
+ return new AuthorizationError(props);
114
+ }
115
+ if (mssqlSyntaxErrorCodes.has(number)) {
116
+ return new SqlSyntaxError(props);
117
+ }
118
+ if (number === 2601 || number === 2627) {
119
+ return new UniqueViolation({
120
+ ...props,
121
+ constraint: mssqlUniqueViolationConstraintFromCause(number, cause)
122
+ });
123
+ }
124
+ if (mssqlConstraintErrorCodes.has(number)) {
125
+ return new ConstraintError(props);
126
+ }
127
+ if (number === 1205) {
128
+ return new DeadlockError(props);
129
+ }
130
+ if (number === 3960) {
131
+ return new SerializationError(props);
132
+ }
133
+ if (number === 1222) {
134
+ return new LockTimeoutError(props);
135
+ }
136
+ }
137
+ return fallback === "connection" ? new ConnectionError(props) : new UnknownError(props);
138
+ };
23
139
  /**
24
- * @category type ids
25
- * @since 1.0.0
140
+ * Runtime type identifier used to mark `MssqlClient` values.
141
+ *
142
+ * @category type IDs
143
+ * @since 4.0.0
26
144
  */
27
145
  export const TypeId = /*#__PURE__*/Symbol.for("@effect/sql-mssql/MssqlClient");
28
146
  /**
147
+ * Context tag used to access the `MssqlClient` service.
148
+ *
29
149
  * @category tags
30
- * @since 1.0.0
150
+ * @since 4.0.0
31
151
  */
32
- export const MssqlClient = /*#__PURE__*/ServiceMap.Service("@effect/sql-mssql/MssqlClient");
152
+ export const MssqlClient = /*#__PURE__*/Context.Service("@effect/sql-mssql/MssqlClient");
33
153
  const TransactionConnection = Client.TransactionConnection;
154
+ let clientIdCounter = 0;
34
155
  /**
156
+ * Creates a scoped Microsoft SQL Server client backed by a connection pool, with transaction and stored procedure support. Streaming queries are not implemented.
157
+ *
35
158
  * @category constructors
36
- * @since 1.0.0
159
+ * @since 4.0.0
37
160
  */
38
161
  export const make = options => Effect.gen(function* () {
39
162
  const parameterTypes = options.parameterTypes ?? defaultParameterTypes;
@@ -68,8 +191,7 @@ export const make = options => Effect.gen(function* () {
68
191
  conn.connect(cause => {
69
192
  if (cause) {
70
193
  resume(Effect.fail(new SqlError({
71
- cause,
72
- message: "Failed to connect"
194
+ reason: classifyError(cause, "Failed to connect", "connect", "connection")
73
195
  })));
74
196
  } else {
75
197
  resume(Effect.void);
@@ -80,8 +202,7 @@ export const make = options => Effect.gen(function* () {
80
202
  const req = new Tedious.Request(sql, (cause, _rowCount, result) => {
81
203
  if (cause) {
82
204
  resume(Effect.fail(new SqlError({
83
- cause,
84
- message: "Failed to execute statement"
205
+ reason: classifyError(cause, "Failed to execute statement", "execute")
85
206
  })));
86
207
  return;
87
208
  }
@@ -113,8 +234,7 @@ export const make = options => Effect.gen(function* () {
113
234
  const req = new Tedious.Request(escape(procedure.name), (cause, _, rows) => {
114
235
  if (cause) {
115
236
  resume(Effect.fail(new SqlError({
116
- cause,
117
- message: "Failed to execute statement"
237
+ reason: classifyError(cause, "Failed to execute statement", "execute")
118
238
  })));
119
239
  } else {
120
240
  rows = rowsToObjects(rows);
@@ -165,8 +285,7 @@ export const make = options => Effect.gen(function* () {
165
285
  conn.beginTransaction(cause => {
166
286
  if (cause) {
167
287
  resume(Effect.fail(new SqlError({
168
- cause,
169
- message: "Failed to begin transaction"
288
+ reason: classifyError(cause, "Failed to begin transaction", "beginTransaction")
170
289
  })));
171
290
  } else {
172
291
  resume(Effect.void);
@@ -177,8 +296,7 @@ export const make = options => Effect.gen(function* () {
177
296
  conn.commitTransaction(cause => {
178
297
  if (cause) {
179
298
  resume(Effect.fail(new SqlError({
180
- cause,
181
- message: "Failed to commit transaction"
299
+ reason: classifyError(cause, "Failed to commit transaction", "commitTransaction")
182
300
  })));
183
301
  } else {
184
302
  resume(Effect.void);
@@ -189,8 +307,7 @@ export const make = options => Effect.gen(function* () {
189
307
  conn.saveTransaction(cause => {
190
308
  if (cause) {
191
309
  resume(Effect.fail(new SqlError({
192
- cause,
193
- message: "Failed to create savepoint"
310
+ reason: classifyError(cause, "Failed to create savepoint", "createSavepoint")
194
311
  })));
195
312
  } else {
196
313
  resume(Effect.void);
@@ -201,8 +318,7 @@ export const make = options => Effect.gen(function* () {
201
318
  conn.rollbackTransaction(cause => {
202
319
  if (cause) {
203
320
  resume(Effect.fail(new SqlError({
204
- cause,
205
- message: "Failed to rollback transaction"
321
+ reason: classifyError(cause, "Failed to rollback transaction", "rollbackTransaction")
206
322
  })));
207
323
  } else {
208
324
  resume(Effect.void);
@@ -222,20 +338,21 @@ export const make = options => Effect.gen(function* () {
222
338
  timeToLive: options.connectionTTL ?? Duration.minutes(45),
223
339
  timeToLiveStrategy: "creation"
224
340
  });
225
- yield* Pool.get(pool).pipe(Effect.tap(connection => connection.executeUnprepared("SELECT 1", [], undefined)), Effect.mapError(({
226
- cause
227
- }) => new SqlError({
228
- cause,
229
- message: "MssqlClient: Failed to connect"
341
+ yield* Pool.get(pool).pipe(Effect.tap(connection => connection.executeUnprepared("SELECT 1", [], undefined)), Effect.mapError(cause => new SqlError({
342
+ reason: classifyError(cause, "MssqlClient: Failed to connect", "connect", "connection")
230
343
  })), Effect.scoped, Effect.timeoutOrElse({
231
344
  duration: options.connectTimeout ?? Duration.seconds(5),
232
- onTimeout: () => Effect.fail(new SqlError({
233
- message: "MssqlClient: Connection timeout",
234
- cause: new Error("connection timeout")
345
+ orElse: () => Effect.fail(new SqlError({
346
+ reason: new ConnectionError({
347
+ message: "MssqlClient: Connection timeout",
348
+ cause: new Error("connection timeout"),
349
+ operation: "connect"
350
+ })
235
351
  }))
236
352
  }));
353
+ const transactionService = TransactionConnection(clientIdCounter++);
237
354
  const withTransaction = Client.makeWithTransaction({
238
- transactionService: TransactionConnection,
355
+ transactionService,
239
356
  spanAttributes,
240
357
  acquireConnection: Effect.gen(function* () {
241
358
  const scope = Scope.makeUnsafe();
@@ -251,6 +368,7 @@ export const make = options => Effect.gen(function* () {
251
368
  return identity(Object.assign(yield* Client.make({
252
369
  acquirer: Pool.get(pool),
253
370
  compiler,
371
+ transactionService: transactionService,
254
372
  spanAttributes,
255
373
  transformRows
256
374
  }), {
@@ -271,18 +389,24 @@ export const make = options => Effect.gen(function* () {
271
389
  }));
272
390
  });
273
391
  /**
392
+ * Creates a layer from a `Config`-wrapped SQL Server client configuration, providing both `MssqlClient` and `SqlClient`.
393
+ *
274
394
  * @category layers
275
- * @since 1.0.0
395
+ * @since 4.0.0
276
396
  */
277
- export const layerConfig = config => Layer.effectServices(Config.unwrap(config).asEffect().pipe(Effect.flatMap(make), Effect.map(client => ServiceMap.make(MssqlClient, client).pipe(ServiceMap.add(Client.SqlClient, client))))).pipe(Layer.provide(Reactivity.layer));
397
+ export const layerConfig = config => Layer.effectContext(Config.unwrap(config).pipe(Effect.flatMap(make), Effect.map(client => Context.make(MssqlClient, client).pipe(Context.add(Client.SqlClient, client))))).pipe(Layer.provide(Reactivity.layer));
278
398
  /**
399
+ * Creates a layer from a concrete SQL Server client configuration, providing both `MssqlClient` and `SqlClient`.
400
+ *
279
401
  * @category layers
280
- * @since 1.0.0
402
+ * @since 4.0.0
281
403
  */
282
- export const layer = config => Layer.effectServices(Effect.map(make(config), client => ServiceMap.make(MssqlClient, client).pipe(ServiceMap.add(Client.SqlClient, client)))).pipe(Layer.provide(Reactivity.layer));
404
+ export const layer = config => Layer.effectContext(Effect.map(make(config), client => Context.make(MssqlClient, client).pipe(Context.add(Client.SqlClient, client)))).pipe(Layer.provide(Reactivity.layer));
283
405
  /**
406
+ * Creates the SQL Server statement compiler, using `@1`-style placeholders, bracket-escaped identifiers, and SQL Server `OUTPUT INSERTED` returning clauses.
407
+ *
284
408
  * @category compiler
285
- * @since 1.0.0
409
+ * @since 4.0.0
286
410
  */
287
411
  export const makeCompiler = transform => Statement.makeCompiler({
288
412
  dialect: "mssql",
@@ -315,7 +439,10 @@ function numberToParamName(n) {
315
439
  return `${Math.ceil(n + 1)}`;
316
440
  }
317
441
  /**
318
- * @since 1.0.0
442
+ * Default mapping from Effect SQL primitive value kinds to Tedious SQL Server parameter data types.
443
+ *
444
+ * @category configuration
445
+ * @since 4.0.0
319
446
  */
320
447
  export const defaultParameterTypes = {
321
448
  string: Tedious.TYPES.VarChar,
@@ -1 +1 @@
1
- {"version":3,"file":"MssqlClient.js","names":["Config","Duration","Effect","identity","Layer","Pool","Redacted","Scope","ServiceMap","Stream","Reactivity","Client","SqlError","Statement","Tedious","ATTR_DB_SYSTEM_NAME","ATTR_DB_NAMESPACE","ATTR_SERVER_ADDRESS","ATTR_SERVER_PORT","TypeId","Symbol","for","MssqlClient","Service","TransactionConnection","make","options","gen","parameterTypes","defaultParameterTypes","compiler","makeCompiler","transformQueryNames","transformRows","transformResultNames","defaultTransforms","array","undefined","spanAttributes","Object","entries","database","server","port","pool","makeConnection","conn","Connection","trustServerCertificate","trustServer","connectTimeout","toMillis","fromInputUnsafe","rowCollectionOnRequestCompletion","useColumnNames","instanceName","encrypt","authentication","type","authType","userName","username","password","value","addFinalizer","sync","close","callback","resume","connect","cause","fail","message","void","run","sql","values","rowsAsArray","req","Request","_rowCount","result","map","row","_","rowsToObjects","succeed","i","len","length","name","numberToParamName","isMssqlParam","addParameter","paramA","paramB","paramC","kind","primitiveKind","cancel","execSql","runProcedure","procedure","escape","rows","params","param","outputParams","addOutputParameter","on","callProcedure","connection","execute","executeRaw","executeValues","executeUnprepared","executeStream","die","call","begin","beginTransaction","commit","commitTransaction","savepoint","saveTransaction","rollback","rollbackTransaction","pipe","catch","invalidate","interruptible","forkScoped","makeWithTTL","acquire","min","minConnections","max","maxConnections","timeToLive","connectionTTL","minutes","timeToLiveStrategy","get","tap","mapError","scoped","timeoutOrElse","duration","seconds","onTimeout","Error","withTransaction","makeWithTransaction","transactionService","acquireConnection","scope","makeUnsafe","provide","id","rollbackSavepoint","assign","acquirer","config","fragment","mssqlParam","flatMap","withoutTransforms","statement","withoutTransform","client","safe","layerConfig","effectServices","unwrap","asEffect","add","SqlClient","layer","transform","dialect","placeholder","onIdentifier","onRecordUpdate","placeholders","valueAlias","valueColumns","returning","returningSql","concat","flat","onCustom","onInsert","columns","join","str","replace","n","Math","ceil","string","TYPES","VarChar","number","Int","bigint","BigInt","boolean","Bit","Date","DateTime","Uint8Array","VarBinary","Int8Array","null","custom","isCustom","newRows","Array","newRow","j","columnLen","column","metadata","colName"],"sources":["../src/MssqlClient.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"MssqlClient.js","names":["Config","Context","Duration","Effect","identity","Layer","Pool","Redacted","Scope","Stream","Reactivity","Client","AuthenticationError","AuthorizationError","ConnectionError","ConstraintError","DeadlockError","LockTimeoutError","SerializationError","SqlError","SqlSyntaxError","UniqueViolation","UnknownError","Statement","Tedious","ATTR_DB_SYSTEM_NAME","ATTR_DB_NAMESPACE","ATTR_SERVER_ADDRESS","ATTR_SERVER_PORT","mssqlNumberFromCause","cause","undefined","number","mssqlConnectionErrorCodes","Set","mssqlAuthenticationErrorCodes","mssqlAuthorizationErrorCodes","mssqlSyntaxErrorCodes","mssqlConstraintErrorCodes","UNKNOWN_CONSTRAINT","normalizeConstraintIdentifier","identifier","trimmed","trim","length","mssqlCauseProperty","property","mssqlUniqueViolationConstraintFromMessage","message","match","exec","mssqlUniqueViolationConstraintFromCause","constraint","classifyError","operation","fallback","props","has","TypeId","Symbol","for","MssqlClient","Service","TransactionConnection","clientIdCounter","make","options","gen","parameterTypes","defaultParameterTypes","compiler","makeCompiler","transformQueryNames","transformRows","transformResultNames","defaultTransforms","array","spanAttributes","Object","entries","database","server","port","pool","makeConnection","conn","Connection","trustServerCertificate","trustServer","connectTimeout","toMillis","fromInputUnsafe","rowCollectionOnRequestCompletion","useColumnNames","instanceName","encrypt","authentication","type","authType","userName","username","password","value","addFinalizer","sync","close","callback","resume","connect","fail","reason","void","run","sql","values","rowsAsArray","req","Request","_rowCount","result","map","row","_","rowsToObjects","succeed","i","len","name","numberToParamName","isMssqlParam","addParameter","paramA","paramB","paramC","kind","primitiveKind","cancel","execSql","runProcedure","procedure","escape","rows","params","param","outputParams","addOutputParameter","on","callProcedure","connection","execute","executeRaw","executeValues","executeUnprepared","executeStream","die","call","begin","beginTransaction","commit","commitTransaction","savepoint","saveTransaction","rollback","rollbackTransaction","pipe","catch","invalidate","interruptible","forkScoped","makeWithTTL","acquire","min","minConnections","max","maxConnections","timeToLive","connectionTTL","minutes","timeToLiveStrategy","get","tap","mapError","scoped","timeoutOrElse","duration","seconds","orElse","Error","transactionService","withTransaction","makeWithTransaction","acquireConnection","scope","makeUnsafe","provide","id","rollbackSavepoint","assign","acquirer","config","fragment","mssqlParam","flatMap","withoutTransforms","statement","withoutTransform","client","safe","layerConfig","effectContext","unwrap","add","SqlClient","layer","transform","dialect","placeholder","onIdentifier","onRecordUpdate","placeholders","valueAlias","valueColumns","returning","returningSql","concat","flat","onCustom","onInsert","columns","join","str","replace","n","Math","ceil","string","TYPES","VarChar","Int","bigint","BigInt","boolean","Bit","Date","DateTime","Uint8Array","VarBinary","Int8Array","null","custom","isCustom","newRows","Array","newRow","j","columnLen","column","metadata","colName"],"sources":["../src/MssqlClient.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,5 +1,26 @@
1
1
  /**
2
- * @since 1.0.0
2
+ * Utilities for applying Effect SQL migrations to Microsoft SQL Server.
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 SQL Server `SqlClient`. It is typically used at application
7
+ * startup, during deployment, in integration tests that provision temporary SQL
8
+ * Server databases, or in layer graphs that need the database schema to be
9
+ * current before dependent services are acquired.
10
+ *
11
+ * Applied migrations are stored in `effect_sql_migrations` by default and use
12
+ * the shared `<id>_<name>` loader convention. Only migrations with ids greater
13
+ * than the latest recorded id are run, so avoid inserting older migration ids
14
+ * after a later migration has reached production. SQL Server migrations run
15
+ * inside the shared migrator transaction and this adapter does not add a
16
+ * dialect-specific table lock, so coordinate concurrent startup runners and
17
+ * write T-SQL that is valid inside an explicit transaction. Remember that `GO`
18
+ * is a client-side batch separator rather than a T-SQL statement, and split
19
+ * migrations when SQL Server requires an object definition such as `CREATE
20
+ * VIEW`, `CREATE PROCEDURE`, or `CREATE TRIGGER` to start its own batch. This
21
+ * adapter also does not emit SQL Server schema dumps for `schemaDirectory`.
22
+ *
23
+ * @since 4.0.0
3
24
  */
4
25
  import type * as Effect from "effect/Effect";
5
26
  import * as Layer from "effect/Layer";
@@ -7,17 +28,21 @@ import * as Migrator from "effect/unstable/sql/Migrator";
7
28
  import type * as Client from "effect/unstable/sql/SqlClient";
8
29
  import type { SqlError } from "effect/unstable/sql/SqlError";
9
30
  /**
10
- * @since 1.0.0
31
+ * @since 4.0.0
11
32
  */
12
33
  export * from "effect/unstable/sql/Migrator";
13
34
  /**
14
- * @category constructor
15
- * @since 1.0.0
35
+ * Runs SQL migrations using the configured `SqlClient`, returning the migrations that were applied.
36
+ *
37
+ * @category constructors
38
+ * @since 4.0.0
16
39
  */
17
40
  export declare const run: <R>(options: Migrator.MigratorOptions<R>) => Effect.Effect<ReadonlyArray<readonly [id: number, name: string]>, SqlError | Migrator.MigrationError, Client.SqlClient | R>;
18
41
  /**
42
+ * Creates a layer that runs the configured SQL migrations during layer construction.
43
+ *
19
44
  * @category layers
20
- * @since 1.0.0
45
+ * @since 4.0.0
21
46
  */
22
47
  export declare const layer: <R>(options: Migrator.MigratorOptions<R>) => Layer.Layer<never, SqlError | Migrator.MigrationError, Client.SqlClient | R>;
23
48
  //# sourceMappingURL=MssqlMigrator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MssqlMigrator.d.ts","sourceRoot":"","sources":["../src/MssqlMigrator.ts"],"names":[],"mappings":"AAAA;;GAEG;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;;;GAGG;AACH,eAAO,MAAM,GAAG,EAAE,CAAC,CAAC,EAClB,OAAO,EAAE,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,KACjC,MAAM,CAAC,MAAM,CAChB,aAAa,CAAC,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,EAClD,QAAQ,GAAG,QAAQ,CAAC,cAAc,EAClC,MAAM,CAAC,SAAS,GAAG,CAAC,CACD,CAAA;AAErB;;;GAGG;AACH,eAAO,MAAM,KAAK,GAAI,CAAC,EACrB,SAAS,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,KACnC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,QAAQ,GAAG,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC,SAAS,GAAG,CAAC,CAAsC,CAAA"}
1
+ {"version":3,"file":"MssqlMigrator.d.ts","sourceRoot":"","sources":["../src/MssqlMigrator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;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;;;;;GAKG;AACH,eAAO,MAAM,GAAG,EAAE,CAAC,CAAC,EAClB,OAAO,EAAE,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,KACjC,MAAM,CAAC,MAAM,CAChB,aAAa,CAAC,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,EAClD,QAAQ,GAAG,QAAQ,CAAC,cAAc,EAClC,MAAM,CAAC,SAAS,GAAG,CAAC,CACD,CAAA;AAErB;;;;;GAKG;AACH,eAAO,MAAM,KAAK,GAAI,CAAC,EACrB,SAAS,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,KACnC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,QAAQ,GAAG,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC,SAAS,GAAG,CAAC,CAAsC,CAAA"}