47 Commits

Author SHA1 Message Date
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