Commit Graph

202 Commits

Author SHA1 Message Date
Thomas Goyne 5fa1ff21f3 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 5f5e2822e2 Reduce the scope of a variable 2015-09-28 15:33:43 -07:00
Thomas Goyne 0ec8809647 Fix a comment 2015-09-28 15:33:43 -07:00
Thomas Goyne 3f111de12e Fix checks for what types of columns can be optional 2015-09-28 15:33:43 -07:00
Thomas Goyne 5d256728d2 USe more const refs to avoid copies 2015-09-28 15:33:42 -07:00
Thomas Goyne c54ff5a44d Make a bunch of things const 2015-09-28 15:33:42 -07:00
Thomas Goyne 89c8f9e125 Remove an unused function 2015-09-28 15:33:42 -07:00
Thomas Goyne 3d9d7be0d6 Share ExternalCommitHelpers between Realm instances for a single path 2015-09-28 15:33:42 -07:00
Thomas Goyne 76d62bbc57 Allow more nullable property types when supported 2015-09-28 15:33:42 -07:00
Thomas Goyne d7fd525dc2 Honor is_nullable when creating columns 2015-09-28 15:33:41 -07:00
Thomas Goyne f7222803df 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 00c9177b56 Move the interprocess notification functionality to the object store 2015-09-28 15:33:41 -07:00
Thomas Goyne 766178d30d Shuffle stuff around and clean some things up 2015-09-28 15:33:41 -07:00
Thomas Goyne 8350e55a0c Improve array KVO performance a bit 2015-09-28 15:33:40 -07:00
Thomas Goyne e65ad57e00 Skip PK uniqueness checking when first creating a Realm file 2015-09-28 15:33:40 -07:00
Thomas Goyne fc48c88e69 Improve performance of realm_requires_update() and make more things const 2015-09-28 15:33:40 -07:00
Thomas Goyne fc0de384a6 Port some of the KVO support functionality to the object store 2015-09-28 15:33:40 -07:00
Thomas Goyne 513d781572 Add the ability to bypass the Realm cache entirely 2015-09-28 15:33:39 -07:00
Thomas Goyne 219ef48bf4 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 7fda90c3b2 Add Realm::get_schema_version() 2015-09-28 15:33:39 -07:00
Thomas Goyne 1d25766ebb 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 d2a74958f0 Remove property.hpp include from object_schema.hpp 2015-09-28 15:33:38 -07:00
Thomas Goyne 720020ed06 Convert RLMRealmConfiguration to a wrapper around Realm::Config 2015-09-28 15:33:38 -07:00
Thomas Goyne 25f32e6f88 Use NSDMIs for realm::Property 2015-09-28 15:33:38 -07:00
Thomas Goyne a4edbcecfa Don't cache dynamic realms in the ObjectStore cache either 2015-09-28 15:33:37 -07:00
Thomas Goyne 861a8c2c9c Eliminate some copies 2015-09-28 15:33:37 -07:00
Thomas Goyne e61833c26e Use NSDMIs for Realm 2015-09-28 15:33:37 -07:00
Thomas Goyne 938668904e Reduce s_init_mutex's scope 2015-09-28 15:33:37 -07:00
Thomas Goyne 292d9cf820 Use NSDMIs for Realm::Config and make it moveable 2015-09-28 15:33:37 -07:00
Thomas Goyne 5d876b7caa Store a copy of the encryption key 2015-09-28 15:33:36 -07:00
Scott Kyle 2e537e9c68 No longer crash after enabling Chrome debugging
Fixes #15
2015-09-23 11:42:02 -07:00
Ari Lazier 513e4834bc Merge pull request #4 from realm/tg-realm
Merge objectstore changes from obj-c
2015-09-18 18:03:16 +02:00
Ari Lazier 501e36341e fix for latest version of react 2015-09-16 10:02:15 +02:00
Thomas Goyne f6467778e0 Send changes_available() even if autorefresh is enabled 2015-09-10 14:15:57 -07:00
Thomas Goyne 21d32bf581 Add a bit of documentation for RealmDelegate 2015-09-10 14:15:57 -07:00
Thomas Goyne 95c80c98e6 Fix error in cleanup after an error during a migration 2015-09-09 11:25:55 -07:00
Thomas Goyne b7936bb047 Simplify column shifting for removed properties a little 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 0c111a2035 Fix a comment 2015-09-09 11:25:55 -07:00
Thomas Goyne ba278c5d4f Fix checks for what types of columns can be optional 2015-09-09 11:25:54 -07:00
Thomas Goyne 7de20ea3a6 USe more const refs to avoid copies 2015-09-09 11:25:54 -07:00
Thomas Goyne dbac77f69b Make a bunch of things const 2015-09-09 11:25:54 -07:00
Thomas Goyne 14004504b1 Remove an unused function 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 f79dec9033 Allow more nullable property types when supported 2015-09-09 11:25:54 -07:00
Thomas Goyne 0eb0bd14d7 Honor is_nullable when creating columns 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