Syncing an object without a prop/link set alongside an object with it set fetches it
- Dominant language
- Python
- Stars
- 415
- Forks
- 50
- PR merge metrics
- No merged PRs in 30d
Description
Given a schema:
```edgeql
type A {
val: int64;
};
```
the following code:
```py
original = default.A(val=1)
self.client.save(original)
mirror_1 = self.client.query_required_single(
default.A.select(val=False).limit(1)
)
mirror_2 = self.client.query_required_single(
default.A.select(val=True).limit(1)
)
original.val = 2
self.client.save(original)
self.client.sync(mirror_1, mirror_2)
assert not hasattr(mirror_1, "val") # fail
```
will fail the assertion
see #872 test `test_model_sync_single_prop_06` and `test_model_sync_multi_prop_08` for props
see #881 test `test_model_sync_single_link_04`
Notably, multi-links will not fetch the values when synced with an object with it set, but will if that object had its set value changed:
```py
original = default.A(val=1)
self.client.save(original)
mirror_1 = self.client.query_required_single(
default.A.select(val=False).limit(1)
)
mirror_2 = self.client.query_required_single(
default.A.select(val=True).limit(1)
)
mirror_2.targets = changed_targets_2
self.client.sync(mirror_1, mirror_2)
assert mirror_1.targets._items == [] # fail
```
see #881 test `test_model_sync_multi_link_10`
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.