sql-server-raw-file 0.1.1 → 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 41f203edbad49fe5604df8564fe39edc4f70aef3
4
- data.tar.gz: 6a9215a1fd7c64097ec3e50c3d08649aa76db7d3
3
+ metadata.gz: 97dd8f35e8d1d64c91adf9164cc279a48963aeb2
4
+ data.tar.gz: 2652ef2a7206d844246345042df4b59e5ab29727
5
5
  SHA512:
6
- metadata.gz: 1a3d9a2c0760386dc63e4286b8a77b4830da2bcaaa0d303f0e7594cf810cde1409e8fb622e5208992832c5f71623a38cef9761bc7115257a6fd546520bb68068
7
- data.tar.gz: d4bbae1b9efd3934109b051b87893ef4a7d4cb1cebf84e78cedd5dab5d2454765bddfd41d10c498e518dac7b76f2669d901b442f5b72b665acc76090199bc009
6
+ metadata.gz: 183c48f0e68f56e402263324819505bead820d4f35cda87a565e2d8874b56cd88a2b92ef4562a4035e87ee105835386d1c0e23a7d8f333ef91c8d58ba40f1087
7
+ data.tar.gz: 2ba5ee93660ccce551e46a3b8154fb63c72ebeaed3016abf0140cf5003f319893b9bcb48b6fd2ca059b945101287421014c7aa041abedabb7cb1349d21a8af29
data/CHANGELOG.md CHANGED
@@ -1,3 +1,30 @@
1
+ ## 0.1.2 (Jan 25, 2016)
2
+
3
+ Features:
4
+
5
+ - added SqlServerDts::RawFile#get_len
6
+ * get length of data by data or metadata
7
+ - added support of data types
8
+ * smallint
9
+ * real (float(24))
10
+ * money (decimal(19,4)), smallmoney ((decimal(10,4)))
11
+ * tinyint
12
+ * uniqueidentifier
13
+ * varbinary, binary, timestamp
14
+ * date
15
+ * smalldatetime
16
+ * time
17
+ * datetimeoffset
18
+
19
+ Bugfixes:
20
+
21
+ - fixed mappings for:
22
+ * int
23
+ * float
24
+ * bigint
25
+ * datetime
26
+ * datetime2
27
+
1
28
  ## 0.1.1 (Jan 20, 2016)
2
29
 
3
30
  Features:
@@ -1 +1 @@
1
- 1
1
+ 2
@@ -0,0 +1,53 @@
1
+ select cast(1 as int) [int]
2
+ , cast(3.14159265 as float) [float]
3
+ , cast(1 as bit) [bit]
4
+ , cast(POWER(2,30) as bigint) [bigint]
5
+ , cast('This is a variable length char string' as varchar(128)) [varchar]
6
+ , cast('This is a char string' as char(128)) [char]
7
+ , cast('��� ������ ���������� ����� � �������' as nvarchar(128)) [nvarchar]
8
+ , cast('��� ������ � �������' as nchar(128)) [nchar]
9
+ , cast(9.11 as decimal(18,6)) [decimal]
10
+ , cast(7.62 as numeric(18,6)) [numeric]
11
+ , getdate() [datetime]
12
+ , CAST(SYSDATETIME() AS DATETIME2(0)) [datetime2]
13
+ , NULL AS [NULL]
14
+ , cast(0x30313233343536373839 AS VARBINARY(10)) [varbinary]
15
+ , cast(0x40414243 AS BINARY(10)) [binary]
16
+ , @@DBTS [timestamp]
17
+ , CAST($123.45 AS MONEY) [money]
18
+ , CAST($2.23 AS SMALLMONEY) [smallmoney]
19
+ , CAST(GETDATE() AS DATE) [date]
20
+ , CAST(GETDATE() AS TIME(0)) [time]
21
+ , CAST(GETDATE() AS SMALLDATETIME) [smalldatetime]
22
+ , CAST(SYSDATETIMEOFFSET() AS DATETIMEOFFSET(0)) [datetimeoffset]
23
+ , CAST('6F9619FF-8B86-D011-B42D-00C04FC964FF' AS UNIQUEIDENTIFIER) [uniqueidentifier]
24
+ , CAST(30000 AS SMALLINT) [smallint]
25
+ , CAST(POWER(2.015,30) AS REAL) [real]
26
+ , CAST(200 AS TINYINT) [tinyint]
27
+ UNION ALL
28
+ select cast(-2 as int) [int]
29
+ , cast(-37.0/3.0 as float) [float]
30
+ , cast(0 as bit) [bit]
31
+ , cast(-POWER(3,19) as bigint) [bigint]
32
+ , cast('This is another variable length char string' as varchar(128)) [varchar]
33
+ , cast('This is another char string' as char(128)) [char]
34
+ , cast('��� ��� ���� ������ ���������� ����� � �������' as nvarchar(128)) [nvarchar]
35
+ , cast('��� ��� ���� ������ � �������' as nchar(128)) [nchar]
36
+ , cast(-99.999 as decimal(18,6)) [decimal]
37
+ , cast(-5.56 as numeric(18,6)) [numeric]
38
+ , getdate() [datetime]
39
+ , SYSDATETIME() [datetime2]
40
+ , NULL AS [NULL]
41
+ , cast(0x39383736353433323130 AS VARBINARY(10)) [varbinary]
42
+ , cast(0x43424140 AS BINARY(10)) [binary]
43
+ , @@DBTS [timestamp]
44
+ , CAST($-123.45 AS MONEY) [money]
45
+ , CAST($-2.23 AS SMALLMONEY) [smallmoney]
46
+ , CAST(GETDATE() AS DATE) [date]
47
+ , CAST(GETDATE() AS TIME(7)) [time]
48
+ , CAST(GETDATE() AS SMALLDATETIME) [smalldatetime]
49
+ , SWITCHOFFSET(SYSDATETIMEOFFSET(),'-04:30') [datetimeoffset]
50
+ , CAST('FFEFAA09-8B86-D011-B42D-00C04FC964FF' AS UNIQUEIDENTIFIER) [uniqueidentifier]
51
+ , CAST(-30000 AS SMALLINT) [smallint]
52
+ , CAST(-POWER(3.019,18) AS REAL) [real]
53
+ , CAST(10 AS TINYINT) [tinyint]
@@ -0,0 +1,53 @@
1
+ select cast(1 as int) [int]
2
+ , cast(3.14159265 as float) [float]
3
+ , cast(1 as bit) [bit]
4
+ , cast(POWER(2,30) as bigint) [bigint]
5
+ , cast('This is a variable length char string' as varchar(128)) [varchar]
6
+ , cast('This is a char string' as char(128)) [char]
7
+ , cast('��� ������ ���������� ����� � �������' as nvarchar(128)) [nvarchar]
8
+ , cast('��� ������ � �������' as nchar(128)) [nchar]
9
+ , cast(9.11 as decimal(18,6)) [decimal]
10
+ , cast(7.62 as numeric(18,6)) [numeric]
11
+ , getdate() [datetime]
12
+ , NULL [datetime2]
13
+ , NULL AS [NULL]
14
+ , cast(0x30313233343536373839 AS VARBINARY(10)) [varbinary]
15
+ , cast(0x40414243 AS BINARY(10)) [binary]
16
+ , @@DBTS [timestamp]
17
+ , CAST($123.45 AS MONEY) [money]
18
+ , CAST($2.23 AS SMALLMONEY) [smallmoney]
19
+ , NULL [date]
20
+ , NULL [time]
21
+ , CAST(GETDATE() AS SMALLDATETIME) [smalldatetime]
22
+ , NULL [datetimeoffset]
23
+ , CAST('6F9619FF-8B86-D011-B42D-00C04FC964FF' AS UNIQUEIDENTIFIER) [uniqueidentifier]
24
+ , CAST(30000 AS SMALLINT) [smallint]
25
+ , CAST(POWER(2.015,30) AS REAL) [real]
26
+ , CAST(200 AS TINYINT) [tinyint]
27
+ UNION ALL
28
+ select cast(2 as int) [int]
29
+ , cast(-37.0/3.0 as float) [float]
30
+ , cast(0 as bit) [bit]
31
+ , cast(-POWER(3,19) as bigint) [bigint]
32
+ , cast('This is another variable length char string' as varchar(128)) [varchar]
33
+ , cast('This is another char string' as char(128)) [char]
34
+ , cast('��� ��� ���� ������ ���������� ����� � �������' as nvarchar(128)) [nvarchar]
35
+ , cast('��� ��� ���� ������ � �������' as nchar(128)) [nchar]
36
+ , cast(-99.999 as decimal(18,6)) [decimal]
37
+ , cast(-5.56 as numeric(18,6)) [numeric]
38
+ , getdate() [datetime]
39
+ , NULL [datetime2]
40
+ , NULL AS [NULL]
41
+ , cast(0x39383736353433323130 AS VARBINARY(10)) [varbinary]
42
+ , cast(0x43424140 AS BINARY(10)) [binary]
43
+ , @@DBTS [timestamp]
44
+ , CAST($-123.45 AS MONEY) [money]
45
+ , CAST($-2.23 AS SMALLMONEY) [smallmoney]
46
+ , NULL [date]
47
+ , NULL [time]
48
+ , CAST(GETDATE() AS SMALLDATETIME) [smalldatetime]
49
+ , NULL [datetimeoffset]
50
+ , CAST('FFEFAA09-8B86-D011-B42D-00C04FC964FF' AS UNIQUEIDENTIFIER) [uniqueidentifier]
51
+ , CAST(-30000 AS SMALLINT) [smallint]
52
+ , CAST(-POWER(3.019,18) AS REAL) [real]
53
+ , CAST(10 AS TINYINT) [tinyint]
data/fixtures/sql09.raw CHANGED
Binary file
@@ -1,3 +1,3 @@
1
- int float bit bigint varchar char nvarchar nchar decimal numeric datetime datetime2 NULL
2
- 1 3.14159265 true 1073741824 This is a variable length char string This is a char string Это строка переменной длины в Юникоде Это строка в Юникоде 9.110000 7.620000 2016-01-12 09:26:52.747
3
- 2 -12.333333 false 3132705829 This is another variable length char string This is another char string Это еще одна строка переменной длины в Юникоде Это еще одна строка в Юникоде -99.999000 -5.560000 2016-01-12 09:26:52.747
1
+ int float bit bigint varchar char nvarchar nchar decimal numeric datetime datetime2 NULL varbinary binary timestamp money smallmoney date time smalldatetime datetimeoffset uniqueidentifier smallint real tinyint
2
+ 1 3.14159265 true 1073741824 This is a variable length char string This is a char string Это строка переменной длины в Юникоде Это строка в Юникоде 9.110000 7.620000 2016-01-20 18:33:35.829 30313233343536373839 40414243000000000000 0000000000000fa0 123.4500 2.2300 2016-01-20 18:34:00.000 6f9619ff-8b86-d011-b42d-00c04fc964ff 30000 1343542784.0 200
3
+ 2 -12.333333 false -1162261467 This is another variable length char string This is another char string Это еще одна строка переменной длины в Юникоде Это еще одна строка в Юникоде -99.999000 -5.560000 2016-01-20 18:33:35.829 39383736353433323130 43424140000000000000 0000000000000fa0 -123.4500 -2.2300 2016-01-20 18:34:00.000 ffefaa09-8b86-d011-b42d-00c04fc964ff -30000 -434046272.0 10
@@ -3,8 +3,8 @@
3
3
  "name": "int",
4
4
  "data_type": 3,
5
5
  "max_length": 4,
6
- "p2": 52,
7
- "p3": 0,
6
+ "p2": 232,
7
+ "p3": 12,
8
8
  "p4": -1,
9
9
  "precision": 0,
10
10
  "scale": 0,
@@ -16,8 +16,8 @@
16
16
  "name": "float",
17
17
  "data_type": 5,
18
18
  "max_length": 8,
19
- "p2": 56,
20
- "p3": 4,
19
+ "p2": 120,
20
+ "p3": 16,
21
21
  "p4": -1,
22
22
  "precision": 0,
23
23
  "scale": 0,
@@ -29,8 +29,8 @@
29
29
  "name": "bit",
30
30
  "data_type": 11,
31
31
  "max_length": 2,
32
- "p2": 392,
33
- "p3": 8,
32
+ "p2": 798,
33
+ "p3": 20,
34
34
  "p4": -1,
35
35
  "precision": 0,
36
36
  "scale": 0,
@@ -42,8 +42,8 @@
42
42
  "name": "bigint",
43
43
  "data_type": 20,
44
44
  "max_length": 8,
45
- "p2": 80,
46
- "p3": 12,
45
+ "p2": 176,
46
+ "p3": 24,
47
47
  "p4": -1,
48
48
  "precision": 0,
49
49
  "scale": 0,
@@ -55,8 +55,8 @@
55
55
  "name": "varchar",
56
56
  "data_type": 129,
57
57
  "max_length": 128,
58
- "p2": 92,
59
- "p3": 16,
58
+ "p2": 236,
59
+ "p3": 28,
60
60
  "p4": -1,
61
61
  "precision": 0,
62
62
  "scale": 0,
@@ -68,8 +68,8 @@
68
68
  "name": "char",
69
69
  "data_type": 129,
70
70
  "max_length": 128,
71
- "p2": 244,
72
- "p3": 20,
71
+ "p2": 388,
72
+ "p3": 32,
73
73
  "p4": -1,
74
74
  "precision": 0,
75
75
  "scale": 0,
@@ -81,8 +81,8 @@
81
81
  "name": "nvarchar",
82
82
  "data_type": 130,
83
83
  "max_length": 128,
84
- "p2": 396,
85
- "p3": 24,
84
+ "p2": 540,
85
+ "p3": 36,
86
86
  "p4": -1,
87
87
  "precision": 0,
88
88
  "scale": 0,
@@ -94,8 +94,8 @@
94
94
  "name": "nchar",
95
95
  "data_type": 130,
96
96
  "max_length": 128,
97
- "p2": 656,
98
- "p3": 28,
97
+ "p2": 804,
98
+ "p3": 40,
99
99
  "p4": -1,
100
100
  "precision": 0,
101
101
  "scale": 0,
@@ -107,8 +107,8 @@
107
107
  "name": "decimal",
108
108
  "data_type": 131,
109
109
  "max_length": 19,
110
- "p2": 221,
111
- "p3": 32,
110
+ "p2": 365,
111
+ "p3": 44,
112
112
  "p4": -1,
113
113
  "precision": 18,
114
114
  "scale": 6,
@@ -120,8 +120,8 @@
120
120
  "name": "numeric",
121
121
  "data_type": 131,
122
122
  "max_length": 19,
123
- "p2": 373,
124
- "p3": 36,
123
+ "p2": 517,
124
+ "p3": 48,
125
125
  "p4": -1,
126
126
  "precision": 18,
127
127
  "scale": 6,
@@ -133,8 +133,8 @@
133
133
  "name": "datetime",
134
134
  "data_type": 135,
135
135
  "max_length": 16,
136
- "p2": 64,
137
- "p3": 40,
136
+ "p2": 128,
137
+ "p3": 52,
138
138
  "p4": -1,
139
139
  "precision": 0,
140
140
  "scale": 0,
@@ -146,8 +146,8 @@
146
146
  "name": "datetime2",
147
147
  "data_type": 3,
148
148
  "max_length": 4,
149
- "p2": 88,
150
- "p3": 44,
149
+ "p2": 384,
150
+ "p3": 56,
151
151
  "p4": -1,
152
152
  "precision": 0,
153
153
  "scale": 0,
@@ -159,8 +159,177 @@
159
159
  "name": "NULL",
160
160
  "data_type": 3,
161
161
  "max_length": 4,
162
- "p2": 240,
163
- "p3": 48,
162
+ "p2": 536,
163
+ "p3": 60,
164
+ "p4": -1,
165
+ "precision": 0,
166
+ "scale": 0,
167
+ "code_page": 0,
168
+ "p8": null,
169
+ "p9": null
170
+ },
171
+ {
172
+ "name": "varbinary",
173
+ "data_type": 128,
174
+ "max_length": 10,
175
+ "p2": 1064,
176
+ "p3": 64,
177
+ "p4": 0,
178
+ "precision": 0,
179
+ "scale": 0,
180
+ "code_page": 0,
181
+ "p8": null,
182
+ "p9": null
183
+ },
184
+ {
185
+ "name": "binary",
186
+ "data_type": 128,
187
+ "max_length": 10,
188
+ "p2": 1076,
189
+ "p3": 68,
190
+ "p4": 4,
191
+ "precision": 0,
192
+ "scale": 0,
193
+ "code_page": 0,
194
+ "p8": null,
195
+ "p9": null
196
+ },
197
+ {
198
+ "name": "timestamp",
199
+ "data_type": 128,
200
+ "max_length": 8,
201
+ "p2": 192,
202
+ "p3": 72,
203
+ "p4": 8,
204
+ "precision": 0,
205
+ "scale": 0,
206
+ "code_page": 0,
207
+ "p8": null,
208
+ "p9": null
209
+ },
210
+ {
211
+ "name": "money",
212
+ "data_type": 6,
213
+ "max_length": 8,
214
+ "p2": 184,
215
+ "p3": 76,
216
+ "p4": -1,
217
+ "precision": 0,
218
+ "scale": 0,
219
+ "code_page": 0,
220
+ "p8": null,
221
+ "p9": null
222
+ },
223
+ {
224
+ "name": "smallmoney",
225
+ "data_type": 6,
226
+ "max_length": 8,
227
+ "p2": 200,
228
+ "p3": 80,
229
+ "p4": -1,
230
+ "precision": 0,
231
+ "scale": 0,
232
+ "code_page": 0,
233
+ "p8": null,
234
+ "p9": null
235
+ },
236
+ {
237
+ "name": "date",
238
+ "data_type": 3,
239
+ "max_length": 4,
240
+ "p2": 800,
241
+ "p3": 84,
242
+ "p4": -1,
243
+ "precision": 0,
244
+ "scale": 0,
245
+ "code_page": 0,
246
+ "p8": null,
247
+ "p9": null
248
+ },
249
+ {
250
+ "name": "time",
251
+ "data_type": 3,
252
+ "max_length": 4,
253
+ "p2": 1088,
254
+ "p3": 88,
255
+ "p4": -1,
256
+ "precision": 0,
257
+ "scale": 0,
258
+ "code_page": 0,
259
+ "p8": null,
260
+ "p9": null
261
+ },
262
+ {
263
+ "name": "smalldatetime",
264
+ "data_type": 135,
265
+ "max_length": 16,
266
+ "p2": 144,
267
+ "p3": 92,
268
+ "p4": -1,
269
+ "precision": 0,
270
+ "scale": 0,
271
+ "code_page": 0,
272
+ "p8": null,
273
+ "p9": null
274
+ },
275
+ {
276
+ "name": "datetimeoffset",
277
+ "data_type": 3,
278
+ "max_length": 4,
279
+ "p2": 1092,
280
+ "p3": 96,
281
+ "p4": -1,
282
+ "precision": 0,
283
+ "scale": 0,
284
+ "code_page": 0,
285
+ "p8": null,
286
+ "p9": null
287
+ },
288
+ {
289
+ "name": "uniqueidentifier",
290
+ "data_type": 72,
291
+ "max_length": 16,
292
+ "p2": 160,
293
+ "p3": 100,
294
+ "p4": -1,
295
+ "precision": 0,
296
+ "scale": 0,
297
+ "code_page": 0,
298
+ "p8": null,
299
+ "p9": null
300
+ },
301
+ {
302
+ "name": "smallint",
303
+ "data_type": 2,
304
+ "max_length": 2,
305
+ "p2": 1096,
306
+ "p3": 104,
307
+ "p4": -1,
308
+ "precision": 0,
309
+ "scale": 0,
310
+ "code_page": 0,
311
+ "p8": null,
312
+ "p9": null
313
+ },
314
+ {
315
+ "name": "real",
316
+ "data_type": 4,
317
+ "max_length": 4,
318
+ "p2": 1100,
319
+ "p3": 108,
320
+ "p4": -1,
321
+ "precision": 0,
322
+ "scale": 0,
323
+ "code_page": 0,
324
+ "p8": null,
325
+ "p9": null
326
+ },
327
+ {
328
+ "name": "tinyint",
329
+ "data_type": 17,
330
+ "max_length": 1,
331
+ "p2": 1062,
332
+ "p3": 112,
164
333
  "p4": -1,
165
334
  "precision": 0,
166
335
  "scale": 0,
data/fixtures/sql10.raw CHANGED
Binary file
@@ -1,3 +1,3 @@
1
- int float bit bigint varchar char nvarchar nchar decimal numeric datetime datetime2 NULL
2
- 1 3.14159265 true 1073741824 This is a variable length char string This is a char string Это строка переменной длины в Юникоде Это строка в Юникоде 9.110000 7.620000 2016-01-12 08:20:06.823 2016-01-12 08:20:07.0000000
3
- 2 -12.333333 false 3132705829 This is another variable length char string This is another char string Это еще одна строка переменной длины в Юникоде Это еще одна строка в Юникоде -99.999000 -5.560000 2016-01-12 08:20:06.823 2016-01-12 08:20:06.8230000
1
+ int float bit bigint varchar char nvarchar nchar decimal numeric datetime datetime2 NULL varbinary binary timestamp money smallmoney date time smalldatetime datetimeoffset uniqueidentifier smallint real tinyint
2
+ 1 3.14159265 true 1073741824 This is a variable length char string This is a char string Это строка переменной длины в Юникоде Это строка в Юникоде 9.110000 7.620000 2016-01-25 12:50:15.000 2016-01-25 12:50:16.0000000 30313233343536373839 40414243000000000000 0000000000000fa0 123.4500 2.2300 2016-01-25 12:50:16.0000000 2016-01-25 12:50:00.000 2016-01-25 12:50:16.0000000+03:00 6f9619ff-8b86-d011-b42d-00c04fc964ff 30000 1343542784.0 200
3
+ -2 -12.333333 false -1162261467 This is another variable length char string This is another char string Это еще одна строка переменной длины в Юникоде Это еще одна строка в Юникоде -99.999000 -5.560000 2016-01-25 12:50:15.000 2016-01-25 12:50:15.0000000 39383736353433323130 43424140000000000000 0000000000000fa0 -123.4500 -2.2300 2016-01-25 12:50:15.0000000 2016-01-25 12:50:00.000 2016-01-25 05:20:15.0000000-04:30 ffefaa09-8b86-d011-b42d-00c04fc964ff -30000 -434046272.0 10
@@ -3,8 +3,8 @@
3
3
  "name": "int",
4
4
  "data_type": 3,
5
5
  "max_length": 4,
6
- "p2": 52,
7
- "p3": 0,
6
+ "p2": 228,
7
+ "p3": 24,
8
8
  "p4": -1,
9
9
  "precision": 0,
10
10
  "scale": 0,
@@ -16,8 +16,8 @@
16
16
  "name": "float",
17
17
  "data_type": 5,
18
18
  "max_length": 8,
19
- "p2": 56,
20
- "p3": 4,
19
+ "p2": 192,
20
+ "p3": 28,
21
21
  "p4": -1,
22
22
  "precision": 0,
23
23
  "scale": 0,
@@ -29,8 +29,8 @@
29
29
  "name": "bit",
30
30
  "data_type": 11,
31
31
  "max_length": 2,
32
- "p2": 256,
33
- "p3": 8,
32
+ "p2": 226,
33
+ "p3": 32,
34
34
  "p4": -1,
35
35
  "precision": 0,
36
36
  "scale": 0,
@@ -42,8 +42,8 @@
42
42
  "name": "bigint",
43
43
  "data_type": 20,
44
44
  "max_length": 8,
45
- "p2": 96,
46
- "p3": 12,
45
+ "p2": 200,
46
+ "p3": 36,
47
47
  "p4": -1,
48
48
  "precision": 0,
49
49
  "scale": 0,
@@ -55,8 +55,8 @@
55
55
  "name": "varchar",
56
56
  "data_type": 129,
57
57
  "max_length": 128,
58
- "p2": 108,
59
- "p3": 16,
58
+ "p2": 268,
59
+ "p3": 40,
60
60
  "p4": -1,
61
61
  "precision": 0,
62
62
  "scale": 0,
@@ -68,8 +68,8 @@
68
68
  "name": "char",
69
69
  "data_type": 129,
70
70
  "max_length": 128,
71
- "p2": 280,
72
- "p3": 20,
71
+ "p2": 428,
72
+ "p3": 44,
73
73
  "p4": -1,
74
74
  "precision": 0,
75
75
  "scale": 0,
@@ -81,8 +81,8 @@
81
81
  "name": "nvarchar",
82
82
  "data_type": 130,
83
83
  "max_length": 128,
84
- "p2": 412,
85
- "p3": 24,
84
+ "p2": 596,
85
+ "p3": 48,
86
86
  "p4": -1,
87
87
  "precision": 0,
88
88
  "scale": 0,
@@ -94,8 +94,8 @@
94
94
  "name": "nchar",
95
95
  "data_type": 130,
96
96
  "max_length": 128,
97
- "p2": 672,
98
- "p3": 28,
97
+ "p2": 856,
98
+ "p3": 52,
99
99
  "p4": -1,
100
100
  "precision": 0,
101
101
  "scale": 0,
@@ -107,8 +107,8 @@
107
107
  "name": "decimal",
108
108
  "data_type": 131,
109
109
  "max_length": 19,
110
- "p2": 237,
111
- "p3": 32,
110
+ "p2": 397,
111
+ "p3": 56,
112
112
  "p4": -1,
113
113
  "precision": 18,
114
114
  "scale": 6,
@@ -120,8 +120,8 @@
120
120
  "name": "numeric",
121
121
  "data_type": 131,
122
122
  "max_length": 19,
123
- "p2": 258,
124
- "p3": 36,
123
+ "p2": 557,
124
+ "p3": 60,
125
125
  "p4": -1,
126
126
  "precision": 18,
127
127
  "scale": 6,
@@ -133,8 +133,8 @@
133
133
  "name": "datetime",
134
134
  "data_type": 135,
135
135
  "max_length": 16,
136
- "p2": 64,
137
- "p3": 40,
136
+ "p2": 128,
137
+ "p3": 64,
138
138
  "p4": -1,
139
139
  "precision": 0,
140
140
  "scale": 0,
@@ -146,8 +146,8 @@
146
146
  "name": "datetime2",
147
147
  "data_type": 304,
148
148
  "max_length": 16,
149
- "p2": 80,
150
- "p3": 44,
149
+ "p2": 144,
150
+ "p3": 68,
151
151
  "p4": -1,
152
152
  "precision": 0,
153
153
  "scale": 7,
@@ -159,8 +159,177 @@
159
159
  "name": "NULL",
160
160
  "data_type": 3,
161
161
  "max_length": 4,
162
- "p2": 104,
163
- "p3": 48,
162
+ "p2": 264,
163
+ "p3": 72,
164
+ "p4": -1,
165
+ "precision": 0,
166
+ "scale": 0,
167
+ "code_page": 0,
168
+ "p8": null,
169
+ "p9": null
170
+ },
171
+ {
172
+ "name": "varbinary",
173
+ "data_type": 128,
174
+ "max_length": 10,
175
+ "p2": 216,
176
+ "p3": 76,
177
+ "p4": 0,
178
+ "precision": 0,
179
+ "scale": 0,
180
+ "code_page": 0,
181
+ "p8": null,
182
+ "p9": null
183
+ },
184
+ {
185
+ "name": "binary",
186
+ "data_type": 128,
187
+ "max_length": 10,
188
+ "p2": 232,
189
+ "p3": 80,
190
+ "p4": 8,
191
+ "precision": 0,
192
+ "scale": 0,
193
+ "code_page": 0,
194
+ "p8": null,
195
+ "p9": null
196
+ },
197
+ {
198
+ "name": "timestamp",
199
+ "data_type": 128,
200
+ "max_length": 8,
201
+ "p2": 208,
202
+ "p3": 84,
203
+ "p4": 16,
204
+ "precision": 0,
205
+ "scale": 0,
206
+ "code_page": 0,
207
+ "p8": null,
208
+ "p9": null
209
+ },
210
+ {
211
+ "name": "money",
212
+ "data_type": 6,
213
+ "max_length": 8,
214
+ "p2": 248,
215
+ "p3": 88,
216
+ "p4": -1,
217
+ "precision": 0,
218
+ "scale": 0,
219
+ "code_page": 0,
220
+ "p8": null,
221
+ "p9": null
222
+ },
223
+ {
224
+ "name": "smallmoney",
225
+ "data_type": 6,
226
+ "max_length": 8,
227
+ "p2": 256,
228
+ "p3": 92,
229
+ "p4": -1,
230
+ "precision": 0,
231
+ "scale": 0,
232
+ "code_page": 0,
233
+ "p8": null,
234
+ "p9": null
235
+ },
236
+ {
237
+ "name": "date",
238
+ "data_type": 133,
239
+ "max_length": 6,
240
+ "p2": 242,
241
+ "p3": 96,
242
+ "p4": -1,
243
+ "precision": 0,
244
+ "scale": 0,
245
+ "code_page": 0,
246
+ "p8": null,
247
+ "p9": null
248
+ },
249
+ {
250
+ "name": "time",
251
+ "data_type": 145,
252
+ "max_length": 12,
253
+ "p2": 416,
254
+ "p3": 100,
255
+ "p4": -1,
256
+ "precision": 0,
257
+ "scale": 7,
258
+ "code_page": 0,
259
+ "p8": null,
260
+ "p9": null
261
+ },
262
+ {
263
+ "name": "smalldatetime",
264
+ "data_type": 135,
265
+ "max_length": 16,
266
+ "p2": 160,
267
+ "p3": 104,
268
+ "p4": -1,
269
+ "precision": 0,
270
+ "scale": 0,
271
+ "code_page": 0,
272
+ "p8": null,
273
+ "p9": null
274
+ },
275
+ {
276
+ "name": "datetimeoffset",
277
+ "data_type": 146,
278
+ "max_length": 20,
279
+ "p2": 576,
280
+ "p3": 108,
281
+ "p4": -1,
282
+ "precision": 0,
283
+ "scale": 7,
284
+ "code_page": 0,
285
+ "p8": null,
286
+ "p9": null
287
+ },
288
+ {
289
+ "name": "uniqueidentifier",
290
+ "data_type": 72,
291
+ "max_length": 16,
292
+ "p2": 176,
293
+ "p3": 112,
294
+ "p4": -1,
295
+ "precision": 0,
296
+ "scale": 0,
297
+ "code_page": 0,
298
+ "p8": null,
299
+ "p9": null
300
+ },
301
+ {
302
+ "name": "smallint",
303
+ "data_type": 2,
304
+ "max_length": 2,
305
+ "p2": 1116,
306
+ "p3": 116,
307
+ "p4": -1,
308
+ "precision": 0,
309
+ "scale": 0,
310
+ "code_page": 0,
311
+ "p8": null,
312
+ "p9": null
313
+ },
314
+ {
315
+ "name": "real",
316
+ "data_type": 4,
317
+ "max_length": 4,
318
+ "p2": 1120,
319
+ "p3": 120,
320
+ "p4": -1,
321
+ "precision": 0,
322
+ "scale": 0,
323
+ "code_page": 0,
324
+ "p8": null,
325
+ "p9": null
326
+ },
327
+ {
328
+ "name": "tinyint",
329
+ "data_type": 17,
330
+ "max_length": 1,
331
+ "p2": 854,
332
+ "p3": 124,
164
333
  "p4": -1,
165
334
  "precision": 0,
166
335
  "scale": 0,
data/fixtures/sql11.raw CHANGED
Binary file
@@ -1,3 +1,3 @@
1
- int float bit bigint varchar char nvarchar nchar decimal numeric datetime datetime2 NULL
2
- 1 3.14159265 true 1073741824 This is a variable length char string This is a char string Это строка переменной длины в Юникоде Это строка в Юникоде 9.110000 7.620000 2016-01-12 08:41:00.637 2016-01-12 08:41:01.0000000
3
- 2 -12.333333 false 3132705829 This is another variable length char string This is another char string Это еще одна строка переменной длины в Юникоде Это еще одна строка в Юникоде -99.999000 -5.560000 2016-01-12 08:41:00.637 2016-01-12 08:41:00.6370000
1
+ int float bit bigint varchar char nvarchar nchar decimal numeric datetime datetime2 NULL varbinary binary timestamp money smallmoney date time smalldatetime datetimeoffset uniqueidentifier smallint real tinyint
2
+ 1 3.14159265 true 1073741824 This is a variable length char string This is a char string Это строка переменной длины в Юникоде Это строка в Юникоде 9.110000 7.620000 2016-01-25 17:46:53.689 2016-01-25 17:46:54.0000000 30313233343536373839 40414243000000000000 0000000000000fa0 123.4500 2.2300 2016-01-25 17:46:54.0000000 2016-01-25 17:47:00.000 2016-01-25 17:46:54.0000000+03:00 6f9619ff-8b86-d011-b42d-00c04fc964ff 30000 1343542784.0 200
3
+ -2 -12.333333 false -1162261467 This is another variable length char string This is another char string Это еще одна строка переменной длины в Юникоде Это еще одна строка в Юникоде -99.999000 -5.560000 2016-01-25 17:46:53.689 2016-01-25 17:46:53.6927070 39383736353433323130 43424140000000000000 0000000000000fa0 -123.4500 -2.2300 2016-01-25 17:46:53.6899999 2016-01-25 17:47:00.000 2016-01-25 10:16:53.6927070-04:30 ffefaa09-8b86-d011-b42d-00c04fc964ff -30000 -434046272.0 10
@@ -3,8 +3,8 @@
3
3
  "name": "int",
4
4
  "data_type": 3,
5
5
  "max_length": 4,
6
- "p2": 52,
7
- "p3": 0,
6
+ "p2": 228,
7
+ "p3": 24,
8
8
  "p4": -1,
9
9
  "precision": 0,
10
10
  "scale": 0,
@@ -16,8 +16,8 @@
16
16
  "name": "float",
17
17
  "data_type": 5,
18
18
  "max_length": 8,
19
- "p2": 56,
20
- "p3": 4,
19
+ "p2": 192,
20
+ "p3": 28,
21
21
  "p4": -1,
22
22
  "precision": 0,
23
23
  "scale": 0,
@@ -29,8 +29,8 @@
29
29
  "name": "bit",
30
30
  "data_type": 11,
31
31
  "max_length": 2,
32
- "p2": 256,
33
- "p3": 8,
32
+ "p2": 226,
33
+ "p3": 32,
34
34
  "p4": -1,
35
35
  "precision": 0,
36
36
  "scale": 0,
@@ -42,8 +42,8 @@
42
42
  "name": "bigint",
43
43
  "data_type": 20,
44
44
  "max_length": 8,
45
- "p2": 96,
46
- "p3": 12,
45
+ "p2": 200,
46
+ "p3": 36,
47
47
  "p4": -1,
48
48
  "precision": 0,
49
49
  "scale": 0,
@@ -55,8 +55,8 @@
55
55
  "name": "varchar",
56
56
  "data_type": 129,
57
57
  "max_length": 128,
58
- "p2": 108,
59
- "p3": 16,
58
+ "p2": 268,
59
+ "p3": 40,
60
60
  "p4": -1,
61
61
  "precision": 0,
62
62
  "scale": 0,
@@ -68,8 +68,8 @@
68
68
  "name": "char",
69
69
  "data_type": 129,
70
70
  "max_length": 128,
71
- "p2": 280,
72
- "p3": 20,
71
+ "p2": 428,
72
+ "p3": 44,
73
73
  "p4": -1,
74
74
  "precision": 0,
75
75
  "scale": 0,
@@ -81,8 +81,8 @@
81
81
  "name": "nvarchar",
82
82
  "data_type": 130,
83
83
  "max_length": 128,
84
- "p2": 412,
85
- "p3": 24,
84
+ "p2": 596,
85
+ "p3": 48,
86
86
  "p4": -1,
87
87
  "precision": 0,
88
88
  "scale": 0,
@@ -94,8 +94,8 @@
94
94
  "name": "nchar",
95
95
  "data_type": 130,
96
96
  "max_length": 128,
97
- "p2": 672,
98
- "p3": 28,
97
+ "p2": 856,
98
+ "p3": 52,
99
99
  "p4": -1,
100
100
  "precision": 0,
101
101
  "scale": 0,
@@ -107,8 +107,8 @@
107
107
  "name": "decimal",
108
108
  "data_type": 131,
109
109
  "max_length": 19,
110
- "p2": 237,
111
- "p3": 32,
110
+ "p2": 397,
111
+ "p3": 56,
112
112
  "p4": -1,
113
113
  "precision": 18,
114
114
  "scale": 6,
@@ -120,8 +120,8 @@
120
120
  "name": "numeric",
121
121
  "data_type": 131,
122
122
  "max_length": 19,
123
- "p2": 258,
124
- "p3": 36,
123
+ "p2": 557,
124
+ "p3": 60,
125
125
  "p4": -1,
126
126
  "precision": 18,
127
127
  "scale": 6,
@@ -133,8 +133,8 @@
133
133
  "name": "datetime",
134
134
  "data_type": 135,
135
135
  "max_length": 16,
136
- "p2": 64,
137
- "p3": 40,
136
+ "p2": 128,
137
+ "p3": 64,
138
138
  "p4": -1,
139
139
  "precision": 0,
140
140
  "scale": 0,
@@ -146,8 +146,8 @@
146
146
  "name": "datetime2",
147
147
  "data_type": 304,
148
148
  "max_length": 16,
149
- "p2": 80,
150
- "p3": 44,
149
+ "p2": 144,
150
+ "p3": 68,
151
151
  "p4": -1,
152
152
  "precision": 0,
153
153
  "scale": 7,
@@ -159,8 +159,177 @@
159
159
  "name": "NULL",
160
160
  "data_type": 3,
161
161
  "max_length": 4,
162
- "p2": 104,
163
- "p3": 48,
162
+ "p2": 264,
163
+ "p3": 72,
164
+ "p4": -1,
165
+ "precision": 0,
166
+ "scale": 0,
167
+ "code_page": 0,
168
+ "p8": 0,
169
+ "p9": 0
170
+ },
171
+ {
172
+ "name": "varbinary",
173
+ "data_type": 128,
174
+ "max_length": 10,
175
+ "p2": 216,
176
+ "p3": 76,
177
+ "p4": 0,
178
+ "precision": 0,
179
+ "scale": 0,
180
+ "code_page": 0,
181
+ "p8": 0,
182
+ "p9": 0
183
+ },
184
+ {
185
+ "name": "binary",
186
+ "data_type": 128,
187
+ "max_length": 10,
188
+ "p2": 232,
189
+ "p3": 80,
190
+ "p4": 8,
191
+ "precision": 0,
192
+ "scale": 0,
193
+ "code_page": 0,
194
+ "p8": 0,
195
+ "p9": 0
196
+ },
197
+ {
198
+ "name": "timestamp",
199
+ "data_type": 128,
200
+ "max_length": 8,
201
+ "p2": 208,
202
+ "p3": 84,
203
+ "p4": 16,
204
+ "precision": 0,
205
+ "scale": 0,
206
+ "code_page": 0,
207
+ "p8": 0,
208
+ "p9": 0
209
+ },
210
+ {
211
+ "name": "money",
212
+ "data_type": 6,
213
+ "max_length": 8,
214
+ "p2": 248,
215
+ "p3": 88,
216
+ "p4": -1,
217
+ "precision": 0,
218
+ "scale": 0,
219
+ "code_page": 0,
220
+ "p8": 0,
221
+ "p9": 0
222
+ },
223
+ {
224
+ "name": "smallmoney",
225
+ "data_type": 6,
226
+ "max_length": 8,
227
+ "p2": 256,
228
+ "p3": 92,
229
+ "p4": -1,
230
+ "precision": 0,
231
+ "scale": 0,
232
+ "code_page": 0,
233
+ "p8": 0,
234
+ "p9": 0
235
+ },
236
+ {
237
+ "name": "date",
238
+ "data_type": 133,
239
+ "max_length": 6,
240
+ "p2": 242,
241
+ "p3": 96,
242
+ "p4": -1,
243
+ "precision": 0,
244
+ "scale": 0,
245
+ "code_page": 0,
246
+ "p8": 0,
247
+ "p9": 0
248
+ },
249
+ {
250
+ "name": "time",
251
+ "data_type": 145,
252
+ "max_length": 12,
253
+ "p2": 416,
254
+ "p3": 100,
255
+ "p4": -1,
256
+ "precision": 0,
257
+ "scale": 7,
258
+ "code_page": 0,
259
+ "p8": 0,
260
+ "p9": 0
261
+ },
262
+ {
263
+ "name": "smalldatetime",
264
+ "data_type": 135,
265
+ "max_length": 16,
266
+ "p2": 160,
267
+ "p3": 104,
268
+ "p4": -1,
269
+ "precision": 0,
270
+ "scale": 0,
271
+ "code_page": 0,
272
+ "p8": 0,
273
+ "p9": 0
274
+ },
275
+ {
276
+ "name": "datetimeoffset",
277
+ "data_type": 146,
278
+ "max_length": 20,
279
+ "p2": 576,
280
+ "p3": 108,
281
+ "p4": -1,
282
+ "precision": 0,
283
+ "scale": 7,
284
+ "code_page": 0,
285
+ "p8": 0,
286
+ "p9": 0
287
+ },
288
+ {
289
+ "name": "uniqueidentifier",
290
+ "data_type": 72,
291
+ "max_length": 16,
292
+ "p2": 176,
293
+ "p3": 112,
294
+ "p4": -1,
295
+ "precision": 0,
296
+ "scale": 0,
297
+ "code_page": 0,
298
+ "p8": 0,
299
+ "p9": 0
300
+ },
301
+ {
302
+ "name": "smallint",
303
+ "data_type": 2,
304
+ "max_length": 2,
305
+ "p2": 1116,
306
+ "p3": 116,
307
+ "p4": -1,
308
+ "precision": 0,
309
+ "scale": 0,
310
+ "code_page": 0,
311
+ "p8": 0,
312
+ "p9": 0
313
+ },
314
+ {
315
+ "name": "real",
316
+ "data_type": 4,
317
+ "max_length": 4,
318
+ "p2": 1120,
319
+ "p3": 120,
320
+ "p4": -1,
321
+ "precision": 0,
322
+ "scale": 0,
323
+ "code_page": 0,
324
+ "p8": 0,
325
+ "p9": 0
326
+ },
327
+ {
328
+ "name": "tinyint",
329
+ "data_type": 17,
330
+ "max_length": 1,
331
+ "p2": 854,
332
+ "p3": 124,
164
333
  "p4": -1,
165
334
  "precision": 0,
166
335
  "scale": 0,
@@ -3,5 +3,5 @@
3
3
  # SqlServerDts module
4
4
  module SqlServerDts
5
5
  # current version
6
- VERSION = '0.1.1'
6
+ VERSION = '0.1.2'
7
7
  end
@@ -112,30 +112,53 @@ class SqlServerDts::RawFile
112
112
  nil
113
113
  else
114
114
  case field_info[:data_type]
115
+ when 2 # smallint
116
+ @raw_io.read(get_len(field_info)).unpack('s')[0]
115
117
  when 3 # int, NULL w/o cast
116
- @raw_io.read(field_info[:max_length]).unpack('I')[0]
118
+ @raw_io.read(get_len(field_info)).unpack('i')[0]
119
+ when 4 # real (float(24))
120
+ @raw_io.read(get_len(field_info)).unpack('f')[0]
117
121
  when 5 # float
118
- @raw_io.read(field_info[:max_length]).unpack('D')[0]
122
+ @raw_io.read(get_len(field_info)).unpack('d')[0]
123
+ when 6 # money (decimal(19,4)), smallmoney ((decimal(10,4)))
124
+ values_arr = @raw_io.read(get_len(field_info)).unpack('q')
125
+ "#{values_arr[0].to_s.insert((values_arr[0].to_s.length-4), '.')}"
119
126
  when 11 # bit
120
- (@raw_io.read(field_info[:max_length]).unpack('B')[0] == '1') ? true : false
127
+ (@raw_io.read(get_len(field_info)).unpack('B')[0] == '1') ? true : false
128
+ when 17 # tinyint
129
+ @raw_io.read(get_len(field_info)).unpack('C')[0]
121
130
  when 20 # bigint
122
- @raw_io.read(field_info[:max_length]).unpack('L')[0]
131
+ @raw_io.read(get_len(field_info)).unpack('q')[0]
132
+ when 72 # uniqueidentifier
133
+ uid_arr = @raw_io.read(get_len(field_info)).unpack('H2'*get_len(field_info))
134
+ uid_arr[0..3].reverse.join+'-'+uid_arr[4..5].reverse.join+'-'+uid_arr[6..7].reverse.join+'-'+uid_arr[8..9].join+'-'+uid_arr[10..-1].join
135
+ when 128 # varbinary, binary, timestamp
136
+ data_len = get_len
137
+ @raw_io.read(data_len).unpack('H2'*data_len).join
123
138
  when 129 # varchar, char
124
- data_len = @raw_io.read(4).unpack('I')[0]
139
+ data_len = get_len
125
140
  @raw_io.read(data_len).encode({invalid: :replace, undef: :replace})
126
141
  when 130 # nvarchar, nchar
127
- data_len = @raw_io.read(4).unpack('I')[0]
128
- @raw_io.read(data_len*2).encode(DEFAULT_ENCODING, DEFAULT_RAW_FILE_ENCODING, {invalid: :replace, undef: :replace})
142
+ @raw_io.read(get_len*2).encode(DEFAULT_ENCODING, DEFAULT_RAW_FILE_ENCODING, {invalid: :replace, undef: :replace})
129
143
  when 131 # numeric, decimal
130
144
  # precision, scale, sign, value
131
- values_arr = @raw_io.read(field_info[:max_length]).unpack('C3Q')
145
+ values_arr = @raw_io.read(get_len(field_info)).unpack('C3Q')
132
146
  "#{('-' if values_arr[2] == 0)}#{values_arr[3].to_s.insert((values_arr[3].to_s.length-values_arr[1]), '.')}"
133
- when 135 # datetime
134
- values_arr = @raw_io.read(field_info[:max_length]).unpack('S6I')
135
- Time.local(values_arr[0], values_arr[1], values_arr[2], values_arr[3], values_arr[4], values_arr[5], (values_arr[6].to_f/1000.0)).strftime('%F %T.%L')
147
+ when 133 # date
148
+ values_arr = @raw_io.read(get_len(field_info)).unpack('S3')
149
+ Date.new(values_arr[0], values_arr[1], values_arr[2])
150
+ when 135 # datetime, smalldatetime
151
+ values_arr = @raw_io.read(get_len(field_info)).unpack('S6I')
152
+ Time.local(values_arr[0], values_arr[1], values_arr[2], values_arr[3], values_arr[4], "#{values_arr[5]}.#{values_arr[6]}".to_f).strftime('%F %T.%L')
153
+ when 145 # time
154
+ values_arr = @raw_io.read(10).unpack('S3I')
155
+ Time.local(Time.now.year, Time.now.month, Time.now.day, values_arr[0], values_arr[1], "#{values_arr[2]}.#{values_arr[3]}".to_f).strftime("%T.%#{field_info[:scale]}N")
156
+ when 146 # datetimeoffset
157
+ values_arr = @raw_io.read(get_len(field_info)).unpack('S6Is2')
158
+ Time.new(values_arr[0], values_arr[1], values_arr[2], values_arr[3], values_arr[4], "#{values_arr[5]}.#{values_arr[6]}".to_f,format('%+03d:%02d',values_arr[7],values_arr[8].abs)).strftime("%F %T.%#{field_info[:scale]}N%:z")
136
159
  when 304 # datetime2
137
- values_arr = @raw_io.read(field_info[:max_length]).unpack('S6I')
138
- Time.local(values_arr[0], values_arr[1], values_arr[2], values_arr[3], values_arr[4], values_arr[5], (values_arr[6].to_f/1000.0)).strftime("%F %T.%#{field_info[:scale]}N")
160
+ values_arr = @raw_io.read(get_len(field_info)).unpack('S6I')
161
+ Time.local(values_arr[0], values_arr[1], values_arr[2], values_arr[3], values_arr[4], "#{values_arr[5]}.#{values_arr[6]}".to_f).strftime("%F %T.%#{field_info[:scale]}N")
139
162
  else
140
163
  raise UnknownDataTypeError, "Unknown data type #{field_info[:data_type]}"
141
164
  end
@@ -149,6 +172,15 @@ class SqlServerDts::RawFile
149
172
  end
150
173
  end
151
174
 
175
+ # get field data len by metadata or from stream
176
+ def get_len(field_info=nil)
177
+ if field_info.nil?
178
+ @raw_io.read(4).unpack('I')[0]
179
+ else
180
+ field_info[:max_length]
181
+ end
182
+ end
183
+
152
184
  # get metadata (header) of raw file
153
185
  #
154
186
  # @return [Array] Array of hash of fields metadata
@@ -175,4 +207,6 @@ class SqlServerDts::RawFile
175
207
  def pos
176
208
  @raw_io.pos
177
209
  end
210
+
211
+ private :get_len
178
212
  end
@@ -37,7 +37,7 @@ puts '=== END HEADER ==='
37
37
  init_pos = raw_obj.pos
38
38
  # need to close inner IO-stream object
39
39
  raw_obj.close
40
-
40
+ #exit
41
41
  # show data of raw file in rows table and convert it into hash and save it as csv-file
42
42
  # signature: new(path,init_pos)
43
43
  # @param path [String] Path to raw file
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sql-server-raw-file
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dmitriy Mullo
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-01-20 00:00:00.000000000 Z
11
+ date: 2016-02-03 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Converts SQL Server Integration Services Raw File source to hash.
14
14
  email:
@@ -21,8 +21,8 @@ files:
21
21
  - LICENSE.md
22
22
  - README.md
23
23
  - fixtures/current_sql_index
24
- - fixtures/select-fixture-data-SQL_Server_90.sql
25
- - fixtures/select-fixture-data.sql
24
+ - fixtures/select-fixture-data-SQL_Server10_11.sql
25
+ - fixtures/select-fixture-data-SQL_Server_9.sql
26
26
  - fixtures/sql09.raw
27
27
  - fixtures/sql09_data.csv
28
28
  - fixtures/sql09_header.json
@@ -1,3 +0,0 @@
1
- select cast(1 as int) [int], cast(3.14159265 as float) [float], cast(1 as bit) [bit], cast(POWER(2,30) as bigint) [bigint], cast('This is a variable length char string' as varchar(128)) [varchar], cast('This is a char string' as char(128)) [char], cast('��� ������ ���������� ����� � �������' as nvarchar(128)) [nvarchar], cast('��� ������ � �������' as nchar(128)) [nchar], cast(9.11 as decimal(18,6)) [decimal], cast(7.62 as numeric(18,6)) [numeric], getdate() [datetime], NULL [datetime2], NULL AS [NULL]
2
- UNION ALL
3
- select cast(2 as int) [int], cast(-37.0/3.0 as float) [float], cast(0 as bit) [bit], cast(-POWER(3,19) as bigint) [bigint], cast('This is another variable length char string' as varchar(128)) [varchar], cast('This is another char string' as char(128)) [char], cast('��� ��� ���� ������ ���������� ����� � �������' as nvarchar(128)) [nvarchar], cast('��� ��� ���� ������ � �������' as nchar(128)) [nchar], cast(-99.999 as decimal(18,6)) [decimal], cast(-5.56 as numeric(18,6)) [numeric], getdate() [datetime], NULL [datetime2], NULL AS [NULL]
@@ -1,3 +0,0 @@
1
- select cast(1 as int) [int], cast(3.14159265 as float) [float], cast(1 as bit) [bit], cast(POWER(2,30) as bigint) [bigint], cast('This is a variable length char string' as varchar(128)) [varchar], cast('This is a char string' as char(128)) [char], cast('��� ������ ���������� ����� � �������' as nvarchar(128)) [nvarchar], cast('��� ������ � �������' as nchar(128)) [nchar], cast(9.11 as decimal(18,6)) [decimal], cast(7.62 as numeric(18,6)) [numeric], getdate() [datetime], CAST(GETDATE() AS DATETIME2(0)) [datetime2], NULL AS [NULL]
2
- UNION ALL
3
- select cast(2 as int) [int], cast(-37.0/3.0 as float) [float], cast(0 as bit) [bit], cast(-POWER(3,19) as bigint) [bigint], cast('This is another variable length char string' as varchar(128)) [varchar], cast('This is another char string' as char(128)) [char], cast('��� ��� ���� ������ ���������� ����� � �������' as nvarchar(128)) [nvarchar], cast('��� ��� ���� ������ � �������' as nchar(128)) [nchar], cast(-99.999 as decimal(18,6)) [decimal], cast(-5.56 as numeric(18,6)) [numeric], getdate() [datetime], CAST(GETDATE() AS DATETIME2(7)) [datetime2], NULL AS [NULL]