11from objectbox .model import *
22from datetime import datetime
33
4+
45@Entity (id = 1 , uid = 1 )
56class TestEntity :
67 id = Id (id = 1 , uid = 1001 )
78 # TODO Enable indexing dynamically, e.g. have a constructor to enable index(es).
89 # E.g. indexString=False (defaults to false). Same for bytes.
910 # TODO Test HASH and HASH64 indices (only supported for strings)
10- str = String (id = 2 , uid = 1002 ,index = Index (id = 1 , uid = 10001 ))
11+ str = String (id = 2 , uid = 1002 , index = Index (id = 1 , uid = 10001 ))
1112 bool = Bool (id = 3 , uid = 1003 )
12- int64 = Int64 (id = 4 , uid = 1004 ,index = Index (id = 2 , uid = 10002 ))
13+ int64 = Int64 (id = 4 , uid = 1004 , index = Index (id = 2 , uid = 10002 ))
1314 int32 = Int32 (id = 5 , uid = 1005 )
1415 int16 = Int16 (id = 6 , uid = 1006 )
1516 int8 = Int8 (id = 7 , uid = 1007 )
1617 float64 = Float64 (id = 8 , uid = 1008 )
1718 float32 = Float32 (id = 9 , uid = 1009 )
18- bools = BoolVector (id = 10 , uid = 1010 )
19- bytes = Int8Vector (id = 11 , uid = 1011 )
20- shorts = Int16Vector (id = 12 , uid = 1012 )
19+ bools = BoolVector (id = 10 , uid = 1010 )
20+ bytes = Int8Vector (id = 11 , uid = 1011 )
21+ shorts = Int16Vector (id = 12 , uid = 1012 )
2122 chars = CharVector (id = 13 , uid = 1013 )
2223 ints = Int32Vector (id = 14 , uid = 1014 )
2324 longs = Int64Vector (id = 15 , uid = 1015 )
24- floats = Float32Vector (id = 16 , uid = 1016 )
25- doubles = Float64Vector (id = 17 , uid = 1017 )
25+ floats = Float32Vector (id = 16 , uid = 1016 )
26+ doubles = Float64Vector (id = 17 , uid = 1017 )
2627 bools_list = BoolList (id = 18 , uid = 1018 )
2728 shorts_list = Int16List (id = 19 , uid = 1019 )
2829 chars_list = CharList (id = 20 , uid = 1020 )
2930 ints_list = Int32List (id = 21 , uid = 1021 )
3031 longs_list = Int64List (id = 22 , uid = 1022 )
3132 floats_list = Float32List (id = 23 , uid = 1023 )
3233 doubles_list = Float64List (id = 24 , uid = 1024 )
33- date = Date (id = 25 , uid = 1025 )
34+ date = Date (id = 25 , uid = 1025 )
3435 date_nano = DateNano (id = 26 , uid = 1026 )
35- flex = Flex (id = 27 , uid = 1027 )
36+ flex = Flex (id = 27 , uid = 1027 )
3637 transient = "" # not "Property" so it's not stored
3738
3839
@@ -46,14 +47,42 @@ class TestEntityDatetime:
4647@Entity (id = 3 , uid = 3 )
4748class TestEntityFlex :
4849 id = Id (id = 1 , uid = 3001 )
49- flex = Flex (id = 2 , uid = 3002 )
50+ flex = Flex (id = 2 , uid = 3002 )
5051
5152
5253@Entity (id = 4 , uid = 4 )
5354class VectorEntity :
5455 id = Id (id = 1 , uid = 4001 )
55- name = String (id = 2 , uid = 4002 )
56- vector_euclidean = Float32Vector (id = 3 , uid = 4003 ,index = HnswIndex (id = 3 , uid = 40001 , dimensions = 2 , distance_type = VectorDistanceType .EUCLIDEAN ))
57- vector_cosine = Float32Vector (id = 4 , uid = 4004 , index = HnswIndex (id = 4 , uid = 40002 , dimensions = 2 , distance_type = VectorDistanceType .COSINE ))
58- vector_dot_product = Float32Vector (id = 5 , uid = 4005 , index = HnswIndex (id = 5 , uid = 40003 , dimensions = 2 , distance_type = VectorDistanceType .DOT_PRODUCT ))
59- # vector_dot_product_non_normalized = FloatVector(index=HnswIndex(dimensions=2, distance_type=VectorDistanceType.DOT_PRODUCT_NON_NORMALIZED)
56+ name = String (id = 2 , uid = 4002 )
57+ vector_euclidean = Float32Vector (
58+ id = 3 ,
59+ uid = 4003 ,
60+ index = HnswIndex (
61+ id = 3 , uid = 40001 , dimensions = 2 , distance_type = VectorDistanceType .EUCLIDEAN
62+ ),
63+ )
64+ vector_cosine = Float32Vector (
65+ id = 4 ,
66+ uid = 4004 ,
67+ index = HnswIndex (
68+ id = 4 , uid = 40002 , dimensions = 2 , distance_type = VectorDistanceType .COSINE
69+ ),
70+ )
71+ vector_dot_product = Float32Vector (
72+ id = 5 ,
73+ uid = 4005 ,
74+ index = HnswIndex (
75+ id = 5 , uid = 40003 , dimensions = 2 , distance_type = VectorDistanceType .DOT_PRODUCT
76+ ),
77+ )
78+ # TODO: dot-product non-normalized
79+ #vector_dot_product_non_normalized = Float32Vector(
80+ # id=6,
81+ # uid=4006,
82+ # index=HnswIndex(
83+ # id=6,
84+ # uid=40004,
85+ # dimensions=2,
86+ # distance_type=VectorDistanceType.DOT_PRODUCT_NON_NORMALIZED,
87+ # ),
88+ #)
0 commit comments