pogi 2.11.0 → 3.0.0-beta3

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 (82) hide show
  1. package/.env +5 -0
  2. package/.vscode/launch.json +47 -15
  3. package/jest.config.js +23 -0
  4. package/lib/bin/generateInterface.js +3 -3
  5. package/lib/bin/generateInterface.js.map +1 -1
  6. package/lib/connectionOptions.d.ts +7 -0
  7. package/lib/index.d.ts +1 -1
  8. package/lib/pgConverters.d.ts +9 -10
  9. package/lib/pgConverters.js +44 -39
  10. package/lib/pgConverters.js.map +1 -1
  11. package/lib/pgConverters.test.d.ts +1 -0
  12. package/lib/pgConverters.test.js +13 -0
  13. package/lib/pgConverters.test.js.map +1 -0
  14. package/lib/pgDb.d.ts +23 -31
  15. package/lib/pgDb.js +122 -103
  16. package/lib/pgDb.js.map +1 -1
  17. package/lib/pgDb.test.d.ts +1 -0
  18. package/lib/pgDb.test.js +1126 -0
  19. package/lib/pgDb.test.js.map +1 -0
  20. package/lib/pgDbInterface.d.ts +22 -0
  21. package/lib/pgDbInterface.js +11 -0
  22. package/lib/pgDbInterface.js.map +1 -0
  23. package/lib/pgDbOperators.d.ts +3 -3
  24. package/lib/pgDbOperators.js +4 -7
  25. package/lib/pgDbOperators.js.map +1 -1
  26. package/lib/pgDbOperators.test.d.ts +1 -0
  27. package/lib/pgDbOperators.test.js +313 -0
  28. package/lib/pgDbOperators.test.js.map +1 -0
  29. package/lib/pgSchema.d.ts +2 -3
  30. package/lib/pgSchema.js.map +1 -1
  31. package/lib/pgSchemaInterface.d.ts +0 -0
  32. package/lib/pgSchemaInterface.js +2 -0
  33. package/lib/pgSchemaInterface.js.map +1 -0
  34. package/lib/pgTable.d.ts +13 -38
  35. package/lib/pgTable.js +54 -54
  36. package/lib/pgTable.js.map +1 -1
  37. package/lib/pgTableInterface.d.ts +28 -0
  38. package/lib/pgTableInterface.js +4 -0
  39. package/lib/pgTableInterface.js.map +1 -0
  40. package/lib/pgUtils.d.ts +16 -6
  41. package/lib/pgUtils.js +162 -31
  42. package/lib/pgUtils.js.map +1 -1
  43. package/lib/queryAble.d.ts +16 -53
  44. package/lib/queryAble.js +58 -50
  45. package/lib/queryAble.js.map +1 -1
  46. package/lib/queryAbleInterface.d.ts +55 -0
  47. package/lib/queryAbleInterface.js +7 -0
  48. package/lib/queryAbleInterface.js.map +1 -0
  49. package/lib/queryWhere.d.ts +2 -2
  50. package/lib/queryWhere.js +19 -23
  51. package/lib/queryWhere.js.map +1 -1
  52. package/lib/test/pgDbOperatorSpec.d.ts +1 -0
  53. package/lib/test/pgDbOperatorSpec.js +326 -0
  54. package/lib/test/pgDbOperatorSpec.js.map +1 -0
  55. package/lib/test/pgDbSpec.d.ts +1 -0
  56. package/lib/test/pgDbSpec.js +1139 -0
  57. package/lib/test/pgDbSpec.js.map +1 -0
  58. package/lib/test/pgServiceRestartTest.d.ts +1 -0
  59. package/lib/test/pgServiceRestartTest.js +1532 -0
  60. package/lib/test/pgServiceRestartTest.js.map +1 -0
  61. package/package.json +21 -14
  62. package/{src/tsconfig.json → tsconfig.json} +11 -11
  63. package/spec/resources/init.sql +0 -122
  64. package/spec/resources/throw_exception.sql +0 -5
  65. package/spec/resources/tricky.sql +0 -13
  66. package/spec/run.js +0 -5
  67. package/spec/support/jasmine.json +0 -9
  68. package/src/bin/generateInterface.ts +0 -54
  69. package/src/connectionOptions.ts +0 -42
  70. package/src/index.ts +0 -6
  71. package/src/pgConverters.ts +0 -55
  72. package/src/pgDb.ts +0 -820
  73. package/src/pgDbLogger.ts +0 -13
  74. package/src/pgDbOperators.ts +0 -62
  75. package/src/pgSchema.ts +0 -15
  76. package/src/pgTable.ts +0 -401
  77. package/src/pgUtils.ts +0 -176
  78. package/src/queryAble.ts +0 -393
  79. package/src/queryWhere.ts +0 -326
  80. package/src/test/pgDbOperatorSpec.ts +0 -492
  81. package/src/test/pgDbSpec.ts +0 -1339
  82. package/src/test/pgServiceRestartTest.ts +0 -1500
package/lib/pgDb.js CHANGED
@@ -1,17 +1,17 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PgDb = exports.TranzactionIsolationLevel = exports.FieldType = void 0;
3
+ exports.PgDb = exports.FieldType = void 0;
4
4
  const tslib_1 = require("tslib");
5
- const queryAble_1 = require("./queryAble");
6
- const pgTable_1 = require("./pgTable");
7
- const pgSchema_1 = require("./pgSchema");
8
- const PgConverters = require("./pgConverters");
9
- const pgUtils_1 = require("./pgUtils");
5
+ const EventEmitter = require("events");
6
+ const fs = require("fs");
10
7
  const _ = require("lodash");
11
8
  const pg = require("pg");
12
9
  const readline = require("readline");
13
- const fs = require("fs");
14
- const EventEmitter = require("events");
10
+ const PgConverters = require("./pgConverters");
11
+ const pgSchema_1 = require("./pgSchema");
12
+ const pgTable_1 = require("./pgTable");
13
+ const pgUtils_1 = require("./pgUtils");
14
+ const queryAble_1 = require("./queryAble");
15
15
  const CONNECTION_URL_REGEXP = /^postgres:\/\/(?:([^:]+)(?::([^@]*))?@)?([^\/:]+)?(?::([^\/]+))?\/(.*)$/;
16
16
  const SQL_TOKENIZER_REGEXP = /''|'|""|"|;|\$|--|\/\*|\*\/|(.+?)/g;
17
17
  const SQL_$_ESCAPE_REGEXP = /\$[^$]*\$/g;
@@ -32,13 +32,20 @@ FROM pg_proc p
32
32
  WHERE n.nspname NOT IN ('pg_catalog', 'pg_constraint', 'information_schema')
33
33
  AND tr.oid is null;`;
34
34
  const GET_CURRENT_SCHEMAS = "SELECT current_schemas(false)";
35
- const LIST_SPECIAL_TYPE_FIELDS = `SELECT c.nspname as schema_name, b.relname as table_name, a.attname as column_name, a.atttypid as typid
35
+ const LIST_SPECIAL_TYPE_FIELDS = `SELECT c.nspname as schema_name, b.relname as table_name, a.attname as column_name, a.atttypid as typid, t.typcategory
36
36
  FROM pg_attribute a
37
37
  JOIN pg_class b ON (a.attrelid = b.oid)
38
38
  JOIN pg_type t ON (a.atttypid = t.oid)
39
39
  JOIN pg_namespace c ON (b.relnamespace=c.oid)
40
40
  WHERE (a.atttypid in (114, 3802, 1082, 1083, 1114, 1184, 1266, 3614) or t.typcategory='A')
41
41
  AND reltype>0 `;
42
+ const TYPE2OID = `SELECT t.oid, typname FROM pg_catalog.pg_type t WHERE typname in (
43
+ '_bool',
44
+ 'int8','_int2','_int4','_int8','_float4','float8','_float8',
45
+ '_text','_varchar',
46
+ 'json','jsonb', '_json','_jsonb',
47
+ 'date','time','timestamp','timestamptz','timetz','_date','_time','_timestamp','_timestamptz','_timetz',
48
+ 'tsvector')`;
42
49
  var FieldType;
43
50
  (function (FieldType) {
44
51
  FieldType[FieldType["JSON"] = 0] = "JSON";
@@ -46,25 +53,25 @@ var FieldType;
46
53
  FieldType[FieldType["TIME"] = 2] = "TIME";
47
54
  FieldType[FieldType["TSVECTOR"] = 3] = "TSVECTOR";
48
55
  })(FieldType = exports.FieldType || (exports.FieldType = {}));
49
- var TranzactionIsolationLevel;
50
- (function (TranzactionIsolationLevel) {
51
- TranzactionIsolationLevel["serializable"] = "SERIALIZABLE";
52
- TranzactionIsolationLevel["repeatableRead"] = "REPEATABLE READ";
53
- TranzactionIsolationLevel["readCommitted"] = "READ COMMITTED";
54
- TranzactionIsolationLevel["readUncommitted"] = "READ UNCOMMITTED";
55
- })(TranzactionIsolationLevel = exports.TranzactionIsolationLevel || (exports.TranzactionIsolationLevel = {}));
56
56
  class PgDb extends queryAble_1.QueryAble {
57
- constructor(pgdb = {}) {
57
+ constructor(pgdb) {
58
58
  super();
59
+ this.connection = null;
59
60
  this.tables = {};
60
61
  this.fn = {};
61
62
  this.pgdbTypeParsers = {};
62
63
  this.knownOids = {};
63
64
  this.listeners = new EventEmitter();
65
+ this.connectionForListen = null;
64
66
  this._needToRestartConnectionForListen = false;
65
67
  this.restartConnectionForListen = null;
68
+ this.notificationListener = (notification) => this.listeners.emit(notification.channel, notification);
69
+ this.errorListener = (e) => {
70
+ this._needToRestartConnectionForListen = true;
71
+ this.tryToFixConnectionForListenActively();
72
+ };
66
73
  this.schemas = {};
67
- this.config = pgdb.config;
74
+ this.config = pgdb.config || {};
68
75
  this.pool = pgdb.pool;
69
76
  this.postProcessResult = pgdb.postProcessResult;
70
77
  this.pgdbTypeParsers = pgdb.pgdbTypeParsers || {};
@@ -84,14 +91,14 @@ class PgDb extends queryAble_1.QueryAble {
84
91
  schema[tableName] = schema.tables[tableName];
85
92
  }
86
93
  }
87
- this.defaultSchemas = pgdb.defaultSchemas;
94
+ this.defaultSchemas = pgdb.defaultSchemas || [];
88
95
  this.setDefaultTablesAndFunctions();
89
96
  }
90
97
  setPostProcessResult(f) {
91
98
  this.postProcessResult = f;
92
99
  }
93
100
  static getInstance(config) {
94
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
101
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
95
102
  if (config.connectionString) {
96
103
  let res = CONNECTION_URL_REGEXP.exec(config.connectionString);
97
104
  if (res) {
@@ -106,7 +113,7 @@ class PgDb extends queryAble_1.QueryAble {
106
113
  if (!PgDb.instances) {
107
114
  PgDb.instances = {};
108
115
  }
109
- if (PgDb.instances[connectionString]) {
116
+ if (PgDb.instances[connectionString] != null) {
110
117
  return PgDb.instances[connectionString];
111
118
  }
112
119
  else {
@@ -117,18 +124,18 @@ class PgDb extends queryAble_1.QueryAble {
117
124
  });
118
125
  }
119
126
  close() {
120
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
127
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
121
128
  for (let cs in PgDb.instances) {
122
129
  let db = yield PgDb.instances[cs];
123
130
  if (db.pool == this.pool) {
124
131
  delete PgDb.instances[cs];
125
132
  }
126
133
  }
127
- yield this.pool.end((err) => { });
134
+ yield new Promise((resolve) => this.pool.end(resolve));
128
135
  });
129
136
  }
130
137
  static connect(config) {
131
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
138
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
132
139
  if (config.connectionString) {
133
140
  let res = CONNECTION_URL_REGEXP.exec(config.connectionString);
134
141
  if (res) {
@@ -145,7 +152,7 @@ class PgDb extends queryAble_1.QueryAble {
145
152
  });
146
153
  }
147
154
  init() {
148
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
155
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
149
156
  this.pool = new pg.Pool(_.omit(this.config, ['logger', 'skipUndefined']));
150
157
  if (this.config.logger)
151
158
  this.setLogger(this.config.logger);
@@ -158,13 +165,13 @@ class PgDb extends queryAble_1.QueryAble {
158
165
  });
159
166
  }
160
167
  reload() {
161
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
168
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
162
169
  yield this.initSchemasAndTables();
163
170
  yield this.initFieldTypes();
164
171
  });
165
172
  }
166
173
  initSchemasAndTables() {
167
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
174
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
168
175
  let schemasAndTables = yield this.query(LIST_SCHEMAS_TABLES);
169
176
  let functions = yield this.query(GET_SCHEMAS_PROCEDURES);
170
177
  this.defaultSchemas = yield this.queryOneField(GET_CURRENT_SCHEMAS);
@@ -207,60 +214,65 @@ class PgDb extends queryAble_1.QueryAble {
207
214
  }
208
215
  }
209
216
  initFieldTypes() {
210
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
217
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
211
218
  let schemaNames = "'" + Object.keys(this.schemas).join("', '") + "'";
212
219
  if (schemaNames == "''") {
213
220
  this.getLogger(true).error("No readable schema found!");
214
221
  return;
215
222
  }
223
+ let type2oid = {};
224
+ let res = yield this.query(TYPE2OID);
225
+ for (let tt of res || []) {
226
+ type2oid[tt.typname] = +tt.oid;
227
+ }
216
228
  let specialTypeFields = yield this.query(LIST_SPECIAL_TYPE_FIELDS + ' AND c.nspname in (' + schemaNames + ')');
217
229
  for (let r of specialTypeFields) {
218
230
  if (this.schemas[r.schema_name][r.table_name]) {
219
231
  this.schemas[r.schema_name][r.table_name].fieldTypes[r.column_name] =
220
- ([3802, 114].indexOf(r.typid) > -1) ? FieldType.JSON :
221
- ([3614].indexOf(r.typid) > -1) ? FieldType.TSVECTOR :
222
- ([1082, 1083, 1114, 1184, 1266].indexOf(r.typid) > -1) ? FieldType.TIME :
232
+ ([type2oid['json'], type2oid['jsonb']].indexOf(r.typid) > -1) ? FieldType.JSON :
233
+ ([type2oid['tsvector']].indexOf(r.typid) > -1) ? FieldType.TSVECTOR :
234
+ ([type2oid['date'], type2oid['time'], type2oid['timestamp'], type2oid['timestamptz'], type2oid['timetz']].indexOf(r.typid) > -1) ? FieldType.TIME :
223
235
  FieldType.ARRAY;
224
236
  }
225
237
  }
226
238
  let builtInArrayTypeParsers = [
227
239
  {
228
240
  oidList: [
229
- 1000
241
+ type2oid['_bool']
230
242
  ],
231
- parser: PgConverters.arraySplitToBool
243
+ parser: PgConverters.parseBooleanArray
232
244
  },
233
245
  {
234
246
  oidList: [
235
- 1005,
236
- 1007,
237
- 1021
247
+ type2oid['_int2'],
248
+ type2oid['_int4'],
249
+ type2oid['_float4'],
238
250
  ],
239
- parser: PgConverters.arraySplitToNum
251
+ parser: PgConverters.parseNumberArray
240
252
  },
241
253
  {
242
254
  oidList: [
243
- 1009,
244
- 1015
255
+ type2oid['_text'],
256
+ type2oid['_varchar']
245
257
  ],
246
- parser: PgConverters.arraySplit
258
+ parser: PgConverters.parseArray
247
259
  },
248
260
  {
249
261
  oidList: [
250
- 199,
251
- 3807
262
+ type2oid['_json'],
263
+ type2oid['_jsonb']
252
264
  ],
253
- parser: PgConverters.arraySplitToJson
265
+ parser: PgConverters.parseJsonArray
254
266
  },
255
267
  {
256
268
  oidList: [
257
- 1115,
258
- 1182,
259
- 1183,
260
- 1185,
261
- 1270
269
+ type2oid['_date'],
270
+ type2oid['_time'],
271
+ type2oid['_timetz'],
272
+ type2oid['_timestamp'],
273
+ type2oid['_timestamptz'],
262
274
  ],
263
- parser: PgConverters.arraySplitToDate
275
+ parser: PgConverters.parseDateArray
264
276
  }
265
277
  ];
266
278
  builtInArrayTypeParsers.forEach(parserObj => {
@@ -275,29 +287,32 @@ class PgDb extends queryAble_1.QueryAble {
275
287
  continue;
276
288
  }
277
289
  switch (r.typid) {
278
- case 114:
279
- case 3802:
280
- case 1082:
281
- case 1083:
282
- case 1114:
283
- case 1184:
284
- case 1266:
285
- case 3614:
286
- break;
287
- case 1016:
288
- case 1022:
290
+ case type2oid['json']:
291
+ case type2oid['jsonb']:
292
+ case type2oid['date']:
293
+ case type2oid['time']:
294
+ case type2oid['timetz']:
295
+ case type2oid['timestamp']:
296
+ case type2oid['timestamptz']:
297
+ case type2oid['tsvector']:
298
+ case type2oid['_int8']:
299
+ case type2oid['_float8']:
289
300
  break;
290
301
  default:
291
- pg.types.setTypeParser(r.typid, PgConverters.arraySplit);
302
+ pg.types.setTypeParser(r.typid, PgConverters.parseArray);
292
303
  delete this.pgdbTypeParsers[r.typid];
293
304
  }
294
305
  }
295
- yield this.setPgDbTypeParser('int8', PgConverters.numWithValidation);
296
- yield this.setPgDbTypeParser('float8', PgConverters.numWithValidation);
297
- yield this.setPgDbTypeParser('_int8', PgConverters.stringArrayToNumWithValidation);
298
- yield this.setPgDbTypeParser('_float8', PgConverters.stringArrayToNumWithValidation);
306
+ this.pgdbTypeParsers[type2oid['int8']] = PgConverters.parseNumberWithValidation;
307
+ this.pgdbTypeParsers[type2oid['float8']] = PgConverters.parseNumberWithValidation;
308
+ this.pgdbTypeParsers[type2oid['_int8']] = PgConverters.parseNumberArrayWithValidation;
309
+ this.pgdbTypeParsers[type2oid['_float8']] = PgConverters.parseNumberArrayWithValidation;
310
+ this.knownOids[type2oid['int8']] = true;
311
+ this.knownOids[type2oid['float8']] = true;
312
+ this.knownOids[type2oid['_int8']] = true;
313
+ this.knownOids[type2oid['_float8']] = true;
299
314
  let allUsedTypeFields = yield this.queryOneColumn(`
300
- SELECT a.atttypid as typid
315
+ SELECT distinct a.atttypid as typid
301
316
  FROM pg_attribute a
302
317
  JOIN pg_class b ON (a.attrelid = b.oid)
303
318
  JOIN pg_type t ON (a.atttypid = t.oid)
@@ -309,7 +324,7 @@ class PgDb extends queryAble_1.QueryAble {
309
324
  });
310
325
  }
311
326
  setTypeParser(typeName, parser, schemaName) {
312
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
327
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
313
328
  try {
314
329
  if (schemaName) {
315
330
  let oid = yield this.queryOneField(GET_OID_FOR_COLUMN_TYPE_FOR_SCHEMA, { typeName, schemaName });
@@ -327,12 +342,12 @@ class PgDb extends queryAble_1.QueryAble {
327
342
  }
328
343
  }
329
344
  catch (e) {
330
- throw Error('Not existing type: ' + typeName);
345
+ throw new Error('Not existing type: ' + typeName);
331
346
  }
332
347
  });
333
348
  }
334
349
  setPgDbTypeParser(typeName, parser, schemaName) {
335
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
350
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
336
351
  try {
337
352
  if (schemaName) {
338
353
  let oid = yield this.queryOneField(GET_OID_FOR_COLUMN_TYPE_FOR_SCHEMA, { typeName, schemaName });
@@ -348,18 +363,18 @@ class PgDb extends queryAble_1.QueryAble {
348
363
  }
349
364
  }
350
365
  catch (e) {
351
- throw Error('Not existing type: ' + typeName);
366
+ throw new Error('Not existing type: ' + typeName);
352
367
  }
353
368
  });
354
369
  }
355
370
  resetMissingParsers(connection, oidList) {
356
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
371
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
357
372
  let unknownOids = oidList.filter(oid => !this.knownOids[oid]);
358
373
  if (unknownOids.length) {
359
374
  let fieldsData = yield connection.query(`select oid, typcategory from pg_type where oid = ANY($1)`, [unknownOids]);
360
375
  fieldsData.rows.forEach(fieldData => {
361
376
  if (fieldData.typcategory == 'A') {
362
- this.pgdbTypeParsers[fieldData.oid] = PgConverters.arraySplit;
377
+ this.pgdbTypeParsers[fieldData.oid] = PgConverters.parseArray;
363
378
  }
364
379
  this.knownOids[fieldData.oid] = true;
365
380
  });
@@ -367,19 +382,20 @@ class PgDb extends queryAble_1.QueryAble {
367
382
  });
368
383
  }
369
384
  dedicatedConnectionBegin() {
370
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
385
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
371
386
  if (this.needToFixConnectionForListen()) {
372
387
  yield this.runRestartConnectionForListen();
373
388
  }
374
389
  let pgDb = new PgDb(this);
375
390
  pgDb.connection = yield this.pool.connect();
376
- pgDb.connection.on('error', () => { });
391
+ pgDb.connection.on('error', queryAble_1.QueryAble.connectionErrorListener);
377
392
  return pgDb;
378
393
  });
379
394
  }
380
395
  dedicatedConnectionEnd() {
381
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
396
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
382
397
  if (this.connection) {
398
+ this.connection.off('error', queryAble_1.QueryAble.connectionErrorListener);
383
399
  try {
384
400
  yield this.connection.release();
385
401
  }
@@ -392,31 +408,31 @@ class PgDb extends queryAble_1.QueryAble {
392
408
  });
393
409
  }
394
410
  savePoint(name) {
395
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
411
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
396
412
  if (this.isTransactionActive()) {
397
413
  name = (name || '').replace(/"/g, '');
398
414
  yield this.query(`SAVEPOINT "${name}"`);
399
415
  }
400
416
  else {
401
- throw Error('No active transaction');
417
+ throw new Error('No active transaction');
402
418
  }
403
419
  return this;
404
420
  });
405
421
  }
406
422
  savePointRelease(name) {
407
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
423
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
408
424
  if (this.isTransactionActive()) {
409
425
  name = (name || '').replace(/"/g, '');
410
426
  yield this.query(`RELEASE SAVEPOINT "${name}"`);
411
427
  }
412
428
  else {
413
- throw Error('No active transaction');
429
+ throw new Error('No active transaction');
414
430
  }
415
431
  return this;
416
432
  });
417
433
  }
418
434
  transactionBegin(options) {
419
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
435
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
420
436
  let pgDb = this.connection ? this : yield this.dedicatedConnectionBegin();
421
437
  let q = 'BEGIN';
422
438
  if (options === null || options === void 0 ? void 0 : options.isolationLevel) {
@@ -433,13 +449,13 @@ class PgDb extends queryAble_1.QueryAble {
433
449
  });
434
450
  }
435
451
  transactionCommit() {
436
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
452
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
437
453
  yield this.query('COMMIT');
438
454
  return this.dedicatedConnectionEnd();
439
455
  });
440
456
  }
441
457
  transactionRollback(options) {
442
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
458
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
443
459
  if (options === null || options === void 0 ? void 0 : options.savePoint) {
444
460
  let name = (options.savePoint || '').replace(/"/g, '');
445
461
  yield this.query(`ROLLBACK TO SAVEPOINT "${name}"`);
@@ -455,7 +471,7 @@ class PgDb extends queryAble_1.QueryAble {
455
471
  return this.connection != null;
456
472
  }
457
473
  execute(fileName, statementTransformerFunction) {
458
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
474
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
459
475
  let isTransactionInPlace = this.isTransactionActive();
460
476
  let pgdb = isTransactionInPlace ? this : yield this.dedicatedConnectionBegin();
461
477
  let runStatementList = (statementList) => {
@@ -509,7 +525,7 @@ class PgDb extends queryAble_1.QueryAble {
509
525
  let s = line.slice(SQL_TOKENIZER_REGEXP.lastIndex - 1);
510
526
  let token = s.match(SQL_$_ESCAPE_REGEXP);
511
527
  if (!token) {
512
- throw Error('Invalid sql in line: ' + line);
528
+ throw new Error('Invalid sql in line: ' + line);
513
529
  }
514
530
  inQuotedString = token[0];
515
531
  SQL_TOKENIZER_REGEXP.lastIndex += inQuotedString.length - 1;
@@ -598,7 +614,7 @@ class PgDb extends queryAble_1.QueryAble {
598
614
  });
599
615
  }
600
616
  listen(channel, callback) {
601
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
617
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
602
618
  let restartConnectionError = null;
603
619
  if (this.needToFixConnectionForListen()) {
604
620
  restartConnectionError = yield this.runRestartConnectionForListen();
@@ -625,7 +641,7 @@ class PgDb extends queryAble_1.QueryAble {
625
641
  });
626
642
  }
627
643
  unlisten(channel, callback) {
628
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
644
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
629
645
  let restartConnectionError = null;
630
646
  if (this.needToFixConnectionForListen()) {
631
647
  restartConnectionError = yield this.runRestartConnectionForListen();
@@ -639,7 +655,7 @@ class PgDb extends queryAble_1.QueryAble {
639
655
  }
640
656
  try {
641
657
  yield this.internalQuery({ connection: this.connectionForListen, sql: `UNLISTEN "${channel}"` });
642
- if (this.listeners.eventNames().length == 1) {
658
+ if (this.connectionForListen && this.listeners.eventNames().length == 1) {
643
659
  this.connectionForListen.removeAllListeners('notification');
644
660
  this.connectionForListen.release();
645
661
  this.connectionForListen = null;
@@ -654,7 +670,7 @@ class PgDb extends queryAble_1.QueryAble {
654
670
  });
655
671
  }
656
672
  notify(channel, payload) {
657
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
673
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
658
674
  if (this.needToFixConnectionForListen()) {
659
675
  let restartConnectionError = yield this.runRestartConnectionForListen();
660
676
  if (restartConnectionError) {
@@ -677,21 +693,27 @@ class PgDb extends queryAble_1.QueryAble {
677
693
  });
678
694
  }
679
695
  runRestartConnectionForListen() {
680
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
696
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
681
697
  if (!this._needToRestartConnectionForListen) {
682
698
  return null;
683
699
  }
684
700
  let errorResult = null;
685
701
  if (!this.restartConnectionForListen) {
686
- this.restartConnectionForListen = (() => tslib_1.__awaiter(this, void 0, void 0, function* () {
702
+ this.restartConnectionForListen = (() => (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
687
703
  let eventNames = this.listeners.eventNames();
688
- try {
689
- yield this.connectionForListen.release();
690
- }
691
- catch (e) {
704
+ if (this.connectionForListen) {
705
+ try {
706
+ this.connectionForListen.on('notification', this.notificationListener);
707
+ this.connectionForListen.on('error', this.errorListener);
708
+ }
709
+ catch (e) { }
710
+ try {
711
+ yield this.connectionForListen.release();
712
+ }
713
+ catch (e) { }
714
+ this.connectionForListen = null;
692
715
  }
693
- this.connectionForListen = null;
694
- let error;
716
+ let error = null;
695
717
  if (eventNames.length) {
696
718
  try {
697
719
  yield this.initConnectionForListen();
@@ -721,7 +743,7 @@ class PgDb extends queryAble_1.QueryAble {
721
743
  return this._needToRestartConnectionForListen;
722
744
  }
723
745
  tryToFixConnectionForListenActively() {
724
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
746
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
725
747
  yield new Promise(r => setTimeout(r, 1000));
726
748
  let error = yield this.runRestartConnectionForListen();
727
749
  if (error) {
@@ -730,13 +752,10 @@ class PgDb extends queryAble_1.QueryAble {
730
752
  });
731
753
  }
732
754
  initConnectionForListen() {
733
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
755
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
734
756
  this.connectionForListen = yield this.pool.connect();
735
- this.connectionForListen.on('notification', (notification) => this.listeners.emit(notification.channel, notification));
736
- this.connectionForListen.on('error', (e) => {
737
- this._needToRestartConnectionForListen = true;
738
- this.tryToFixConnectionForListenActively();
739
- });
757
+ this.connectionForListen.on('notification', this.notificationListener);
758
+ this.connectionForListen.on('error', this.errorListener);
740
759
  });
741
760
  }
742
761
  }
package/lib/pgDb.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"pgDb.js","sourceRoot":"","sources":["../src/pgDb.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pgDb.js","sourceRoot":"","sources":["../src/pgDb.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};