Commit Graph

544 Commits

Author SHA1 Message Date
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 00d8bf4ef0 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 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 a5f21e5e82 Reduce the scope of a variable 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 9075917334 Fix a comment 2015-09-28 15:33:43 -07:00
Thomas Goyne 0ec8809647 Fix a comment 2015-09-28 15:33:43 -07:00
Thomas Goyne 924482a305 Fix checks for what types of columns can be optional 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 d3a218dac3 USe more const refs to avoid copies 2015-09-28 15:33:42 -07:00
Thomas Goyne 5d256728d2 USe more const refs to avoid copies 2015-09-28 15:33:42 -07:00
Thomas Goyne cc6364fff3 Make a bunch of things const 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 fb186248a1 Remove an unused function 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 515ce6296f Share ExternalCommitHelpers between Realm instances for a single path 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 873d24f3f0 Allow more nullable property types when supported 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 663492e9da Honor is_nullable when creating columns 2015-09-28 15:33:41 -07:00
Thomas Goyne d7fd525dc2 Honor is_nullable when creating columns 2015-09-28 15:33:41 -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 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 4dd72d47a0 Move the interprocess notification functionality to the object store 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 5ffeedb233 Shuffle stuff around and clean some things up 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 429a652eeb Improve array KVO performance a bit 2015-09-28 15:33:40 -07:00
Thomas Goyne 8350e55a0c Improve array KVO performance a bit 2015-09-28 15:33:40 -07:00
Thomas Goyne 2f869541c7 Skip PK uniqueness checking when first creating a Realm file 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 9129add439 Improve performance of realm_requires_update() and make more things const 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 9403c6f837 Port some of the KVO support functionality to the object store 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 524edf04c6 Add the ability to bypass the Realm cache entirely 2015-09-28 15:33:39 -07:00
Thomas Goyne 513d781572 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 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 ce8060b4b3 Add Realm::get_schema_version() 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 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 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 bf3d9bd452 Remove property.hpp include from object_schema.hpp 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 6b43c4ca31 Convert RLMRealmConfiguration to a wrapper around Realm::Config 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 169bdb6648 Use NSDMIs for realm::Property 2015-09-28 15:33:38 -07:00
Thomas Goyne 25f32e6f88 Use NSDMIs for realm::Property 2015-09-28 15:33:38 -07:00