Thomas Goyne
7c350031d6
Merge pull request #37 from realm/tg/index-set-tests
...
Add IndexSet tests
2016-02-16 10:07:11 -08:00
Thomas Goyne
f5ae1bdf80
Merge pull request #39 from realm/tg/validate-schema-changes
...
Handle allowed schema changes in the transaction log observer
2016-02-16 10:07:01 -08:00
Thomas Goyne
a99cbb7b84
Merge pull request #41 from realm/tg/index_of
...
Remove the Query version of Results::index_of()
2016-02-12 17:37:24 -08:00
Thomas Goyne
5f5510e170
Remove the Query version of Results::index_of()
...
It didn't work for queries based on a LinkView because for those the arguments
to count() are indexes in the LinkView rather than table rows, and there's
currently no way to check if a query is based on a LinkView.
2016-02-10 10:52:33 -08:00
Thomas Goyne
638b4ec35e
Actually update the coordinator's copy of the schema
2016-02-08 14:46:42 -08:00
Thomas Goyne
a3dab7e4b1
Add wrappers for platform-specific headers and normalize include paths
...
Building the objectstore code now only requires adding the root `src` directory
to the include paths.
2016-02-08 14:46:42 -08:00
Thomas Goyne
ad5db72767
Destroy all notifiers before closing realms in clear_cache()
2016-01-25 17:46:40 -08:00
Thomas Goyne
e557babaad
Fix the generic implementation of ExternalCommitHelper
2016-01-25 17:46:39 -08:00
Thomas Goyne
4eb49ce6dc
Add a not-very-useful generic CachedRealm implementation
2016-01-25 17:46:39 -08:00
Thomas Goyne
112c778d8e
Extract the non-Apple specific parts of CachedRealm to a base class
2016-01-25 17:46:39 -08:00
Thomas Goyne
178c562f2c
Add an untested non-Apple ExternalCommitHelper implementation
2016-01-25 17:46:39 -08:00
Thomas Goyne
4c195c92e0
Remove some unused cruft from ExternalCommitHelper
2016-01-25 17:46:39 -08:00
Thomas Goyne
513b3d770c
Add a short explanation of CachedRealm
2016-01-25 17:46:39 -08:00
Thomas Goyne
89bd55a535
Actually remove the Realm from the cache when close() is called
2016-01-25 17:46:38 -08:00
Thomas Goyne
9b8a0d5346
Log uncaught exceptions in the notifier thread
...
By default the thread just silently goes away.
2016-01-25 17:46:38 -08:00
Thomas Goyne
ebfca16d00
Eliminate a config copy when opening Realms
2016-01-25 17:46:38 -08:00
Thomas Goyne
e30e2ff278
Simplify RealmCoordinator::get_coordinator()
2016-01-25 17:46:38 -08:00
Thomas Goyne
7a0c83929f
Use an unordered map for the Realm coordinator cache
2016-01-25 17:46:38 -08:00
Thomas Goyne
d6daa052e8
Decouple Realm instance tracking from interprocess notifications
2016-01-25 17:46:38 -08:00
Thomas Goyne
2ed90e6d79
Check for invalid schema changes even when KVO is not used
2016-01-25 10:58:30 -08:00
Thomas Goyne
d5e00c9315
Handle allowed schema changes in the transaction log observer
2016-01-25 10:56:06 -08:00
Thomas Goyne
f3397d48c0
Add IndexSet tests
...
And fix a bug that resulted in ranges not being merged.
2016-01-25 10:36:54 -08:00
Thomas Goyne
c3a9489b02
Fix a potential deadlock when opening a realm
2016-01-25 10:13:44 -08:00
Thomas Goyne
e87a507223
Extract cache management and inter-Realm sharing to RealmCoordinator
2016-01-25 10:13:44 -08:00
Thomas Goyne
5e71c4178e
Merge pull request #17 from realm/tg-multiprocess-schema-init
...
Fix race condition in multiprocess schema init
2016-01-25 10:04:10 -08:00
Thomas Goyne
016112da8c
Merge pull request #20 from realm/tg-read-only-realm
...
Fix opening read-only Realms in read-only directories
2016-01-25 10:01:45 -08:00
Thomas Goyne
4a971b0102
Merge pull request #35 from realm/tg/cmake-fixes
...
Add headers and core's CPP flags to cmake
2016-01-25 10:01:34 -08:00
Thomas Goyne
8d10a65088
Make Schema constructable from initializer lists
...
This enables the following syntax for defining object schemas, which is useful for writing tests:
Schema schema = {
{"origin", "", {
{"array", PropertyTypeArray, "target"}
}},
{"target", "", {
{"prop1", PropertyTypeInt},
{"prop2", PropertyTypeFloat},
}},
};
2016-01-22 11:55:05 -08:00
Thomas Goyne
62a729fbfd
Add headers to CMakeLists
2016-01-21 11:06:14 -08:00
Thomas Goyne
4b001e1842
Extract some logic to a helper function to avoid recursion in update_schema()
2016-01-20 16:26:30 -08:00
Thomas Goyne
8d7b5d8d08
Remove the tracking of if any changes were made from update_realm_with_schema()
...
It was no longer actually used for anything since we now check if any changes
are actually needed before calling it (to avoid beginning a write transaction
when not needed).
2016-01-20 16:26:30 -08:00
Thomas Goyne
9c2d4703ed
Reshuffle the updating of m_config in Realm::update_schema()
2016-01-20 16:26:30 -08:00
Thomas Goyne
6c25eeb85c
Fix race condition in multiprocess schema init
...
If the schema was initialized by a different process between when the old
schema was read and the write transaction was began, the schema init code would
see the updated schema version but not re-read the schema, resulting in it
thinking that a migration was required when the schema actually matched.
2016-01-20 16:26:29 -08:00
kishikawa katsumi
0bae415718
Read-only Realm should be opened even in immutable directory Realm files in an app bundle should be opened if marked as read-only
2016-01-20 16:25:10 -08:00
Mark Rowe
548701c2fd
Remove a bogus forward-declaration.
2016-01-19 10:41:25 -08:00
Mark Rowe
c4191d8af6
Hook the parser tests into the CMake build system.
2016-01-19 10:41:25 -08:00