Commit Graph

316 Commits

Author SHA1 Message Date
Ari Lazier 8f466d47b1 Type -> Types 2015-09-29 15:14:39 -07:00
Ari Lazier a7662af484 RealmType -> Realm.Type 2015-09-29 14:53:33 -07:00
Scott Kyle 4bf67b30bc Use std::min() for consistency inside ArraySplice 2015-09-28 17:58:23 -07:00
Scott Kyle 1822b0a2d6 Use RJSVerifiedArray inside ArrayPropertyNames 2015-09-28 17:30:15 -07:00
Scott Kyle 70ee822f19 Update splice method to mimic JS standard
It now will return the removed elements, and clamps the first two arguments to be acceptable values rather than throwing an exception.
2015-09-28 16:00:24 -07:00
Scott Kyle 37130ceca3 Minor optimization of ArrayPropertyNames 2015-09-28 16:00:24 -07:00
Scott Kyle 38a4e993ae Minor cleanups in ArrayPop 2015-09-28 16:00:24 -07:00
Scott Kyle 75dc7bd05e Remove redundant call to verify_attached 2015-09-28 16:00:24 -07:00
Ari Lazier 345043f4c5 update to latest object store code 2015-09-28 15:47:32 -07:00
Thomas Goyne ae4f9ac30c Send changes_available() even if autorefresh is enabled 2015-09-28 15:33:45 -07:00
Ari Lazier 51e0551548 don't reset delegate when refetching an existing realm 2015-09-28 15:33:44 -07:00
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