Dean Herbert
78d86fd3ff
Fix `PerformWrite` not rolling back transaction on exception
2022-06-30 15:15:09 +09:00
Dan Balasescu
f8830c6850
Automated #nullable processing
2022-06-17 16:37:17 +09:00
Bartłomiej Dach
a378e78ced
Fix `RealmLive` unnecessarily passing ID around
...
Appears to have never been needed. When the `retrieveFromID` method was
created in 81b5717ae7
, it didn't use the
`id` parameter for anything either.
2022-02-01 21:35:12 +01:00
Dean Herbert
cd71ec0edd
Remove `ILive<>` interface (and use `abstract Live<>` instead)
2022-01-26 13:38:56 +09:00
Dean Herbert
d37c3c463e
Move statistics to static class
2022-01-26 13:29:12 +09:00
Dean Herbert
c7947b3489
Add statistics for `Live` usage
2022-01-26 12:42:24 +09:00
Dean Herbert
56b06f34f0
Fix `RealmLive` not refetching if update thread context was closed at some point
2022-01-26 12:32:34 +09:00
Dean Herbert
d76822b685
Avoid creating realm contexts or refetching when accessing `RealmLive` from the update thread
2022-01-26 12:32:34 +09:00
Dean Herbert
e23b10e6a5
Update remaining cases of clashing variable name in `realm.Run(realm..`
2022-01-25 13:04:05 +09:00
Dean Herbert
6eb2c28e41
Rename `RealmContextFactory` to `RealmAccess`
2022-01-24 20:38:07 +09:00
Dean Herbert
81b5717ae7
Fix `RealmLive` failing to retrieve due to lack of refresh
2022-01-21 17:33:03 +09:00
Dean Herbert
d2655c0825
Fix `RealmLive` not necessarily being in refreshed state due to potentially using update context
2022-01-21 17:27:30 +09:00
Dean Herbert
114c9e8c1f
Update all usages of `CreateContext` to use either `Run` or `Write`
2022-01-21 17:27:08 +09:00
Dean Herbert
7baff18764
Add back `PerformRead` return safety by checking `IsManaged` status of returned data
2022-01-13 13:14:44 +09:00
Dean Herbert
8461eaab46
`BeatmapSetInfo` detach support
2022-01-12 17:00:16 +09:00
Dean Herbert
a9dbcd92a1
Split out unmanaged implementation of `RealmLive` into its own class
2021-12-16 15:23:55 +09:00
Dean Herbert
441b7baa93
Provide a realm factory to usages of `ToLive`/`RealmLive`
2021-12-14 14:26:34 +09:00
Dean Herbert
ef3d0ee0db
Merge branch 'master' into realm-integration/skins-rebase
2021-11-30 19:59:59 +09:00
Dean Herbert
f3f77fa053
Update missed xmldoc/comments
2021-11-30 11:56:53 +09:00
Dean Herbert
35d68d6ab0
Remove all optimisations from `RealmLive`
2021-11-30 11:47:29 +09:00
Dean Herbert
cd0c811ab1
Add the ability to call `ToString` on a `RealmLive` to get the underlying object's implementation
2021-11-29 18:28:25 +09:00
Dean Herbert
348d1d0be9
Don't dispose fetched realm instance when using `RealmLive.Value`
...
See https://github.com/realm/realm-dotnet/discussions/2734#discussioncomment-1705038 for reasoning.
2021-11-29 18:28:25 +09:00
Dean Herbert
1dd5e1ca89
Remove `RealmLive` context re-fetch optimisation for now
2021-11-29 18:28:25 +09:00
Dean Herbert
6dcc244e21
Fix `RealmLive` not working is data is attached to realm post-`ToLive` call
2021-11-29 17:34:58 +09:00
Dean Herbert
cb8fa80352
Don't dispose fetched realm instance when using `RealmLive.Value`
...
See https://github.com/realm/realm-dotnet/discussions/2734#discussioncomment-1705038 for reasoning.
2021-11-29 14:25:43 +09:00
Dean Herbert
e40e5096ea
Remove `RealmLive` context re-fetch optimisation for now
2021-11-29 14:25:43 +09:00
Dan Balasescu
5e53f51c99
Merge pull request #15812 from peppy/realm-live-unmanaged-fetch-fix
...
Avoid attempting to fetch a non-managed `RealmLive` instance from the realm backing
2021-11-26 15:37:58 +09:00
Dean Herbert
40d1b97af1
Avoid attempting to fetch a non-managed `RealmLive` instance from the realm backing
...
For compatibility reasons, we quite often convert completely unmanaged
instances to `ILive`s so they fit the required parameters of a property
or method call. This ensures such cases will not cause any issues when
trying to interact with the underlying data.
Originally I had this allowing write operations, but that seems a bit
unsafe (when performing a write one would assume that the underlying
data is being persisted, whereas in this case it is not). We can change
this if the requirements change in the future, but I think throwing is
the safest bet for now.
2021-11-26 15:06:14 +09:00
Dean Herbert
13612c0d02
Add equality support to `ILive` types
2021-11-26 14:56:16 +09:00
Dean Herbert
93d7cdc509
Don't check whether the source realm was closed or not
...
Based on what we now know, this is not required, as long as there is
another realm context open on the same thread.
2021-10-13 15:50:06 +09:00
Dean Herbert
b01d82b3fd
Add `RealmLive` implementation
2021-10-11 15:36:41 +09:00