Thomas Goyne
95c80c98e6
Fix error in cleanup after an error during a migration
2015-09-09 11:25:55 -07:00
Thomas Goyne
a0f1dab71b
Add a Schema class, move lookup by name and internal-consistency checks there
2015-09-09 11:25:55 -07:00
Thomas Goyne
b381437a45
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-09 11:25:55 -07:00
Thomas Goyne
6133eebf8b
Reduce the scope of a variable
2015-09-09 11:25:55 -07:00
Thomas Goyne
dbac77f69b
Make a bunch of things const
2015-09-09 11:25:54 -07:00
Thomas Goyne
06e0ff8373
Share ExternalCommitHelpers between Realm instances for a single path
2015-09-09 11:25:54 -07:00
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