25 Commits

Author SHA1 Message Date
Thomas Goyne
ea5c47510b Refactor schema initialization a bit
Change schema verification to operate on a pair of Schema objects rather than a
Schema and a Group to eliminate some redundant work done, defer some of the
work done for migrations to within the migration block to avoid doing it
unnecessarily, and make passing in a custom schema in the Config when creating
a Realm entirely equivalent to calling update_schema() afterwards.
2015-09-09 11:25:54 -07:00
Thomas Goyne
e4f29fe221 Move the interprocess notification functionality to the object store 2015-09-09 11:25:53 -07:00
Thomas Goyne
b129ebe8c1 Shuffle stuff around and clean some things up 2015-09-09 11:25:53 -07:00
Thomas Goyne
eeb2ddd794 Improve array KVO performance a bit 2015-09-09 11:25:53 -07:00
Thomas Goyne
0a41c85d0a Improve performance of realm_requires_update() and make more things const 2015-09-09 11:25:53 -07:00
Thomas Goyne
efdfa08524 Port some of the KVO support functionality to the object store 2015-09-09 11:25:53 -07:00
Thomas Goyne
65e1eb5d08 Add the ability to bypass the Realm cache entirely 2015-09-09 11:25:53 -07:00
Thomas Goyne
3f226cf342 Rework change notifications
Switch to an abstract class rather than std::function in preparation for having
more kinds of notifications with different arguments for KVO.
2015-09-09 11:25:53 -07:00
Thomas Goyne
045c7b2066 Add Realm::get_schema_version() 2015-09-09 11:25:52 -07:00
Thomas Goyne
e4377bb42a Change realm::Schema to a vector rather than a map
Much faster to copy and destroy with no loss in lookup performance.
2015-09-09 11:25:52 -07:00
Thomas Goyne
55e6cca243 Convert RLMRealmConfiguration to a wrapper around Realm::Config 2015-09-09 11:25:52 -07:00
Thomas Goyne
0ae1bb188e Don't cache dynamic realms in the ObjectStore cache either 2015-09-09 11:25:52 -07:00
Thomas Goyne
25a6734111 Eliminate some copies 2015-09-09 11:25:52 -07:00
Thomas Goyne
45890f2772 Use NSDMIs for Realm 2015-09-09 11:25:52 -07:00
Thomas Goyne
348f4a7b39 Reduce s_init_mutex's scope 2015-09-09 11:25:51 -07:00
Thomas Goyne
a91839bf7e Store a copy of the encryption key 2015-09-04 11:51:19 -07:00
Ari Lazier
b0843356dc clear Realm cache between tests 2015-08-13 09:42:21 -07:00
Ari Lazier
cb8364c255 property copy schema from cached realms 2015-08-13 09:42:21 -07:00
Ari Lazier
8712c8bc2c fixes for latest object store changes 2015-08-13 09:42:21 -07:00
Ari Lazier
373375fa1b cleaup schema initialization 2015-07-28 12:17:58 -07:00
Ari Lazier
94c7ea512f update to newest object store apis 2015-07-28 12:17:57 -07:00
Ari Lazier
eb2b079e2a pr fixes 2015-07-28 12:17:57 -07:00
Ari Lazier
d8e9d36c88 rebase fixes 2015-07-28 12:17:57 -07:00
Ari Lazier
2a0a5d234f run migrations and schema update through new Realm apis 2015-07-28 12:17:56 -07:00
Ari Lazier
60700ba121 first pass refactor of RLMRealm to c++ 2015-07-28 12:17:56 -07:00