monetdb 2.0.2 → 2.1.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.
package/dist/mapi.d.ts CHANGED
@@ -82,6 +82,7 @@ declare class Response {
82
82
  parseOffset: number;
83
83
  stream: boolean;
84
84
  settled: boolean;
85
+ headerEmitted: boolean;
85
86
  segments: Segment[];
86
87
  result?: QueryResult;
87
88
  callbacks: ResponseCallbacks;
@@ -102,7 +103,7 @@ declare class Response {
102
103
  isMsgMore(): boolean;
103
104
  toString(start?: number): string;
104
105
  settle(res?: Promise<any>): void;
105
- parse(data: string, res: any[]): number;
106
+ parseQueryResponse(data: string, res: any[]): number;
106
107
  }
107
108
  declare class Segment {
108
109
  offset: number;
package/dist/mapi.js CHANGED
@@ -277,6 +277,7 @@ class Response {
277
277
  this.parseOffset = 0;
278
278
  this.segments = [];
279
279
  this.settled = false;
280
+ this.headerEmitted = false;
280
281
  this.stream = opt.stream;
281
282
  this.callbacks = opt.callbacks;
282
283
  this.fileHandler = opt.fileHandler;
@@ -322,13 +323,16 @@ class Response {
322
323
  }
323
324
  if (this.isQueryResponse()) {
324
325
  const tuples = [];
325
- const firstPackage = this.parseOffset === 0;
326
- this.parseOffset += this.parse(this.toString(this.parseOffset), tuples);
326
+ // const firstPackage = this.parseOffset === 0;
327
+ this.parseOffset += this.parseQueryResponse(this.toString(this.parseOffset), tuples);
327
328
  if (tuples.length > 0) {
328
329
  if (this.queryStream) {
329
330
  // emit header once
330
- if (firstPackage && this.result && this.result.columns) {
331
+ if (this.headerEmitted === false &&
332
+ this.result &&
333
+ this.result.columns) {
331
334
  this.queryStream.emit("header", this.result.columns);
335
+ this.headerEmitted = true;
332
336
  }
333
337
  // emit tuples
334
338
  this.queryStream.emit("data", tuples);
@@ -441,101 +445,90 @@ class Response {
441
445
  this.settled = true;
442
446
  }
443
447
  }
444
- parse(data, res) {
448
+ parseQueryResponse(data, res) {
445
449
  let offset = 0;
446
- const lines = data.split("\n").length;
447
- if (this.isQueryResponse()) {
448
- let eol = data.indexOf("\n");
449
- this.result = this.result || {};
450
- if (this.result.type === undefined &&
451
- data.startsWith(MSG_Q) &&
452
- lines > 0) {
453
- // process 1st line
454
- const line = data.substring(0, eol);
455
- this.result.type = line.substring(0, 2);
456
- const rest = line.substring(3).trim().split(" ");
457
- if (this.result.type === MSG_QTABLE) {
458
- const [id, rowCnt, columnCnt, rows, queryId, queryTime, malOptimizerTime, sqlOptimizerTime,] = rest;
459
- this.result.id = parseInt(id);
460
- this.result.rowCnt = parseInt(rowCnt);
461
- this.result.columnCnt = parseInt(columnCnt);
462
- this.result.queryId = parseInt(queryId);
463
- this.result.queryTime = parseInt(queryTime);
464
- this.result.malOptimizerTime = parseInt(malOptimizerTime);
465
- this.result.sqlOptimizerTime = parseInt(sqlOptimizerTime);
466
- }
467
- else if (this.result.type === MSG_QUPDATE) {
468
- const [affectedRowCnt, autoIncrementId, queryId, queryTime, malOptimizerTime, sqlOptimizerTime,] = rest;
469
- this.result.affectedRows = parseInt(affectedRowCnt);
470
- this.result.queryId = parseInt(queryId);
471
- this.result.queryTime = parseInt(queryTime);
472
- this.result.malOptimizerTime = parseInt(malOptimizerTime);
473
- this.result.sqlOptimizerTime = parseInt(sqlOptimizerTime);
474
- }
475
- else if (this.result.type === MSG_QSCHEMA) {
476
- const [queryTime, malOptimizerTime] = rest;
477
- this.result.queryTime = parseInt(queryTime);
478
- this.result.malOptimizerTime = parseInt(malOptimizerTime);
479
- }
480
- else if (this.result.type === MSG_QTRANS) {
481
- // skip
482
- }
483
- else if (this.result.type === MSG_QPREPARE) {
484
- const [id, rowCnt, columnCnt, rows] = rest;
485
- this.result.id = parseInt(id);
486
- this.result.rowCnt = parseInt(rowCnt);
487
- this.result.columnCnt = parseInt(columnCnt);
488
- }
489
- // end 1st line
490
- if (this.headers === undefined &&
491
- data.charAt(eol + 1) === MSG_HEADER &&
492
- lines > 5) {
493
- let headers = {};
494
- while (data.charAt(eol + 1) === MSG_HEADER) {
495
- const hs = eol + 1;
496
- eol = data.indexOf("\n", hs);
497
- headers = Object.assign(Object.assign({}, headers), parseHeaderLine(data.substring(hs, eol)));
450
+ let eol = data.indexOf("\n");
451
+ let line = eol > 0 ? data.substring(0, eol) : undefined;
452
+ while (line) {
453
+ switch (line.charAt(0)) {
454
+ case MSG_Q:
455
+ // first line
456
+ this.result = this.result || {};
457
+ this.result.type = line.substring(0, 2);
458
+ const rest = line.substring(3).trim().split(" ");
459
+ if (this.result.type === MSG_QTABLE) {
460
+ const [id, rowCnt, columnCnt, rows, queryId, queryTime, malOptimizerTime, sqlOptimizerTime,] = rest;
461
+ this.result.id = parseInt(id);
462
+ this.result.rowCnt = parseInt(rowCnt);
463
+ this.result.columnCnt = parseInt(columnCnt);
464
+ this.result.queryId = parseInt(queryId);
465
+ this.result.queryTime = parseInt(queryTime);
466
+ this.result.malOptimizerTime = parseInt(malOptimizerTime);
467
+ this.result.sqlOptimizerTime = parseInt(sqlOptimizerTime);
498
468
  }
499
- this.headers = headers;
500
- const colums = [];
501
- for (let i = 0; i < this.result.columnCnt; i++) {
502
- const table = headers.tableNames && headers.tableNames[i];
503
- const name = headers.columnNames && headers.columnNames[i];
504
- const type = headers.columnTypes && headers.columnTypes[i];
505
- colums.push({
506
- table,
507
- name,
508
- type,
509
- index: i,
510
- });
469
+ else if (this.result.type === MSG_QUPDATE) {
470
+ const [affectedRowCnt, autoIncrementId, queryId, queryTime, malOptimizerTime, sqlOptimizerTime,] = rest;
471
+ this.result.affectedRows = parseInt(affectedRowCnt);
472
+ this.result.queryId = parseInt(queryId);
473
+ this.result.queryTime = parseInt(queryTime);
474
+ this.result.malOptimizerTime = parseInt(malOptimizerTime);
475
+ this.result.sqlOptimizerTime = parseInt(sqlOptimizerTime);
511
476
  }
512
- this.result.columns = colums;
513
- }
514
- }
515
- offset = eol + 1;
516
- let ts = undefined; // tuple index
517
- if (data.startsWith(MSG_TUPLE)) {
518
- ts = 0;
519
- }
520
- else if (data.charAt(eol + 1) === MSG_TUPLE) {
521
- ts = eol + 1;
522
- eol = data.indexOf("\n", ts);
523
- }
524
- if (ts !== undefined && eol > 0) {
525
- // we have a data row
526
- do {
527
- offset = eol + 1;
528
- const tuple = parseTupleLine(data.substring(ts, eol), this.headers.columnTypes);
529
- res.push(tuple);
530
- if (data.charAt(eol + 1) === MSG_TUPLE) {
531
- ts = eol + 1;
532
- eol = data.indexOf("\n", ts);
477
+ else if (this.result.type === MSG_QSCHEMA) {
478
+ const [queryTime, malOptimizerTime] = rest;
479
+ this.result.queryTime = parseInt(queryTime);
480
+ this.result.malOptimizerTime = parseInt(malOptimizerTime);
481
+ }
482
+ else if (this.result.type === MSG_QTRANS) {
483
+ // skip
484
+ }
485
+ else if (this.result.type === MSG_QPREPARE) {
486
+ const [id, rowCnt, columnCnt, rows] = rest;
487
+ this.result.id = parseInt(id);
488
+ this.result.rowCnt = parseInt(rowCnt);
489
+ this.result.columnCnt = parseInt(columnCnt);
490
+ }
491
+ break;
492
+ case MSG_HEADER:
493
+ const header = parseHeaderLine(line);
494
+ if (this.result.headers !== undefined) {
495
+ this.result.headers = Object.assign(Object.assign({}, this.result.headers), header);
533
496
  }
534
497
  else {
535
- ts = undefined;
498
+ this.result.headers = header;
499
+ }
500
+ // if we have all headers we can compile column info
501
+ const haveAllHeaders = Boolean(this.result.headers.tableNames) &&
502
+ Boolean(this.result.headers.columnNames) &&
503
+ Boolean(this.result.headers.columnTypes);
504
+ if (this.result.columns === undefined && haveAllHeaders) {
505
+ const colums = [];
506
+ for (let i = 0; i < this.result.columnCnt; i++) {
507
+ const table = this.result.headers.tableNames[i];
508
+ const name = this.result.headers.columnNames[i];
509
+ const type = this.result.headers.columnTypes[i];
510
+ colums.push({
511
+ table,
512
+ name,
513
+ type,
514
+ index: i,
515
+ });
516
+ }
517
+ this.result.columns = colums;
536
518
  }
537
- } while (ts && eol > -1);
519
+ break;
520
+ case MSG_TUPLE:
521
+ const tuple = parseTupleLine(line, this.result.headers.columnTypes);
522
+ res.push(tuple);
523
+ break;
524
+ default:
525
+ throw TypeError(`Invalid query response line!\n${line}`);
538
526
  }
527
+ // line is processed advance offset
528
+ offset = eol + 1;
529
+ // get next line
530
+ eol = data.indexOf("\n", offset);
531
+ line = eol > 0 ? data.substring(offset, eol) : undefined;
539
532
  }
540
533
  return offset;
541
534
  }
package/dist/mapi.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"mapi.js","sourceRoot":"","sources":["../src/mapi.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mapi.js","sourceRoot":"","sources":["../src/mapi.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"program":{"fileNames":["../node_modules/typescript/lib/lib.es6.d.ts","../node_modules/typescript/lib/lib.es5.d.ts","../node_modules/typescript/lib/lib.es2015.d.ts","../node_modules/typescript/lib/lib.es2016.d.ts","../node_modules/typescript/lib/lib.es2017.d.ts","../node_modules/typescript/lib/lib.es2018.d.ts","../node_modules/typescript/lib/lib.es2019.d.ts","../node_modules/typescript/lib/lib.es2020.d.ts","../node_modules/typescript/lib/lib.dom.d.ts","../node_modules/typescript/lib/lib.dom.iterable.d.ts","../node_modules/typescript/lib/lib.webworker.importscripts.d.ts","../node_modules/typescript/lib/lib.scripthost.d.ts","../node_modules/typescript/lib/lib.es2015.core.d.ts","../node_modules/typescript/lib/lib.es2015.collection.d.ts","../node_modules/typescript/lib/lib.es2015.generator.d.ts","../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../node_modules/typescript/lib/lib.es2015.promise.d.ts","../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../node_modules/typescript/lib/lib.es2017.object.d.ts","../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2017.string.d.ts","../node_modules/typescript/lib/lib.es2017.intl.d.ts","../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../node_modules/typescript/lib/lib.es2018.intl.d.ts","../node_modules/typescript/lib/lib.es2018.promise.d.ts","../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../node_modules/typescript/lib/lib.es2019.array.d.ts","../node_modules/typescript/lib/lib.es2019.object.d.ts","../node_modules/typescript/lib/lib.es2019.string.d.ts","../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../node_modules/typescript/lib/lib.es2019.intl.d.ts","../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../node_modules/typescript/lib/lib.es2020.date.d.ts","../node_modules/typescript/lib/lib.es2020.promise.d.ts","../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2020.string.d.ts","../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2020.intl.d.ts","../node_modules/typescript/lib/lib.es2020.number.d.ts","../node_modules/typescript/lib/lib.esnext.intl.d.ts","../src/defaults.ts","../src/file-transfer.ts","../src/mapi.ts","../src/monetize.ts","../src/PrepareStatement.ts","../src/connection.ts","../src/index.ts","../node_modules/@types/node/assert.d.ts","../node_modules/@types/node/assert/strict.d.ts","../node_modules/@types/node/globals.d.ts","../node_modules/@types/node/async_hooks.d.ts","../node_modules/@types/node/buffer.d.ts","../node_modules/@types/node/child_process.d.ts","../node_modules/@types/node/cluster.d.ts","../node_modules/@types/node/console.d.ts","../node_modules/@types/node/constants.d.ts","../node_modules/@types/node/crypto.d.ts","../node_modules/@types/node/dgram.d.ts","../node_modules/@types/node/diagnostics_channel.d.ts","../node_modules/@types/node/dns.d.ts","../node_modules/@types/node/dns/promises.d.ts","../node_modules/@types/node/domain.d.ts","../node_modules/@types/node/dom-events.d.ts","../node_modules/@types/node/events.d.ts","../node_modules/@types/node/fs.d.ts","../node_modules/@types/node/fs/promises.d.ts","../node_modules/@types/node/http.d.ts","../node_modules/@types/node/http2.d.ts","../node_modules/@types/node/https.d.ts","../node_modules/@types/node/inspector.d.ts","../node_modules/@types/node/module.d.ts","../node_modules/@types/node/net.d.ts","../node_modules/@types/node/os.d.ts","../node_modules/@types/node/path.d.ts","../node_modules/@types/node/perf_hooks.d.ts","../node_modules/@types/node/process.d.ts","../node_modules/@types/node/punycode.d.ts","../node_modules/@types/node/querystring.d.ts","../node_modules/@types/node/readline.d.ts","../node_modules/@types/node/readline/promises.d.ts","../node_modules/@types/node/repl.d.ts","../node_modules/@types/node/stream.d.ts","../node_modules/@types/node/stream/promises.d.ts","../node_modules/@types/node/stream/consumers.d.ts","../node_modules/@types/node/stream/web.d.ts","../node_modules/@types/node/string_decoder.d.ts","../node_modules/@types/node/test.d.ts","../node_modules/@types/node/timers.d.ts","../node_modules/@types/node/timers/promises.d.ts","../node_modules/@types/node/tls.d.ts","../node_modules/@types/node/trace_events.d.ts","../node_modules/@types/node/tty.d.ts","../node_modules/@types/node/url.d.ts","../node_modules/@types/node/util.d.ts","../node_modules/@types/node/v8.d.ts","../node_modules/@types/node/vm.d.ts","../node_modules/@types/node/wasi.d.ts","../node_modules/@types/node/worker_threads.d.ts","../node_modules/@types/node/zlib.d.ts","../node_modules/@types/node/globals.global.d.ts","../node_modules/@types/node/index.d.ts","../node_modules/@types/mocha/index.d.ts"],"fileInfos":["721cec59c3fef87aaf480047d821fb758b3ec9482c4129a54631e6e25e432a31",{"version":"8730f4bf322026ff5229336391a18bcaa1f94d4f82416c8b2f3954e2ccaae2ba","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","4b421cbfb3a38a27c279dec1e9112c3d1da296f77a1a85ddadf7e7a425d45d18","1fc5ab7a764205c68fa10d381b08417795fc73111d6dd16b5b1ed36badb743d9",{"version":"3aafcb693fe5b5c3bd277bd4c3a617b53db474fe498fc5df067c5603b1eebde7","affectsGlobalScope":true},{"version":"f3d4da15233e593eacb3965cde7960f3fddf5878528d882bcedd5cbaba0193c7","affectsGlobalScope":true},{"version":"7fac8cb5fc820bc2a59ae11ef1c5b38d3832c6d0dfaec5acdb5569137d09a481","affectsGlobalScope":true},{"version":"097a57355ded99c68e6df1b738990448e0bf170e606707df5a7c0481ff2427cd","affectsGlobalScope":true},{"version":"adb996790133eb33b33aadb9c09f15c2c575e71fb57a62de8bf74dbf59ec7dfb","affectsGlobalScope":true},{"version":"8cc8c5a3bac513368b0157f3d8b31cfdcfe78b56d3724f30f80ed9715e404af8","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"c5c05907c02476e4bde6b7e76a79ffcd948aedd14b6a8f56e4674221b0417398","affectsGlobalScope":true},{"version":"5f406584aef28a331c36523df688ca3650288d14f39c5d2e555c95f0d2ff8f6f","affectsGlobalScope":true},{"version":"22f230e544b35349cfb3bd9110b6ef37b41c6d6c43c3314a31bd0d9652fcec72","affectsGlobalScope":true},{"version":"7ea0b55f6b315cf9ac2ad622b0a7813315bb6e97bf4bb3fbf8f8affbca7dc695","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"eb26de841c52236d8222f87e9e6a235332e0788af8c87a71e9e210314300410a","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"81cac4cbc92c0c839c70f8ffb94eb61e2d32dc1c3cf6d95844ca099463cf37ea","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true},{"version":"6e7997ef61de3132e4d4b2250e75343f487903ddf5370e7ce33cf1b9db9a63ed","affectsGlobalScope":true},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true},{"version":"5e5e095c4470c8bab227dbbc61374878ecead104c74ab9960d3adcccfee23205","affectsGlobalScope":true},{"version":"09aa50414b80c023553090e2f53827f007a301bc34b0495bfb2c3c08ab9ad1eb","affectsGlobalScope":true},{"version":"d7f680a43f8cd12a6b6122c07c54ba40952b0c8aa140dcfcf32eb9e6cb028596","affectsGlobalScope":true},{"version":"3787b83e297de7c315d55d4a7c546ae28e5f6c0a361b7a1dcec1f1f50a54ef11","affectsGlobalScope":true},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true},{"version":"2768ef564cfc0689a1b76106c421a2909bdff0acbe87da010785adab80efdd5c","affectsGlobalScope":true},{"version":"b248e32ca52e8f5571390a4142558ae4f203ae2f94d5bac38a3084d529ef4e58","affectsGlobalScope":true},{"version":"52d1bb7ab7a3306fd0375c8bff560feed26ed676a5b0457fa8027b563aecb9a4","affectsGlobalScope":true},{"version":"01de42ed68f940bd24bf9ad333d127489ef9505a4c13b229a13ce32ccae97191","signature":"928bfc0383e70a9b17526ae3e288120dda4f23782f57cf4b25914df51c116607"},{"version":"a2c85138d764f1d63fdcee56627d532287bc1db790eb11dfe7b3de19ea870f4b","signature":"1c510a338838ba5d7fd9e591a56d3d4c3f305068451b3bf072fe5f128e93e70d"},{"version":"dbbcadea615d9229f16584db8c3f108d8ab3e037ad381028be28291a94ab78f7","signature":"7b9c236d4f15ba9f7c6cff95543d4ca1113e1fb51d6fd34f36a56ffa074189ae"},{"version":"62b52ce5e1d98e4ae1629baa1208b6c8fc5c129fe70816ad75df38c2f11d434c","signature":"830368199328f7cd7aa81552e4dd717b95b43895cedcaeb73f5bc1ae42d8829d"},{"version":"a47d5ba11176e07584ed38e5ff0bad3be56e9e7a08965f08162ad74e0cdd9a8e","signature":"e6a16afc9d1681c53752f48842fbdfd0c1db83875ee061e18c7d651bb6aebb79"},{"version":"0f02301457ade259452679936b073c51816164c22b46320c165f6fdcfaab5c7e","signature":"457267f7741e83b750dd05ccb555028bc75076537ded2f06eae73c21f6505c89"},{"version":"b6fa9448bc360eeaf1037f9c9113825dd227250bff0c67b82b82992db8de44f3","signature":"f65182d0f775d26f94c803ba5ab6544f09dca538f32e98342086ad574378793a"},"7e771891adaa85b690266bc37bd6eb43bc57eecc4b54693ead36467e7369952a","a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a",{"version":"ca72190df0eb9b09d4b600821c8c7b6c9747b75a1c700c4d57dc0bb72abc074c","affectsGlobalScope":true},"21a167fec8f933752fb8157f06d28fab6817af3ad9b0bdb1908a10762391eab9",{"version":"bb65c6267c5d6676be61acbf6604cf0a4555ac4b505df58ac15c831fcbff4e3e","affectsGlobalScope":true},"0c0cee62cb619aed81133b904f644515ba3064487002a7da83fd8aa07b1b4abd","5a94487653355b56018122d92392beb2e5f4a6c63ba5cef83bbe1c99775ef713",{"version":"d5135ad93b33adcce80b18f8065087934cdc1730d63db58562edcf017e1aad9b","affectsGlobalScope":true},"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","dab86d9604fe40854ef3c0a6f9e8948873dc3509213418e5e457f410fd11200f","bb9c4ffa5e6290c6980b63c815cdd1625876dadb2efaf77edbe82984be93e55e","489532ff54b714f0e0939947a1c560e516d3ae93d51d639ab02e907a0e950114","f30bb836526d930a74593f7b0f5c1c46d10856415a8f69e5e2fc3db80371e362","14b5aa23c5d0ae1907bc696ac7b6915d88f7d85799cc0dc2dcf98fbce2c5a67c","5c439dafdc09abe4d6c260a96b822fa0ba5be7203c71a63ab1f1423cd9e838ea",{"version":"6b526a5ec4a401ca7c26cfe6a48e641d8f30af76673bad3b06a1b4504594a960","affectsGlobalScope":true},{"version":"816ad2e607a96de5bcac7d437f843f5afd8957f1fa5eefa6bba8e4ed7ca8fd84","affectsGlobalScope":true},"cec36af22f514322f870e81d30675c78df82ae8bf4863f5fd4e4424c040c678d","d903fafe96674bc0b2ac38a5be4a8fc07b14c2548d1cdb165a80ea24c44c0c54","5eec82ac21f84d83586c59a16b9b8502d34505d1393393556682fe7e7fde9ef2","04eb6578a588d6a46f50299b55f30e3a04ef27d0c5a46c57d8fcc211cd530faa","8d3c583a07e0c37e876908c2d5da575019f689df8d9fa4c081d99119d53dba22","2c828a5405191d006115ab34e191b8474bc6c86ffdc401d1a9864b1b6e088a58",{"version":"e8b18c6385ff784228a6f369694fcf1a6b475355ba89090a88de13587a9391d5","affectsGlobalScope":true},"d076fede3cb042e7b13fc29442aaa03a57806bc51e2b26a67a01fbc66a7c0c12","7c013aa892414a7fdcfd861ae524a668eaa3ede8c7c0acafaf611948122c8d93","b0973c3cbcdc59b37bf477731d468696ecaf442593ec51bab497a613a580fe30",{"version":"4989e92ba5b69b182d2caaea6295af52b7dc73a4f7a2e336a676722884e7139d","affectsGlobalScope":true},{"version":"b3624aed92dab6da8484280d3cb3e2f4130ec3f4ef3f8201c95144ae9e898bb6","affectsGlobalScope":true},"5153a2fd150e46ce57bb3f8db1318d33f6ad3261ed70ceeff92281c0608c74a3","210d54cd652ec0fec8c8916e4af59bb341065576ecda039842f9ffb2e908507c","36b03690b628eab08703d63f04eaa89c5df202e5f1edf3989f13ad389cd2c091","0effadd232a20498b11308058e334d3339cc5bf8c4c858393e38d9d4c0013dcf","25846d43937c672bab7e8195f3d881f93495df712ee901860effc109918938cc","fd93cee2621ff42dabe57b7be402783fd1aa69ece755bcba1e0290547ae60513","1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff","69ee23dd0d215b09907ad30d23f88b7790c93329d1faf31d7835552a10cf7cbf","44b8b584a338b190a59f4f6929d072431950c7bd92ec2694821c11bce180c8a5","23b89798789dffbd437c0c423f5d02d11f9736aea73d6abf16db4f812ff36eda","223c37f62ce09a3d99e77498acdee7b2705a4ae14552fbdb4093600cd9164f3f",{"version":"970a90f76d4d219ad60819d61f5994514087ba94c985647a3474a5a3d12714ed","affectsGlobalScope":true},"e10177274a35a9d07c825615340b2fcde2f610f53f3fb40269fd196b4288dda6","4c8525f256873c7ba3135338c647eaf0ca7115a1a2805ae2d0056629461186ce","3c13ef48634e7b5012fcf7e8fce7496352c2d779a7201389ca96a2a81ee4314d","5d0a25ec910fa36595f85a67ac992d7a53dd4064a1ba6aea1c9f14ab73a023f2",{"version":"f0900cd5d00fe1263ff41201fb8073dbeb984397e4af3b8002a5c207a30bdc33","affectsGlobalScope":true},{"version":"4c50342e1b65d3bee2ed4ab18f84842d5724ad11083bd666d8705dc7a6079d80","affectsGlobalScope":true},"06d7c42d256f0ce6afe1b2b6cfbc97ab391f29dadb00dd0ae8e8f23f5bc916c3","ec4bd1b200670fb567920db572d6701ed42a9641d09c4ff6869768c8f81b404c","e59a892d87e72733e2a9ca21611b9beb52977be2696c7ba4b216cbbb9a48f5aa",{"version":"da26af7362f53d122283bc69fed862b9a9fe27e01bc6a69d1d682e0e5a4df3e6","affectsGlobalScope":true},"8a300fa9b698845a1f9c41ecbe2c5966634582a8e2020d51abcace9b55aa959e",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"8dbe725f8d237e70310977afcfa011629804d101ebaa0266cafda6b61ad72236",{"version":"677646e2620795c98a539fb12fb531f10331c217cef1492132b2518f894fa92d","affectsGlobalScope":true}],"options":{"allowSyntheticDefaultImports":true,"declaration":true,"esModuleInterop":true,"module":1,"noImplicitAny":false,"outDir":"./","sourceMap":true,"strict":false,"target":2},"fileIdsList":[[100],[54,100],[57,100],[58,63,91,100],[59,70,71,78,88,99,100],[59,60,70,78,100],[61,100],[62,63,71,79,100],[63,88,96,100],[64,66,70,78,100],[65,100],[66,67,100],[70,100],[68,70,100],[70,71,72,88,99,100],[70,71,72,85,88,91,100],[100,104],[66,73,78,88,99,100],[70,71,73,74,78,88,96,99,100],[73,75,88,96,99,100],[54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106],[70,76,100],[77,99,100],[66,70,78,88,100],[79,100],[80,100],[57,81,100],[82,98,100,104],[83,100],[84,100],[70,85,86,100],[85,87,100,102],[58,70,88,89,90,91,100],[58,88,90,100],[88,89,100],[91,100],[92,100],[70,94,95,100],[94,95,100],[63,78,88,96,100],[97,100],[78,98,100],[58,73,84,99,100],[63,100],[88,100,101],[100,102],[100,103],[58,63,70,72,81,88,99,100,102,104],[88,100,105],[49,50,100],[49,51,70,100],[72,80,82,100],[52,100],[47,48,58,63,70,78,99,100],[49],[49,51,70],[72],[52],[58,70,78]],"referencedMap":[[108,1],[54,2],[55,2],[57,3],[58,4],[59,5],[60,6],[61,7],[62,8],[63,9],[64,10],[65,11],[66,12],[67,12],[69,13],[68,14],[70,13],[71,15],[72,16],[56,17],[106,1],[73,18],[74,19],[75,20],[107,21],[76,22],[77,23],[78,24],[79,25],[80,26],[81,27],[82,28],[83,29],[84,30],[85,31],[86,31],[87,32],[88,33],[90,34],[89,35],[91,36],[92,37],[93,1],[94,38],[95,39],[96,40],[97,41],[98,42],[99,43],[100,44],[101,45],[102,46],[103,47],[104,48],[105,49],[9,1],[10,1],[14,1],[13,1],[3,1],[15,1],[16,1],[17,1],[18,1],[19,1],[20,1],[21,1],[22,1],[4,1],[5,1],[26,1],[23,1],[24,1],[25,1],[27,1],[28,1],[29,1],[6,1],[30,1],[31,1],[32,1],[33,1],[7,1],[37,1],[34,1],[35,1],[36,1],[38,1],[8,1],[39,1],[44,1],[45,1],[40,1],[41,1],[42,1],[43,1],[2,1],[1,1],[46,1],[12,1],[11,1],[51,50],[52,51],[47,1],[48,52],[53,53],[49,54],[50,1]],"exportedModulesMap":[[108,1],[54,2],[55,2],[57,3],[58,4],[59,5],[60,6],[61,7],[62,8],[63,9],[64,10],[65,11],[66,12],[67,12],[69,13],[68,14],[70,13],[71,15],[72,16],[56,17],[106,1],[73,18],[74,19],[75,20],[107,21],[76,22],[77,23],[78,24],[79,25],[80,26],[81,27],[82,28],[83,29],[84,30],[85,31],[86,31],[87,32],[88,33],[90,34],[89,35],[91,36],[92,37],[93,1],[94,38],[95,39],[96,40],[97,41],[98,42],[99,43],[100,44],[101,45],[102,46],[103,47],[104,48],[105,49],[9,1],[10,1],[14,1],[13,1],[3,1],[15,1],[16,1],[17,1],[18,1],[19,1],[20,1],[21,1],[22,1],[4,1],[5,1],[26,1],[23,1],[24,1],[25,1],[27,1],[28,1],[29,1],[6,1],[30,1],[31,1],[32,1],[33,1],[7,1],[37,1],[34,1],[35,1],[36,1],[38,1],[8,1],[39,1],[44,1],[45,1],[40,1],[41,1],[42,1],[43,1],[2,1],[1,1],[46,1],[12,1],[11,1],[51,55],[52,56],[48,57],[53,58],[49,59]],"semanticDiagnosticsPerFile":[108,54,55,57,58,59,60,61,62,63,64,65,66,67,69,68,70,71,72,56,106,73,74,75,107,76,77,78,79,80,81,82,83,84,85,86,87,88,90,89,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,9,10,14,13,3,15,16,17,18,19,20,21,22,4,5,26,23,24,25,27,28,29,6,30,31,32,33,7,37,34,35,36,38,8,39,44,45,40,41,42,43,2,1,46,12,11,51,52,47,48,53,49,50]},"version":"4.9.4"}
1
+ {"program":{"fileNames":["../node_modules/typescript/lib/lib.es6.d.ts","../node_modules/typescript/lib/lib.es5.d.ts","../node_modules/typescript/lib/lib.es2015.d.ts","../node_modules/typescript/lib/lib.es2016.d.ts","../node_modules/typescript/lib/lib.es2017.d.ts","../node_modules/typescript/lib/lib.es2018.d.ts","../node_modules/typescript/lib/lib.es2019.d.ts","../node_modules/typescript/lib/lib.es2020.d.ts","../node_modules/typescript/lib/lib.dom.d.ts","../node_modules/typescript/lib/lib.dom.iterable.d.ts","../node_modules/typescript/lib/lib.webworker.importscripts.d.ts","../node_modules/typescript/lib/lib.scripthost.d.ts","../node_modules/typescript/lib/lib.es2015.core.d.ts","../node_modules/typescript/lib/lib.es2015.collection.d.ts","../node_modules/typescript/lib/lib.es2015.generator.d.ts","../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../node_modules/typescript/lib/lib.es2015.promise.d.ts","../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../node_modules/typescript/lib/lib.es2017.object.d.ts","../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2017.string.d.ts","../node_modules/typescript/lib/lib.es2017.intl.d.ts","../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../node_modules/typescript/lib/lib.es2018.intl.d.ts","../node_modules/typescript/lib/lib.es2018.promise.d.ts","../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../node_modules/typescript/lib/lib.es2019.array.d.ts","../node_modules/typescript/lib/lib.es2019.object.d.ts","../node_modules/typescript/lib/lib.es2019.string.d.ts","../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../node_modules/typescript/lib/lib.es2019.intl.d.ts","../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../node_modules/typescript/lib/lib.es2020.date.d.ts","../node_modules/typescript/lib/lib.es2020.promise.d.ts","../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2020.string.d.ts","../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2020.intl.d.ts","../node_modules/typescript/lib/lib.es2020.number.d.ts","../node_modules/typescript/lib/lib.esnext.intl.d.ts","../src/defaults.ts","../src/file-transfer.ts","../src/mapi.ts","../src/monetize.ts","../src/PrepareStatement.ts","../src/connection.ts","../src/index.ts","../node_modules/@types/node/assert.d.ts","../node_modules/@types/node/assert/strict.d.ts","../node_modules/@types/node/globals.d.ts","../node_modules/@types/node/async_hooks.d.ts","../node_modules/@types/node/buffer.d.ts","../node_modules/@types/node/child_process.d.ts","../node_modules/@types/node/cluster.d.ts","../node_modules/@types/node/console.d.ts","../node_modules/@types/node/constants.d.ts","../node_modules/@types/node/crypto.d.ts","../node_modules/@types/node/dgram.d.ts","../node_modules/@types/node/diagnostics_channel.d.ts","../node_modules/@types/node/dns.d.ts","../node_modules/@types/node/dns/promises.d.ts","../node_modules/@types/node/domain.d.ts","../node_modules/@types/node/dom-events.d.ts","../node_modules/@types/node/events.d.ts","../node_modules/@types/node/fs.d.ts","../node_modules/@types/node/fs/promises.d.ts","../node_modules/@types/node/http.d.ts","../node_modules/@types/node/http2.d.ts","../node_modules/@types/node/https.d.ts","../node_modules/@types/node/inspector.d.ts","../node_modules/@types/node/module.d.ts","../node_modules/@types/node/net.d.ts","../node_modules/@types/node/os.d.ts","../node_modules/@types/node/path.d.ts","../node_modules/@types/node/perf_hooks.d.ts","../node_modules/@types/node/process.d.ts","../node_modules/@types/node/punycode.d.ts","../node_modules/@types/node/querystring.d.ts","../node_modules/@types/node/readline.d.ts","../node_modules/@types/node/readline/promises.d.ts","../node_modules/@types/node/repl.d.ts","../node_modules/@types/node/stream.d.ts","../node_modules/@types/node/stream/promises.d.ts","../node_modules/@types/node/stream/consumers.d.ts","../node_modules/@types/node/stream/web.d.ts","../node_modules/@types/node/string_decoder.d.ts","../node_modules/@types/node/test.d.ts","../node_modules/@types/node/timers.d.ts","../node_modules/@types/node/timers/promises.d.ts","../node_modules/@types/node/tls.d.ts","../node_modules/@types/node/trace_events.d.ts","../node_modules/@types/node/tty.d.ts","../node_modules/@types/node/url.d.ts","../node_modules/@types/node/util.d.ts","../node_modules/@types/node/v8.d.ts","../node_modules/@types/node/vm.d.ts","../node_modules/@types/node/wasi.d.ts","../node_modules/@types/node/worker_threads.d.ts","../node_modules/@types/node/zlib.d.ts","../node_modules/@types/node/globals.global.d.ts","../node_modules/@types/node/index.d.ts","../node_modules/@types/mocha/index.d.ts"],"fileInfos":["721cec59c3fef87aaf480047d821fb758b3ec9482c4129a54631e6e25e432a31",{"version":"8730f4bf322026ff5229336391a18bcaa1f94d4f82416c8b2f3954e2ccaae2ba","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","4b421cbfb3a38a27c279dec1e9112c3d1da296f77a1a85ddadf7e7a425d45d18","1fc5ab7a764205c68fa10d381b08417795fc73111d6dd16b5b1ed36badb743d9",{"version":"3aafcb693fe5b5c3bd277bd4c3a617b53db474fe498fc5df067c5603b1eebde7","affectsGlobalScope":true},{"version":"f3d4da15233e593eacb3965cde7960f3fddf5878528d882bcedd5cbaba0193c7","affectsGlobalScope":true},{"version":"7fac8cb5fc820bc2a59ae11ef1c5b38d3832c6d0dfaec5acdb5569137d09a481","affectsGlobalScope":true},{"version":"097a57355ded99c68e6df1b738990448e0bf170e606707df5a7c0481ff2427cd","affectsGlobalScope":true},{"version":"adb996790133eb33b33aadb9c09f15c2c575e71fb57a62de8bf74dbf59ec7dfb","affectsGlobalScope":true},{"version":"8cc8c5a3bac513368b0157f3d8b31cfdcfe78b56d3724f30f80ed9715e404af8","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"c5c05907c02476e4bde6b7e76a79ffcd948aedd14b6a8f56e4674221b0417398","affectsGlobalScope":true},{"version":"5f406584aef28a331c36523df688ca3650288d14f39c5d2e555c95f0d2ff8f6f","affectsGlobalScope":true},{"version":"22f230e544b35349cfb3bd9110b6ef37b41c6d6c43c3314a31bd0d9652fcec72","affectsGlobalScope":true},{"version":"7ea0b55f6b315cf9ac2ad622b0a7813315bb6e97bf4bb3fbf8f8affbca7dc695","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"eb26de841c52236d8222f87e9e6a235332e0788af8c87a71e9e210314300410a","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"81cac4cbc92c0c839c70f8ffb94eb61e2d32dc1c3cf6d95844ca099463cf37ea","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true},{"version":"6e7997ef61de3132e4d4b2250e75343f487903ddf5370e7ce33cf1b9db9a63ed","affectsGlobalScope":true},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true},{"version":"5e5e095c4470c8bab227dbbc61374878ecead104c74ab9960d3adcccfee23205","affectsGlobalScope":true},{"version":"09aa50414b80c023553090e2f53827f007a301bc34b0495bfb2c3c08ab9ad1eb","affectsGlobalScope":true},{"version":"d7f680a43f8cd12a6b6122c07c54ba40952b0c8aa140dcfcf32eb9e6cb028596","affectsGlobalScope":true},{"version":"3787b83e297de7c315d55d4a7c546ae28e5f6c0a361b7a1dcec1f1f50a54ef11","affectsGlobalScope":true},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true},{"version":"2768ef564cfc0689a1b76106c421a2909bdff0acbe87da010785adab80efdd5c","affectsGlobalScope":true},{"version":"b248e32ca52e8f5571390a4142558ae4f203ae2f94d5bac38a3084d529ef4e58","affectsGlobalScope":true},{"version":"52d1bb7ab7a3306fd0375c8bff560feed26ed676a5b0457fa8027b563aecb9a4","affectsGlobalScope":true},{"version":"01de42ed68f940bd24bf9ad333d127489ef9505a4c13b229a13ce32ccae97191","signature":"928bfc0383e70a9b17526ae3e288120dda4f23782f57cf4b25914df51c116607"},{"version":"a2c85138d764f1d63fdcee56627d532287bc1db790eb11dfe7b3de19ea870f4b","signature":"1c510a338838ba5d7fd9e591a56d3d4c3f305068451b3bf072fe5f128e93e70d"},{"version":"230b769b0d50db74abed78768b2a5302b2348c174fa3b988ae26236c0b33f72e","signature":"d6936794b83d3508d504abd397ee0f2e9663f154508aa8e0045f75abf42d1be8"},{"version":"62b52ce5e1d98e4ae1629baa1208b6c8fc5c129fe70816ad75df38c2f11d434c","signature":"830368199328f7cd7aa81552e4dd717b95b43895cedcaeb73f5bc1ae42d8829d"},{"version":"a47d5ba11176e07584ed38e5ff0bad3be56e9e7a08965f08162ad74e0cdd9a8e","signature":"e6a16afc9d1681c53752f48842fbdfd0c1db83875ee061e18c7d651bb6aebb79"},{"version":"0f02301457ade259452679936b073c51816164c22b46320c165f6fdcfaab5c7e","signature":"457267f7741e83b750dd05ccb555028bc75076537ded2f06eae73c21f6505c89"},{"version":"b6fa9448bc360eeaf1037f9c9113825dd227250bff0c67b82b82992db8de44f3","signature":"f65182d0f775d26f94c803ba5ab6544f09dca538f32e98342086ad574378793a"},"7e771891adaa85b690266bc37bd6eb43bc57eecc4b54693ead36467e7369952a","a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a",{"version":"ca72190df0eb9b09d4b600821c8c7b6c9747b75a1c700c4d57dc0bb72abc074c","affectsGlobalScope":true},"21a167fec8f933752fb8157f06d28fab6817af3ad9b0bdb1908a10762391eab9",{"version":"bb65c6267c5d6676be61acbf6604cf0a4555ac4b505df58ac15c831fcbff4e3e","affectsGlobalScope":true},"0c0cee62cb619aed81133b904f644515ba3064487002a7da83fd8aa07b1b4abd","5a94487653355b56018122d92392beb2e5f4a6c63ba5cef83bbe1c99775ef713",{"version":"d5135ad93b33adcce80b18f8065087934cdc1730d63db58562edcf017e1aad9b","affectsGlobalScope":true},"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","dab86d9604fe40854ef3c0a6f9e8948873dc3509213418e5e457f410fd11200f","bb9c4ffa5e6290c6980b63c815cdd1625876dadb2efaf77edbe82984be93e55e","489532ff54b714f0e0939947a1c560e516d3ae93d51d639ab02e907a0e950114","f30bb836526d930a74593f7b0f5c1c46d10856415a8f69e5e2fc3db80371e362","14b5aa23c5d0ae1907bc696ac7b6915d88f7d85799cc0dc2dcf98fbce2c5a67c","5c439dafdc09abe4d6c260a96b822fa0ba5be7203c71a63ab1f1423cd9e838ea",{"version":"6b526a5ec4a401ca7c26cfe6a48e641d8f30af76673bad3b06a1b4504594a960","affectsGlobalScope":true},{"version":"816ad2e607a96de5bcac7d437f843f5afd8957f1fa5eefa6bba8e4ed7ca8fd84","affectsGlobalScope":true},"cec36af22f514322f870e81d30675c78df82ae8bf4863f5fd4e4424c040c678d","d903fafe96674bc0b2ac38a5be4a8fc07b14c2548d1cdb165a80ea24c44c0c54","5eec82ac21f84d83586c59a16b9b8502d34505d1393393556682fe7e7fde9ef2","04eb6578a588d6a46f50299b55f30e3a04ef27d0c5a46c57d8fcc211cd530faa","8d3c583a07e0c37e876908c2d5da575019f689df8d9fa4c081d99119d53dba22","2c828a5405191d006115ab34e191b8474bc6c86ffdc401d1a9864b1b6e088a58",{"version":"e8b18c6385ff784228a6f369694fcf1a6b475355ba89090a88de13587a9391d5","affectsGlobalScope":true},"d076fede3cb042e7b13fc29442aaa03a57806bc51e2b26a67a01fbc66a7c0c12","7c013aa892414a7fdcfd861ae524a668eaa3ede8c7c0acafaf611948122c8d93","b0973c3cbcdc59b37bf477731d468696ecaf442593ec51bab497a613a580fe30",{"version":"4989e92ba5b69b182d2caaea6295af52b7dc73a4f7a2e336a676722884e7139d","affectsGlobalScope":true},{"version":"b3624aed92dab6da8484280d3cb3e2f4130ec3f4ef3f8201c95144ae9e898bb6","affectsGlobalScope":true},"5153a2fd150e46ce57bb3f8db1318d33f6ad3261ed70ceeff92281c0608c74a3","210d54cd652ec0fec8c8916e4af59bb341065576ecda039842f9ffb2e908507c","36b03690b628eab08703d63f04eaa89c5df202e5f1edf3989f13ad389cd2c091","0effadd232a20498b11308058e334d3339cc5bf8c4c858393e38d9d4c0013dcf","25846d43937c672bab7e8195f3d881f93495df712ee901860effc109918938cc","fd93cee2621ff42dabe57b7be402783fd1aa69ece755bcba1e0290547ae60513","1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff","69ee23dd0d215b09907ad30d23f88b7790c93329d1faf31d7835552a10cf7cbf","44b8b584a338b190a59f4f6929d072431950c7bd92ec2694821c11bce180c8a5","23b89798789dffbd437c0c423f5d02d11f9736aea73d6abf16db4f812ff36eda","223c37f62ce09a3d99e77498acdee7b2705a4ae14552fbdb4093600cd9164f3f",{"version":"970a90f76d4d219ad60819d61f5994514087ba94c985647a3474a5a3d12714ed","affectsGlobalScope":true},"e10177274a35a9d07c825615340b2fcde2f610f53f3fb40269fd196b4288dda6","4c8525f256873c7ba3135338c647eaf0ca7115a1a2805ae2d0056629461186ce","3c13ef48634e7b5012fcf7e8fce7496352c2d779a7201389ca96a2a81ee4314d","5d0a25ec910fa36595f85a67ac992d7a53dd4064a1ba6aea1c9f14ab73a023f2",{"version":"f0900cd5d00fe1263ff41201fb8073dbeb984397e4af3b8002a5c207a30bdc33","affectsGlobalScope":true},{"version":"4c50342e1b65d3bee2ed4ab18f84842d5724ad11083bd666d8705dc7a6079d80","affectsGlobalScope":true},"06d7c42d256f0ce6afe1b2b6cfbc97ab391f29dadb00dd0ae8e8f23f5bc916c3","ec4bd1b200670fb567920db572d6701ed42a9641d09c4ff6869768c8f81b404c","e59a892d87e72733e2a9ca21611b9beb52977be2696c7ba4b216cbbb9a48f5aa",{"version":"da26af7362f53d122283bc69fed862b9a9fe27e01bc6a69d1d682e0e5a4df3e6","affectsGlobalScope":true},"8a300fa9b698845a1f9c41ecbe2c5966634582a8e2020d51abcace9b55aa959e",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"8dbe725f8d237e70310977afcfa011629804d101ebaa0266cafda6b61ad72236",{"version":"677646e2620795c98a539fb12fb531f10331c217cef1492132b2518f894fa92d","affectsGlobalScope":true}],"options":{"allowSyntheticDefaultImports":true,"declaration":true,"esModuleInterop":true,"module":1,"noImplicitAny":false,"outDir":"./","sourceMap":true,"strict":false,"target":2},"fileIdsList":[[100],[54,100],[57,100],[58,63,91,100],[59,70,71,78,88,99,100],[59,60,70,78,100],[61,100],[62,63,71,79,100],[63,88,96,100],[64,66,70,78,100],[65,100],[66,67,100],[70,100],[68,70,100],[70,71,72,88,99,100],[70,71,72,85,88,91,100],[100,104],[66,73,78,88,99,100],[70,71,73,74,78,88,96,99,100],[73,75,88,96,99,100],[54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106],[70,76,100],[77,99,100],[66,70,78,88,100],[79,100],[80,100],[57,81,100],[82,98,100,104],[83,100],[84,100],[70,85,86,100],[85,87,100,102],[58,70,88,89,90,91,100],[58,88,90,100],[88,89,100],[91,100],[92,100],[70,94,95,100],[94,95,100],[63,78,88,96,100],[97,100],[78,98,100],[58,73,84,99,100],[63,100],[88,100,101],[100,102],[100,103],[58,63,70,72,81,88,99,100,102,104],[88,100,105],[49,50,100],[49,51,70,100],[72,80,82,100],[52,100],[47,48,58,63,70,78,99,100],[49],[49,51,70],[72],[52],[58,70,78]],"referencedMap":[[108,1],[54,2],[55,2],[57,3],[58,4],[59,5],[60,6],[61,7],[62,8],[63,9],[64,10],[65,11],[66,12],[67,12],[69,13],[68,14],[70,13],[71,15],[72,16],[56,17],[106,1],[73,18],[74,19],[75,20],[107,21],[76,22],[77,23],[78,24],[79,25],[80,26],[81,27],[82,28],[83,29],[84,30],[85,31],[86,31],[87,32],[88,33],[90,34],[89,35],[91,36],[92,37],[93,1],[94,38],[95,39],[96,40],[97,41],[98,42],[99,43],[100,44],[101,45],[102,46],[103,47],[104,48],[105,49],[9,1],[10,1],[14,1],[13,1],[3,1],[15,1],[16,1],[17,1],[18,1],[19,1],[20,1],[21,1],[22,1],[4,1],[5,1],[26,1],[23,1],[24,1],[25,1],[27,1],[28,1],[29,1],[6,1],[30,1],[31,1],[32,1],[33,1],[7,1],[37,1],[34,1],[35,1],[36,1],[38,1],[8,1],[39,1],[44,1],[45,1],[40,1],[41,1],[42,1],[43,1],[2,1],[1,1],[46,1],[12,1],[11,1],[51,50],[52,51],[47,1],[48,52],[53,53],[49,54],[50,1]],"exportedModulesMap":[[108,1],[54,2],[55,2],[57,3],[58,4],[59,5],[60,6],[61,7],[62,8],[63,9],[64,10],[65,11],[66,12],[67,12],[69,13],[68,14],[70,13],[71,15],[72,16],[56,17],[106,1],[73,18],[74,19],[75,20],[107,21],[76,22],[77,23],[78,24],[79,25],[80,26],[81,27],[82,28],[83,29],[84,30],[85,31],[86,31],[87,32],[88,33],[90,34],[89,35],[91,36],[92,37],[93,1],[94,38],[95,39],[96,40],[97,41],[98,42],[99,43],[100,44],[101,45],[102,46],[103,47],[104,48],[105,49],[9,1],[10,1],[14,1],[13,1],[3,1],[15,1],[16,1],[17,1],[18,1],[19,1],[20,1],[21,1],[22,1],[4,1],[5,1],[26,1],[23,1],[24,1],[25,1],[27,1],[28,1],[29,1],[6,1],[30,1],[31,1],[32,1],[33,1],[7,1],[37,1],[34,1],[35,1],[36,1],[38,1],[8,1],[39,1],[44,1],[45,1],[40,1],[41,1],[42,1],[43,1],[2,1],[1,1],[46,1],[12,1],[11,1],[51,55],[52,56],[48,57],[53,58],[49,59]],"semanticDiagnosticsPerFile":[108,54,55,57,58,59,60,61,62,63,64,65,66,67,69,68,70,71,72,56,106,73,74,75,107,76,77,78,79,80,81,82,83,84,85,86,87,88,90,89,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,9,10,14,13,3,15,16,17,18,19,20,21,22,4,5,26,23,24,25,27,28,29,6,30,31,32,33,7,37,34,35,36,38,8,39,44,45,40,41,42,43,2,1,46,12,11,51,52,47,48,53,49,50]},"version":"4.9.4"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "monetdb",
3
- "version": "2.0.2",
3
+ "version": "2.1.0",
4
4
  "description": "Connect MonetDB to your Node.js app",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
package/src/mapi.ts CHANGED
@@ -341,6 +341,7 @@ class Response {
341
341
  parseOffset: number;
342
342
  stream: boolean;
343
343
  settled: boolean;
344
+ headerEmitted: boolean;
344
345
  segments: Segment[];
345
346
  result?: QueryResult;
346
347
  callbacks: ResponseCallbacks;
@@ -354,6 +355,7 @@ class Response {
354
355
  this.parseOffset = 0;
355
356
  this.segments = [];
356
357
  this.settled = false;
358
+ this.headerEmitted = false;
357
359
  this.stream = opt.stream;
358
360
  this.callbacks = opt.callbacks;
359
361
  this.fileHandler = opt.fileHandler;
@@ -410,13 +412,21 @@ class Response {
410
412
  }
411
413
  if (this.isQueryResponse()) {
412
414
  const tuples = [];
413
- const firstPackage = this.parseOffset === 0;
414
- this.parseOffset += this.parse(this.toString(this.parseOffset), tuples);
415
+ // const firstPackage = this.parseOffset === 0;
416
+ this.parseOffset += this.parseQueryResponse(
417
+ this.toString(this.parseOffset),
418
+ tuples
419
+ );
415
420
  if (tuples.length > 0) {
416
421
  if (this.queryStream) {
417
422
  // emit header once
418
- if (firstPackage && this.result && this.result.columns) {
423
+ if (
424
+ this.headerEmitted === false &&
425
+ this.result &&
426
+ this.result.columns
427
+ ) {
419
428
  this.queryStream.emit("header", this.result.columns);
429
+ this.headerEmitted = true;
420
430
  }
421
431
  // emit tuples
422
432
  this.queryStream.emit("data", tuples);
@@ -536,122 +546,102 @@ class Response {
536
546
  }
537
547
  }
538
548
 
539
- parse(data: string, res: any[]): number {
549
+ parseQueryResponse(data: string, res: any[]): number {
540
550
  let offset = 0;
541
- const lines = data.split("\n").length;
542
- if (this.isQueryResponse()) {
543
- let eol = data.indexOf("\n");
544
- this.result = this.result || {};
545
- if (
546
- this.result.type === undefined &&
547
- data.startsWith(MSG_Q) &&
548
- lines > 0
549
- ) {
550
- // process 1st line
551
- const line = data.substring(0, eol);
552
- this.result.type = line.substring(0, 2);
553
- const rest = line.substring(3).trim().split(" ");
554
- if (this.result.type === MSG_QTABLE) {
555
- const [
556
- id,
557
- rowCnt,
558
- columnCnt,
559
- rows,
560
- queryId,
561
- queryTime,
562
- malOptimizerTime,
563
- sqlOptimizerTime,
564
- ] = rest;
565
- this.result.id = parseInt(id);
566
- this.result.rowCnt = parseInt(rowCnt);
567
- this.result.columnCnt = parseInt(columnCnt);
568
- this.result.queryId = parseInt(queryId);
569
- this.result.queryTime = parseInt(queryTime);
570
- this.result.malOptimizerTime = parseInt(malOptimizerTime);
571
- this.result.sqlOptimizerTime = parseInt(sqlOptimizerTime);
572
- } else if (this.result.type === MSG_QUPDATE) {
573
- const [
574
- affectedRowCnt,
575
- autoIncrementId,
576
- queryId,
577
- queryTime,
578
- malOptimizerTime,
579
- sqlOptimizerTime,
580
- ] = rest;
581
- this.result.affectedRows = parseInt(affectedRowCnt);
582
- this.result.queryId = parseInt(queryId);
583
- this.result.queryTime = parseInt(queryTime);
584
- this.result.malOptimizerTime = parseInt(malOptimizerTime);
585
- this.result.sqlOptimizerTime = parseInt(sqlOptimizerTime);
586
- } else if (this.result.type === MSG_QSCHEMA) {
587
- const [queryTime, malOptimizerTime] = rest;
588
- this.result.queryTime = parseInt(queryTime);
589
- this.result.malOptimizerTime = parseInt(malOptimizerTime);
590
- } else if (this.result.type === MSG_QTRANS) {
591
- // skip
592
- } else if (this.result.type === MSG_QPREPARE) {
593
- const [id, rowCnt, columnCnt, rows] = rest;
594
- this.result.id = parseInt(id);
595
- this.result.rowCnt = parseInt(rowCnt);
596
- this.result.columnCnt = parseInt(columnCnt);
597
- }
598
- // end 1st line
599
-
600
- if (
601
- this.headers === undefined &&
602
- data.charAt(eol + 1) === MSG_HEADER &&
603
- lines > 5
604
- ) {
605
- let headers: ResponseHeaders = {};
606
- while (data.charAt(eol + 1) === MSG_HEADER) {
607
- const hs = eol + 1;
608
- eol = data.indexOf("\n", hs);
609
- headers = {
610
- ...headers,
611
- ...parseHeaderLine(data.substring(hs, eol)),
612
- };
551
+ let eol = data.indexOf("\n");
552
+ let line = eol > 0 ? data.substring(0, eol) : undefined;
553
+ while (line) {
554
+ switch (line.charAt(0)) {
555
+ case MSG_Q:
556
+ // first line
557
+ this.result = this.result || {};
558
+ this.result.type = line.substring(0, 2);
559
+ const rest = line.substring(3).trim().split(" ");
560
+ if (this.result.type === MSG_QTABLE) {
561
+ const [
562
+ id,
563
+ rowCnt,
564
+ columnCnt,
565
+ rows,
566
+ queryId,
567
+ queryTime,
568
+ malOptimizerTime,
569
+ sqlOptimizerTime,
570
+ ] = rest;
571
+ this.result.id = parseInt(id);
572
+ this.result.rowCnt = parseInt(rowCnt);
573
+ this.result.columnCnt = parseInt(columnCnt);
574
+ this.result.queryId = parseInt(queryId);
575
+ this.result.queryTime = parseInt(queryTime);
576
+ this.result.malOptimizerTime = parseInt(malOptimizerTime);
577
+ this.result.sqlOptimizerTime = parseInt(sqlOptimizerTime);
578
+ } else if (this.result.type === MSG_QUPDATE) {
579
+ const [
580
+ affectedRowCnt,
581
+ autoIncrementId,
582
+ queryId,
583
+ queryTime,
584
+ malOptimizerTime,
585
+ sqlOptimizerTime,
586
+ ] = rest;
587
+ this.result.affectedRows = parseInt(affectedRowCnt);
588
+ this.result.queryId = parseInt(queryId);
589
+ this.result.queryTime = parseInt(queryTime);
590
+ this.result.malOptimizerTime = parseInt(malOptimizerTime);
591
+ this.result.sqlOptimizerTime = parseInt(sqlOptimizerTime);
592
+ } else if (this.result.type === MSG_QSCHEMA) {
593
+ const [queryTime, malOptimizerTime] = rest;
594
+ this.result.queryTime = parseInt(queryTime);
595
+ this.result.malOptimizerTime = parseInt(malOptimizerTime);
596
+ } else if (this.result.type === MSG_QTRANS) {
597
+ // skip
598
+ } else if (this.result.type === MSG_QPREPARE) {
599
+ const [id, rowCnt, columnCnt, rows] = rest;
600
+ this.result.id = parseInt(id);
601
+ this.result.rowCnt = parseInt(rowCnt);
602
+ this.result.columnCnt = parseInt(columnCnt);
613
603
  }
614
- this.headers = headers;
615
- const colums: Column[] = [];
616
- for (let i = 0; i < this.result.columnCnt; i++) {
617
- const table = headers.tableNames && headers.tableNames[i];
618
- const name = headers.columnNames && headers.columnNames[i];
619
- const type = headers.columnTypes && headers.columnTypes[i];
620
- colums.push({
621
- table,
622
- name,
623
- type,
624
- index: i,
625
- });
626
- }
627
- this.result.columns = colums;
628
- }
629
- }
630
- offset = eol + 1;
631
- let ts: number = undefined; // tuple index
632
- if (data.startsWith(MSG_TUPLE)) {
633
- ts = 0;
634
- } else if (data.charAt(eol + 1) === MSG_TUPLE) {
635
- ts = eol + 1;
636
- eol = data.indexOf("\n", ts);
637
- }
638
- if (ts !== undefined && eol > 0) {
639
- // we have a data row
640
- do {
641
- offset = eol + 1;
642
- const tuple = parseTupleLine(
643
- data.substring(ts, eol),
644
- this.headers.columnTypes
645
- );
646
- res.push(tuple);
647
- if (data.charAt(eol + 1) === MSG_TUPLE) {
648
- ts = eol + 1;
649
- eol = data.indexOf("\n", ts);
604
+ break;
605
+ case MSG_HEADER:
606
+ const header = parseHeaderLine(line);
607
+ if (this.result.headers !== undefined) {
608
+ this.result.headers = { ...this.result.headers, ...header };
650
609
  } else {
651
- ts = undefined;
610
+ this.result.headers = header;
611
+ }
612
+ // if we have all headers we can compile column info
613
+ const haveAllHeaders =
614
+ Boolean(this.result.headers.tableNames) &&
615
+ Boolean(this.result.headers.columnNames) &&
616
+ Boolean(this.result.headers.columnTypes);
617
+ if (this.result.columns === undefined && haveAllHeaders) {
618
+ const colums: Column[] = [];
619
+ for (let i = 0; i < this.result.columnCnt; i++) {
620
+ const table = this.result.headers.tableNames[i];
621
+ const name = this.result.headers.columnNames[i];
622
+ const type = this.result.headers.columnTypes[i];
623
+ colums.push({
624
+ table,
625
+ name,
626
+ type,
627
+ index: i,
628
+ });
629
+ }
630
+ this.result.columns = colums;
652
631
  }
653
- } while (ts && eol > -1);
632
+ break;
633
+ case MSG_TUPLE:
634
+ const tuple = parseTupleLine(line, this.result.headers.columnTypes);
635
+ res.push(tuple);
636
+ break;
637
+ default:
638
+ throw TypeError(`Invalid query response line!\n${line}`);
654
639
  }
640
+ // line is processed advance offset
641
+ offset = eol + 1;
642
+ // get next line
643
+ eol = data.indexOf("\n", offset);
644
+ line = eol > 0 ? data.substring(offset, eol) : undefined;
655
645
  }
656
646
  return offset;
657
647
  }