red-arrow 0.17.1 → 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/ext/arrow/converters.hpp +60 -30
- data/ext/arrow/raw-records.cpp +2 -1
- data/ext/arrow/values.cpp +2 -1
- data/lib/arrow/buffer.rb +28 -0
- data/lib/arrow/dictionary-array.rb +24 -0
- data/lib/arrow/loader.rb +3 -0
- data/lib/arrow/raw-table-converter.rb +47 -0
- data/lib/arrow/record-batch-iterator.rb +22 -0
- data/lib/arrow/record-batch.rb +9 -1
- data/lib/arrow/struct-array-builder.rb +13 -7
- data/lib/arrow/table-saver.rb +6 -6
- data/lib/arrow/table.rb +5 -24
- data/lib/arrow/version.rb +1 -1
- data/test/raw-records/test-dense-union-array.rb +1 -34
- data/test/raw-records/test-sparse-union-array.rb +1 -33
- data/test/test-buffer.rb +11 -0
- data/test/test-dense-union-data-type.rb +2 -2
- data/test/test-dictionary-array.rb +41 -0
- data/test/test-feather.rb +1 -1
- data/test/test-record-batch-iterator.rb +37 -0
- data/test/test-record-batch.rb +14 -0
- data/test/test-sparse-union-data-type.rb +2 -2
- data/test/test-struct-array-builder.rb +8 -4
- data/test/values/test-dense-union-array.rb +1 -34
- data/test/values/test-sparse-union-array.rb +1 -33
- metadata +14 -6
data/lib/arrow/table-saver.rb
CHANGED
@@ -155,13 +155,13 @@ module Arrow
|
|
155
155
|
end
|
156
156
|
|
157
157
|
def save_as_feather
|
158
|
+
properties = FeatherWriteProperties.new
|
159
|
+
properties.class.properties.each do |name|
|
160
|
+
value = @options[name.to_sym]
|
161
|
+
next if value.nil?
|
162
|
+
properties.__send__("#{name}=", value)
|
163
|
+
end
|
158
164
|
open_raw_output_stream do |output|
|
159
|
-
properties = FeatherWriteProperties.new
|
160
|
-
properties.class.properties.each do |name|
|
161
|
-
value = @options[name.to_sym]
|
162
|
-
next if value.nil?
|
163
|
-
properties.__send__("#{name}=", value)
|
164
|
-
end
|
165
165
|
@table.write_as_feather(output, properties)
|
166
166
|
end
|
167
167
|
end
|
data/lib/arrow/table.rb
CHANGED
@@ -15,6 +15,8 @@
|
|
15
15
|
# specific language governing permissions and limitations
|
16
16
|
# under the License.
|
17
17
|
|
18
|
+
require "arrow/raw-table-converter"
|
19
|
+
|
18
20
|
module Arrow
|
19
21
|
class Table
|
20
22
|
include ColumnContainable
|
@@ -81,14 +83,6 @@ module Arrow
|
|
81
83
|
# `Array`.
|
82
84
|
#
|
83
85
|
# @example Create a table from column name and values
|
84
|
-
# count_chunks = [
|
85
|
-
# Arrow::UInt32Array.new([0, 2]),
|
86
|
-
# Arrow::UInt32Array.new([nil, 4]),
|
87
|
-
# ]
|
88
|
-
# visible_chunks = [
|
89
|
-
# Arrow::BooleanArray.new([true]),
|
90
|
-
# Arrow::BooleanArray.new([nil, nil, false]),
|
91
|
-
# ]
|
92
86
|
# Arrow::Table.new("count" => [0, 2, nil, 4],
|
93
87
|
# "visible" => [true, nil, nil, false])
|
94
88
|
#
|
@@ -169,22 +163,9 @@ module Arrow
|
|
169
163
|
n_args = args.size
|
170
164
|
case n_args
|
171
165
|
when 1
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
values = columns.collect(&:data)
|
176
|
-
schema = Schema.new(fields)
|
177
|
-
else
|
178
|
-
raw_table = args[0]
|
179
|
-
fields = []
|
180
|
-
values = []
|
181
|
-
raw_table.each do |name, array|
|
182
|
-
array = ArrayBuilder.build(array) if array.is_a?(::Array)
|
183
|
-
fields << Field.new(name.to_s, array.value_data_type)
|
184
|
-
values << array
|
185
|
-
end
|
186
|
-
schema = Schema.new(fields)
|
187
|
-
end
|
166
|
+
raw_table_converter = RawTableConverter.new(args[0])
|
167
|
+
schema = raw_table_converter.schema
|
168
|
+
values = raw_table_converter.values
|
188
169
|
when 2
|
189
170
|
schema = args[0]
|
190
171
|
schema = Schema.new(schema) unless schema.is_a?(Schema)
|
data/lib/arrow/version.rb
CHANGED
@@ -56,10 +56,7 @@ module RawRecordsDenseUnionArrayTests
|
|
56
56
|
end
|
57
57
|
records.each do |record|
|
58
58
|
column = record[0]
|
59
|
-
if column.
|
60
|
-
type_ids << nil
|
61
|
-
offsets << 0
|
62
|
-
elsif column.key?("0")
|
59
|
+
if column.key?("0")
|
63
60
|
type_id = type_codes[0]
|
64
61
|
type_ids << type_id
|
65
62
|
offsets << (type_ids.count(type_id) - 1)
|
@@ -82,7 +79,6 @@ module RawRecordsDenseUnionArrayTests
|
|
82
79
|
def test_null
|
83
80
|
records = [
|
84
81
|
[{"0" => nil}],
|
85
|
-
[nil],
|
86
82
|
]
|
87
83
|
target = build(:null, records)
|
88
84
|
assert_equal(records, target.raw_records)
|
@@ -91,7 +87,6 @@ module RawRecordsDenseUnionArrayTests
|
|
91
87
|
def test_boolean
|
92
88
|
records = [
|
93
89
|
[{"0" => true}],
|
94
|
-
[nil],
|
95
90
|
[{"1" => nil}],
|
96
91
|
]
|
97
92
|
target = build(:boolean, records)
|
@@ -101,7 +96,6 @@ module RawRecordsDenseUnionArrayTests
|
|
101
96
|
def test_int8
|
102
97
|
records = [
|
103
98
|
[{"0" => -(2 ** 7)}],
|
104
|
-
[nil],
|
105
99
|
[{"1" => nil}],
|
106
100
|
]
|
107
101
|
target = build(:int8, records)
|
@@ -111,7 +105,6 @@ module RawRecordsDenseUnionArrayTests
|
|
111
105
|
def test_uint8
|
112
106
|
records = [
|
113
107
|
[{"0" => (2 ** 8) - 1}],
|
114
|
-
[nil],
|
115
108
|
[{"1" => nil}],
|
116
109
|
]
|
117
110
|
target = build(:uint8, records)
|
@@ -121,7 +114,6 @@ module RawRecordsDenseUnionArrayTests
|
|
121
114
|
def test_int16
|
122
115
|
records = [
|
123
116
|
[{"0" => -(2 ** 15)}],
|
124
|
-
[nil],
|
125
117
|
[{"1" => nil}],
|
126
118
|
]
|
127
119
|
target = build(:int16, records)
|
@@ -131,7 +123,6 @@ module RawRecordsDenseUnionArrayTests
|
|
131
123
|
def test_uint16
|
132
124
|
records = [
|
133
125
|
[{"0" => (2 ** 16) - 1}],
|
134
|
-
[nil],
|
135
126
|
[{"1" => nil}],
|
136
127
|
]
|
137
128
|
target = build(:uint16, records)
|
@@ -141,7 +132,6 @@ module RawRecordsDenseUnionArrayTests
|
|
141
132
|
def test_int32
|
142
133
|
records = [
|
143
134
|
[{"0" => -(2 ** 31)}],
|
144
|
-
[nil],
|
145
135
|
[{"1" => nil}],
|
146
136
|
]
|
147
137
|
target = build(:int32, records)
|
@@ -151,7 +141,6 @@ module RawRecordsDenseUnionArrayTests
|
|
151
141
|
def test_uint32
|
152
142
|
records = [
|
153
143
|
[{"0" => (2 ** 32) - 1}],
|
154
|
-
[nil],
|
155
144
|
[{"1" => nil}],
|
156
145
|
]
|
157
146
|
target = build(:uint32, records)
|
@@ -161,7 +150,6 @@ module RawRecordsDenseUnionArrayTests
|
|
161
150
|
def test_int64
|
162
151
|
records = [
|
163
152
|
[{"0" => -(2 ** 63)}],
|
164
|
-
[nil],
|
165
153
|
[{"1" => nil}],
|
166
154
|
]
|
167
155
|
target = build(:int64, records)
|
@@ -171,7 +159,6 @@ module RawRecordsDenseUnionArrayTests
|
|
171
159
|
def test_uint64
|
172
160
|
records = [
|
173
161
|
[{"0" => (2 ** 64) - 1}],
|
174
|
-
[nil],
|
175
162
|
[{"1" => nil}],
|
176
163
|
]
|
177
164
|
target = build(:uint64, records)
|
@@ -181,7 +168,6 @@ module RawRecordsDenseUnionArrayTests
|
|
181
168
|
def test_float
|
182
169
|
records = [
|
183
170
|
[{"0" => -1.0}],
|
184
|
-
[nil],
|
185
171
|
[{"1" => nil}],
|
186
172
|
]
|
187
173
|
target = build(:float, records)
|
@@ -191,7 +177,6 @@ module RawRecordsDenseUnionArrayTests
|
|
191
177
|
def test_double
|
192
178
|
records = [
|
193
179
|
[{"0" => -1.0}],
|
194
|
-
[nil],
|
195
180
|
[{"1" => nil}],
|
196
181
|
]
|
197
182
|
target = build(:double, records)
|
@@ -201,7 +186,6 @@ module RawRecordsDenseUnionArrayTests
|
|
201
186
|
def test_binary
|
202
187
|
records = [
|
203
188
|
[{"0" => "\xff".b}],
|
204
|
-
[nil],
|
205
189
|
[{"1" => nil}],
|
206
190
|
]
|
207
191
|
target = build(:binary, records)
|
@@ -211,7 +195,6 @@ module RawRecordsDenseUnionArrayTests
|
|
211
195
|
def test_string
|
212
196
|
records = [
|
213
197
|
[{"0" => "Ruby"}],
|
214
|
-
[nil],
|
215
198
|
[{"1" => nil}],
|
216
199
|
]
|
217
200
|
target = build(:string, records)
|
@@ -221,7 +204,6 @@ module RawRecordsDenseUnionArrayTests
|
|
221
204
|
def test_date32
|
222
205
|
records = [
|
223
206
|
[{"0" => Date.new(1960, 1, 1)}],
|
224
|
-
[nil],
|
225
207
|
[{"1" => nil}],
|
226
208
|
]
|
227
209
|
target = build(:date32, records)
|
@@ -231,7 +213,6 @@ module RawRecordsDenseUnionArrayTests
|
|
231
213
|
def test_date64
|
232
214
|
records = [
|
233
215
|
[{"0" => DateTime.new(1960, 1, 1, 2, 9, 30)}],
|
234
|
-
[nil],
|
235
216
|
[{"1" => nil}],
|
236
217
|
]
|
237
218
|
target = build(:date64, records)
|
@@ -241,7 +222,6 @@ module RawRecordsDenseUnionArrayTests
|
|
241
222
|
def test_timestamp_second
|
242
223
|
records = [
|
243
224
|
[{"0" => Time.parse("1960-01-01T02:09:30Z")}],
|
244
|
-
[nil],
|
245
225
|
[{"1" => nil}],
|
246
226
|
]
|
247
227
|
target = build({
|
@@ -255,7 +235,6 @@ module RawRecordsDenseUnionArrayTests
|
|
255
235
|
def test_timestamp_milli
|
256
236
|
records = [
|
257
237
|
[{"0" => Time.parse("1960-01-01T02:09:30.123Z")}],
|
258
|
-
[nil],
|
259
238
|
[{"1" => nil}],
|
260
239
|
]
|
261
240
|
target = build({
|
@@ -269,7 +248,6 @@ module RawRecordsDenseUnionArrayTests
|
|
269
248
|
def test_timestamp_micro
|
270
249
|
records = [
|
271
250
|
[{"0" => Time.parse("1960-01-01T02:09:30.123456Z")}],
|
272
|
-
[nil],
|
273
251
|
[{"1" => nil}],
|
274
252
|
]
|
275
253
|
target = build({
|
@@ -283,7 +261,6 @@ module RawRecordsDenseUnionArrayTests
|
|
283
261
|
def test_timestamp_nano
|
284
262
|
records = [
|
285
263
|
[{"0" => Time.parse("1960-01-01T02:09:30.123456789Z")}],
|
286
|
-
[nil],
|
287
264
|
[{"1" => nil}],
|
288
265
|
]
|
289
266
|
target = build({
|
@@ -299,7 +276,6 @@ module RawRecordsDenseUnionArrayTests
|
|
299
276
|
records = [
|
300
277
|
# 00:10:00
|
301
278
|
[{"0" => Arrow::Time.new(unit, 60 * 10)}],
|
302
|
-
[nil],
|
303
279
|
[{"1" => nil}],
|
304
280
|
]
|
305
281
|
target = build({
|
@@ -315,7 +291,6 @@ module RawRecordsDenseUnionArrayTests
|
|
315
291
|
records = [
|
316
292
|
# 00:10:00.123
|
317
293
|
[{"0" => Arrow::Time.new(unit, (60 * 10) * 1000 + 123)}],
|
318
|
-
[nil],
|
319
294
|
[{"1" => nil}],
|
320
295
|
]
|
321
296
|
target = build({
|
@@ -331,7 +306,6 @@ module RawRecordsDenseUnionArrayTests
|
|
331
306
|
records = [
|
332
307
|
# 00:10:00.123456
|
333
308
|
[{"0" => Arrow::Time.new(unit, (60 * 10) * 1_000_000 + 123_456)}],
|
334
|
-
[nil],
|
335
309
|
[{"1" => nil}],
|
336
310
|
]
|
337
311
|
target = build({
|
@@ -347,7 +321,6 @@ module RawRecordsDenseUnionArrayTests
|
|
347
321
|
records = [
|
348
322
|
# 00:10:00.123456789
|
349
323
|
[{"0" => Arrow::Time.new(unit, (60 * 10) * 1_000_000_000 + 123_456_789)}],
|
350
|
-
[nil],
|
351
324
|
[{"1" => nil}],
|
352
325
|
]
|
353
326
|
target = build({
|
@@ -361,7 +334,6 @@ module RawRecordsDenseUnionArrayTests
|
|
361
334
|
def test_decimal128
|
362
335
|
records = [
|
363
336
|
[{"0" => BigDecimal("92.92")}],
|
364
|
-
[nil],
|
365
337
|
[{"1" => nil}],
|
366
338
|
]
|
367
339
|
target = build({
|
@@ -376,7 +348,6 @@ module RawRecordsDenseUnionArrayTests
|
|
376
348
|
def test_list
|
377
349
|
records = [
|
378
350
|
[{"0" => [true, nil, false]}],
|
379
|
-
[nil],
|
380
351
|
[{"1" => nil}],
|
381
352
|
]
|
382
353
|
target = build({
|
@@ -393,7 +364,6 @@ module RawRecordsDenseUnionArrayTests
|
|
393
364
|
def test_struct
|
394
365
|
records = [
|
395
366
|
[{"0" => {"sub_field" => true}}],
|
396
|
-
[nil],
|
397
367
|
[{"1" => nil}],
|
398
368
|
[{"0" => {"sub_field" => nil}}],
|
399
369
|
]
|
@@ -414,7 +384,6 @@ module RawRecordsDenseUnionArrayTests
|
|
414
384
|
omit("Need to add support for SparseUnionArrayBuilder")
|
415
385
|
records = [
|
416
386
|
[{"0" => {"field1" => true}}],
|
417
|
-
[nil],
|
418
387
|
[{"1" => nil}],
|
419
388
|
[{"0" => {"field2" => nil}}],
|
420
389
|
]
|
@@ -440,7 +409,6 @@ module RawRecordsDenseUnionArrayTests
|
|
440
409
|
omit("Need to add support for DenseUnionArrayBuilder")
|
441
410
|
records = [
|
442
411
|
[{"0" => {"field1" => true}}],
|
443
|
-
[nil],
|
444
412
|
[{"1" => nil}],
|
445
413
|
[{"0" => {"field2" => nil}}],
|
446
414
|
]
|
@@ -466,7 +434,6 @@ module RawRecordsDenseUnionArrayTests
|
|
466
434
|
omit("Need to add support for DictionaryArrayBuilder")
|
467
435
|
records = [
|
468
436
|
[{"0" => "Ruby"}],
|
469
|
-
[nil],
|
470
437
|
[{"1" => nil}],
|
471
438
|
[{"0" => "GLib"}],
|
472
439
|
]
|
@@ -51,9 +51,7 @@ module RawRecordsSparseUnionArrayTests
|
|
51
51
|
end
|
52
52
|
records.each do |record|
|
53
53
|
column = record[0]
|
54
|
-
if column.
|
55
|
-
type_ids << nil
|
56
|
-
elsif column.key?("0")
|
54
|
+
if column.key?("0")
|
57
55
|
type_ids << type_codes[0]
|
58
56
|
elsif column.key?("1")
|
59
57
|
type_ids << type_codes[1]
|
@@ -71,7 +69,6 @@ module RawRecordsSparseUnionArrayTests
|
|
71
69
|
def test_null
|
72
70
|
records = [
|
73
71
|
[{"0" => nil}],
|
74
|
-
[nil],
|
75
72
|
]
|
76
73
|
target = build(:null, records)
|
77
74
|
assert_equal(records, target.raw_records)
|
@@ -80,7 +77,6 @@ module RawRecordsSparseUnionArrayTests
|
|
80
77
|
def test_boolean
|
81
78
|
records = [
|
82
79
|
[{"0" => true}],
|
83
|
-
[nil],
|
84
80
|
[{"1" => nil}],
|
85
81
|
]
|
86
82
|
target = build(:boolean, records)
|
@@ -90,7 +86,6 @@ module RawRecordsSparseUnionArrayTests
|
|
90
86
|
def test_int8
|
91
87
|
records = [
|
92
88
|
[{"0" => -(2 ** 7)}],
|
93
|
-
[nil],
|
94
89
|
[{"1" => nil}],
|
95
90
|
]
|
96
91
|
target = build(:int8, records)
|
@@ -100,7 +95,6 @@ module RawRecordsSparseUnionArrayTests
|
|
100
95
|
def test_uint8
|
101
96
|
records = [
|
102
97
|
[{"0" => (2 ** 8) - 1}],
|
103
|
-
[nil],
|
104
98
|
[{"1" => nil}],
|
105
99
|
]
|
106
100
|
target = build(:uint8, records)
|
@@ -110,7 +104,6 @@ module RawRecordsSparseUnionArrayTests
|
|
110
104
|
def test_int16
|
111
105
|
records = [
|
112
106
|
[{"0" => -(2 ** 15)}],
|
113
|
-
[nil],
|
114
107
|
[{"1" => nil}],
|
115
108
|
]
|
116
109
|
target = build(:int16, records)
|
@@ -120,7 +113,6 @@ module RawRecordsSparseUnionArrayTests
|
|
120
113
|
def test_uint16
|
121
114
|
records = [
|
122
115
|
[{"0" => (2 ** 16) - 1}],
|
123
|
-
[nil],
|
124
116
|
[{"1" => nil}],
|
125
117
|
]
|
126
118
|
target = build(:uint16, records)
|
@@ -130,7 +122,6 @@ module RawRecordsSparseUnionArrayTests
|
|
130
122
|
def test_int32
|
131
123
|
records = [
|
132
124
|
[{"0" => -(2 ** 31)}],
|
133
|
-
[nil],
|
134
125
|
[{"1" => nil}],
|
135
126
|
]
|
136
127
|
target = build(:int32, records)
|
@@ -140,7 +131,6 @@ module RawRecordsSparseUnionArrayTests
|
|
140
131
|
def test_uint32
|
141
132
|
records = [
|
142
133
|
[{"0" => (2 ** 32) - 1}],
|
143
|
-
[nil],
|
144
134
|
[{"1" => nil}],
|
145
135
|
]
|
146
136
|
target = build(:uint32, records)
|
@@ -150,7 +140,6 @@ module RawRecordsSparseUnionArrayTests
|
|
150
140
|
def test_int64
|
151
141
|
records = [
|
152
142
|
[{"0" => -(2 ** 63)}],
|
153
|
-
[nil],
|
154
143
|
[{"1" => nil}],
|
155
144
|
]
|
156
145
|
target = build(:int64, records)
|
@@ -160,7 +149,6 @@ module RawRecordsSparseUnionArrayTests
|
|
160
149
|
def test_uint64
|
161
150
|
records = [
|
162
151
|
[{"0" => (2 ** 64) - 1}],
|
163
|
-
[nil],
|
164
152
|
[{"1" => nil}],
|
165
153
|
]
|
166
154
|
target = build(:uint64, records)
|
@@ -170,7 +158,6 @@ module RawRecordsSparseUnionArrayTests
|
|
170
158
|
def test_float
|
171
159
|
records = [
|
172
160
|
[{"0" => -1.0}],
|
173
|
-
[nil],
|
174
161
|
[{"1" => nil}],
|
175
162
|
]
|
176
163
|
target = build(:float, records)
|
@@ -180,7 +167,6 @@ module RawRecordsSparseUnionArrayTests
|
|
180
167
|
def test_double
|
181
168
|
records = [
|
182
169
|
[{"0" => -1.0}],
|
183
|
-
[nil],
|
184
170
|
[{"1" => nil}],
|
185
171
|
]
|
186
172
|
target = build(:double, records)
|
@@ -190,7 +176,6 @@ module RawRecordsSparseUnionArrayTests
|
|
190
176
|
def test_binary
|
191
177
|
records = [
|
192
178
|
[{"0" => "\xff".b}],
|
193
|
-
[nil],
|
194
179
|
[{"1" => nil}],
|
195
180
|
]
|
196
181
|
target = build(:binary, records)
|
@@ -200,7 +185,6 @@ module RawRecordsSparseUnionArrayTests
|
|
200
185
|
def test_string
|
201
186
|
records = [
|
202
187
|
[{"0" => "Ruby"}],
|
203
|
-
[nil],
|
204
188
|
[{"1" => nil}],
|
205
189
|
]
|
206
190
|
target = build(:string, records)
|
@@ -210,7 +194,6 @@ module RawRecordsSparseUnionArrayTests
|
|
210
194
|
def test_date32
|
211
195
|
records = [
|
212
196
|
[{"0" => Date.new(1960, 1, 1)}],
|
213
|
-
[nil],
|
214
197
|
[{"1" => nil}],
|
215
198
|
]
|
216
199
|
target = build(:date32, records)
|
@@ -220,7 +203,6 @@ module RawRecordsSparseUnionArrayTests
|
|
220
203
|
def test_date64
|
221
204
|
records = [
|
222
205
|
[{"0" => DateTime.new(1960, 1, 1, 2, 9, 30)}],
|
223
|
-
[nil],
|
224
206
|
[{"1" => nil}],
|
225
207
|
]
|
226
208
|
target = build(:date64, records)
|
@@ -230,7 +212,6 @@ module RawRecordsSparseUnionArrayTests
|
|
230
212
|
def test_timestamp_second
|
231
213
|
records = [
|
232
214
|
[{"0" => Time.parse("1960-01-01T02:09:30Z")}],
|
233
|
-
[nil],
|
234
215
|
[{"1" => nil}],
|
235
216
|
]
|
236
217
|
target = build({
|
@@ -244,7 +225,6 @@ module RawRecordsSparseUnionArrayTests
|
|
244
225
|
def test_timestamp_milli
|
245
226
|
records = [
|
246
227
|
[{"0" => Time.parse("1960-01-01T02:09:30.123Z")}],
|
247
|
-
[nil],
|
248
228
|
[{"1" => nil}],
|
249
229
|
]
|
250
230
|
target = build({
|
@@ -258,7 +238,6 @@ module RawRecordsSparseUnionArrayTests
|
|
258
238
|
def test_timestamp_micro
|
259
239
|
records = [
|
260
240
|
[{"0" => Time.parse("1960-01-01T02:09:30.123456Z")}],
|
261
|
-
[nil],
|
262
241
|
[{"1" => nil}],
|
263
242
|
]
|
264
243
|
target = build({
|
@@ -272,7 +251,6 @@ module RawRecordsSparseUnionArrayTests
|
|
272
251
|
def test_timestamp_nano
|
273
252
|
records = [
|
274
253
|
[{"0" => Time.parse("1960-01-01T02:09:30.123456789Z")}],
|
275
|
-
[nil],
|
276
254
|
[{"1" => nil}],
|
277
255
|
]
|
278
256
|
target = build({
|
@@ -288,7 +266,6 @@ module RawRecordsSparseUnionArrayTests
|
|
288
266
|
records = [
|
289
267
|
# 00:10:00
|
290
268
|
[{"0" => Arrow::Time.new(unit, 60 * 10)}],
|
291
|
-
[nil],
|
292
269
|
[{"1" => nil}],
|
293
270
|
]
|
294
271
|
target = build({
|
@@ -304,7 +281,6 @@ module RawRecordsSparseUnionArrayTests
|
|
304
281
|
records = [
|
305
282
|
# 00:10:00.123
|
306
283
|
[{"0" => Arrow::Time.new(unit, (60 * 10) * 1000 + 123)}],
|
307
|
-
[nil],
|
308
284
|
[{"1" => nil}],
|
309
285
|
]
|
310
286
|
target = build({
|
@@ -320,7 +296,6 @@ module RawRecordsSparseUnionArrayTests
|
|
320
296
|
records = [
|
321
297
|
# 00:10:00.123456
|
322
298
|
[{"0" => Arrow::Time.new(unit, (60 * 10) * 1_000_000 + 123_456)}],
|
323
|
-
[nil],
|
324
299
|
[{"1" => nil}],
|
325
300
|
]
|
326
301
|
target = build({
|
@@ -336,7 +311,6 @@ module RawRecordsSparseUnionArrayTests
|
|
336
311
|
records = [
|
337
312
|
# 00:10:00.123456789
|
338
313
|
[{"0" => Arrow::Time.new(unit, (60 * 10) * 1_000_000_000 + 123_456_789)}],
|
339
|
-
[nil],
|
340
314
|
[{"1" => nil}],
|
341
315
|
]
|
342
316
|
target = build({
|
@@ -350,7 +324,6 @@ module RawRecordsSparseUnionArrayTests
|
|
350
324
|
def test_decimal128
|
351
325
|
records = [
|
352
326
|
[{"0" => BigDecimal("92.92")}],
|
353
|
-
[nil],
|
354
327
|
[{"1" => nil}],
|
355
328
|
]
|
356
329
|
target = build({
|
@@ -365,7 +338,6 @@ module RawRecordsSparseUnionArrayTests
|
|
365
338
|
def test_list
|
366
339
|
records = [
|
367
340
|
[{"0" => [true, nil, false]}],
|
368
|
-
[nil],
|
369
341
|
[{"1" => nil}],
|
370
342
|
]
|
371
343
|
target = build({
|
@@ -382,7 +354,6 @@ module RawRecordsSparseUnionArrayTests
|
|
382
354
|
def test_struct
|
383
355
|
records = [
|
384
356
|
[{"0" => {"sub_field" => true}}],
|
385
|
-
[nil],
|
386
357
|
[{"1" => nil}],
|
387
358
|
[{"0" => {"sub_field" => nil}}],
|
388
359
|
]
|
@@ -403,7 +374,6 @@ module RawRecordsSparseUnionArrayTests
|
|
403
374
|
omit("Need to add support for SparseUnionArrayBuilder")
|
404
375
|
records = [
|
405
376
|
[{"0" => {"field1" => true}}],
|
406
|
-
[nil],
|
407
377
|
[{"1" => nil}],
|
408
378
|
[{"0" => {"field2" => nil}}],
|
409
379
|
]
|
@@ -429,7 +399,6 @@ module RawRecordsSparseUnionArrayTests
|
|
429
399
|
omit("Need to add support for DenseUnionArrayBuilder")
|
430
400
|
records = [
|
431
401
|
[{"0" => {"field1" => true}}],
|
432
|
-
[nil],
|
433
402
|
[{"1" => nil}],
|
434
403
|
[{"0" => {"field2" => nil}}],
|
435
404
|
]
|
@@ -455,7 +424,6 @@ module RawRecordsSparseUnionArrayTests
|
|
455
424
|
omit("Need to add support for DictionaryArrayBuilder")
|
456
425
|
records = [
|
457
426
|
[{"0" => "Ruby"}],
|
458
|
-
[nil],
|
459
427
|
[{"1" => nil}],
|
460
428
|
[{"0" => "GLib"}],
|
461
429
|
]
|