Commit Graph

34 Commits

Author SHA1 Message Date
Ari Lazier b27b7941f0 pr fixes 2015-10-12 17:18:49 -07:00
Ari Lazier ad677b7873 allow running all tests at the same path by invalidating all cached realm paths between test runs 2015-10-12 16:43:05 -07:00
Thomas Goyne 0c18978887 Send changes_available() even if autorefresh is enabled 2015-09-28 15:33:45 -07:00
Thomas Goyne 981e7007f7 Fix error in cleanup after an error during a migration 2015-09-28 15:33:44 -07:00
Thomas Goyne df6d6e8618 Add a Schema class, move lookup by name and internal-consistency checks there 2015-09-28 15:33:43 -07:00
Thomas Goyne d72d79bb05 Make Realm::compact() more robust
Throw if it's called on a read-only Realm and ensure the Realm is left in a
valid state regardless of the starting state.
2015-09-28 15:33:43 -07:00
Thomas Goyne a5f21e5e82 Reduce the scope of a variable 2015-09-28 15:33:43 -07:00
Thomas Goyne cc6364fff3 Make a bunch of things const 2015-09-28 15:33:42 -07:00
Thomas Goyne 515ce6296f Share ExternalCommitHelpers between Realm instances for a single path 2015-09-28 15:33:42 -07:00
Thomas Goyne ce39ef965f 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-28 15:33:41 -07:00
Thomas Goyne 4dd72d47a0 Move the interprocess notification functionality to the object store 2015-09-28 15:33:41 -07:00
Thomas Goyne 5ffeedb233 Shuffle stuff around and clean some things up 2015-09-28 15:33:41 -07:00
Thomas Goyne 429a652eeb Improve array KVO performance a bit 2015-09-28 15:33:40 -07:00
Thomas Goyne 9129add439 Improve performance of realm_requires_update() and make more things const 2015-09-28 15:33:40 -07:00
Thomas Goyne 9403c6f837 Port some of the KVO support functionality to the object store 2015-09-28 15:33:40 -07:00
Thomas Goyne 524edf04c6 Add the ability to bypass the Realm cache entirely 2015-09-28 15:33:39 -07:00
Thomas Goyne aae979ce58 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-28 15:33:39 -07:00
Thomas Goyne ce8060b4b3 Add Realm::get_schema_version() 2015-09-28 15:33:39 -07:00
Thomas Goyne 6df3719925 Change realm::Schema to a vector rather than a map
Much faster to copy and destroy with no loss in lookup performance.
2015-09-28 15:33:38 -07:00
Thomas Goyne 6b43c4ca31 Convert RLMRealmConfiguration to a wrapper around Realm::Config 2015-09-28 15:33:38 -07:00
Thomas Goyne c6d82ad436 Don't cache dynamic realms in the ObjectStore cache either 2015-09-28 15:33:37 -07:00
Thomas Goyne 06ce25053d Eliminate some copies 2015-09-28 15:33:37 -07:00
Thomas Goyne 6a491eaf1b Use NSDMIs for Realm 2015-09-28 15:33:37 -07:00
Thomas Goyne 9c224fb141 Reduce s_init_mutex's scope 2015-09-28 15:33:37 -07:00
Thomas Goyne 5c1e20a7b1 Store a copy of the encryption key 2015-09-28 15:33:36 -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