Thomas Goyne
ae9d41f9ce
Remove an incorrect std::move()
2016-02-18 19:05:02 -08:00
Thomas Goyne
87655793b7
Merge pull request #40 from realm/tg/list
...
Wrap more of LinkView in List
2016-02-16 17:35:58 -08:00
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
f7957b7633
Merge pull request #22 from realm/tg-realm-coordinator
...
Extract cache management and inter-Realm sharing to RealmCoordinator
2016-02-10 10:20:51 -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
74eb195e7f
Add wrappers for a bunch more LinkView methods
2016-02-03 18:05:56 -08:00
Thomas Goyne
fdc67777bb
Make List default constructable
2016-02-03 18:05:56 -08:00
Thomas Goyne
4c5389dbac
Return RowExpr from List::get()
2016-02-03 18:05:55 -08:00
Thomas Goyne
8e58fc693c
Call verify_attached() from verify_in_transaction()
2016-02-03 18:05:55 -08:00
Thomas Goyne
27acf3f109
Fix spelling of verify_in_transaction
2016-02-03 18:05:55 -08:00
Thomas Goyne
9152198962
Change List::realm() to List::get_realm() for consistency
2016-02-03 18:05:55 -08:00
Thomas Goyne
6276266d67
Make List const-correct
2016-02-03 18:05:55 -08:00
Thomas Goyne
1cbbf1958f
Check the thread in all of List's methods
2016-02-03 18:05:55 -08:00
Thomas Goyne
243ae32187
Fix incorrect error message
2016-02-03 18:05:55 -08:00
Thomas Goyne
0819f72b1b
Remove call to sync_if_needed() on a LinkView
2016-02-03 18:05:55 -08:00
Thomas Goyne
62d573c1d9
Remove std:: from size_t in list.*
2016-02-03 18:05:55 -08:00
Thomas Goyne
356c17ba11
Remove list.hpp's dependency on shared_realm.hpp
2016-02-03 18:05:54 -08:00
Thomas Goyne
07c40b4517
Reformat list.{hpp,cpp} to match core style
2016-02-03 18:05:44 -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
4607e75f90
Merge pull request #36 from realm/tg/schema-literal
...
Make Schema constructable from initializer lists
2016-01-25 10:01:26 -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
0e08e05238
Only set REALM_DEBUG for debug builds
2016-01-21 13:56:41 -08:00
Thomas Goyne
9d1a3da411
Add the required preprocessor flags for using core
2016-01-21 11:06:23 -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