mysql2-core 0.3.1 → 0.3.3

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.
Files changed (3) hide show
  1. package/lib/index.js +23 -154
  2. package/package.json +1 -1
  3. package/src/index.ts +11 -126
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
- switch (_a.label) {
254
- case 0:
255
- if (!statements || statements.length === 0) {
256
- return [2, Promise.resolve(0)];
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.query(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.query(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
  }
@@ -491,23 +360,23 @@ function executeBatchConnectionTx(connection, statements, firstSuccess) {
491
360
  });
492
361
  }
493
362
  else {
494
- var queries_2 = [];
495
- var params_2 = [];
363
+ var queries_1 = [];
364
+ var params_1 = [];
496
365
  statements.forEach(function (item) {
497
366
  if (item.query.endsWith(";")) {
498
- queries_2.push(item.query);
367
+ queries_1.push(item.query);
499
368
  }
500
369
  else {
501
- queries_2.push(item.query + ";");
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
- params_2.push(p);
375
+ params_1.push(p);
507
376
  }
508
377
  }
509
378
  });
510
- connection.query(queries_2.join(""), toArray(params_2), function (er2, results) {
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);
@@ -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, i) {
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); });
@@ -1202,7 +1071,7 @@ var MySQLStreamWriter = (function () {
1202
1071
  else {
1203
1072
  var total_1 = this.list.length;
1204
1073
  var stmt = build_1.buildToSaveBatch(this.list, this.table, this.attributes, this.version, this.param);
1205
- if (stmt) {
1074
+ if (stmt.length > 0) {
1206
1075
  if (this.executeBatch) {
1207
1076
  return this.executeBatch(stmt).then(function (r) {
1208
1077
  _this.list = [];
@@ -1257,7 +1126,7 @@ var MySQLBatchWriter = (function () {
1257
1126
  }
1258
1127
  }
1259
1128
  var stmts = build_1.buildToSaveBatch(list, this.table, this.attributes, this.version, this.param);
1260
- if (stmts && stmts.length > 0) {
1129
+ if (stmts.length > 0) {
1261
1130
  if (this.execute) {
1262
1131
  if (this.oneIfSuccess) {
1263
1132
  return this.execute(stmts).then(function (ct) { return stmts.length; });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mysql2-core",
3
- "version": "0.3.1",
3
+ "version": "0.3.3",
4
4
  "description": "mysql2-core",
5
5
  "main": "./lib/index.js",
6
6
  "types": "./src/index.ts",
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
- if (resource.multipleStatements) {
208
- if (firstSuccess) {
209
- return new Promise<number>((resolve, reject) => {
210
- pool.getConnection((er0, connection) => {
211
- if (er0) {
212
- return reject(er0)
213
- }
214
- connection.beginTransaction((er1) => {
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.query<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.query<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) {
@@ -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))
@@ -1017,7 +902,7 @@ export class MySQLStreamWriter<T> {
1017
902
  } else {
1018
903
  const total = this.list.length
1019
904
  const stmt = buildToSaveBatch(this.list, this.table, this.attributes, this.version, this.param)
1020
- if (stmt) {
905
+ if (stmt.length > 0) {
1021
906
  if (this.executeBatch) {
1022
907
  return this.executeBatch(stmt).then((r) => {
1023
908
  this.list = []
@@ -1076,7 +961,7 @@ export class MySQLBatchWriter<T> {
1076
961
  }
1077
962
  }
1078
963
  const stmts = buildToSaveBatch(list, this.table, this.attributes, this.version, this.param)
1079
- if (stmts && stmts.length > 0) {
964
+ if (stmts.length > 0) {
1080
965
  if (this.execute) {
1081
966
  if (this.oneIfSuccess) {
1082
967
  return this.execute(stmts).then((ct) => stmts.length)