vastdb 1.3.3__py3-none-any.whl → 1.3.4__py3-none-any.whl
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.
- vastdb/_internal.py +27 -16
- vastdb/tests/metrics.py +1 -1
- vastdb/tests/test_tables.py +27 -0
- {vastdb-1.3.3.dist-info → vastdb-1.3.4.dist-info}/METADATA +1 -1
- {vastdb-1.3.3.dist-info → vastdb-1.3.4.dist-info}/RECORD +8 -8
- {vastdb-1.3.3.dist-info → vastdb-1.3.4.dist-info}/LICENSE +0 -0
- {vastdb-1.3.3.dist-info → vastdb-1.3.4.dist-info}/WHEEL +0 -0
- {vastdb-1.3.3.dist-info → vastdb-1.3.4.dist-info}/top_level.txt +0 -0
vastdb/_internal.py
CHANGED
|
@@ -58,6 +58,10 @@ import vast_flatbuf.org.apache.arrow.computeir.flatbuf.Source as fb_source
|
|
|
58
58
|
import vast_flatbuf.org.apache.arrow.computeir.flatbuf.StringLiteral as fb_string_lit
|
|
59
59
|
import vast_flatbuf.org.apache.arrow.computeir.flatbuf.TimeLiteral as fb_time_lit
|
|
60
60
|
import vast_flatbuf.org.apache.arrow.computeir.flatbuf.TimestampLiteral as fb_timestamp_lit
|
|
61
|
+
import vast_flatbuf.org.apache.arrow.computeir.flatbuf.UInt8Literal as fb_uint8_lit
|
|
62
|
+
import vast_flatbuf.org.apache.arrow.computeir.flatbuf.UInt16Literal as fb_uint16_lit
|
|
63
|
+
import vast_flatbuf.org.apache.arrow.computeir.flatbuf.UInt32Literal as fb_uint32_lit
|
|
64
|
+
import vast_flatbuf.org.apache.arrow.computeir.flatbuf.UInt64Literal as fb_uint64_lit
|
|
61
65
|
import vast_flatbuf.org.apache.arrow.flatbuf.Binary as fb_binary
|
|
62
66
|
import vast_flatbuf.org.apache.arrow.flatbuf.Bool as fb_bool
|
|
63
67
|
import vast_flatbuf.org.apache.arrow.flatbuf.Date as fb_date
|
|
@@ -341,50 +345,57 @@ class Predicate:
|
|
|
341
345
|
fb_expression.AddImpl(self.builder, offset_call)
|
|
342
346
|
return fb_expression.End(self.builder)
|
|
343
347
|
|
|
348
|
+
# see https://github.com/apache/arrow/blob/main/format/Schema.fbs
|
|
349
|
+
# https://github.com/apache/arrow/blob/apache-arrow-7.0.0/experimental/computeir/Expression.fbs
|
|
350
|
+
# https://github.com/apache/arrow/blob/apache-arrow-7.0.0/experimental/computeir/Literal.fbs
|
|
344
351
|
def build_literal(self, field: pa.Field, value):
|
|
345
352
|
literal_type: Any
|
|
346
353
|
|
|
347
|
-
if field.type.equals(pa.int64()):
|
|
348
|
-
|
|
349
|
-
|
|
354
|
+
if field.type.equals(pa.int64()) or field.type.equals(pa.uint64()):
|
|
355
|
+
is_signed = field.type.equals(pa.int64())
|
|
356
|
+
literal_type = fb_int64_lit if is_signed else fb_uint64_lit
|
|
357
|
+
literal_impl = LiteralImpl.Int64Literal if is_signed else LiteralImpl.UInt64Literal
|
|
350
358
|
|
|
351
359
|
field_type_type = Type.Int
|
|
352
360
|
fb_int.Start(self.builder)
|
|
353
361
|
fb_int.AddBitWidth(self.builder, field.type.bit_width)
|
|
354
|
-
fb_int.AddIsSigned(self.builder,
|
|
362
|
+
fb_int.AddIsSigned(self.builder, is_signed)
|
|
355
363
|
field_type = fb_int.End(self.builder)
|
|
356
364
|
|
|
357
365
|
value = int(value)
|
|
358
|
-
elif field.type.equals(pa.int32()):
|
|
359
|
-
|
|
360
|
-
|
|
366
|
+
elif field.type.equals(pa.int32()) or field.type.equals(pa.uint32()):
|
|
367
|
+
is_signed = field.type.equals(pa.int32())
|
|
368
|
+
literal_type = fb_int32_lit if is_signed else fb_uint32_lit
|
|
369
|
+
literal_impl = LiteralImpl.Int32Literal if is_signed else LiteralImpl.UInt32Literal
|
|
361
370
|
|
|
362
371
|
field_type_type = Type.Int
|
|
363
372
|
fb_int.Start(self.builder)
|
|
364
373
|
fb_int.AddBitWidth(self.builder, field.type.bit_width)
|
|
365
|
-
fb_int.AddIsSigned(self.builder,
|
|
374
|
+
fb_int.AddIsSigned(self.builder, is_signed)
|
|
366
375
|
field_type = fb_int.End(self.builder)
|
|
367
376
|
|
|
368
377
|
value = int(value)
|
|
369
|
-
elif field.type.equals(pa.int16()):
|
|
370
|
-
|
|
371
|
-
|
|
378
|
+
elif field.type.equals(pa.int16()) or field.type.equals(pa.uint16()):
|
|
379
|
+
is_signed = field.type.equals(pa.int16())
|
|
380
|
+
literal_type = fb_int16_lit if is_signed else fb_uint16_lit
|
|
381
|
+
literal_impl = LiteralImpl.Int16Literal if is_signed else LiteralImpl.UInt16Literal
|
|
372
382
|
|
|
373
383
|
field_type_type = Type.Int
|
|
374
384
|
fb_int.Start(self.builder)
|
|
375
385
|
fb_int.AddBitWidth(self.builder, field.type.bit_width)
|
|
376
|
-
fb_int.AddIsSigned(self.builder,
|
|
386
|
+
fb_int.AddIsSigned(self.builder, is_signed)
|
|
377
387
|
field_type = fb_int.End(self.builder)
|
|
378
388
|
|
|
379
389
|
value = int(value)
|
|
380
|
-
elif field.type.equals(pa.int8()):
|
|
381
|
-
|
|
382
|
-
|
|
390
|
+
elif field.type.equals(pa.int8()) or field.type.equals(pa.uint8()):
|
|
391
|
+
is_signed = field.type.equals(pa.int8())
|
|
392
|
+
literal_type = fb_int8_lit if is_signed else fb_uint8_lit
|
|
393
|
+
literal_impl = LiteralImpl.Int8Literal if is_signed else LiteralImpl.UInt8Literal
|
|
383
394
|
|
|
384
395
|
field_type_type = Type.Int
|
|
385
396
|
fb_int.Start(self.builder)
|
|
386
397
|
fb_int.AddBitWidth(self.builder, field.type.bit_width)
|
|
387
|
-
fb_int.AddIsSigned(self.builder,
|
|
398
|
+
fb_int.AddIsSigned(self.builder, is_signed)
|
|
388
399
|
field_type = fb_int.End(self.builder)
|
|
389
400
|
|
|
390
401
|
value = int(value)
|
vastdb/tests/metrics.py
CHANGED
vastdb/tests/test_tables.py
CHANGED
|
@@ -388,6 +388,33 @@ def test_types(session, clean_bucket_name):
|
|
|
388
388
|
assert select(t['ts9'] == ts_literal) == expected.filter(pc.field('ts9') == ts_literal)
|
|
389
389
|
|
|
390
390
|
|
|
391
|
+
def test_unsigned_filters(session, clean_bucket_name):
|
|
392
|
+
columns = pa.schema([
|
|
393
|
+
('a', pa.uint8()),
|
|
394
|
+
('b', pa.uint16()),
|
|
395
|
+
('c', pa.uint32()),
|
|
396
|
+
('d', pa.uint64()),
|
|
397
|
+
])
|
|
398
|
+
|
|
399
|
+
expected = pa.table(schema=columns, data=[
|
|
400
|
+
[1, 2, 3],
|
|
401
|
+
[11, 22, 33],
|
|
402
|
+
[111, 222, 333],
|
|
403
|
+
[1111, 2222, 3333],
|
|
404
|
+
])
|
|
405
|
+
|
|
406
|
+
with prepare_data(session, clean_bucket_name, 's', 't', expected) as table:
|
|
407
|
+
def select(predicate):
|
|
408
|
+
return table.select(predicate=predicate).read_all()
|
|
409
|
+
|
|
410
|
+
assert select(True) == expected
|
|
411
|
+
for t in [table, ibis._]:
|
|
412
|
+
assert select(t['a'] > 2) == expected.filter(pc.field('a') > 2)
|
|
413
|
+
assert select(t['b'] > 22) == expected.filter(pc.field('b') > 22)
|
|
414
|
+
assert select(t['c'] > 222) == expected.filter(pc.field('c') > 222)
|
|
415
|
+
assert select(t['d'] > 2222) == expected.filter(pc.field('d') > 2222)
|
|
416
|
+
|
|
417
|
+
|
|
391
418
|
def test_filters(session, clean_bucket_name):
|
|
392
419
|
columns = pa.schema([
|
|
393
420
|
('a', pa.int32()),
|
|
@@ -151,7 +151,7 @@ vast_flatbuf/tabular/S3File.py,sha256=KC9c2oS5-JXwTTriUVFdjOvRG0B54Cq9kviSDZY3NI
|
|
|
151
151
|
vast_flatbuf/tabular/VipRange.py,sha256=_BJd1RRZAcK76T9vlsHzXKYVsPVaz6WTEAqStMQCAUQ,2069
|
|
152
152
|
vast_flatbuf/tabular/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
153
153
|
vastdb/__init__.py,sha256=J1JjKiFkKC95BHowfh9kJfQFTjRce-QMsc6zF_FfxC0,432
|
|
154
|
-
vastdb/_internal.py,sha256=
|
|
154
|
+
vastdb/_internal.py,sha256=asBizp21nQvYo1cE4Vs4OSH01s-5NyWZO2lb7_nP9oc,96538
|
|
155
155
|
vastdb/bucket.py,sha256=5KuKhPjZOevznZqWHDVVocejvAy7dcwobPuV6BJCfPc,2544
|
|
156
156
|
vastdb/config.py,sha256=1tMYtzKXerGcIUjH4tIGEvZNWvO4fviCEdcNCnELJZo,2269
|
|
157
157
|
vastdb/conftest.py,sha256=X2kVveySPQYZlVBXUMoo7Oea5IsvmJzjdqq3fpH2kVw,3469
|
|
@@ -191,21 +191,21 @@ vastdb/bench/perf_bench/query/query.py,sha256=h98Ui6vUTw16LHMY0ufkLnyVO3QCR8f1cX
|
|
|
191
191
|
vastdb/bench/perf_bench/query/query_pyarrow.py,sha256=Dj5YPUvb4dAj7RskHfJcPijJnM-rdYIAItEF2dp4jfo,2305
|
|
192
192
|
vastdb/bench/perf_bench/query/query_vastdb.py,sha256=SZYem_EmsaynEftAa_VFobjSJZDAcli9BckyRS3SFvg,2810
|
|
193
193
|
vastdb/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
194
|
-
vastdb/tests/metrics.py,sha256=
|
|
194
|
+
vastdb/tests/metrics.py,sha256=ZCSeBYFSPMG3yI0JrAHs2CrY6wFjx_5GwRTYHVAwLKA,1026
|
|
195
195
|
vastdb/tests/test_duckdb.py,sha256=STw_1PwTQR8Naz6s0p6lQTV1ZTKKhe3LPBUbhqzTCu0,1880
|
|
196
196
|
vastdb/tests/test_imports.py,sha256=xKub3-bisFjH0BsZM8COfiUWuMrtoOoQKprF6VQT9RI,5669
|
|
197
197
|
vastdb/tests/test_nested.py,sha256=LPU6uV3Ri23dBzAEMFQqRPbqapV5LfmiHSHkhILPIY0,6332
|
|
198
198
|
vastdb/tests/test_projections.py,sha256=3y1kubwVrzO-xoR0hyps7zrjOJI8niCYspaFTN16Q9w,4540
|
|
199
199
|
vastdb/tests/test_sanity.py,sha256=bv1ypGDzvOgmMvGbucDYiLQu8krQLlE6NB3M__q87x8,3303
|
|
200
200
|
vastdb/tests/test_schemas.py,sha256=l70YQMlx2UL1KRQhApriiG2ZM7GJF-IzWU31H3Yqn1U,3312
|
|
201
|
-
vastdb/tests/test_tables.py,sha256=
|
|
201
|
+
vastdb/tests/test_tables.py,sha256=PwtUTmQdm4HDZJVq981h7RKcFDma2Loxz6FeQhQSu2Y,40101
|
|
202
202
|
vastdb/tests/test_util.py,sha256=n7gvT5Wg6b6bxgqkFXkYqvFd_W1GlUdVfmPv66XYXyA,1956
|
|
203
203
|
vastdb/tests/util.py,sha256=dpRJYbboDnlqL4qIdvScpp8--5fxRUBIcIYitrfcj9o,555
|
|
204
204
|
vastdb/vast_tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
205
205
|
vastdb/vast_tests/test_ha.py,sha256=744P4G6VJ09RIkHhMQL4wlipCBJWQVMhyvUrSc4k1HQ,975
|
|
206
206
|
vastdb/vast_tests/test_scale.py,sha256=5jGwOdZH6Tv5tPdZYPWoqcxOceI2jA5i2D1zNKZHER4,3958
|
|
207
|
-
vastdb-1.3.
|
|
208
|
-
vastdb-1.3.
|
|
209
|
-
vastdb-1.3.
|
|
210
|
-
vastdb-1.3.
|
|
211
|
-
vastdb-1.3.
|
|
207
|
+
vastdb-1.3.4.dist-info/LICENSE,sha256=obffan7LYrq7hLHNrY7vHcn2pKUTBUYXMKu-VOAvDxU,11333
|
|
208
|
+
vastdb-1.3.4.dist-info/METADATA,sha256=r-TcsDB09WBgIgLC-asWybRhn4pj0geXjD2zFVzveq0,1340
|
|
209
|
+
vastdb-1.3.4.dist-info/WHEEL,sha256=R0nc6qTxuoLk7ShA2_Y-UWkN8ZdfDBG2B6Eqpz2WXbs,91
|
|
210
|
+
vastdb-1.3.4.dist-info/top_level.txt,sha256=Vsj2MKtlhPg0J4so64slQtnwjhgoPmJgcG-6YcVAwVc,20
|
|
211
|
+
vastdb-1.3.4.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|