Skip to content

Commit 6ec9a9f

Browse files
author
Ivan Dlugos
committed
don't use "unsigned" property flag with relation IDs
1 parent 5719511 commit 6ec9a9f

18 files changed

Lines changed: 31 additions & 29 deletions

internal/generator/model/property.go

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -80,11 +80,13 @@ func (property *Property) Validate() error {
8080
}
8181

8282
func (property *Property) finalize() error {
83-
if property.IsIdProperty() {
84-
// IDs must not be tagged unsigned for compatibility reasons
83+
if property.Type == PropertyTypeRelation || property.IsIdProperty() {
84+
// IDs must not be tagged unsigned for model compatibility (across language bindings)
8585
property.Flags = property.Flags & ^PropertyFlagUnsigned
86+
}
8687

87-
// always stored as Long
88+
if property.IsIdProperty() {
89+
// always stored IDs as Long, regardless of their type in the code/declaration
8890
property.Type = PropertyTypeLong
8991
}
9092

test/comparison/testdata/fbs/typeful/c/objectbox-model.h.expected

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ static inline OBX_model* create_obx_model() {
5555
obx_model_property(model, "float", OBXPropertyType_Float, 21, 1929546706668609706);
5656
obx_model_property(model, "double", OBXPropertyType_Double, 22, 6392442863481646880);
5757
obx_model_property(model, "relId", OBXPropertyType_Relation, 23, 3706853784096366226);
58-
obx_model_property_flags(model, (OBXPropertyFlags) (OBXPropertyFlags_INDEXED | OBXPropertyFlags_INDEX_PARTIAL_SKIP_ZERO | OBXPropertyFlags_UNSIGNED));
58+
obx_model_property_flags(model, (OBXPropertyFlags) (OBXPropertyFlags_INDEXED | OBXPropertyFlags_INDEX_PARTIAL_SKIP_ZERO));
5959
obx_model_property_relation(model, "AnnotatedEntity", 1, 2627038740284806767);
6060
obx_model_entity_last_property_id(model, 23, 3706853784096366226);
6161

@@ -68,7 +68,7 @@ static inline OBX_model* create_obx_model() {
6868
obx_model_property_index_id(model, 2, 959367522974354090);
6969
obx_model_property(model, "time", OBXPropertyType_Date, 3, 2914295034816259174);
7070
obx_model_property(model, "relId", OBXPropertyType_Relation, 4, 1395437218309923052);
71-
obx_model_property_flags(model, (OBXPropertyFlags) (OBXPropertyFlags_INDEXED | OBXPropertyFlags_INDEX_PARTIAL_SKIP_ZERO | OBXPropertyFlags_UNSIGNED));
71+
obx_model_property_flags(model, (OBXPropertyFlags) (OBXPropertyFlags_INDEXED | OBXPropertyFlags_INDEX_PARTIAL_SKIP_ZERO));
7272
obx_model_property_relation(model, "Typeful", 3, 6745438398739480977);
7373
obx_model_property(model, "unique", OBXPropertyType_String, 5, 2897681629866238117);
7474
obx_model_property_flags(model, (OBXPropertyFlags) (OBXPropertyFlags_INDEX_HASH | OBXPropertyFlags_UNIQUE));

test/comparison/testdata/fbs/typeful/cpp/objectbox-model.h.expected

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ static inline OBX_model* create_obx_model() {
5555
obx_model_property(model, "float", OBXPropertyType_Float, 21, 1929546706668609706);
5656
obx_model_property(model, "double", OBXPropertyType_Double, 22, 6392442863481646880);
5757
obx_model_property(model, "relId", OBXPropertyType_Relation, 23, 3706853784096366226);
58-
obx_model_property_flags(model, (OBXPropertyFlags) (OBXPropertyFlags_INDEXED | OBXPropertyFlags_INDEX_PARTIAL_SKIP_ZERO | OBXPropertyFlags_UNSIGNED));
58+
obx_model_property_flags(model, (OBXPropertyFlags) (OBXPropertyFlags_INDEXED | OBXPropertyFlags_INDEX_PARTIAL_SKIP_ZERO));
5959
obx_model_property_relation(model, "AnnotatedEntity", 1, 2627038740284806767);
6060
obx_model_entity_last_property_id(model, 23, 3706853784096366226);
6161

@@ -68,7 +68,7 @@ static inline OBX_model* create_obx_model() {
6868
obx_model_property_index_id(model, 2, 959367522974354090);
6969
obx_model_property(model, "time", OBXPropertyType_Date, 3, 2914295034816259174);
7070
obx_model_property(model, "relId", OBXPropertyType_Relation, 4, 1395437218309923052);
71-
obx_model_property_flags(model, (OBXPropertyFlags) (OBXPropertyFlags_INDEXED | OBXPropertyFlags_INDEX_PARTIAL_SKIP_ZERO | OBXPropertyFlags_UNSIGNED));
71+
obx_model_property_flags(model, (OBXPropertyFlags) (OBXPropertyFlags_INDEXED | OBXPropertyFlags_INDEX_PARTIAL_SKIP_ZERO));
7272
obx_model_property_relation(model, "Typeful", 3, 6745438398739480977);
7373
obx_model_property(model, "unique", OBXPropertyType_String, 5, 2897681629866238117);
7474
obx_model_property_flags(model, (OBXPropertyFlags) (OBXPropertyFlags_INDEX_HASH | OBXPropertyFlags_UNIQUE));

test/comparison/testdata/fbs/typeful/objectbox-model.json.expected

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,7 @@
131131
"name": "relId",
132132
"indexId": "1:2627038740284806767",
133133
"type": 11,
134-
"flags": 8712,
134+
"flags": 520,
135135
"relationTarget": "AnnotatedEntity"
136136
}
137137
]
@@ -165,7 +165,7 @@
165165
"name": "relId",
166166
"indexId": "3:6745438398739480977",
167167
"type": 11,
168-
"flags": 8712,
168+
"flags": 520,
169169
"relationTarget": "Typeful"
170170
},
171171
{

test/comparison/testdata/go/relations/byid.obx.go.expected

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ func (taskRelId_EntityInfo) AddToModel(model *objectbox.Model) {
5353
model.Property("Id", 6, 1, 6044372234677422456)
5454
model.PropertyFlags(1)
5555
model.Property("Group", 11, 2, 8274930044578894929)
56-
model.PropertyFlags(8712)
56+
model.PropertyFlags(520)
5757
model.PropertyRelation("Group", 1, 1543572285742637646)
5858
model.EntityLastPropertyId(2, 8274930044578894929)
5959
}

test/comparison/testdata/go/relations/bypointer.obx.go.expected

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ func (taskRelPtr_EntityInfo) AddToModel(model *objectbox.Model) {
5353
model.Property("Id", 6, 1, 8325060299420976708)
5454
model.PropertyFlags(1)
5555
model.Property("Group", 11, 2, 7837839688282259259)
56-
model.PropertyFlags(8712)
56+
model.PropertyFlags(520)
5757
model.PropertyRelation("Group", 2, 2518412263346885298)
5858
model.EntityLastPropertyId(2, 7837839688282259259)
5959
}

test/comparison/testdata/go/relations/byvalue.obx.go.expected

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ func (taskRelValue_EntityInfo) AddToModel(model *objectbox.Model) {
5353
model.Property("Id", 6, 1, 2339563716805116249)
5454
model.PropertyFlags(1)
5555
model.Property("Group", 11, 2, 7144924247938981575)
56-
model.PropertyFlags(8712)
56+
model.PropertyFlags(520)
5757
model.PropertyRelation("Group", 3, 161231572858529631)
5858
model.EntityLastPropertyId(2, 7144924247938981575)
5959
}

test/comparison/testdata/go/relations/embedded.obx.go.expected

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ func (taskRelEmbedded_EntityInfo) AddToModel(model *objectbox.Model) {
5959
model.Property("Id", 6, 1, 7373105480197164748)
6060
model.PropertyFlags(1)
6161
model.Property("Group", 11, 2, 3287288577352441706)
62-
model.PropertyFlags(8712)
62+
model.PropertyFlags(520)
6363
model.PropertyRelation("Group", 4, 3930927879439176946)
6464
model.EntityLastPropertyId(2, 3287288577352441706)
6565
model.Relation(1, 4706154865122290029, GroupBinding.Id, GroupBinding.Uid)

test/comparison/testdata/go/relations/objectbox-model.json.expected

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@
5555
"name": "Group",
5656
"indexId": "1:1543572285742637646",
5757
"type": 11,
58-
"flags": 8712,
58+
"flags": 520,
5959
"relationTarget": "Group"
6060
}
6161
]
@@ -76,7 +76,7 @@
7676
"name": "Group",
7777
"indexId": "2:2518412263346885298",
7878
"type": 11,
79-
"flags": 8712,
79+
"flags": 520,
8080
"relationTarget": "Group"
8181
}
8282
]
@@ -97,7 +97,7 @@
9797
"name": "Group",
9898
"indexId": "3:161231572858529631",
9999
"type": 11,
100-
"flags": 8712,
100+
"flags": 520,
101101
"relationTarget": "Group"
102102
}
103103
]
@@ -118,7 +118,7 @@
118118
"name": "Group",
119119
"indexId": "4:3930927879439176946",
120120
"type": 11,
121-
"flags": 8712,
121+
"flags": 520,
122122
"relationTarget": "Group"
123123
}
124124
],

test/comparison/testdata/go/rename-relation/byid.obx.go.expected

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ func (taskRelId_EntityInfo) AddToModel(model *objectbox.Model) {
5353
model.Property("Id", 6, 1, 2259404117704393152)
5454
model.PropertyFlags(1)
5555
model.Property("GroupNew", 11, 2, 6050128673802995827)
56-
model.PropertyFlags(8712)
56+
model.PropertyFlags(520)
5757
model.PropertyRelation("Group", 1, 501233450539197794)
5858
model.EntityLastPropertyId(2, 6050128673802995827)
5959
}

0 commit comments

Comments
 (0)