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.
- package/README.md +1 -1
- package/appveyor.yml +9 -5
- package/benchmarks/README.md +33 -0
- package/benchmarks/common.js +82 -0
- package/benchmarks/index.js +34 -0
- package/benchmarks/query/many-result-rows.js +49 -0
- package/benchmarks/query/nvarchar-large.js +44 -0
- package/benchmarks/query/nvarchar-small.js +44 -0
- package/benchmarks/query/varbinary-4.js +42 -0
- package/benchmarks/query/varbinary-huge.js +46 -0
- package/benchmarks/query/varbinary-large.js +46 -0
- package/benchmarks/query/varbinary-small.js +42 -0
- package/benchmarks/token-parser/colmetadata-token.js +42 -0
- package/benchmarks/token-parser/done-token.js +42 -0
- package/benchmarks/token-parser/simple-tokens.js +366 -0
- package/lib/all-headers.js +9 -11
- package/lib/buffertools.js +17 -13
- package/lib/bulk-load.js +196 -169
- package/lib/collation.js +80 -2
- package/lib/connection.js +1086 -1060
- package/lib/data-type.js +450 -253
- package/lib/debug.js +57 -51
- package/lib/errors.js +40 -55
- package/lib/guid-parser.js +12 -36
- package/lib/instance-lookup.js +57 -54
- package/lib/library.js +3 -2
- package/lib/login7-payload.js +187 -180
- package/lib/message-io.js +169 -199
- package/lib/metadata-parser.js +169 -255
- package/lib/ntlm-payload.js +173 -160
- package/lib/packet.js +166 -152
- package/lib/prelogin-payload.js +170 -160
- package/lib/request.js +122 -122
- package/lib/rpcrequest-payload.js +64 -38
- package/lib/special-stored-procedure.js +3 -2
- package/lib/sqlbatch-payload.js +20 -16
- package/lib/stream-parser.js +116 -104
- package/lib/tds-versions.js +5 -8
- package/lib/tedious.js +8 -14
- package/lib/token/colmetadata-token-parser.js +79 -125
- package/lib/token/done-token-parser.js +47 -129
- package/lib/token/env-change-token-parser.js +90 -126
- package/lib/token/infoerror-token-parser.js +47 -125
- package/lib/token/loginack-token-parser.js +36 -74
- package/lib/token/nbcrow-token-parser.js +40 -64
- package/lib/token/order-token-parser.js +26 -43
- package/lib/token/returnstatus-token-parser.js +11 -23
- package/lib/token/returnvalue-token-parser.js +31 -54
- package/lib/token/row-token-parser.js +39 -52
- package/lib/token/sspi-token-parser.js +14 -32
- package/lib/token/stream-parser.js +424 -304
- package/lib/token/token-stream-parser.js +39 -34
- package/lib/token/token.js +3 -6
- package/lib/tracking-buffer/bigint.js +45 -48
- package/lib/tracking-buffer/readable-tracking-buffer.js +238 -223
- package/lib/tracking-buffer/tracking-buffer.js +3 -9
- package/lib/tracking-buffer/writable-tracking-buffer.js +272 -244
- package/lib/transaction.js +112 -102
- package/lib/value-parser.js +559 -1154
- package/package.json +10 -9
- package/benchmarks/benchmarks.coffee +0 -122
- package/benchmarks/query.coffee +0 -57
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
|
|
2
|
-
var OPTION, RpcRequestPayload, STATUS, WritableTrackingBuffer, typeByName, writeAllHeaders;
|
|
1
|
+
'use strict';
|
|
3
2
|
|
|
4
|
-
|
|
3
|
+
var _createClass = require('babel-runtime/helpers/create-class')['default'];
|
|
5
4
|
|
|
6
|
-
|
|
5
|
+
var _classCallCheck = require('babel-runtime/helpers/class-call-check')['default'];
|
|
7
6
|
|
|
8
|
-
|
|
7
|
+
var WritableTrackingBuffer = require('./tracking-buffer/tracking-buffer').WritableTrackingBuffer;
|
|
8
|
+
var writeAllHeaders = require('./all-headers').writeToTrackingBuffer;
|
|
9
9
|
|
|
10
|
-
OPTION = {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
};
|
|
10
|
+
// const OPTION = {
|
|
11
|
+
// WITH_RECOMPILE: 0x01,
|
|
12
|
+
// NO_METADATA: 0x02,
|
|
13
|
+
// REUSE_METADATA: 0x04
|
|
14
|
+
// };
|
|
15
15
|
|
|
16
|
-
STATUS = {
|
|
16
|
+
var STATUS = {
|
|
17
17
|
BY_REF_VALUE: 0x01,
|
|
18
18
|
DEFAULT_VALUE: 0x02
|
|
19
19
|
};
|
|
@@ -21,58 +21,84 @@ STATUS = {
|
|
|
21
21
|
/*
|
|
22
22
|
s2.2.6.5
|
|
23
23
|
*/
|
|
24
|
-
|
|
25
|
-
RpcRequestPayload = (function () {
|
|
24
|
+
module.exports = (function () {
|
|
26
25
|
function RpcRequestPayload(request, txnDescriptor, options) {
|
|
27
|
-
|
|
26
|
+
_classCallCheck(this, RpcRequestPayload);
|
|
27
|
+
|
|
28
28
|
this.request = request;
|
|
29
|
-
buffer = new WritableTrackingBuffer(500);
|
|
30
29
|
this.procedure = this.request.sqlTextOrProcedure;
|
|
30
|
+
|
|
31
|
+
var buffer = new WritableTrackingBuffer(500);
|
|
31
32
|
if (options.tdsVersion >= '7_2') {
|
|
32
|
-
outstandingRequestCount = 1;
|
|
33
|
+
var outstandingRequestCount = 1;
|
|
33
34
|
writeAllHeaders(buffer, txnDescriptor, outstandingRequestCount);
|
|
34
35
|
}
|
|
36
|
+
|
|
35
37
|
if (typeof this.procedure === 'string') {
|
|
36
38
|
buffer.writeUsVarchar(this.procedure);
|
|
37
39
|
} else {
|
|
38
40
|
buffer.writeUShort(0xFFFF);
|
|
39
41
|
buffer.writeUShort(this.procedure);
|
|
40
42
|
}
|
|
41
|
-
|
|
43
|
+
|
|
44
|
+
var optionFlags = 0;
|
|
42
45
|
buffer.writeUInt16LE(optionFlags);
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
46
|
+
|
|
47
|
+
var parameters = this.request.parameters;
|
|
48
|
+
for (var i = 0, len = parameters.length; i < len; i++) {
|
|
49
|
+
var parameter = parameters[i];
|
|
50
|
+
buffer.writeBVarchar('@' + parameter.name);
|
|
51
|
+
|
|
52
|
+
var statusFlags = 0;
|
|
47
53
|
if (parameter.output) {
|
|
48
54
|
statusFlags |= STATUS.BY_REF_VALUE;
|
|
49
55
|
}
|
|
50
|
-
buffer.writeBVarchar('@' + parameter.name);
|
|
51
56
|
buffer.writeUInt8(statusFlags);
|
|
52
|
-
|
|
57
|
+
|
|
58
|
+
var param = {
|
|
53
59
|
value: parameter.value
|
|
54
60
|
};
|
|
55
|
-
|
|
56
|
-
|
|
61
|
+
|
|
62
|
+
var type = parameter.type;
|
|
63
|
+
|
|
64
|
+
if ((type.id & 0x30) === 0x20) {
|
|
65
|
+
if (parameter.length) {
|
|
66
|
+
param.length = parameter.length;
|
|
67
|
+
} else if (type.resolveLength) {
|
|
68
|
+
param.length = type.resolveLength(parameter);
|
|
69
|
+
}
|
|
57
70
|
}
|
|
58
|
-
|
|
59
|
-
|
|
71
|
+
|
|
72
|
+
if (type.hasPrecision) {
|
|
73
|
+
if (parameter.precision) {
|
|
74
|
+
param.precision = parameter.precision;
|
|
75
|
+
} else if (type.resolvePrecision) {
|
|
76
|
+
param.precision = type.resolvePrecision(parameter);
|
|
77
|
+
}
|
|
60
78
|
}
|
|
61
|
-
|
|
62
|
-
|
|
79
|
+
|
|
80
|
+
if (type.hasScale) {
|
|
81
|
+
if (parameter.scale) {
|
|
82
|
+
param.scale = parameter.scale;
|
|
83
|
+
} else if (type.resolveScale) {
|
|
84
|
+
param.scale = type.resolveScale(parameter);
|
|
85
|
+
}
|
|
63
86
|
}
|
|
64
|
-
|
|
65
|
-
|
|
87
|
+
|
|
88
|
+
type.writeTypeInfo(buffer, param, options);
|
|
89
|
+
type.writeParameterData(buffer, param, options);
|
|
66
90
|
}
|
|
91
|
+
|
|
67
92
|
this.data = buffer.data;
|
|
68
93
|
}
|
|
69
94
|
|
|
70
|
-
RpcRequestPayload
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
95
|
+
_createClass(RpcRequestPayload, [{
|
|
96
|
+
key: 'toString',
|
|
97
|
+
value: function toString(indent) {
|
|
98
|
+
indent || (indent = '');
|
|
99
|
+
return indent + ('RPC Request - ' + this.procedure);
|
|
100
|
+
}
|
|
101
|
+
}]);
|
|
74
102
|
|
|
75
103
|
return RpcRequestPayload;
|
|
76
|
-
})();
|
|
77
|
-
|
|
78
|
-
module.exports = RpcRequestPayload;
|
|
104
|
+
})();
|
package/lib/sqlbatch-payload.js
CHANGED
|
@@ -1,33 +1,37 @@
|
|
|
1
|
-
|
|
2
|
-
var SqlBatchPayload, WritableTrackingBuffer, writeAllHeaders;
|
|
1
|
+
'use strict';
|
|
3
2
|
|
|
4
|
-
|
|
3
|
+
var _createClass = require('babel-runtime/helpers/create-class')['default'];
|
|
5
4
|
|
|
6
|
-
|
|
5
|
+
var _classCallCheck = require('babel-runtime/helpers/class-call-check')['default'];
|
|
6
|
+
|
|
7
|
+
var WritableTrackingBuffer = require('./tracking-buffer/tracking-buffer').WritableTrackingBuffer;
|
|
8
|
+
var writeAllHeaders = require('./all-headers').writeToTrackingBuffer;
|
|
7
9
|
|
|
8
10
|
/*
|
|
9
11
|
s2.2.6.6
|
|
10
12
|
*/
|
|
11
|
-
|
|
12
|
-
SqlBatchPayload = (function () {
|
|
13
|
+
module.exports = (function () {
|
|
13
14
|
function SqlBatchPayload(sqlText, txnDescriptor, options) {
|
|
14
|
-
|
|
15
|
+
_classCallCheck(this, SqlBatchPayload);
|
|
16
|
+
|
|
15
17
|
this.sqlText = sqlText;
|
|
16
|
-
|
|
18
|
+
|
|
19
|
+
var buffer = new WritableTrackingBuffer(100 + 2 * this.sqlText.length, 'ucs2');
|
|
17
20
|
if (options.tdsVersion >= '7_2') {
|
|
18
|
-
outstandingRequestCount = 1;
|
|
21
|
+
var outstandingRequestCount = 1;
|
|
19
22
|
writeAllHeaders(buffer, txnDescriptor, outstandingRequestCount);
|
|
20
23
|
}
|
|
21
24
|
buffer.writeString(this.sqlText, 'ucs2');
|
|
22
25
|
this.data = buffer.data;
|
|
23
26
|
}
|
|
24
27
|
|
|
25
|
-
SqlBatchPayload
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
28
|
+
_createClass(SqlBatchPayload, [{
|
|
29
|
+
key: 'toString',
|
|
30
|
+
value: function toString(indent) {
|
|
31
|
+
indent || (indent = '');
|
|
32
|
+
return indent + ('SQL Batch - ' + this.sqlText);
|
|
33
|
+
}
|
|
34
|
+
}]);
|
|
29
35
|
|
|
30
36
|
return SqlBatchPayload;
|
|
31
|
-
})();
|
|
32
|
-
|
|
33
|
-
module.exports = SqlBatchPayload;
|
|
37
|
+
})();
|
package/lib/stream-parser.js
CHANGED
|
@@ -1,162 +1,174 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
stream = require('readable-stream');
|
|
19
|
-
|
|
20
|
-
BufferList = require('bl');
|
|
21
|
-
|
|
22
|
-
Job = (function () {
|
|
23
|
-
function Job(length1, execute) {
|
|
24
|
-
this.length = length1;
|
|
25
|
-
this.execute = execute;
|
|
26
|
-
}
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var _classCallCheck = require('babel-runtime/helpers/class-call-check')['default'];
|
|
4
|
+
|
|
5
|
+
var _get = require('babel-runtime/helpers/get')['default'];
|
|
6
|
+
|
|
7
|
+
var _inherits = require('babel-runtime/helpers/inherits')['default'];
|
|
8
|
+
|
|
9
|
+
var _createClass = require('babel-runtime/helpers/create-class')['default'];
|
|
10
|
+
|
|
11
|
+
var _Object$keys = require('babel-runtime/core-js/object/keys')['default'];
|
|
12
|
+
|
|
13
|
+
var stream = require('readable-stream');
|
|
14
|
+
var BufferList = require('bl');
|
|
15
|
+
|
|
16
|
+
var Job = function Job(length, execute) {
|
|
17
|
+
_classCallCheck(this, Job);
|
|
27
18
|
|
|
28
|
-
|
|
29
|
-
|
|
19
|
+
this.length = length;
|
|
20
|
+
this.execute = execute;
|
|
21
|
+
}
|
|
30
22
|
|
|
31
|
-
|
|
32
|
-
|
|
23
|
+
// These jobs are non-dynamic, so we can reuse the job objects.
|
|
24
|
+
// This should reduce GC pressure a bit (as less objects will be
|
|
25
|
+
// created and garbage collected during stream parsing).
|
|
26
|
+
;
|
|
27
|
+
|
|
28
|
+
var JOBS = {
|
|
29
|
+
readInt8: new Job(1, function (buffer, offset) {
|
|
33
30
|
return buffer.readInt8(offset);
|
|
34
31
|
}),
|
|
35
|
-
|
|
32
|
+
readUInt8: new Job(1, function (buffer, offset) {
|
|
36
33
|
return buffer.readUInt8(offset);
|
|
37
34
|
}),
|
|
38
|
-
|
|
35
|
+
readInt16LE: new Job(2, function (buffer, offset) {
|
|
39
36
|
return buffer.readInt16LE(offset);
|
|
40
37
|
}),
|
|
41
|
-
|
|
38
|
+
readInt16BE: new Job(2, function (buffer, offset) {
|
|
42
39
|
return buffer.readInt16BE(offset);
|
|
43
40
|
}),
|
|
44
|
-
|
|
41
|
+
readUInt16LE: new Job(2, function (buffer, offset) {
|
|
45
42
|
return buffer.readUInt16LE(offset);
|
|
46
43
|
}),
|
|
47
|
-
|
|
44
|
+
readUInt16BE: new Job(2, function (buffer, offset) {
|
|
48
45
|
return buffer.readUInt16BE(offset);
|
|
49
46
|
}),
|
|
50
|
-
|
|
47
|
+
readInt32LE: new Job(4, function (buffer, offset) {
|
|
51
48
|
return buffer.readInt32LE(offset);
|
|
52
49
|
}),
|
|
53
|
-
|
|
50
|
+
readInt32BE: new Job(4, function (buffer, offset) {
|
|
54
51
|
return buffer.readInt32BE(offset);
|
|
55
52
|
}),
|
|
56
|
-
|
|
53
|
+
readUInt32LE: new Job(4, function (buffer, offset) {
|
|
57
54
|
return buffer.readUInt32LE(offset);
|
|
58
55
|
}),
|
|
59
|
-
|
|
56
|
+
readUInt32BE: new Job(4, function (buffer, offset) {
|
|
60
57
|
return buffer.readUInt32BE(offset);
|
|
61
58
|
}),
|
|
62
|
-
|
|
59
|
+
readInt64LE: new Job(8, function (buffer, offset) {
|
|
63
60
|
return Math.pow(2, 32) * buffer.readInt32LE(offset + 4) + (buffer[offset + 4] & 0x80 === 0x80 ? 1 : -1) * buffer.readUInt32LE(offset);
|
|
64
61
|
}),
|
|
65
|
-
|
|
62
|
+
readInt64BE: new Job(8, function (buffer, offset) {
|
|
66
63
|
return Math.pow(2, 32) * buffer.readInt32BE(offset) + (buffer[offset] & 0x80 === 0x80 ? 1 : -1) * buffer.readUInt32BE(offset + 4);
|
|
67
64
|
}),
|
|
68
|
-
|
|
65
|
+
readUInt64LE: new Job(8, function (buffer, offset) {
|
|
69
66
|
return Math.pow(2, 32) * buffer.readUInt32LE(offset + 4) + buffer.readUInt32LE(offset);
|
|
70
67
|
}),
|
|
71
|
-
|
|
68
|
+
readUInt64BE: new Job(8, function (buffer, offset) {
|
|
72
69
|
return Math.pow(2, 32) * buffer.readUInt32BE(offset) + buffer.readUInt32BE(offset + 4);
|
|
73
70
|
}),
|
|
74
|
-
|
|
71
|
+
readFloatLE: new Job(4, function (buffer, offset) {
|
|
75
72
|
return buffer.readFloatLE(offset);
|
|
76
73
|
}),
|
|
77
|
-
|
|
74
|
+
readFloatBE: new Job(4, function (buffer, offset) {
|
|
78
75
|
return buffer.readFloatBE(offset);
|
|
79
76
|
}),
|
|
80
|
-
|
|
77
|
+
readDoubleLE: new Job(8, function (buffer, offset) {
|
|
81
78
|
return buffer.readDoubleLE(offset);
|
|
82
79
|
}),
|
|
83
|
-
|
|
80
|
+
readDoubleBE: new Job(8, function (buffer, offset) {
|
|
84
81
|
return buffer.readDoubleBE(offset);
|
|
85
82
|
})
|
|
86
83
|
};
|
|
87
84
|
|
|
88
|
-
StreamParser = (function (
|
|
89
|
-
|
|
85
|
+
var StreamParser = (function (_stream$Transform) {
|
|
86
|
+
_inherits(StreamParser, _stream$Transform);
|
|
90
87
|
|
|
91
88
|
function StreamParser(options) {
|
|
89
|
+
_classCallCheck(this, StreamParser);
|
|
90
|
+
|
|
92
91
|
options = options || {};
|
|
93
|
-
|
|
92
|
+
|
|
93
|
+
if (options.objectMode === undefined) {
|
|
94
94
|
options.objectMode = true;
|
|
95
95
|
}
|
|
96
|
-
|
|
96
|
+
|
|
97
|
+
_get(Object.getPrototypeOf(StreamParser.prototype), 'constructor', this).call(this, options);
|
|
98
|
+
|
|
97
99
|
this.buffer = new BufferList();
|
|
98
|
-
this.generator =
|
|
99
|
-
this.currentStep =
|
|
100
|
+
this.generator = undefined;
|
|
101
|
+
this.currentStep = undefined;
|
|
100
102
|
}
|
|
101
103
|
|
|
102
|
-
StreamParser
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
StreamParser.prototype._transform = function (input, encoding, done) {
|
|
107
|
-
var job, length, offset, result;
|
|
108
|
-
offset = 0;
|
|
109
|
-
this.buffer.append(input);
|
|
110
|
-
if (!this.generator) {
|
|
111
|
-
this.generator = this.parser();
|
|
112
|
-
this.currentStep = this.generator.next();
|
|
104
|
+
_createClass(StreamParser, [{
|
|
105
|
+
key: 'parser',
|
|
106
|
+
value: function parser() {
|
|
107
|
+
throw new Error('Not implemented');
|
|
113
108
|
}
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
if (!
|
|
120
|
-
|
|
109
|
+
}, {
|
|
110
|
+
key: '_transform',
|
|
111
|
+
value: function _transform(input, encoding, done) {
|
|
112
|
+
this.buffer.append(input);
|
|
113
|
+
|
|
114
|
+
if (!this.generator) {
|
|
115
|
+
this.generator = this.parser();
|
|
116
|
+
this.currentStep = this.generator.next();
|
|
121
117
|
}
|
|
122
|
-
length = job.length;
|
|
123
|
-
if (this.buffer.length - offset < length) {
|
|
124
|
-
break;
|
|
125
|
-
}
|
|
126
|
-
result = job.execute(this.buffer, offset);
|
|
127
|
-
offset += length;
|
|
128
|
-
this.currentStep = this.generator.next(result);
|
|
129
|
-
}
|
|
130
|
-
this.buffer.consume(offset);
|
|
131
|
-
if (this.currentStep.done) {
|
|
132
|
-
this.push(null);
|
|
133
|
-
}
|
|
134
|
-
return done();
|
|
135
|
-
};
|
|
136
118
|
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
119
|
+
var offset = 0;
|
|
120
|
+
while (!this.currentStep.done) {
|
|
121
|
+
var job = this.currentStep.value;
|
|
122
|
+
if (!(job instanceof Job)) {
|
|
123
|
+
return done(new Error('invalid job type'));
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
var _length = job.length;
|
|
127
|
+
if (this.buffer.length - offset < _length) {
|
|
128
|
+
break;
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
var result = job.execute(this.buffer, offset);
|
|
132
|
+
offset += _length;
|
|
133
|
+
this.currentStep = this.generator.next(result);
|
|
134
|
+
}
|
|
142
135
|
|
|
143
|
-
|
|
144
|
-
return new Job(length, function (buffer, offset) {
|
|
145
|
-
return buffer.slice(offset, offset + length);
|
|
146
|
-
});
|
|
147
|
-
};
|
|
136
|
+
this.buffer.consume(offset);
|
|
148
137
|
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
});
|
|
153
|
-
};
|
|
138
|
+
if (this.currentStep.done) {
|
|
139
|
+
this.push(null);
|
|
140
|
+
}
|
|
154
141
|
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
}
|
|
142
|
+
done();
|
|
143
|
+
}
|
|
144
|
+
}, {
|
|
145
|
+
key: 'readBuffer',
|
|
146
|
+
value: function readBuffer(length) {
|
|
147
|
+
return new Job(length, function (buffer, offset) {
|
|
148
|
+
return buffer.slice(offset, offset + length);
|
|
149
|
+
});
|
|
150
|
+
}
|
|
151
|
+
}, {
|
|
152
|
+
key: 'readString',
|
|
153
|
+
value: function readString(length) {
|
|
154
|
+
return new Job(length, function (buffer, offset) {
|
|
155
|
+
return buffer.toString('utf8', offset, offset + length);
|
|
156
|
+
});
|
|
157
|
+
}
|
|
158
|
+
}, {
|
|
159
|
+
key: 'skip',
|
|
160
|
+
value: function skip(length) {
|
|
161
|
+
return new Job(length, function () {});
|
|
162
|
+
}
|
|
163
|
+
}]);
|
|
158
164
|
|
|
159
165
|
return StreamParser;
|
|
160
166
|
})(stream.Transform);
|
|
161
167
|
|
|
162
|
-
module.exports = StreamParser;
|
|
168
|
+
module.exports = StreamParser;
|
|
169
|
+
|
|
170
|
+
_Object$keys(JOBS).forEach(function (jobName) {
|
|
171
|
+
return StreamParser.prototype[jobName] = function () {
|
|
172
|
+
return JOBS[jobName];
|
|
173
|
+
};
|
|
174
|
+
});
|
package/lib/tds-versions.js
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
var name, ref, value;
|
|
1
|
+
'use strict';
|
|
3
2
|
|
|
4
|
-
exports.versions = {
|
|
3
|
+
var versions = module.exports.versions = {
|
|
5
4
|
'7_1': 0x71000001,
|
|
6
5
|
'7_2': 0x72090002,
|
|
7
6
|
'7_3_A': 0x730A0003,
|
|
@@ -9,10 +8,8 @@ exports.versions = {
|
|
|
9
8
|
'7_4': 0x74000004
|
|
10
9
|
};
|
|
11
10
|
|
|
12
|
-
exports.versionsByValue = {};
|
|
11
|
+
var versionsByValue = module.exports.versionsByValue = {};
|
|
13
12
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
value = ref[name];
|
|
17
|
-
exports.versionsByValue[value] = name;
|
|
13
|
+
for (var _name in versions) {
|
|
14
|
+
versionsByValue[versions[_name]] = _name;
|
|
18
15
|
}
|
package/lib/tedious.js
CHANGED
|
@@ -1,16 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
exports.statemachineLogLevel = 0;
|
|
1
|
+
'use strict';
|
|
3
2
|
|
|
4
|
-
exports.BulkLoad = require('./bulk-load');
|
|
3
|
+
module.exports.BulkLoad = require('./bulk-load');
|
|
4
|
+
module.exports.Connection = require('./connection');
|
|
5
|
+
module.exports.Request = require('./request');
|
|
6
|
+
module.exports.library = require('./library');
|
|
5
7
|
|
|
6
|
-
exports.
|
|
7
|
-
|
|
8
|
-
exports.
|
|
9
|
-
|
|
10
|
-
exports.library = require('./library');
|
|
11
|
-
|
|
12
|
-
exports.TYPES = require('./data-type').typeByName;
|
|
13
|
-
|
|
14
|
-
exports.ISOLATION_LEVEL = require('./transaction').ISOLATION_LEVEL;
|
|
15
|
-
|
|
16
|
-
exports.TDS_VERSION = require('./tds-versions').versions;
|
|
8
|
+
module.exports.TYPES = require('./data-type').typeByName;
|
|
9
|
+
module.exports.ISOLATION_LEVEL = require('./transaction').ISOLATION_LEVEL;
|
|
10
|
+
module.exports.TDS_VERSION = require('./tds-versions').versions;
|