Commit Graph

48 Commits

Author SHA1 Message Date
Marius Rackwitz 7e96fa9732 Catch File::NotFound and rethrow correctly 2016-01-07 15:19:03 -08:00
Thomas Goyne e8a26aa533 Fix compilation errors 2015-12-22 11:08:05 -08:00
Thomas Goyne 324818f277 Merge pull request #14 from realm/tg-end-read
End the read transaction after schema init
2015-12-09 16:25:56 -08:00
Tim Oliver 9102924a7d Added support for suppressing file format upgrades. 2015-11-30 14:08:21 -08:00
Thomas Goyne e53a534384 End the read transaction after schema init 2015-11-20 11:13:06 -08:00
Thomas Goyne d1175fe364 Switch to throwing exceptions with all of the info needed to build error messages 2015-11-20 10:24:51 -08:00
Thomas Goyne ab7f3dcaa6 Port most of RLMResults's functionality to realm::Results 2015-11-20 10:24:51 -08:00
Thomas Goyne a492966949 Move Realm::Config's default constructor out-of-line
Removes the need for things including shared_realm.hpp to include schema.hpp.
2015-11-20 10:24:21 -08:00
Ari Lazier e3c9ec8ee7 fixes to list.cpp/hpp based on object store pr feedback - use lowercase strings for property names 2015-11-18 14:36:46 -08:00
Ari Lazier 85286b8807 block refresh until the last context has finished execution 2015-11-16 11:16:09 -08:00
Ari Lazier e4732994b7 integrate latest object store changes 2015-11-13 18:20:40 -08:00
Thomas Goyne 883ef12c7f Add Realm::close() and call it in RealmCache::clear()
This is needed for the Swift tests due to that throwing an exception over Swift
code unavoidably results in objects being leaked.
2015-11-10 14:54:15 -08:00
Thomas Goyne b93e5cedff Include the path of the file which actually failed to open in exceptions
When the user (or our tests...) do dumb things it's sometimes not actually the
realm file itself that failed to open.
2015-11-04 17:03:24 -08:00
Kristian Dupont db36ca5b9c Remove Realm suffix 2015-11-03 08:37:54 +01:00
Kristian Dupont 4973827531 Rename RealmDelegate to RealmBindingContext 2015-10-29 10:42:56 +01:00
Thomas Goyne 6dfeaf8080 Move things which are not part of the API to an impl directory/namespace 2015-10-15 11:30:08 -07:00
Thomas Goyne f6467778e0 Send changes_available() even if autorefresh is enabled 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 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