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
@@ -0,0 +1,366 @@
1
+ var tedious = require("../../lib/tedious");
2
+ var Request = tedious.Request;
3
+ var TYPES = tedious.TYPES;
4
+
5
+ var Parser = require("../../lib/token/token-stream-parser").Parser;
6
+
7
+ var common = require("../common");
8
+
9
+ var parser = new Parser({ token: function() { } }, {}, {});
10
+ var data = new Buffer([
11
+ "810300000000001000380269006400000000000900E7C8000904D00034046E00",
12
+ "61006D006500000000000900E7FFFF0904D000340B6400650073006300720069",
13
+ "007000740069006F006E00D1010000000A0052006F0077002000300044000000",
14
+ "00000000440000004500780061006D0070006C00650020005400650073007400",
15
+ "20004400650073006300720069007000740069006F006E00200066006F007200",
16
+ "200052006F0077002000300000000000D1020000000A0052006F007700200031",
17
+ "004400000000000000440000004500780061006D0070006C0065002000540065",
18
+ "007300740020004400650073006300720069007000740069006F006E00200066",
19
+ "006F007200200052006F0077002000310000000000D1030000000A0052006F00",
20
+ "7700200032004400000000000000440000004500780061006D0070006C006500",
21
+ "2000540065007300740020004400650073006300720069007000740069006F00",
22
+ "6E00200066006F007200200052006F0077002000320000000000D1040000000A",
23
+ "0052006F007700200033004400000000000000440000004500780061006D0070",
24
+ "006C006500200054006500730074002000440065007300630072006900700074",
25
+ "0069006F006E00200066006F007200200052006F0077002000330000000000D1",
26
+ "050000000A0052006F0077002000340044000000000000004400000045007800",
27
+ "61006D0070006C00650020005400650073007400200044006500730063007200",
28
+ "69007000740069006F006E00200066006F007200200052006F00770020003400",
29
+ "00000000D1060000000A0052006F007700200035004400000000000000440000",
30
+ "004500780061006D0070006C0065002000540065007300740020004400650073",
31
+ "006300720069007000740069006F006E00200066006F007200200052006F0077",
32
+ "002000350000000000D1070000000A0052006F00770020003600440000000000",
33
+ "0000440000004500780061006D0070006C006500200054006500730074002000",
34
+ "4400650073006300720069007000740069006F006E00200066006F0072002000",
35
+ "52006F0077002000360000000000D1080000000A0052006F0077002000370044",
36
+ "00000000000000440000004500780061006D0070006C00650020005400650073",
37
+ "00740020004400650073006300720069007000740069006F006E00200066006F",
38
+ "007200200052006F0077002000370000000000D1090000000A0052006F007700",
39
+ "200038004400000000000000440000004500780061006D0070006C0065002000",
40
+ "540065007300740020004400650073006300720069007000740069006F006E00",
41
+ "200066006F007200200052006F0077002000380000000000D10A0000000A0052",
42
+ "006F007700200039004400000000000000440000004500780061006D0070006C",
43
+ "0065002000540065007300740020004400650073006300720069007000740069",
44
+ "006F006E00200066006F007200200052006F0077002000390000000000D10B00",
45
+ "00000C0052006F00770020003100300046000000000000004600000045007800",
46
+ "61006D0070006C00650020005400650073007400200044006500730063007200",
47
+ "69007000740069006F006E00200066006F007200200052006F00770020003100",
48
+ "300000000000D10C0000000C0052006F00770020003100310046000000000000",
49
+ "00460000004500780061006D0070006C00650020005400650073007400200044",
50
+ "00650073006300720069007000740069006F006E00200066006F007200200052",
51
+ "006F00770020003100310000000000D10D0000000C0052006F00770020003100",
52
+ "32004600000000000000460000004500780061006D0070006C00650020005400",
53
+ "65007300740020004400650073006300720069007000740069006F006E002000",
54
+ "66006F007200200052006F00770020003100320000000000D10E0000000C0052",
55
+ "006F0077002000310033004600000000000000460000004500780061006D0070",
56
+ "006C006500200054006500730074002000440065007300630072006900700074",
57
+ "0069006F006E00200066006F007200200052006F007700200031003300000000",
58
+ "00D10F0000000C0052006F007700200031003400460000000000000046000000",
59
+ "4500780061006D0070006C006500200054006500730074002000440065007300",
60
+ "6300720069007000740069006F006E00200066006F007200200052006F007700",
61
+ "20003100340000000000D1100000000C0052006F007700200031003500460000",
62
+ "0000000000460000004500780061006D0070006C006500200054006500730074",
63
+ "0020004400650073006300720069007000740069006F006E00200066006F0072",
64
+ "00200052006F00770020003100350000000000D1110000000C0052006F007700",
65
+ "2000310036004600000000000000460000004500780061006D0070006C006500",
66
+ "2000540065007300740020004400650073006300720069007000740069006F00",
67
+ "6E00200066006F007200200052006F00770020003100360000000000D1120000",
68
+ "000C0052006F0077002000310037004600000000000000460000004500780061",
69
+ "006D0070006C0065002000540065007300740020004400650073006300720069",
70
+ "007000740069006F006E00200066006F007200200052006F0077002000310037",
71
+ "0000000000D1130000000C0052006F0077002000310038004600000000000000",
72
+ "460000004500780061006D0070006C0065002000540065007300740020004400",
73
+ "650073006300720069007000740069006F006E00200066006F00720020005200",
74
+ "6F00770020003100380000000000D1140000000C0052006F0077002000310039",
75
+ "004600000000000000460000004500780061006D0070006C0065002000540065",
76
+ "007300740020004400650073006300720069007000740069006F006E00200066",
77
+ "006F007200200052006F00770020003100390000000000D1150000000C005200",
78
+ "6F0077002000320030004600000000000000460000004500780061006D007000",
79
+ "6C00650020005400650073007400200044006500730063007200690070007400",
80
+ "69006F006E00200066006F007200200052006F00770020003200300000000000",
81
+ "D1160000000C0052006F00770020003200310046000000000000004600000045",
82
+ "00780061006D0070006C00650020005400650073007400200044006500730063",
83
+ "00720069007000740069006F006E00200066006F007200200052006F00770020",
84
+ "003200310000000000D1170000000C0052006F00770020003200320046000000",
85
+ "00000000460000004500780061006D0070006C00650020005400650073007400",
86
+ "20004400650073006300720069007000740069006F006E00200066006F007200",
87
+ "200052006F00770020003200320000000000D1180000000C0052006F00770020",
88
+ "00320033004600000000000000460000004500780061006D0070006C00650020",
89
+ "00540065007300740020004400650073006300720069007000740069006F006E",
90
+ "00200066006F007200200052006F00770020003200330000000000D119000000",
91
+ "0C0052006F007700200032003400460000000000000046000000450078006100",
92
+ "6D0070006C006500200054006500730074002000440065007300630072006900",
93
+ "7000740069006F006E00200066006F007200200052006F007700200032003400",
94
+ "00000000D11A0000000C0052006F007700200032003500460000000000000046",
95
+ "0000004500780061006D0070006C006500200054006500730074002000440065",
96
+ "0073006300720069007000740069006F006E00200066006F007200200052006F",
97
+ "00770020003200350000000000D11B0000000C0052006F007700200032003600",
98
+ "4600000000000000460000004500780061006D0070006C006500200054006500",
99
+ "7300740020004400650073006300720069007000740069006F006E0020006600",
100
+ "6F007200200052006F00770020003200360000000000D11C0000000C0052006F",
101
+ "0077002000320037004600000000000000460000004500780061006D0070006C",
102
+ "0065002000540065007300740020004400650073006300720069007000740069",
103
+ "006F006E00200066006F007200200052006F00770020003200370000000000D1",
104
+ "1D0000000C0052006F0077002000320038004600000000000000460000004500",
105
+ "780061006D0070006C0065002000540065007300740020004400650073006300",
106
+ "720069007000740069006F006E00200066006F007200200052006F0077002000",
107
+ "3200380000000000D11E0000000C0052006F0077002000320039004600000000",
108
+ "000000460000004500780061006D0070006C0065002000540065007300740020",
109
+ "004400650073006300720069007000740069006F006E00200066006F00720020",
110
+ "0052006F00770020003200390000000000D11F0000000C0052006F0077002000",
111
+ "330030004600000000000000460000004500780061006D0070006C0065002000",
112
+ "540065007300740020004400650073006300720069007000740069006F006E00",
113
+ "200066006F007200200052006F00770020003300300000000000D1200000000C",
114
+ "0052006F0077002000330031004600000000000000460000004500780061006D",
115
+ "0070006C00650020005400650073007400200044006500730063007200690070",
116
+ "00740069006F006E00200066006F007200200052006F00770020003300310000",
117
+ "000000D1210000000C0052006F00770020003300320046000000000000004600",
118
+ "00004500780061006D0070006C00650020005400650073007400200044006500",
119
+ "73006300720069007000740069006F006E00200066006F007200200052006F00",
120
+ "770020003300320000000000D1220000000C0052006F00770020003300330046",
121
+ "00000000000000460000004500780061006D0070006C00650020005400650073",
122
+ "00740020004400650073006300720069007000740069006F006E00200066006F",
123
+ "007200200052006F00770020003300330000000000D1230000000C0052006F00",
124
+ "77002000330034004600000000000000460000004500780061006D0070006C00",
125
+ "6500200054006500730074002000440065007300630072006900700074006900",
126
+ "6F006E00200066006F007200200052006F00770020003300340000000000D124",
127
+ "0000000C0052006F007700200033003500460000000000000046000000450078",
128
+ "0061006D0070006C006500200054006500730074002000440065007300630072",
129
+ "0069007000740069006F006E00200066006F007200200052006F007700200033",
130
+ "00350000000000D1250000000C0052006F007700200033003600460000000000",
131
+ "0000460000004500780061006D0070006C006500200054006500730074002000",
132
+ "4400650073006300720069007000740069006F006E00200066006F0072002000",
133
+ "52006F00770020003300360000000000D1260000000C0052006F007700200033",
134
+ "0037004600000000000000460000004500780061006D0070006C006500200054",
135
+ "0065007300740020004400650073006300720069007000740069006F006E0020",
136
+ "0066006F007200200052006F00770020003300370000000000D1270000000C00",
137
+ "52006F0077002000330038004600000000000000200000004500780061006D00",
138
+ "70006C006500200054006500730074002000440065007300",
139
+ "260000006300720069007000740069006F006E00200066006F00720020005200",
140
+ "6F00770020003300380000000000D1280000000C0052006F0077002000330039",
141
+ "004600000000000000460000004500780061006D0070006C0065002000540065",
142
+ "007300740020004400650073006300720069007000740069006F006E00200066",
143
+ "006F007200200052006F00770020003300390000000000D1290000000C005200",
144
+ "6F0077002000340030004600000000000000460000004500780061006D007000",
145
+ "6C00650020005400650073007400200044006500730063007200690070007400",
146
+ "69006F006E00200066006F007200200052006F00770020003400300000000000",
147
+ "D12A0000000C0052006F00770020003400310046000000000000004600000045",
148
+ "00780061006D0070006C00650020005400650073007400200044006500730063",
149
+ "00720069007000740069006F006E00200066006F007200200052006F00770020",
150
+ "003400310000000000D12B0000000C0052006F00770020003400320046000000",
151
+ "00000000460000004500780061006D0070006C00650020005400650073007400",
152
+ "20004400650073006300720069007000740069006F006E00200066006F007200",
153
+ "200052006F00770020003400320000000000D12C0000000C0052006F00770020",
154
+ "00340033004600000000000000460000004500780061006D0070006C00650020",
155
+ "00540065007300740020004400650073006300720069007000740069006F006E",
156
+ "00200066006F007200200052006F00770020003400330000000000D12D000000",
157
+ "0C0052006F007700200034003400460000000000000046000000450078006100",
158
+ "6D0070006C006500200054006500730074002000440065007300630072006900",
159
+ "7000740069006F006E00200066006F007200200052006F007700200034003400",
160
+ "00000000D12E0000000C0052006F007700200034003500460000000000000046",
161
+ "0000004500780061006D0070006C006500200054006500730074002000440065",
162
+ "0073006300720069007000740069006F006E00200066006F007200200052006F",
163
+ "00770020003400350000000000D12F0000000C0052006F007700200034003600",
164
+ "4600000000000000460000004500780061006D0070006C006500200054006500",
165
+ "7300740020004400650073006300720069007000740069006F006E0020006600",
166
+ "6F007200200052006F00770020003400360000000000D1300000000C0052006F",
167
+ "0077002000340037004600000000000000460000004500780061006D0070006C",
168
+ "0065002000540065007300740020004400650073006300720069007000740069",
169
+ "006F006E00200066006F007200200052006F00770020003400370000000000D1",
170
+ "310000000C0052006F0077002000340038004600000000000000460000004500",
171
+ "780061006D0070006C0065002000540065007300740020004400650073006300",
172
+ "720069007000740069006F006E00200066006F007200200052006F0077002000",
173
+ "3400380000000000D1320000000C0052006F0077002000340039004600000000",
174
+ "000000460000004500780061006D0070006C0065002000540065007300740020",
175
+ "004400650073006300720069007000740069006F006E00200066006F00720020",
176
+ "0052006F00770020003400390000000000D1330000000C0052006F0077002000",
177
+ "350030004600000000000000460000004500780061006D0070006C0065002000",
178
+ "540065007300740020004400650073006300720069007000740069006F006E00",
179
+ "200066006F007200200052006F00770020003500300000000000D1340000000C",
180
+ "0052006F0077002000350031004600000000000000460000004500780061006D",
181
+ "0070006C00650020005400650073007400200044006500730063007200690070",
182
+ "00740069006F006E00200066006F007200200052006F00770020003500310000",
183
+ "000000D1350000000C0052006F00770020003500320046000000000000004600",
184
+ "00004500780061006D0070006C00650020005400650073007400200044006500",
185
+ "73006300720069007000740069006F006E00200066006F007200200052006F00",
186
+ "770020003500320000000000D1360000000C0052006F00770020003500330046",
187
+ "00000000000000460000004500780061006D0070006C00650020005400650073",
188
+ "00740020004400650073006300720069007000740069006F006E00200066006F",
189
+ "007200200052006F00770020003500330000000000D1370000000C0052006F00",
190
+ "77002000350034004600000000000000460000004500780061006D0070006C00",
191
+ "6500200054006500730074002000440065007300630072006900700074006900",
192
+ "6F006E00200066006F007200200052006F00770020003500340000000000D138",
193
+ "0000000C0052006F007700200035003500460000000000000046000000450078",
194
+ "0061006D0070006C006500200054006500730074002000440065007300630072",
195
+ "0069007000740069006F006E00200066006F007200200052006F007700200035",
196
+ "00350000000000D1390000000C0052006F007700200035003600460000000000",
197
+ "0000460000004500780061006D0070006C006500200054006500730074002000",
198
+ "4400650073006300720069007000740069006F006E00200066006F0072002000",
199
+ "52006F00770020003500360000000000D13A0000000C0052006F007700200035",
200
+ "0037004600000000000000460000004500780061006D0070006C006500200054",
201
+ "0065007300740020004400650073006300720069007000740069006F006E0020",
202
+ "0066006F007200200052006F00770020003500370000000000D13B0000000C00",
203
+ "52006F0077002000350038004600000000000000460000004500780061006D00",
204
+ "70006C0065002000540065007300740020004400650073006300720069007000",
205
+ "740069006F006E00200066006F007200200052006F0077002000350038000000",
206
+ "0000D13C0000000C0052006F0077002000350039004600000000000000460000",
207
+ "004500780061006D0070006C0065002000540065007300740020004400650073",
208
+ "006300720069007000740069006F006E00200066006F007200200052006F0077",
209
+ "0020003500390000000000D13D0000000C0052006F0077002000360030004600",
210
+ "000000000000460000004500780061006D0070006C0065002000540065007300",
211
+ "740020004400650073006300720069007000740069006F006E00200066006F00",
212
+ "7200200052006F00770020003600300000000000D13E0000000C0052006F0077",
213
+ "002000360031004600000000000000460000004500780061006D0070006C0065",
214
+ "002000540065007300740020004400650073006300720069007000740069006F",
215
+ "006E00200066006F007200200052006F00770020003600310000000000D13F00",
216
+ "00000C0052006F00770020003600320046000000000000004600000045007800",
217
+ "61006D0070006C00650020005400650073007400200044006500730063007200",
218
+ "69007000740069006F006E00200066006F007200200052006F00770020003600",
219
+ "320000000000D1400000000C0052006F00770020003600330046000000000000",
220
+ "00460000004500780061006D0070006C00650020005400650073007400200044",
221
+ "00650073006300720069007000740069006F006E00200066006F007200200052",
222
+ "006F00770020003600330000000000D1410000000C0052006F00770020003600",
223
+ "34004600000000000000460000004500780061006D0070006C00650020005400",
224
+ "65007300740020004400650073006300720069007000740069006F006E002000",
225
+ "66006F007200200052006F00770020003600340000000000D1420000000C0052",
226
+ "006F0077002000360035004600000000000000460000004500780061006D0070",
227
+ "006C006500200054006500730074002000440065007300630072006900700074",
228
+ "0069006F006E00200066006F007200200052006F007700200036003500000000",
229
+ "00D1430000000C0052006F007700200036003600460000000000000046000000",
230
+ "4500780061006D0070006C006500200054006500730074002000440065007300",
231
+ "6300720069007000740069006F006E00200066006F007200200052006F007700",
232
+ "20003600360000000000D1440000000C0052006F007700200036003700460000",
233
+ "0000000000460000004500780061006D0070006C006500200054006500730074",
234
+ "0020004400650073006300720069007000740069006F006E00200066006F0072",
235
+ "00200052006F00770020003600370000000000D1450000000C0052006F007700",
236
+ "2000360038004600000000000000460000004500780061006D0070006C006500",
237
+ "2000540065007300740020004400650073006300720069007000740069006F00",
238
+ "6E00200066006F007200200052006F00770020003600380000000000D1460000",
239
+ "000C0052006F0077002000360039004600000000000000460000004500780061",
240
+ "006D0070006C0065002000540065007300740020004400650073006300720069",
241
+ "007000740069006F006E00200066006F007200200052006F0077002000360039",
242
+ "0000000000D1470000000C0052006F0077002000370030004600000000000000",
243
+ "460000004500780061006D0070006C0065002000540065007300740020004400",
244
+ "650073006300720069007000740069006F006E00200066006F00720020005200",
245
+ "6F00770020003700300000000000D1480000000C0052006F0077002000370031",
246
+ "004600000000000000460000004500780061006D0070006C0065002000540065",
247
+ "007300740020004400650073006300720069007000740069006F006E00200066",
248
+ "006F007200200052006F00770020003700310000000000D1490000000C005200",
249
+ "6F0077002000370032004600000000000000460000004500780061006D007000",
250
+ "6C00650020005400650073007400200044006500730063007200690070007400",
251
+ "69006F006E00200066006F007200200052006F00770020003700320000000000",
252
+ "D14A0000000C0052006F00770020003700330046000000000000004600000045",
253
+ "00780061006D0070006C00650020005400650073007400200044006500730063",
254
+ "00720069007000740069006F006E00200066006F007200200052006F00770020",
255
+ "003700330000000000D14B0000000C0052006F00770020003700340046000000",
256
+ "00000000460000004500780061006D0070006C00650020005400650073007400",
257
+ "20004400650073006300720069007000740069006F006E00200066006F007200",
258
+ "200052006F00770020003700340000000000D14C0000000C0052006F00770020",
259
+ "00370035004600000000000000460000004500780061006D0070006C00650020",
260
+ "00540065007300740020004400650073006300720069007000740069006F006E",
261
+ "00200066006F007200200052006F00770020003700350000000000D14D000000",
262
+ "0C0052006F007700200037003600460000000000000046000000450078006100",
263
+ "6D0070006C006500200054006500730074002000440065007300630072006900",
264
+ "7000740069006F006E00200066006F007200200052006F007700200037003600",
265
+ "00000000D14E0000000C0052006F007700200037003700460000000000000015",
266
+ "0000004500780061006D0070006C00650020005400650073",
267
+ "3100000000740020004400650073006300720069007000740069006F006E0020",
268
+ "0066006F007200200052006F00770020003700370000000000D14F0000000C00",
269
+ "52006F0077002000370038004600000000000000460000004500780061006D00",
270
+ "70006C0065002000540065007300740020004400650073006300720069007000",
271
+ "740069006F006E00200066006F007200200052006F0077002000370038000000",
272
+ "0000D1500000000C0052006F0077002000370039004600000000000000460000",
273
+ "004500780061006D0070006C0065002000540065007300740020004400650073",
274
+ "006300720069007000740069006F006E00200066006F007200200052006F0077",
275
+ "0020003700390000000000D1510000000C0052006F0077002000380030004600",
276
+ "000000000000460000004500780061006D0070006C0065002000540065007300",
277
+ "740020004400650073006300720069007000740069006F006E00200066006F00",
278
+ "7200200052006F00770020003800300000000000D1520000000C0052006F0077",
279
+ "002000380031004600000000000000460000004500780061006D0070006C0065",
280
+ "002000540065007300740020004400650073006300720069007000740069006F",
281
+ "006E00200066006F007200200052006F00770020003800310000000000D15300",
282
+ "00000C0052006F00770020003800320046000000000000004600000045007800",
283
+ "61006D0070006C00650020005400650073007400200044006500730063007200",
284
+ "69007000740069006F006E00200066006F007200200052006F00770020003800",
285
+ "320000000000D1540000000C0052006F00770020003800330046000000000000",
286
+ "00460000004500780061006D0070006C00650020005400650073007400200044",
287
+ "00650073006300720069007000740069006F006E00200066006F007200200052",
288
+ "006F00770020003800330000000000D1550000000C0052006F00770020003800",
289
+ "34004600000000000000460000004500780061006D0070006C00650020005400",
290
+ "65007300740020004400650073006300720069007000740069006F006E002000",
291
+ "66006F007200200052006F00770020003800340000000000D1560000000C0052",
292
+ "006F0077002000380035004600000000000000460000004500780061006D0070",
293
+ "006C006500200054006500730074002000440065007300630072006900700074",
294
+ "0069006F006E00200066006F007200200052006F007700200038003500000000",
295
+ "00D1570000000C0052006F007700200038003600460000000000000046000000",
296
+ "4500780061006D0070006C006500200054006500730074002000440065007300",
297
+ "6300720069007000740069006F006E00200066006F007200200052006F007700",
298
+ "20003800360000000000D1580000000C0052006F007700200038003700460000",
299
+ "0000000000460000004500780061006D0070006C006500200054006500730074",
300
+ "0020004400650073006300720069007000740069006F006E00200066006F0072",
301
+ "00200052006F00770020003800370000000000D1590000000C0052006F007700",
302
+ "2000380038004600000000000000460000004500780061006D0070006C006500",
303
+ "2000540065007300740020004400650073006300720069007000740069006F00",
304
+ "6E00200066006F007200200052006F00770020003800380000000000D15A0000",
305
+ "000C0052006F0077002000380039004600000000000000460000004500780061",
306
+ "006D0070006C0065002000540065007300740020004400650073006300720069",
307
+ "007000740069006F006E00200066006F007200200052006F0077002000380039",
308
+ "0000000000D15B0000000C0052006F0077002000390030004600000000000000",
309
+ "460000004500780061006D0070006C0065002000540065007300740020004400",
310
+ "650073006300720069007000740069006F006E00200066006F00720020005200",
311
+ "6F00770020003900300000000000D15C0000000C0052006F0077002000390031",
312
+ "004600000000000000460000004500780061006D0070006C0065002000540065",
313
+ "007300740020004400650073006300720069007000740069006F006E00200066",
314
+ "006F007200200052006F00770020003900310000000000D15D0000000C005200",
315
+ "6F0077002000390032004600000000000000460000004500780061006D007000",
316
+ "6C00650020005400650073007400200044006500730063007200690070007400",
317
+ "69006F006E00200066006F007200200052006F00770020003900320000000000",
318
+ "D15E0000000C0052006F00770020003900330046000000000000004600000045",
319
+ "00780061006D0070006C00650020005400650073007400200044006500730063",
320
+ "00720069007000740069006F006E00200066006F007200200052006F00770020",
321
+ "003900330000000000D15F0000000C0052006F00770020003900340046000000",
322
+ "00000000460000004500780061006D0070006C00650020005400650073007400",
323
+ "20004400650073006300720069007000740069006F006E00200066006F007200",
324
+ "200052006F00770020003900340000000000D1600000000C0052006F00770020",
325
+ "00390035004600000000000000460000004500780061006D0070006C00650020",
326
+ "00540065007300740020004400650073006300720069007000740069006F006E",
327
+ "00200066006F007200200052006F00770020003900350000000000D161000000",
328
+ "0C0052006F007700200039003600460000000000000046000000450078006100",
329
+ "6D0070006C006500200054006500730074002000440065007300630072006900",
330
+ "7000740069006F006E00200066006F007200200052006F007700200039003600",
331
+ "00000000D1620000000C0052006F007700200039003700460000000000000046",
332
+ "0000004500780061006D0070006C006500200054006500730074002000440065",
333
+ "0073006300720069007000740069006F006E00200066006F007200200052006F",
334
+ "00770020003900370000000000D1630000000C0052006F007700200039003800",
335
+ "4600000000000000460000004500780061006D0070006C006500200054006500",
336
+ "7300740020004400650073006300720069007000740069006F006E0020006600",
337
+ "6F007200200052006F00770020003900380000000000D1640000000C0052006F",
338
+ "0077002000390039004600000000000000460000004500780061006D0070006C",
339
+ "0065002000540065007300740020004400650073006300720069007000740069",
340
+ "006F006E00200066006F007200200052006F00770020003900390000000000FF",
341
+ "1100C10064000000000000007900000000FE0000E0000000000000000000"
342
+ ].join(""), "hex");
343
+
344
+ common.createBenchmark({
345
+ name: "parsing tokens for 100 rows",
346
+
347
+ profileIterations: 1000,
348
+
349
+ setup: function(cb) {
350
+ cb();
351
+ },
352
+
353
+ exec: function(cb) {
354
+ parser.on("doneProc", function() {
355
+ parser.removeAllListeners("doneProc");
356
+
357
+ cb();
358
+ });
359
+
360
+ parser.addBuffer(data);
361
+ },
362
+
363
+ teardown: function(cb) {
364
+ cb();
365
+ }
366
+ });
@@ -1,26 +1,24 @@
1
- // Generated by CoffeeScript 1.10.0
2
- var TXNDESCRIPTOR_HEADER_DATA_LEN, TXNDESCRIPTOR_HEADER_LEN, TYPE, WritableTrackingBuffer;
1
+ 'use strict';
3
2
 
4
- WritableTrackingBuffer = require('./tracking-buffer/tracking-buffer').WritableTrackingBuffer;
5
-
6
- TYPE = {
3
+ var TYPE = {
7
4
  QUERY_NOTIFICATIONS: 1,
8
5
  TXN_DESCRIPTOR: 2,
9
6
  TRACE_ACTIVITY: 3
10
7
  };
11
8
 
12
- TXNDESCRIPTOR_HEADER_DATA_LEN = 4 + 8;
9
+ var TXNDESCRIPTOR_HEADER_DATA_LEN = 4 + 8;
13
10
 
14
- TXNDESCRIPTOR_HEADER_LEN = 4 + 2 + TXNDESCRIPTOR_HEADER_DATA_LEN;
11
+ var TXNDESCRIPTOR_HEADER_LEN = 4 + 2 + TXNDESCRIPTOR_HEADER_DATA_LEN;
15
12
 
16
- exports.writeToTrackingBuffer = function (buffer, txnDescriptor, outstandingRequestCount) {
17
- var data;
13
+ module.exports.writeToTrackingBuffer = writeToTrackingBuffer;
14
+ function writeToTrackingBuffer(buffer, txnDescriptor, outstandingRequestCount) {
18
15
  buffer.writeUInt32LE(0);
19
16
  buffer.writeUInt32LE(TXNDESCRIPTOR_HEADER_LEN);
20
17
  buffer.writeUInt16LE(TYPE.TXN_DESCRIPTOR);
21
18
  buffer.writeBuffer(txnDescriptor);
22
19
  buffer.writeUInt32LE(outstandingRequestCount);
23
- data = buffer.data;
20
+
21
+ var data = buffer.data;
24
22
  data.writeUInt32LE(data.length, 0);
25
23
  return buffer;
26
- };
24
+ }
@@ -1,19 +1,23 @@
1
- // Generated by CoffeeScript 1.10.0
1
+ 'use strict';
2
+
2
3
  if (!Buffer.concat) {
3
4
  Buffer.concat = function (buffers) {
4
- var buffer, i, j, len, len1, length, position, result;
5
- length = 0;
6
- for (i = 0, len = buffers.length; i < len; i++) {
7
- buffer = buffers[i];
5
+ var buffersCount = buffers.length;
6
+
7
+ var length = 0;
8
+ for (var i = 0; i < buffersCount; i++) {
9
+ var buffer = buffers[i];
8
10
  length += buffer.length;
9
11
  }
10
- result = new Buffer(length);
11
- position = 0;
12
- for (j = 0, len1 = buffers.length; j < len1; j++) {
13
- buffer = buffers[j];
12
+
13
+ var result = new Buffer(length);
14
+ var position = 0;
15
+ for (var i = 0; i < buffersCount; i++) {
16
+ var buffer = buffers[i];
14
17
  buffer.copy(result, position, 0);
15
18
  position += buffer.length;
16
19
  }
20
+
17
21
  return result;
18
22
  };
19
23
  }
@@ -23,15 +27,15 @@ Buffer.prototype.toByteArray = function () {
23
27
  };
24
28
 
25
29
  Buffer.prototype.equals = function (other) {
26
- var b, i, index, len;
27
30
  if (this.length !== other.length) {
28
31
  return false;
29
32
  }
30
- for (index = i = 0, len = this.length; i < len; index = ++i) {
31
- b = this[index];
32
- if (this[index] !== other[index]) {
33
+
34
+ for (var i = 0, len = this.length; i < len; i++) {
35
+ if (this[i] !== other[i]) {
33
36
  return false;
34
37
  }
35
38
  }
39
+
36
40
  return true;
37
41
  };