mysql2-core 0.3.0 → 0.3.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/lib/index.js +24 -155
- package/package.json +1 -1
- package/src/index.ts +13 -128
package/lib/index.js
CHANGED
|
@@ -248,152 +248,21 @@ var PoolConnectionManager = (function () {
|
|
|
248
248
|
exports.PoolConnectionManager = PoolConnectionManager;
|
|
249
249
|
function executeBatch(pool, statements, firstSuccess) {
|
|
250
250
|
return __awaiter(this, void 0, void 0, function () {
|
|
251
|
-
var connection;
|
|
252
251
|
return __generator(this, function (_a) {
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
else if (statements.length === 1) {
|
|
259
|
-
return [2, execute(pool, statements[0].query, statements[0].params)];
|
|
260
|
-
}
|
|
261
|
-
if (!resource.multipleStatements) return [3, 1];
|
|
262
|
-
if (firstSuccess) {
|
|
263
|
-
return [2, new Promise(function (resolve, reject) {
|
|
264
|
-
pool.getConnection(function (er0, connection) {
|
|
265
|
-
if (er0) {
|
|
266
|
-
return reject(er0);
|
|
267
|
-
}
|
|
268
|
-
connection.beginTransaction(function (er1) {
|
|
269
|
-
if (er1) {
|
|
270
|
-
connection.rollback(function () {
|
|
271
|
-
return reject(er1);
|
|
272
|
-
});
|
|
273
|
-
}
|
|
274
|
-
else {
|
|
275
|
-
connection.execute(statements[0].query, toArray(statements[0].params), function (er2a, results0) {
|
|
276
|
-
if (er2a) {
|
|
277
|
-
connection.rollback(function () {
|
|
278
|
-
return reject(er2a);
|
|
279
|
-
});
|
|
280
|
-
}
|
|
281
|
-
else {
|
|
282
|
-
if (results0 && results0.affectedRows === 0) {
|
|
283
|
-
connection.commit(function (er3) {
|
|
284
|
-
if (er3) {
|
|
285
|
-
connection.rollback(function () {
|
|
286
|
-
return reject(er3);
|
|
287
|
-
});
|
|
288
|
-
}
|
|
289
|
-
});
|
|
290
|
-
return 0;
|
|
291
|
-
}
|
|
292
|
-
else {
|
|
293
|
-
var queries = [];
|
|
294
|
-
var params = [];
|
|
295
|
-
var l = statements.length;
|
|
296
|
-
for (var j = 1; j < l; j++) {
|
|
297
|
-
var item = statements[j];
|
|
298
|
-
if (item.query.endsWith(";")) {
|
|
299
|
-
queries.push(item.query);
|
|
300
|
-
}
|
|
301
|
-
else {
|
|
302
|
-
queries.push(item.query + ";");
|
|
303
|
-
}
|
|
304
|
-
if (item.params && item.params.length > 0) {
|
|
305
|
-
for (var _i = 0, _a = item.params; _i < _a.length; _i++) {
|
|
306
|
-
var p = _a[_i];
|
|
307
|
-
params.push(p);
|
|
308
|
-
}
|
|
309
|
-
}
|
|
310
|
-
}
|
|
311
|
-
connection.execute(queries.join(""), toArray(params), function (er2, results) {
|
|
312
|
-
if (er2) {
|
|
313
|
-
connection.rollback(function () {
|
|
314
|
-
return reject(er2);
|
|
315
|
-
});
|
|
316
|
-
}
|
|
317
|
-
else {
|
|
318
|
-
connection.commit(function (er3) {
|
|
319
|
-
if (er3) {
|
|
320
|
-
connection.rollback(function () {
|
|
321
|
-
return reject(er3);
|
|
322
|
-
});
|
|
323
|
-
}
|
|
324
|
-
});
|
|
325
|
-
var c = 0;
|
|
326
|
-
c += results0.affectedRows + results.affectedRows;
|
|
327
|
-
return resolve(c);
|
|
328
|
-
}
|
|
329
|
-
});
|
|
330
|
-
}
|
|
331
|
-
}
|
|
332
|
-
});
|
|
333
|
-
}
|
|
334
|
-
});
|
|
335
|
-
});
|
|
336
|
-
})];
|
|
337
|
-
}
|
|
338
|
-
else {
|
|
339
|
-
return [2, new Promise(function (resolve, reject) {
|
|
340
|
-
pool.getConnection(function (er0, connection) {
|
|
341
|
-
if (er0) {
|
|
342
|
-
return reject(er0);
|
|
343
|
-
}
|
|
344
|
-
connection.beginTransaction(function (er1) {
|
|
345
|
-
if (er1) {
|
|
346
|
-
connection.rollback(function () {
|
|
347
|
-
return reject(er1);
|
|
348
|
-
});
|
|
349
|
-
}
|
|
350
|
-
else {
|
|
351
|
-
var queries_1 = [];
|
|
352
|
-
var params_1 = [];
|
|
353
|
-
statements.forEach(function (item) {
|
|
354
|
-
if (item.query.endsWith(";")) {
|
|
355
|
-
queries_1.push(item.query);
|
|
356
|
-
}
|
|
357
|
-
else {
|
|
358
|
-
queries_1.push(item.query + ";");
|
|
359
|
-
}
|
|
360
|
-
if (item.params && item.params.length > 0) {
|
|
361
|
-
for (var _i = 0, _a = item.params; _i < _a.length; _i++) {
|
|
362
|
-
var p = _a[_i];
|
|
363
|
-
params_1.push(p);
|
|
364
|
-
}
|
|
365
|
-
}
|
|
366
|
-
});
|
|
367
|
-
connection.execute(queries_1.join(""), toArray(params_1), function (er2, results) {
|
|
368
|
-
if (er2) {
|
|
369
|
-
connection.rollback(function () {
|
|
370
|
-
buildError(er2);
|
|
371
|
-
return reject(er2);
|
|
372
|
-
});
|
|
373
|
-
}
|
|
374
|
-
else {
|
|
375
|
-
connection.commit(function (er3) {
|
|
376
|
-
if (er3) {
|
|
377
|
-
connection.rollback(function () {
|
|
378
|
-
return reject(er3);
|
|
379
|
-
});
|
|
380
|
-
}
|
|
381
|
-
});
|
|
382
|
-
return resolve(results.affectedRows);
|
|
383
|
-
}
|
|
384
|
-
});
|
|
385
|
-
}
|
|
386
|
-
});
|
|
387
|
-
});
|
|
388
|
-
})];
|
|
389
|
-
}
|
|
390
|
-
return [3, 3];
|
|
391
|
-
case 1: return [4, getConnection(pool)];
|
|
392
|
-
case 2:
|
|
393
|
-
connection = _a.sent();
|
|
394
|
-
return [2, executeBatchConnectionTx(connection, statements, firstSuccess)];
|
|
395
|
-
case 3: return [2];
|
|
252
|
+
if (!statements || statements.length === 0) {
|
|
253
|
+
return [2, Promise.resolve(0)];
|
|
254
|
+
}
|
|
255
|
+
else if (statements.length === 1) {
|
|
256
|
+
return [2, execute(pool, statements[0].query, statements[0].params)];
|
|
396
257
|
}
|
|
258
|
+
return [2, new Promise(function (resolve, reject) {
|
|
259
|
+
pool.getConnection(function (er0, connection) {
|
|
260
|
+
if (er0) {
|
|
261
|
+
return reject(er0);
|
|
262
|
+
}
|
|
263
|
+
return executeBatchConnectionTx(connection, statements, firstSuccess);
|
|
264
|
+
});
|
|
265
|
+
})];
|
|
397
266
|
});
|
|
398
267
|
});
|
|
399
268
|
}
|
|
@@ -456,7 +325,7 @@ function executeBatchConnectionTx(connection, statements, firstSuccess) {
|
|
|
456
325
|
}
|
|
457
326
|
}
|
|
458
327
|
}
|
|
459
|
-
connection.
|
|
328
|
+
connection.query(queries.join(""), toArray(params), function (er2, results) {
|
|
460
329
|
if (er2) {
|
|
461
330
|
connection.rollback(function () {
|
|
462
331
|
return reject(er2);
|
|
@@ -491,23 +360,23 @@ function executeBatchConnectionTx(connection, statements, firstSuccess) {
|
|
|
491
360
|
});
|
|
492
361
|
}
|
|
493
362
|
else {
|
|
494
|
-
var
|
|
495
|
-
var
|
|
363
|
+
var queries_1 = [];
|
|
364
|
+
var params_1 = [];
|
|
496
365
|
statements.forEach(function (item) {
|
|
497
366
|
if (item.query.endsWith(";")) {
|
|
498
|
-
|
|
367
|
+
queries_1.push(item.query);
|
|
499
368
|
}
|
|
500
369
|
else {
|
|
501
|
-
|
|
370
|
+
queries_1.push(item.query + ";");
|
|
502
371
|
}
|
|
503
372
|
if (item.params && item.params.length > 0) {
|
|
504
373
|
for (var _i = 0, _a = item.params; _i < _a.length; _i++) {
|
|
505
374
|
var p = _a[_i];
|
|
506
|
-
|
|
375
|
+
params_1.push(p);
|
|
507
376
|
}
|
|
508
377
|
}
|
|
509
378
|
});
|
|
510
|
-
connection.
|
|
379
|
+
connection.query(queries_1.join(""), toArray(params_1), function (er2, results) {
|
|
511
380
|
if (er2) {
|
|
512
381
|
connection.rollback(function () {
|
|
513
382
|
buildError(er2);
|
|
@@ -642,7 +511,7 @@ function executeBatchConnection(connection, statements, firstSuccess) {
|
|
|
642
511
|
}
|
|
643
512
|
}
|
|
644
513
|
}
|
|
645
|
-
connection.
|
|
514
|
+
connection.query(queries.join(""), toArray(params), function (er2, results) {
|
|
646
515
|
if (er2) {
|
|
647
516
|
return reject(er2);
|
|
648
517
|
}
|
|
@@ -675,7 +544,7 @@ function executeBatchConnection(connection, statements, firstSuccess) {
|
|
|
675
544
|
}
|
|
676
545
|
}
|
|
677
546
|
});
|
|
678
|
-
connection.
|
|
547
|
+
connection.query(queries.join(""), toArray(params), function (er2, results) {
|
|
679
548
|
if (er2) {
|
|
680
549
|
connection.rollback(function () {
|
|
681
550
|
buildError(er2);
|
|
@@ -842,7 +711,7 @@ function count(pool, sql, args) {
|
|
|
842
711
|
return executeScalar(pool, sql, args);
|
|
843
712
|
}
|
|
844
713
|
exports.count = count;
|
|
845
|
-
function save(pool, obj, table, attrs, ver, buildParam
|
|
714
|
+
function save(pool, obj, table, attrs, ver, buildParam) {
|
|
846
715
|
var s = build_1.buildToSave(obj, table, attrs, ver, buildParam);
|
|
847
716
|
if (!s.query) {
|
|
848
717
|
return Promise.resolve(-1);
|
|
@@ -1126,7 +995,7 @@ var MySQLWriter = (function () {
|
|
|
1126
995
|
obj2 = this.map(obj);
|
|
1127
996
|
}
|
|
1128
997
|
var stmt = build_1.buildToSave(obj2, this.table, this.attributes, this.version, this.param);
|
|
1129
|
-
if (stmt) {
|
|
998
|
+
if (stmt.query) {
|
|
1130
999
|
if (this.execute) {
|
|
1131
1000
|
if (this.oneIfSuccess) {
|
|
1132
1001
|
return this.execute(stmt.query, stmt.params).then(function (ct) { return (ct > 0 ? 1 : 0); });
|
package/package.json
CHANGED
package/src/index.ts
CHANGED
|
@@ -204,128 +204,14 @@ export async function executeBatch(pool: Pool, statements: Statement[], firstSuc
|
|
|
204
204
|
} else if (statements.length === 1) {
|
|
205
205
|
return execute(pool, statements[0].query, statements[0].params)
|
|
206
206
|
}
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
if (er1) {
|
|
216
|
-
connection.rollback(() => {
|
|
217
|
-
return reject(er1)
|
|
218
|
-
})
|
|
219
|
-
} else {
|
|
220
|
-
connection.execute<ResultSetHeader>(statements[0].query, toArray(statements[0].params), (er2a, results0) => {
|
|
221
|
-
if (er2a) {
|
|
222
|
-
connection.rollback(() => {
|
|
223
|
-
return reject(er2a)
|
|
224
|
-
})
|
|
225
|
-
} else {
|
|
226
|
-
if (results0 && results0.affectedRows === 0) {
|
|
227
|
-
connection.commit((er3) => {
|
|
228
|
-
if (er3) {
|
|
229
|
-
connection.rollback(() => {
|
|
230
|
-
return reject(er3)
|
|
231
|
-
})
|
|
232
|
-
}
|
|
233
|
-
})
|
|
234
|
-
return 0
|
|
235
|
-
} else {
|
|
236
|
-
const queries: string[] = []
|
|
237
|
-
const params: any[] = []
|
|
238
|
-
const l = statements.length
|
|
239
|
-
for (let j = 1; j < l; j++) {
|
|
240
|
-
const item = statements[j]
|
|
241
|
-
if (item.query.endsWith(";")) {
|
|
242
|
-
queries.push(item.query)
|
|
243
|
-
} else {
|
|
244
|
-
queries.push(item.query + ";")
|
|
245
|
-
}
|
|
246
|
-
if (item.params && item.params.length > 0) {
|
|
247
|
-
for (const p of item.params) {
|
|
248
|
-
params.push(p)
|
|
249
|
-
}
|
|
250
|
-
}
|
|
251
|
-
}
|
|
252
|
-
connection.execute<ResultSetHeader>(queries.join(""), toArray(params), (er2, results) => {
|
|
253
|
-
if (er2) {
|
|
254
|
-
connection.rollback(() => {
|
|
255
|
-
return reject(er2)
|
|
256
|
-
})
|
|
257
|
-
} else {
|
|
258
|
-
connection.commit((er3) => {
|
|
259
|
-
if (er3) {
|
|
260
|
-
connection.rollback(() => {
|
|
261
|
-
return reject(er3)
|
|
262
|
-
})
|
|
263
|
-
}
|
|
264
|
-
})
|
|
265
|
-
let c = 0
|
|
266
|
-
c += results0.affectedRows + results.affectedRows
|
|
267
|
-
return resolve(c)
|
|
268
|
-
}
|
|
269
|
-
})
|
|
270
|
-
}
|
|
271
|
-
}
|
|
272
|
-
})
|
|
273
|
-
}
|
|
274
|
-
})
|
|
275
|
-
})
|
|
276
|
-
})
|
|
277
|
-
} else {
|
|
278
|
-
return new Promise<number>((resolve, reject) => {
|
|
279
|
-
pool.getConnection((er0, connection) => {
|
|
280
|
-
if (er0) {
|
|
281
|
-
return reject(er0)
|
|
282
|
-
}
|
|
283
|
-
connection.beginTransaction((er1) => {
|
|
284
|
-
if (er1) {
|
|
285
|
-
connection.rollback(() => {
|
|
286
|
-
return reject(er1)
|
|
287
|
-
})
|
|
288
|
-
} else {
|
|
289
|
-
const queries: string[] = []
|
|
290
|
-
const params: any[] = []
|
|
291
|
-
statements.forEach((item) => {
|
|
292
|
-
if (item.query.endsWith(";")) {
|
|
293
|
-
queries.push(item.query)
|
|
294
|
-
} else {
|
|
295
|
-
queries.push(item.query + ";")
|
|
296
|
-
}
|
|
297
|
-
if (item.params && item.params.length > 0) {
|
|
298
|
-
for (const p of item.params) {
|
|
299
|
-
params.push(p)
|
|
300
|
-
}
|
|
301
|
-
}
|
|
302
|
-
})
|
|
303
|
-
connection.execute<ResultSetHeader>(queries.join(""), toArray(params), (er2, results) => {
|
|
304
|
-
if (er2) {
|
|
305
|
-
connection.rollback(() => {
|
|
306
|
-
buildError(er2)
|
|
307
|
-
return reject(er2)
|
|
308
|
-
})
|
|
309
|
-
} else {
|
|
310
|
-
connection.commit((er3) => {
|
|
311
|
-
if (er3) {
|
|
312
|
-
connection.rollback(() => {
|
|
313
|
-
return reject(er3)
|
|
314
|
-
})
|
|
315
|
-
}
|
|
316
|
-
})
|
|
317
|
-
return resolve(results.affectedRows)
|
|
318
|
-
}
|
|
319
|
-
})
|
|
320
|
-
}
|
|
321
|
-
})
|
|
322
|
-
})
|
|
323
|
-
})
|
|
324
|
-
}
|
|
325
|
-
} else {
|
|
326
|
-
const connection = await getConnection(pool)
|
|
327
|
-
return executeBatchConnectionTx(connection, statements, firstSuccess)
|
|
328
|
-
}
|
|
207
|
+
return new Promise<number>((resolve, reject) => {
|
|
208
|
+
pool.getConnection((er0, connection) => {
|
|
209
|
+
if (er0) {
|
|
210
|
+
return reject(er0)
|
|
211
|
+
}
|
|
212
|
+
return executeBatchConnectionTx(connection, statements, firstSuccess)
|
|
213
|
+
})
|
|
214
|
+
})
|
|
329
215
|
}
|
|
330
216
|
export async function executeBatchConnectionTx(connection: PoolConnection, statements: Statement[], firstSuccess?: boolean): Promise<number> {
|
|
331
217
|
if (!statements || statements.length === 0) {
|
|
@@ -374,7 +260,7 @@ export async function executeBatchConnectionTx(connection: PoolConnection, state
|
|
|
374
260
|
}
|
|
375
261
|
}
|
|
376
262
|
}
|
|
377
|
-
connection.
|
|
263
|
+
connection.query<ResultSetHeader>(queries.join(""), toArray(params), (er2, results) => {
|
|
378
264
|
if (er2) {
|
|
379
265
|
connection.rollback(() => {
|
|
380
266
|
return reject(er2)
|
|
@@ -420,7 +306,7 @@ export async function executeBatchConnectionTx(connection: PoolConnection, state
|
|
|
420
306
|
}
|
|
421
307
|
}
|
|
422
308
|
})
|
|
423
|
-
connection.
|
|
309
|
+
connection.query<ResultSetHeader>(queries.join(""), toArray(params), (er2, results) => {
|
|
424
310
|
if (er2) {
|
|
425
311
|
connection.rollback(() => {
|
|
426
312
|
buildError(er2)
|
|
@@ -514,7 +400,7 @@ export async function executeBatchConnection(connection: PoolConnection, stateme
|
|
|
514
400
|
}
|
|
515
401
|
}
|
|
516
402
|
}
|
|
517
|
-
connection.
|
|
403
|
+
connection.query<ResultSetHeader>(queries.join(""), toArray(params), (er2, results) => {
|
|
518
404
|
if (er2) {
|
|
519
405
|
return reject(er2)
|
|
520
406
|
} else {
|
|
@@ -543,7 +429,7 @@ export async function executeBatchConnection(connection: PoolConnection, stateme
|
|
|
543
429
|
}
|
|
544
430
|
}
|
|
545
431
|
})
|
|
546
|
-
connection.
|
|
432
|
+
connection.query<ResultSetHeader>(queries.join(""), toArray(params), (er2, results) => {
|
|
547
433
|
if (er2) {
|
|
548
434
|
connection.rollback(() => {
|
|
549
435
|
buildError(er2)
|
|
@@ -670,7 +556,6 @@ export function save<T>(
|
|
|
670
556
|
attrs: Attributes,
|
|
671
557
|
ver?: string,
|
|
672
558
|
buildParam?: (i: number) => string,
|
|
673
|
-
i?: number,
|
|
674
559
|
): Promise<number> {
|
|
675
560
|
const s = buildToSave(obj, table, attrs, ver, buildParam)
|
|
676
561
|
if (!s.query) {
|
|
@@ -941,7 +826,7 @@ export class MySQLWriter<T> {
|
|
|
941
826
|
obj2 = this.map(obj)
|
|
942
827
|
}
|
|
943
828
|
const stmt = buildToSave(obj2, this.table, this.attributes, this.version, this.param)
|
|
944
|
-
if (stmt) {
|
|
829
|
+
if (stmt.query) {
|
|
945
830
|
if (this.execute) {
|
|
946
831
|
if (this.oneIfSuccess) {
|
|
947
832
|
return this.execute(stmt.query, stmt.params).then((ct) => (ct > 0 ? 1 : 0))
|