node-firebird-driver 3.2.0 → 3.3.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.
Files changed (42) hide show
  1. package/README.md +7 -4
  2. package/dist/lib/impl/attachment.d.ts +4 -4
  3. package/dist/lib/impl/attachment.js +8 -6
  4. package/dist/lib/impl/attachment.js.map +1 -1
  5. package/dist/lib/impl/blob.d.ts +0 -1
  6. package/dist/lib/impl/blob.js.map +1 -1
  7. package/dist/lib/impl/client.js +3 -2
  8. package/dist/lib/impl/client.js.map +1 -1
  9. package/dist/lib/impl/date-time.js +6 -6
  10. package/dist/lib/impl/date-time.js.map +1 -1
  11. package/dist/lib/impl/events.js +2 -1
  12. package/dist/lib/impl/events.js.map +1 -1
  13. package/dist/lib/impl/fb-util.d.ts +2 -2
  14. package/dist/lib/impl/fb-util.js +107 -88
  15. package/dist/lib/impl/fb-util.js.map +1 -1
  16. package/dist/lib/impl/resultset.js +11 -5
  17. package/dist/lib/impl/resultset.js.map +1 -1
  18. package/dist/lib/impl/statement.js +4 -2
  19. package/dist/lib/impl/statement.js.map +1 -1
  20. package/dist/lib/impl/time-zones.js +7 -6
  21. package/dist/lib/impl/time-zones.js.map +1 -1
  22. package/dist/lib/impl/transaction.js +2 -1
  23. package/dist/lib/impl/transaction.js.map +1 -1
  24. package/dist/lib/index.d.ts +8 -2
  25. package/dist/lib/index.js +7 -1
  26. package/dist/lib/index.js.map +1 -1
  27. package/dist/test/tests.js +177 -70
  28. package/dist/test/tests.js.map +1 -1
  29. package/package.json +6 -5
  30. package/src/lib/impl/attachment.ts +290 -253
  31. package/src/lib/impl/blob.ts +37 -35
  32. package/src/lib/impl/client.ts +60 -61
  33. package/src/lib/impl/date-time.ts +33 -33
  34. package/src/lib/impl/events.ts +17 -18
  35. package/src/lib/impl/fb-util.ts +552 -448
  36. package/src/lib/impl/resultset.ts +94 -86
  37. package/src/lib/impl/statement.ts +154 -127
  38. package/src/lib/impl/time-zones.ts +643 -641
  39. package/src/lib/impl/transaction.ts +37 -38
  40. package/src/lib/index.ts +325 -285
  41. package/src/test/tests.ts +996 -860
  42. package/tsconfig.json +7 -13
@@ -1,9 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.runCommonTests = void 0;
3
+ exports.runCommonTests = runCommonTests;
4
4
  const lib_1 = require("../lib");
5
5
  const fs = require("fs-extra-promise");
6
6
  const tmp = require("temp-fs");
7
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
7
8
  require('dotenv').config({ path: '../../.env' });
8
9
  function runCommonTests(client) {
9
10
  function dateToString(d) {
@@ -13,20 +14,22 @@ function runCommonTests(client) {
13
14
  return d && `${d.getHours()}:${d.getMinutes()}:${d.getSeconds()}.${d.getMilliseconds()}`;
14
15
  }
15
16
  function timeTzToString(zd) {
16
- if (!zd)
17
+ if (!zd) {
17
18
  return null;
18
- const d = new Date(zd.date.getTime() + (zd.offset * 60 * 1000));
19
+ }
20
+ const d = new Date(zd.date.getTime() + zd.offset * 60 * 1000);
19
21
  return `time '${d.getUTCHours()}:${d.getUTCMinutes()}:${d.getUTCSeconds()}.${d.getUTCMilliseconds()} ${zd.timeZone}'`;
20
22
  }
21
23
  function dateTimeToString(d) {
22
24
  return d && `${dateToString(d)} ${timeToString(d)}`;
23
25
  }
24
26
  function dateTimeTzToString(zd) {
25
- if (!zd)
27
+ if (!zd) {
26
28
  return null;
27
- const d = new Date(zd.date.getTime() + (zd.offset * 60 * 1000));
28
- return `timestamp '${(d.getUTCFullYear() + '').padStart(4, '0')}-${d.getUTCMonth() + 1}-${d.getUTCDate()} ` +
29
- `${d.getUTCHours()}:${d.getUTCMinutes()}:${d.getUTCSeconds()}.${d.getUTCMilliseconds()} ${zd.timeZone}'`;
29
+ }
30
+ const d = new Date(zd.date.getTime() + zd.offset * 60 * 1000);
31
+ return (`timestamp '${(d.getUTCFullYear() + '').padStart(4, '0')}-${d.getUTCMonth() + 1}-${d.getUTCDate()} ` +
32
+ `${d.getUTCHours()}:${d.getUTCMinutes()}:${d.getUTCSeconds()}.${d.getUTCMilliseconds()} ${zd.timeZone}'`);
30
33
  }
31
34
  describe('node-firebird-driver', () => {
32
35
  const testConfig = {
@@ -34,19 +37,17 @@ function runCommonTests(client) {
34
37
  password: process.env.ISC_PASSWORD,
35
38
  host: process.env.NODE_FB_TEST_HOST,
36
39
  port: process.env.NODE_FB_TEST_PORT,
37
- tmpDir: process.env.NODE_FB_TEST_TMP_DIR
40
+ tmpDir: process.env.NODE_FB_TEST_TMP_DIR,
38
41
  };
39
42
  function isLocal() {
40
- return testConfig.host == undefined ||
41
- testConfig.host == 'localhost' ||
42
- testConfig.host == '127.0.0.1';
43
+ return testConfig.host == undefined || testConfig.host == 'localhost' || testConfig.host == '127.0.0.1';
43
44
  }
44
45
  function getTempFile(name) {
45
46
  const database = `${testConfig.tmpDir}/${name}`;
46
- return (testConfig.host ?? '') +
47
+ return ((testConfig.host ?? '') +
47
48
  (testConfig.host && testConfig.port ? `/${testConfig.port}` : '') +
48
49
  (testConfig.host ? ':' : '') +
49
- database;
50
+ database);
50
51
  }
51
52
  jest.setTimeout(10000);
52
53
  beforeAll(() => {
@@ -58,21 +59,22 @@ function runCommonTests(client) {
58
59
  }
59
60
  const defaultOptions = {
60
61
  password: testConfig.password,
61
- username: testConfig.username
62
+ username: testConfig.username,
62
63
  };
63
64
  client.defaultCreateDatabaseOptions = {
64
65
  forcedWrite: false,
65
- ...defaultOptions
66
+ ...defaultOptions,
66
67
  };
67
68
  client.defaultConnectOptions = {
68
- ...defaultOptions
69
+ ...defaultOptions,
69
70
  };
70
71
  });
71
72
  afterAll(async () => {
72
73
  await client.dispose();
73
74
  expect(client.isValid).toBeFalsy();
74
- if (isLocal())
75
+ if (isLocal()) {
75
76
  fs.rmdirSync(testConfig.tmpDir);
77
+ }
76
78
  });
77
79
  describe('Client', () => {
78
80
  test('#createDatabase()', async () => {
@@ -90,22 +92,55 @@ function runCommonTests(client) {
90
92
  expect(attachment1.isValid).toBeFalsy();
91
93
  expect(attachment2.isValid).toBeFalsy();
92
94
  });
95
+ test('setDatabaseReadWriteMode', async () => {
96
+ const filename = getTempFile('setDatabaseReadWriteMode.fdb');
97
+ const attachment1 = await client.createDatabase(filename);
98
+ await attachment1.disconnect();
99
+ const attachment2 = await client.connect(filename, {
100
+ setDatabaseReadWriteMode: lib_1.DatabaseReadWriteMode.READ_ONLY,
101
+ });
102
+ try {
103
+ const transaction = await attachment2.startTransaction();
104
+ await expect(attachment2.execute(transaction, 'create table t1 (id integer)')).rejects.toThrow();
105
+ await transaction.rollback();
106
+ }
107
+ finally {
108
+ await attachment2.disconnect();
109
+ }
110
+ const attachment3 = await client.connect(filename, {
111
+ setDatabaseReadWriteMode: lib_1.DatabaseReadWriteMode.READ_WRITE,
112
+ });
113
+ try {
114
+ const transaction = await attachment3.startTransaction();
115
+ await attachment3.execute(transaction, 'create table t1 (id integer)');
116
+ await transaction.commit();
117
+ }
118
+ finally {
119
+ await attachment3.disconnect();
120
+ }
121
+ const attachment4 = await client.connect(filename);
122
+ await attachment4.dropDatabase();
123
+ });
93
124
  });
94
125
  describe('Attachment', () => {
95
126
  test('#startTransaction()', async () => {
96
127
  const attachment = await client.createDatabase(getTempFile('Attachment-startTransaction.fdb'));
97
- const isolationQuery = 'select rdb$get_context(\'SYSTEM\', \'ISOLATION_LEVEL\') from rdb$database';
128
+ const isolationQuery = "select rdb$get_context('SYSTEM', 'ISOLATION_LEVEL') from rdb$database";
98
129
  const transaction1 = await attachment.startTransaction();
99
130
  expect(transaction1.isValid).toBeTruthy();
100
131
  expect((await attachment.executeSingleton(transaction1, isolationQuery))[0]).toBe('SNAPSHOT');
101
132
  await transaction1.commit();
102
133
  expect(transaction1.isValid).toBeFalsy();
103
- const transaction2 = await attachment.startTransaction({ isolation: lib_1.TransactionIsolation.READ_COMMITTED });
134
+ const transaction2 = await attachment.startTransaction({
135
+ isolation: lib_1.TransactionIsolation.READ_COMMITTED,
136
+ });
104
137
  expect(transaction2.isValid).toBeTruthy();
105
138
  expect((await attachment.executeSingleton(transaction2, isolationQuery))[0]).toBe('READ COMMITTED');
106
139
  await transaction2.commit();
107
140
  expect(transaction2.isValid).toBeFalsy();
108
- const transaction3 = await attachment.startTransaction({ isolation: lib_1.TransactionIsolation.CONSISTENCY });
141
+ const transaction3 = await attachment.startTransaction({
142
+ isolation: lib_1.TransactionIsolation.CONSISTENCY,
143
+ });
109
144
  expect(transaction3.isValid).toBeTruthy();
110
145
  expect((await attachment.executeSingleton(transaction3, isolationQuery))[0]).toBe('CONSISTENCY');
111
146
  await transaction3.commit();
@@ -125,10 +160,7 @@ function runCommonTests(client) {
125
160
  }
126
161
  catch (e) {
127
162
  error = e;
128
- expect(error.message).toBe('Dynamic SQL Error\n' +
129
- '-SQL error code = -104\n' +
130
- '-Token unknown - line 1, column 8\n' +
131
- '-select');
163
+ expect(error.message).toBe('Dynamic SQL Error\n' + '-SQL error code = -104\n' + '-Token unknown - line 1, column 8\n' + '-select');
132
164
  }
133
165
  expect(error).toBeTruthy();
134
166
  await transaction.commit();
@@ -202,7 +234,7 @@ function runCommonTests(client) {
202
234
  const attachment = await client.createDatabase(getTempFile('Attachment-queueEvents.fdb'));
203
235
  const eventNames = [
204
236
  ['EVENT1', 16],
205
- ['EVENT2', 8]
237
+ ['EVENT2', 8],
206
238
  ];
207
239
  const eventsObj = eventNames.map(([name, expected]) => {
208
240
  let resolver = undefined;
@@ -210,20 +242,21 @@ function runCommonTests(client) {
210
242
  name,
211
243
  expected,
212
244
  count: 0,
213
- promise: new Promise(resolve => resolver = resolve)
245
+ promise: new Promise((resolve) => (resolver = resolve)),
214
246
  };
215
247
  return { ...obj, resolver };
216
248
  });
217
- const eventsMap = new Map(eventsObj.map(ev => [ev.name, ev]));
249
+ const eventsMap = new Map(eventsObj.map((ev) => [ev.name, ev]));
218
250
  const eventHandler = async (counters) => {
219
251
  counters.forEach(([name, count]) => {
220
252
  const obj = eventsMap.get(name);
221
253
  const newCount = obj.count + count;
222
254
  obj.count = newCount;
223
- if (newCount >= obj.expected)
255
+ if (newCount >= obj.expected) {
224
256
  obj.resolver();
257
+ }
225
258
  });
226
- if (Array.from(eventsMap.values()).every(obj => obj.count >= obj.expected)) {
259
+ if (Array.from(eventsMap.values()).every((obj) => obj.count >= obj.expected)) {
227
260
  if (events) {
228
261
  await events.cancel();
229
262
  expect(events.isValid).toBeFalsy();
@@ -256,10 +289,11 @@ function runCommonTests(client) {
256
289
  await transaction.commit();
257
290
  expect(transaction.isValid).toBeFalsy();
258
291
  }
259
- await Promise.all(eventsObj.map(ev => ev.promise));
260
- if (events)
292
+ await Promise.all(eventsObj.map((ev) => ev.promise));
293
+ if (events) {
261
294
  await events.cancel();
262
- eventsObj.forEach(ev => expect(ev.count).toBeGreaterThanOrEqual(ev.expected));
295
+ }
296
+ eventsObj.forEach((ev) => expect(ev.count).toBeGreaterThanOrEqual(ev.expected));
263
297
  await attachment.dropDatabase();
264
298
  });
265
299
  test('#cancelOperation()', async () => {
@@ -272,9 +306,10 @@ function runCommonTests(client) {
272
306
  await attachment.execute(transaction1, 'update t1 set n1 = n1 + 1');
273
307
  await attachment.enableCancellation(true);
274
308
  const transaction2 = await attachment.startTransaction();
275
- const promise = attachment.execute(transaction2, 'update t1 set n1 = n1 - 1')
276
- .catch(e => `Error: ${e.message}`);
277
- await new Promise(resolve => setTimeout(resolve, 1000));
309
+ const promise = attachment
310
+ .execute(transaction2, 'update t1 set n1 = n1 - 1')
311
+ .catch((e) => `Error: ${e.message}`);
312
+ await new Promise((resolve) => setTimeout(resolve, 1000));
278
313
  await attachment.cancelOperation();
279
314
  await expect(promise).resolves.toEqual('Error: operation was cancelled');
280
315
  await transaction2.commit();
@@ -432,55 +467,116 @@ function runCommonTests(client) {
432
467
  const fields = [
433
468
  { name: 'x_short', type: 'numeric(2)', valToStr: (v) => v },
434
469
  { name: 'x_int', type: 'integer', valToStr: (v) => v },
435
- { name: 'x_int_scale', type: 'numeric(5, 2)', valToStr: (v) => v },
470
+ {
471
+ name: 'x_int_scale',
472
+ type: 'numeric(5, 2)',
473
+ valToStr: (v) => v,
474
+ },
436
475
  { name: 'x_bigint', type: 'bigint', valToStr: (v) => v },
437
- { name: 'x_bigint_scale', type: 'numeric(15, 2)', valToStr: (v) => v },
476
+ {
477
+ name: 'x_bigint_scale',
478
+ type: 'numeric(15, 2)',
479
+ valToStr: (v) => v,
480
+ },
438
481
  { name: 'x_int128', type: 'int128', valToStr: (v) => v },
439
- { name: 'x_int128_scale', type: 'numeric(20, 2)', valToStr: (v) => v },
482
+ {
483
+ name: 'x_int128_scale',
484
+ type: 'numeric(20, 2)',
485
+ valToStr: (v) => v,
486
+ },
440
487
  { name: 'x_dec16', type: 'decfloat(16)', valToStr: (v) => v },
441
488
  { name: 'x_dec34', type: 'decfloat(34)', valToStr: (v) => v },
442
- { name: 'x_double', type: 'double precision', valToStr: (v) => v },
443
- { name: 'x_date1', type: 'date', valToStr: (v) => `date '${dateToString(v)}'` },
444
- { name: 'x_date2', type: 'date', valToStr: (v) => `date '${dateToString(v)}'` },
445
- { name: 'x_date3', type: 'date', valToStr: (v) => `date '${dateToString(v)}'` },
446
- { name: 'x_time', type: 'time', valToStr: (v) => `time '${timeToString(v)}'` },
489
+ {
490
+ name: 'x_double',
491
+ type: 'double precision',
492
+ valToStr: (v) => v,
493
+ },
494
+ {
495
+ name: 'x_date1',
496
+ type: 'date',
497
+ valToStr: (v) => `date '${dateToString(v)}'`,
498
+ },
499
+ {
500
+ name: 'x_date2',
501
+ type: 'date',
502
+ valToStr: (v) => `date '${dateToString(v)}'`,
503
+ },
504
+ {
505
+ name: 'x_date3',
506
+ type: 'date',
507
+ valToStr: (v) => `date '${dateToString(v)}'`,
508
+ },
509
+ {
510
+ name: 'x_time',
511
+ type: 'time',
512
+ valToStr: (v) => `time '${timeToString(v)}'`,
513
+ },
447
514
  {
448
515
  name: 'x_time_tz1',
449
516
  type: 'time with time zone',
450
- valToStr: (v) => `${timeTzToString({ date: v.date, timeZone: 'GMT', offset: 0 })} at time zone '${v.timeZone}'`
517
+ valToStr: (v) => `${timeTzToString({ date: v.date, timeZone: 'GMT', offset: 0 })} at time zone '${v.timeZone}'`,
451
518
  },
452
519
  {
453
520
  name: 'x_time_tz2',
454
521
  type: 'time with time zone',
455
- valToStr: (v) => `${timeTzToString({ date: v.date, timeZone: 'GMT', offset: 0 })} at time zone '${v.timeZone}'`
522
+ valToStr: (v) => `${timeTzToString({ date: v.date, timeZone: 'GMT', offset: 0 })} at time zone '${v.timeZone}'`,
523
+ },
524
+ {
525
+ name: 'x_timestamp1',
526
+ type: 'timestamp',
527
+ valToStr: (v) => `timestamp '${dateTimeToString(v)}'`,
528
+ },
529
+ {
530
+ name: 'x_timestamp2',
531
+ type: 'timestamp',
532
+ valToStr: (v) => `timestamp '${dateTimeToString(v)}'`,
533
+ },
534
+ {
535
+ name: 'x_timestamp3',
536
+ type: 'timestamp',
537
+ valToStr: (v) => `timestamp '${dateTimeToString(v)}'`,
456
538
  },
457
- { name: 'x_timestamp1', type: 'timestamp', valToStr: (v) => `timestamp '${dateTimeToString(v)}'` },
458
- { name: 'x_timestamp2', type: 'timestamp', valToStr: (v) => `timestamp '${dateTimeToString(v)}'` },
459
- { name: 'x_timestamp3', type: 'timestamp', valToStr: (v) => `timestamp '${dateTimeToString(v)}'` },
460
539
  {
461
540
  name: 'x_timestamp_tz1',
462
541
  type: 'timestamp with time zone',
463
- valToStr: (v) => `${dateTimeTzToString({ date: v.date, timeZone: 'GMT', offset: 0 })} at time zone '${v.timeZone}'`
542
+ valToStr: (v) => `${dateTimeTzToString({ date: v.date, timeZone: 'GMT', offset: 0 })} at time zone '${v.timeZone}'`,
464
543
  },
465
544
  {
466
545
  name: 'x_timestamp_tz2',
467
546
  type: 'timestamp with time zone',
468
- valToStr: (v) => `${dateTimeTzToString({ date: v.date, timeZone: 'GMT', offset: 0 })} at time zone '${v.timeZone}'`
547
+ valToStr: (v) => `${dateTimeTzToString({ date: v.date, timeZone: 'GMT', offset: 0 })} at time zone '${v.timeZone}'`,
469
548
  },
470
549
  { name: 'x_boolean', type: 'boolean', valToStr: (v) => v },
471
- { name: 'x_varchar', type: 'varchar(10) character set utf8', valToStr: (v) => `'${v}'` },
472
- { name: 'x_char', type: 'char(10) character set utf8', valToStr: (v) => `'${v}'` },
473
- { name: 'x_blob1', type: 'blob', valToStr: (v) => `'${v.toString()}'` },
474
- { name: 'x_blob2', type: 'blob', valToStr: () => `'${blobBuffer.toString()}'` }
550
+ {
551
+ name: 'x_varchar',
552
+ type: 'varchar(10) character set utf8',
553
+ valToStr: (v) => `'${v}'`,
554
+ },
555
+ {
556
+ name: 'x_char',
557
+ type: 'char(10) character set utf8',
558
+ valToStr: (v) => `'${v}'`,
559
+ },
560
+ {
561
+ name: 'x_blob1',
562
+ type: 'blob',
563
+ valToStr: (v) => `'${v.toString()}'`,
564
+ },
565
+ {
566
+ name: 'x_blob2',
567
+ type: 'blob',
568
+ valToStr: () => `'${blobBuffer.toString()}'`,
569
+ },
475
570
  ];
476
- const statement1 = await attachment.prepare(transaction, `create table t1 (${fields.map(f => `${f.name} ${f.type}`).join(', ')})`);
571
+ const statement1 = await attachment.prepare(transaction, `create table t1 (${fields.map((f) => `${f.name} ${f.type}`).join(', ')})`);
477
572
  await statement1.execute(transaction);
478
573
  await statement1.dispose();
479
574
  await transaction.commitRetaining();
480
575
  const recordCount = 5;
481
576
  let parameters;
482
- { // scope
483
- const statement2a = await attachment.prepare(transaction, `insert into t1 (${fields.map(f => f.name).join(', ')}) values (${fields.map(() => '?').join(', ')})`);
577
+ {
578
+ // scope
579
+ const statement2a = await attachment.prepare(transaction, `insert into t1 (${fields.map((f) => f.name).join(', ')}) values (${fields.map(() => '?').join(', ')})`);
484
580
  // Test execution in a new transaction, after the one used in prepare was committed.
485
581
  await transaction.commit();
486
582
  transaction = await attachment.startTransaction();
@@ -507,32 +603,41 @@ function runCommonTests(client) {
507
603
  new Date(2020, 1 - 1, 1, 11, 56, 32, 123),
508
604
  {
509
605
  date: new Date(Date.UTC(2020, 1 - 1, 1, 11, 56, 32, 123)),
510
- timeZone: 'America/New_York'
606
+ timeZone: 'America/New_York',
511
607
  },
512
608
  {
513
609
  date: new Date(Date.UTC(2020, 1 - 1, 1, 11, 56, 32, 123)),
514
- timeZone: 'America/Sao_Paulo'
610
+ timeZone: 'America/Sao_Paulo',
515
611
  },
516
612
  new Date(2017, 3 - 1, 26, 11, 56, 32, 123),
517
613
  new Date(new Date(2000, 3 - 1, 26, 11, 56, 32, 123).setFullYear(50)),
518
614
  new Date(9999, 3 - 1, 26, 11, 56, 32, 123),
519
- { date: new Date(Date.UTC(2021, 6 - 1, 7, 11, 56, 32, 123)), timeZone: 'America/New_York' },
520
- { date: new Date(Date.UTC(2021, 6 - 1, 7, 11, 56, 32, 123)), timeZone: 'America/Sao_Paulo' },
615
+ {
616
+ date: new Date(Date.UTC(2021, 6 - 1, 7, 11, 56, 32, 123)),
617
+ timeZone: 'America/New_York',
618
+ },
619
+ {
620
+ date: new Date(Date.UTC(2021, 6 - 1, 7, 11, 56, 32, 123)),
621
+ timeZone: 'America/Sao_Paulo',
622
+ },
521
623
  true,
522
624
  '123áé4567',
523
625
  '123áé4567',
524
626
  blobBuffer,
525
- blob
627
+ blob,
526
628
  ];
527
- for (let i = 0; i < recordCount; ++i)
629
+ for (let i = 0; i < recordCount; ++i) {
528
630
  await statement2a.execute(transaction, parameters);
631
+ }
529
632
  await statement2a.dispose();
530
633
  }
531
- { // scope
532
- const statement2b = await attachment.prepare(transaction, `insert into t1 (${fields.map(f => f.name).join(', ')}) ` +
634
+ {
635
+ // scope
636
+ const statement2b = await attachment.prepare(transaction, `insert into t1 (${fields.map((f) => f.name).join(', ')}) ` +
533
637
  `values (${parameters.map((val, index) => fields[index].valToStr(val)).join(', ')})`);
534
- for (let i = 0; i < recordCount; ++i)
638
+ for (let i = 0; i < recordCount; ++i) {
535
639
  await statement2b.execute(transaction);
640
+ }
536
641
  await statement2b.dispose();
537
642
  }
538
643
  await transaction.commitRetaining();
@@ -666,7 +771,7 @@ function runCommonTests(client) {
666
771
  test('#fetch() with fetchSize and exception', async () => {
667
772
  const attachment = await client.createDatabase(getTempFile('ResultSet-fetch-with-fetchSize.fdb'));
668
773
  const transaction = await attachment.startTransaction();
669
- await attachment.execute(transaction, 'create exception e1 \'e1\'');
774
+ await attachment.execute(transaction, "create exception e1 'e1'");
670
775
  await transaction.commitRetaining();
671
776
  const rs = await attachment.executeQuery(transaction, `
672
777
  execute block returns (n integer)
@@ -705,8 +810,9 @@ function runCommonTests(client) {
705
810
  const resultBuffer = Buffer.alloc(blobLength);
706
811
  let size = 0;
707
812
  let n;
708
- while (size < blobLength && (n = await readStream.read(resultBuffer.slice(size))) > 0)
813
+ while (size < blobLength && (n = await readStream.read(resultBuffer.slice(size))) > 0) {
709
814
  size += n;
815
+ }
710
816
  await readStream.close();
711
817
  expect(resultBuffer.toString().length).toEqual(buffer.toString().length);
712
818
  expect(resultBuffer.toString()).toEqual(buffer.toString());
@@ -721,7 +827,9 @@ function runCommonTests(client) {
721
827
  const transaction = await attachment.startTransaction();
722
828
  await attachment.execute(transaction, 'create table t1 (b blob)');
723
829
  await transaction.commitRetaining();
724
- const blobStream = await attachment.createBlob(transaction, { type: 'STREAM' });
830
+ const blobStream = await attachment.createBlob(transaction, {
831
+ type: 'STREAM',
832
+ });
725
833
  await blobStream.write(Buffer.alloc(10, '1234567890'));
726
834
  await blobStream.close();
727
835
  await attachment.execute(transaction, 'insert into t1 (b) values (?)', [blobStream.blob]);
@@ -746,5 +854,4 @@ function runCommonTests(client) {
746
854
  });
747
855
  });
748
856
  }
749
- exports.runCommonTests = runCommonTests;
750
857
  //# sourceMappingURL=tests.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tests.js","sourceRoot":"","sources":["../../src/test/tests.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tests.js","sourceRoot":"","sources":["../../src/test/tests.ts"],"names":[],"mappings":"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"}