tedious 1.12.3 → 1.14.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 (62) hide show
  1. package/README.md +1 -1
  2. package/appveyor.yml +9 -5
  3. package/benchmarks/README.md +33 -0
  4. package/benchmarks/common.js +82 -0
  5. package/benchmarks/index.js +34 -0
  6. package/benchmarks/query/many-result-rows.js +49 -0
  7. package/benchmarks/query/nvarchar-large.js +44 -0
  8. package/benchmarks/query/nvarchar-small.js +44 -0
  9. package/benchmarks/query/varbinary-4.js +42 -0
  10. package/benchmarks/query/varbinary-huge.js +46 -0
  11. package/benchmarks/query/varbinary-large.js +46 -0
  12. package/benchmarks/query/varbinary-small.js +42 -0
  13. package/benchmarks/token-parser/colmetadata-token.js +42 -0
  14. package/benchmarks/token-parser/done-token.js +42 -0
  15. package/benchmarks/token-parser/simple-tokens.js +366 -0
  16. package/lib/all-headers.js +9 -11
  17. package/lib/buffertools.js +17 -13
  18. package/lib/bulk-load.js +196 -169
  19. package/lib/collation.js +80 -2
  20. package/lib/connection.js +1086 -1060
  21. package/lib/data-type.js +450 -253
  22. package/lib/debug.js +57 -51
  23. package/lib/errors.js +40 -55
  24. package/lib/guid-parser.js +12 -36
  25. package/lib/instance-lookup.js +57 -54
  26. package/lib/library.js +3 -2
  27. package/lib/login7-payload.js +187 -180
  28. package/lib/message-io.js +169 -199
  29. package/lib/metadata-parser.js +169 -255
  30. package/lib/ntlm-payload.js +173 -160
  31. package/lib/packet.js +166 -152
  32. package/lib/prelogin-payload.js +170 -160
  33. package/lib/request.js +122 -122
  34. package/lib/rpcrequest-payload.js +64 -38
  35. package/lib/special-stored-procedure.js +3 -2
  36. package/lib/sqlbatch-payload.js +20 -16
  37. package/lib/stream-parser.js +116 -104
  38. package/lib/tds-versions.js +5 -8
  39. package/lib/tedious.js +8 -14
  40. package/lib/token/colmetadata-token-parser.js +79 -125
  41. package/lib/token/done-token-parser.js +47 -129
  42. package/lib/token/env-change-token-parser.js +90 -126
  43. package/lib/token/infoerror-token-parser.js +47 -125
  44. package/lib/token/loginack-token-parser.js +36 -74
  45. package/lib/token/nbcrow-token-parser.js +40 -64
  46. package/lib/token/order-token-parser.js +26 -43
  47. package/lib/token/returnstatus-token-parser.js +11 -23
  48. package/lib/token/returnvalue-token-parser.js +31 -54
  49. package/lib/token/row-token-parser.js +39 -52
  50. package/lib/token/sspi-token-parser.js +14 -32
  51. package/lib/token/stream-parser.js +424 -304
  52. package/lib/token/token-stream-parser.js +39 -34
  53. package/lib/token/token.js +3 -6
  54. package/lib/tracking-buffer/bigint.js +45 -48
  55. package/lib/tracking-buffer/readable-tracking-buffer.js +238 -223
  56. package/lib/tracking-buffer/tracking-buffer.js +3 -9
  57. package/lib/tracking-buffer/writable-tracking-buffer.js +272 -244
  58. package/lib/transaction.js +112 -102
  59. package/lib/value-parser.js +559 -1154
  60. package/package.json +10 -9
  61. package/benchmarks/benchmarks.coffee +0 -122
  62. package/benchmarks/query.coffee +0 -57
@@ -1,59 +1,46 @@
1
- var _regeneratorRuntime = require('babel-runtime/regenerator').default;
1
+ 'use strict';
2
2
 
3
- // Generated by CoffeeScript 1.10.0
4
- var sprintf, valueParse;
3
+ // s2.2.7.17
5
4
 
6
- valueParse = require('../value-parser');
5
+ var valueParse = require('../value-parser');
7
6
 
8
- sprintf = require('sprintf').sprintf;
7
+ module.exports = function (parser, colMetadata, options, callback) {
8
+ var columns = options.useColumnNames ? {} : [];
9
9
 
10
- module.exports = _regeneratorRuntime.mark(function callee$0$0(parser, columnsMetaData, options) {
11
- var column, columnMetaData, columns, i, len, value;
12
- return _regeneratorRuntime.wrap(function callee$0$0$(context$1$0) {
13
- while (1) switch (context$1$0.prev = context$1$0.next) {
14
- case 0:
15
- columns = options.useColumnNames ? {} : [];
16
- i = 0, len = columnsMetaData.length;
10
+ var len = colMetadata.length;
11
+ var i = 0;
17
12
 
18
- case 2:
19
- if (!(i < len)) {
20
- context$1$0.next = 11;
21
- break;
22
- }
13
+ function next(done) {
14
+ if (i === len) {
15
+ return done();
16
+ }
23
17
 
24
- columnMetaData = columnsMetaData[i];
25
- return context$1$0.delegateYield(valueParse(parser, columnMetaData, options), 't0', 5);
26
-
27
- case 5:
28
- value = context$1$0.t0;
29
-
30
- column = {
31
- value: value,
32
- metadata: columnMetaData
33
- };
34
- if (options.useColumnNames) {
35
- if (columns[columnMetaData.colName] == null) {
36
- columns[columnMetaData.colName] = column;
37
- }
38
- } else {
39
- columns.push(column);
40
- }
18
+ var columnMetaData = colMetadata[i];
19
+ valueParse(parser, columnMetaData, options, function (value) {
20
+ var column = {
21
+ value: value,
22
+ metadata: columnMetaData
23
+ };
41
24
 
42
- case 8:
43
- i++;
44
- context$1$0.next = 2;
45
- break;
46
-
47
- case 11:
48
- return context$1$0.abrupt('return', {
49
- name: 'ROW',
50
- event: 'row',
51
- columns: columns
52
- });
53
-
54
- case 12:
55
- case 'end':
56
- return context$1$0.stop();
57
- }
58
- }, callee$0$0, this);
59
- });
25
+ if (options.useColumnNames) {
26
+ if (columns[columnMetaData.colName] == null) {
27
+ columns[columnMetaData.colName] = column;
28
+ }
29
+ } else {
30
+ columns.push(column);
31
+ }
32
+
33
+ i++;
34
+
35
+ next(done);
36
+ });
37
+ }
38
+
39
+ next(function () {
40
+ callback({
41
+ name: 'ROW',
42
+ event: 'row',
43
+ columns: columns
44
+ });
45
+ });
46
+ };
@@ -1,12 +1,8 @@
1
- var _regeneratorRuntime = require('babel-runtime/regenerator').default;
1
+ 'use strict';
2
2
 
3
- // Generated by CoffeeScript 1.10.0
4
- var parseChallenge;
5
-
6
- parseChallenge = function (buffer) {
7
- var challenge;
8
- challenge = {};
9
- challenge.magic = buffer.slice(0, 8).toString("utf8");
3
+ function parseChallenge(buffer) {
4
+ var challenge = {};
5
+ challenge.magic = buffer.slice(0, 8).toString('utf8');
10
6
  challenge.type = buffer.readInt32LE(8);
11
7
  challenge.domainLen = buffer.readInt16LE(12);
12
8
  challenge.domainMax = buffer.readInt16LE(14);
@@ -21,28 +17,14 @@ parseChallenge = function (buffer) {
21
17
  challenge.domain = buffer.slice(56, 56 + challenge.domainLen).toString('ucs2');
22
18
  challenge.target = buffer.slice(56 + challenge.domainLen, 56 + challenge.domainLen + challenge.targetLen);
23
19
  return challenge;
24
- };
25
-
26
- module.exports = _regeneratorRuntime.mark(function callee$0$0(parser) {
27
- var challenge, sspiBuffer;
28
- return _regeneratorRuntime.wrap(function callee$0$0$(context$1$0) {
29
- while (1) switch (context$1$0.prev = context$1$0.next) {
30
- case 0:
31
- return context$1$0.delegateYield(parser.readUsVarByte(), 't0', 1);
32
-
33
- case 1:
34
- sspiBuffer = context$1$0.t0;
35
-
36
- challenge = parseChallenge(sspiBuffer);
37
- return context$1$0.abrupt('return', {
38
- name: 'SSPICHALLENGE',
39
- event: 'sspichallenge',
40
- ntlmpacket: challenge
41
- });
20
+ }
42
21
 
43
- case 4:
44
- case 'end':
45
- return context$1$0.stop();
46
- }
47
- }, callee$0$0, this);
48
- });
22
+ module.exports = function (parser, colMetadata, options, callback) {
23
+ parser.readUsVarByte(function (buffer) {
24
+ callback({
25
+ name: 'SSPICHALLENGE',
26
+ event: 'sspichallenge',
27
+ ntlmpacket: parseChallenge(buffer)
28
+ });
29
+ });
30
+ };