Commit Graph

255 Commits

Author SHA1 Message Date
Ari Lazier 18811f294f check classname before accessing object_schema iterator for queries 2015-09-28 15:33:44 -07:00
Ari Lazier 6f2b137b1d use latest object store changes 2015-09-28 15:33:44 -07:00
Thomas Goyne 2b15b7bfb0 Fix error in cleanup after an error during a migration 2015-09-28 15:33:44 -07:00
Thomas Goyne ba61ffde15 Simplify column shifting for removed properties a little 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 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
Ari Lazier 4dca0358e1 add deleteAll to Realm 2015-09-08 14:07:14 -07:00
Ari Lazier 16be837817 support defaults 2015-09-04 15:43:26 -07:00
Ari Lazier dcc159365e more extensive upsert tests 2015-09-04 12:41:17 -07:00
Ari Lazier 870fe78aad support sorting by a single property 2015-09-03 15:46:31 -07:00
Ari Lazier cc0f821a99 fix for partial update of string properties 2015-09-03 14:37:22 -07:00
Ari Lazier ee87cbc17a primary keys and upsert 2015-09-03 14:05:56 -07:00
Ari Lazier df05636e7a delete can now take a results object as an argument 2015-09-02 21:31:29 -07:00
Ari Lazier fa52cea8c3 function cordova example 2015-09-01 15:47:06 -07:00
Ari Lazier fbf2399140 tests and bugfixes for splice and shift 2015-08-28 15:11:50 -07:00
Ari Lazier bd39239f00 array mutation functions 2015-08-28 14:41:30 -07:00
Ari Lazier e84c81542f fix for array enumeration, test array.push 2015-08-27 13:33:20 -07:00
Ari Lazier ccd2301d9e todo example 2015-08-24 09:22:37 -07:00
Ari Lazier 9a90c9c8a3 add querying for basic types 2015-08-17 11:40:13 -07:00
Ari Lazier f7b4fd6f4a test existing array functionality 2015-08-14 10:47:56 -07:00
Ari Lazier dc0839772f add Realm.delete 2015-08-14 09:47:33 -07:00
Ari Lazier ca4dfa052c proper copyright 2015-08-14 08:18:49 -07:00
Ari Lazier afe9030333 Merge commit '070042894536c87cc3d3c7fdcb62b75e3620dc34' 2015-08-13 09:46:22 -07:00
Ari Lazier b65db0d3d0 missing files and project fixes 2015-08-13 09:28:53 -07:00
Ari Lazier 58e1064db7 Add 'src/object-store/' from commit '043f5ff4ab77bf4a9177e4643bc097d1ff487347'
git-subtree-dir: src/object-store
git-subtree-mainline: 12b942fecd
git-subtree-split: 043f5ff4ab
2015-08-13 09:13:41 -07:00
Ari Lazier 12b942fecd move js work from realm-cocoa-private 2015-08-13 09:12:48 -07:00