@effect/sql-mssql 0.15.1 → 0.16.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.
@@ -12,10 +12,8 @@ var Config = _interopRequireWildcard(require("effect/Config"));
12
12
  var Context = _interopRequireWildcard(require("effect/Context"));
13
13
  var Duration = _interopRequireWildcard(require("effect/Duration"));
14
14
  var Effect = _interopRequireWildcard(require("effect/Effect"));
15
- var Exit = _interopRequireWildcard(require("effect/Exit"));
16
15
  var _Function = require("effect/Function");
17
16
  var Layer = _interopRequireWildcard(require("effect/Layer"));
18
- var Option = _interopRequireWildcard(require("effect/Option"));
19
17
  var Pool = _interopRequireWildcard(require("effect/Pool"));
20
18
  var Redacted = _interopRequireWildcard(require("effect/Redacted"));
21
19
  var Scope = _interopRequireWildcard(require("effect/Scope"));
@@ -45,9 +43,10 @@ const make = options => Effect.gen(function* () {
45
43
  const parameterTypes = options.parameterTypes ?? defaultParameterTypes;
46
44
  const compiler = makeCompiler(options.transformQueryNames);
47
45
  const transformRows = Statement.defaultTransforms(options.transformResultNames).array;
46
+ const spanAttributes = [...(options.spanAttributes ? Object.entries(options.spanAttributes) : []), [Otel.SEMATTRS_DB_SYSTEM, Otel.DBSYSTEMVALUES_MSSQL], [Otel.SEMATTRS_DB_NAME, options.database ?? "master"], ["server.address", options.server], ["server.port", options.port ?? 1433]];
48
47
  // eslint-disable-next-line prefer-const
49
48
  let pool;
50
- const makeConnection = Effect.gen(function* (_) {
49
+ const makeConnection = Effect.gen(function* () {
51
50
  const conn = new Tedious.Connection({
52
51
  options: {
53
52
  port: options.port,
@@ -221,9 +220,9 @@ const make = options => Effect.gen(function* () {
221
220
  }, name);
222
221
  })
223
222
  });
224
- yield* _(Effect.async(resume => {
223
+ yield* Effect.async(resume => {
225
224
  conn.on("error", _ => resume(Effect.fail(_)));
226
- }), Effect.catchAll(() => Pool.invalidate(pool, connection)), Effect.interruptible, Effect.forkScoped);
225
+ }).pipe(Effect.catchAll(() => Pool.invalidate(pool, connection)), Effect.interruptible, Effect.forkScoped);
227
226
  return connection;
228
227
  });
229
228
  pool = yield* Pool.makeWithTTL({
@@ -233,19 +232,26 @@ const make = options => Effect.gen(function* () {
233
232
  timeToLive: options.connectionTTL ?? Duration.minutes(45),
234
233
  timeToLiveStrategy: "creation"
235
234
  });
236
- const makeRootTx = Effect.flatMap(Scope.make(), scope => Effect.map(Scope.extend(Pool.get(pool), scope), conn => [scope, conn, 0]));
237
- const withTransaction = effect => Effect.acquireUseRelease((0, _Function.pipe)(Effect.serviceOption(TransactionConnection), Effect.flatMap(Option.match({
238
- onNone: () => makeRootTx,
239
- onSome: ([conn, count]) => Effect.succeed([undefined, conn, count + 1])
240
- })), Effect.tap(([, conn, id]) => id > 0 ? conn.savepoint(`effect_sql_${id}`) : conn.begin)), ([, conn, id]) => Effect.provideService(effect, TransactionConnection, [conn, id]), ([scope, conn, id], exit) => {
241
- const effect = Exit.isSuccess(exit) ? id > 0 ? Effect.void : Effect.orDie(conn.commit) : Effect.orDie(conn.rollback(id > 0 ? `effect_sql_${id}` : undefined));
242
- return scope !== undefined ? Effect.ensuring(effect, Scope.close(scope, exit)) : effect;
235
+ yield* pool.get.pipe(Effect.tap(connection => connection.executeRaw("SELECT 1", [])), Effect.mapError(({
236
+ cause
237
+ }) => new _SqlError.SqlError({
238
+ cause,
239
+ message: "MssqlClient: Failed to connect"
240
+ })), Effect.scoped);
241
+ const withTransaction = Client.makeWithTransaction({
242
+ transactionTag: TransactionConnection,
243
+ spanAttributes,
244
+ acquireConnection: Effect.flatMap(Scope.make(), scope => Effect.map(Scope.extend(Pool.get(pool), scope), conn => [scope, conn])),
245
+ begin: conn => conn.begin,
246
+ savepoint: (conn, id) => conn.savepoint(`effect_sql_${id}`),
247
+ commit: conn => conn.commit,
248
+ rollback: conn => conn.rollback(),
249
+ rollbackSavepoint: (conn, id) => conn.rollback(`effect_sql_${id}`)
243
250
  });
244
251
  return (0, _Function.identity)(Object.assign(Client.make({
245
252
  acquirer: pool.get,
246
253
  compiler,
247
- transactionAcquirer: pool.get,
248
- spanAttributes: [...(options.spanAttributes ? Object.entries(options.spanAttributes) : []), [Otel.SEMATTRS_DB_SYSTEM, Otel.DBSYSTEMVALUES_MSSQL], [Otel.SEMATTRS_DB_NAME, options.database ?? "master"], ["server.address", options.server], ["server.port", options.port ?? 1433]]
254
+ spanAttributes
249
255
  }), {
250
256
  [TypeId]: TypeId,
251
257
  config: options,
@@ -1 +1 @@
1
- {"version":3,"file":"MssqlClient.js","names":["Client","_interopRequireWildcard","require","_SqlError","Statement","Otel","Config","Context","Duration","Effect","Exit","_Function","Layer","Option","Pool","Redacted","Scope","Tedious","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","TypeId","exports","Symbol","for","MssqlClient","GenericTag","TransactionConnection","make","options","gen","parameterTypes","defaultParameterTypes","compiler","makeCompiler","transformQueryNames","transformRows","defaultTransforms","transformResultNames","array","pool","makeConnection","_","conn","Connection","port","database","trustServerCertificate","trustServer","connectTimeout","toMillis","decode","undefined","rowCollectionOnRequestCompletion","useColumnNames","instanceName","encrypt","server","authentication","type","authType","userName","username","password","value","addFinalizer","sync","close","async","resume","connect","cause","fail","SqlError","message","void","run","sql","values","transform","rowsAsArray","req","Request","_rowCount","result","map","row","rowsToObjects","succeed","len","length","name","numberToParamName","isMssqlParam","addParameter","i0","i1","i2","kind","primitiveKind","cancel","execSql","runProcedure","procedure","escape","rows","params","param","outputParams","addOutputParameter","on","callProcedure","connection","identity","execute","executeRaw","executeWithoutTransform","executeValues","executeUnprepared","executeStream","dieMessage","begin","beginTransaction","commit","commitTransaction","savepoint","saveTransaction","rollback","rollbackTransaction","catchAll","invalidate","interruptible","forkScoped","makeWithTTL","acquire","min","minConnections","max","maxConnections","timeToLive","connectionTTL","minutes","timeToLiveStrategy","makeRootTx","flatMap","scope","extend","withTransaction","effect","acquireUseRelease","pipe","serviceOption","match","onNone","onSome","count","tap","id","provideService","exit","isSuccess","orDie","ensuring","assign","acquirer","transactionAcquirer","spanAttributes","entries","SEMATTRS_DB_SYSTEM","DBSYSTEMVALUES_MSSQL","SEMATTRS_DB_NAME","config","mssqlParam","scoped","layer","scopedContext","unwrap","client","add","SqlClient","dialect","placeholder","onIdentifier","withoutTransform","onRecordUpdate","placeholders","valueAlias","valueColumns","returning","returningSql","concat","flat","onCustom","onInsert","columns","join","str","replace","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":["Client","_interopRequireWildcard","require","_SqlError","Statement","Otel","Config","Context","Duration","Effect","_Function","Layer","Pool","Redacted","Scope","Tedious","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","TypeId","exports","Symbol","for","MssqlClient","GenericTag","TransactionConnection","make","options","gen","parameterTypes","defaultParameterTypes","compiler","makeCompiler","transformQueryNames","transformRows","defaultTransforms","transformResultNames","array","spanAttributes","entries","SEMATTRS_DB_SYSTEM","DBSYSTEMVALUES_MSSQL","SEMATTRS_DB_NAME","database","server","port","pool","makeConnection","conn","Connection","trustServerCertificate","trustServer","connectTimeout","toMillis","decode","undefined","rowCollectionOnRequestCompletion","useColumnNames","instanceName","encrypt","authentication","type","authType","userName","username","password","value","addFinalizer","sync","close","async","resume","connect","cause","fail","SqlError","message","void","run","sql","values","transform","rowsAsArray","req","Request","_rowCount","result","map","row","_","rowsToObjects","succeed","len","length","name","numberToParamName","isMssqlParam","addParameter","i0","i1","i2","kind","primitiveKind","cancel","execSql","runProcedure","procedure","escape","rows","params","param","outputParams","addOutputParameter","on","callProcedure","connection","identity","execute","executeRaw","executeWithoutTransform","executeValues","executeUnprepared","executeStream","dieMessage","begin","beginTransaction","commit","commitTransaction","savepoint","saveTransaction","rollback","rollbackTransaction","pipe","catchAll","invalidate","interruptible","forkScoped","makeWithTTL","acquire","min","minConnections","max","maxConnections","timeToLive","connectionTTL","minutes","timeToLiveStrategy","tap","mapError","scoped","withTransaction","makeWithTransaction","transactionTag","acquireConnection","flatMap","scope","extend","id","rollbackSavepoint","assign","acquirer","config","mssqlParam","layer","scopedContext","unwrap","client","add","SqlClient","dialect","placeholder","onIdentifier","withoutTransform","onRecordUpdate","placeholders","valueAlias","valueColumns","returning","returningSql","concat","flat","onCustom","onInsert","columns","join","str","replace","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":[]}
@@ -69,12 +69,12 @@ export interface MssqlClientConfig {
69
69
  * @category constructors
70
70
  * @since 1.0.0
71
71
  */
72
- export declare const make: (options: MssqlClientConfig) => Effect.Effect<MssqlClient, never, Scope.Scope>;
72
+ export declare const make: (options: MssqlClientConfig) => Effect.Effect<MssqlClient, SqlError, Scope.Scope>;
73
73
  /**
74
74
  * @category layers
75
75
  * @since 1.0.0
76
76
  */
77
- export declare const layer: (config: Config.Config.Wrap<MssqlClientConfig>) => Layer.Layer<Client.SqlClient | MssqlClient, ConfigError>;
77
+ export declare const layer: (config: Config.Config.Wrap<MssqlClientConfig>) => Layer.Layer<Client.SqlClient | MssqlClient, ConfigError | SqlError>;
78
78
  /**
79
79
  * @category compiler
80
80
  * @since 1.0.0
@@ -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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"}
@@ -9,10 +9,8 @@ import * as Config from "effect/Config";
9
9
  import * as Context from "effect/Context";
10
10
  import * as Duration from "effect/Duration";
11
11
  import * as Effect from "effect/Effect";
12
- import * as Exit from "effect/Exit";
13
- import { identity, pipe } from "effect/Function";
12
+ import { identity } from "effect/Function";
14
13
  import * as Layer from "effect/Layer";
15
- import * as Option from "effect/Option";
16
14
  import * as Pool from "effect/Pool";
17
15
  import * as Redacted from "effect/Redacted";
18
16
  import * as Scope from "effect/Scope";
@@ -36,9 +34,10 @@ export const make = options => Effect.gen(function* () {
36
34
  const parameterTypes = options.parameterTypes ?? defaultParameterTypes;
37
35
  const compiler = makeCompiler(options.transformQueryNames);
38
36
  const transformRows = Statement.defaultTransforms(options.transformResultNames).array;
37
+ const spanAttributes = [...(options.spanAttributes ? Object.entries(options.spanAttributes) : []), [Otel.SEMATTRS_DB_SYSTEM, Otel.DBSYSTEMVALUES_MSSQL], [Otel.SEMATTRS_DB_NAME, options.database ?? "master"], ["server.address", options.server], ["server.port", options.port ?? 1433]];
39
38
  // eslint-disable-next-line prefer-const
40
39
  let pool;
41
- const makeConnection = Effect.gen(function* (_) {
40
+ const makeConnection = Effect.gen(function* () {
42
41
  const conn = new Tedious.Connection({
43
42
  options: {
44
43
  port: options.port,
@@ -212,9 +211,9 @@ export const make = options => Effect.gen(function* () {
212
211
  }, name);
213
212
  })
214
213
  });
215
- yield* _(Effect.async(resume => {
214
+ yield* Effect.async(resume => {
216
215
  conn.on("error", _ => resume(Effect.fail(_)));
217
- }), Effect.catchAll(() => Pool.invalidate(pool, connection)), Effect.interruptible, Effect.forkScoped);
216
+ }).pipe(Effect.catchAll(() => Pool.invalidate(pool, connection)), Effect.interruptible, Effect.forkScoped);
218
217
  return connection;
219
218
  });
220
219
  pool = yield* Pool.makeWithTTL({
@@ -224,19 +223,26 @@ export const make = options => Effect.gen(function* () {
224
223
  timeToLive: options.connectionTTL ?? Duration.minutes(45),
225
224
  timeToLiveStrategy: "creation"
226
225
  });
227
- const makeRootTx = Effect.flatMap(Scope.make(), scope => Effect.map(Scope.extend(Pool.get(pool), scope), conn => [scope, conn, 0]));
228
- const withTransaction = effect => Effect.acquireUseRelease(pipe(Effect.serviceOption(TransactionConnection), Effect.flatMap(Option.match({
229
- onNone: () => makeRootTx,
230
- onSome: ([conn, count]) => Effect.succeed([undefined, conn, count + 1])
231
- })), Effect.tap(([, conn, id]) => id > 0 ? conn.savepoint(`effect_sql_${id}`) : conn.begin)), ([, conn, id]) => Effect.provideService(effect, TransactionConnection, [conn, id]), ([scope, conn, id], exit) => {
232
- const effect = Exit.isSuccess(exit) ? id > 0 ? Effect.void : Effect.orDie(conn.commit) : Effect.orDie(conn.rollback(id > 0 ? `effect_sql_${id}` : undefined));
233
- return scope !== undefined ? Effect.ensuring(effect, Scope.close(scope, exit)) : effect;
226
+ yield* pool.get.pipe(Effect.tap(connection => connection.executeRaw("SELECT 1", [])), Effect.mapError(({
227
+ cause
228
+ }) => new SqlError({
229
+ cause,
230
+ message: "MssqlClient: Failed to connect"
231
+ })), Effect.scoped);
232
+ const withTransaction = Client.makeWithTransaction({
233
+ transactionTag: TransactionConnection,
234
+ spanAttributes,
235
+ acquireConnection: Effect.flatMap(Scope.make(), scope => Effect.map(Scope.extend(Pool.get(pool), scope), conn => [scope, conn])),
236
+ begin: conn => conn.begin,
237
+ savepoint: (conn, id) => conn.savepoint(`effect_sql_${id}`),
238
+ commit: conn => conn.commit,
239
+ rollback: conn => conn.rollback(),
240
+ rollbackSavepoint: (conn, id) => conn.rollback(`effect_sql_${id}`)
234
241
  });
235
242
  return identity(Object.assign(Client.make({
236
243
  acquirer: pool.get,
237
244
  compiler,
238
- transactionAcquirer: pool.get,
239
- spanAttributes: [...(options.spanAttributes ? Object.entries(options.spanAttributes) : []), [Otel.SEMATTRS_DB_SYSTEM, Otel.DBSYSTEMVALUES_MSSQL], [Otel.SEMATTRS_DB_NAME, options.database ?? "master"], ["server.address", options.server], ["server.port", options.port ?? 1433]]
245
+ spanAttributes
240
246
  }), {
241
247
  [TypeId]: TypeId,
242
248
  config: options,
@@ -1 +1 @@
1
- {"version":3,"file":"MssqlClient.js","names":["Client","SqlError","Statement","Otel","Config","Context","Duration","Effect","Exit","identity","pipe","Layer","Option","Pool","Redacted","Scope","Tedious","TypeId","Symbol","for","MssqlClient","GenericTag","TransactionConnection","make","options","gen","parameterTypes","defaultParameterTypes","compiler","makeCompiler","transformQueryNames","transformRows","defaultTransforms","transformResultNames","array","pool","makeConnection","_","conn","Connection","port","database","trustServerCertificate","trustServer","connectTimeout","toMillis","decode","undefined","rowCollectionOnRequestCompletion","useColumnNames","instanceName","encrypt","server","authentication","type","authType","userName","username","password","value","addFinalizer","sync","close","async","resume","connect","cause","fail","message","void","run","sql","values","transform","rowsAsArray","req","Request","_rowCount","result","map","row","rowsToObjects","succeed","i","len","length","name","numberToParamName","isMssqlParam","addParameter","i0","i1","i2","kind","primitiveKind","cancel","execSql","runProcedure","procedure","escape","rows","params","param","outputParams","addOutputParameter","on","callProcedure","connection","execute","executeRaw","executeWithoutTransform","executeValues","executeUnprepared","executeStream","dieMessage","call","begin","beginTransaction","commit","commitTransaction","savepoint","saveTransaction","rollback","rollbackTransaction","catchAll","invalidate","interruptible","forkScoped","makeWithTTL","acquire","min","minConnections","max","maxConnections","timeToLive","connectionTTL","minutes","timeToLiveStrategy","makeRootTx","flatMap","scope","extend","get","withTransaction","effect","acquireUseRelease","serviceOption","match","onNone","onSome","count","tap","id","provideService","exit","isSuccess","orDie","ensuring","Object","assign","acquirer","transactionAcquirer","spanAttributes","entries","SEMATTRS_DB_SYSTEM","DBSYSTEMVALUES_MSSQL","SEMATTRS_DB_NAME","config","mssqlParam","scoped","layer","scopedContext","unwrap","client","add","SqlClient","dialect","placeholder","onIdentifier","withoutTransform","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":["Client","SqlError","Statement","Otel","Config","Context","Duration","Effect","identity","Layer","Pool","Redacted","Scope","Tedious","TypeId","Symbol","for","MssqlClient","GenericTag","TransactionConnection","make","options","gen","parameterTypes","defaultParameterTypes","compiler","makeCompiler","transformQueryNames","transformRows","defaultTransforms","transformResultNames","array","spanAttributes","Object","entries","SEMATTRS_DB_SYSTEM","DBSYSTEMVALUES_MSSQL","SEMATTRS_DB_NAME","database","server","port","pool","makeConnection","conn","Connection","trustServerCertificate","trustServer","connectTimeout","toMillis","decode","undefined","rowCollectionOnRequestCompletion","useColumnNames","instanceName","encrypt","authentication","type","authType","userName","username","password","value","addFinalizer","sync","close","async","resume","connect","cause","fail","message","void","run","sql","values","transform","rowsAsArray","req","Request","_rowCount","result","map","row","_","rowsToObjects","succeed","i","len","length","name","numberToParamName","isMssqlParam","addParameter","i0","i1","i2","kind","primitiveKind","cancel","execSql","runProcedure","procedure","escape","rows","params","param","outputParams","addOutputParameter","on","callProcedure","connection","execute","executeRaw","executeWithoutTransform","executeValues","executeUnprepared","executeStream","dieMessage","call","begin","beginTransaction","commit","commitTransaction","savepoint","saveTransaction","rollback","rollbackTransaction","pipe","catchAll","invalidate","interruptible","forkScoped","makeWithTTL","acquire","min","minConnections","max","maxConnections","timeToLive","connectionTTL","minutes","timeToLiveStrategy","get","tap","mapError","scoped","withTransaction","makeWithTransaction","transactionTag","acquireConnection","flatMap","scope","extend","id","rollbackSavepoint","assign","acquirer","config","mssqlParam","layer","scopedContext","unwrap","client","add","SqlClient","dialect","placeholder","onIdentifier","withoutTransform","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":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@effect/sql-mssql",
3
- "version": "0.15.1",
3
+ "version": "0.16.0",
4
4
  "description": "A Microsoft SQL Server toolkit for Effect",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -14,8 +14,8 @@
14
14
  "tedious": "^18.3.0"
15
15
  },
16
16
  "peerDependencies": {
17
- "@effect/platform": "^0.67.1",
18
- "@effect/sql": "^0.15.1",
17
+ "@effect/platform": "^0.68.0",
18
+ "@effect/sql": "^0.16.0",
19
19
  "effect": "^3.9.1"
20
20
  },
21
21
  "publishConfig": {
@@ -11,10 +11,8 @@ import type { ConfigError } from "effect/ConfigError"
11
11
  import * as Context from "effect/Context"
12
12
  import * as Duration from "effect/Duration"
13
13
  import * as Effect from "effect/Effect"
14
- import * as Exit from "effect/Exit"
15
- import { identity, pipe } from "effect/Function"
14
+ import { identity } from "effect/Function"
16
15
  import * as Layer from "effect/Layer"
17
- import * as Option from "effect/Option"
18
16
  import * as Pool from "effect/Pool"
19
17
  import * as Redacted from "effect/Redacted"
20
18
  import * as Scope from "effect/Scope"
@@ -118,7 +116,7 @@ const TransactionConnection = Client.TransactionConnection as unknown as Context
118
116
  */
119
117
  export const make = (
120
118
  options: MssqlClientConfig
121
- ): Effect.Effect<MssqlClient, never, Scope.Scope> =>
119
+ ): Effect.Effect<MssqlClient, SqlError, Scope.Scope> =>
122
120
  Effect.gen(function*() {
123
121
  const parameterTypes = options.parameterTypes ?? defaultParameterTypes
124
122
  const compiler = makeCompiler(options.transformQueryNames)
@@ -126,11 +124,18 @@ export const make = (
126
124
  const transformRows = Statement.defaultTransforms(
127
125
  options.transformResultNames!
128
126
  ).array
127
+ const spanAttributes: ReadonlyArray<[string, unknown]> = [
128
+ ...(options.spanAttributes ? Object.entries(options.spanAttributes) : []),
129
+ [Otel.SEMATTRS_DB_SYSTEM, Otel.DBSYSTEMVALUES_MSSQL],
130
+ [Otel.SEMATTRS_DB_NAME, options.database ?? "master"],
131
+ ["server.address", options.server],
132
+ ["server.port", options.port ?? 1433]
133
+ ]
129
134
 
130
135
  // eslint-disable-next-line prefer-const
131
136
  let pool: Pool.Pool<MssqlConnection, SqlError>
132
137
 
133
- const makeConnection = Effect.gen(function*(_) {
138
+ const makeConnection = Effect.gen(function*() {
134
139
  const conn = new Tedious.Connection({
135
140
  options: {
136
141
  port: options.port,
@@ -318,10 +323,9 @@ export const make = (
318
323
  })
319
324
  })
320
325
 
321
- yield* _(
322
- Effect.async<never, unknown>((resume) => {
323
- conn.on("error", (_) => resume(Effect.fail(_)))
324
- }),
326
+ yield* Effect.async<never, unknown>((resume) => {
327
+ conn.on("error", (_) => resume(Effect.fail(_)))
328
+ }).pipe(
325
329
  Effect.catchAll(() => Pool.invalidate(pool, connection)),
326
330
  Effect.interruptible,
327
331
  Effect.forkScoped
@@ -338,55 +342,35 @@ export const make = (
338
342
  timeToLiveStrategy: "creation"
339
343
  })
340
344
 
341
- const makeRootTx: Effect.Effect<
342
- readonly [Scope.CloseableScope | undefined, MssqlConnection, number],
343
- SqlError
344
- > = Effect.flatMap(
345
- Scope.make(),
346
- (scope) => Effect.map(Scope.extend(Pool.get(pool), scope), (conn) => [scope, conn, 0] as const)
345
+ yield* pool.get.pipe(
346
+ Effect.tap((connection) => connection.executeRaw("SELECT 1", [])),
347
+ Effect.mapError(({ cause }) => new SqlError({ cause, message: "MssqlClient: Failed to connect" })),
348
+ Effect.scoped
347
349
  )
348
350
 
349
- const withTransaction = <R, E, A>(
350
- effect: Effect.Effect<A, E, R>
351
- ): Effect.Effect<A, E | SqlError, R> =>
352
- Effect.acquireUseRelease(
353
- pipe(
354
- Effect.serviceOption(TransactionConnection),
355
- Effect.flatMap(
356
- Option.match({
357
- onNone: () => makeRootTx,
358
- onSome: ([conn, count]) => Effect.succeed([undefined, conn, count + 1] as const)
359
- })
360
- ),
361
- Effect.tap(([, conn, id]) =>
362
- id > 0
363
- ? conn.savepoint(`effect_sql_${id}`)
364
- : conn.begin
351
+ const withTransaction = Client.makeWithTransaction({
352
+ transactionTag: TransactionConnection,
353
+ spanAttributes,
354
+ acquireConnection: Effect.flatMap(
355
+ Scope.make(),
356
+ (scope) =>
357
+ Effect.map(
358
+ Scope.extend(Pool.get(pool), scope),
359
+ (conn) => [scope, conn] as const
365
360
  )
366
- ),
367
- ([, conn, id]) => Effect.provideService(effect, TransactionConnection, [conn, id]),
368
- ([scope, conn, id], exit) => {
369
- const effect = Exit.isSuccess(exit)
370
- ? id > 0
371
- ? Effect.void
372
- : Effect.orDie(conn.commit)
373
- : Effect.orDie(conn.rollback(id > 0 ? `effect_sql_${id}` : undefined))
374
- return scope !== undefined ? Effect.ensuring(effect, Scope.close(scope, exit)) : effect
375
- }
376
- )
361
+ ),
362
+ begin: (conn) => conn.begin,
363
+ savepoint: (conn, id) => conn.savepoint(`effect_sql_${id}`),
364
+ commit: (conn) => conn.commit,
365
+ rollback: (conn) => conn.rollback(),
366
+ rollbackSavepoint: (conn, id) => conn.rollback(`effect_sql_${id}`)
367
+ })
377
368
 
378
369
  return identity<MssqlClient>(Object.assign(
379
370
  Client.make({
380
371
  acquirer: pool.get,
381
372
  compiler,
382
- transactionAcquirer: pool.get,
383
- spanAttributes: [
384
- ...(options.spanAttributes ? Object.entries(options.spanAttributes) : []),
385
- [Otel.SEMATTRS_DB_SYSTEM, Otel.DBSYSTEMVALUES_MSSQL],
386
- [Otel.SEMATTRS_DB_NAME, options.database ?? "master"],
387
- ["server.address", options.server],
388
- ["server.port", options.port ?? 1433]
389
- ]
373
+ spanAttributes
390
374
  }),
391
375
  {
392
376
  [TypeId]: TypeId as TypeId,
@@ -414,7 +398,7 @@ export const make = (
414
398
  */
415
399
  export const layer = (
416
400
  config: Config.Config.Wrap<MssqlClientConfig>
417
- ): Layer.Layer<Client.SqlClient | MssqlClient, ConfigError> =>
401
+ ): Layer.Layer<Client.SqlClient | MssqlClient, ConfigError | SqlError> =>
418
402
  Layer.scopedContext(
419
403
  Config.unwrap(config).pipe(
420
404
  Effect.flatMap(make),