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,59 +1,46 @@
|
|
|
1
|
-
|
|
1
|
+
'use strict';
|
|
2
2
|
|
|
3
|
-
//
|
|
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
|
-
|
|
7
|
+
module.exports = function (parser, colMetadata, options, callback) {
|
|
8
|
+
var columns = options.useColumnNames ? {} : [];
|
|
9
9
|
|
|
10
|
-
|
|
11
|
-
var
|
|
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
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
}
|
|
13
|
+
function next(done) {
|
|
14
|
+
if (i === len) {
|
|
15
|
+
return done();
|
|
16
|
+
}
|
|
23
17
|
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
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
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
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
|
-
|
|
1
|
+
'use strict';
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
var
|
|
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
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
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
|
+
};
|