@effect/sql-pg 0.49.0 → 0.49.2
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/cjs/PgClient.js +66 -11
- package/dist/cjs/PgClient.js.map +1 -1
- package/dist/dts/PgClient.d.ts.map +1 -1
- package/dist/esm/PgClient.js +65 -10
- package/dist/esm/PgClient.js.map +1 -1
- package/package.json +5 -3
- package/src/PgClient.ts +74 -14
package/dist/cjs/PgClient.js
CHANGED
|
@@ -15,6 +15,7 @@ var Context = _interopRequireWildcard(require("effect/Context"));
|
|
|
15
15
|
var Duration = _interopRequireWildcard(require("effect/Duration"));
|
|
16
16
|
var Effect = _interopRequireWildcard(require("effect/Effect"));
|
|
17
17
|
var Fiber = _interopRequireWildcard(require("effect/Fiber"));
|
|
18
|
+
var Function = _interopRequireWildcard(require("effect/Function"));
|
|
18
19
|
var Layer = _interopRequireWildcard(require("effect/Layer"));
|
|
19
20
|
var Option = _interopRequireWildcard(require("effect/Option"));
|
|
20
21
|
var RcRef = _interopRequireWildcard(require("effect/RcRef"));
|
|
@@ -85,9 +86,47 @@ const make = options => Effect.gen(function* () {
|
|
|
85
86
|
constructor(pg) {
|
|
86
87
|
this.pg = pg;
|
|
87
88
|
}
|
|
88
|
-
|
|
89
|
+
runWithClient(f) {
|
|
90
|
+
if (this.pg !== undefined) {
|
|
91
|
+
return Effect.async(resume => {
|
|
92
|
+
f(this.pg, resume);
|
|
93
|
+
return makeCancel(pool, this.pg);
|
|
94
|
+
});
|
|
95
|
+
}
|
|
89
96
|
return Effect.async(resume => {
|
|
90
|
-
|
|
97
|
+
let done = false;
|
|
98
|
+
let cancel = undefined;
|
|
99
|
+
let release = Function.constVoid;
|
|
100
|
+
pool.connect((err, client, release_) => {
|
|
101
|
+
release = release_;
|
|
102
|
+
if (err) {
|
|
103
|
+
release();
|
|
104
|
+
return resume(Effect.fail(new _SqlError.SqlError({
|
|
105
|
+
cause: err,
|
|
106
|
+
message: "Failed to acquire connection"
|
|
107
|
+
})));
|
|
108
|
+
} else if (done) {
|
|
109
|
+
return release();
|
|
110
|
+
}
|
|
111
|
+
cancel = makeCancel(pool, client);
|
|
112
|
+
f(client, eff => {
|
|
113
|
+
release();
|
|
114
|
+
resume(eff);
|
|
115
|
+
});
|
|
116
|
+
});
|
|
117
|
+
return Effect.suspend(() => {
|
|
118
|
+
done = true;
|
|
119
|
+
if (!cancel) {
|
|
120
|
+
release();
|
|
121
|
+
return Effect.void;
|
|
122
|
+
}
|
|
123
|
+
return Effect.ensuring(cancel, Effect.sync(release));
|
|
124
|
+
});
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
run(query, params) {
|
|
128
|
+
return this.runWithClient((client, resume) => {
|
|
129
|
+
client.query(query, params, (err, result) => {
|
|
91
130
|
if (err) {
|
|
92
131
|
resume(Effect.fail(new _SqlError.SqlError({
|
|
93
132
|
cause: err,
|
|
@@ -95,8 +134,7 @@ const make = options => Effect.gen(function* () {
|
|
|
95
134
|
})));
|
|
96
135
|
} else {
|
|
97
136
|
// Multi-statement queries return an array of results
|
|
98
|
-
|
|
99
|
-
resume(Effect.succeed(rows));
|
|
137
|
+
resume(Effect.succeed(Array.isArray(result) ? result.map(r => r.rows ?? []) : result.rows ?? []));
|
|
100
138
|
}
|
|
101
139
|
});
|
|
102
140
|
});
|
|
@@ -105,8 +143,8 @@ const make = options => Effect.gen(function* () {
|
|
|
105
143
|
return transformRows ? Effect.map(this.run(sql, params), transformRows) : this.run(sql, params);
|
|
106
144
|
}
|
|
107
145
|
executeRaw(sql, params) {
|
|
108
|
-
return
|
|
109
|
-
|
|
146
|
+
return this.runWithClient((client, resume) => {
|
|
147
|
+
client.query(sql, params, (err, result) => {
|
|
110
148
|
if (err) {
|
|
111
149
|
resume(Effect.fail(new _SqlError.SqlError({
|
|
112
150
|
cause: err,
|
|
@@ -122,8 +160,8 @@ const make = options => Effect.gen(function* () {
|
|
|
122
160
|
return this.run(sql, params);
|
|
123
161
|
}
|
|
124
162
|
executeValues(sql, params) {
|
|
125
|
-
return
|
|
126
|
-
|
|
163
|
+
return this.runWithClient((client, resume) => {
|
|
164
|
+
client.query({
|
|
127
165
|
text: sql,
|
|
128
166
|
rowMode: "array",
|
|
129
167
|
values: params
|
|
@@ -146,7 +184,7 @@ const make = options => Effect.gen(function* () {
|
|
|
146
184
|
// eslint-disable-next-line @typescript-eslint/no-this-alias
|
|
147
185
|
const self = this;
|
|
148
186
|
return Effect.gen(function* () {
|
|
149
|
-
const cursor = yield* Effect.acquireRelease(Effect.sync(() => self.pg.query(new _pgCursor.default(sql, params))), cursor => Effect.sync(() => cursor.close()));
|
|
187
|
+
const cursor = yield* Effect.acquireRelease(Effect.sync(() => (self.pg ?? pool).query(new _pgCursor.default(sql, params))), cursor => Effect.sync(() => cursor.close()));
|
|
150
188
|
const pull = Effect.async(resume => {
|
|
151
189
|
cursor.read(128, (err, rows) => {
|
|
152
190
|
if (err) {
|
|
@@ -184,7 +222,7 @@ const make = options => Effect.gen(function* () {
|
|
|
184
222
|
acquire: reserveRaw
|
|
185
223
|
});
|
|
186
224
|
return Object.assign(yield* Client.make({
|
|
187
|
-
acquirer: Effect.succeed(new ConnectionImpl(
|
|
225
|
+
acquirer: Effect.succeed(new ConnectionImpl()),
|
|
188
226
|
transactionAcquirer: reserve,
|
|
189
227
|
compiler,
|
|
190
228
|
spanAttributes: [...(options.spanAttributes ? Object.entries(options.spanAttributes) : []), [ATTR_DB_SYSTEM_NAME, "postgresql"], [ATTR_DB_NAMESPACE, options.database ?? options.username ?? "postgres"], [ATTR_SERVER_ADDRESS, options.host ?? "localhost"], [ATTR_SERVER_PORT, options.port ?? 5432]],
|
|
@@ -234,11 +272,28 @@ const make = options => Effect.gen(function* () {
|
|
|
234
272
|
})
|
|
235
273
|
});
|
|
236
274
|
});
|
|
275
|
+
exports.make = make;
|
|
276
|
+
const cancelEffects = /*#__PURE__*/new WeakMap();
|
|
277
|
+
const makeCancel = (pool, client) => {
|
|
278
|
+
if (cancelEffects.has(client)) {
|
|
279
|
+
return cancelEffects.get(client);
|
|
280
|
+
}
|
|
281
|
+
const processId = client.processID;
|
|
282
|
+
const eff = processId !== undefined
|
|
283
|
+
// query cancelation is best-effort, so we don't fail if it doesn't work
|
|
284
|
+
? Effect.async(resume => {
|
|
285
|
+
if (pool.ending) return resume(Effect.void);
|
|
286
|
+
pool.query(`SELECT pg_cancel_backend(${processId})`, () => {
|
|
287
|
+
resume(Effect.void);
|
|
288
|
+
});
|
|
289
|
+
}).pipe(Effect.interruptible, Effect.timeoutOption(5000)) : undefined;
|
|
290
|
+
cancelEffects.set(client, eff);
|
|
291
|
+
return eff;
|
|
292
|
+
};
|
|
237
293
|
/**
|
|
238
294
|
* @category layers
|
|
239
295
|
* @since 1.0.0
|
|
240
296
|
*/
|
|
241
|
-
exports.make = make;
|
|
242
297
|
const layerConfig = config => Layer.scopedContext(Config.unwrap(config).pipe(Effect.flatMap(make), Effect.map(client => Context.make(PgClient, client).pipe(Context.add(Client.SqlClient, client))))).pipe(Layer.provide(Reactivity.layer));
|
|
243
298
|
/**
|
|
244
299
|
* @category layers
|
package/dist/cjs/PgClient.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PgClient.js","names":["Reactivity","_interopRequireWildcard","require","Client","_SqlError","Statement","Arr","Chunk","Config","Context","Duration","Effect","Fiber","Layer","Option","RcRef","Redacted","Scope","Stream","Pg","_pgCursor","_interopRequireDefault","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ATTR_DB_SYSTEM_NAME","ATTR_DB_NAMESPACE","ATTR_SERVER_ADDRESS","ATTR_SERVER_PORT","TypeId","exports","PgClient","GenericTag","make","options","gen","compiler","makeCompiler","transformQueryNames","transformJson","transformRows","transformResultNames","defaultTransforms","array","undefined","pool","Pool","connectionString","url","value","user","username","host","database","password","ssl","port","connectionTimeoutMillis","connectTimeout","toMillis","idleTimeoutMillis","idleTimeout","max","maxConnections","min","minConnections","maxLifetimeSeconds","connectionTTL","toSeconds","application_name","applicationName","types","on","_err","acquireRelease","tryPromise","try","query","catch","cause","SqlError","message","promise","end","pipe","interruptible","timeoutOption","timeoutFail","duration","seconds","onTimeout","Error","ConnectionImpl","pg","constructor","run","params","async","resume","err","result","fail","rows","Array","isArray","map","succeed","execute","sql","executeRaw","executeWithoutTransform","executeValues","text","rowMode","values","executeUnprepared","executeStream","self","cursor","sync","Cursor","close","pull","read","some","isNonEmptyArray","unsafeFromArray","none","repeatEffectChunkOption","unwrapScoped","reserveRaw","fiber","getOrThrow","getCurrentFiber","scope","unsafeGet","currentContext","connect","client","release","as","addFinalizer","reserve","listenClient","acquire","assign","acquirer","transactionAcquirer","spanAttributes","entries","config","json","_","PgJson","listen","channel","asyncPush","fnUntraced","emit","onNotification","msg","payload","single","off","escapeIdentifier","notify","void","layerConfig","scopedContext","unwrap","flatMap","add","SqlClient","provide","layer","transform","transformValue","dialect","placeholder","onIdentifier","withoutTransform","escape","onRecordUpdate","placeholders","valueAlias","valueColumns","returning","flat","concat","onCustom","type","kind","i0","defaultEscape","custom"],"sources":["../../src/PgClient.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"PgClient.js","names":["Reactivity","_interopRequireWildcard","require","Client","_SqlError","Statement","Arr","Chunk","Config","Context","Duration","Effect","Fiber","Function","Layer","Option","RcRef","Redacted","Scope","Stream","Pg","_pgCursor","_interopRequireDefault","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ATTR_DB_SYSTEM_NAME","ATTR_DB_NAMESPACE","ATTR_SERVER_ADDRESS","ATTR_SERVER_PORT","TypeId","exports","PgClient","GenericTag","make","options","gen","compiler","makeCompiler","transformQueryNames","transformJson","transformRows","transformResultNames","defaultTransforms","array","undefined","pool","Pool","connectionString","url","value","user","username","host","database","password","ssl","port","connectionTimeoutMillis","connectTimeout","toMillis","idleTimeoutMillis","idleTimeout","max","maxConnections","min","minConnections","maxLifetimeSeconds","connectionTTL","toSeconds","application_name","applicationName","types","on","_err","acquireRelease","tryPromise","try","query","catch","cause","SqlError","message","promise","end","pipe","interruptible","timeoutOption","timeoutFail","duration","seconds","onTimeout","Error","ConnectionImpl","pg","constructor","runWithClient","async","resume","makeCancel","done","cancel","release","constVoid","connect","err","client","release_","fail","eff","suspend","void","ensuring","sync","run","params","result","succeed","Array","isArray","map","rows","execute","sql","executeRaw","executeWithoutTransform","executeValues","text","rowMode","values","executeUnprepared","executeStream","self","cursor","Cursor","close","pull","read","some","isNonEmptyArray","unsafeFromArray","none","repeatEffectChunkOption","unwrapScoped","reserveRaw","fiber","getOrThrow","getCurrentFiber","scope","unsafeGet","currentContext","as","addFinalizer","reserve","listenClient","acquire","assign","acquirer","transactionAcquirer","spanAttributes","entries","config","json","_","PgJson","listen","channel","asyncPush","fnUntraced","emit","onNotification","msg","payload","single","off","escapeIdentifier","notify","cancelEffects","processId","processID","ending","layerConfig","scopedContext","unwrap","flatMap","add","SqlClient","provide","layer","transform","transformValue","dialect","placeholder","onIdentifier","withoutTransform","escape","onRecordUpdate","placeholders","valueAlias","valueColumns","returning","flat","concat","onCustom","type","kind","i0","defaultEscape","custom"],"sources":["../../src/PgClient.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PgClient.d.ts","sourceRoot":"","sources":["../../src/PgClient.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,UAAU,MAAM,iCAAiC,CAAA;AAC7D,OAAO,KAAK,MAAM,MAAM,uBAAuB,CAAA;AAE/C,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAC/C,OAAO,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAC7D,OAAO,KAAK,SAAS,MAAM,uBAAuB,CAAA;AAGlD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,KAAK,WAAW,MAAM,oBAAoB,CAAA;AACtD,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAA;AAC3C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"PgClient.d.ts","sourceRoot":"","sources":["../../src/PgClient.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/PgClient.js
CHANGED
|
@@ -12,6 +12,7 @@ import * as Context from "effect/Context";
|
|
|
12
12
|
import * as Duration from "effect/Duration";
|
|
13
13
|
import * as Effect from "effect/Effect";
|
|
14
14
|
import * as Fiber from "effect/Fiber";
|
|
15
|
+
import * as Function from "effect/Function";
|
|
15
16
|
import * as Layer from "effect/Layer";
|
|
16
17
|
import * as Option from "effect/Option";
|
|
17
18
|
import * as RcRef from "effect/RcRef";
|
|
@@ -76,9 +77,47 @@ export const make = options => Effect.gen(function* () {
|
|
|
76
77
|
constructor(pg) {
|
|
77
78
|
this.pg = pg;
|
|
78
79
|
}
|
|
79
|
-
|
|
80
|
+
runWithClient(f) {
|
|
81
|
+
if (this.pg !== undefined) {
|
|
82
|
+
return Effect.async(resume => {
|
|
83
|
+
f(this.pg, resume);
|
|
84
|
+
return makeCancel(pool, this.pg);
|
|
85
|
+
});
|
|
86
|
+
}
|
|
80
87
|
return Effect.async(resume => {
|
|
81
|
-
|
|
88
|
+
let done = false;
|
|
89
|
+
let cancel = undefined;
|
|
90
|
+
let release = Function.constVoid;
|
|
91
|
+
pool.connect((err, client, release_) => {
|
|
92
|
+
release = release_;
|
|
93
|
+
if (err) {
|
|
94
|
+
release();
|
|
95
|
+
return resume(Effect.fail(new SqlError({
|
|
96
|
+
cause: err,
|
|
97
|
+
message: "Failed to acquire connection"
|
|
98
|
+
})));
|
|
99
|
+
} else if (done) {
|
|
100
|
+
return release();
|
|
101
|
+
}
|
|
102
|
+
cancel = makeCancel(pool, client);
|
|
103
|
+
f(client, eff => {
|
|
104
|
+
release();
|
|
105
|
+
resume(eff);
|
|
106
|
+
});
|
|
107
|
+
});
|
|
108
|
+
return Effect.suspend(() => {
|
|
109
|
+
done = true;
|
|
110
|
+
if (!cancel) {
|
|
111
|
+
release();
|
|
112
|
+
return Effect.void;
|
|
113
|
+
}
|
|
114
|
+
return Effect.ensuring(cancel, Effect.sync(release));
|
|
115
|
+
});
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
run(query, params) {
|
|
119
|
+
return this.runWithClient((client, resume) => {
|
|
120
|
+
client.query(query, params, (err, result) => {
|
|
82
121
|
if (err) {
|
|
83
122
|
resume(Effect.fail(new SqlError({
|
|
84
123
|
cause: err,
|
|
@@ -86,8 +125,7 @@ export const make = options => Effect.gen(function* () {
|
|
|
86
125
|
})));
|
|
87
126
|
} else {
|
|
88
127
|
// Multi-statement queries return an array of results
|
|
89
|
-
|
|
90
|
-
resume(Effect.succeed(rows));
|
|
128
|
+
resume(Effect.succeed(Array.isArray(result) ? result.map(r => r.rows ?? []) : result.rows ?? []));
|
|
91
129
|
}
|
|
92
130
|
});
|
|
93
131
|
});
|
|
@@ -96,8 +134,8 @@ export const make = options => Effect.gen(function* () {
|
|
|
96
134
|
return transformRows ? Effect.map(this.run(sql, params), transformRows) : this.run(sql, params);
|
|
97
135
|
}
|
|
98
136
|
executeRaw(sql, params) {
|
|
99
|
-
return
|
|
100
|
-
|
|
137
|
+
return this.runWithClient((client, resume) => {
|
|
138
|
+
client.query(sql, params, (err, result) => {
|
|
101
139
|
if (err) {
|
|
102
140
|
resume(Effect.fail(new SqlError({
|
|
103
141
|
cause: err,
|
|
@@ -113,8 +151,8 @@ export const make = options => Effect.gen(function* () {
|
|
|
113
151
|
return this.run(sql, params);
|
|
114
152
|
}
|
|
115
153
|
executeValues(sql, params) {
|
|
116
|
-
return
|
|
117
|
-
|
|
154
|
+
return this.runWithClient((client, resume) => {
|
|
155
|
+
client.query({
|
|
118
156
|
text: sql,
|
|
119
157
|
rowMode: "array",
|
|
120
158
|
values: params
|
|
@@ -137,7 +175,7 @@ export const make = options => Effect.gen(function* () {
|
|
|
137
175
|
// eslint-disable-next-line @typescript-eslint/no-this-alias
|
|
138
176
|
const self = this;
|
|
139
177
|
return Effect.gen(function* () {
|
|
140
|
-
const cursor = yield* Effect.acquireRelease(Effect.sync(() => self.pg.query(new Cursor(sql, params))), cursor => Effect.sync(() => cursor.close()));
|
|
178
|
+
const cursor = yield* Effect.acquireRelease(Effect.sync(() => (self.pg ?? pool).query(new Cursor(sql, params))), cursor => Effect.sync(() => cursor.close()));
|
|
141
179
|
const pull = Effect.async(resume => {
|
|
142
180
|
cursor.read(128, (err, rows) => {
|
|
143
181
|
if (err) {
|
|
@@ -175,7 +213,7 @@ export const make = options => Effect.gen(function* () {
|
|
|
175
213
|
acquire: reserveRaw
|
|
176
214
|
});
|
|
177
215
|
return Object.assign(yield* Client.make({
|
|
178
|
-
acquirer: Effect.succeed(new ConnectionImpl(
|
|
216
|
+
acquirer: Effect.succeed(new ConnectionImpl()),
|
|
179
217
|
transactionAcquirer: reserve,
|
|
180
218
|
compiler,
|
|
181
219
|
spanAttributes: [...(options.spanAttributes ? Object.entries(options.spanAttributes) : []), [ATTR_DB_SYSTEM_NAME, "postgresql"], [ATTR_DB_NAMESPACE, options.database ?? options.username ?? "postgres"], [ATTR_SERVER_ADDRESS, options.host ?? "localhost"], [ATTR_SERVER_PORT, options.port ?? 5432]],
|
|
@@ -225,6 +263,23 @@ export const make = options => Effect.gen(function* () {
|
|
|
225
263
|
})
|
|
226
264
|
});
|
|
227
265
|
});
|
|
266
|
+
const cancelEffects = /*#__PURE__*/new WeakMap();
|
|
267
|
+
const makeCancel = (pool, client) => {
|
|
268
|
+
if (cancelEffects.has(client)) {
|
|
269
|
+
return cancelEffects.get(client);
|
|
270
|
+
}
|
|
271
|
+
const processId = client.processID;
|
|
272
|
+
const eff = processId !== undefined
|
|
273
|
+
// query cancelation is best-effort, so we don't fail if it doesn't work
|
|
274
|
+
? Effect.async(resume => {
|
|
275
|
+
if (pool.ending) return resume(Effect.void);
|
|
276
|
+
pool.query(`SELECT pg_cancel_backend(${processId})`, () => {
|
|
277
|
+
resume(Effect.void);
|
|
278
|
+
});
|
|
279
|
+
}).pipe(Effect.interruptible, Effect.timeoutOption(5000)) : undefined;
|
|
280
|
+
cancelEffects.set(client, eff);
|
|
281
|
+
return eff;
|
|
282
|
+
};
|
|
228
283
|
/**
|
|
229
284
|
* @category layers
|
|
230
285
|
* @since 1.0.0
|
package/dist/esm/PgClient.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PgClient.js","names":["Reactivity","Client","SqlError","Statement","Arr","Chunk","Config","Context","Duration","Effect","Fiber","Layer","Option","RcRef","Redacted","Scope","Stream","Pg","Cursor","ATTR_DB_SYSTEM_NAME","ATTR_DB_NAMESPACE","ATTR_SERVER_ADDRESS","ATTR_SERVER_PORT","TypeId","PgClient","GenericTag","make","options","gen","compiler","makeCompiler","transformQueryNames","transformJson","transformRows","transformResultNames","defaultTransforms","array","undefined","pool","Pool","connectionString","url","value","user","username","host","database","password","ssl","port","connectionTimeoutMillis","connectTimeout","toMillis","idleTimeoutMillis","idleTimeout","max","maxConnections","min","minConnections","maxLifetimeSeconds","connectionTTL","toSeconds","application_name","applicationName","types","on","_err","acquireRelease","tryPromise","try","query","catch","cause","message","promise","end","pipe","interruptible","timeoutOption","timeoutFail","duration","seconds","onTimeout","Error","ConnectionImpl","pg","constructor","run","params","async","resume","err","result","fail","rows","Array","isArray","map","r","succeed","execute","sql","executeRaw","executeWithoutTransform","executeValues","text","rowMode","values","executeUnprepared","executeStream","self","cursor","sync","close","pull","read","some","isNonEmptyArray","unsafeFromArray","none","repeatEffectChunkOption","unwrapScoped","reserveRaw","fiber","getOrThrow","getCurrentFiber","scope","unsafeGet","currentContext","connect","client","release","as","addFinalizer","reserve","listenClient","acquire","Object","assign","acquirer","transactionAcquirer","spanAttributes","entries","config","json","_","PgJson","listen","channel","asyncPush","fnUntraced","emit","get","onNotification","msg","payload","single","off","escapeIdentifier","notify","void","layerConfig","scopedContext","unwrap","flatMap","add","SqlClient","provide","layer","transform","transformValue","dialect","placeholder","onIdentifier","withoutTransform","escape","onRecordUpdate","placeholders","valueAlias","valueColumns","returning","flat","concat","onCustom","type","kind","i0","defaultEscape","custom"],"sources":["../../src/PgClient.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"PgClient.js","names":["Reactivity","Client","SqlError","Statement","Arr","Chunk","Config","Context","Duration","Effect","Fiber","Function","Layer","Option","RcRef","Redacted","Scope","Stream","Pg","Cursor","ATTR_DB_SYSTEM_NAME","ATTR_DB_NAMESPACE","ATTR_SERVER_ADDRESS","ATTR_SERVER_PORT","TypeId","PgClient","GenericTag","make","options","gen","compiler","makeCompiler","transformQueryNames","transformJson","transformRows","transformResultNames","defaultTransforms","array","undefined","pool","Pool","connectionString","url","value","user","username","host","database","password","ssl","port","connectionTimeoutMillis","connectTimeout","toMillis","idleTimeoutMillis","idleTimeout","max","maxConnections","min","minConnections","maxLifetimeSeconds","connectionTTL","toSeconds","application_name","applicationName","types","on","_err","acquireRelease","tryPromise","try","query","catch","cause","message","promise","end","pipe","interruptible","timeoutOption","timeoutFail","duration","seconds","onTimeout","Error","ConnectionImpl","pg","constructor","runWithClient","f","async","resume","makeCancel","done","cancel","release","constVoid","connect","err","client","release_","fail","eff","suspend","void","ensuring","sync","run","params","result","succeed","Array","isArray","map","r","rows","execute","sql","executeRaw","executeWithoutTransform","executeValues","text","rowMode","values","executeUnprepared","executeStream","self","cursor","close","pull","read","some","isNonEmptyArray","unsafeFromArray","none","repeatEffectChunkOption","unwrapScoped","reserveRaw","fiber","getOrThrow","getCurrentFiber","scope","unsafeGet","currentContext","as","addFinalizer","reserve","listenClient","acquire","Object","assign","acquirer","transactionAcquirer","spanAttributes","entries","config","json","_","PgJson","listen","channel","asyncPush","fnUntraced","emit","get","onNotification","msg","payload","single","off","escapeIdentifier","notify","cancelEffects","WeakMap","has","processId","processID","ending","set","layerConfig","scopedContext","unwrap","flatMap","add","SqlClient","provide","layer","transform","transformValue","dialect","placeholder","onIdentifier","withoutTransform","escape","onRecordUpdate","placeholders","valueAlias","valueColumns","returning","flat","concat","onCustom","type","kind","i0","defaultEscape","custom"],"sources":["../../src/PgClient.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@effect/sql-pg",
|
|
3
|
-
"version": "0.49.
|
|
3
|
+
"version": "0.49.2",
|
|
4
4
|
"description": "A PostgreSQL toolkit for Effect",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -12,13 +12,15 @@
|
|
|
12
12
|
"homepage": "https://effect.website",
|
|
13
13
|
"dependencies": {
|
|
14
14
|
"pg": "^8.16.3",
|
|
15
|
-
"pg-cursor": "^2.15.3"
|
|
15
|
+
"pg-cursor": "^2.15.3",
|
|
16
|
+
"pg-pool": "^3.10.1",
|
|
17
|
+
"pg-types": "^4.1.0"
|
|
16
18
|
},
|
|
17
19
|
"peerDependencies": {
|
|
18
20
|
"@effect/experimental": "^0.57.0",
|
|
19
21
|
"@effect/platform": "^0.93.0",
|
|
20
22
|
"@effect/sql": "^0.48.0",
|
|
21
|
-
"effect": "^3.19.
|
|
23
|
+
"effect": "^3.19.2"
|
|
22
24
|
},
|
|
23
25
|
"publishConfig": {
|
|
24
26
|
"provenance": true
|
package/src/PgClient.ts
CHANGED
|
@@ -15,6 +15,7 @@ import * as Context from "effect/Context"
|
|
|
15
15
|
import * as Duration from "effect/Duration"
|
|
16
16
|
import * as Effect from "effect/Effect"
|
|
17
17
|
import * as Fiber from "effect/Fiber"
|
|
18
|
+
import * as Function from "effect/Function"
|
|
18
19
|
import * as Layer from "effect/Layer"
|
|
19
20
|
import * as Option from "effect/Option"
|
|
20
21
|
import * as RcRef from "effect/RcRef"
|
|
@@ -158,22 +159,59 @@ export const make = (
|
|
|
158
159
|
)
|
|
159
160
|
|
|
160
161
|
class ConnectionImpl implements Connection {
|
|
161
|
-
readonly pg: Pg.
|
|
162
|
-
constructor(pg
|
|
162
|
+
readonly pg: Pg.PoolClient | undefined
|
|
163
|
+
constructor(pg?: Pg.PoolClient) {
|
|
163
164
|
this.pg = pg
|
|
164
165
|
}
|
|
165
166
|
|
|
167
|
+
private runWithClient<A>(f: (client: Pg.PoolClient, resume: (_: Effect.Effect<A, SqlError>) => void) => void) {
|
|
168
|
+
if (this.pg !== undefined) {
|
|
169
|
+
return Effect.async<A, SqlError>((resume) => {
|
|
170
|
+
f(this.pg!, resume)
|
|
171
|
+
return makeCancel(pool, this.pg!)
|
|
172
|
+
})
|
|
173
|
+
}
|
|
174
|
+
return Effect.async<A, SqlError>((resume) => {
|
|
175
|
+
let done = false
|
|
176
|
+
let cancel: Effect.Effect<void> | undefined = undefined
|
|
177
|
+
let release = Function.constVoid
|
|
178
|
+
pool.connect((err, client, release_) => {
|
|
179
|
+
release = release_
|
|
180
|
+
if (err) {
|
|
181
|
+
release()
|
|
182
|
+
return resume(Effect.fail(new SqlError({ cause: err, message: "Failed to acquire connection" })))
|
|
183
|
+
} else if (done) {
|
|
184
|
+
return release()
|
|
185
|
+
}
|
|
186
|
+
cancel = makeCancel(pool, client!)
|
|
187
|
+
f(client!, (eff) => {
|
|
188
|
+
release()
|
|
189
|
+
resume(eff)
|
|
190
|
+
})
|
|
191
|
+
})
|
|
192
|
+
return Effect.suspend(() => {
|
|
193
|
+
done = true
|
|
194
|
+
if (!cancel) {
|
|
195
|
+
release()
|
|
196
|
+
return Effect.void
|
|
197
|
+
}
|
|
198
|
+
return Effect.ensuring(cancel, Effect.sync(release))
|
|
199
|
+
})
|
|
200
|
+
})
|
|
201
|
+
}
|
|
202
|
+
|
|
166
203
|
private run(query: string, params: ReadonlyArray<unknown>) {
|
|
167
|
-
return
|
|
168
|
-
|
|
204
|
+
return this.runWithClient<ReadonlyArray<any>>((client, resume) => {
|
|
205
|
+
client.query(query, params as any, (err, result) => {
|
|
169
206
|
if (err) {
|
|
170
207
|
resume(Effect.fail(new SqlError({ cause: err, message: "Failed to execute statement" })))
|
|
171
208
|
} else {
|
|
172
209
|
// Multi-statement queries return an array of results
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
210
|
+
resume(Effect.succeed(
|
|
211
|
+
Array.isArray(result)
|
|
212
|
+
? result.map((r) => r.rows ?? [])
|
|
213
|
+
: result.rows ?? []
|
|
214
|
+
))
|
|
177
215
|
}
|
|
178
216
|
})
|
|
179
217
|
})
|
|
@@ -189,8 +227,8 @@ export const make = (
|
|
|
189
227
|
: this.run(sql, params)
|
|
190
228
|
}
|
|
191
229
|
executeRaw(sql: string, params: ReadonlyArray<unknown>) {
|
|
192
|
-
return
|
|
193
|
-
|
|
230
|
+
return this.runWithClient<Pg.Result>((client, resume) => {
|
|
231
|
+
client.query(sql, params as any, (err, result) => {
|
|
194
232
|
if (err) {
|
|
195
233
|
resume(Effect.fail(new SqlError({ cause: err, message: "Failed to execute statement" })))
|
|
196
234
|
} else {
|
|
@@ -203,8 +241,8 @@ export const make = (
|
|
|
203
241
|
return this.run(sql, params)
|
|
204
242
|
}
|
|
205
243
|
executeValues(sql: string, params: ReadonlyArray<unknown>) {
|
|
206
|
-
return
|
|
207
|
-
|
|
244
|
+
return this.runWithClient<ReadonlyArray<any>>((client, resume) => {
|
|
245
|
+
client.query(
|
|
208
246
|
{
|
|
209
247
|
text: sql,
|
|
210
248
|
rowMode: "array",
|
|
@@ -236,7 +274,7 @@ export const make = (
|
|
|
236
274
|
const self = this
|
|
237
275
|
return Effect.gen(function*() {
|
|
238
276
|
const cursor = yield* Effect.acquireRelease(
|
|
239
|
-
Effect.sync(() => self.pg.query(new Cursor(sql, params as any))),
|
|
277
|
+
Effect.sync(() => (self.pg ?? pool).query(new Cursor(sql, params as any))),
|
|
240
278
|
(cursor) => Effect.sync(() => cursor.close())
|
|
241
279
|
)
|
|
242
280
|
const pull = Effect.async<Chunk.Chunk<any>, Option.Option<SqlError>>((resume) => {
|
|
@@ -276,7 +314,7 @@ export const make = (
|
|
|
276
314
|
|
|
277
315
|
return Object.assign(
|
|
278
316
|
yield* Client.make({
|
|
279
|
-
acquirer: Effect.succeed(new ConnectionImpl(
|
|
317
|
+
acquirer: Effect.succeed(new ConnectionImpl()),
|
|
280
318
|
transactionAcquirer: reserve,
|
|
281
319
|
compiler,
|
|
282
320
|
spanAttributes: [
|
|
@@ -333,6 +371,28 @@ export const make = (
|
|
|
333
371
|
)
|
|
334
372
|
})
|
|
335
373
|
|
|
374
|
+
const cancelEffects = new WeakMap<Pg.PoolClient, Effect.Effect<void> | undefined>()
|
|
375
|
+
const makeCancel = (pool: Pg.Pool, client: Pg.PoolClient) => {
|
|
376
|
+
if (cancelEffects.has(client)) {
|
|
377
|
+
return cancelEffects.get(client)!
|
|
378
|
+
}
|
|
379
|
+
const processId = (client as any).processID
|
|
380
|
+
const eff = processId !== undefined
|
|
381
|
+
// query cancelation is best-effort, so we don't fail if it doesn't work
|
|
382
|
+
? Effect.async<void>((resume) => {
|
|
383
|
+
if (pool.ending) return resume(Effect.void)
|
|
384
|
+
pool.query(`SELECT pg_cancel_backend(${processId})`, () => {
|
|
385
|
+
resume(Effect.void)
|
|
386
|
+
})
|
|
387
|
+
}).pipe(
|
|
388
|
+
Effect.interruptible,
|
|
389
|
+
Effect.timeoutOption(5000)
|
|
390
|
+
)
|
|
391
|
+
: undefined
|
|
392
|
+
cancelEffects.set(client, eff)
|
|
393
|
+
return eff
|
|
394
|
+
}
|
|
395
|
+
|
|
336
396
|
/**
|
|
337
397
|
* @category layers
|
|
338
398
|
* @since 1.0.0
|