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,15 +1,17 @@
1
- // Generated by CoffeeScript 1.10.0
2
- var ISOLATION_LEVEL, OPERATION_TYPE, Transaction, WritableTrackingBuffer, isolationLevelByValue, name, value, writeAllHeaders;
1
+ 'use strict';
3
2
 
4
- WritableTrackingBuffer = require('./tracking-buffer/writable-tracking-buffer');
3
+ var _createClass = require('babel-runtime/helpers/create-class')['default'];
5
4
 
6
- writeAllHeaders = require('./all-headers').writeToTrackingBuffer;
5
+ var _classCallCheck = require('babel-runtime/helpers/class-call-check')['default'];
6
+
7
+ var WritableTrackingBuffer = require('./tracking-buffer/writable-tracking-buffer');
8
+ var writeAllHeaders = require('./all-headers').writeToTrackingBuffer;
7
9
 
8
10
  /*
9
11
  s2.2.6.8
10
12
  */
11
13
 
12
- OPERATION_TYPE = {
14
+ var OPERATION_TYPE = module.exports.OPERATION_TYPE = {
13
15
  TM_GET_DTC_ADDRESS: 0x00,
14
16
  TM_PROPAGATE_XACT: 0x01,
15
17
  TM_BEGIN_XACT: 0x05,
@@ -19,7 +21,7 @@ OPERATION_TYPE = {
19
21
  TM_SAVE_XACT: 0x09
20
22
  };
21
23
 
22
- ISOLATION_LEVEL = {
24
+ var ISOLATION_LEVEL = module.exports.ISOLATION_LEVEL = {
23
25
  NO_CHANGE: 0x00,
24
26
  READ_UNCOMMITTED: 0x01,
25
27
  READ_COMMITTED: 0x02,
@@ -28,110 +30,118 @@ ISOLATION_LEVEL = {
28
30
  SNAPSHOT: 0x05
29
31
  };
30
32
 
31
- isolationLevelByValue = {};
32
-
33
- for (name in ISOLATION_LEVEL) {
34
- value = ISOLATION_LEVEL[name];
35
- isolationLevelByValue[value] = name;
33
+ var isolationLevelByValue = {};
34
+ for (var _name in ISOLATION_LEVEL) {
35
+ var value = ISOLATION_LEVEL[_name];
36
+ isolationLevelByValue[value] = _name;
36
37
  }
37
38
 
38
- Transaction = (function () {
39
- function Transaction(name1, isolationLevel) {
40
- this.name = name1;
39
+ var Transaction = (function () {
40
+ function Transaction(name, isolationLevel) {
41
+ _classCallCheck(this, Transaction);
42
+
43
+ this.name = name;
41
44
  this.isolationLevel = isolationLevel;
42
45
  this.outstandingRequestCount = 1;
43
46
  }
44
47
 
45
- Transaction.prototype.beginPayload = function (txnDescriptor) {
46
- var buffer, payload;
47
- buffer = new WritableTrackingBuffer(100, 'ucs2');
48
- writeAllHeaders(buffer, txnDescriptor, this.outstandingRequestCount);
49
- buffer.writeUShort(OPERATION_TYPE.TM_BEGIN_XACT);
50
- buffer.writeUInt8(this.isolationLevel);
51
- buffer.writeUInt8(this.name.length * 2);
52
- buffer.writeString(this.name, 'ucs2');
53
- return payload = {
54
- data: buffer.data,
55
- toString: (function (_this) {
56
- return function () {
57
- return "Begin Transaction: name=" + _this.name + ", isolationLevel=" + isolationLevelByValue[_this.isolationLevel];
58
- };
59
- })(this)
60
- };
61
- };
62
-
63
- Transaction.prototype.commitPayload = function (txnDescriptor) {
64
- var buffer, payload;
65
- buffer = new WritableTrackingBuffer(100, 'ascii');
66
- writeAllHeaders(buffer, txnDescriptor, this.outstandingRequestCount);
67
- buffer.writeUShort(OPERATION_TYPE.TM_COMMIT_XACT);
68
- buffer.writeUInt8(this.name.length * 2);
69
- buffer.writeString(this.name, 'ucs2');
70
- buffer.writeUInt8(0);
71
- return payload = {
72
- data: buffer.data,
73
- toString: (function (_this) {
74
- return function () {
75
- return "Commit Transaction: name=" + _this.name;
76
- };
77
- })(this)
78
- };
79
- };
80
-
81
- Transaction.prototype.rollbackPayload = function (txnDescriptor) {
82
- var buffer, payload;
83
- buffer = new WritableTrackingBuffer(100, 'ascii');
84
- writeAllHeaders(buffer, txnDescriptor, this.outstandingRequestCount);
85
- buffer.writeUShort(OPERATION_TYPE.TM_ROLLBACK_XACT);
86
- buffer.writeUInt8(this.name.length * 2);
87
- buffer.writeString(this.name, 'ucs2');
88
- buffer.writeUInt8(0);
89
- return payload = {
90
- data: buffer.data,
91
- toString: (function (_this) {
92
- return function () {
93
- return "Rollback Transaction: name=" + _this.name;
94
- };
95
- })(this)
96
- };
97
- };
98
-
99
- Transaction.prototype.savePayload = function (txnDescriptor) {
100
- var buffer, payload;
101
- buffer = new WritableTrackingBuffer(100, 'ascii');
102
- writeAllHeaders(buffer, txnDescriptor, this.outstandingRequestCount);
103
- buffer.writeUShort(OPERATION_TYPE.TM_SAVE_XACT);
104
- buffer.writeUInt8(this.name.length * 2);
105
- buffer.writeString(this.name, 'ucs2');
106
- return payload = {
107
- data: buffer.data,
108
- toString: (function (_this) {
109
- return function () {
110
- return "Save Transaction: name=" + _this.name;
111
- };
112
- })(this)
113
- };
114
- };
115
-
116
- Transaction.prototype.isolationLevelToTSQL = function () {
117
- switch (this.isolationLevel) {
118
- case ISOLATION_LEVEL.READ_UNCOMMITTED:
119
- return 'READ UNCOMMITTED';
120
- case ISOLATION_LEVEL.READ_COMMITTED:
121
- return 'READ COMMITTED';
122
- case ISOLATION_LEVEL.REPEATABLE_READ:
123
- return 'REPEATABLE READ';
124
- case ISOLATION_LEVEL.SERIALIZABLE:
125
- return 'SERIALIZABLE';
126
- case ISOLATION_LEVEL.SNAPSHOT:
127
- return 'SNAPSHOT';
48
+ _createClass(Transaction, [{
49
+ key: 'beginPayload',
50
+ value: function beginPayload(txnDescriptor) {
51
+ var _this = this;
52
+
53
+ var buffer = new WritableTrackingBuffer(100, 'ucs2');
54
+ writeAllHeaders(buffer, txnDescriptor, this.outstandingRequestCount);
55
+ buffer.writeUShort(OPERATION_TYPE.TM_BEGIN_XACT);
56
+ buffer.writeUInt8(this.isolationLevel);
57
+ buffer.writeUInt8(this.name.length * 2);
58
+ buffer.writeString(this.name, 'ucs2');
59
+
60
+ return {
61
+ data: buffer.data,
62
+ toString: function toString() {
63
+ return 'Begin Transaction: name=' + _this.name + ', isolationLevel=' + isolationLevelByValue[_this.isolationLevel];
64
+ }
65
+ };
66
+ }
67
+ }, {
68
+ key: 'commitPayload',
69
+ value: function commitPayload(txnDescriptor) {
70
+ var _this2 = this;
71
+
72
+ var buffer = new WritableTrackingBuffer(100, 'ascii');
73
+ writeAllHeaders(buffer, txnDescriptor, this.outstandingRequestCount);
74
+ buffer.writeUShort(OPERATION_TYPE.TM_COMMIT_XACT);
75
+ buffer.writeUInt8(this.name.length * 2);
76
+ buffer.writeString(this.name, 'ucs2');
77
+ // No fBeginXact flag, so no new transaction is started.
78
+ buffer.writeUInt8(0);
79
+
80
+ return {
81
+ data: buffer.data,
82
+ toString: function toString() {
83
+ return 'Commit Transaction: name=' + _this2.name;
84
+ }
85
+ };
128
86
  }
129
- return '';
130
- };
87
+ }, {
88
+ key: 'rollbackPayload',
89
+ value: function rollbackPayload(txnDescriptor) {
90
+ var _this3 = this;
91
+
92
+ var buffer = new WritableTrackingBuffer(100, 'ascii');
93
+ writeAllHeaders(buffer, txnDescriptor, this.outstandingRequestCount);
94
+ buffer.writeUShort(OPERATION_TYPE.TM_ROLLBACK_XACT);
95
+ buffer.writeUInt8(this.name.length * 2);
96
+ buffer.writeString(this.name, 'ucs2');
97
+ // No fBeginXact flag, so no new transaction is started.
98
+ buffer.writeUInt8(0);
99
+
100
+ return {
101
+ data: buffer.data,
102
+ toString: function toString() {
103
+ return 'Rollback Transaction: name=' + _this3.name;
104
+ }
105
+ };
106
+ }
107
+ }, {
108
+ key: 'savePayload',
109
+ value: function savePayload(txnDescriptor) {
110
+ var _this4 = this;
111
+
112
+ var buffer = new WritableTrackingBuffer(100, 'ascii');
113
+ writeAllHeaders(buffer, txnDescriptor, this.outstandingRequestCount);
114
+ buffer.writeUShort(OPERATION_TYPE.TM_SAVE_XACT);
115
+ buffer.writeUInt8(this.name.length * 2);
116
+ buffer.writeString(this.name, 'ucs2');
117
+
118
+ return {
119
+ data: buffer.data,
120
+ toString: function toString() {
121
+ return 'Save Transaction: name=' + _this4.name;
122
+ }
123
+ };
124
+ }
125
+ }, {
126
+ key: 'isolationLevelToTSQL',
127
+ value: function isolationLevelToTSQL() {
128
+ switch (this.isolationLevel) {
129
+ case ISOLATION_LEVEL.READ_UNCOMMITTED:
130
+ return 'READ UNCOMMITTED';
131
+ case ISOLATION_LEVEL.READ_COMMITTED:
132
+ return 'READ COMMITTED';
133
+ case ISOLATION_LEVEL.REPEATABLE_READ:
134
+ return 'REPEATABLE READ';
135
+ case ISOLATION_LEVEL.SERIALIZABLE:
136
+ return 'SERIALIZABLE';
137
+ case ISOLATION_LEVEL.SNAPSHOT:
138
+ return 'SNAPSHOT';
139
+ }
140
+ return '';
141
+ }
142
+ }]);
131
143
 
132
144
  return Transaction;
133
145
  })();
134
146
 
135
- exports.Transaction = Transaction;
136
-
137
- exports.ISOLATION_LEVEL = ISOLATION_LEVEL;
147
+ module.exports.Transaction = Transaction;