pqb 0.73.0 → 0.73.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/bun.js +12 -2
- package/dist/bun.js.map +1 -1
- package/dist/bun.mjs +12 -2
- package/dist/bun.mjs.map +1 -1
- package/dist/index.d.ts +13 -9
- package/dist/index.js +62 -10
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +62 -10
- package/dist/index.mjs.map +1 -1
- package/dist/internal.d.ts +21 -17
- package/dist/internal.js +5 -5
- package/dist/internal.js.map +1 -1
- package/dist/internal.mjs +5 -5
- package/dist/internal.mjs.map +1 -1
- package/dist/node-postgres.js +12 -2
- package/dist/node-postgres.js.map +1 -1
- package/dist/node-postgres.mjs +12 -2
- package/dist/node-postgres.mjs.map +1 -1
- package/dist/postgres-js.js +29 -10
- package/dist/postgres-js.js.map +1 -1
- package/dist/postgres-js.mjs +29 -10
- package/dist/postgres-js.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -4206,15 +4206,67 @@ var TransactionAdapterClass = class {
|
|
|
4206
4206
|
async transaction(asyncStorage, options, cb) {
|
|
4207
4207
|
return transaction(asyncStorage, this.adapter, this.driverAdapter, this.client, options, cb, this);
|
|
4208
4208
|
}
|
|
4209
|
-
savepoint(name, cb) {
|
|
4210
|
-
return this.driverAdapter.savepoint(this.client, (client) => {
|
|
4209
|
+
async savepoint(name, log, cb) {
|
|
4210
|
+
if (!log) return this.driverAdapter.savepoint(this.client, (client) => {
|
|
4211
4211
|
this.client = client;
|
|
4212
4212
|
}, name, cb);
|
|
4213
|
+
const savepointSql = { text: `SAVEPOINT "${name}"` };
|
|
4214
|
+
const savepointLogData = log.beforeQuery(savepointSql);
|
|
4215
|
+
let releaseSql;
|
|
4216
|
+
let releaseLogData;
|
|
4217
|
+
let rollbackSql;
|
|
4218
|
+
let rollbackLogData;
|
|
4219
|
+
let error;
|
|
4220
|
+
return this.driverAdapter.savepoint(this.client, (client) => {
|
|
4221
|
+
this.client = client;
|
|
4222
|
+
}, name, async () => {
|
|
4223
|
+
try {
|
|
4224
|
+
return await cb();
|
|
4225
|
+
} catch (err) {
|
|
4226
|
+
error = err;
|
|
4227
|
+
throw err;
|
|
4228
|
+
}
|
|
4229
|
+
}, () => log.afterQuery(savepointSql, savepointLogData), () => {
|
|
4230
|
+
releaseSql = { text: `RELEASE SAVEPOINT "${name}"` };
|
|
4231
|
+
releaseLogData = log.beforeQuery(releaseSql);
|
|
4232
|
+
}, () => log.afterQuery(releaseSql, releaseLogData), () => {
|
|
4233
|
+
rollbackSql = { text: `ROLLBACK TO SAVEPOINT "${name}"` };
|
|
4234
|
+
rollbackLogData = log.beforeQuery(rollbackSql);
|
|
4235
|
+
}, () => {
|
|
4236
|
+
if (error) log.onError(error, rollbackSql, rollbackLogData);
|
|
4237
|
+
});
|
|
4213
4238
|
}
|
|
4214
|
-
hackySavepoint(state, text, values, arraysMode) {
|
|
4215
|
-
return this.driverAdapter.hackySavepoint(this.client, (client) => {
|
|
4239
|
+
hackySavepoint(state, text, values, arraysMode, log) {
|
|
4240
|
+
if (!log) return this.driverAdapter.hackySavepoint(this.client, (client) => {
|
|
4216
4241
|
this.client = client;
|
|
4217
4242
|
}, state, text, values, arraysMode);
|
|
4243
|
+
const savepointSql = { text: `SAVEPOINT "${state.name}"` };
|
|
4244
|
+
const savepointLogData = log.beforeQuery(savepointSql);
|
|
4245
|
+
let releaseSql;
|
|
4246
|
+
let releaseLogData;
|
|
4247
|
+
let rollbackSql;
|
|
4248
|
+
let rollbackLogData;
|
|
4249
|
+
let error;
|
|
4250
|
+
const result = this.driverAdapter.hackySavepoint(this.client, (client) => {
|
|
4251
|
+
this.client = client;
|
|
4252
|
+
}, state, text, values, arraysMode, () => log.afterQuery(savepointSql, savepointLogData), () => {
|
|
4253
|
+
releaseSql = { text: `RELEASE SAVEPOINT "${state.name}"` };
|
|
4254
|
+
releaseLogData = log.beforeQuery(releaseSql);
|
|
4255
|
+
}, () => log.afterQuery(releaseSql, releaseLogData), () => {
|
|
4256
|
+
rollbackSql = { text: `ROLLBACK TO SAVEPOINT "${state.name}"` };
|
|
4257
|
+
rollbackLogData = log.beforeQuery(rollbackSql);
|
|
4258
|
+
}, () => {
|
|
4259
|
+
if (error) log.onError(error, rollbackSql, rollbackLogData);
|
|
4260
|
+
});
|
|
4261
|
+
const activeSavepoint = state.activeSavepoint;
|
|
4262
|
+
if (activeSavepoint) {
|
|
4263
|
+
const rollback = activeSavepoint.rollback;
|
|
4264
|
+
activeSavepoint.rollback = async (err) => {
|
|
4265
|
+
error = err;
|
|
4266
|
+
return rollback.call(activeSavepoint, err);
|
|
4267
|
+
};
|
|
4268
|
+
}
|
|
4269
|
+
return result;
|
|
4218
4270
|
}
|
|
4219
4271
|
close() {
|
|
4220
4272
|
return this.adapter.close();
|
|
@@ -4306,7 +4358,7 @@ const nestedTransaction = async (adapter, driverAdapter, transactionAdapter, cli
|
|
|
4306
4358
|
const state = ctx.state;
|
|
4307
4359
|
const parentRole = state?.transactionRole;
|
|
4308
4360
|
const parentSetConfig = state?.transactionSetConfig;
|
|
4309
|
-
const result = await transactionAdapter.savepoint(`t${transactionId}`, async () => {
|
|
4361
|
+
const result = await transactionAdapter.savepoint(`t${transactionId}`, options?.log, async () => {
|
|
4310
4362
|
const setRoleSql = getSetRoleSql(parentRole, options);
|
|
4311
4363
|
if (setRoleSql) driverAdapter.queryClient(client, setRoleSql);
|
|
4312
4364
|
const setConfigSql = getSetConfigSql(parentSetConfig, options);
|
|
@@ -4734,7 +4786,7 @@ const then = async (q, adapter, state, beforeHooks, afterHooks, afterSaveHooks,
|
|
|
4734
4786
|
if (query.autoPreparedStatements) sql.name = queriesNames[sql.text] || (queriesNames[sql.text] = (nameI++).toString(36));
|
|
4735
4787
|
if (log) logData = log.beforeQuery(sql);
|
|
4736
4788
|
const method = queryMethodByReturnType[tempReturnType];
|
|
4737
|
-
queryResult = await execQuery(adapter, method, sql, startingSavepoint, releasingSavepoint, sqlSessionContextGetStateFromAsyncState(state));
|
|
4789
|
+
queryResult = await execQuery(adapter, method, sql, log, startingSavepoint, releasingSavepoint, sqlSessionContextGetStateFromAsyncState(state));
|
|
4738
4790
|
const { runAfterQuery } = sql;
|
|
4739
4791
|
if (log) {
|
|
4740
4792
|
log.afterQuery(sql, logData);
|
|
@@ -4763,7 +4815,7 @@ const then = async (q, adapter, state, beforeHooks, afterHooks, afterSaveHooks,
|
|
|
4763
4815
|
for (let i = 0; i <= last; i++) {
|
|
4764
4816
|
sql = batch[i];
|
|
4765
4817
|
if (log) logData = log.beforeQuery(sql);
|
|
4766
|
-
const result = await execQuery(adapter, queryMethod, sql, i === 0 ? startingSavepoint : void 0, i === last ? releasingSavepoint : void 0, sqlSessionContextGetStateFromAsyncState(state));
|
|
4818
|
+
const result = await execQuery(adapter, queryMethod, sql, log, i === 0 ? startingSavepoint : void 0, i === last ? releasingSavepoint : void 0, sqlSessionContextGetStateFromAsyncState(state));
|
|
4767
4819
|
if (queryResult) {
|
|
4768
4820
|
queryResult.rowCount += result.rowCount;
|
|
4769
4821
|
queryResult.rows.push(...result.rows);
|
|
@@ -4964,12 +5016,12 @@ const setCatchingSavepoint = (catchTrx) => {
|
|
|
4964
5016
|
* it populates the response with empty objects,
|
|
4965
5017
|
* because user might expect empty objects to be returned for an empty select.
|
|
4966
5018
|
*/
|
|
4967
|
-
const execQuery = (adapter, method, sql, startingSavepoint, releasingSavepoint, sqlSessionState) => {
|
|
5019
|
+
const execQuery = (adapter, method, sql, log, startingSavepoint, releasingSavepoint, sqlSessionState) => {
|
|
4968
5020
|
let promise;
|
|
4969
|
-
if (startingSavepoint) if (releasingSavepoint) promise = startingSavepoint.transactionAdapter.savepoint(startingSavepoint.name, () => {
|
|
5021
|
+
if (startingSavepoint) if (releasingSavepoint) promise = startingSavepoint.transactionAdapter.savepoint(startingSavepoint.name, log, () => {
|
|
4970
5022
|
return promise = adapter[method](sql.text, sql.values, sqlSessionState);
|
|
4971
5023
|
});
|
|
4972
|
-
else promise = startingSavepoint.transactionAdapter.hackySavepoint(startingSavepoint, sql.text, sql.values, method === "arrays");
|
|
5024
|
+
else promise = startingSavepoint.transactionAdapter.hackySavepoint(startingSavepoint, sql.text, sql.values, method === "arrays", log);
|
|
4973
5025
|
else promise = adapter[method](sql.text, sql.values, sqlSessionState);
|
|
4974
5026
|
if (!startingSavepoint && releasingSavepoint) promise = promise.then(async (res) => {
|
|
4975
5027
|
await releasingSavepoint.activeSavepoint?.release();
|